As smart connected devices usage prevalent now-a-days. And plethora of these smart connected devices is referred as Internet of Things (IoT) (jabbar2016rest)-(ahmad2016smart)-(ahmad2016efficient). These smart connected devices may include smart phones, tablets, smart gadgets like iWatch, smart glass, smart brush, smart AC and gained much attention from consumers as well as from both industry and research societies. For example, IoT European Research Cluster (IERC) aims to identify the challenges to transform the IoT concept into IoT reality. IERC involves other countries than Europe to address global connectivity (ierc). Another, ICN Research Group (ICNRG) is also trying to gather requirements to build IoT architecture using ICN (icnrg). But, with the advent of IoT, its efficient network architecture is still in its infancy.
In the context of ICN, architectures are proposed like NDN, PURSUIT, SAIL, MobilityFirst, CONVERGENCE, COMET, Green ICN and C-DAX (ICNsurvey)-(AmadeoCampoloQuevedoEtAl2016). ICN has many research areas to be explored yet and naming the contents is one of them. Among these ICN architectures, NDN is implemented as proof-of-concept and gaining a lot of attraction through research community (ccnx-prominent-proof-of-concept).
Hierarchical naming scheme is used to name the contents in NDN. This naming scheme provides long variable length names (ICNsurvey).
On the other hand, in general, IoTs contents are ephemeral, short-lived, small, fresh, different priorities and from different locations. Therefore IoTs contents have special features and factors that need to be accommodated/ considered while naming any specific content.
In this paper, we select ”Smart Campus” as an IoT usecase, as shown in Fig. 1. We take smart campus because it involves almost all operations that any other IoT application does and research for smart campus is a never ending process as we can keep adding smart services to make it more smarter. At the same time, it is very emerging research topic from both academics and industry perspectives(agarwal2016toward)-(xu2016toward)
. Moreover, in cases like smart home, IoTs scalibility may not be estimated appropriately due to limited number of nodes and data.
Further, we state IoTs based Smart Campus (IoTSC) as a building or combination of many buildings that may utilize(s) many smart sensors (temperature, humidity, pressure, proximity and etc.,), actuators (AC, lights, fans, doors, windows, vehicles, mobile phones, alarm buzzers) and connecting devices (Ethernet, Wifi, Bluetooth) to provide anytime connectivity. CAmpus Server (CAS) is responsible to provide connectivity among all devices and monitor all activities as controlling agent as can be seen in Fig. 1. NDN based IoTSC application can provide many services as energy management, security and privacy.
Then, in this paper, we propose NDN-based Hybrid Naming Scheme (NDN-HNS) to name contents and devices considering best features from ICN naming schemes (zhang2016uniform) for IoTs environment. Providing holistic naming scheme for NDN-IoT is the major contribution of this work. In this scheme, name is assigned to content in three components: IoT application prefix, hierarchical, flat-hash and attribute-based. Proposed naming scheme can provide scalability, security and addressing and naming to data contents and devices.
Rest of the paper follows with some background, importance and NDN based research efforts of smart campus w.r.t IoT in section II. Proposed NDN-HNS and its important parts are described in section III and finally we conclude our so-far work in conclusions section.
2. IoT based Smart Campus and NDN Related Research Efforts
This section firstly, presents an overview of smart campus importance in IoT from both academics and industrial perspectives. Further we describe why TCP/IP is less suitable for IoT. Then we discuss some research efforts in which NDN is considered for IoT and smart campus.
Google funded and started GIoTTO program at CMU with the collaborators from other universities as well to transform IoT into reality and under GIoTTO they build lab to convert CMU into smart campus(agarwal2016toward). They designed GIoTTO open source stack to provide support for heterogeneous platforms. Moreover, Google invested in NEST Labs for IoT, which aim to build smart home (xu2016toward). On the other hand, Huawei used IPv4 and IPv6 to provide smart campus services to Huawei Hubei University of Technology (huawei-smart-campus). They aim to provide smart agile campus, cloud data center, disaster management and recovery mode, easy access to library and safety of campus through video surveillance. In addition, Pakistani government has announced that thirteen universities are being converted to smart campus by the end of year 2017 (hec-smart-campus). As a first step, Pakistani government has decided to provide students and faculty with free wifi everywhere inside the campus. Next step is to utilize campus resources to monitor energy usage to control and optimize its consumption.
Major activities/services that can help to build IoTSC may involve optimization and control of energy usage (lazaroiu2016energy)
, security of faculty and students vehicles, security and privacy of data of both faculty and students, easy access of library resources, smart cafeteria ordering and students behavior analysis. Other advance services may include disaster management, hostel allotment and mess management system, smart attendance system and smart time table management system. Mostly services can be achieved through simple operation of connectivity among smart devices i.e., both sensors and actuators. While other services may be achieved through smart mobile applications development, cloud computing, artificial intelligence algorithms and neural networks(adamko2014intelligent)-(guo2015research).
While we argue that employing TCP/IP architecture for IoTSC can burdensome constraint-oriented devices in many ways, for example:
i) Data produced by billions tiny IoT devices is huge in amount and needs better management to use this data for analytics applications,
ii) Mostly IoT devices (especially wireless sensors) come up in small memory due to the processor used and the circuit board design. Small memory makes data unavailable frequently, further, there is no caching system in IP-based solutions which also raises data unavailability issue,
iii) IoT can definitely have devices that differ in specifications (differ in memory, power, communication range and processing power) and connection technologies (UWB, RFID, Zigbee, Ethernet, Bluetooth, Wi-Fi, Wi-MAX, MANETs, Cellular Networks, Radars and Satellite Networks (Although last two technologies are not meant for smart campus but may involve in IoT))(van2016flexible),
iv) Scanning and inspection of transmitted data need complex and costly methods like Deep Packet Inspection (DPI),
v) Separate patches like IP-Sec protocols are employed to provide appropriate security and
vi) TCP/IP provides mobility support in complex way where multiple additional registrations (during mobile devices hand-off) are required to support mobile devices. Security requirements and mobile devices further complicates its applicability for IoTs.
Therefore, heavy TCP/IP architecture, either in native or in overlay manner, is less suitable for IoTSC.
In the meantime, many research efforts suggest ICN, specifically NDN for IoT smart environment. NDN works on publish/subscribe model and offer name base networking through two messages namely Interest Message and Data Message, and three data structures namely Pending Interest Table (PIT), Forwarding Information Base (FIB) and Content Store (CS) (shang2016named). Subscriber need to subscribe the network to get data of its interest that can be requested through Interest Message. Publisher advertises it’s produced data towards nearest content routers (CRs). CRs directly forwards data through Data Message if it is stored in CS on finding the prefix match with content name mentioned in Interest Message and Interest Message is dropped. Else CR looks for entry of forwarding path in FIB. CR performs prefix match in FIB to find the next CR(s) list to forward Interest Message and after forwarding Interest message towards next CR, it places the entry incoming interface in PIT. CR adds incoming interface of this entry if a match of this entry is already available in PIT and Interest Message is dropped. When a DATA Message received by any CR it caches this data in its CS though ’Cache each everything (CE2)’ caching scheme. Then CR finds prefix (es) for appropriate interface (s) in PIT and upon a successful matching it routes this data towards that (or those) interfaces (s). NDN has been implemented for smart home in both (AmadeoCampoloIeraEtAl2015)-(ahmed2016named). Both of these works discuss naive NDN hierarchical naming scheme for smart home. Further (de2016named) implement NDN for lightning the home and found NDN more useful when traffic is local. They also implement NDN basic naming scheme for naming the data. Smart campus lightning system is implemented through NDN in (de2016implementation). They also use basic NDN hierarchical naming scheme to name the contents.
3. Hybrid ICN-based Naming Scheme for IoTs
This section is presented with threefold purposes: in the first Subsection IoT application categorization is presented and in the Subsection section hybrid naming concept is described. In the third Subsection, naming scheme components are discussed.
3.1. IoT Application Categorization
We use (iotapps) to categorize IoT applications and show in Fig. 2 . They listed 12 major categories and we updated (and somehow modified) this list by adding two more categories named as smart education learning and smart buildings.
3.1.1. Smart Cities
This application can include structure health monitoring (SHM), roads and their lighting management, traffic congestion management, parking lots management, waste management and noise control to build smart city.
3.1.2. Smart Water
This scenario can incorporates water monitoring through pollution levels in the seas and rivers, water level monitoring for flood control and chemicals proportion monitoring for purity water.
3.1.3. Smart Grid
This application can handle smart metering, electricity usage control and automatic billing.
3.1.4. Smart Environment
This can incorporate earthquake detection, snow level and landslide monitoring and management, fire detection and control in the towns and in the forests to make environment safe and sound to provide better life.
3.1.5. Smart Transportation
Efficient transfer of wide range of commodities can be included in this scenario. Vehicles carrying a commodity can be tagged and located via GPRS software.
3.1.6. Smart Individual
As mentioned in (smart-individual) IoT through smart wearable can be simple IoMe, to control your daily intake of calories, to share health measurements with your doctor and to motivate you to be more active in sports.
3.1.7. Smart Buildings
In (smart-building), smart building can incorporate chillers, air handlers, automatic parking, energy consumption control and temperature and humidity monitoring.
3.1.8. Smart Logistics
This can incorporate planning, policy and infrastructure (van2012smart) to manage route control, easy detection of an item in supply chain, quality control of shipments to ensure safety and storage compatibility management.
3.1.9. Smart Home
Security system to detect and monitor entrance of non-authorize persons, automatic control (locking and opening) of house doors and windows, consumption control of water, gas and electricity, remote control and monitor of house appliances can be combined to build smart home.
3.1.10. Smart Retail
This can include applications like smart shopping and payment management, product store management, payment management for parks, roads and gyms.
3.1.11. Smart E-Health
Check and control of sugar level and blood pressure, measurement of daily calories intake, assistance of elderly Alzheimer patients and proper medication (in case of emergency) through remote help from doctors can incorporate in providing smart-e-health.
3.1.12. Smart Animal & Farming
Quality control and improvement in survival rate of offspring, betterment in ventilation conditions, animal tracking and control of required conditions to ensure high quality crops can be combined to form smart animal farming.
3.1.13. Smart Agriculture
This can monitor and control soil moisture level, humidity, temperature and wind changes to maximize product (fruits and vegetables) quality and quantity.
3.1.14. Smart Education Learning
This scenario can include smart campus services like notification for exam results, evaluation of assignments and exams, and important announcements (about class timings and venues). Moreover, it can include energy management in campus.
3.2. Proposed NDN-HNS for IoTSC
When an IoT application user (for example IoTSC user) requests for a content, NDN Interest message is forwarded from the requesting node to nearest node (or intermediate node). This node further forwards Interest message to the node containing the content. Any node that originates data or caches data can reply DATA message. NDN model follows hierarchical naming scheme to name IoT contents. Hierarchical names are long and describe detail of content separating through /. NDN naming scheme is not designed for IoT applications as these application put many new constraints to name the contents. To fulfill IoT application specific requirements we propose a hybrid and holistic naming scheme which contains multiple parts to name any content. These parts or components are separated through the symbol ’:’, that indicates the end of current part and start of the next part. Moreover, :/ is used to specify multiple attributes of the content in attributes component and multiple sub-parts of flat component. While portions of these parts are specified through /.
3.3. NDN-HNS Components
Our hybrid naming approach contains following three parts. These parts are aggregated with the aim to provide scalable, secure and easy-to-manipulate naming scheme. But before these name parts begin, user has to specify primary root prefix as IoT://SBC for Smart Building (Campus) IoT application as it can be seen in Fig. 3. Then name follows with hierarchical component as secondary hierarchical root prefix, attribute component and flat self-certifying component.
3.3.1. Hierarchical Component (HC) or Secondary Root Prefix (SRP)
This part names a content in the same way as NDN assigns name. Hierarchical component (HC) combines campus information, content originating node ID along with content information. However, campus location information has nothing to do with the physical location of campus instead it has just to represent name of location and sub-location of campus. HC’s content information (both super type and sub type) is added to identify content main category and sub category. So that, HC can provide easy name management and aggregation, simple and easy search, and optimized routing tables by including above mentioned information about campus and content. HC part’s information is described as follows:
Campus Name/Campus Sub-Name/: This refers to the name of campus, for example, in our scenario, UET Taxila/CPED values refer to the Computer Engineering Department (CPED) of University of Engineering and Technology (UET), Taxila.
Campus Location/Campus Sub-Location/: represent campus’s country and city. In other words, where this campus is situated (or about which campus content is required), e.g., Pakistan/Taxila represents CPED is located in Taxila city of Pakistan.
Content Originator ID/Public Key: This may involve student’s registration number/faculty’s employee name (or/and number), or sensor/actuator ID in case of devices e.g., 14F-UET-PhD-CP-43 represents registration number of Computer (CP) student and can refer to her/his cell phone device.
Content Super-Type Name/Content Sub-Type Name: represents the content’s super type from text, image, video etc. and sub type from .word, .txt, .ppt etc. for text, .jpg, .png etc. for image and .avi, .mp4 etc. for videos. For instance, Timetable-14CP/.xls refers to the text file of Timetable-14CP in .xls (and not in any other format e.g., .word, .txt, .ppt). This ensures further the exact type of the required content. In addition, by this, required content can be searched easily.
Moreover, HC’s sub parts can be clearly seen in the second line (in ink-blue color) of Fig. 3.
3.3.2. Attributes Component (AC)
This component describes the details about a specific content. Attributes include content properties and the task type. AC’s both task type and task sub-type specify type of communication that either sensing operation information is required or it will trigger/control some action. Here one thing is important to note that, inherent NDN supports only pull type communications. But with our naming scheme, push type communication will also be carried. Details of AC’s sub-parts in following text:
Content-Attributes:/:/:/: holds the values of multiple attributes for the desired content to signify it further, for example, 14/01-Jan/13:30/1/ refers to the extracted content’s year-session (2014), date (1st January), time (13:30) and version (01) according to attributes session/date/time/ver/.
Content-Freshness/: tells about content’s life. One can specify about content’s freshness in this, may be, by adding the time-stamp of content’s generation time. IoTSC subscriber can get most recent and updated value by specifying this value as zero. And most old value can be get by specifying as one. This feature is added especially for sensors that provides some measurements ( e.g., temperature, humidity, etc.) to enable pure IoT functionality like getting the most recent value of temperature in campus. This can further help in content caching decision, which is currently beyond the scope of this work.
Content-Popularity/: specify the popularity of the content. For instance, if a exam result is declared, then every student must be interested to get it. Contents can be easily be accessed (and provided) from near-by devices (even from friend’s cell phone). Moreover, course video lectures marked as popular can be accessed more quickly. Its a simple counter that increments itself on every request. Moreover, other complex methods (e.g., Zipf’s Distribution) can be explored to calculate popularity that helps in caching decision.
Task-Type/Task-Sub-Type: holds the values about what is going to happen. Both Task-Type/Task-Sub-Type specify which operation will happen. Whether it is some action with the values action/Turn-Light:(ON or OFF) or sensing operation with the values sense/(Temperature or Humidity).
Moreover, AC’s sub parts can be clearly seen in the third line (in light green color) of Fig. 3.
3.3.3. Flat Component (FC)
This part is included to provide secure, signed and self-certified contents names. FC can hold the hashed value of either Content Originator ID or Content Super-Type Name or Content Sub-Type Name
SHA256(Content Originator):/ SHA256 (Content Super-Type):/ SHA256(Content Sub-Type):/ : embeds hashed encrypted values of content originator and of content’s name. For example,968cbab1de…:/e95e2bf0247…/0ac8b624229a…:/ represents SHA256s for 14F-UET-PhD-CP-43/Timetable-14CP/.xls.
Moreover, FC’s sub parts can be clearly seen in the last line (in Orange color) of Fig. 3. However, one can argue why to use SHA256, as it creates 32-bytes data even for a small content like .xls. Therefore, one may use Base64 format to create FC. Study and selection for suitable creation methods for FC are part of future work.
4. Conclusion and Future Work
We study ICN naming schemes for IoTs smart environment like smart home and smart campus. We proposed a sophisticated ICN (specifically NDN) based naming scheme for IoTSC. Moreover, we provide updated categorization of IoT applications. Proposed NDN-HNS operates in three important steps to assign a name to any content. As a first step, HC holds value about campus, content originator/requester and content itself. In second step AC contributes content’s attributes, freshness, popularity and about task type. Security and authentication of the content is added by third component i.e., FC. We aim to evaluate proposed naming scheme for names aggregation and better request satisfaction rate for IoTSC. Moreover, we aim to provide (another mode of naming) simple and easy naming scheme for smaller contents. These are the key questions for the follow-up work.
The authors would like to thank UET Taxila for PhD Fulltime Scholarship Program and to the faculty of computer engineering department for providing the appropriate research environment.