ICN Research Group                                     R. Ravindran, Ed.
Internet-Draft                                       Huawei Technologies
Intended status: Informational                                  Y. Zhang
Expires: November 3, 2019                     WINLAB, Rutgers University
                                                               L. Grieco
                                               Politecnico di Bari (DEI)
                                                             A. Lindgren
                                                               RISE SICS
                                                                J. Burke
                                                              UCLA REMAP
                                                              B. Ahlgren
                                                               RISE SICS
                                                                A. Azgin
                                                     Huawei Technologies
                                                             May 2, 2019


             Design Considerations for Applying ICN to IoT
                       draft-irtf-icnrg-icniot-03

Abstract

   The Internet of Things (IoT) promises to connect billions of objects
   to the Internet.  After deploying many stand-alone IoT systems in
   different domains, the current trend is to develop a common, "thin
   waist" of protocols to enable a horizontally unified IoT
   architecture.  The objective of such an architecture is to make
   resource objects securely accessible to applications across
   organizations and domains.  Towards this goal, quite a few proposals
   have been made to build an application-layer based unified IoT
   platform on top of today's host-centric Internet.  However, there is
   a fundamental mismatch between the host-centric nature of today's
   Internet and the mostly information-centric nature of the IoT domain.
   To address this mismatch, the common set of protocols and network
   services offered by an information-centric networking (ICN)
   architecture can be leveraged to realize an ICN-based IoT (or ICN-
   IoT) architecture that can take advantage of the salient features of
   ICN such as naming, security, mobility, compute and efficient content
   and service delivery support offered by it.

   In this draft, we summarize the general IoT demands, and ICN features
   that support these requirements, and then discuss the challenges to
   realize an ICN-based IoT framework.  Beyond this, the goal of this
   draft is not to offer any specific ICN-IoT architectural proposal.







Ravindran, Ed., et al.  Expires November 3, 2019                [Page 1]


Internet-Draft       ICN based Architecture for IoT             May 2019


Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 3, 2019.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Motivating ICN for IoT  . . . . . . . . . . . . . . . . . . .   4
     2.1.  Advantages of using ICN for IoT . . . . . . . . . . . . .   5
     2.2.  Service Scenarios . . . . . . . . . . . . . . . . . . . .   6
   3.  IoT Architectural Requirements  . . . . . . . . . . . . . . .  11
     3.1.  Naming  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     3.2.  Security and Privacy  . . . . . . . . . . . . . . . . . .  12
     3.3.  Scalability . . . . . . . . . . . . . . . . . . . . . . .  13
     3.4.  Resource Constraints  . . . . . . . . . . . . . . . . . .  13
     3.5.  Traffic Characteristics . . . . . . . . . . . . . . . . .  14
     3.6.  Contextual Communication  . . . . . . . . . . . . . . . .  14
     3.7.  Handling Mobility . . . . . . . . . . . . . . . . . . . .  15
     3.8.  Storage and Caching . . . . . . . . . . . . . . . . . . .  15
     3.9.  Communication Reliability . . . . . . . . . . . . . . . .  16



Ravindran, Ed., et al.  Expires November 3, 2019                [Page 2]


Internet-Draft       ICN based Architecture for IoT             May 2019


     3.10. Self-Organization . . . . . . . . . . . . . . . . . . . .  16
     3.11. Ad hoc and Infrastructure Mode  . . . . . . . . . . . . .  17
     3.12. IoT Platform Management . . . . . . . . . . . . . . . . .  17
   4.  State of the Art  . . . . . . . . . . . . . . . . . . . . . .  18
     4.1.  Silo IoT Architecture . . . . . . . . . . . . . . . . . .  18
     4.2.  Application-Layer Unified IoT Solutions . . . . . . . . .  19
       4.2.1.  Weaknesses of the Application-Layer Approach  . . . .  20
       4.2.2.  Relation to Delay Tolerant Networking (DTN)
               architecture and its suitability for IoT  . . . . . .  22
   5.  ICN Design Considerations for IoT . . . . . . . . . . . . . .  22
     5.1.  Naming Devices, Data, and Services  . . . . . . . . . . .  22
     5.2.  Name Resolution . . . . . . . . . . . . . . . . . . . . .  26
     5.3.  Security and Privacy  . . . . . . . . . . . . . . . . . .  27
     5.4.  Caching . . . . . . . . . . . . . . . . . . . . . . . . .  30
     5.5.  Storage . . . . . . . . . . . . . . . . . . . . . . . . .  31
     5.6.  Routing and Forwarding  . . . . . . . . . . . . . . . . .  32
     5.7.  Mobility Management . . . . . . . . . . . . . . . . . . .  33
     5.8.  Contextual Communication  . . . . . . . . . . . . . . . .  34
     5.9.  In-network Computing  . . . . . . . . . . . . . . . . . .  35
     5.10. Self-Organization . . . . . . . . . . . . . . . . . . . .  36
     5.11. Communications Reliability  . . . . . . . . . . . . . . .  36
     5.12. Resource Constraints and Heterogeneity  . . . . . . . . .  37
   6.  Differences from T2TRG  . . . . . . . . . . . . . . . . . . .  37
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  38
   8.  Conclusions . . . . . . . . . . . . . . . . . . . . . . . . .  38
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  38
   10. Informative References  . . . . . . . . . . . . . . . . . . .  38
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  50

1.  Introduction

   During the past decade, many Internet of Things (IoT) systems have
   been developed, and deployed in different domains.  The recent trend,
   however, is to evolve these systems towards a unified IoT
   architecture, in which a large number of objects hosted by non-
   interoperable protocol domains can connect to the Internet to enable
   secure interactions with a diverse set of applications across
   administrative domain.  Note that, here, 'unified' is used to imply a
   scenario, where all the IoT applications, services, and network
   functions use a common set of transport APIs and network protocols to
   interact with each other.  Typical IoT applications involve sensing,
   actuation, processing, and secure content distribution, each of which
   can occur at different timescales and hierarchical levels that depend
   on the application requirements.  To adapt to different scenarios,
   IoT systems need to adopt an architecture that can provide (i) pull/
   push- and publish/subscribe-based application abstractions, (ii) a
   common naming framework, (iii) support for payload encryption and
   signature schemes, and (iv) open APIs as opposed to proprietary APIs



Ravindran, Ed., et al.  Expires November 3, 2019                [Page 3]


Internet-Draft       ICN based Architecture for IoT             May 2019


   that are common in today's systems.  These requirements can pose
   great challenges for the underlying network and systems.  To name a
   few, the IoT system needs to support 50-100 Billion networked objects
   [1], many of which are mobile.  These objects are expected to have
   extremely heterogeneous means of connecting to the Internet, often
   with severe resource constraints.  Interactions between the
   applications and the objects are often real-time and dynamic,
   requiring strong security and privacy protections.  In addition, the
   IoT system design should offer efficient data exchange schemes that
   take into consideration the application behavior.  For instance, in
   many IoT applications, data consumers usually need the data sensed
   from the environment without any reference to the subset of sensors
   that can provide the requested information.

   In short, adopting a general IoT perspective, we first motivate the
   discussion of ICN for IoT by focusing on well known scenarios.  We
   then discuss the IoT requirements that are generally applicable to
   many of these well known IoT scenarios.  Next we discuss how the
   current application-layer unified IoT architectures are inefficient
   to meet the above requirements, and how the key ICN features can make
   it a better candidate to realize a unified IoT framework.  Finally,
   adopting an ICN perspective, we address the main IoT design
   challenges and requirements posed towards an ICN-based-IoT system
   design.

2.  Motivating ICN for IoT

   ICN offers many features that include name-based networking, content
   object security, in-network caching, compute, and storage, active
   mobility support, context-aware networking (see Section 3.6), and
   support for ad hoc networking.  Within the context of an IP based IoT
   design (IP-IoT), all of these features offered by the ICN have to be
   realized in an application-specific way demonstrating the compelling
   nature of ICN to design IoT systems.

   To be specific, the features offered by ICN can be used to enable a
   distributed and intelligent data distribution platform that supports
   heterogeneous IoT services requiring minimal configuration for device
   bootstrapping, carrying simpler protocols to aid self-organizing
   among the IoT elements, and offering natural support for compute and
   caching logic at strategic points in the network.  We outline general
   advantages of using an ICN-based IoT system design and discuss these
   from the perspective of the several service scenarios that are
   difficult to realize over IP today, and whose characteristics
   arguably match the features offered by ICN.






Ravindran, Ed., et al.  Expires November 3, 2019                [Page 4]


Internet-Draft       ICN based Architecture for IoT             May 2019


2.1.  Advantages of using ICN for IoT

   A key concept of ICN is the ability to name data and services
   independently from its original location (at which it is stored) and
   this simplifies caching, and enables decoupling of consumers and
   producers.  Therefore, using ICN to design an architecture for IoT
   data potentially provides many such advantages compared to using
   traditional host-centric networks and other new architectures.  This
   section highlights the general benefits that the ICN can provide to
   an IoT network.

   o  Naming of Devices, Data and Services: The heterogeneity of the
      deployed network equipment and offered services by an IoT network
      leads to a large variety of data, services, and devices.  While
      using a traditional host-centric architecture, only devices or
      their network interfaces are named at the network level, leaving
      the task to name data and services to the application layer.  This
      can cause different applications to use different naming schemes,
      and, as a result, no consistent mapping from application layer
      names to network names may exist.  In many applications common to
      an IoT network, data and services represent the main objective,
      and ICN provides an intuitive way to name them in a way that can
      be utilized at the network layer as well.  Communication with a
      specific device is often secondary, but when needed, the same ICN
      naming mechanisms can also be used.  In such case, network
      distributes content and provides a service at the same time,
      instead of only sending data between two named devices.  In this
      context, content and services can be provided by several devices,
      or a group of devices, hence naming data and services is often
      more important than naming the devices.  This naming mechanism
      also enables self-configuration of the IoT system.

   o  Security and privacy: ICN advocates the object security model to
      secure data in the network.  This concept is based on the idea of
      securing information objects, unlike the session-based security
      mechanisms, which secure the communication channel between a pair
      of nodes.  ICN provides data integrity through name-data
      integrity, i.e., the guarantee that the given data corresponds to
      the name with which it was addressed.  Signature-based schemes can
      additionally provide data authenticity, meaning establishing the
      origin, or provenance, of the data, for example, by
      cryptographically linking a data object to the identity of a
      publisher.  Confidentiality can be handled on a per-object basis
      based on the keys established at the application level.  All of
      this means that the actual transmission of data does not have to
      be secured, since the same security mechanisms protect the data
      starting with its generation until its consumption, regardless of
      its mobility/location (i.e., whether it is in transit over a



Ravindran, Ed., et al.  Expires November 3, 2019                [Page 5]


Internet-Draft       ICN based Architecture for IoT             May 2019


      communication channel or stored in an intermediate cache).  In an
      ICN network, each individual object within a stream of immutable
      objects can potentially be retrieved from a cache in a different
      location.  However, having a trust relationship with each of these
      different caches is not realistic.  Through name-data integrity,
      ICN automatically guarantees data integrity to the requesting
      client regardless of the location, from where it is delivered.
      The object security model also ensures that the content is readily
      available in a secure state, and if the device constraints are
      severe enough that it is not able to perform the required
      cryptographic operations for object security, then it may be
      possible to offload this operation to a trusted gateway, to which
      only a single secure channel needs to be established.  ICN can
      also derive a name from a public key, as the cryptographic hash of
      a public key also enables it to be self-certifying, in which case,
      authenticating the resource object does not require an external
      authority [27][28].

   o  Distributed Caching and Processing: While caching mechanisms are
      already used by other types of overlay networks, IoT networks can
      potentially benefit even more from caching and in-network
      processing, because of the resource constraints imposed on the
      devices.  Furthermore, wireless bandwidth and power supply can be
      limited for multiple devices sharing a communication channel, and
      especially for small mobile devices powered by batteries.  In this
      case, avoiding unnecessary transmissions to retrieve and
      distribute IoT data from/to multiple places becomes important,
      hence processing and storing such content in the network can save
      wireless bandwidth and battery power.  Moreover, as for other
      types of networks, IoT-driven applications requiring shorter
      delays can also benefit from local caches and services to reduce
      the delays between content request and delivery.

   o  Sender/Receiver Decoupling: IoT devices may be mobile and face
      intermittent network connectivity issues.  When a specific data is
      requested, such data can often be delivered by ICN without any
      consistent direct connectivity between devices.  Apart from using
      structured caching systems as described previously, information
      can also be spread by forwarding data opportunistically.

2.2.  Service Scenarios

   o  Smart Mobility: Smart end-user devices and machine-to-machine
      (M2M) connections are undergoing a significant growth.  By 2021,
      there will be more than 10 billion mobile devices and connections,
      including smartphones, tablets, wearables, and vehicles [1].  The
      involved fields for these devices range from medicine and health
      care to fitness, from clothing to environmental monitoring [42].



Ravindran, Ed., et al.  Expires November 3, 2019                [Page 6]


Internet-Draft       ICN based Architecture for IoT             May 2019


      In particular, one of the most affected domains is transportation
      and the so-called Intelligent Transport Systems (ITS) [44].  The
      objective of ITS is to provide a multi-modal transportation system
      that embraces public and private municipal, regional, national,
      and trans-national vehicles and fleets.  This extremely
      heterogeneous ecosystem of transportation means is made available
      to the users through advanced services that can fulfill the
      usability requirements, while pursuing system level objectives,
      and which include: (i) the reduction of CO2 footprint, (ii) the
      real-time delivery of specific goods, (iii) the reduction of
      traffic within urban areas, (iv) the provisioning of pleasant
      journeys to tourists, and (v) the general commitment of
      satisfactory travel time and experience [121].  Within this
      context, IoT technologies can play a pivotal role.  For instance,
      they enable advanced design paradigms (e.g., Mobility as a Service
      (MaaS) [41]) with significant implications on the system
      architecture [50] or lead to novel approaches to traffic modeling
      [49].  As a consequence, smart mobility support can be a
      significant use case scenario for ICN-IoT, where the important ICN
      features that corroborate mobility support are listed as follows:

      *  ICN is unique in that it supports both infrastructure- and ad
         hoc-based communications.  This makes it suitable to support
         communication in vehicular ad hoc networks (VANETS) [19][126],
         along with supporting communication with the infrastructure
         components like the road side units to serve the needs of
         several smart mobility applications.  ICN's name based network
         APIs along with its caching feature enable the system to
         simultaneously operate over multiple heterogeneous radio
         interfaces using broadcast, unicast or anycast communication
         modes.

      *  ICN offers location independence of content, which allows one
         to manage consumer mobility in a simpler way than it is with
         IP.  Furthermore, different from Mobile IP, which needs
         'triangular routing' to locate moving hosts, ICN envisions a
         mobile consumer to only re-issue content requests or use
         network based late-binding functions once the mobile entity
         handoffs from one attachment point to another [45];

      *  In ICN, since the content is not bound to a specific location,
         it can be cached anywhere in the network, thereby adding
         redundancy to the system.  In doing so, if a producer loses
         connectivity while it is moving, a request for its content can
         be resolved to an intermediate node en-route to or routed
         towards a nearby off-path caching node [45];





Ravindran, Ed., et al.  Expires November 3, 2019                [Page 7]


Internet-Draft       ICN based Architecture for IoT             May 2019


      *  The name based request-response communication paradigm
         considered for ICN decouples publish/subscribe operations in
         time and space.  Therefore, the involved entities (i.e.,
         publishers and subscribers) do not need to be aware of each
         other or be connected at the same time [46];

      *  The use of an in-network Name Resolution Service (NRS) design
         allows to identify the current location of or associated with a
         content name in the network, thanks to its network function,
         which is responsible for updating the location information of a
         named entity [58].

      From a technological perspective, we can list the open challenges
      as follows: (i) support for ad hoc communications and
      interoperability across different IoT technologies, (ii) namespace
      design that is able to harmonize different ITS standards, (iii)
      scalable data-sharing model(s) across real-time (and non real-
      time) traffic sources, (iv) design of travel-centric services
      based on ICN-IoT, (v) seamless support to mobility, and (vi)
      content authentication and cryptography.

   o  Smart Building: Buildings are gaining smart capabilities that
      allow for enhanced comfort, increased safety and security, and
      improved energy efficiency [105].  In particular, smart buildings
      are no longer simple consumer(s) (for energy), but can also be
      prosumers with on-site energy generation systems.  These systems
      can improve a building's usability towards (i) smart heating,
      ventilation, and air conditioning (HVAC), (ii) smart lightings,
      (iii) plug loads, and (iv) smart windows.  We can list the main
      requirements for these sub-systems as follows [105]: (i) context
      awareness, (ii) support for resource-constrained devices, (iii)
      interoperability across heterogeneous technologies, and (iv)
      security and privacy protection.  The ICN paradigm can ease the
      fulfillment of these requirements for one simple reason: smart
      building services are typically information centric by design.  To
      be specific, any time an autonomic management loop is established
      within a smart building to control a set of physical variables of
      interest, the information exchanged between the entities (e.g.,
      users, sensors, actuators, and controllers) do not immediately
      translate to specific nodes within the building, but can be
      provided by multiple sensors or gateways.  The relevance of ICN in
      a smart building setting is recognized in the literature as well
      with reference to the several frameworks deployed in various
      environments.  For instance, in [63], nodes are distributed to
      different rooms, floors, and buildings of a campus university, and
      their energy consumption and individual behaviors are monitored.
      A smart home application is investigated in [107] by evaluating
      the retrieval delay and packet loss statistics for data.



Ravindran, Ed., et al.  Expires November 3, 2019                [Page 8]


Internet-Draft       ICN based Architecture for IoT             May 2019


      Moreover, [108] designed and tested lighting control over NDN in a
      theater setting.  In short, within the smart building context, we
      can list the ICN-specific challenges as follows: (i) design of a
      scalable namespace for uniquely identifying the information of
      interest and also host services for actuation, (ii) data-sharing
      model across heterogeneous systems, (iii) self-organizing
      functionalities for improving network connections between end-
      nodes, utilities and the control center, (iv) authentication
      procedures to grant data confidentiality and integrity.

   o  Smart Grid: Smart Grid systems are increasingly transforming into
      cyber-physical systems [18] with the goals of maximum automation
      towards efficiency and minimal human intervention.  The system is
      a very complex one comprising of power distribution grids, end
      user applications (e.g.  Electric Vehicle (EV) charging systems
      and appliances), smart monitoring systems (spanning the end users
      and the power grids), heterogeneous energy producing sources
      (including prosumers), and load distribution/balancing systems.
      Current smart grid systems are managed using the centralized
      Supervisory Control and Data Acquisition (SCADA) frameworks with
      highly restrictive unidirectional communication support [20].
      These systems typically have the following requirements: (i)
      improved flexibility in distributing energy from the feeder,
      through real-time reconfiguration of multiple monitoring devices
      (e.g., phasor measurement units or PMUs) and management operations
      requiring an efficient data delivery infrastructure; (ii) a large
      scale data delivery infrastructure capable of supporting latency
      sensitive applications and inter-connecting heterogeneous end user
      devices that produce, monitor, and/or consume; (iii) resiliency,
      which is critical to the operation and protection of the grid;
      (iv) security, to protect mission critical grid applications from
      network intrusions; and (v) understanding machine-to-machine
      traffic patterns for optimal placement of storage and computing to
      maximize efficiency.  Smart grid systems can benefit from ICN in
      the following ways [21][22]:

      *  ICN approach of naming content rather than hosts can ensure
         that the data generated by one subsystem would be useful for
         multiple entities.  Furthermore, naming content can enable the
         many-to-many communications model, which is very inefficient in
         the case of host-centric architectures.

      *  ICN features such as in-network computing, storage, and caching
         enable better use of network resources and can benefit diverse
         application scenarios that vary from latency tolerant
         applications with low data rates (e.g., smart grid and energy
         pricing) to applications observing high data rates with
         stringent delay/disruption requirements (e.g., synchrophasor



Ravindran, Ed., et al.  Expires November 3, 2019                [Page 9]


Internet-Draft       ICN based Architecture for IoT             May 2019


         measurements).  Also, it is typical for smart grid systems to
         have applications that consume the same data at different
         rates, in which case in-network caching and computing can be of
         significant use.

      *  Host-centric networking exposes a mission critical
         infrastructure like the smart grid infrastructure to intrusion
         and Denial of Service (DOS) attacks, which are directly related
         to exposing the IP addresses of critical applications and
         subsystems.  Naming contents, services, or devices, on the
         other hand, de-couples them from the location, thereby reducing
         the exposure to being targeted based on a geographical context.

      *  ICN's name based networking offers the potential for self-
         configuration during both the bootstrapping phase and the
         regular operation of the grid, allowing scalable operation with
         self-recovery during faults or maintenance tasks in the system.

   o  Smart Industrial Automation: In a smart and connected industrial
      environment, equipment with sensors generate large volumes of data
      during normal operation.  This range from the highly time-critical
      data for real-time control of production processes, to the less
      time-critical data that is collected by a central cloud
      environment for control room monitoring, and to pure log data
      without latency requirements that is mainly kept for a posteriori
      analysis.  Industrial wireless networks are difficult environments
      with many potential interferences occurring at the same time even
      as hard reliability and real-time requirements are placed by many
      applications.  This means that the available network capacity is
      not always high, so it becomes likely for traffic with less
      stringent delay requirements to experience congestion.  One such
      example is, when errors occur in the production process, a mobile
      workforce is expected to investigate the problem on-site and they
      will need high resolution data from the faulty machine(s) as well
      as other process data from the other parts of the plant.  The
      mobile workforces typically perform their diagnostics or
      maintenance locally, and they rely on the information acquired
      from the production system both for safety purposes and to solve
      any other or related issues in the plant.  Furthermore, they rely
      on both the historical data flow (to pinpoint the root cause of
      the problems) and the current data flow (to assess the present
      state of the equipment under control).  High resolution
      measurements are typically generated close to the mobile
      workforce, while the historic data has to be retrieved from the
      historian servers.  In this scenario, multiple workers involved in
      the process typically access the same data, possibly with a slight
      time-shift.  The network thus needs to support mobile users to get
      access to the data flows in a way suitable for their physical



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 10]


Internet-Draft       ICN based Architecture for IoT             May 2019


      location and the task requirements.  Introducing ICN functionality
      into the system can lead to several benefits that enhance the
      working experience and productivity for the mobile workforce.

      *  When using ICN, naming of data can be done in a way that
         corresponds well to the current names often used in industrial
         scenarios as the hierarchical names defined by the OPC
         Foundation [10] can be easily mapped to the CCN/NDN name space.

      *  ICN provides the possibility to get the newest data without
         knowing the location of the caching nodes or whether a
         particular piece of data is available locally or in a central
         repository.  ICN also gives the possibility to get either the
         local high-resolution data or the remote low-resolution data
         (as there is no need to store all the data centrally, which may
         not even be possible due to the large data volume).  However,
         it may require well-defined naming conventions or routing
         policies that can route interests to the right location.

      *  ICN can reduce the network utilization as unnecessary data is
         not transmitted, and data accessed by multiple workers is only
         sent once.

      *  Workforce mobility between different access points in the
         factory can be inherently supported, without the need to
         maintain a connection state.

      *  Use of ICN can help with removing tedious configurations in
         clients, since that would be provided by the infrastructure.

      *  ICN allows the sharing of large volumes of data between users
         that are in physical proximity, without introducing additional
         traffic on the backbone network.

      *  Caching of data in ICN means avoiding additional accesses to a
         distributed redundant database in the central infrastructure
         with consistency requirements.

3.  IoT Architectural Requirements

   Future IoT platforms have to support secure interactions among a
   large number of heterogeneous, constrained, static or mobile
   resources across organization/domain boundaries.  As a result, it
   naturally poses stringent requirements in every aspect of the system
   design.  Below, we outline the important requirements that a future
   IoT platform has to address.





Ravindran, Ed., et al.  Expires November 3, 2019               [Page 11]


Internet-Draft       ICN based Architecture for IoT             May 2019


3.1.  Naming

   An important step towards realizing a unified IoT architecture is the
   ability to assign names that are unique to (i) each device, (ii) each
   data item generated by each of these devices, and (iii) each service
   hosted in a device or a group of devices, towards a common objective.
   We can assume the naming to have the following requirements.  First,
   names need to be persistent against dynamic features that are common
   to IoT systems, such as lifetime, mobility, or migration.  Second,
   names that are derived from the keys need to be self-certifying, for
   both device-centric and content-centric communications.  For device-
   centric communications, binding between device names and the device
   must be secure.  For content-centric communications, binding between
   the names and the content has to be secure.  Third, names usually
   serve multiple purposes, i.e., routing, security (self-certifying),
   or human-readability.  For IoT applications, the choice of flat
   versus human readable names needs to be made considering the
   application and network requirements such as privacy and network
   level scalability, resource constrained networking requirements, and
   the name space explosion that may occur because of the complex
   relationship between name hierarchies [124] that may confound
   application logic.

   One of the challenges in naming is to ensure the trustworthiness of
   the names.  A general approach would require a name certificate
   service.  Such a service acts as a certificate authority in assigning
   names, which are themselves public keys or appropriately bound to the
   name for verification at the consumer end.

3.2.  Security and Privacy

   A variety of security and privacy concerns exist in IoT systems as
   they are infrastructure typically owned by private entities.  For
   example, the unified IoT architecture makes physical objects
   accessible to applications across organizations and domains.
   Furthermore, it often integrates with a critical infrastructure and
   an industrial system with life safety implications, bringing with it
   significant security challenges and regulatory requirements [13], as
   will be discussed in Section 5.3.  Security and privacy thus become a
   serious concern, as does the flexibility and usability of the design
   approaches.  Beyond the overarching trust management challenge,
   security includes data integrity, authentication, and access control
   at different layers of the IoT architecture.  Privacy includes
   several aspects: (i) privacy of the data producer/consumer that is
   directly related to each individual vertical domain such as health,
   electricity, etc., (ii) privacy of data content, and (iii) privacy of
   contextual information such as time and location of data transmission
   [68].



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 12]


Internet-Draft       ICN based Architecture for IoT             May 2019


3.3.  Scalability

   Cisco [1] predicts that there will be around 50 Billion IoT devices
   on the Internet by 2020 (and these devices include sensors, Radio-
   Frequency IDentification (RFID) tags, and actuators), and a unified
   IoT platform needs to name every entity within, which includes these
   devices, and data and services accessed by/through them.  Scalability
   has to be addressed at multiple levels of the IoT architecture
   including naming and name resolution, routing and forwarding, and
   security.  Mobility adds further challenges in terms of scalability.
   Particularly, with respect to name resolution, the system should be
   able to register/update/resolve a name within a short latency.
   Additionally, scalability is also affected by the specific IoT system
   features such as IoT resource object count, state and rate of
   information update generated by the sensing devices.

3.4.  Resource Constraints

   IoT devices can be broadly classified as type 1, type 2, and type 3
   devices, with type 1 being the most resource-constrained and type 3
   being the most resource-rich [47], where the following are considered
   as the most typical resource types: power, computing, storage,
   bandwidth, and user interface.

   Power constraints of IoT devices limit how much data these devices
   can communicate, as it has been shown that communications consume
   more power than other activities for embedded devices [48].  Flexible
   techniques to collect the relevant information are required, and
   uploading every single produced data to a central server is not
   desirable.

   Computing constraints limit the type and amount of processing these
   devices can perform.  As a result, more complex processing needs to
   be done at the cloud servers or at opportunistic points, for instance
   at the network edge, hence it is important to balance local
   computation versus communication costs.

   Storage constraints of the IoT devices limit the amount of data that
   can be stored on these devices.  This constraint means that unused
   sensor data may need to be discarded or stored in an aggregated
   compact form from time to time.

   Bandwidth constraints of the IoT devices limit the amount of
   communication, hence, impose similar restrictions on the system
   architecture as the power constraints, i.e., one cannot afford to
   collect every single sensor data generated by the device and/or use
   complex control plane protocols.  It is also worth mentioning that,
   this constraint also has implications on maintaining idle chatter in



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 13]


Internet-Draft       ICN based Architecture for IoT             May 2019


   the background to maintain connectivity or other volatile service
   state.

   User interface constraints refer to whether the device is itself
   capable of directly interacting with a user.  Possible mechanisms
   include, via a display and keypad ,LED indicators or requires network
   connectivity, either locally or globally, to enable human
   interaction.

   The above discussed resources constraints also impact application
   performance with respect to the end-to-end latency towards sensing or
   executing control loop based actuation functions.

3.5.  Traffic Characteristics

   IoT traffic can be broadly classified into local area traffic and
   wide area traffic.  Local area traffic takes place among the nearby
   devices.  For example, neighboring cars may work together to detect
   potential hazards on the highway, or sensors deployed in a room may
   collaborate to determine how to adjust the heating level in the room.
   These local area communications often involve data aggregation and
   filtering, carry real time constraints, and require fast discovery
   and association (for the device, data, or service).  At the same
   time, IoT platform has to also support wide area communications.  For
   example, in the case of Intelligent Transportation Systems, realtime
   video and sensor feeds from the concerned IoT entities can be used
   towards re-routing operations based on system state, traffic load,
   availability of freights, weather forecasts, and so on.  Wide area
   communications also require efficient discovery and resolution
   services for data/services.

   While traffic characteristics for different IoT systems are expected
   to be different, certain IoT systems have been analyzed and shown to
   have comparable uplink and downlink traffic volumes for some
   applications such as [2], which means that we have to optimize the
   bandwidth use and energy consumption in both directions.
   Furthermore, IoT traffic demonstrates certain periodicity and
   burstiness [2].  As a result, traffic characteristics of the IoT
   services have to be properly accounted for during system planning and
   provisioning.

3.6.  Contextual Communication

   Many IoT applications rely on dynamic contexts in the IoT system to
   initiate, maintain, and terminate communication among the IoT
   devices.  Here, we refer to a context as attributes applicable to a
   group of devices that share some common features, such as their
   owners may have a certain social relationship or belong to the same



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 14]


Internet-Draft       ICN based Architecture for IoT             May 2019


   administrative group, or the devices may be present near the same
   proximity.  For example, cars traveling on the highway may form a
   "cluster" based upon their temporal physical proximity to one another
   as well as the detection of the same event.  These temporary groups
   are referred to as contexts.  There are two types of contexts: (i)
   long-term quasi-static contexts (i.e., contexts based on social
   contexts as well as stationary physical locations, such as sensors
   inside a car or a building) and (ii) short-term dynamic contexts
   (i.e., contexts based on temporary proximity).  Between these two
   classes, short-term contexts are more challenging to support as they
   require fast formation, update, lookup and association.  Therefore,
   in this draft, our focus will be on the more challenging latter
   class.  In general, IoT applications need to support not only the
   interactions among the members of a context, but also the
   interactions across contexts.

3.7.  Handling Mobility

   There are several degrees of mobility corresponding to different IoT
   scenarios, ranging from static (as in fixed assets) to highly dynamic
   (as in vehicle-to-vehicle environments).  Furthermore, mobility in an
   IoT architecture can refer to: (i) data producer mobility, (ii) data
   consumer mobility, (iii) IoT network mobility (e.g., a body-area
   network in motion as a person is walking), and/or (iv) disconnection
   between a source/destination pair (e.g., due to unreliable wireless
   links).  The requirement on mobility support is to deliver IoT data
   earlier than an application's acceptable delay constraints for all
   the above considered cases, and if necessary, to negotiate different
   connectivity or security constraints specific to each mobile context.
   More detailed discussions on this issue are presented in Section 5.7.

3.8.  Storage and Caching

   Storage and caching plays a very significant role depending on the
   type of IoT ecosystem, which is also a function subjected to privacy
   and security guidelines.  Caching is usually needed to increase data
   availability in the network and for reliability purposes, which is
   especially useful for wireless access scenarios and with devices
   experiencing intermittent connectivity to the infrastructure network.
   Storage is more important for an IoT system, as data is typically
   stored for long term analysis.  Specifically, data is stored at
   strategic locations in the network to reduce control and computation
   related overheads.  Depending on the application requirements,
   caching will strictly be driven by application level policies,
   considering also the privacy requirements.  If, for certain type of
   IoT data, pervasive caching is allowed, then intermediate nodes may
   not need to always forward a content request to its original creator.
   Instead, receiving a cached copy would be sufficient for the IoT



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 15]


Internet-Draft       ICN based Architecture for IoT             May 2019


   applications.  This approach may greatly reduce the content access
   latencies.

   Considering the hierarchical nature of the IoT systems, ICN
   architectures can enable a flexible, heterogeneous, and potentially
   fault-tolerant approach to storage and caching, thereby providing
   contextual persistence at multiple levels.  Within the context of IoT
   and considering the application requirements, while offering
   resolution to replicated stored copies, ICN can efficiently support
   tradeoffs between content security/privacy and regulations.

3.9.  Communication Reliability

   IoT applications can be broadly categorized into mission critical and
   non-mission critical applications.  For mission critical
   applications, reliable communication is one of the most important
   features, as these applications have strong QoS requirements such as
   low latency and low error rates during information transfer.  To
   support the objective of reliable communications, it is essential for
   an underlying system to have the following capabilities: (i) seamless
   mobility support under normal operating conditions, (i) efficient
   routing in the presence of intermittent connection loss, (iii) QoS
   aware routing, (iv) support for redundancy at every system level
   (i.e., device, service, network, storage, etc.), and (v) support for
   rich and diverse communication patterns, both within an IoT domain
   (consisting of multiple IoT nodes and one or more gateway nodes to
   the Internet) and across multiple such domains.

3.10.  Self-Organization

   Considering the scalability and efficiency requirements, the unified
   IoT architecture should be able to self-organize to meet various
   application requirements, e.g., context-driven discovery, which
   refers to the capability to quickly discover heterogeneous and
   relevant local/global devices/data/services based on the context.  A
   publish-subscribe service, or a private trust-driven community
   grouping or clustering scheme, can be used to support this discovery
   process.  For the former case, the publish-subscribe service must be
   implemented in a way to efficiently support seamless mobility using
   techniques such as in-network caching and name-based routing.  For
   the latter case, the IoT architecture should be able to discover the
   private community groups/clusters in a resource efficient way.

   Another aspect of self-organization is the decoupling of the sensing
   infrastructure from the applications.  In a typical IoT deployment,
   various applications run on top of a vast number of IoT devices.  It
   is not an easy task to upgrade the firmware of the IoT devices, and
   it is also not practical to re-program these IoT devices to



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 16]


Internet-Draft       ICN based Architecture for IoT             May 2019


   accommodate every change in these applications.  Therefore,
   infrastructure and application specific logics need to be decoupled,
   and a common interface is required (i) to dynamically configure the
   interactions among the IoT devices and (ii) to easily modify these
   application logics on top of the sensing/actuating infrastructure
   [32] [33].

3.11.  Ad hoc and Infrastructure Mode

   Depending on the presence of a communication infrastructure, an IoT
   system can operate in an ad-hoc mode or an infrastructure mode, (or
   use a combination of two).  For example, a vehicle may determine to
   report its location and status information to a server periodically
   through a cellular connection, or, a group of vehicles may form an
   ad-hoc network that collectively detects the road conditions around
   them.  In cases, where an infrastructure is sparse, one of the
   participating nodes may choose to become a temporary gateway node.

   The unified IoT architecture needs to design a common protocol that
   serves both of these modes.  Such a protocol should address the
   challenges that may arise in them: (i) scalability and low latency
   for the infrastructure mode and (ii) efficient neighbor discovery and
   ad-hoc communication for the ad-hoc mode.  Finally, we note that
   hybrid modes are very common in realistic IoT systems.

3.12.  IoT Platform Management

   Service, control and data planes for an IoT platform will be governed
   by its own management infrastructure, which includes (i) distributed
   and centralized middleware, (ii) discovery, naming, self-configuring,
   and analytic functions, and (iii) information dissemination, to
   achieve the specific IoT system objectives [27][28][29].  Towards
   this, new IoT management mechanisms and service metrics need to be
   developed to measure the success of an IoT deployment.  Considering
   an IoT system's defining characteristics (such as the potential to
   carry a large number of IoT devices, the objective to save power,
   mobility, and ad hoc communications), autonomous self-management
   schemes become very critical.  Furthermore, considering its
   hierarchical information processing deployment model, the platform
   needs to orchestrate computational tasks based on the involved
   sensors and the available computation resources, which may change
   over time.  An efficient resource discovery and management protocol
   is required to facilitate this process.  The trade-off between
   information transmission and processing is another challenge.







Ravindran, Ed., et al.  Expires November 3, 2019               [Page 17]


Internet-Draft       ICN based Architecture for IoT             May 2019


4.  State of the Art

   Over the years, many stand-alone IoT systems have been deployed in
   various domains.  These systems usually adopt a vertical silo
   architecture and support a small set of pre-designated applications.
   A recent trend, however, is to move away from this approach, and
   towards a unified IoT architecture, in which the existing silo IoT
   systems, as well as the new systems that are rapidly deployed, can
   coexist.  Here, a unified architecture refers to the case, where all
   the application and network functions use common APIs and network
   protocols to interact with each other.  This will make their data and
   services accessible to general Internet applications (which is the
   case for ETSI-M2M [3] and oneM2M [4] standards).  In such a unified
   architecture, resources can be accessed over the Internet and shared
   across the physical boundaries of an enterprise.  However, current
   approaches to achieve this objective are mostly based on service
   overlays over the Internet, whose inherent inefficiencies caused by
   the use of the IP protocol [58] hinders the architecture from
   satisfying the IoT requirements outlined earlier, particularly in
   terms of scalability, security, mobility, and self-organization,
   which are discussed in more details in Section 4.2.

4.1.  Silo IoT Architecture


                          [IoT Server]
                               |
                               |
                         ______|_______
    _______             {              }
   {       }            {              }
   {IoT Dev}\           {   Internet   }---[IoT Application]
   {_______}  [IoTGW]---{              }
                        {              }
                        {______________}


      Figure 1:Silo architecture of standalone IoT systems


   A typical standalone IoT system is illustrated in Figure 1, which
   include the devices, applications, gateway and server nodes.  Many
   IoT devices have limited power and computing resources, unable to
   directly run the normal IP-based access network protocols (i.e.,
   Ethernet, WiFi, 3G/LTE, etc.).  Consequently, these devices operate
   over non-IP protocols to connect to the Internet servers using an IoT
   gateway.  Through the IoT server, applications can subscribe to the
   data collected by these devices, or interact with them.



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 18]


Internet-Draft       ICN based Architecture for IoT             May 2019


   There have been quite a few popular protocols for standalone IoT
   systems, such as DF-1, MelsecNet, Honeywell SDS, BACnet, etc.
   However, these protocols are operating at a device-level abstraction,
   rather than an information driven one, leading to a fragmented
   information and protocol space that requires application level
   solutions to achieve interoperability.

4.2.  Application-Layer Unified IoT Solutions

   The current approach to create a unified IoT architecture is to make
   IoT gateways and servers adopt standard APIs.  IoT devices connect to
   the Internet through standard APIs and IoT applications subscribe/
   receive data through standard control/data APIs.  Built on top of
   today's Internet, this application-layer unified IoT architecture is
   the most practical approach towards a unified IoT platform.  Towards
   this, there are ongoing standardization efforts including ETSI[3] and
   oneM2M[4].  IoT service providers can then use such frameworks to
   build common IOT gateways and servers for their customers.  In
   addition, IETF's Constrained RESTful Environments (CORE) working
   group [5] is developing a set of protocols like Constrained
   Application Protocol (CoAP) [81], that is a lightweight protocol
   modeled after HTTP [82] and adapted specifically for the IoT.  CoAP
   adopts the Representational State Transfer (REST) architecture with
   Client-Server interactions.  It uses UDP as the underlying transport
   protocol with reliability and multicast support.  Both CoAP and HTTP
   are considered as the suitable application level protocols for M2M
   communications, as well as for IoT.  For example, oneM2M (which is
   one of the leading standards for a unified M2M architecture) has
   protocol bindings to both HTTP and CoAP for its primitives.  Figure 2
   shows the architecture adopted in this approach.





















Ravindran, Ed., et al.  Expires November 3, 2019               [Page 19]


Internet-Draft       ICN based Architecture for IoT             May 2019


              Publishing----[IoT Server]----Subscribing--
                  |        /    |       \                |
                  |       /     |        \               |
                  |      /______|_______  \              |
 ___________      |     /{              }  publishing    |
{           }     |    | {              }     |          |
{Smart Homes}\    |    | {   Internet   }---------[IoT Application]
{___________}  [IoTGW]---{              }\    |     ________________
                       | {              } \   |    {                }
                       | {______________}  [IoTGW]-{Smart Healthcare}
                       |        |                  {________________}
              Publishing [IoTGW]
                       |    ____|_____
                       |   {          }
                        ---{Smart Grid}
                           {__________}


Figure 2: Implementing an open IoT architecture through standardized APIs
             on the IoT gateways and the server


4.2.1.  Weaknesses of the Application-Layer Approach

   The above application-layer approach can work with many different
   protocols, but the system is built upon today's IP network, which has
   inherent weaknesses towards supporting a unified IoT system.  As a
   result, it cannot satisfy some of the requirements outlined in
   Section 3, and the reasoning for that is explained as follows:

   o  Naming: In current application-layer IoT systems, naming scheme is
      a host-centric one, that is, the name of a given resource/service
      is linked to the device that can provide it.  In turn, device
      names are coupled to the IP addresses, which are not persistent in
      mobile scenarios.  On the other side, in IoT systems, the same
      service/resource can be offered by different devices.

   o  Security and Trust: In IP, security and trust model is based on
      the session established between two hosts.  Session-based
      protocols rely on the exchange of several messages to establish a
      secure session.  Use of such protocols in constrained IoT devices
      can have serious consequences in terms of energy efficiency,
      because transmission and reception of messages are often more
      costly than the cryptographic operations.  This problem may be
      amplified with the number of nodes that a constrained device has
      to interact with, due to increase in both the computation cost and
      the per-session key state managed by the constrained device.
      Furthermore, because of focusing on securing communication



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 20]


Internet-Draft       ICN based Architecture for IoT             May 2019


      channels rather than managing the data that needs to be secured
      directly, current trust management schemes can be considered to be
      relatively weak.

   o  Mobility: The application-layer approach uses IP addresses as
      names at the network layer, which hinders the support for device/
      service mobility or flexible name resolution.  Furthermore, the
      orthogonal Layer 2/3 management, and application-layer addressing
      and forwarding required to deploy current IoT solutions limit the
      scalability and management of these systems.

   o  Resource Constraints: The application-layer approach requires
      every device to send data to an aggregator, to a gateway or to the
      IoT server.  Resource constraints of the IoT devices, especially
      in power and bandwidth, can seriously limit the performance of
      this approach.

   o  Traffic Characteristics: In this approach, applications are
      written in a host-centric manner suitable for point-to-point
      communication.  IoT, however, requires multicast support that is
      challenging for the application-layer based IoT systems today,
      which have only limited deployment in the current Internet.

   o  Contextual Communications: The application-layer based IoT
      approach may not react to dynamic contextual changes in a timely
      fashion.  The main reason is that the context lists are usually
      kept at the IoT server and they cannot help with efficient routing
      of requests at the network layer.

   o  Storage and Caching: The application-layer approach supports
      application-centric storage and caching but not what ICN envisions
      at the network layer, or flexible storage that is enabled via
      name-based routing or lookups.

   o  Self-Organization: As the application-layer approach is bound to
      IP semantics, it is considered as topology-based, and, as a
      result, it cannot sufficiently satisfy the requirement on self-
      organization.  In addition to the topological self-organization,
      IoT also requires self-organization at the data and service levels
      [101], which are also not supported by this approach.

   o  Ad hoc and Infrastructure Mode: As mentioned above, the overlay-
      based approach lacks self-organization and adaptation to dynamic
      topology changes, and, therefore, it cannot provide efficient
      support for the ad hoc mode of communication.






Ravindran, Ed., et al.  Expires November 3, 2019               [Page 21]


Internet-Draft       ICN based Architecture for IoT             May 2019


4.2.2.  Relation to Delay Tolerant Networking (DTN) architecture and its
        suitability for IoT

   In [23][24], delay-tolerant networking (DTN) has been considered to
   support future IoT architectures.  DTN was initially developed to
   support information delivery in the presence of network disruptions
   and disconnections, but it has also been extended to support
   heterogeneous networks and name-based routing.  The DTN Bundle
   Protocol is able to achieve some of these same advantages and could
   be beneficially used in an IoT network to, for example, decouple
   sender and receiver.  The DTN architecture is however centered around
   named endpoints (or endpoint IDs), each of which usually corresponds
   to a host or a service, and is mainly a way to transport data, while
   ICN generalizes this notion to named data, hosts and services and
   offers ways to address IoT application [25] challenges through
   features such as (information) naming, discovery, request and
   dissemination.  However, endpoint IDs can also be used to identify
   named content, enabling the use of the bundle protocol as a transport
   mechanism for an information-centric system.  Such a use of the
   bundle protocol as a transport would still require other components
   from an ICN architecture such as naming conventions.  However, since
   the exact transport is not a major focus of the issues addressed by
   this draft, most of the provided discussions are applicable to a
   generic ICN architecture.

5.  ICN Design Considerations for IoT

   This section outlines some of the ICN specific design considerations
   and challenges that must be considered when adopting an ICN design
   for IoT applications and systems, and describes some of the trade-
   offs involved to support large scale IoT deployments with diverse
   application requirements.

   Though ICN integrates (i) abstractions at the content, service, and
   host levels, (ii) name-based routing, and (iii) computation, caching,
   and storage as part of the network infrastructure, IoT requires
   special considerations given the heterogeneity of devices and
   interfaces such as for constrained networking [63][123][125], data
   processing, and content distribution models to meet specific
   application requirements, which we identify as challenges in this
   section.

5.1.  Naming Devices, Data, and Services

   Even though the ICN approach of named data and services (i.e., device
   independent naming) is typically desirable when retrieving IoT data,
   such data-centric naming may also pose certain challenges.




Ravindran, Ed., et al.  Expires November 3, 2019               [Page 22]


Internet-Draft       ICN based Architecture for IoT             May 2019


   o  Naming of devices: Naming devices [127] [128]can be useful in an
      IoT system.  For example, actuators may require clients to act on
      a specific node of the deployed network (to switch it on or off),
      or it could be necessary to access a particular device for
      administration purposes.  This can only be achieved through a
      specific name that uniquely identifies the targeted network
      entity.  Moreover, a persistent name allows a device to change its
      attachment point without loosing its identity.  A friendly way to
      address a device is to use a contextual hierarchical name, which
      is of the same type as one that is used for data objects.  Also
      note that, through disabling of caching and request aggregation on
      names associated with a device, it is possible to ensure that the
      requests targeting that device always reach the device.

   o  Size of data/service name: Content names can have variable
      lengths.  Since each name has to uniquely identify the content and
      can also include self-certifying properties (e.g., the hash of the
      content is bound to the name), their lengths can be quite long in
      relation to the size of the content itself.  In particular, for
      specific application, content name size can even exceed the Data
      size.  This can be the case for IoT networks with sensed values
      that usually consist only of a few bytes (i.e., data can be as
      small as a short integer in case of temperature values, or one-
      byte in case of control messages corresponding to an actuator
      state as on/off).  Moreover, a name that is too long is likely to
      trigger fragmentation at the link layer, and create additional
      problems (i.e., several transmissions, increased delay and
      security issues).  Various approaches have been investigated to
      handle fragmentation and reassembly issues associated with ICN
      packets.  For instance, the work in [109] proposes to perform hop-
      by-hop operations, i.e., each hop fragments the packet that has to
      be forwarded and reassembles the packet received for further
      processing.  This mechanism allows to efficiently handle the
      recovery of lost or corrupted fragments locally, thereby reducing
      packet delivery failures that require application-level
      retransmissions.

   o  Hash-based content name: Hash algorithms are commonly used to name
      content, in order to verify that the received content is the one
      requested.  This is only possible in contexts, where the requested
      object already exists, and where there is a directory service to
      look up names or the names are learned through a manifest service.
      This approach is suitable for systems with large sized data
      objects, where it is important to verify the content.

   o  Hierarchical names: The use of hierarchical names, as is the case
      with the CCN and NDN architectures, makes it easier to create
      names a priori based on a predefined naming convention.  It also



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 23]


Internet-Draft       ICN based Architecture for IoT             May 2019


      provides a convenient way to use the same naming scheme for device
      names.  However, since names are not self-certifying, this will
      require other mechanisms for verification of object integrity.  If
      routing is also performed on the hierarchical names, the system
      will lose some of its location independence and caching will
      mostly be done on the path towards the publisher.

   o  Semantic and metadata-based content name: A semantic-based naming
      approach can allow for successful retrieval of name through a set
      of keywords (for example, 'noise level at position X'), even if a
      perfect matching of the name is not available [65].  Moreover,
      enriching contents with metadata allows to better describe the
      names and to establish association between similar ones.  However,
      this mechanism requires more advanced functionality to match such
      metadata in the data object to the semantics of the name (e.g.,
      comparing the position information of an object with the position
      information of the requested name).  The need for such
      (potentially) computationally heavy tasks at the intermediate
      nodes in the network may be considered to understand the trade-
      offs between application and network performance. [64] proposes a
      metadata-based naming approach to support ICN-IoT networking with
      service function identification and processing of IoT data at some
      vantage points in the local IoT network, before returning the
      processed result to the consumers.

   o  Naming of services: Similar to naming of devices or data, services
      can also be referred to with a unique identifier, provided by a
      specific device or by an authorized entity (i.e., someone assigned
      by a central authority as the service provider).  It can also be a
      service provided by anyone meeting certain metadata conditions.
      Example of services may include content retrieval, which takes a
      content name or description as an input and returns the value of
      that content, and actuation, which takes an actuation command as
      an input and possibly returns a status code.

   o  Trust: Names can be used to verify the authenticity and the
      integrity of the data.  Multiple approaches can be used to provide
      security functionalities through names.  For instance,
      hierarchical, schematized, Web-of-Trust models can enable public
      key verification, whereas self-certifying names can enable in-
      network integrity checks of the name-key or name-content binding
      without the need of a Public Key Infrastructure (PKI) or another
      third party to establish whether the key is trustworthy or not.
      This can be realized either directly or indirectly.  In the former
      case, the hash of the content is bound to the name.  In the latter
      case, first, the hash of the content is signed with the secret key
      of the publisher, and then the public key of the publisher and the
      signed hash are bound to the name [46].  The hash algorithm can be



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 24]


Internet-Draft       ICN based Architecture for IoT             May 2019


      applied to the already existing contents and where there is a
      directory service or manifest to look up names.  In case of yet-
      to-be-published but on-demand generated contents, the hash cannot
      be known a-priori, hence different trust mechanisms should be
      investigated.  Furthermore, self-certified naming approach can
      hide the content semantics, thus making names less human friendly.
      Since trends show that users prefer to find contents through a
      search engine using keywords, having non-human-friendly names can
      be a barrier, unless the content is enriched with keywords.
      However, this problem does not concern M2M applications, as human-
      readable names may not be useful in the context of just
      communicating machines.

   o  Flexibility: Further challenges may arise for the hierarchical
      naming schema, associated with the requirements on "constructible
      names" and "on-demand publishing" [37][38].  The former entails
      that each user is able to construct the name of a desired data
      item through specific algorithms and that it is possible to
      retrieve information using partially specified names.  The latter
      refers to the possibility of requesting a not-yet-published
      content, thereby triggering its creation.

   o  Scoping: From an application's point of view, scopes are used to
      gather related data, whereas from the network's perspective,
      scopes are used to mark where the content is available [68].  For
      instance, nodes that are involved with caching coordination can
      vary according to scope [69].  As a result, scoping can be used
      (i) to limit propagation of requests, thereby improving resource
      usage efficiency by reducing bandwidth and energy consumption, and
      (ii) to control content dissemination thanks to access control
      rules, which can be different for each scope [67].  Note that,
      relying on scoping for security/privacy has been shown to not work
      all that well for IP, and is unlikely to work well for ICN either.
      However, scoping may be useful in certain scenarios, for instance,
      to limit propagation of requests and provide a simple means to
      attain context-sensitive communications.  Finally, perimeter- and
      channel-based access control is often violated by the current
      networks to enable over-the-wire updates and cloud-based services,
      so scoping is unlikely to replace a need for data-centric security
      in ICN.

   o  Confidentiality: As names can reveal information about the nature
      of the communication (which may also violate the privacy
      requirements), mechanisms for name confidentiality should be
      available in the ICN-IoT architecture.  To grant confidentiality
      protection, some approaches have been proposed in order to handle
      access control in an ICN naming scheme such as Attribute-Based
      Encryption [66] and access control delegation [67].  In the first



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 25]


Internet-Draft       ICN based Architecture for IoT             May 2019


      solution, a trusted third party assigns a set of attributes to
      each network entity.  Then, a publisher performs the following
      operations in order: (i) encrypting the data with a random key,
      (ii) generating the metadata for the decryption phase, (iii)
      creating an access policy that is used to encrypt the random key,
      and (iv) appending the encrypted key to the content name.  When
      the consumer receives the packet, if its attributes satisfy the
      hidden policy in the name, it can get the random key protected in
      the name and decrypt the data.  The second solution introduces a
      new trusted network entity (i.e., Access Control Provide).  In
      this case, when a publisher generates a content, it also creates
      an access control policy and send it to an Access Control
      Provider.  This network entity stores the access control policy,
      to which it associates a Uniform Resource Identifier (URI).  This
      URI is sent to the publisher and included in the advertisements of
      the content.  Then, when a subscriber tries to access a protected
      content, it can authenticate himself and request authorization for
      the particular policy to the Access Control Provider through the
      URI.

5.2.  Name Resolution

   Inter-connecting numerous IoT entities, as well as establishing
   reachability to them, requires a scalable name resolution system
   considering several dynamic factors like mobility of end points,
   service replication, in-network caching, failure or migration [59]
   [72] [73] [95].  The objective is to achieve scalable name resolution
   handling static and dynamic ICN entities with low complexity and
   control overhead.  In particular, the main requirements/challenges of
   a name space (and the corresponding Name Resolution System where
   necessary) are [52] [54]:

   o  Scalability: The first challenge faced by ICN-IoT name resolution
      system is its scalability.  Firstly, the approach has to support
      billions of objects and devices that are connected to the
      Internet, many of which are crossing administrative domain
      boundaries.  Second of all, in addition to objects/devices, the
      name resolution system is also responsible for mapping IoT
      services to their network addresses.  Many of these services are
      based upon contexts, hence dynamically changing, as pointed out in
      [59].  As a result, the name resolution should be able to scale
      gracefully to cover a large number of names/services with wide
      variations (e.g., hierarchical names, flat names, names with
      limited scope, etc.).  Notice that, if hierarchical names are
      used, scalability can be also supported by leveraging the inherent
      aggregation capabilities of the hierarchy.  Advanced techniques
      such as hyperbolic routing [89] may offer further scalability and
      efficiency.



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 26]


Internet-Draft       ICN based Architecture for IoT             May 2019


   o  Deployability and inter-operability: Graceful deployability and
      interoperability with existing platforms is a must to ensure a
      naming schema to gain success on the market [7].  As a matter of
      fact, besides the need to ensure coexistence between IP-centric
      and ICN-IoT systems, it is required to make different ICN-IoT
      realms, each one based on a different ICN architecture, to inter-
      operate.

   o  Latency: For real-time or delay sensitive M2M application, the
      name resolution should not affect the overall QoS.  With reference
      to this issue it becomes important to circumvent too centralized
      resolution schema (whatever the naming style, i.e, hierarchical or
      flat) by enforcing in-network cooperation among the different
      entities of the ICN-IoT system, when possible [99].  In addition,
      fast name lookup are necessary to ensure soft/hard real time
      services [110][111][112].  This challenge is especially important
      for applications with stringent latency requirements, such as
      health monitoring, emergency handling and smart transportation
      [113].

   o  Locality and network efficiency: During name resolution the named
      entities closer to the consumer should be easily accessible
      (subject to the application requirements).  This requirement is
      true in general because, whatever the network, if the edges are
      able to satisfy the requests of their consumers, the load of the
      core and content seek time decrease, and the overall system
      scalability is improved.  This facet gains further relevance in
      those domains where an actuation on the environment has to be
      executed, based on the feedbacks of the ICN-IoT system, such as in
      robotics applications, smart grids, and industrial plants [101].

   o  Agility: Some data items could disappear while some other ones are
      created so that the name resolution system should be able to
      effectively take care of these dynamic conditions.  In particular,
      this challenge applies to very dynamic scenarios (e.g., VANETs) in
      which data items can be tightly coupled to nodes that can appear
      and disappear very frequently.

5.3.  Security and Privacy

   Security and privacy is crucial to all the IoT applications including
   the use cases discussed in Section 2 and subjected to the information
   context.  To exemplify this, in one recent demonstration, it was
   shown that passive tire pressure sensors in cars could be hacked
   adversely affecting the automotive system [77], while at the same
   time this and other car information can be used by a public traffic
   management system to improve road safety.  The ICN paradigm is
   information-centric as opposed to state-of-the-art host-centric



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 27]


Internet-Draft       ICN based Architecture for IoT             May 2019


   Internet.  Besides aspects like naming, content retrieval and caching
   this also has security implications.  ICN advocates the model of
   trust in content rather than a direct trust in network host mode.
   This brings in the concept of Object Security which is contrary to
   session-based security mechanisms such as Transport Layer Security
   (TLS)/Datagram Transport Layer Security (DTLS) prevalent in the
   current host-centric Internet.  Object Security is based on the idea
   of securing information objects unlike session-based security
   mechanisms which secure the communication channel between a pair of
   nodes for unicast, (or among a set of nodes for multicast/broadcast).
   This reinforces an inherent characteristic of ICN networks i.e. to
   decouple senders and receivers.  Even session based trust association
   can be realized in ICN [86], that offers host-independence allowing
   authentication and authorization to be separated from session
   encryption, allowing multiple end points to meet specific service
   objectives.  In the context of IoT, the Object Security model has
   several concrete advantages.  Many IoT applications have as its main
   objective generating data and providing some services, while the
   communication between two devices is a secondary task.  Therefore, it
   makes more sense to secure IoT objects instead of securing the
   session between communicating endpoints.  Though ICN includes data-
   centric security features the mechanisms have to be generic enough to
   satisfy multiplicity of policy requirements for different
   applications.  Furthermore security and privacy concerns have to be
   dealt in a scenario-specific manner with respect to network function
   perspective spanning naming, name-resolution, routing, caching, and
   ICN-APIs.  The work by the JOSE WG [83] provides solution approaches
   to address some of these concerns for object security for constrained
   devices and should be considered to see what can be applied to an ICN
   architecture.  In general, we feel that security and privacy
   protection in IoT systems should mainly focus on the following
   aspects: confidentiality, integrity, authentication and non-
   repudiation, and availability.  Even though, implementing security
   and privacy methods in IOT systems faces different challenges than in
   other systems, like IP.  Specifically, below we discuss the
   challenges in the constrained and infrastructure part of the network.

   o  In resource-constrained nodes, energy limitation is the biggest
      challenge.  Moreover, a node it has to deliver its data over a
      wireless link for a reasonable period of time on a coin cell
      battery.  As a result, traditional security/privacy measures are
      impractical to be implemented in the constrained part.  In this
      case, one possible solution might be utilizing the physical
      wireless signals as security measures [78] [57].

   o  In the infrastructure part, we have several new threats introduced
      by ICN-IoT [88] particularly in architectures employing name




Ravindran, Ed., et al.  Expires November 3, 2019               [Page 28]


Internet-Draft       ICN based Architecture for IoT             May 2019


      resolution service [123].  Below we list several possible attacks
      to a name resolution service that is critical to ICN-IoT:

      1.  Each IoT device is given an ICN name.  The name spoofing
          attack is a masquerading threat, where a malicious user A
          claims another user B's name and attempts to associate it with
          A's own network address NA-A, by announcing the mapping (ID-B,
          NA-A).  The consequence of this attack is a denial of service
          as it can cause traffic directed for B to be directed to A's
          network address.

      2.  The stale mapping attack is a message manipulation attack
          involving a malicious name resolution server.  In this attack,
          if a device moves and issues an update, the malicious name
          resolution server can purposely ignore the update and claim it
          still has the most recent mapping.  Perhaps worse, a name
          resolution server can selectively choose which (possibly
          stale) mapping to give out during queries.  The result is a
          denial of service.

      3.  The third potential attack, false announcement attack, is an
          information modification attack that results in illegitimate
          resource consumption.  User A, which is in network NA1, claims
          its ID-A binds to a different network address, (ID-A, NA2).
          Thus A can direct its traffic to network NA2, which causes
          NA2's network resources to be consumed.

      4.  The collusion attack is an example of an information
          modification attack in which a malicious user, its network and
          the location where the mapping is stored collude with each
          other.  The objective behind the malicious collusion is to
          allow for a fake mapping involving a false network address to
          pass the verification and become be stored in the storage
          place.

      5.  An intruder may insert fake/false sensor data into the
          network.  The consequence might be an increase in delay and
          performance degradation for network services and applications.

   o  IoT data is collected and stored on such servers, which usually
      run learning algorithms to extract patterns from such data.  In
      this case, it is important to adopt a framework that enables
      privacy-preserving learning techniques.  The framework defines how
      data is collected, modified (to satisfy the privacy requirement),
      and transmitted to application developers.






Ravindran, Ed., et al.  Expires November 3, 2019               [Page 29]


Internet-Draft       ICN based Architecture for IoT             May 2019


5.4.  Caching

   In-network caching helps bring data closer to the consumers, but its
   usage differs in constrained and infrastructure parts of the IoT
   network.  Furthermore, caching in ICN-IoT faces several challenges:

   o  Which nodes on the routing path should cache the data: According
      to [54], caching the data on a subset of nodes can achieve a
      better gain than caching it on every en-route routers.  In
      particular, the authors propose a "selective caching" scheme to
      locate those routers with better hit probabilities to cache data.
      According to [55], selecting a random router to cache data is as
      good as caching the content everywhere.  In [91], the authors
      suggest that edge caching provides most of the benefits of in-
      network caching but with simpler deployment.  However, the
      existing research on this topic typically consider workloads that
      are analogous to today's CDNs, rather than the workload that can
      be attributed to IoT applications considered here.  Therefore,
      further work is needed to understand the appropriate caching
      approach for IoT applications.

   o  What to cache for the IoT applications: In many IoT applications,
      customers often access a stream of sensor data, and as a result,
      caching a particular sensor data for longer periods may not be
      beneficial.  In [93], a caching scheme is proposed to ensure that
      older instances of the same sensor stream were first to be evicted
      from the cache when needed.  In [57], the authors suggest to cache
      IoT services at the intermediate routers, and in [59], the authors
      suggest to cache the control information such as pub/sub lists at
      the intermediate nodes.  In addition, it is not yet clear what
      caching means in the context of actuation in an IoT system.  For
      example, it could mean caching the result of a previous actuation
      request (using other ICN mechanisms to suppress the repeated
      actuation requests within a given time period), or it could have
      little meaning at all if the actuation uses authenticated requests
      as in [92].

   o  Efficiency of distributed caching may be application dependent:
      When content popularity is heterogeneous, some content is often
      requested repeatedly.  In this case, the network can definitely
      benefit from caching.  Another case where caching would be
      beneficial is when devices with low duty cycle are present in the
      network and when the access to the cloud infrastructure is
      limited.  In [93], it is also shown that there are benefits to
      caching in the network when edge links are lossy, in particular if
      the losses occur close to the content producer, as is common for
      the wireless IoT networks.  Furthermore, IoT devices can
      collaborate to cache content in a manner that optimizes energy



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 30]


Internet-Draft       ICN based Architecture for IoT             May 2019


      efficiency and content availability [94].  However, using
      distributed caching mechanisms in the network is not useful when
      each object is only requested at most once, as a cache hit can
      only occur for the second and subsequent requests.  It may also be
      less beneficial to have caches distributed throughout the ICN
      network, especially in cases when there are overlays of
      distributed repositories, e.g., a cloud or a Content Distribution
      Network (CDN), from which all clients can retrieve the data.
      Using ICN to retrieve data from such services may add some
      efficiency, but in case of dense occurrence of overlay CDN servers
      the additional benefit of caching in ICN nodes would be lower.
      Another example is when the name refers to an object with dynamic
      content/state.  For example, when the last value for a sensor
      reading is requested or desired, the returned data may change any
      time the sensor reading is updated.  In such case, in-network
      caching may increase the risk of returning old or stale data.

5.5.  Storage

   Storage is useful for IoT systems regardless of its type, be it as a
   long-term storage or as a short-term storage.

   In the case of long-term in-network storage, resources can be
   distributed among vantage points, which include the network edge and
   the main IoT service aggregation points such as in the data centers.
   The main differences, in regards to IoT-driven storage, between the
   two locations are the size of data, processing intelligence and
   heterogeneity of information that has to be dealt at these locations.
   Specifically, the purpose of long term storage at the edge is to
   analyze, filter, aggregate, and re-publish IoT data for consumption
   either by the parent service components or directly by the consumers.
   At the aggregation service points, the purpose is to re-publish the
   data that will be presented as part of the global pub/sub service to
   the interested consumers.  Long term storage for IoT data also serves
   the purpose of backup and replication of data, which come with
   additional caveats.  First, we need to decide on the number of
   replicas needed for each IoT data stream, and the storage locations
   for these replicas.  Also note that, given that many IoT applications
   consume data locally, storage locations should be kept near the data
   sources.  However, since IoT data is mostly appended to the end of a
   stream, instead of being updated, it becomes easier to manage these
   multiple replicas.  Second, we need to adopt a mechanism that can
   efficiently route traffic to the nearest data replica.  ICN provides
   several solutions to this problem, e.g., global name resolution
   service (GNRS), which can keep track of each replica's location [58].

   In the case of short-term in-network storage (where the term storage
   refers to a temporary buffer, when an outgoing link is not



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 31]


Internet-Draft       ICN based Architecture for IoT             May 2019


   available), the objective is to improve communication reliability,
   especially when network links are unreliable, such as wireless links.
   ICN-IoT can adopt a generalized storage-aware routing algorithm to
   support delay and disruption tolerant packet forwarding.  In such
   case, each router can employ the in-network storage to facilitate
   store vs. forward decisions in response to varying link conditions
   and potential network interruptions [115].  These decisions can be
   based on both short-term and long-term path quality metrics.
   Additionally, packets along disconnected paths can be handled using a
   disruption tolerant networking (DTN) based approach to offer delayed
   delivery and replication features.  In particular, each router
   maintains two types of topology information: (i) an intra-partition
   graph that is formed by collecting flooded link state advertisements,
   which carry fine-grained, time-sensitive information about the intra-
   network links, and (ii) a DTN graph that is maintained via
   epidemically disseminated link-state advertisements, which carry
   connection probabilities among all the network nodes.  However, for
   this scenario, we observe the following challenges: (i) when and how
   long to store the data, and (ii) the next step after the short-term
   storage.  In [93] the authors show that it is beneficial to store
   data even for shorter periods of time (and even if only a single
   requester exist), if the network is lossy such that retransmissions
   and error recovery can be done locally instead of end-to-end.

5.6.  Routing and Forwarding

   ICN-IoT supports both device-to-device (D2D) and device-to-
   infrastructure (D2I) communications.  D2D communications may occur
   within a single IoT domain, or across IoT domains, and may involve
   data forwarding within the source IoT domain, in the infrastructure
   network, and within the destination IoT domain.  D2I communications
   involve data forwarding within the source IoT domain and in the
   infrastructure network.  Data forwarding within an IoT domain can
   adopt routing protocols such as RPL [84], AODV[85], etc, with the
   main challenge being the resource constraints of the IoT nodes.  In
   order to address this challenge, we can adopt a light-weight protocol
   using much shorter ICN names for each communicating party within an
   IoT domain (see Section 5.12 for details).  In such case, before a
   packet leaves the IoT domain, gateway node translates this short ICN
   name associated with the source device to its original ICN name.

   At the ICN infrastructure, data forwarding can adopt one of two
   approaches: (i) direct name-based routing or (ii) indirect name
   resolution service (NRS) driven routing.

   o  In direct name-based routing, packets are forwarded using the name
      corresponding to either the data itself [95][63][74] or the name
      of the destination node [75].  Here, the main challenge is to keep



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 32]


Internet-Draft       ICN based Architecture for IoT             May 2019


      the state information required for data routing/forwarding at the
      ICN router small.  This can become an especially challenging
      issue, if the architecture uses a flat naming scheme due to lack
      of aggregation capabilities.

   o  In indirect routing, packets are forwarded based on the locator of
      the destination node, which is obtained through a name resolution
      service.  Here, name-locator binding can be done either before
      routing (i.e., assuming static binding) or during routing (i.e.,
      assuming dynamic binding).  In the case of static binding, router
      state is the same as that in traditional routers, and the main
      challenge is to perform name resolution fast, especially with
      mobile IoT devices.  In the case of dynamic binding, ICN routers
      need to maintain a name-based routing table, and the challenge
      becomes keeping the state information small, while at the same
      time performing fast name resolution.

5.7.  Mobility Management

   Considering the diversity of IoT applications, mobility scenarios
   range from tracking sensor data from mobile human beings to large
   fleets of diverse mobile elements such as drones, vehicles, trucks,
   trains (each of which may be associated with a transport
   infrastructure).  These mobility scenarios can take place over
   heterogeneous access infrastructure that ranges from short range
   802.15.4 communications to cellular radios.  It is therefore expected
   that handling information delivery in an ad hoc setting, which
   involves vehicles, road side units (RSU), and the corresponding
   infrastructure based services, shall offer more challenges.  ICN
   architectures have been generally shown to handle consumer and
   producer mobility scenarios efficiently [61][129], and to be suitable
   for V2V scenarios [62].  Networking tools to handle mobility varies
   based on application requirements, which vary from delay and loss
   tolerant to mission critical (with stringent delay and loss
   requirements).

   Therefore, the challenge becomes to quantify the cost associated with
   mobility management in both the control and the forwarding planes, to
   handle both static binding and dynamic binding (which enables
   seamless mobility) of a named resource to its location when either or
   both of consumer and/or producer is mobile.

   During a network transaction, either the producer or the consumer may
   move away, and thus we need mechanisms that can handle the mobility
   of either or both to avoid information loss.  ICN differentiates the
   mobility of a consumer (Case I) from that of a producer (Case II):





Ravindran, Ed., et al.  Expires November 3, 2019               [Page 33]


Internet-Draft       ICN based Architecture for IoT             May 2019


   o  Case I: When a consumer moves to a new location after sending out
      a request for data, the data may traverse the path towards the
      previous point of attachment (PoA), and in doing so, leaving
      copies of it along that path.  The data can then be retrieved by
      the consumer by simply reissuing its request for the data, which
      is a technique used by the direct routing approach.  Conversely,
      indirect routing approach does not differentiate between consumer
      and producer mobility [95], as the indirect routing approach only
      requires an update on the NRS, which can then update the routers
      to re-bind the named resource to its new location, while using
      late-binding to route the packet from the previous PoA to the new
      one.

   o  Case II: In the case of a producer that has moved, the challenge
      becomes managing the control overhead while searching for a new
      data producer (or for re-locating the initial producer) [60].  For
      this purpose, flooding techniques can be used to re-discover the
      producer, or direct routing techniques can be employed after
      enhancing them with the late-binding feature that enables seamless
      mobility [61].

5.8.  Contextual Communication

   ICN enables contextualized communications by allowing metadata to be
   included within control or application payload.  Doing so can help
   IoT applications to adapt to different environments, thereby enabling
   intelligent networks that are self-configurable and intelligent
   networking among consumers and producers [57].  For example, let us
   look at the following smart transportation scenario: "James walks on
   an NYC street and wants to find an empty taxi closest to his
   location."  In this example, the context is the location information
   corresponding to James and the taxi drivers.  A context service, as
   an IoT middleware, processes the contextual information and bridges
   the gap between raw sensor information and application requirements.
   Alternatively, we can use naming conventions that allow applications
   to request content in namespaces related to their local context
   without requiring a specific service, such as /local/geo/
   mgrs/4QFJ/123/678 to retrieve objects published within a 100m grid
   area of 4QFJ 123 678 based on the military grid reference system
   (MGRS).  In both cases, trust providers may emerge that can vouch for
   an application's local knowledge.

   However, extracting contextual information on a real-time basis can
   become very challenging:

   o  First, we need to have a fast context resolution service, through
      which the subscribed IoT devices can continuously update their
      contextual information to the application (e.g., for the example



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 34]


Internet-Draft       ICN based Architecture for IoT             May 2019


      above, that would be the locations of James and the taxis).  Or,
      in the case of a namespace driven approach, we need to have
      mechanisms that can query the nearest neighbor based on a given
      namespace on a continual basis.

   o  The difficulty of this challenge grows rapidly as the number of
      involved devices as well as the number of contexts increase.

5.9.  In-network Computing

   In-network computing enables ICN routers to host heterogeneous
   services catering to various network functions and applications
   needs.  Contextual services for IoT networks require in-network
   computing, with each sensor node or ICN router implementing context
   reasoning [57].  Another major target for in-network computing is to
   filter (and cleanse) the sensed data for IoT applications, as the
   sensed data can be noisy [76].

   Within this framework, Named Function Networking (NFN) [117] is
   proposed as an extension of the ICN concept to named functions, which
   are processed in the network, and which can be used to generate data
   flow processing applications (for instance, one that is well-suited
   to time series data processing by IoT sensing applications).  Related
   to this is the need to support efficient function naming, with
   functions, input parameters, and the output result can all be
   encapsulated within the packet header, the packet body, or a mixture
   of the two (e.g. [33]).  If functions are encapsulated within the
   packet header, naming scheme can impact (i) how a computation task is
   routed within the network, (ii) which IoT devices are involved with
   the computation task (e.g. [56]), and (iii) how a name is decomposed
   into smaller computation tasks and deployed in the network to achieve
   better performance.

   Another challenge is related to how to support compute-aware routing.
   Default routing is typically used for forwarding requests towards the
   nearest cache (or source/repository) and return the matching data to
   the requester.  Compute-aware routing, on the other hand, has a
   different purpose.  For instance, if the computation task is for
   aggregating the sensed data, then the routing strategy becomes
   routing the data to achieve a better aggregation performance [53].

   In-network computing also includes synchronization challenges.  Some
   computation tasks, for instance, may need synchronization among sub-
   tasks or IoT devices.  For instance, a device may not send the
   generated data as soon as it is available, because waiting for data
   from the neighbouring devices can lead to better aggregation
   performance.  Or, some devices may choose to sleep to save energy,
   while waiting for the results from the neighbours.  Furthermore,



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 35]


Internet-Draft       ICN based Architecture for IoT             May 2019


   while aggregating the computation results along the path,
   intermediate IoT devices may need to choose the results generated
   within a certain time window.

5.10.  Self-Organization

   General IoT deployments involve heterogeneous IoT systems that
   consist of embedded systems, aggregators and service gateways in an
   IoT domain.  To scale the IoT deployments to a large scale, scope-
   based self-organization is typically required.  This specifically
   relates to the IoT system middleware functions [122] that include (i)
   device bootstrapping and discovery, (ii) assigning local/global names
   to device and/or content, and (iii) security and trust management
   functions towards device authentication and data privacy.  ICN based
   on-boarding protocols have been studied [100] and has been shown to
   offer significant savings compared to the existing approaches.  These
   challenges span both the constrained devices as well as the
   interactions among the aggregators and the service gateways, which
   may need to contact external services like the authentication servers
   to on-board these devices.  A critical performance optimization
   metric for these functions, while operating at scale, is to have low
   control/data overhead in order to maximize the energy efficiency.
   Furthermore, within the infrastructure part of the network, scalable
   name-based resolution mechanisms, pub/sub services, storage and
   caching, and in-network computing techniques should be studied to
   meet the scope-based content dissemination needs of an ICN-IoT
   system.

5.11.  Communications Reliability

   ICN offers many ingredients for reliable communication, such as
   multi-home interest anycast over heterogeneous interfaces, caching,
   and forwarding intelligence for multi-path routing that leverage
   state-based forwarding in protocols like CCN/NDN.  However, these
   features have not been analyzed from the QoS perspective, when
   heterogeneous traffic patterns are multiplexed at a router.  In
   general, QoS for ICN is an open area of research [125].  In-network
   reliability comes at the cost of a complex network layer, hence a
   research challenge here is to build redundancy and reliability at the
   network layer to handle a wide range of disruption scenarios, such as
   congestion, short/long term connection loss, or wireless impairments
   along the last mile.  An ICN network should allow features such as
   opportunistic store-and-forward mechanisms to be enabled only at
   certain points in the network, as these mechanisms entail additional
   control/forwarding plane overheads that can adversely affect the
   application throughput.  For additional details, see Section 5.5, for
   the discussion on in-network storage.




Ravindran, Ed., et al.  Expires November 3, 2019               [Page 36]


Internet-Draft       ICN based Architecture for IoT             May 2019


5.12.  Resource Constraints and Heterogeneity

   An IoT architecture should take into consideration the resource
   constraints of the often embedded IoT nodes.  Having globally unique
   IDs (GUID in short) is a key feature in ICN, and these IDs may
   consist of tens of bytes.  Each device would then have a persistent
   and unique ID no matter when and where it moves.  It is also
   important for ICN-IoT to keep this feature.  However, always carrying
   the long ID in the packet header may not be always feasible, for
   instance, for transmissions over a low-rate layer-2 protocol such as
   802.15.4.  To solve this issue, ICN can operate using a lighter-
   weight packet header and a much shorter locally unique ID (LUID in
   short).  In this way, we can map a device's long GUID to its short
   LUID when the packet targeting the device reaches the local area IoT
   domain.  To cope with collisions that may occur with this mapping
   process, we let each domain to have its own GUID-to-LUID mapping
   scheme, which can be managed by a gateway deployed at the edge of the
   domain.  Different from NAT and other existing domain- or gateway-
   based solutions, ICN-IoT does not change the identity of an
   application.  The applications, either on the constrained IoT devices
   or on the infrastructure nodes, continue to use the long GUIDs to
   identify one another, while the network performs the translation,
   which is transparent to these applications.  An IoT node carries its
   GUID no matter where it moves, even when it is relocated to another
   local IoT domain and assigned a new LUID.  This ensures the global
   reachability under mobility, while taking into consideration the
   resource constraints of the embedded devices.

   In addition, optimizations for the other components of the ICN-IoT
   system (described in earlier subsections) can lead to optimization of
   the energy consumption as well.

6.  Differences from T2TRG

   Thing-to-Thing Research Group (T2TRG) [9] is an IoT research group
   under IRTF, which focuses on the research challenges of realizing IoT
   solutions assuming IP as the narrow waist.  As IP-IoT has been a
   research topic for over a decade and with active industry solutions,
   this group provides a venue to study the advanced issues related to
   its security, provisioning, configuration and inter-operability
   considering the various heterogeneous application environments.  ICN-
   IoT, on the other hand, is a recent research effort, where the
   objective is to exploit the ICN features of name based routing and
   security, caching, multicasting, mobility, etc. in an end-to-end
   manner to enable IoT services spanning all kind of networking
   scenarios, i.e., ad hoc, infrastructure, and hybrid scenarios.  More
   detailed comparison of IP-IoT versus ICN-IoT is presented in
   Section 4.



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 37]


Internet-Draft       ICN based Architecture for IoT             May 2019


7.  Security Considerations

   ICN puts security in the forefront of its design, which the ICN-IoT
   designs can leverage to build applications with varying security
   requirements.  This issue has been discussed quite elaborately in
   this draft.  However, as this is an informational draft and it does
   not create new considerations beyond what has been discussed.

8.  Conclusions

   This draft offers a comprehensive view of the benefits and design
   challenges of using ICN to deliver IoT services, not only because of
   its suitability for constraint networks but also for ad hoc and
   infrastructure environments.  The draft begins by motivating the need
   for ICN-IoT by considering popular IoT scenarios and then delves into
   understanding the IoT requirements from both application and
   networking perspectives.  We then discuss why the current IP-based
   application layer unified IoT solutions fall short of meeting these
   requirements, and how an ICN architecture is more suitable towards
   addressing the IoT service needs.  We then elaborate on the design
   challenges in realizing an ICN-IoT architecture at scale and one that
   offers reliability, security, energy efficiency, mobility, self-
   organization among others to accommodate these varying IoT service
   needs.

9.  Acknowledgements

   We thank all the contributors, reviewers and the valuable comments
   offered by the chairs to improve this draft.

10.  Informative References

   [1]        Cisco System Inc., CISCO., "Cisco visual networking index:
              Global mobile data traffic forecast update.", 2016-2021.

   [2]        Shafig, M., Ji, L., Liu, A., Pang, J., and J.  Wang, "A
              first look at cellular machine-to-machine traffic: large
              scale measurement and characterization.", Proceedings of
              the ACM Sigmetrics , 2012.

   [3]        The European Telecommunications Standards Institute,
              ETSI., "http://www.etsi.org/.", 1988.

   [4]        Global Intiative for M2M Standardization, oneM2M.,
              "http://www.onem2m.org/.", 2012.

   [5]        Constrained RESTful Environments, CoRE.,
              "https://datatracker.ietf.org/wg/core/charter/.", 2013.



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 38]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [6]        Ghodsi, A., Shenker, S., Koponen, T., Singla, A.,
              Raghavan, B., and J. Wilcox, "Information-Centric
              Networking: Seeing the Forest of the Trees.", Hot Topics
              in Networking , 2011.

   [7]        Dong, L., Zhang, Y., and D. Raychaudhuri, "Enhance Content
              Broadcast Efficiency in Routers with Integrated Caching.",
              Proceedings of the IEEE Symposium on Computers and
              Communications (ISCC) , 2011.

   [8]        NSF FIA project, MobilityFirst.,
              "http://mobilityfirst.winlab.rutgers.edu/", 2010.

   [9]        Thing-to-Thing Research Group, T2TRG.,
              "https://datatracker.ietf.org/rg/t2trg/about/", 2017.

   [10]       OPC Foundation, OPC., "https://opcfoundation.org/", 2017.

   [11]       Kim, B., Lee, S., Lee, Y., Hwang, I., and Y. Rhee,
              "Mobiscape: Middleware Support for Scalable Mobility
              Pattern Monitoring of Moving Objects in a Large-Scale
              City.", Journal of Systems and Software, Elsevier, 2011.

   [12]       Dietrich, D., Bruckne, D., Zucker, G., and P. Palensky,
              "Communication and Computation in Buildings: A Short
              Introduction and Overview", IEEE Transactions on
              Industrial Electronics, 2010.

   [13]       Keith, K., Falco, F., and K. Scarfone, "Guide to
              Industrial Control Systems (ICS) Security", NIST,
              Technical Report 800-82 Revision 1, 2013.

   [14]       Darianian, M. and Martin. Michael, "Smart home mobile
              RFID-based Internet-of-Things systems and services.",
              IEEE, ICACTE, 2008.

   [15]       Zhu, Q., Wang, R., Chen, Q., Chen, Y., and W. Qin, "IOT
              Gateway: Bridging Wireless Sensor Networks into Internet
              of Things", IEEE/IFIP, EUC, 2010.

   [16]       Biswas, T., Chakrabort, A., Ravindran, R., Zhang, X., and
              G. Wang, "Contextualized information-centric home
              network", ACM, Sigcomm, 2013.

   [17]       Huang, R., Zhang, J., Hu, Y., and J. Yang, "Smart Campus:
              The Developing Trends of Digital Campus", 2012.





Ravindran, Ed., et al.  Expires November 3, 2019               [Page 39]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [18]       Yan, Y., Qian, Y., Hu, Y., and J. Yang, "A Survey on Smart
              Grid Communication Infrastructures: Motivations,
              Requirements and Challenges", IEEE Communications Survey
              and Tutorials, 2013.

   [19]       Grassi, G., Pesavento, D., Pau, G., Vayyuru, R., Wakikawa,
              Ryuji., Wakikawa, Ryuji., and Lixia. Zhang, "Vehicular
              Inter-Networking via Named Data", ACM Hot Mobile (Poster),
              2013.

   [20]       Chai, W., Katsaros, K., Strobbe, M., and P. Romano,
              "Enabling Smart Grid Applications with ICN", ICN Sigcomm,
              2015.

   [21]       Katsaros, K., Chai, W., Wang, N., and G. Pavlou,
              "Information-centric Networking for Machine-to-Machine
              Data Delivery: A Case Study in Smart Grid Applications",
              IEEE Network, 2014.

   [22]       Dong, X., "Event-trigger particle filter for smart grids
              with limited communication bandwidth infrastructure", IEEE
              Transactions on Smart Grid, 2017.

   [23]       Mael, A., Maheo, Y., and F. Raimbault, "CoAP over BP for a
              delay-tolerant internet of things", Future Internet of
              Things and Cloud (FiCloud), IEEE, 2015.

   [24]       Patrice, R. and H. Rivano, "Tests Scenario on DTN for IOT
              III Urbanet collaboration", Dissertation, INRIA, 2015.

   [25]       Kevin, F., "Comparing Information-Centric and Delay-
              Tolerant Networking", Local Computer Networks (LCN), 2012
              IEEE 37th Conference on. IEEE, 2012..

   [26]       Miao, Y. and Y. Bu, "Research on the Architecture and Key
              Technology of Internet of Things (loT) Applied on Smart
              Grid", IEEE, ICAEE, 2010.

   [27]       Castro, M. and A. Jara, "An analysis of M2M platforms:
              challenges and opportunities for the Internet of Things",
              IMIS, 2012.

   [28]       Gubbi, J., Buyya, R., and S. Marusic, "Internet of Things
              (IoT): A vision, architectural elements, and future
              directions", Future Generation Computer Systems, 2013.






Ravindran, Ed., et al.  Expires November 3, 2019               [Page 40]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [29]       Vandikas, K. and V. Tsiatsis, "Performance Evaluation of
              an IoT Platform. In Next Generation Mobile Apps, Services
              and Technologies(NGMAST)", Next Generation Mobile Apps,
              Services and Technologies (NGMAST), 2014.

   [30]       Zhang, Y., Yu, R., Nekovee, M., Liu, Y., Xie, S., and S.
              Gjessing, "Cognitive Machine-to-Machine Communications:
              Visions and Potentials for the Smart Grid", IEEE, Network,
              2012.

   [31]       Zhou, H., Liu, B., and D. Wang, "Design and Research of
              Urban Intelligent Transportation System Based on the
              Internet of Things", Springer Link, 2012.

   [32]       Alessandrelli, D., Petracca, M., and P. Pagano, "T-Res:
              enabling reconfigurable in-network processing in IoT-based
              WSNs.", International Conference on Distributed Computing
              in Sensor Systems (DCOSS) , 2013.

   [33]       Kovatsch, M., Mayer, S., and B. Ostermaier, "Moving
              application logic from the firmware to the Cloud: towards
              the thin server architecture for the internet of things.",
              in Proc. 6th Int. Conf. on Innovative Mobile and Internet
              Services in Ubiquitous Computing (IMIS) , 2012.

   [34]       Zhang, M., Yu, T., and G. Zhai, "Smart Transport System
              Based on the Internet of Things", Applied Mechanics and
              Materials, 2012.

   [35]       Zhang, A., Yu, R., Nekovee, M., and S. Xie, "The Internet
              of Things for Ambient Assisted Living", IEEE, ITNG, 2010.

   [36]       Savola, R., Abie, H., and M. Sihvonen, "Towards metrics-
              driven adaptive security management in E-health IoT
              applications.", ACM, BodyNets, 2012.

   [37]       Jacobson, V., Smetters, D., Plass, M., Stewart, P.,
              Thornton, J., and R. Braynard, "VoCCN: Voice-over Content-
              Centric Networks", ACM, ReArch, 2009.

   [38]       Piro, G., Cianci, I., Grieco, L., Boggia, G., and P.
              Camarda, "Information Centric Services in Smart Cities",
              ACM, Journal of Systems and Software, 2014.








Ravindran, Ed., et al.  Expires November 3, 2019               [Page 41]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [39]       Gaur, A., Scotney, B., Parr, G., and S. McClean, "Smart
              City Architecture and its Applications Based on IoT -
              Smart City Architecture and its Applications Based on
              IoT", Procedia Computer Science, Volume 52, 2015, Pages
              1089-1094.

   [40]       Herrera-Quintero, L., Banse, K., Vega-Alfonso, J., and A.
              Venegas-Sanchez, "Smart ITS sensor for the transportation
              planning using the IoT and Bigdata approaches to produce
              ITS cloud services", 8th Euro American Conference on
              Telematics and Information Systems (EATIS), Cartagena,
              2016, pp. 1-7.

   [41]       Melis, A., Pardini, M., Sartori, L., and F. Callegati,
              "Public Transportation, IoT, Trust and Urban Habits",
              Internet Science: Third International Conference, INSCI
              2016, Florence, Italy, September 12-14, 2016, Proceedings.

   [42]       Tonneau, A., Mitton, N., and J. Vandaele, "A Survey on
              (mobile) Wireless Sensor Network Experimentation
              Testbeds", 2014 IEEE International Conference on
              Distributed Computing in Sensor Systems, Marina Del Rey,
              CA, 2014, pp. 263-268.

   [43]       Zhilin, Y., "Mobile phone location determination and its
              impact on intelligent transportation systems", IEEE
              Transactions on Intelligent Transportation Systems, vol.
              1, no. 1, pp. 55-64, Mar 2000.

   [44]       Papadimitratos, P., La Fortelle, A., Evenssen, K.,
              Brignolo, R., and S. Cosenza, "Vehicular communication
              systems: Enabling technologies, applications, and future
              outlook on intelligent transportation", IEEE
              Communications Magazine, vol. 47, no. 11, pp. 84-95,
              November 2009.

   [45]       Zhang, Yu., Afanasyev, A., Burke, J., and L. Zhang, "A
              survey of mobility support in named data networking",
              Computer Communications Workshops (INFOCOM WKSHPS), 2016
              IEEE Conference on. IEEE, 2016.

   [46]       Xylomenos, G., Ververidis, C., Siris, V., and N. Fotiou et
              al, "A survey of information-centric networking research",
              IEEE Communications Surveys and Tutorials, Volume: 16,
              Issue: 2, Second Quarter 2014 .






Ravindran, Ed., et al.  Expires November 3, 2019               [Page 42]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [47]       Mavromoustakis, C., Mastorakis, G., and J. Batalla,
              "Internet of Things (IoT) in 5G Mobile Technologies",
              ISBN,3319309137,Springer.

   [48]       Firner, S., Medhekar, S., and Y. Zhang, "PIP Tags:
              Hardware Design and Power Optimization", in Proceedings of
              HotEmNets, 2008.

   [49]       Masek, P., Masek, J., Frantik, P., and R. Fujdiak, "A
              Harmonized Perspective on Transportation Management in
              Smart Cities: The Novel IoT-Driven Environment for Road
              Traffic Modeling", Sensors, Volume 16, Issue 11, 2016.

   [50]       Abreu, D., Velasquez, K., Curado, M., and E. Monteiro, "A
              resilient Internet of Things architecture for smart
              cities", Annals of Telecommunications, Volume 72, Issue 1,
              Pages 19-30, 2017.

   [51]       Ravindran, R., Biswas, T., Zhang, X., Chakrabort, A., and
              G. Wang, "Information-centric Networking based Homenet",
              IEEE/IFIP, 2013.

   [52]       Dannewitz, C., D' Ambrosio, M., and V. Vercellone,
              "Hierarchical DHT-based name resolution for information-
              centric networks", 2013.

   [53]       Fasoloy, E., Rossiy, M., and M. Zorziy, "In-network
              Aggregation Techniques for Wireless Sensor Networks: A
              Survey", IEEE Wireless Communications, 2007.

   [54]       Chai, W., He, D., and I. Psaras, "Cache "less for more" in
              information-centric networks", ACM, IFIP, 2012.

   [55]       Eum, S., Nakauchi, K., Murata, M., Shoji, Yozo., and N.
              Nishinaga, "Catt: potential based routing with content
              caching for icn", IEEE Communication Magazine, 2012.

   [56]       Drira, W. and F. Filali, "Catt: An NDN Query Mechanism for
              Efficient V2X Data Collection", Eleventh Annual IEEE
              International Conference on Sensing, Communication, and
              Networking Workshops (SECON Workshops), 2014.

   [57]       Eum, S., Shvartzshnaider, Y., Francisco, J., Martini, R.,
              and D. Raychaudhuri, "Enabling internet-of-things services
              in the mobilityfirst future internet architecture", IEEE,
              WoWMoM, 2012.





Ravindran, Ed., et al.  Expires November 3, 2019               [Page 43]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [58]       Raychaudhuri, D., Nagaraj, K., and A. Venkatramani,
              "Mobilityfirst: a robust and trustworthy mobility-centric
              architecture for the future internet.", ACM SIGMOBILE
              Mobile Computing and Communications Review 16.3 (2012):
              2-13.

   [59]       Sun, Y., Qiao, X., Cheng, B., and J. Chen, "A low-delay,
              lightweight publish/subscribe architecture for delay-
              sensitive IOT services", IEEE, ICWS, 2013.

   [60]       Azgin, A., Ravindran, R., and GQ. Wang, "Mobility study
              for Named Data Networking in wireless access networks",
              IEEE, ICC, 2014.

   [61]       Azgin, A., Ravindran, R., Chakraborti, A., and GQ. Wang,
              "Seamless Producer Mobility as a Service in Information
              Centric Networks", ACM ICN Sigcomm, IC5G Workshop, 2016.

   [62]       Wang, L., Wakikawa, R., Kuntz, R., and R. Vuyyuru, "Data
              Naming in Vehicle-to-Vehicle Communications", IEEE,
              Infocm, Nomen Workshop, 2012.

   [63]       Baccelli, E., Mehlis, C., Hahm, O., Schmidt, T., and M.
              Wahlisch, "Information Centric Networking in the
              IoT:Experiments with NDN in the Wild", ACM, ICN Siggcomm,
              2014.

   [64]       Ascigil, O., Rene, S., Xylomenos, G., Psaras, I., and G.
              Pavlou, "A Keyword-based ICN-IoT Platform", ACM, ICN
              Sigcomm, 2017..

   [65]       Simona, C. and M. Mongiello, "Pushing the role of
              information in ICN", Telecommunications (ICT), 2016 23rd
              International Conference on. IEEE, 2016..

   [66]       Li, B., Huang, D., Wang, Z., and Y. Zhu, "Attribute-based
              Access Control for ICN Naming Scheme", IEEE Transactions
              on Dependable and Secure Computing, vol.PP, no.99,
              pp.1-1..

   [67]       Polyzos, G. and N. Fotiou, "Building a reliable Internet
              of Things using Information-Centric Networking", Journal
              of Reliable Intelligent Environments, vol.1, no.1, 2015..

   [68]       Pandurang, K., Xu, W., Trappe, W., and Y. Zhang, "Temporal
              privacy in wireless sensor networks: Theory and practice",
              ACM Transactions on Sensor Networks (TOSN) 5, no. 4
              (2009): 28..



Ravindran, Ed., et al.  Expires November 3, 2019               [Page 44]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [69]       Trossen, D., Sarela, M., and K. Sollins, "Arguments for an
              information-centric internetworking architecture.", ACM
              SIGCOMM Computer Communication Review 40.2 (2010): 26-33.

   [70]       Zhang, G., Li, Y., and T. Lin, "Caching in information
              centric networking: A survey.", Computer Networks 57.16
              (2013): 3128-3141.

   [71]       Gronbaek, I., "Architecture for the Internet of Things
              (IoT): API and interconnect", IEEE, SENSORCOMM, 2008.

   [72]       Tian, Y., Liu, Y., Yan, Z., Wu, S., and H. Li, "RNS-A
              Public Resource Name Service Platform for the Internet of
              Things", IEEE, GreenCom, 2012.

   [73]       Roussos, G. and P. Chartier, "Scalable id/locator
              resolution for the iot", IEEE, iThings,CPSCom, 2011.

   [74]       Amadeo, M. and C. Campolo, "Potential of information-
              centric wireless sensor and actuator networking", IEEE,
              ComManTel, 2013.

   [75]       Nelson, S., Bhanage, G., and D. Raychaudhuri, "GSTAR:
              generalized storage-aware routing for mobilityfirst in the
              future mobile internet", ACM, MobiArch, 2011.

   [76]       Trappe, W., Zhang, Y., and B. Nath, "MIAMI: methods and
              infrastructure for the assurance of measurement
              information", ACM, DMSN, 2005.

   [77]       Rouf, I., Mustafa, H., Taylor, T., Oh, S., Xu, W.,
              Gruteser, M., Trappe, W., and I. Seskar, "Security and
              privacy vulnerabilities of in-car wireless networks: A
              tire pressure monitoring system case study", USENIX, 2010.

   [78]       Liu, R. and W. Trappe, "Securing Wireless Communications
              at the Physical Layer", Springer, 2010.

   [79]       Xiao, L., Greenstein, L., Mandayam, N., and W. Trappe,
              "Using the physical layer for wireless authentication in
              time-variant channels", IEEE Transactions on Wireless
              Communications, 2008.

   [80]       Sun, S., Lannom, L., and B. Boesch, "Handle system
              overview", IETF, RFC3650, 2003.






Ravindran, Ed., et al.  Expires November 3, 2019               [Page 45]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [81]       Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
              Application Protocol (CoAP)", RFC 7252,
              DOI 10.17487/RFC7252, June 2014,
              <https://www.rfc-editor.org/info/rfc7252>.

   [82]       Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
              Protocol (HTTP/1.1): Message Syntax and Routing",
              RFC 7230, DOI 10.17487/RFC7230, June 2014,
              <https://www.rfc-editor.org/info/rfc7230>.

   [83]       Barnes, R., "Use Cases and Requirements for JSON Object
              Signing and Encryption (JOSE)", RFC 7165,
              DOI 10.17487/RFC7165, April 2014,
              <https://www.rfc-editor.org/info/rfc7165>.

   [84]       Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
              Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
              JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
              Low-Power and Lossy Networks", RFC 6550,
              DOI 10.17487/RFC6550, March 2012,
              <https://www.rfc-editor.org/info/rfc6550>.

   [85]       Perkins, C., Belding-Royer, E., and S. Das, "Ad hoc On-
              Demand Distance Vector (AODV) Routing", RFC 3561,
              DOI 10.17487/RFC3561, July 2003,
              <https://www.rfc-editor.org/info/rfc3561>.

   [86]       Mosko, M., Uzun, E., and C. Wood, "CCNx Key Exchange
              Protocol Version 1.0", draft-wood-icnrg-ccnxkeyexchange-02
              (work in progress), July 2017.

   [87]       Sun, S., "Hypertext Transfer Protocol (HTTP/1.1): Message
              Syntax and Routing", 2014.

   [88]       Liu, X., Trappe, W., and Y. Zhang, "Secure Name Resolution
              for Identifier-to-Locator Mappings in the Global
              Internet", IEEE, ICCCN, 2013.

   [89]       Boguna, M., Fragkiskos, P., and K. Dmitri, "Sustaining the
              internet with hyperbolic mapping", Nature Communications,
              2010.

   [90]       Shang, W., "Securing building management systems using
              named data networking", IEEE Network 2014.

   [91]       Fayazbakhsh, S. and et al, "Less pain, most of the gain:
              Incrementally deployable icn", ACM, Siggcomm, 2013.




Ravindran, Ed., et al.  Expires November 3, 2019               [Page 46]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [92]       Burke, J. and et. et al, "Securing instrumented
              environments over Content-Centric Networking: the case of
              lighting control", INFOCOM, Computer Communications
              Workshop, 2013.

   [93]       Rao, A., Schelen, O., and A. Lindgren, "Performance
              Implications for IoT over Information Centric Networks",
              Performance Implications for IoT over Information Centric
              Networks, ACM CHANTS 2016.

   [94]       Hahm, O., Baccelli, E., Schmidt, T., Wahlisch, M., Adjih,
              C., and L. Massoulie, "Low-power Internet of Things with
              NDN and Cooperative Caching", ICN, Sigcomm, 2017.

   [95]       Li, S., Zhang, Y., Dipankar, R., and R. Ravindran, "A
              comparative study of MobilityFirst and NDN based ICN-IoT
              architectures", IEEE, QShine, 2014.

   [96]       Chen, J., Li, S., Yu, H., Zhang, Y., and R. Ravindran,
              "Exploiting icn for realizing service-oriented
              communication in iot", IEEE, Communication Magazine, 2016.

   [97]       Quevedo, J., Corujo, D., and R. Aguiar, "A Case for ICN
              usage in IoT environments", Global Communications
              Conference GLOBECOM, IEEE, Dec 2014, Pages 2770-2775.

   [98]       Lindgren, A., Ben Abdesslem, F., Ahlgren, B., and O.
              Schelen, "Design Choices for the IoT in Information-
              Centric Networks", IEEE Annual Consumer Communications and
              Networking Conference (CCNC) 2016.

   [99]       Grieco, L., Alaya, M., and K. Drira, "Architecting
              Information Centric ETSI-M2M systems", IEEE, Pervasive and
              Computer Communications Workshop (PERCOM), 2014.

   [100]      Compagno, A., Conti, M., and R. Dorms, "OnboardICNg: a
              Secure Protocol for On-boarding IoT Devices in ICN", ICN,
              Sigcomm, 2016.

   [101]      Grieco, L., Rizzo, A., Colucci, R., Sicari, S., Piro, G.,
              Di Paola, D., and G. Boggia, "IoT-aided robotics
              applications: technological implications, target domains
              and open issues", Elsevier Computer Communications, Volume
              54, 1 December, 2014.

   [102]      InterDigital, WhitePaper., "Standardized M2M Software
              Development Platform", 2011.




Ravindran, Ed., et al.  Expires November 3, 2019               [Page 47]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [103]      Boswarthick, D., "M2M Communications: A Systems Approach",
              2012.

   [104]      Swetina, J., Lu, G., Jacobs, P., Ennesser, F., and J.
              Song, "Toward a standardized common M2M service layer
              platform: Introduction to oneM2M", IEEE Wireless
              Communications, Volume 21, Number 3, June 2014.

   [105]      Wang, L., Wang, Z., and R. Yang, "Intelligent Multiagent
              Control System for Energy and Comfort Management in Smart
              and Sustainable Buildings", IEEE Transactions on Smart
              Grid, vol. 3, no. 2, pp. 605-617, June 2012..

   [106]      Lawrence, T., Boudreau, M., and L. Helsen, "Ten questions
              concerning integrating smart buildings into the smart
              grid, Building and Environment", Building and Environment,
              Volume 108, 1 November 2016, Pages 273-283..

   [107]      Hassan, A. and D. Kim, "Named data networking-based smart
              home", ICT Express 2.3 (2016): 130-134..

   [108]      Burke, J., Horn, A., and A. Marianantoni, "Authenticated
              lighting control using named data networking", UCLA, NDN
              Technical Report NDN-0011 (2012)..

   [109]      Afanasyev, A., "Packet fragmentation in ndn: Why ndn uses
              hop-by-hop fragmentation.", UCLA, NDN Technical Report
              NDN-0032 (2015)..

   [110]      Quan, Wei., Xu, C., Guan, J., Zhang, H., and L. Grieco,
              "Scalable Name Lookup with Adaptive Prefix Bloom Filter
              for Named Data Networking", IEEE Communications Letters,
              2014.

   [111]      Wang, Yi., Pan, T., Mi, Z., Dai, H., Guo, X., Zhang, T.,
              Liu, B., and Q. Dong, "NameFilter: Achieving fast name
              lookup with low memory cost via applying two-stage Bloom
              filters", INFOCOM, 2013.

   [112]      So, W., Narayanan, A., Oran, D., and Y. Wang, "Toward fast
              NDN software forwarding lookup engine based on Hash
              tables", ACM, ANCS, 2012.

   [113]      Amadeo, M., Campolo, C., Iera, A., and A. Molinaro, "Named
              data networking for IoT: An architectural perspective",
              IEEE, EuCNC, 2014.





Ravindran, Ed., et al.  Expires November 3, 2019               [Page 48]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [114]      Amadeo, M., Campolo, C., Iera, A., and A. Molinaro,
              "Information centric networking in iot scenarios: The case
              of a smart home", IEEE ICC, June 2015.

   [115]      Somani, N., Chanda, A., Nelson, S., and D. Raychaudhuri,
              "Storage- Aware Routing for Robust and Efficient Services
              in the Future Mobile Internet", Proceedings of ICC
              FutureNet V, 2012.

   [116]      Blefari Melazzi, N., Detti, A., Arumaithurai, M., and K.
              Ramakrishnan, "Internames: A name-to-name principle for
              the future internet", QShine, August 2014.

   [117]      Sifalakis, M., Kohler, B., Christopher, C., and C.
              Tschudin, "An information centric network for computing
              the distribution of computations", ACM, ICN Sigcomm, 2014.

   [118]      Lu, R., Lin, X., Zhu, H., and X. Shen, "SPARK: a new
              VANET-based smart parking scheme for large parking lots",
              INFOCOM, 2009.

   [119]      Wang, H. and W. He, "A reservation-based smart parking
              system", The First International Workshop on Cyber-
              Physical Networking Systems, 2011.

   [120]      Qian, L., "Constructing Smart Campus Based on the Cloud
              Computing and the Internet of Things", Computer Science
              2011.

   [121]      Project, BonVoyage., "European Unions - Horizon 2020,
              http://bonvoyage2020.eu/", 2016.

   [122]      Li, S., Zhang, Y., Raychaudhuri, D., Ravindran, R., Zheng,
              Q., Wang, GQ., and L. Dong, "IoT Middleware over
              Information-Centric Network", Global Communications
              Conference (GLOBECOM) ICN Workshop, 2015.

   [123]      Li, S., Chen, J., Yu, H., Zhang, Y., Raychaudhuri, D.,
              Ravindran, R., Gao, H., Dong, L., Wang, GQ., and H. Liu,
              "MF-IoT: A MobilityFirst-Based Internet of Things
              Architecture with Global Reachability and Communication
              Diversity", IEEE International Conference on Internet-of-
              Things Design and Implementation (IoTDI), 2016.

   [124]      Adhatarao, S., Chen, J., Arumaithurai, M., and X. Fu,
              "Comparison of naming schema in ICN", IEEE LANMAN, June ,
              2016.




Ravindran, Ed., et al.  Expires November 3, 2019               [Page 49]


Internet-Draft       ICN based Architecture for IoT             May 2019


   [125]      Campolo, C., Corujo, D., Iera, A., and R. Aguiar,
              "Information-centric Networking for Internet-of-things:
              Challenges and Opportunities", IEEE Networks, Jan , 2015.

   [126]      Hussain, R., Bouk, S., Javaid, N., and Adil. Khan,
              "Realization of VANET-Based Cloud Services through Named
              Data Networking", IEEE Communication Magazine, 2018.

   [127]      Sobia, A. and et al., "Hierarchical and Flat-Based Hybrid
              Naming Scheme in Content-Centric Networks of Things", IEEE
              Internet of Things Journal, 2018.

   [128]      Sobia, A. and et al., "Towards Information-Centric
              Networking (ICN) naming for Internet of Things (IoT): the
              case of smart campus.", Proceedings of the International
              Conference on Future Networks and Distributed Systems.
              ACM, 2017.

   [129]      Agnese, V. and et al., "Publish subscribe in mobile
              information centric networks: Modeling and performance
              evaluation.", Computer Networks, 2017.

Authors' Addresses

   Ravishankar Ravindran
   Huawei Technologies
   2330 Central Expressway
   Santa Clara, CA  95050
   USA

   Email: ravi.ravindran@huawei.com


   Yanyong Zhang
   WINLAB, Rutgers University
   671, U.S 1
   North Brunswick, NJ  08902
   USA

   Email: yyzhang@winlab.rutgers.edu











Ravindran, Ed., et al.  Expires November 3, 2019               [Page 50]


Internet-Draft       ICN based Architecture for IoT             May 2019


   Luigi Alfredo Grieco
   Politecnico di Bari (DEI)
   Via Orabona 4
   Bari  70125
   Italy

   Email: alfredo.grieco@poliba.it


   Anders Lindgren
   RISE SICS
   Box 1263
   Kista  SE-164 29
   SE

   Email: anders.lindgren@ri.se


   Jeff Burke
   UCLA REMAP
   102 East Melnitz Hall
   Los Angeles, CA  90095
   USA

   Email: jburke@ucla.edu


   Bengt Ahlgren
   RISE SICS
   Box 1263
   Kista, CA  SE-164 29
   SE

   Email: bengt.ahlgren@ri.se


   Aytac Azgin
   Huawei Technologies
   2330 Central Expressway
   Santa Clara, CA  95050
   USA

   Email: aytac.azgin@huawei.com








Ravindran, Ed., et al.  Expires November 3, 2019               [Page 51]