| Literature DB >> 31262089 |
Muhammad Atif Ur Rehman1, Rehmat Ullah1, Byung-Seo Kim2.
Abstract
Information-Centric Networking (ICN) is a paradigm shift from host-to-host Internet Protocol (IP)-based communication to content-based communication. In ICN, the content-retrieval process employs names that are given through different naming schemes such as hierarchical, flat, attribute, and hybrid. Among different ICN architectures, Named-Data Networking (NDN) has gained much interest in the research community and is actively being explored for the Internet of Things (IoT) and sensor networks, and follows a hierarchical naming format. NDN protocol follows a pull-based communication model where the content consumer gets content irrespective of the location of the content provider. The content provider in NDN and sensor networks can be considered to be a distributed database that monitors or controls the environment and caches the sensed data or controls information into their memory. The proposed Name-INtegrated Query (NINQ) framework for NDN-based IoT provides a flexible, expressive, and secure query mechanism that supports content retrieval as well as control and configuration command exchange among various nodes in a smart building. Different use cases are presented in this paper that expand on the behavior of proposed query framework in different scenarios. Simulation results of data collection and exchange of control commands show that proposed query framework significantly improves Interest Satisfaction Rate (ISR), Command Satisfaction Rate (CSR), energy efficiency, and average delay. Moreover, it is evident from the simulation results that proposed query framework significantly reduces the number of transmissions in the network in both data collection and exchange of control command scenarios, which improves the network performance.Entities:
Keywords: Named-Data Networking; Pull and Push Support; commands; internet of things; query; smart building
Year: 2019 PMID: 31262089 PMCID: PMC6651019 DOI: 10.3390/s19132906
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1NDN communication process.
Figure 2Naming Schemes in ICN.
Description of Packet Components.
| Naming Scheme | HC | FC | QC | Pull Support | Push Support | Mobility |
|---|---|---|---|---|---|---|
| Naming scheme for smart building: HFHN [ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Naming scheme for smart home: Marica et al. [ | ✔ | ✘ | ✘ | ✔ | ✔ | ✘ |
| Naming scheme for smart building: Rehmat et al. [ | ✔ | ✘ | ✘ | ✘ | ✔ | ✘ |
| Naming scheme for VANET: Bouk et al. [ | ✔ | ✔ | ✘ | ✔ | ✘ | ✔ |
| Naming Scheme for UWSN: Bouk et al. [ | ✔ | ✘ | ✘ | ✔ | ✘ | ✘ |
| Naming scheme for smart building: ISI [ | ✔ | ✘ | ✘ | ✔ | ✔ | ✔ |
| Naming scheme for Edge computation [ | ✔ | ✘ | ✘ | ✘ | ✘ | ✔ |
| Proposed Naming Scheme for smart building | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Figure 3Smart building communication service models.
Figure 4NINQ packet format.
Description of Packet Components.
| Component | Description |
|---|---|
| Unique Location identifier | This sub-component is used as a unique domain to identify the location |
| Sub-Location identifier | This sub-component is used to define the regions inside a building |
| Floor Number | This component is used to locate the floor in a building |
| Room Number | This component is used to locate the room number on some floor |
| Flat Component (HMAC) | FNV1a hash of query or query with command component |
| Query | This component is used to filter the content inside a namespace |
| Command | This component is used to perform action which may base on the query |
| Data | This component represents the filtered data obtained by executing the query |
| Separator (|) | Separator is used to separate the hierarchical, flat, query/command, and data. |
| Separator (:) | This separator is used to separate query from command |
Description of Keywords.
| Keywords | Description |
|---|---|
| GT | Greater Than: Values in a collection must be greater the value written |
| on right side of “GT” operator | |
| GTE | Greater Than Equal: Values in a collection must be greater than or equal |
| to the value written on right side of “GTE” operator | |
| LT | Less Than: Values in a collection must be less the value written |
| on right side of “LT” operator | |
| LTE | Less Than Equal: Values in a collection must be less than or equal to the |
| value written on right side of “LTE” operator | |
| EQ | Equal: Values in a collection must be equal to the value written on right |
| side of “EQ” operator | |
| NEQ | Not Equal: Values in a collection must not be equal to the value written on |
| right side of “NEQ” operator | |
| BET | Between: Values in a collection must be in between to the values written on |
| right side of “BET” operator | |
| IN | Include: Check whether collection contain the value written on right |
| side of “IN” operator | |
| LIMIT | Limit the results to the number written on the right side of “LIMIT” operator |
| ASC, DESC | Ascending and Descending order |
| AVG, MIN, MAX, COUNT, SUM | Aggregate functions |
Description of Keywords.
| Queries | Description |
|---|---|
| WHERE_TEMP.VALUE_GT_25 | Select temperature sub-collection in which values are |
| greater than to 25 | |
| WHERE_TEMP.VALUE_GTE_25 | Select temperature sub-collection in which values are |
| greater than or equal to 25 | |
| WHERE_TEMP.VALUE_LT_25 | Select temperature sub-collection in which values are |
| less than 25 | |
| WHERE_TEMP.VALUE_LTE_25 | Select temperature sub-collection in which values are |
| less than or equal to 25 | |
| WHERE_TEMP.VALUE_EQ_25 | Select temperature sub-collection in which values are |
| equal to 25 | |
| WHERE_TEMP.VALUE_NEQ_25 | Select temperature sub-collection in which values are |
| not equal to 25 | |
| WHERE_TEMP.VALUE_IN_25 | Check whether the temperature collection have value |
| 25 or not. Result will contain a Boolean value. | |
| WHERE_TEMP.VALUE_BET_25_AND_50 | Select temperature sub-collection in which values are |
| between 25 and 50 | |
| WHERE_TEMP.VALUE_GT_25_LIMIT_10_DESC | Select top 10 (descending order) temperature sub |
| collection in which values are greater than 25 | |
| WHERE_TEMP.VALUE_GT_25_LIMIT_10_ASC | Select top 10 (ascending order) temperature sub |
| collection in which values are greater than 25 | |
| WHERE_TEMP.VALUE_GT_25_SELECT_COUNT | Get the number of temperature sub collection in which |
| values are greater than 25 | |
| WHERE_TEMP.TIME_BET_9_AND_14_SELECT_AVG | Get average temperature values of current day for time |
| between 9 a.m. and 2 p.m. | |
| WHERE_TEMP.TIME_BET_9_AND_14_SELECT_MIN | Get minimum temperature value of current day for time |
| between 9 a.m. and 2 p.m. | |
| WHERE_TEMP.TIME_BET_9_AND_14_SELECT_MAX | Get maximum temperature value of current day for time |
| between 9 a.m. and 2 p.m. | |
| WHERE_TEMP.TIME_BET_9_AND_14_SELECT_SUM | Get sum of temperature values of current day for time |
| between 9 a.m. and 2 p.m. |
Example of NINQ Commands with Constraints.
| Queries | Description |
|---|---|
| SET_AC_ON | Turn on the AC |
| SET_AC_16 | Set the temperature value of AC to 16 |
| WHERE_TEMP.VALUE_LTE_20:SET_AC_OFF | Turn of the AC if temperature is less than or equal to 20 |
| WHERE_TEMP.VALUE_BET_25_AND_50SET_AC_ON | Turn on AC if temperature is between 25 and 50 |
| WHERE_TEMP.VALUE_LTE_20:SET_AC_OFF | Turn off AC if temperature is less than or equal to 25 |
Figure 5Pull service model.
Figure 6Pull (command) service model.
Figure 7Push service model.
Figure 8A comparison of NINQ with conventional naming scheme.
Figure 9Simulation environment.
Simulation Parameters.
| Parameter | Value |
|---|---|
| Simulator | NS-3 (ndnSIM 2.5) |
| Communication Stack | NDN |
| NDN | Constant Speed Propagation Delay Model |
| Propagation Loss Model | Range Propagation Loss Model |
| Mobility Model | Constant Position Mobility Model , Constant Velocity Mobility Model |
| Simulator | NS-3 (ndnSIM 2.5) |
| Number of Static Nodes | 68 |
| Number of Mobile Consumer Nodes | 4, 8, 12, 16 |
| Caching Policy | LCE |
| Replacement Policy | LRU |
| Content Store Size | 1000 |
| PIT Timer | 4 s |
| Simulation Time | 1800 s |
Figure 10ISR in a network by number of unique contents.
Figure 11ISR in a network by speed of mobile nodes.
Figure 12CSR in a network by number of commands.
Figure 13Number of packets processed in a network by number of unique content objects.
Figure 14Energy consumption in an NINQ-based network as function of the number of unique content objects.
Figure 15Energy consumption in an NINQ-based network as function of the number of commands.
Figure 16Average delay in a network as function of number of unique contents.
Figure 17Average delay in a network as function of total number of commands.