Introduction to the platforms of services for the Internet of Things Revision : 536 Chantal Taconet SAMOVAR, Télécom SudParis, CNRS, Université Paris-Saclay April 2018
Outline 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 2/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) Internet of things, Internet of everything Image extracted from [Shelby, 2010] 3/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) Internet of things, one definition Everyday objects can be equipped with identifying, sensing, networking and processing capabilities that will allow them to communicate with one another and 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 share information across platforms through a unified framework, developing a common operating picture for enabling innovative applications. This is achieved by seamless large-scale sensing, data analytics and information representation using cutting-edge ubiquitous sensing and cloud computing. [Gubbi et al., 2013] 4/43 04/2018 C. Taconet Platforms for IoT
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 (10 9 ) of Giga byte in 2020 5/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) From IoT silos to Internet Openness Image extracted from http://www.libelium.com/ 6/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) Opportunity to build new mass services Image extracted from http://www.libelium.com/ 7/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) IoT heterogeneity requires standardization Protocols, API, architectural patterns independent of the application domains 8/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) Standard organizations related to the IoT extracted from AIOTI Alliance for internet of things innovation Image 9/43 04/2018 C. Taconet Platforms for IoT
Internet of Things (IoT) Image extracted from http://www.societe-informatique-de-france.fr/wp-content/uploads/2015/12/iot-pr\unhbox\voidb@x\bgroup\ let\unhbox\voidb@x\setbox\@tempboxa\hbox{e\global\mathchardef\accent@spacefactor\spacefactor}\accent19e\egroup\spacefactor\ accent@spacefactorsentation-orange.pdf 10/43 04/2018 C. Taconet Platforms for IoT
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 Things interoperability 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/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures Outline 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 12/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures Reference architecture Software Architecture The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among 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 details into public and private parts Architecture focuses on the public side of this division Reference Architecture A Reference Architecture (RA) is an architectural design pattern that indicates how an abstract set of relationships realises a set of requirements. (OASIS definition) The main purpose of a RA is to provide guidance for the development of concrete architectures. 13/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures ITU-T architecture... Image extracted from http://www.itu.int/itu-t/recommendations/rec.aspx?rec=y.2060 14/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures... and its ecosystem Image extracted from http://www.itu.int/itu-t/recommendations/rec.aspx?rec=y.2060 15/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures WSO2 architecture Image extracted from http://wso2.com/solutions/iot/ 16/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures IoT-A Architecture Functional view Image extracted from http://www.iot-a.eu/ 17/43 04/2018 C. Taconet Platforms for IoT
IoT reference architectures IoT-A Service and Virtual-Entity abstraction levels Image extracted from http://www.iot-a.eu/ 18/43 04/2018 C. Taconet Platforms for IoT
IoT distributed architecture Outline 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 19/43 04/2018 C. Taconet Platforms for IoT
IoT distributed architecture Cloud for IoT Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (NIST definition) Image extracted from https://iot.eclipse.org/ 20/43 04/2018 C. Taconet Platforms for IoT
IoT distributed architecture Fog computing Cisco definition [Cis, 2015] The fog extends the cloud to be closer to the things that produce and act on IoT data. Any device with computing, storage, and network connectivity can be a fog node. Fog computing has to be considered when: Data is collected at the extreme edge: vehicles, ships, factory floors, roadways, railways, etc. Thousands or millions 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. 21/43 04/2018 C. Taconet Platforms for IoT
IoT distributed architecture Devices / Fog / Cloud (number of devices) Image extracted from http://news.statii.co.uk/fog-computing-vs-edge-computing/ 22/43 04/2018 C. Taconet Platforms for IoT
IoT distributed architecture Devices / Fog / Cloud (volume of data) Image extracted from http://ubiquity.acm.org 23/43 04/2018 C. Taconet Platforms for IoT
IoT distributed architecture Complex distributed system 24/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms Outlines 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 25/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms 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 processing, data analysis. 26/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms Data processing Filtering spatial temporal Aggregation temporal aggregation (summary) inference, abstraction, obfuscation data fusion Annotation semantics annotation spatial annotation timestamp quality annotation 27/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms 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 28/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms Amazon IoT platform Image extracted from https://aws.amazon.com/fr/iot-platform 29/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms Samsung Artik platform Image extracted from https://horovits.files.wordpress.com/2015/05/samsung-smartthings-opencloud-sami-architecture.png 30/43 04/2018 C. Taconet Platforms for IoT
IoT Platforms Eclipse IoT vision and tools Image extracted from https://iot.eclipse.org/ 31/43 04/2018 C. Taconet Platforms for IoT
Middleware for the IoT Outline 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 32/43 04/2018 C. Taconet Platforms for IoT
Middleware for the IoT Middleware Middleware is computer software that connects software components or applications. It is used most often to support complex, distributed applications. Middleware support application development and delivery. It describes a piece of software that connects two or more software applications so that they can exchange data. Standard data protocol Application Application Application Application Standard API Standard API Middleware Specific API Specific API Operating System Operating System Operating System Operating System Communication subsystem / Network 33/43 04/2018 C. Taconet Platforms for IoT
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 Standard API Middleware Dedicated API Application Application... Collector Aggregator OS OS... OS OS Communication substrate 34/43 04/2018 C. Taconet Platforms for IoT
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] 35/43 04/2018 C. Taconet Platforms for IoT
Interaction models and standard protocols Outline 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 36/43 04/2018 C. Taconet Platforms for IoT
Interaction models and standard protocols Basic interaction patterns in distributed systems a:process b:process a:process b:process a:process m:msgpassing System b:process event/message request ask for a msg event/message handler wait reply request handler send msg 1 send msg 2 send msg 3 deliver msg 1 ask for a msg wait deliver msg 2 ask for a msg deliver msg 3 Asynchronous event (push) Synchronous call Buffered messages (pull) 37/43 04/2018 C. Taconet Platforms for IoT
Interaction models and standard protocols Publish/subscribe example 38/43 04/2018 C. Taconet Platforms for IoT
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) 39/43 04/2018 C. Taconet Platforms for IoT
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 40/43 04/2018 C. Taconet Platforms for IoT
Interaction models and standard protocols Interactions overall picture Image extracted from http://electronicdesign.com/iot/mqtt-and-coap-underlying-protocols-iot 41/43 04/2018 C. Taconet Platforms for IoT
Conclusions Outline 1. Internet of Things (IoT) 2. IoT reference architectures 3. IoT distributed architecture 4. IoT Platforms 5. Middleware for the IoT 6. Interaction models and standard protocols 7. Conclusions 42/43 04/2018 C. Taconet Platforms for IoT
Conclusions Conclusions Agenda of next topics Platforms - devices and Platforms - applications interactions Play with devices and platforms Explore platform features 43/43 04/2018 C. Taconet Platforms for IoT
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. 44/43 04/2018 C. Taconet Platforms for IoT
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. 45/43 04/2018 C. Taconet Platforms for IoT