introduction to platforms of services for the internet of ... · internet of things (iot) some...

48
Introduction to Platforms of services for the Internet of Things Revision : 536 Chantal Taconet SAMOVAR, CNRS, T´ el´ ecom SudParis, Institut Polytechnique de Paris July 2019

Upload: others

Post on 22-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Introduction toPlatforms of services forthe Internet of ThingsRevision : 536

Chantal TaconetSAMOVAR, CNRS, Telecom SudParis, Institut Polytechnique de Paris

July 2019

Page 2: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Outline

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

2/46 07/2019 C. Taconet Platforms for IoT

Page 3: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

Internet of things, Internet of everything

Image extracted from [Shelby, 2010]

3/46 07/2019 C. Taconet Platforms for IoT

Page 4: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

Internet of things, one definition

“Everyday objects can be equipped with identifying, sensing, networking andprocessing capabilities that will allow them to communicate with one anotherand with other devices and services over the Internet to achieve some useful

objective ”[Whitmore et al., 2014]

“Interconnection of sensing and actuating devices providing the ability to shareinformation across platforms through a unified framework, developing acommon operating picture for enabling innovative applications. This isachieved by seamless large-scale sensing, data analytics and information

representation using cutting-edge ubiquitous sensing and cloud computing.”[Gubbi et al., 2013]

4/46 07/2019 C. Taconet Platforms for IoT

Page 5: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

IoT impacts the Internet High heterogeneity

Huge number of connected objects

Image extracted from http://canadablog.cisco.com/2013/09/24/for-canada-how-big-is-everything-in-the-internet-of-everything

Huge volume of produced data: 44 billion (109) of Giga byte in 2020

5/46 07/2019 C. Taconet Platforms for IoT

Page 6: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

From IoT silos to Internet Openness

Image extracted from http://www.libelium.com/

6/46 07/2019 C. Taconet Platforms for IoT

Page 7: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

Opportunity to build new mass services

Image extracted from http://www.libelium.com/

7/46 07/2019 C. Taconet Platforms for IoT

Page 8: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

IoT heterogeneity requires standardization

Protocols, API, architectural patterns independent of the applicationdomains

8/46 07/2019 C. Taconet Platforms for IoT

Page 9: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

Standard organizations related to the IoT

Image extracted from AIOTI Alliance for internet of things innovation

9/46 07/2019 C. Taconet Platforms for IoT

Page 11: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Internet of Things (IoT)

Some standardization organizations for the IoT IETF

• Constrained RESTful Environments (CoAP)• IPv6 over Low-power WPAN (6LoWPAN)• Transport Layer Security: TLS/DTLS profile suitable for constrained IoT

devices

OASIS publish/subscribe (MQTT and AMQP)

oneM2M - Standards APIs and services for M2M and the Internet of Thingsinteroperability

W3C Web of Things

• Rich metadata that describe data (XML Schemas)• Interaction models exposed to applications (http/REST APIs)• Semantics of things (SAN, SSN Semantic ontologies for Actuators/Sensors)

IoT security foundation (guide for privacy and trust)

11/46 07/2019 C. Taconet Platforms for IoT

Page 12: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Outline

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

12/46 07/2019 C. Taconet Platforms for IoT

Page 13: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Complex distributed system

13/46 07/2019 C. Taconet Platforms for IoT

Page 14: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Several level of Infrastructure

14/46 07/2019 C. Taconet Platforms for IoT

Page 15: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Cloud for IoTCloud computing is a model for enabling ubiquitous, convenient, on-demandnetwork access to a shared pool of configurable computing resources (e.g.,networks, servers, storage, applications, and services) that can be rapidlyprovisioned and released with minimal management effort or service providerinteraction. (NIST definition)

Image extracted from https://iot.eclipse.org/

15/46 07/2019 C. Taconet Platforms for IoT

Page 16: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Fog computing model

Image extracted from https://www.nist.gov/publications/fog-computing-conceptual-model

16/46 07/2019 C. Taconet Platforms for IoT

Page 17: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Fog definitions

Cisco definition [Cis, 2015]

The fog extends the cloud to be closer to the things that produce and act onIoT data. Any device with computing, storage, and network connectivity canbe a fog node.

NIST definition 2018Fog computing is a layered model for enabling ubiquitous access to a sharedcontinuum of scalable computing resources. The model facilitates thedeployment of distributed, latency-aware applications and services, andconsists of fog nodes (physical or virtual), residing between smart end-devicesand centralized (cloud) services.

17/46 07/2019 C. Taconet Platforms for IoT

Page 18: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT distributed architecture

Consider fog computing when

Data is collected at the extreme edge (e.g., vehicles, factory, roadways)

Thousands of things across a large geographic area are generating data

It is necessary to analyze and act on the data in less than a second.

• Cloud computing latency 100ms• Fog computing, latency ms, real time analysis and control

Local caching, analysis, filtering : reduce offloading

18/46 07/2019 C. Taconet Platforms for IoT

Page 19: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

Outline

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

19/46 07/2019 C. Taconet Platforms for IoT

Page 20: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

Reference architectureSoftware Architecture “The software architecture of a system is the set of structures needed to

reason about the system, which comprise software elements, relationsamong them, and properties of both” [Bass et al., 2012]

Software architecture = an abstraction —i.e. omits certain information

• Elements interact with each other by means of interfaces that partition detailsinto public and private parts

• Architecture focuses on the public side of this division

Reference ArchitectureA Reference Architecture (RA) is an architectural design pattern that indicateshow an abstract set of relationships realises a set of requirements. (OASISdefinition)The main purpose of a RA is to provide guidance for the development ofconcrete architectures.

20/46 07/2019 C. Taconet Platforms for IoT

Page 21: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

ITU-T architecture. . .

Image extracted from http://www.itu.int/ITU-T/recommendations/rec.aspx?rec=y.2060

21/46 07/2019 C. Taconet Platforms for IoT

Page 22: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

. . . and its ecosystem

Image extracted from http://www.itu.int/ITU-T/recommendations/rec.aspx?rec=y.2060

22/46 07/2019 C. Taconet Platforms for IoT

Page 23: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

WSO2 architecture

Image extracted from http://wso2.com/solutions/iot/, wso2 is an open-source technology provider for digital business

23/46 07/2019 C. Taconet Platforms for IoT

Page 24: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

IoT-A Architecture Functional view

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

24/46 07/2019 C. Taconet Platforms for IoT

Page 25: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT reference architectures

IoT-A Service and Virtual-Entity abstraction lev-els

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

25/46 07/2019 C. Taconet Platforms for IoT

Page 26: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

Outlines

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

26/46 07/2019 C. Taconet Platforms for IoT

Page 27: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

What is an IoT platform

Image extracted from https://www.kaaproject.org/what-is-iot-platform

IoT platforms —i.e. a software that enables straightforward provisioning,management, and automation of connected devices within the Internet ofThings universe.1

1. https://www.kaaproject.org/what-is-iot-platform

27/46 07/2019 C. Taconet Platforms for IoT

Page 28: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

IoT platform multi layer view

Image extracted from https://www.kaaproject.org/what-is-iot-platform

28/46 07/2019 C. Taconet Platforms for IoT

Page 29: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

Big actors propositions for the IoTCloud IoT platform

Google IoT

Amazon IoT platform

Oracle Internet of Things Cloud Service

Azure IoT (Microsoft)

Samsung IoT platform

Free software to be deployed everywhere

Eclipse IoT

Fiware (also available as a Cloud service)

Data distribution service

29/46 07/2019 C. Taconet Platforms for IoT

Page 30: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

Amazon IoT platform

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

30/46 07/2019 C. Taconet Platforms for IoT

Page 31: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

Samsung Artik platform (closed in may 2018 )

Image extracted from https://horovits.files.wordpress.com/2015/05/samsung-smartthings-opencloud-sami-architecture.png

31/46 07/2019 C. Taconet Platforms for IoT

Page 32: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

Eclipse IoT vision and tools

Image extracted from https://iot.eclipse.org/

32/46 07/2019 C. Taconet Platforms for IoT

Page 33: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

FIWARE

Image extracted from https://iot.eclipse.org/

33/46 07/2019 C. Taconet Platforms for IoT

Page 34: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

IoT Platforms

DDS Data Distribution Service (OMG)

Image extracted from https://iot.eclipse.org/

34/46 07/2019 C. Taconet Platforms for IoT

Page 35: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Middleware for the IoT

Outline

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

35/46 07/2019 C. Taconet Platforms for IoT

Page 36: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Middleware for the IoT

Middleware Middleware is computer software that connects software components or

applications. It is used most often to support complex, distributedapplications. Middleware support application development and delivery. Itdescribes a piece of software that connects two or more softwareapplications so that they can exchange data.

Application Application Application Application

Operating

System

Operating

System

Operating

System

Operating

System

Standard data

protocol

Communication subsystem / Network

Specific API

Standard API

Standard API

Specific API

Middleware

36/46 07/2019 C. Taconet Platforms for IoT

Page 37: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

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

37/46 07/2019 C. Taconet Platforms for IoT

Page 38: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

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]

38/46 07/2019 C. Taconet Platforms for IoT

Page 39: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Interaction models and standard protocols

Outline

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

39/46 07/2019 C. Taconet Platforms for IoT

Page 40: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Interaction models and standard protocols

Basic interaction patterns in distributed systems

a:Process

request

b:Process

request

handler

reply

Synchronous call

wait

a:Process

send msg 3

send msg 2

send msg 1deliver msg 1

deliver msg 2

deliver msg 3

Systemm:MsgPassing

ask for a msg

ask for a msg

ask for a msg

a:Process

event/message

b:Process

event/message

handler

b:Process

wait

Buffered messagesAsynchronous event

(push) (pull)

40/46 07/2019 C. Taconet Platforms for IoT

Page 41: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Interaction models and standard protocols

Publish/subscribe example

41/46 07/2019 C. Taconet Platforms for IoT

Page 42: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Interaction models and standard protocols

REST API

REST interactions to interact with sensors/actuators• Resource oriented• Universal Resource Identifierc(URI)• XML/JSon. . . data representations• Resources linked to other resources (in resource representations)

42/46 07/2019 C. Taconet Platforms for IoT

Page 43: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Interaction models and standard protocols

Constrained Application Protocol (CoAP) 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

43/46 07/2019 C. Taconet Platforms for IoT

Page 44: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Interaction models and standard protocols

Interactions overall picture

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

44/46 07/2019 C. Taconet Platforms for IoT

Page 45: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Conclusions

Outline

1. Internet of Things (IoT)

2. IoT distributed architecture

3. IoT reference architectures

4. IoT Platforms

5. Middleware for the IoT

6. Interaction models and standard protocols

7. Conclusions

45/46 07/2019 C. Taconet Platforms for IoT

Page 46: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

Conclusions

Conclusions

Agenda of next topics

• “Platforms - devices” and “Platforms - applications” interactions• Play with devices and platforms• Explore platform features

46/46 07/2019 C. Taconet Platforms for IoT

Page 47: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

References I

(2015).

Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are.

CISCO white paper.

Bass, L., Clements, P., et al. (2012).

Software Architecture in Practice, 3rd Edition.

Addison-Wesley.

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.

Gubbi, J., Buyya, R., Marusic, S., et al. (2013).

Internet of things (iot): A vision, architectural elements, and future directions.

Future Generation Computer Systems, 29(7):1645 – 1660.

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.

47/46 07/2019 C. Taconet Platforms for IoT

Page 48: Introduction to Platforms of services for the Internet of ... · Internet of Things (IoT) Some standardization organizations for the IoT IETF • Constrained RESTful Environments

References II

Stankovic, J. A. (2014).

Research Directions for the Internet of Things.

IEEE Internet of Things Journal, 1(1):3–9.

Whitmore, A., Agarwal, A., et al. (2014).

The internet of things—a survey of topics and trends.

17.

48/46 07/2019 C. Taconet Platforms for IoT