12 research outputs found
IPv6 multicast forwarding in RPL-based wireless sensor networks
In wireless sensor deployments, network layer multicast can be used to improve the bandwidth and energy efficiency for a variety of applications, such as service discovery or network management. However, despite efforts to adopt IPv6 in networks of constrained devices, multicast has been somewhat overlooked. The Multicast Forwarding Using Trickle (Trickle Multicast) internet draft is one of the most noteworthy efforts. The specification of the IPv6 routing protocol for low power and lossy networks (RPL) also attempts to address the area but leaves many questions unanswered. In this paper we highlight our concerns about both these approaches. Subsequently, we present our alternative mechanism, called stateless multicast RPL forwarding algorithm (SMRF), which addresses the aforementioned drawbacks. Having extended the TCP/IP engine of the Contiki embedded operating system to support both trickle multicast (TM) and SMRF, we present an in-depth comparison, backed by simulated evaluation as well as by experiments conducted on a multi-hop hardware testbed. Results demonstrate that SMRF achieves significant delay and energy efficiency improvements at the cost of a small increase in packet loss. The outcome of our hardware experiments show that simulation results were realistic. Lastly, we evaluate both algorithms in terms of code size and memory requirements, highlighting SMRF's low implementation complexity. Both implementations have been made available to the community for adoption
IPv6 Multicast Forwarding in RPL-Based Wireless Sensor Networks
This article was published in the journal, Wireless Personal Communications [© Springer Science+Business Media] and the definitive version is available at: http://dx.doi.org/10.1007/s11277-013-1250-5In wireless sensor deployments, network layer multicast can be used to improve the bandwidth and energy efficiency for a variety of applications, such as service discovery or network management. However, despite efforts to adopt IPv6 in networks of constrained devices, multicast has been somewhat overlooked. The Multicast Forwarding Using Trickle (Trickle Multicast) internet draft is one of the most noteworthy efforts. The specification of the IPv6 routing protocol for low power and lossy networks (RPL) also attempts to address the area but leaves many questions unanswered. In this paper we highlight our concerns about both these approaches. Subsequently, we present our alternative mechanism, called stateless multicast RPL forwarding algorithm (SMRF), which addresses the aforementioned drawbacks. Having extended the TCP/IP engine of the Contiki embedded operating system to support both trickle multicast (TM) and SMRF, we present an in-depth comparison, backed by simulated evaluation as well as by experiments conducted on a multi-hop hardware testbed. Results demonstrate that SMRF achieves significant delay and energy efficiency improvements at the cost of a small increase in packet loss. The outcome of our hardware experiments show that simulation results were realistic. Lastly, we evaluate both algorithms in terms of code size and memory requirements, highlighting SMRF's low implementation complexity. Both implementations have been made available to the community for adoption
The Contiki-NG open source operating system for next generation IoT devices
Contiki-NG (Next Generation) is an open source, cross-platform operating system for severely constrained wireless embedded devices. It focuses on dependable (reliable and secure) low-power communications and standardised protocols, such as 6LoWPAN, IPv6, 6TiSCH, RPL, and CoAP. Its primary aims are to (i) facilitate rapid prototyping and evaluation of Internet of Things research ideas, (ii) reduce time-to-market for Internet of Things applications, and (iii) provide an easy-to-use platform for teaching embedded systems-related courses in higher education. Contiki-NG started as a fork of the Contiki OS and retains many of its original features. In this paper, we discuss the motivation behind the creation of Contiki-NG, present the most recent version (v4.7), and highlight the impact of Contiki-NG through specific examples
Hybrid CoAP-based resource discovery for the Internet of Things
Enabling automatic, efficient and scalable discovery of the resources provided by constrained low-power sensor and actuator networks is an important element to empower the transformation towards the Internet of Things (IoT). To this end, many centralized and distributed resource discovery approaches have been investigated. Clearly, each approach has its own motivations, advantages and drawbacks. In this article, we present a hybrid centralized/distributed resource discovery solution aiming to get the most out of both approaches. The proposed architecture employs the well-known Constrained Application Protocol (CoAP) and features a number of interesting discovery characteristics including scalability, time and cost efficiency, and adaptability. Using such a solution, network nodes can automatically and rapidly detect the presence of Resource Directories (RDs), via a proactive RD discovery mechanism, and perform discovery tasks through them. Nodes may, alternatively, fall back automatically to efficient fully-distributed discovery operations achieved through Trickle-enabled, CoAP-based technics. The effectiveness of the proposed architecture has been demonstrated by formal analysis and experimental evaluations on dedicated IoT platforms
Experimental evaluation of unicast and multicast CoAP group communication
The Internet of Things (IoT) is expanding rapidly to new domains in which embedded devices play a key role and gradually outnumber traditionally-connected devices. These devices are often constrained in their resources and are thus unable to run standard Internet protocols. The Constrained Application Protocol (CoAP) is a new alternative standard protocol that implements the same principals as the Hypertext Transfer Protocol (HTTP), but is tailored towards constrained devices. In many IoT application domains, devices need to be addressed in groups in addition to being addressable individually. Two main approaches are currently being proposed in the IoT community for CoAP-based group communication. The main difference between the two approaches lies in the underlying communication type: multicast versus unicast. In this article, we experimentally evaluate those two approaches using two wireless sensor testbeds and under different test conditions. We highlight the pros and cons of each of them and propose combining these approaches in a hybrid solution to better suit certain use case requirements. Additionally, we provide a solution for multicast-based group membership management using CoAP
Experimental Evaluation of Unicast and Multicast CoAP Group Communication
The Internet of Things (IoT) is expanding rapidly to new domains in which embedded devices play a key role and gradually outnumber traditionally-connected devices. These devices are often constrained in their resources and are thus unable to run standard Internet protocols. The Constrained Application Protocol (CoAP) is a new alternative standard protocol that implements the same principals as the Hypertext Transfer Protocol (HTTP), but is tailored towards constrained devices. In many IoT application domains, devices need to be addressed in groups in addition to being addressable individually. Two main approaches are currently being proposed in the IoT community for CoAP-based group communication. The main difference between the two approaches lies in the underlying communication type: multicast versus unicast. In this article, we experimentally evaluate those two approaches using two wireless sensor testbeds and under different test conditions. We highlight the pros and cons of each of them and propose combining these approaches in a hybrid solution to better suit certain use case requirements. Additionally, we provide a solution for multicast-based group membership management using CoAP.The research leading to these results has received funding from a VLIRPhD scholarship to Isam Ishaq
IPv6 Multicast Forwarding in RPL-Based Wireless Sensor Networks
This article was published in the journal, Wireless Personal Communications [© Springer Science+Business Media] and the definitive version is available at: http://dx.doi.org/10.1007/s11277-013-1250-5In wireless sensor deployments, network layer multicast can be used to improve the bandwidth and energy efficiency for a variety of applications, such as service discovery or network management. However, despite efforts to adopt IPv6 in networks of constrained devices, multicast has been somewhat overlooked. The Multicast Forwarding Using Trickle (Trickle Multicast) internet draft is one of the most noteworthy efforts. The specification of the IPv6 routing protocol for low power and lossy networks (RPL) also attempts to address the area but leaves many questions unanswered. In this paper we highlight our concerns about both these approaches. Subsequently, we present our alternative mechanism, called stateless multicast RPL forwarding algorithm (SMRF), which addresses the aforementioned drawbacks. Having extended the TCP/IP engine of the Contiki embedded operating system to support both trickle multicast (TM) and SMRF, we present an in-depth comparison, backed by simulated evaluation as well as by experiments conducted on a multi-hop hardware testbed. Results demonstrate that SMRF achieves significant delay and energy efficiency improvements at the cost of a small increase in packet loss. The outcome of our hardware experiments show that simulation results were realistic. Lastly, we evaluate both algorithms in terms of code size and memory requirements, highlighting SMRF's low implementation complexity. Both implementations have been made available to the community for adoption
Discovery and Group Communication for Constrained Internet of Things Devices using the Constrained Application Protocol
The ubiquitous Internet is rapidly spreading to new domains. This expansion of
the Internet is comparable in scale to the spread of the Internet in the ’90s. The
resulting Internet is now commonly referred to as the Internet of Things (IoT) and
is expected to connect about 50 billion devices by the year 2020. This means that
in just five years from the time of writing this PhD the number of interconnected
devices will exceed the number of humans by sevenfold. It is further expected that
the majority of these IoT devices will be resource constrained embedded devices
such as sensors and actuators. Sensors collect information about the physical world
and inject this information into the virtual world. Next processing and reasoning
can occur and decisions can be taken to enact upon the physical world by injecting
feedback to actuators.
The integration of embedded devices into the Internet introduces new challenges,
since many of the existing Internet technologies and protocols were not
designed for this class of constrained devices. These devices are typically optimized
for low cost and power consumption and thus have very limited power,
memory, and processing resources and have long sleep periods. The networks
formed by these embedded devices are also constrained and have different characteristics
than those typical in todays Internet. These constrained networks have
high packet loss, low throughput, frequent topology changes and small useful payload
sizes. They are referred to as LLN. Therefore, it is in most cases unfeasible to
run standard Internet protocols on this class of constrained devices and/or LLNs.
New or adapted protocols that take into consideration the capabilities of the constrained
devices and the characteristics of LLNs, are required.
In the past few years, there were many efforts to enable the extension of the
Internet technologies to constrained devices. Initially, most of these efforts were
focusing on the networking layer. However, the expansion of the Internet in the
90s was not due to introducing new or better networking protocols. It was a result
of introducing the World Wide Web (WWW), which made it easy to integrate services
and applications. One of the essential technologies underpinning the WWW
was the Hypertext Transfer Protocol (HTTP). Today, HTTP has become a key
protocol in the realization of scalable web services building around the Representational
State Transfer (REST) paradigm. The REST architectural style enables
the realization of scalable and well-performing services using uniform and simple
interfaces. The availability of an embedded counterpart of HTTP and the REST
architecture could boost the uptake of the IoT.
Therefore, more recently, work started to allow the integration of constrained
devices in the Internet at the service level. The Internet Engineering Task Force
(IETF) Constrained RESTful Environments (CoRE) working group has realized
the REST architecture in a suitable form for the most constrained nodes and networks.
To that end the Constrained Application Protocol (CoAP) was introduced,
a specialized RESTful web transfer protocol for use with constrained networks and
nodes. CoAP realizes a subset of the REST mechanisms offered by HTTP, but is
optimized for Machine-to-Machine (M2M) applications.
This PhD research builds upon CoAP to enable a better integration of constrained
devices in the IoT and examines proposed CoAP solutions theoretically
and experimentally proposing alternatives when appropriate. The first part of this
PhD proposes a mechanism that facilitates the deployment of sensor networks
and enables the discovery, end-to-end connectivity and service usage of newly
deployed sensor nodes. The proposed approach makes use of CoAP and combines
it with Domain Name System (DNS) in order to enable the use of userfriendly
Fully Qualified Domain Names (FQDNs) for addressing sensor nodes. It
includes the automatic discovery of sensors and sensor gateways and the translation
of HTTP to CoAP, thus making the sensor resources globally discoverable and
accessible from any Internet-connected client using either IPv6 addresses or DNS
names both via HTTP or CoAP. As such, the proposed approach provides a feasible
and flexible solution to achieve hierarchical self-organization with a minimum
of pre-configuration. By doing so we minimize costly human interventions and
eliminate the need for introducing new protocols dedicated for the discovery and
organization of resources. This reduces both cost and the implementation footprint
on the constrained devices.
The second, larger, part of this PhD focuses on using CoAP to realize communication
with groups of resources. In many IoT application domains, sensors
or actuators need to be addressed as groups rather than individually, since individual
resources might not be sufficient or useful. A simple example is that all
lights in a room should go on or off as a result of the user toggling the light switch.
As not all IoT applications may need group communication, the CoRE working
group did not include it in the base CoAP specification. This way the base protocol
is kept as efficient and as simple as possible so it would run on even the most
constrained devices. Group communication and other features that might not be
needed by all devices are standardized in a set of optional separate extensions. We
first examined the proposed CoAP extension for group communication, which utilizes
Internet Protocol version 6 (IPv6) multicasts. We highlight its strengths and
weaknesses and propose our own complementary solution that uses unicast to realize
group communication. Our solution offers capabilities beyond simple group
communication. For example, we provide a validation mechanism that performs
several checks on the group members, to make sure that combining them together
is possible. We also allow the client to request that results of the individual members
are processed before they are sent to the client. For example, the client can
request to obtain only the maximum value of all individual members.
Another important optional extension to CoAP allows clients to continuously
observe resources by registering their interest in receiving notifications from CoAP
servers once there are changes to the values of the observed resources. By using
this publish/subscribe mechanism the client does not need to continuously poll the
resource to find out whether it has changed its value. This typically leads to more
efficient communication patterns that preserve valuable device and LLN resources.
Unfortunately CoAP observe does not work together with the CoAP group communication
extension, since the observe extension assumes unicast communication
while the group communication extension only support multicast communication.
In this PhD we propose to extend our own group communication solution to offer
group observation capabilities. By combining group observation with group
processing features, it becomes possible to notify the client only about certain
changes to the observed group (e.g., the maximum value of all group members has
changed).
Acknowledging that the use of multicast as well as unicast has strengths and
weaknesses we propose to extend our unicast based solution with certain multicast
features. By doing so we try to combine the strengths of both approaches to obtain
a better overall group communication that is flexible and that can be tailored
according to the use case needs.
Together, the proposed mechanisms represent a powerful and comprehensive
solution to the challenging problem of group communication with constrained devices.
We have evaluated the solutions proposed in this PhD extensively and in
a variety of forms. Where possible, we have derived theoretical models and have
conducted numerous simulations to validate them. We have also experimentally
evaluated those solutions and compared them with other proposed solutions using
a small demo box and later on two large scale wireless sensor testbeds and under
different test conditions. The first testbed is located in a large, shielded room,
which allows testing under controlled environments. The second testbed is located
inside an operational office building and thus allows testing under normal operation
conditions. Those tests revealed performance issues and some other problems.
We have provided some solutions and suggestions for tackling those problems.
Apart from the main contributions, two other relevant outcomes of this PhD are
described in the appendices. In the first appendix we review the most important
IETF standardization efforts related to the IoT and show that with the introduction
of CoAP a complete set of standard protocols has become available to cover the
complete networking stack and thus making the step from the IoT into the Web
of Things (WoT). Using only standard protocols makes it possible to integrate
devices from various vendors into one bigWoT accessible to humans and machines
alike.
In the second appendix, we provide an alternative solution for grouping constrained
devices by using virtualization techniques. Our approach focuses on the
objects, both resource-constrained and non-constrained, that need to cooperate
by integrating them into a secured virtual network, named an Internet of Things
Virtual Network or IoT-VN. Inside this IoT-VN full end-to-end communication
can take place through the use of protocols that take the limitations of the most
resource-constrained devices into account. We describe how this concept maps to
several generic use cases and, as such, can constitute a valid alternative approach
for supporting selected applications
Performance Assessment of Routing Protocols for IoT/6LoWPAN Networks
The Internet of Things (IoT) proposes a disruptive communication paradigm that allows
smart objects to exchange data among themselves to reach a common goal. IoT application
scenarios are multiple and can range from a simple smart home lighting system to fully controlled
automated manufacturing chains. In the majority of IoT deployments, things are equipped with
small devices that can suffer from severe hardware and energy restrictions that are responsible
for performing data processing and wireless communication tasks. Thus, due to their features,
communication networks that are used by these devices are generally categorized as Low Power
and Lossy Networks (LLNs).
The considerable variation in IoT applications represents a critical issue to LLN networks,
which should offer support to different requirements as well as keeping reasonable
quality-of-service (QoS) levels. Based on this challenge, routing protocols represent a key issue
in IoT scenarios deployment. Routing protocols are responsible for creating paths among devices
and their interactions. Hence, network performance and features are highly dependent
on protocol behavior. Also, based on the adopted protocol, the support for some specific requirements
of IoT applications may or may not be provided. Thus, a routing protocol should be
projected to attend the needs of the applications considering the limitations of the device that
will execute them.
Looking to attend the demand of routing protocols for LLNs and, consequently, for IoT
networks, the Internet Engineering Task Force (IETF) has designed and standardized the IPv6
Routing Protocol for Low Power and Lossy Networks (RPL). This protocol, although being robust
and offering features to fulfill the need of several applications, still presents several faults and
weaknesses (mainly related to its high complexity and memory requirement), which limits its
adoption in IoT scenarios. An alternative to RPL, the Lightweight On-demand Ad Hoc Distancevector
Routing Protocol – Next Generation (LOADng) has emerged as a less complicated routing
solution for LLNs. However, the cost of its simplicity is paid for with the absence of adequate
support for a critical set of features required for many IoT environments. Thus, based on the
challenging open issues related to routing in IoT networks, this thesis aims to study and propose
contributions to better attend the network requirements of IoT scenarios. A comprehensive survey,
reviewing state-of-the-art routing protocols adopted for IoT, identified the strengths and
weaknesses of current solutions available in the literature. Based on the identified limitations,
a set of improvements is designed to overcome these issues and enhance IoT network performance.
The novel solutions are proposed to include reliable and efficient support to attend
the needs of IoT applications, such as mobility, heterogeneity, and different traffic patterns.
Moreover, mechanisms to improve the network performance in IoT scenarios, which integrate
devices with different communication technologies, are introduced.
The studies conducted to assess the performance of the proposed solutions showed
the high potential of the proposed solutions. When the approaches presented in this thesis
were compared with others available in the literature, they presented very promising results
considering the metrics related to the Quality of Service (QoS), network and energy efficiency,
and memory usage as well as adding new features to the base protocols. Hence, it is believed
that the proposed improvements contribute to the state-of-the-art of routing solutions for IoT
networks, increasing the performance and adoption of enhanced protocols.A Internet das Coisas, do inglês Internet of Things (IoT), propõe um paradigma de
comunicação disruptivo para possibilitar que dispositivos, que podem ser dotados de comportamentos
autónomos ou inteligentes, troquem dados entre eles buscando alcançar um objetivo
comum. Os cenários de aplicação do IoT são muito variados e podem abranger desde um simples
sistema de iluminação para casa até o controle total de uma linha de produção industrial. Na
maioria das instalações IoT, as “coisas” são equipadas com um pequeno dispositivo, responsável
por realizar as tarefas de comunicação e processamento de dados, que pode sofrer com severas
restrições de hardware e energia. Assim, devido às suas características, a rede de comunicação
criada por esses dispositivos é geralmente categorizada como uma Low Power and Lossy Network
(LLN).
A grande variedade de cenários IoT representam uma questão crucial para as LLNs,
que devem oferecer suporte aos diferentes requisitos das aplicações, além de manter níveis
de qualidade de serviço, do inglês Quality of Service (QoS), adequados. Baseado neste desafio,
os protocolos de encaminhamento constituem um aspecto chave na implementação de
cenários IoT. Os protocolos de encaminhamento são responsáveis por criar os caminhos entre
os dispositivos e permitir suas interações. Assim, o desempenho e as características da rede
são altamente dependentes do comportamento destes protocolos. Adicionalmente, com base
no protocolo adotado, o suporte a alguns requisitos específicos das aplicações de IoT podem
ou não ser fornecidos. Portanto, estes protocolos devem ser projetados para atender as necessidades
das aplicações assim como considerando as limitações do hardware no qual serão
executados.
Procurando atender às necessidades dos protocolos de encaminhamento em LLNs e,
consequentemente, das redes IoT, a Internet Engineering Task Force (IETF) desenvolveu e padronizou
o IPv6 Routing Protocol for Low Power and Lossy Networks (RPL). O protocolo, embora
seja robusto e ofereça recursos para atender às necessidades de diferentes aplicações, apresenta
algumas falhas e fraquezas (principalmente relacionadas com a sua alta complexidade e
necessidade de memória) que limitam sua adoção em cenários IoT. Em alternativa ao RPL, o
Lightweight On-demand Ad hoc Distance-vector Routing Protocol – Next Generation (LOADng)
emergiu como uma solução de encaminhamento menos complexa para as LLNs. Contudo, o
preço da simplicidade é pago com a falta de suporte adequado para um conjunto de recursos
essenciais necessários em muitos ambientes IoT. Assim, inspirado pelas desafiadoras questões
ainda em aberto relacionadas com o encaminhamento em redes IoT, esta tese tem como objetivo
estudar e propor contribuições para melhor atender os requisitos de rede em cenários IoT.
Uma profunda e abrangente revisão do estado da arte sobre os protocolos de encaminhamento
adotados em IoT identificou os pontos fortes e limitações das soluções atuais. Com base nas debilidades
encontradas, um conjunto de soluções de melhoria é proposto para superar carências
existentes e melhorar o desempenho das redes IoT. As novas soluções são propostas para incluir
um suporte confiável e eficiente capaz atender às necessidades das aplicações IoT relacionadas
com suporte à mobilidade, heterogeneidade dos dispositivos e diferentes padrões de tráfego.
Além disso, são introduzidos mecanismos para melhorar o desempenho da rede em cenários IoT
que integram dispositivos com diferentes tecnologias de comunicação.
Os vários estudos realizados para mensurar o desempenho das soluções propostas mostraram
o grande potencial do conjunto de melhorias introduzidas. Quando comparadas com
outras abordagens existentes na literatura, as soluções propostas nesta tese demonstraram um aumento do desempenho consistente para métricas relacionadas a qualidade de serviço, uso de
memória, eficiência energética e de rede, além de adicionar novas funcionalidades aos protocolos
base. Portanto, acredita-se que as melhorias propostas contribuiem para o avanço do estado
da arte em soluções de encaminhamento para redes IoT e aumentar a adoção e utilização dos
protocolos estudados