Browse > Article
http://dx.doi.org/10.9708/jksci.2020.25.10.125

TCP/IP Using Minimal Resources in IoT Systems  

Lee, Seung-Chul (Dept. of Computer Science, Sangmyung University)
Shin, Dongha (Dept. of Electronics, Sangmyung University)
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%.
Keywords
TCP/IP; IoT; Minimal Resources; Zephyr; Network Subsystem;
Citations & Related Records
연도 인용수 순위
  • Reference
1 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
2 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   DOI
3 Information Technology-Open Systems Interconnection-Basic Reference Model: The Basic Model, "International Organization for Standardization/International Electrotechnical Commission. ISO 7498", 1994.
4 R. Braden, RFC 1122: Requirements for Internet Hosts-communic ation Layers, 1989. DOI: 10.17487/RFC1122
5 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   DOI
6 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   DOI
7 Contiki, http://www.contiki-os.org.
8 RIOT, https://www.riot-os.org.
9 FreeRTOS, www.freertos.org.
10 Zephyr Project, https://www.zephyrproject.org.
11 Zephyr Project Documentation, https://docs.zephyrproject.org/1.14.1/.
12 Q. Li, C. Yao, "Real-time concepts for embedded systems", CRC press, 2003. DOI: 10.1201/9781482280821
13 NXP, "FRDM-K64F Freedom Module User's Guide Rev. 1", FRDMK64FUG, 2016.
14 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
15 Malloc manual, Free Software Foundation, https://www.man7.org/linux/man-pages/man3/malloc.3.html.
16 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
17 NXP, "NXP-MCR20A 2.4 GHz Low-Power Transceiver Reference Manual Rev. 3", MCR20ARM, 2016.
18 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
19 NXP, "NXP-Freescale Freedom Development Board FRDMCR20A User's Guide Rev, 0", FRDMCR20AUG, 2015.
20 J. Hui, P. Thubert, RFC 6282: Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks, 2014. DOI: 10.17487/RFC6282
21 Free manual, Free Software Foundation, https://www.man7.org/linux/man-pages/man1/free.1.html.
22 Memcpy maual, Free Software Foundation, http://man7.org/linux/man-pages/man3/memcpy.3.html.