Interoperability Luca Mottola slides partly by Simon Duquennoy Politecnico di Milano, Italy and Swedish Institute of Computer Science
Not just stand-alone systems … 2
NES in business processes! 3
Motivation WSNs as stand-alone systems, WSNs integrated with company back-end, programmed by WSN geeks programmed by business process experts
Applications - Smart buildings - Supply chain management - Factory automation - … - Sensor abstraction layers are not enough! - Business processes must cross gateway boundaries ‣ distributed in-network control ‣ disconnected operation
makeSense Business Application Model Process Macroprogramming WSN Abstractions Run-time Support Sensor Node
Macroprogramming Language Meta-Abstraction <<use>> Action Modifier Target Target 1 Distributed Action Local Action <<use>> <<use>> <<use>> Tell Action Report Action Data Operator 0..1 Collective Action f(x1 .. xn) Report Tell Collective Data Operator
Application Model 9
Application Model Target Report 1 0
What about the Internet of Things? 1 1
CISCO ’ s Vision “Size doubling every 5.32 years. The IoT was born between 2008 and 2009.” Source: Cisco IBSG, April 2011 1 2
IPv6 in the IoT and Sensor Networks - Connect heterogeneous links ‣ Getting Wifi, bluethooth, 802.15.4 to talk together - Connect heterogeneous applications ‣ For the benefit of the user - Rely on stable, tested standards - Benefits of IPv6 over v4 ‣ Scalability ‣ Stateless autoconfiguration 1 3
The IPv6 Embedded Stack HTTP XMPP .. CoAP .. - Traditional IP stack TCP UDP - Many of recent IETF standards - IPv6 (+ 6LoWPAN) + RPL IPv6 as the “ narrow waist ” Wifi 802.15.4 PLC Bluetooth .. - Runs in system with a few kB memory 1 4
Link Layer - IP connects a variety of link layers HTTP XMPP .. CoAP .. - Wired or wireless TCP UDP - Sensor and smart object link layers are often lossy IPv6 (+ 6LoWPAN) + RPL Wifi 802.15.4 PLC Bluetooth .. 1 5
Network Layer - Narrow waist of the stack - IPv6 (for scalability and autoconfiguration) - 6LoWPAN brings IPv6 to 802.15.4 - RPL: routing over low-power and lossy links HTTP XMPP .. CoAP .. TCP UDP IPv6 (+ 6LoWPAN) + RPL Wifi 802.15.4 PLC Bluetooth .. 1 6
The 6LoWPAN Adaptation Layer - IPv6 ‣ 128-bit addresses, 40-byte header, minimum MTU of 1280 bytes - 802.15.4 ‣ Only 127 bytes per packet... - 6LoWPAN, RFC 4944 ‣ Header compression (down to 2 bytes!), layer 2.5 fragmentation 1 7
The RPL Routing Protocol - IETF Working Group Roll Root ¡ - RPL protocol, RFC 6550 - 4 ¡ Challenges addressed by Roll: 3 ¡ 2 ¡ ‣ Target networks optimized for saving energy 5 ¡ ‣ Traffic pattern is not unicast-only 6 ¡ ‣ Restrications on the frame size 8 ¡ ‣ 7 ¡ Efficiency-generality tradeoff - example DODAG Routing based on a DODAG topology 1 8
Transport Layer - Like in the traditional Internet: TCP and UDP - No specific adaptation (other than 6LoWPAN compression) HTTP XMPP .. CoAP .. TCP UDP IPv6 (+ 6LoWPAN) + RPL Wifi 802.15.4 PLC Bluetooth .. 1 9
TCP and UDP on Resource-constrained Devices - UDP is cheap and suits traditional sensing - TCP more complex and some known issues ‣ Issues with congestion control ‣ Overhead of connection establishment ‣ Overhead of acknowledgments and reordering ‣ Never say never : IP, and then IPv6, were considered too expansive too! 2 0
Application Layer - A variety of application layers - Borrowed from the Internet (HTTP, XMPP) or not (CoAP) - Most common goal: enable RESTful interaction HTTP XMPP .. CoAP .. TCP UDP IPv6 (+ 6LoWPAN) + RPL Wifi 802.15.4 PLC Bluetooth .. 2 1
HTTP and the Web of Things - Enables direct connection to existing servers and clients - Lightweight HTTP implementations ‣ Embeds an HTTP server is systems with < 10kB code memory ‣ Contiki has Web server and clients: connect small sensor nodes and actuators ‣ HTTP servers run on Sun SPOT (i.e. embedded HTTP+java solution) 2 2
RESTful Smart Objects - Protocol ‣ HTTP as the main/first standard protocol ‣ CoAP as a more lightweight alternative (detailed later) - Interface example - GET ¡/sensors/temperature ¡ - POST ¡/light?intensity=40 ¡ - An API to the world! ‣ Programmable with any scripting language ‣ Browsable from any device (computer, tabled, phone) - Often referred to as the “ Web of Things ” ‣ Check out www.webofthings.com ¡ ! 2 3
CoAP and the Web of Things - From the IETF CoRE working group - Brings REST to the smallest devices ‣ Uses UDP instead of TCP ‣ Reduces HTTP header overhead - Comes with new features ‣ Built-in server-push capability ‣ Resource description (CoRE) link format ‣ Group communication (multicast) 2 4
The cloud in the loop! 2 5
Cloud Computing - Storage and applications as a service - Took off insanely quickly (quicker than IoT ;)) 2 6
A Cloud-centric IoT app app app app app 2 7
Social Aspects - Connect your world to your social networks! - Discover friend’s resources, devices and data - Create new interactions 2 8
Example: Participatory Sensing - An initiative of Deborah Estrin at UCLA - Smartphone-based sensing - Data posted to the cloud by users - Feedback helps user - Ex: Noisetub, in Paris ‣ Monitoring noise pollution 2 9
Xively, an Online Platform for the IoT - Formerly Cosm and Pachube - Stores and shows sensing data - Allows users to set triggers - Supports applications - Visualize from your Computer, phone, tablet Some other existing platforms: sen.se, evrythng, thingsquare, … 3 0
SicsthSense: an Open Sensor Cloud Platform - Connect Contiki, other sensors, smartphones, internet services - Perform in-Cloud management, processing and triggering - Dumb devices, smartness in the cloud! - It’s open ‣ Open source (BSD) ‣ Freely usable at sense.sics.se ¡ 3 1
More on SicsthSense - Devices may post or be polled - Both HTTP and CoAP, soon XMPP - Manage access rights - Organize your resources as a drive - Feel free to start using J 3 2
Recommend
More recommend