ICN Communication Optimization for Internet of Things

The Internet of Things (IoT) has gained extensive attention from both industry and academia in the past decade. The connectivity of each and every piece of technology in the environment with the Internet has opened many avenues of research and development. However, one thing still remains the same: host-centric communication, since it is the predominant way of communication on the Internet. However, host-centric communication is still the predominant Internet communication method. With the evolution of everything else, host-based communication has been stretched to limits, and the exploration of new models has been underway for several years. Information-Centric Networking (ICN) is a major contender for future Internet architecture, where content is the basic key/central/main regardless of its location. ICN intends to offer content-based naming, in-network caching, inherent mobility support, multicast support, and content-based security as part of the design and not an add-on functionality. On the other hand, most IoT applications inherently follow a content-oriented paradigm. IoT users or things ask for the content and consume the generated data from the network instead of communicating with a specific host or device, such as the retrieval of sensed values from a sensor, or monitoring the status of a patient in their home. In fact, ICN can facilitate large-scale IoT deployment, by improving network performance & scalability, enhance security & mobility, and optimize the energy consumption of devices. In recent years, numerous efforts have been made to integrate ICN with IoT. Nevertheless, new issues, due to the nature of IoT applications and the working principle of ICN, have emerged slowing down the ambitions besides using the ICN paradigm in IoT environments. In this thesis, we investigate and explore the possibilities to use ICN as a communication enabler for IoT applications. Inspired by the extensive research results in IoT-based ICN, we provide a detailed and systematic review of this merger. Furthermore, we identify a set of challenges and issues which we classify into two main classes: Network Communication and Network Management. For instance, we find that content naming -- the pillar element in ICN architecture, publish-subscribe communication -- a dominant communication model in IoT applications, and content caching scheme -- a fundamental building block in ICN network, can be listed in the network communication class, whereas control protocol -- an indispensable protocol for large-scale networks, can be arranged in the network management class. The core contributions and innovations of this thesis are as follows: (1) In order to overcome ICN naming issues such as identifying content/service/devices, producing long and unbounded names, and performing efficient aggregation rules, we propose a unified hybrid ICN naming scheme for IoT applications. The proposed scheme incorporates a prefix-labeling method to describe hierarchical location names and applies a variable-length encoding method to produce short names with various embedded semantic functionalities using attribute-value design. Moreover, the scheme supports fast local IoT communication using the Name-to-Code translation concept that tends to tackle long name-prefix issues, as well as multi-source content retrieval through the in-network function concept that aims at fetching content from multiple producers with a smaller number of packets and overhead. The simulation results show that the proposed scheme is inherently better than the existing state-of-the-art solutions and drastically reduces the memory consumption, lookup time, routing and forwarding overhead, and enhances the overall IoT communication. (2) In order to support publish-subscribe communication in ICN, we propose a group-based subscription scheme. The proposed scheme enables not only a seamless publisher-subscriber model, but also authentication, access control, and group management features. Without violating the single request-response ICN communication primitive, we design a scalable subscription management scheme using semi-persistent packets and specialized tables at intermediate nodes. The scheme also adopts the Logical Key Hierarchy mechanism to efficiently distribute security keys and secure content sharing among the authorized subscribers. Compared to traditional pull-based subscription, the proposed scheme is able to achieve lower control overhead, with added security and privacy features. The performance analysis shows that with semi-persistent interest, the memory requirements of the core nodes can be kept at minimal levels. (3) In order to design an efficient content caching schemes for IoT applications, we propose centralized and distributed in-network content caching schemes. The centralized scheme aims at selecting the most suitable placement to cache content by minimizing the cost of moving content from the original producer to the intermediate cache-store and from the cache-store to consumers, as well as minimizing the caching cost at intermediate nodes. The designed heuristic algorithm, Highest-First Farthest-Later, selects intermediate nodes with the highest demands, free cache memory as well as they are far away to satisfy a maximum number of demands. The second distributed scheme, Push Down Popular Push Up Less-Popular, aims at pushing down the popular content into the edge network and keeping the less-popular content in the core network. The obtained results show the efficiency and superiority of our scheme against similar strategies in terms of network delay, hop reduction, and cache utilization. (4) In order to design a control protocol compatible with the design principle of ICN, we propose a control protocol for named data networks that can relay different network error, information, notification, and service messages. Our protocol uses content name instead of host address, compatible with the interest-data exchange model and ICN forwarding plane, and supports interest aggregations. The protocol defines a new type of control packet that contains ControlClass and ControlType fields to specify the class of control message and its type. We define three main classes of control messages: Standard Error Messages, Notification Messages, and Service Messages. Each class has a set of messages based on class and usage. The designed protocol improves the network performance especially in the IoT environment, and can easily be extended to support different information-centric platforms. In conclusion, this dissertation studies the applicability of ICN as a communication enabler for IoT. It proposes a series of schemes for different ICN aspects (i.e., naming, communication model, in-network caching, and control protocol) that aim at providing a seamless and efficient IoT-based ICN network. Qualitative analyses and extensive experiments prove the efficiency of our schemes that outperform the existing solutions and exhibit better system performance with less overhead and added features.