1 Introduction

The term Internet of Things (IoT) was first proposed by Kevin Ashton in 1999 [31]. Since then, IoT has become one of the most important topics in the field of communication. In the past few years, there has been a substantial increase in the number of IoT nodes as opposed to conventional computing devices. According to Cisco Visual Networking Index (VNI) [16], the number of IoT devices will reach 3.3 billion in 2021 raising from 780 million in 2016. IoT can be applied to every field, starting from healthcare to heavy industry and hazardous environments where humans have no access.

The current industry standard for the IoT network is the IP-based architecture [67]. As the IP-based network is host centric, every IoT device is assigned an IP address. However, the existing Internet has several limitations, such as reliability, variable network flow, and scalability [86]. Beside these limitations, the use of IP address itself incurs several overheads [3]. With the above mentioned shortcomings, the IP-based network is considered unsuitable for the IoT environment. For this purpose, the research community is interested in using a novel and clean-slate architecture, known as Information Centric Network (ICN) [33].

In ICN, the host centric paradigm is replaced with a content-centric architecture, as the content is more important than its location. Using this architecture, packets are not accessed with an IP address rather with their names. ICN offers several advantages over the IP-based network, for instance, simplified content access, distribution, security, and in-network caching [27]. Both ICN and IoT focus on the actual content rather than its location [56]. Thus, this particular characteristic makes ICN a suitable architecture to be deployed with the IoT network.

The rest of the paper is organized as follows: Section 2 describes the applications of IoT. Section 3 gives a brief description of the integration of IoT with ICN. Section 4 presents design issues that are required for developing an efficient ICN-based IoT network. Section 5 gives a brief description of communication standards for the IoT. Section 6 demonstrates some research opportunities for deploying ICN-based IoT network with other networking technologies.

2 Applications of IoT

IoT is looking at a stable growth as compared to conventional computing devices [16]. The reason for this growth is the use of IoT in every field of life [18]. In [54], the IoT applications are grouped as smart cities, healthcare, energy, environment, and business. Similarly, IoT applications such as healthcare, smart homes, and transportation, are presented in [9] and [12]. Sufficient literature is available that explains different applications of the IoT.

IoT applications are divided into three broad categories, i.e., industrial IoT, smart city, and healthcare IoT. A summary of IoT applications is illustrated in Fig. 1.

Fig. 1
figure 1

Applications of IoT [Adapted from [32]]

3 The Need for ICN-based IoT [4]

The discussion on replacement of the IP-based network with the ICN is still in initial stages, but the ICN research group [30] makes pre-emptive efforts for the ICN-IoT integration. The reason for this integration is the increasing number of IoT devices and the inability of the current Internet to handle these devices. The content-centric feature – intrinsic to both ICN and IoT, makes them very much compatible and thereby easy to integrate.

ICN is considered the most suitable candidate for the future Internet. The reason for this suitability is the increase in the number of active Internet devices as well as the amount of content produced. The ICN architecture is based on the use of two types of packets, i.e., interest and data packets. Interest packet carries the request from the consumer to the next hop neighbor or producer of the data, while the data packet carries the content towards the consumer. ICN uses names for transferring content instead of IP addresses. The nodes in the ICN are also different from that in the IP-based architecture. Every node in ICN has three data structures, i.e., the Content Store (CS) that caches the incoming content, the Forwarding Information Base (FIB) that is used for routing, and the Pending Interest Table (PIT) that tracks of the unsatisfied interests [80]. This basic ICN structure is required by every node in any ICN-based network. IoT can benefit from the ICN features, but it is different from the conventional ICN networks and needs some additional design requirements [4], which are explained in the next section.

4 ICN-based IoT design issues

Several research articles regarding different aspects of ICN designs for IoT are available in the literature. For example, [61] implements a light-weight ICN variant; [57] discusses the implementation of ICN home net and compares it with the home net deployment in the IP-based framework; content freshness is discussed in [56]; an ICN caching strategy for vehicular networks is presented in [88]; the idea of ICN-based IoT by reviewing their requirements based on an ICN architecture (Mobility First [46]), is discussed in [85]. The literature available gives a discussion of several ICN-based IoT design issue, but there are some challenges that almost all ICN-based IoT platforms face. These issues are presented in the following subsections.

4.1 Naming

Naming is the key feature of ICN. The name identifies an application in ICN-based IoT [3, 85], for example, [65] proposes a naming structure for building management system (BMS). The structure identifies the location and application, such as http://www.ndn/ucla.edu/bms/building/melnitz/studio/1/data/panel/T/voltage/time-stamp. Similarly, in [47], a naming technique based on natural language processing (NLP) is proposed for weather monitoring systems. Names are assigned automatically using an artificial intelligent system, which recognizes the events captured by cameras and sensors. The name specifies the types of events and geographical locations, for example, http://www.info/haripur/kpk/uni/lect/net1/20-122-34.1/121-52-148-28.1/.

4.2 Security

IoT is a network of diverse objects, which is used in a variety of fields. Securing IoT is a major concern of the research community [72]. The data integrity and authentication are some security requirements for ICN-based IoT, for example, [15] presents a secure lightening control system. This scheme prevents intruders from executing an unauthorized command by using a trust model and a private key that is based on the namespace of a particular application. Similarly, [42] proposes a distributed publisher-driven secure data sharing scheme that is based on the existing ciphertext-policy attribute-based encryption (CP-ABE). This technique uses a centralized server for encryption that allows only an authorized user to retrieve contents from the cache. Furthermore, to encrypt the content, a keychain mechanism is utilized.

4.3 Scalability

IoT poses very strict scalability requirements as it consists of miscellaneous devices, which are growing at a substantial rate [36]. ICN is a clean-slate future Internet architecture and thereby provides solutions to the IoT scalability by naming every device and service. According to [85], to achieve a scalable ICN-based IoT, an appropriate name resolution service (NRS) is required, which will support a large number of applications and IoT nodes. The NRS will be able to search, update, and insert names of contents, devices, and applications.

4.4 Limited energy resource

Energy is a critical resource for IoT devices as most of them, such as smartphones, smartwatches, and sensors, are powered with a battery [41]. Researchers have a keen interest to design strategies with low energy requirements for ICN-based IoT. For example, in [26], an ICN-based energy efficient approach to IoT is considered, where nodes use a sleep-wake mechanism for content caching and therefore reduce energy requirements. This statement can be strengthened by the studies in [55] and [49], which state that ICN is more energy efficient as compared to the IP-based paradigm.

4.5 Caching

In ICN, caching improves the distribution and availability of contents in the network [20, 29]. It enhances the network performance by bringing contents near the consumer and thereby decreases the access time [19]. Caching also decreases the number of accesses towards the publisher from the consumer. Several schemes are designed for ICN-based IoT caching, for instance, in [69], a smart strategy is proposed that uses the freshness value to store only updated contents in the cache. Similarly, in [25], caching is done using the benefit value of nodes between the publisher and the consumer. This scheme uses the Benefit-based Cache Distribution Algorithm (BCDA).

4.6 Cache update

The difference between the IoT and the conventional Internet is the content creation. In the conventional Internet, a content is created by humans and kept on servers for a long duration. On the other hand, it is generated by devices in the IoT network. These contents are small, created for a short period of time, and are updated regularly. They are also refereed to as transient content [77]. IoT nodes usually have fresh and updated contents, therefore, an efficient cache update method is required. The most prominent cache update strategy in the literature is described in [56], which is based on the content freshness. In this strategy, a freshness factor is used that decides the update time for a particular cached content. This strategy keeps the IoT cache updated by evicting the old and outdated contents. Similarly, in [45], an event based freshness mechanism is proposed, where the expiration time is used to know that how long a content has stayed in the cache.

4.7 Mobility

Mobility is an essential design issue because the size of IoT devices is small and users can carry them (e.g., smartphones and smartwatches) or the nodes can themselves contain features of mobility (e.g., vehicles and drones). The current IP-based support for mobility is the mobile-IP, however, it has a problem with scalability and is therefore not suitable for the increased number of IoT devices. ICN inherently supports mobility [80] because it is location independent. This feature is useful for mobile nodes such that when a device is in motion, the content also moves and reaches the nearby cache. Several schemes for ICN are designed that support mobility, such as a network mobility in ICN (NeMol) [2]. The NeMol is a mobility architecture for ICN, which is used to handle networks on the move. In another study [44], the importance of publisher mobility in ICN-based IoT is examined, where several existing solutions have been discussed.

5 Communication standards for IoT

Beside the above presented design issues, the selection of an appropriate communication standard for IoT is utmost important as it decides the way an IoT device will perform. The proper selection of standards affect the capabilities of networks and applications. Several standards are available in different environments and applications [10]. These communication standards are discussed in the following subsections.

5.1 Bluetooth

Bluetooth [14], standardized by Institute of Electrical and Electronics Engineers (IEEE) as 802.15.1, is a wireless communication standard. It is a short-range radio communication standard, usually embedded in electronic devices and is used for deploying wireless personal area networks (WPANs) [40]. It was designed by Ericsson Mobile in 1994 [23] and was commercially released in 1999. It has a 2.4 GHz band with 1 MHz channels and signal range from 10-100 meters [43]. Bluetooth’s Special Interest Group (SIG) has released several versions such as 1.0, 2.0, 3.0, 4.0, and 5.0. The most recent versions are 4.0, also known as Bluetooth Low Energy (LE) [60], and 5.0 [17] that are specifically designed for the IoT network.

5.2 Radio frequency identification (RFID)

This communication standard utilizes radio signals to transfer the identification of physical objects [73]. The use of RFID goes back to world war 2, where it was used to identify allies and enemies [43]. This standard uses tags – attached to the objects, and the RFID readers scan information stored on these tags. Based on the power supply, tags are divided into two types, i.e., Active RFID and Passive RFID tags [24]. The former is integrated with a constant power source, such as a AA battery, and operates over long distances with an RFID reader. The latter does not have a power source and collects its power from the reader, thereby having very small operational distance [48].

The RFID is suitable for integration with the IoT because of its small size. Hitachi manufactures the smallest RFID chip, which is 0.4mm x 0.4mm in size [21]. Several frequency types are utilized by this standard such as Low Frequency (LF), High Frequency (HF), Ultra High Frequency (UHF), Microwave, and Ultra-Wide-Band (UWB). All of them have a different signal range and read distance. The use of these frequencies identifies the type of RFID application [79].

5.3 Wireless-fidelity (Wi-Fi)

Most of computing devices use wireless-fidelity (Wi-Fi) for connecting to local area networks (LANs) and the Internet. It was standardized as IEEE 802.11 in 1997. At present, this standard has four versions, as IEEE 802.11 a, b, g, and n [66], each with different data rates, signal range, and methods of operation. Wi-Fi has now become a default communication standard in Laptops, smartphones, and other computing devices. The advent of new standards, high speeds, and small sizes has made Wi-Fi the leading communication architecture for the IoT environment.

The University of Hawaii was the first to begin research on wireless computer-to-computer communication architecture, referred to as Aloha system [1]. It was officially released in 1991 with the name WaveLAN and was upgraded to WaveLAN II in 1997 [35]. Currently, Wi-Fi uses 2.4 GHz and 5 GHz bands with data rates at 300 Mbps. The strength of Wi-Fi signals depends on the antenna used for communications [51].

5.4 Zigbee

Zigbee [75] is a low range and low energy WPAN standard for communication, which was standardized as IEEE 802.15.4 [38]. It was first conceived in 1998 and now maintained by the Zigbee alliance.

This standard has three operating frequencies, each having its own data rate, i.e., 2.4 GHz data rate is 250 Kbps, 915 MHz data rate is 40 kbps, and 868 MHz data rate is 20 Kbps [39]. Zigbee operates at a distance of 10-75 meters [22]. Several specifications of this standard are available, such as Zigbee 1.0, Zigbee 2004, Zigbee 2006, Zigbee pro [75], and a recently released Zigbee 3.0 [89]. The 3.0 standard works in home automation, agriculture, power system, wireless sensor networks, medical sciences, and heavy industries.

5.5 Sigfox

Sigfox was designed by a French company in 2009 [53]. It operates at 868 MHz in Europe and 902 MHz in the USA from the free ISM (Industrial, Scientific, and Medical) radio band. It uses an Ultra Narrow Band (UNB) for transmissions and adopts the differential binary phase shift keying (DBPSK) for modulation at 100 bps [74, 76]. Sigfox uses small messages for communication with uplink of 12 and downlink of 8 bytes. The data rate of a message transfer is 100-600 bps. The transmission between a device and a network is not synchronized because every device sends it messages as a broadcast three times on three different frequencies. Sigfox is designed for IoT nodes with low energy consumption, low data rate, and low signal range requirements [70].

5.6 RuBee

Rubee [62] is a bidirectional wireless communication standard, which was standardized in 2009 as IEEE 1902.1. It is an alternate to RFID and operates in a very harsh environment such as metals, water, and places with high signal interference [82], because it uses magnetic signals instead of radio signals [62].

RuBee has tags with a battery life of 5-25 years, works at a frequency band of 131 KHz with a data rate of 9.6 Kbps, and range of 15 meters. The tags are searchable through the Internet as they use IP-like addressing [83].

6 ICN-based IoT research opportunities

ICN is the future Internet architecture and is considered for the IoT deployment, however, it requires to glue itself to other architectures, as shown in Fig. 2. The integration of ICN-based IoT with the existing architectures opens new research opportunities [28], some of which are discussed in the following subsections.

Fig. 2
figure 2

Architectures for ICN-based IoT

6.1 ICN-based IoT with cloud computing

Cloud computing is a technology providing three types of services, i.e., Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). These services provide storage, processing, operating system, and applications to individual users and corporate organizations [24, 52]. Cloud computing provides IT resources without acquiring new hardware [37]. ICN-based IoT can benefit from cloud as IoT generates contents that are difficult to analyze and process. Several solutions are provided to the stated problems, for instance, a strategy for deploying ICN-based IoT with cloud is proposed in [5] that divides the network into three layers, as shown in Fig. 3. These layers include the physical ICN, where all ICN-based IoT nodes generate contents, the intermediate fog computing, which includes small servers that control some basic operations of the physical ICN layer, and remote cloud layer, which provides storage and processing services.

Fig. 3
figure 3

ICN-based IoT with coud

6.2 ICN-based IoT with SDN

Software Defined Network (SDN) [50] is a solution to the issues in the IP-based architecture, such as increase in the number of servers, virtual machines, and network traffic [34]. It allows network engineers and administrators to counter the rapidly changing business needs [64]. The main feature of SDN is that it separates the data plane from the control plane, making it easy to manage the network with a huge number of servers.

SDN can be used together with ICN [58], where the SDN design facilitates the deployment of ICN, as shown in Fig. 4. An SDN controller manages the ICN-based IoT network. The network is managed using the control plane, where different policies and protocols are deployed. The data plane controls contents in ICN nodes by managing all physical networked devices such as routers and switches.

Fig. 4
figure 4

ICN-based IoT with SDN

6.3 ICN-based IoT with edge computing

Edge computing [63] is an extension of the cloud [6]. It processes contents at the network edge. Contents generated at the network edge are processed there for effective operations because cloud is unable to handle the large number of contents produced at the network edge [68]. This inefficiency is due to the distance and the lack of bandwidth. Edge computing is a better architecture than cloud for the IoT and real-time applications. It performs several functions, for example, caching, processing, and transmitting contents to and from other edges. The features provided by edge are promising for deploying ICN-based IoT. A mobile edge cloud strategy for ICN-based IoT is proposed in [13], which includes three levels, i.e., bottom, top, and middle, as presented in Fig. 5. The bottom or lower level consists of IoT devices, where contents are generated. The Cloud and the ICN nodes make the top level. The core or the middle level, also referred to as edge, consists of heterogeneous devices that includes mobile or static nodes with sufficient storage, computing, and communication capabilities.

Fig. 5
figure 5

ICN-based IoT with edge

6.4 ICN-based IoT with fog computing

Fog computing, introduced by Cisco [71], is an infrastructure that provides services, such as computation, storage, and applications, between the content producers and the cloud [81]. Fog decreases the total traffic towards the cloud and also reduces the content access time. ICN-based IoT can be integrated with fog that exploits the features it presents [7]. Fog can provide computation and storage near the consumer [11]. A fog-based ICN Internet of Vehicles (IoV) strategy is proposed in [78], in which fog is placed between the ICN nodes and the vehicles (see Fig. 6). Vehicles generate contents which are transferred towards fog nodes where they are processed, named, and stored. These contents are then sent towards the ICN nodes for further utilization.

Fig. 6
figure 6

ICN-based IoT with fog

6.5 ICN-based IoT with 5G network

The fifth generation (5G) is not just an increment to the fourth generation (4G) or Long-Term Evolution (LTE), but is a new communication architecture with high bandwidth and high carrier frequencies. It has the potential to support IoT, conventional computing, and mobile devices [8]. The ambition for the development of 5G is connecting everything - everywhere [84], and according to [59], one of the main causes for 5G is linking IoT devices.

Several papers have examined different strategies to integrate ICN and 5G [59, 84]. A scheme to place caches or content stores on 5G base stations is proposed in [84]. An explanation on the benefits of 5G with ICN along with the discussion on different 5G-ICN deployment models, for example, overlay model, integrated model, and flat model, is presented in [59]. Figure 7 [59] shows a general network slicing that includes five functional planes, such as business plane, global service orchestration/service management plane, global ICN orchestrator, domain service orchestration/management plane, and infrastructure plane.

Fig. 7
figure 7

ICN-based IoT with 5G (Adapted from [59])

Another caching strategy for ICN-based mobile videos in 5G networks is proposed in [87], which decreases the retrieval delay of videos for mobile devices.

7 Conclusion

The existing literature gives a brief discussion on ICN-based IoT implementation issues and explores several communication standards that can be integrated with the IoT network. The designers of ICN-based IoT network face several issues ranging from the basic ICN-based IoT design to the selection of proper communication standard. This paper presents the integration of ICN-based IoT with several existing Internet technologies. In conclusion, we put forward our case that ICN with its inherent features and appropriate communication standard is a potential candidate for the IoT deployment.