middleware for the internet of things - revision: 536€¦ · middleware for the internet of things...
TRANSCRIPT
Middleware for the Internetof ThingsRevision : 536
Chantal TaconetSAMOVAR, Télécom SudParis, CNRS, Université Paris-Saclay
September 2017
Outline
1. Internet of Things (IoT)
2. Middleware for the IoT
3. Standardization, reference architectures and emerging platforms
4. Interaction models and standard protocols
5. OneM2M example of a standardized IoT platform
6. Conclusions
2/52 M4IoT
Internet of Things (IoT)
Internet of things, Internet of everything
Image extracted from [Shelby, 2010]
3/52 M4IoT
Internet of Things (IoT)
IoT impacts the Internet� Huge number of connected objects
� High heterogeneity
Image extracted from http://canadablog.cisco.com/2013/09/24/for-canada-how-big-is-everything-in-the-internet-of-everything
4/52 M4IoT
Internet of Things (IoT)
Hype Cycle for Emerging Technologies
5/52 M4IoT
Internet of Things (IoT)
From IoT silos to Internet Openness
Image extracted from http://www.libelium.com/
6/52 M4IoT
Internet of Things (IoT)
Opportunity to build new mass services
Image extracted from http://www.libelium.com/
7/52 M4IoT
Middleware for the IoT
Plan
1. Internet of Things (IoT)
2. Middleware for the IoT
3. Standardization, reference architectures and emerging platforms
4. Interaction models and standard protocols
5. OneM2M example of a standardized IoT platform
6. Conclusions
8/52 M4IoT
Middleware for the IoT
Middleware for the IoTMaster the growing complexity ofinteractions� Master the heterogeneity
� Handle many interaction levels
� Facilitate the development throughabstractions, patterns and API
Communication substrate
Application Application
...OS OS OS OS
Dedicated API
...Standard API
AggregatorCollector
Middleware
9/52 M4IoT
Middleware for the IoT
Middleware for the IoTMaster the growing complexity ofinteractions� Master the heterogeneity
� Handle many interaction levels
� Facilitate the development throughabstractions, patterns and API
Communication substrate
Application Application
...OS OS OS OS
Dedicated API
...Standard API
AggregatorCollector
Middleware
9/52 M4IoT
Middleware for the IoT
Middleware for the IoTMaster the growing complexity ofinteractions� Master the heterogeneity
� Handle many interaction levels
� Facilitate the development throughabstractions, patterns and API
Communication substrate
Application Application
...OS OS OS OS
Dedicated API
...Standard API
AggregatorCollector
Middleware
9/52 M4IoT
Middleware for the IoT
Middleware for the IoTMaster the growing complexity ofinteractions� Master the heterogeneity
� Handle many interaction levels
� Facilitate the development throughabstractions, patterns and API
Communication substrate
Application Application
...OS OS OS OS
Dedicated API
...Standard API
AggregatorCollector
Middleware
9/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges and propositions
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges and propositions
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges and propositions
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges and propositions
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges and propositions
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Middleware for the IoT
Middleware for IoT challenges and propositions
� Massive scale: Continuous vast flows of data
→ Filter data
� Complex systems: Involving connected objects, mobiles,cloudlets [Satyanarayanan et al., 2009], clouds
→ Reduce the complexity→ Software engineering (design process, code generation, specific APIs)
� Open access: Decoupled producers and consumers
→ Ensure privacy→ Qualify data/context (QoC)
[Blair et al., 2016, Stankovic, 2014]
10/52 M4IoT
Standardization, reference architectures and emerging platforms
Plan
1. Internet of Things (IoT)
2. Middleware for the IoT
3. Standardization, reference architectures and emerging platforms3.1 Standardization3.2 IoT Reference architecture3.3 Example of Emerging IoT Platforms
4. Interaction models and standard protocols
5. OneM2M example of a standardized IoT platform
6. Conclusions
11/52 M4IoT
Standardization, reference architectures and emerging platforms
IoT heterogeneities requires standardization
� Protocols, API, architectural patterns independant of the applicationdomains
12/52 M4IoT
Standardization, reference architectures and emerging platformsStandardization
Standard organizations
Imageextracted from AIOTI Alliance for internet of things innovation
13/52 M4IoT
Standardization, reference architectures and emerging platformsStandardization
Image extracted from http://www.societe-informatique-de-france.fr/wp-content/uploads/2015/12/IOT-Présentation-Orange.pdf
14/52 M4IoT
Standardization, reference architectures and emerging platformsStandardization
Some standardization organizations and IoT� IETF
• Constrained RESTful Environments (CoAP)• IPv6 over Low-power WPAN (6LoWPAN)• Transport Layer Security: TLS/DTLS profile suitable for constrained IoT
devices
� OASIS (MQTT) publish/subscribe
� oneM2M - Standards for M2M and the Internet of Things
� W3C Web of Things
• Rich metadata that describes the data (XML Schemas)• Interaction models exposed to applications(http/REST APIs)• Semantics of things (SAN, SSN Semantic Actuator/Sensor Network)
� IoT security foundation (guide for privacy and trust)
15/52 M4IoT
Standardization, reference architectures and emerging platformsStandardization
Big actors propositions for the IoT
� Google IoT
� Amazon IoT platform
� Eclipse IoT
� Oracle Internet of Things Cloud Service
� Azure IoT (microsoft)
� Samsung IoT platform . . .
� . . .
16/52 M4IoT
Standardization, reference architectures and emerging platformsIoT Reference architecture
Reference architecture
DefinitionA Reference Architecture is an architectural design pattern that indicates howan abstract set of relationships realises a set of requirements. The mainpurpose of a RA is to provide guidance for the development of concretearchitectures.
17/52 M4IoT
Standardization, reference architectures and emerging platformsIoT Reference architecture
WSO2 architecture
Image extracted from http://wso2.com/solutions/iot/
18/52 M4IoT
Standardization, reference architectures and emerging platformsIoT Reference architecture
IoT-A Architecture Functional view
Image extracted from http://www.iot-a.eu/
19/52 M4IoT
Standardization, reference architectures and emerging platformsIoT Reference architecture
IoT-Service and Virtual-Entity abstraction levels
Image extracted from http://www.iot-a.eu/
20/52 M4IoT
Standardization, reference architectures and emerging platformsExample of Emerging IoT Platforms
Cloud for IoT
21/52 M4IoT
Standardization, reference architectures and emerging platformsExample of Emerging IoT Platforms
Amazon IoT platform
Image extracted from https://aws.amazon.com/fr/iot-platform
22/52 M4IoT
Standardization, reference architectures and emerging platformsExample of Emerging IoT Platforms
Samsung Artik platform
Image extracted from https://horovits.files.wordpress.com/2015/05/samsung-smartthings-opencloud-sami-architecture.png
23/52 M4IoT
Interaction models and standard protocols
Plan
1. Internet of Things (IoT)
2. Middleware for the IoT
3. Standardization, reference architectures and emerging platforms
4. Interaction models and standard protocols4.1 Interaction design patterns4.2 Publish/Subscribe4.3 REST API4.4 CoAP
5. OneM2M example of a standardized IoT platform
6. Conclusions
24/52 M4IoT
Interaction models and standard protocols
Distributed architecture and IoT platform
� IoT platforms —i.e. software providing the proper level of abstraction toend-users’ applications: discovery of Internet objects, storage of contextdata, context management, data analysis.
25/52 M4IoT
Interaction models and standard protocolsInteraction design patterns
Basic interactions
26/52 M4IoT
Interaction models and standard protocolsInteraction design patterns
Publish/subscribe example
27/52 M4IoT
Interaction models and standard protocolsInteraction design patterns
Publish/subscribe sequence diagram
28/52 M4IoT
Interaction models and standard protocolsPublish/Subscribe
MQTT Message Queue Telemetry Transport� OASIS standard adopted by IoT platforms (e.g., Amazon IoT, Om2M)
� Light publish subscribe protocol suited for M2M
• 2 bytes overhead by message• MQTT-SN variation for non IP network
� Many implementations e.g.,
• Mosquitto/Paho (eclipse IoT)• RabbitMQ MQTT adapter
Image extracted from https://zoetrope.io/tech-blog/brief-practical-introduction-mqtt-protocol-and-its-application-iot
29/52 M4IoT
Interaction models and standard protocolsPublish/Subscribe
Data Distribution Service (DDS-OMG)� Publish subscribe . . . and filter
Image extracted from http://portals.omg.org/dds/what-is-dds-3/
30/52 M4IoT
Interaction models and standard protocolsREST API
REST API
� REST interactions to interact with sensors/actuators
• Resource oriented• URI Universal Resource Identifier• XML/JSon. . . data representations• Resources linked to other resources (in resource representations)
31/52 M4IoT
Interaction models and standard protocolsREST API
Web architecture
32/52 M4IoT
Interaction models and standard protocolsCoAP
Constrained Application Protocol (CoAP)� Motivation : Rest-Like APIs for constrained devices
• Low memory• Battery consumption concern (periodical wakeup)
Image extracted from CoAP: An Application Protocol for Billions of Tiny Internet Nodes
33/52 M4IoT
Interaction models and standard protocolsCoAP
CoAP in a nutshell (cf. RFC7252)� Protocol stack, CoAP above UDP� Lightweight messages: 4-byte header + Type-Length-Value format� Multicast support� Reliable or not reliable messages (optional ACK)� GET/PUT/POST/DELETE Requests� Single request may yield multiple responses
• for a multicast request (responses from different servers)• or with the Observe option (many responses from one server)
� Proxy nodes to provide access to CoAP resources via HTTP• Caching based on max-age
� Support for the discovery of resources
Many implementations� Californium (eclipse IoT)
34/52 M4IoT
Interaction models and standard protocolsCoAP
Gateway architecture
Image extracted from http://electronicdesign.com/iot/mqtt-and-coap-underlying-protocols-iot
35/52 M4IoT
OneM2M example of a standardized IoT platform
Plan
1. Internet of Things (IoT)
2. Middleware for the IoT
3. Standardization, reference architectures and emerging platforms
4. Interaction models and standard protocols
5. OneM2M example of a standardized IoT platform5.1 OneM2M functional architecture5.2 OneM2M Protocol5.3 OM2M demo
6. Conclusions
36/52 M4IoT
OneM2M example of a standardized IoT platform
OneM2M
� is a global organization started in July 2012 that createsrequirements, architecture, API specifications, security solutions andinteroperability for Machine-to-Machine and IoT technologies
� OneM2M is a standard that provides a standardized interface to manageand interact with all kind of devices
� Technical Specifications V1.6.1 January 2015
37/52 M4IoT
OneM2M example of a standardized IoT platform
OneM2M and other standards
38/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M functional architecture
OneM2M Distributed Architecture
� Application Entity (AE): sensors and applications
� Common Service Entity (CSE): server
� Network Services Entity (NSE): device management, location services
39/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M functional architecture
Application Entity (AE) and
Application Entity
� Application Entity provides Application logic for the end-to-end M2Msolutions
� Examples of the Application Entities can be fleet tracking application,remote blood sugar monitoring application, or remote power metering andcontrolling application
Underlying Network Services Entity (NSE)
� An Underlying Network Services Entity provides services to the CSEs.Examples of such services include device management, location servicesand device triggering. No particular organization of the NSEs is assumed.
40/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M functional architecture
Common Service Entity (CSE)
Common Service Entity (CSE)
� A Common Services Entity comprises the set of ”service functions”common to the M2M environments.
� Such service functions are exposed to other entities through ReferencePoints Mca, Mcc, Mcn.
� Examples of service functions offered by CSE are: Data Management,Node Management, M2M Subscription Management, Location Servicesetc. Such "sub-functions" offered by a CSE may be logically apprehendedas Common Services Functions (CSFs). Inside a CSE, some of the CSFscan be mandatory and others can be optional.
41/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M functional architecture
OneM2M functional Architecture
42/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M functional architecture
OneM2M Common Service Functions
43/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M functional architecture
Container resource
44/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M Protocol
Create resource sequence diagram
45/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M Protocol
Access resource sequence diagram (direct)
46/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M Protocol
Access resource sequence diagram (one hop)
47/52 M4IoT
OneM2M example of a standardized IoT platformOneM2M Protocol
Communication protocol bindings
48/52 M4IoT
OneM2M example of a standardized IoT platformOM2M demo
OM2M a OneM2M implementation
� is a eclipse IoT Project initiated by the ToulouseLAAS laboratory
� It provides a horizontal Service Common Entity (CSE)that can be deployed in an M2M server, a gateway, or a device.
� Each CSE provides Application Enablement, Security, Triggering,Notification, Persistency, Device Interworking, Device Management, etc.
� Storage mode: SQL and NoSQL (SQL H2 by default)
� OSGI framework
� Protocol bindings: CoAP REST and MQTT
49/52 M4IoT
OneM2M example of a standardized IoT platformOM2M demo
OM2M demo architecture
50/52 M4IoT
Conclusions
Plan
1. Internet of Things (IoT)
2. Middleware for the IoT
3. Standardization, reference architectures and emerging platforms
4. Interaction models and standard protocols
5. OneM2M example of a standardized IoT platform
6. Conclusions
51/52 M4IoT
Conclusions
Conclusions
� Some mature Internet standards enable IoT interactions (RESTfullarchitecture, representation formats, security TLS/DTLS)
� IoT specific standards are emerging (e.g., OneM2M)
• Maturity not yet achieved
� Some efforts still necessary, e.g.,
• Discovery services for the IoT• Security for the IoT (in term of privacy and trust)• Data composition and filtering
� to build high level services, data analysis etc.
52/52 M4IoT
References
Blair, G., Schmidt, D., et al. (2016).
Middleware for Internet distribution in the context of cloud computing and the Internet of Things, editorial introduction.
Annals of Telecommunications, ON LINE FIRST SINCE 2016, February 26:1–6.
Satyanarayanan, M., Bahl, P., Caceres, R., et al. (2009).
The case for vm-based cloudlets in mobile computing.
IEEE Pervasive Computing, 8:14–23.
Shelby, Z. (2010).
Embedded web services.
Wireless Communications, IEEE, 17(6):52–57.
Stankovic, J. A. (2014).
Research Directions for the Internet of Things.
IEEE Internet of Things Journal, 1(1):3–9.
53/52 M4IoT