Middleware for the Internet of Things Revision : 536 Chantal - - PowerPoint PPT Presentation

middleware for the internet of things
SMART_READER_LITE
LIVE PREVIEW

Middleware for the Internet of Things Revision : 536 Chantal - - PowerPoint PPT Presentation

Middleware for the Internet of Things Revision : 536 Chantal Taconet SAMOVAR, Tlcom SudParis, CNRS, Universit Paris-Saclay September 2017 Outline 1. Internet of Things (IoT) 2. Middleware for the IoT 3. Standardization, reference


slide-1
SLIDE 1

Middleware for the Internet

  • f Things

Revision : 536

Chantal Taconet

SAMOVAR, Télécom SudParis, CNRS, Université Paris-Saclay September 2017

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Internet of Things (IoT)

Internet of things, Internet of everything

Image extracted from [Shelby, 2010] 3/52 M4IoT

slide-4
SLIDE 4

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

slide-5
SLIDE 5

Internet of Things (IoT)

Hype Cycle for Emerging Technologies

5/52 M4IoT

slide-6
SLIDE 6

Internet of Things (IoT)

From IoT silos to Internet Openness

Image extracted from http://www.libelium.com/ 6/52 M4IoT

slide-7
SLIDE 7

Internet of Things (IoT)

Opportunity to build new mass services

Image extracted from http://www.libelium.com/ 7/52 M4IoT

slide-8
SLIDE 8

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

slide-9
SLIDE 9

Middleware for the IoT

Middleware for the IoT

Master the growing complexity of interactions

Master the heterogeneity Handle many interaction levels Facilitate the development through

abstractions, patterns and API

Communication substrate Application Application

...

OS OS OS OS

Dedicated API

...

Standard API

Aggregator Collector Middleware

9/52 M4IoT

slide-10
SLIDE 10

Middleware for the IoT

Middleware for the IoT

Master the growing complexity of interactions

Master the heterogeneity Handle many interaction levels Facilitate the development through

abstractions, patterns and API

Communication substrate Application Application

...

OS OS OS OS

Dedicated API

...

Standard API

Aggregator Collector Middleware

9/52 M4IoT

slide-11
SLIDE 11

Middleware for the IoT

Middleware for the IoT

Master the growing complexity of interactions

Master the heterogeneity Handle many interaction levels Facilitate the development through

abstractions, patterns and API

Communication substrate Application Application

...

OS OS OS OS

Dedicated API

...

Standard API

Aggregator Collector Middleware

9/52 M4IoT

slide-12
SLIDE 12

Middleware for the IoT

Middleware for the IoT

Master the growing complexity of interactions

Master the heterogeneity Handle many interaction levels Facilitate the development through

abstractions, patterns and API

Communication substrate Application Application

...

OS OS OS OS

Dedicated API

...

Standard API

Aggregator Collector Middleware

9/52 M4IoT

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

Standardization, reference architectures and emerging platforms

Plan

  • 1. Internet of Things (IoT)
  • 2. Middleware for the IoT
  • 3. Standardization, reference architectures and emerging platforms

3.1 Standardization 3.2 IoT Reference architecture 3.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

slide-24
SLIDE 24

Standardization, reference architectures and emerging platforms

IoT heterogeneities requires standardization

Protocols, API, architectural patterns independant of the application

domains

12/52 M4IoT

slide-25
SLIDE 25

Standardization, reference architectures and emerging platforms Standardization

Standard organizations

Image extracted from AIOTI Alliance for internet of things innovation 13/52 M4IoT

slide-26
SLIDE 26

Standardization, reference architectures and emerging platforms Standardization Image extracted from http://www.societe-informatique-de-france.fr/wp-content/uploads/2015/12/IOT-Présentation-Orange.pdf 14/52 M4IoT

slide-27
SLIDE 27

Standardization, reference architectures and emerging platforms Standardization

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

  • neM2M - 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

slide-28
SLIDE 28

Standardization, reference architectures and emerging platforms Standardization

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

slide-29
SLIDE 29

Standardization, reference architectures and emerging platforms IoT Reference architecture

Reference architecture

Definition

A Reference Architecture is an architectural design pattern that indicates how an abstract set of relationships realises a set of requirements. The main purpose of a RA is to provide guidance for the development of concrete architectures.

17/52 M4IoT

slide-30
SLIDE 30

Standardization, reference architectures and emerging platforms IoT Reference architecture

WSO2 architecture

Image extracted from http://wso2.com/solutions/iot/ 18/52 M4IoT

slide-31
SLIDE 31

Standardization, reference architectures and emerging platforms IoT Reference architecture

IoT-A Architecture Functional view

Image extracted from http://www.iot-a.eu/ 19/52 M4IoT

slide-32
SLIDE 32

Standardization, reference architectures and emerging platforms IoT Reference architecture

IoT-Service and Virtual-Entity abstraction levels

Image extracted from http://www.iot-a.eu/ 20/52 M4IoT

slide-33
SLIDE 33

Standardization, reference architectures and emerging platforms Example of Emerging IoT Platforms

Cloud for IoT

21/52 M4IoT

slide-34
SLIDE 34

Standardization, reference architectures and emerging platforms Example of Emerging IoT Platforms

Amazon IoT platform

Image extracted from https://aws.amazon.com/fr/iot-platform 22/52 M4IoT

slide-35
SLIDE 35

Standardization, reference architectures and emerging platforms Example 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

slide-36
SLIDE 36

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 protocols

4.1 Interaction design patterns 4.2 Publish/Subscribe 4.3 REST API 4.4 CoAP

  • 5. OneM2M example of a standardized IoT platform
  • 6. Conclusions

24/52 M4IoT

slide-37
SLIDE 37

Interaction models and standard protocols

Distributed architecture and IoT platform

IoT platforms —i.e. software providing the proper level of abstraction to

end-users’ applications: discovery of Internet objects, storage of context data, context management, data analysis.

25/52 M4IoT

slide-38
SLIDE 38

Interaction models and standard protocols Interaction design patterns

Basic interactions

26/52 M4IoT

slide-39
SLIDE 39

Interaction models and standard protocols Interaction design patterns

Publish/subscribe example

27/52 M4IoT

slide-40
SLIDE 40

Interaction models and standard protocols Interaction design patterns

Publish/subscribe sequence diagram

28/52 M4IoT

slide-41
SLIDE 41

Interaction models and standard protocols Publish/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

slide-42
SLIDE 42

Interaction models and standard protocols Publish/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

slide-43
SLIDE 43

Interaction models and standard protocols REST 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

slide-44
SLIDE 44

Interaction models and standard protocols REST API

Web architecture

32/52 M4IoT

slide-45
SLIDE 45

Interaction models and standard protocols CoAP

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

slide-46
SLIDE 46

Interaction models and standard protocols CoAP

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

slide-47
SLIDE 47

Interaction models and standard protocols CoAP

Gateway architecture

Image extracted from http://electronicdesign.com/iot/mqtt-and-coap-underlying-protocols-iot 35/52 M4IoT

slide-48
SLIDE 48

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 platform

5.1 OneM2M functional architecture 5.2 OneM2M Protocol 5.3 OM2M demo

  • 6. Conclusions

36/52 M4IoT

slide-49
SLIDE 49

OneM2M example of a standardized IoT platform

OneM2M

  • is a global organization started in July 2012 that creates

requirements, architecture, API specifications, security solutions and interoperability for Machine-to-Machine and IoT technologies

OneM2M is a standard that provides a standardized interface to manage

and interact with all kind of devices

Technical Specifications V1.6.1 January 2015

37/52 M4IoT

slide-50
SLIDE 50

OneM2M example of a standardized IoT platform

OneM2M and other standards

38/52 M4IoT

slide-51
SLIDE 51

OneM2M example of a standardized IoT platform OneM2M 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

slide-52
SLIDE 52

OneM2M example of a standardized IoT platform OneM2M functional architecture

Application Entity (AE) and

Application Entity

Application Entity provides Application logic for the end-to-end M2M

solutions

Examples of the Application Entities can be fleet tracking application,

remote blood sugar monitoring application, or remote power metering and controlling application

Underlying Network Services Entity (NSE)

An Underlying Network Services Entity provides services to the CSEs.

Examples of such services include device management, location services and device triggering. No particular organization of the NSEs is assumed.

40/52 M4IoT

slide-53
SLIDE 53

OneM2M example of a standardized IoT platform OneM2M 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 Reference

Points Mca, Mcc, Mcn.

Examples of service functions offered by CSE are: Data Management,

Node Management, M2M Subscription Management, Location Services

  • etc. Such "sub-functions" offered by a CSE may be logically apprehended

as Common Services Functions (CSFs). Inside a CSE, some of the CSFs can be mandatory and others can be optional.

41/52 M4IoT

slide-54
SLIDE 54

OneM2M example of a standardized IoT platform OneM2M functional architecture

OneM2M functional Architecture

42/52 M4IoT

slide-55
SLIDE 55

OneM2M example of a standardized IoT platform OneM2M functional architecture

OneM2M Common Service Functions

43/52 M4IoT

slide-56
SLIDE 56

OneM2M example of a standardized IoT platform OneM2M functional architecture

Container resource

44/52 M4IoT

slide-57
SLIDE 57

OneM2M example of a standardized IoT platform OneM2M Protocol

Create resource sequence diagram

45/52 M4IoT

slide-58
SLIDE 58

OneM2M example of a standardized IoT platform OneM2M Protocol

Access resource sequence diagram (direct)

46/52 M4IoT

slide-59
SLIDE 59

OneM2M example of a standardized IoT platform OneM2M Protocol

Access resource sequence diagram (one hop)

47/52 M4IoT

slide-60
SLIDE 60

OneM2M example of a standardized IoT platform OneM2M Protocol

Communication protocol bindings

48/52 M4IoT

slide-61
SLIDE 61

OneM2M example of a standardized IoT platform OM2M demo

OM2M a OneM2M implementation

  • is a eclipse IoT

Project initiated by the Toulouse LAAS 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

slide-62
SLIDE 62

OneM2M example of a standardized IoT platform OM2M demo

OM2M demo architecture

50/52 M4IoT

slide-63
SLIDE 63

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

slide-64
SLIDE 64

Conclusions

Conclusions

Some mature Internet standards enable IoT interactions (RESTfull

architecture, 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

slide-65
SLIDE 65

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