DOI QR코드

DOI QR Code

TCP/IP Using Minimal Resources in IoT Systems

  • Received : 2020.08.05
  • Accepted : 2020.09.24
  • Published : 2020.10.30

Abstract

In this paper, we design 4-layer TCP/IP that utilizes minimal memory and processor resources in Internet of Things(IoT) systems. The TCP/IP designed in this paper has the following characteristics. First, memory resource is minimized by using minimal memory allocation. Second, processor resource is minimized by using minimal memory copy. Third, the execution time of the TCP/IP can be completed in a deterministic time. Fourth, there is no memory leak problem. The standard in minimal resources for memory and processor derived in this paper can be used to check whether the network subsystems of the already implemented IoT systems are efficiently implemented. As the result of measuring the amount of memory allocation and copy of the network subsystem of Zephyr, an open source IoT kernel recently released by the Linux Foundation, we found that it was bigger than the standard in minimal resources derived in this paper. The network subsystem of Zephyr was improved according to the design proposed in this paper, confirming that the amount of memory allocation and copy were decreased by about 39% and 67%, respectively, and the execution time was also reduced by about 28%.

본 연구에서는 Internet of Things(IoT) 시스템에서 최소의 메모리 및 프로세서 자원을 사용하는 4계층의 TCP/IP에 관하여 연구하고 설계한다. 본 연구에서 설계한 TCP/IP는 다음과 같은 특징을 가지고 있다. 첫째, 메모리 할당량을 최소화하여 메모리 자원을 최소로 사용한다. 둘째, 메모리 복사량을 최소화하여 프로세서 자원을 최소로 사용한다. 셋째, TCP/IP의 수행 시간이 고정 시간에 완료될 수 있다. 넷째, 메모리 누수 문제가 발생하지 않는다. 본 연구에서 도출된 메모리 할당량 및 복사량에 대한 최소 자원 기준은 기 구현된 IoT 시스템의 통신 서브시스템이 효율적으로 구현되었는지를 점검하기 위해 유용하게 사용될 수 있다. 최근 리눅스 재단에서 발표한 공개 소스 커널인 Zephyr의 통신 서브시스템의 메모리 할당량 및 복사량을 측정한 결과, 본 연구에서 도출한 최소 자원 기준보다 더 크다는 것을 발견하였다. 본 연구에서 제안한 설계 방법에 따라 Zephyr 통신 서브시스템을 개선하여 메모리 할당량 및 복사량이 각각 약 39% 및 67% 감소함을 확인하였으며, 이에 따른 수행 시간도 약 28% 감소하였다.

Keywords

References

  1. Malloc manual, Free Software Foundation, https://www.man7.org/linux/man-pages/man3/malloc.3.html.
  2. Free manual, Free Software Foundation, https://www.man7.org/linux/man-pages/man1/free.1.html.
  3. Memcpy maual, Free Software Foundation, http://man7.org/linux/man-pages/man3/memcpy.3.html.
  4. J. Maebe, M. Ronsse and K.D. Bosschere, "Precise Detection of Memory Leaks", In International Workshop on Dynamic Analysis(WODA), pp.25-31, May 2004. DOI: 10.1049/ic:20040295
  5. Y. Dong, W. Yin, S. Wang, L. Zhang and L. Sun, "Memory Leak Detection in IoT Program Based on an Abstract Memory Model SeqMM", IEEE Access, 7, pp.158904-158916, November 2019. DOI: 10.1109/ACCESS.2019.2951168
  6. Information Technology-Open Systems Interconnection-Basic Reference Model: The Basic Model, "International Organization for Standardization/International Electrotechnical Commission. ISO 7498", 1994.
  7. R. Braden, RFC 1122: Requirements for Internet Hosts-communic ation Layers, 1989. DOI: 10.17487/RFC1122
  8. M. H. Qutqut, A. Al-Sakran, F. Almasalha and H. S. Hassanein, "Comprehensive Survey of the IoT Open-source OSs," IET Wireless Sensor Systems, 8(6), pp.323-339, December 2018. DOI: 10.1049/iet-wss.2018.5033
  9. O. Hahm, E. Baccelli, H. Petersen, and N. Tsiftes, "Operating Systems for Low-end Devices in the Internet of Things: a survey", IEEE Internet of Things Journal, 3(5), pp.720-734, December 2015. DOI: 10.1109/JIOT.2015.2505901
  10. Contiki, http://www.contiki-os.org.
  11. RIOT, https://www.riot-os.org.
  12. FreeRTOS, www.freertos.org.
  13. Zephyr Project, https://www.zephyrproject.org.
  14. Zephyr Project Documentation, https://docs.zephyrproject.org/1.14.1/.
  15. Q. Li, C. Yao, "Real-time concepts for embedded systems", CRC press, 2003. DOI: 10.1201/9781482280821
  16. NXP, "FRDM-K64F Freedom Module User's Guide Rev. 1", FRDMK64FUG, 2016.
  17. J. Yiu, "The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition", Newnes, 2013. DOI: https://doi.org/10.1016/C2012-0-01372-5
  18. ARM, "ARM Cortex-M4 Processor Technical Reference Manual", Revision: r0p1, ARM 100166_0001_00_en, 2015. DOI: 10.1016/B978-0-12-382091-4.00025-6
  19. NXP, "NXP-MCR20A 2.4 GHz Low-Power Transceiver Reference Manual Rev. 3", MCR20ARM, 2016.
  20. G. Montenegro, N. Kushalnagar, J. Hui and D. Culler, RFC 4944: Transmission of IPv6 Packets over IEEE 802.15.4 Networks, 2007. DOI: 10.17487/RFC4944
  21. NXP, "NXP-Freescale Freedom Development Board FRDMCR20A User's Guide Rev, 0", FRDMCR20AUG, 2015.
  22. J. Hui, P. Thubert, RFC 6282: Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks, 2014. DOI: 10.17487/RFC6282