Publish-Subscribe Deployment Option
for NDN in the Constrained Internet of ThingsHAW HamburgBerliner Tor 7HamburgD-20099Germany+4940428758067Cenk.Guendogan@haw-hamburg.deHAW HamburgBerliner Tor 7HamburgD-20099Germanyt.schmidt@haw-hamburg.dehttp://inet.haw-hamburg.de/members/schmidtlink-lab & FU
BerlinHoenower Str. 35BerlinD-10318Germanymw@link-lab.nethttp://www.inf.fu-berlin.de/~waehlICN Research GroupConstrained IoT devices often operate more efficiently in a loosely
coupled environment without maintaining end-to-end connectivity between
nodes. Information Centric Networking naturally supports this demand by
replicated data distribution and hop wise forwarding. This document
outlines a deployment option for NDN in low-power and lossy networks
(LLNs) that follows a publish-subscribe pattern. The proposed protocol
scheme simplifies name-based routing significantly and facilitates even
large off-duty cycles for constrained nodes.In the emerging Internet of Things (IoT), it is expected that large
quantities of very constrained sensors and actuators collect,
communicate, and process massive amounts of machine data. Early
experiments with constrained nodes show promising results for different
deployments of ICN communication .Characteristics of constrained nodes:Battery-powered with sleep cyclesFailing nodesLow power lossy networksChallenges of NDN deployment Complexity of name-based routingState management at nodesClear separation between control and data planeAdaptation to constrained wireless transmissionMobility managementMultiple scenarios have been discussed in and that evaluate
the applicability of ICN in IoT.We consider two characteristic constrained IoT scenarios with the
enumerated challenges: for
home, building, and factory automation, stationary monitoring,
...Reliability, resilience of operationRadio coordination, coverageEnergy constraints, device lifetimeInterference with rivaling appliancesfor
urban or rural mobility and sensing, industrial Internet in
widespread environments, disaster recovery and rescue ...Exploit connectivity when availableLarge off-duty cycles of nodesPartitioned networksLimited dependability Environmental impact and disturbance IoT scenarios usually impose routing requirements to support
mobile nodes, handle failing links and to be resilient against
attacks. A secure and autonomous bootstrapping is essential,
especially for large-scale IoT deployments.ICN decouples content consumers from data producers (decoupling in
space). A more sophisticated decoupling can be provided with the
publish-subscribe messaging pattern that further adds a decoupling in
time and synchronization. Constrained devices in LLNs can leverage
this loose coupling to increase sleep cycles and delegate the
authority over as much information as possible to more powerful
devices that act as content proxies. In , once content is published to
the content proxy (CP) by a producer (P), consumers (C) can retrieve
this content from (CP) without interacting with the producer. This
indirection when retrieving information allows (P) to align sleep
cycles accordingly to the period of generating new sensor readings,
instead of handling content requests from any consumers (C).TODO: The problem of PUSHThe key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 . The use of the term, "silently ignore" is not
defined in RFC 2119. However, the term is used in this document and can
be similarly construed.This document uses the terminology of ,
, and for
ICN entities.The following terms are used in the document and defined as
follows:Stable node for replicating content.A Gateway that enables content transfer
to and from a remote cloud storage, possibly by performing some kind
of protocol translation.Prefix Advertisement Message.Name Advertisement Message.The publish-subscribe system is centered around prefix-specific
content proxies (CPs) that are deployed in IoT edge networks. Such proxy
function can be hosted on the Cloud- or Internet Gateway, or may reside
on a stable, less constrained node within the IoT infrastructure. It is
assumed that a CP is present for each prefix covering publishable
content.Implementing a pub-sub NDN involves several steps that are bound to
the tight requirements of resource-constrained devices. These steps
include: Building the prefix-specific routing topology tailored to
constrained networksMapping Publish to NDN semanticsMapping Subscribe to NDN semanticsA (sensor) node that wants to publish a data item needs to rely on
path information towards the Content Proxy. Following the approach of
PANINI , default routes will be
established as follows.Each CP in the local IoT sub-network advertises the prefix(es) it
represents to the routing system. It does so by broadcasting Prefix
Advertisement Messages (PAMs) on the link layer (see for the corresponding protocol details).
Nodes that newly receive PAM advertisements will add or refresh a
prefix-specific default route in their FIB. Intermediate nodes in a
multi-hop environment also re-broadcast PAMs, so that the entire
sub-network is flooded and default route entries build a shortest path
tree (SPT) towards the CP as shown in (alternatively, a DODAG w.r.t.
a gateway for redundant CPs).Information flowing from constrained sensor nodes towards a gateway
is the prevalent communication pattern in the IoT (converge cast).
The publish-subscribe system hence establishes a default routing (see
sample FIB in ) and uses
the tree (DODAG) topology with default routes towards the CP as a
first step of content aggregation. Content replication towards other
CPs, an Internet gateway, or into a cloud can follow subsequently.PrefixFaceLifetime/FxFt.........It is noteworthy that the role of the new PAM message remains
orthogonal to the existing Interest or Data semantics. A PAM never
carries data nor requests, but persists on the control plane of
name-based routing. User applications stay unaffected, and continue to
rely on the NDN-specific request-response paradigm.In classical publish-subscribe systems, a Publish is
typically implemented as a push mechanism on the data plane. However,
this contradicts the request-response paradigm employed by NDN. To
adapt the Publish operation to NDN semantics, it is
split into two phases and the required push mechanism is moved into
the control plane. The two phases consist of: Announcing names of Named Data Objects (NDO) on the
control planeRequesting NDOs on the data planeThe first phase is the actual announcement of names in the upwards
direction towards the CP. Because of NDN's name-based routing
approach, the announcement of names is subject of the routing protocol
and therefore belongs to the control plane. For this purpose, the
control message type Name Advertisement Message (NAM) is adapted from
PANINI . Similarly to the PAM, a NAM
message utilizes a push mechanism in the control plane without
interfering with the request-response mechanism on the data plane.
NAMs are directed towards the (prefix-specific) parent of a node and
traverse hop-by-hop along the gradient towards the CP. Each
intermediate hop on the gradient installs forwarding states in the
downward direction by using the announced names in the NAM and the
incoming face. Typically, states are short-lived for content
replication, only. NAMs contain one or multiple names encoded as TLV
elements in the payload. (a) depicts the
propagation of the NAM towards the (CP). In this example, the name
/HAW/temp123 is announced by (C) via (A) to (CP).In addition to a FIB, the (CP) maintains another data structure
Mt (Meta-Table) to store all announced names annotated
with additional context information and a lifetime. Upon receipt of a
NAM, the Mt is updated accordingly. Context information
consists of generic properties attached to a name (e.g. topic names
and content freshness indicators) and are out of scope of this
document. The Mt has its own name and can be requested
by other devices.In the second phase, the (CP) requests the content of newly learned
names from the first phase. For content requests, the regular NDN
Interest-Data exchange on the data plane is used and is depicted in
(b). Upon receipt, the
content is cached on the (CP).In the proposed publish-subscribe system, the Subscribe
operation is equivalent to an Interest-based request of previously
learned content names. A device can learn about new content by (a)
Name Advertisements of the CP via dedicated prefix path (TODO) or
broadcast. It may as well poll the Mt in order to learn
about general updates at the CP. Context information in the Mt
may give indications about periodic sensor readings, so that a
periodic polling of the Mt can be aligned with the
sensor reading period.In (a), a subscriber (S)
requests the Mt to learn about new names. A new name
(Nx) is then requested via the regular Interest/Data request-response
paradigm in (b).The majority of constrained devices at the IoT edge are mostly
content producers, but not consumers. Subscribers do not necessarily
need to be part of the distribution tree, but may reach the gateway
(CP) by other means.TODOTODOTODOInformation Centric Networking in the IoT: Experiments with
NDN in the WildINRIAFU BerlinINRIAHAW HamburgFU BerlinLet's Collect Names: How PANINI Limits FIB Tables in Name
Based RoutingHAW HamburgHAW HamburgHAW HamburgFU BerlinTowards an Information-Centric Internet with more
ThingsThis work was stimulated by fruitful discussions ... We would like to
thank all active members for constructive thoughts and feedback. In
particular, the authors would like to thank (in alphabetical order)
Emmanuel Baccelli, Michael Frey, Oliver Hahm, Peter Kietzmann, Dirk
Kutscher, Martine Lenders, Joerg Ott, Hauke Petersen, and Felix
Shzu-Juraschek. This work was partly funded by the German Federal
Ministry of Education and Research, project I3.