IoTivity Connecting Things in IoT. Ashok Subash



Similar documents
Internet of Things based approach to Agriculture Monitoring

The Future of IoT. Zach Shelby VP Marketing, IoT Feb 3 rd, 2015

Key requirements for Interoperable IoT systems

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Secure, Efficient, and Open Standard Internet of Things

Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya

Connecting IPv6 capable Bluetooth Low Energy sensors with the Internet of Things

Smart Cities are the Internet of Things

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

Making Sense of Internet of Things Protocols and Implementations

ARTIK TM. MyungKoo Kang (VP) The Ultimate Platform Solution for IoT. Samsung Electronics

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Enabling Smart Data on M2M Gateways and Aggregators

Easily Connect, Control, Manage, and Monitor All of Your Devices with Nivis Cloud NOC

Internet of Things (IoT): Middleware. Roch Glitho, PhD Associate Professor and Canada Research Chair My URL -

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

ARM mbed IoT Device Platform. November 3 rd, 2014

In the pursuit of becoming smart

Reducing Configuration Complexity with Next Gen IoT Networks

The Internet of Things: Opportunities & Challenges

Reduce Cost and Complexity of M2M and IoT Solutions via Embedded IP and Application Layer Interoperability for Smart Objects

SMART IoT PROTOCOLS. Creating the Living Network. Chonggang Wang Innovation Lab, InterDigital Communications. December 8, 2014

Horizontal IoT Application Development using Semantic Web Technologies

UPnP Internet of Things

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

IPv6 Based Sensor Home Networking

SIP Protocol as a Communication Bus to Control Embedded Devices

Web of Things Architecture

Protocols for the Internet of Things. Christian Légaré Executive VP and CTO, Micrium Inc. Vice President, IPSO Alliance

IoT Solutions from Things to the Cloud

Enabling Manufacturing Transformation in a Connected World. John Shewchuk Technical Fellow DX

IOT the Last Miles. Tze Chiew (PSM) Jaap Breepoel (FAE)

Telecommunication Systems in Smart Cities

Future Directions for Internet of Things Work

point to point and point to multi point calls over IP

Introducing BEEKS Proximity Solutions. Developer Kit Gets You Started

Internet of Things 2015/2016

Iotivity Programmer s Guide Soft Sensor Manager for Android

M2M, IoT, DEVICE MANAGEMENT: ONE PROTOCOL TO RULE THEM ALL? Julien Vermillard, Sierra Wireless

New Tools for Commercial Video over IP

M2M Service Architecture: Delivering M2M Services Over Heterogeneous Networks

Network Simulation Traffic, Paths and Impairment

Fast Innovation requires Fast IT

Mobile and Embedded/IoT market Overview and Trends. June 2014

UPnP Internet of Things Dec 2014

Internet of Things. Laurent Toutain. June 11, Caen () IPv6 opérateur June 11, / 14

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

CARRIOTS TECHNICAL PRESENTATION

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices

ASTRI s Internet-of-Things (IoT) Gateway and Management Platform

Review: Lecture 1 - Internet History

6LoWPAN Technical Overview

Constrained Application Protocol for Internet of

Affordable Building Automation System Enabled by the Internet of Things (IoT)

Increasing M2M device intelligence drive fast decisions and help new business

Update on UPnP+, Cloud, Multi-Screen and IoT

WN-200HD. 2 Mega-Pixels. 2.0 Mega Pixel Wireless 150Mbps IPCamera. High Quality 2.0 MegaPixel Image. Full Feature 150Mbps Wireless N Camera

ONEM2M SERVICE LAYER PLATFORM

Evolving from SCADA to IoT

INTERNET OF THINGS 1

IoT: New Opportunities for Semiconductor Industry Growth. Andrew C. Russell Vice President Marketing Greater China

A Transport Protocol for Multimedia Wireless Sensor Networks

IoT Solutions for Upstream Oil and Gas

Automatic Configuration and Service Discovery for Networked Smart Devices

IoT Cloud, All Seen Alliance. Masanari Arai 荒 井 真 成 CEO, Kii Corpora0on

Enterprise Application Enablement for the Internet of Things

NXP and the Internet of Things ( IoT ) Andrew C. Russell VP Marketing Greater China

Internet of Things From Idea to Scale

Yassine Banouar Thierry Monteil Mahdi Ben Alaya Christophe Chassot Khalil Drira

CF & IoT Protocol Support

Product Characteristics Page 2. Management & Administration Page 2. Real-Time Detections & Alerts Page 4. Video Search Page 6

Controlling the Smart Home from the VSDL Home Gateway: opportunities and lack of standards

Video Collaboration & Application Sharing Product Overview

The Internet of Things

IoT concepts Andrea Acquaviva EDA group Politecnico di Torino, Italy

Steve Apps Senior Manager Accenture South Africa

IPv4 and IPv6 Integration. Formation IPv6 Workshop Location, Date

OAuth2 and UMA for ACE draft-maler-ace-oauth-uma-00.txt. Eve Maler, Erik Wahlström, Samuel Erdtman, Hannes Tschofenig

JoramMQ, a distributed MQTT broker for the Internet of Things

GEMALTO M2M KEY TECHNOLOGY TRENDS OF M2M

VXLAN: Scaling Data Center Capacity. White Paper

Flexible Architecture for Internet of Things Utilizing an Local Manager

White Paper Lightweight M2M : Enabling Device Management and Applications for the Internet of Things

Arrowhead Framework A Local Cloud Approach to Automation. Prof. Jerker Delsing.

Present and Act Upon. Register. Consume. Stream Analytics. Event Hubs. Field Gateway. Applications Cloud Gateway. Legacy IoT (custom protocols)

How To Develop An Open Play Context Framework For Android (For Android)

Java and the Internet of Things

WIND RIVER INTELLIGENT DEVICE PLATFORM XT

Broadband Forum - Remote Management Work

Informix The Intelligent Database for IoT

How Network Operators Do Prepare for the Rise of the Machines

Integrating Mobile apps with your Enterprise

The Internet of Things

TUM & Siemens Corporate Technology. The "Internet of Things" for industrial applications

Automation Systems and the IoT Industrial Internet

Transcription:

IoTivity Connecting Things in IoT Ashok Subash

Agenda Overview of IoT, OIC & IoTivity IoT Stack, Topologies & Protocol IoTivity Architecture Programming IoTivity Core APIs Programming IoTivity Service APIs Demo 2

Overview

Internet of Things What is it? The Internet of Things is the network of physical objects that contains embedded technology to communicate and sense or interact with the objects' internal state or the external environment.* Vehicle, Asset, Person, Pet Monitoring & Controlling Smart Agriculture Energy Consumption Security & Surveillance M2M & Wireless Sensor Network Internet of Things Building Management Wearables & Things Smart Home & Cities Telemedicine & Healthcare 4 *Gartner, July 2014

What is making IoT possible? H/W Miniaturization & Lower BOM Cost Advancements in Sensor Technology Low Power Connectivity Technologies IP as key Interoperability Protocol Devices ability to run on battery for longer duration (> 5 years) 5

What is hindering IoT? Non IP based standards technology resulting in limited Interoperability Proprietary Protocols & Technologies Licensing issues Companies creating Closed Ecosystem (Zero or limited Interoperability with other Vendor devices) Low adoption of Open Standards by various Industry Consortiums Security & Privacy concerns Dilemma in Ownership of Data from variety of IoT devices Lack of Strong Certification for ensuring Protocol & Application Profile Interoperability Need Standards & Reference Implementation which cater to these issues 6

OIC & IoTivity Open Interconnect Consortium (OIC) Founded by Leading Technology Companies including Cisco, GE, Intel,, MediaTek & Samsung Defines standards for connectivity requirements Ensures interoperability of billions of Internet of Things (IoT) devices. IoTivity An open source software framework implementing OIC Standards Ensures seamless device-to-device connectivity to address the emerging needs of the Internet of Things. OIC (Standards) IoTivity (Open Source) 7

Key Focus of OIC OIC Standards addresses multiple vertical domains including Home Automation, Automotive, Enterprise, HealthCare, Industrial scenarios Initial focus on Smart Home & Office solutions Adopt Open Standards like IETF when applicable & standardize on areas, not addressed http://openinterconnect.org/ 8

Key Focus of IoTivity Open Source Framework implementing OIC Standards Licensed under Apache License Version 2.0 Available on TIZEN, Android, Arduino, Linux(Ubuntu) Platforms Provide APIs at 2 Levels IoTivity Base IoTivity Services 9

TIZEN IoT Ecosystem IoT Cloud & Analytics IoT Communication Protocols & Framework OS Platform TIZEN Multi Platform Profile H/W ARTIK 1 ARTIK 5 ARTIK 10 10

IoT Stack, Topologies & Protocol

IoT Technology Stack End to End - Executive View* Identity & Security Tools that manage user authentication and system access, as well as secure the product, connectivity, and product cloud layers PRODUCT CLOUD Smart Product Applications Rules/Analytics Engine Application Platform Product Data Database CONNECTIVITY Network Communication The Protocols that enable communication between the product and the cloud PRODUCT Product Software An embedded operating System, onboard software applications, an enhanced user interface and product control components External Information Sources A Gateway for information from external sources-such as weather, traffic, commodity and energy prices, social media and geo mapping that informs the product capabilities Integration with Business Systems Tools that integrate data from smart connected products with core enterprise business systems such as ERP, CRM and PLM 12 Product Hardware Embedded Sensors, processors and a connectivity port/antenna that supplement traditional mechanical and electrical components *Harvard Business Review Nov 2014

IoT Technology Stack Technical View IoT Profiles Consumer Enterprise Industrial Automotive Health IoT Framework Discovery IoT Connectivity Data Transmission Security Device Management Data Management Common Solution Established Protocols Security & Identity Standardized Profiles Interoperability Innovation Opportunities Necessary connectivity 13

OIC Topologies OIC Client P2P Direct OIC Server XMPP/ STUN/ TURN/ICE OIC Client Gateway OIC Intermediary OIC Client Cloud Gateway Smart Device Smart Appliance Sensors, Wearables OIC Servers Remote Access OIC Servers Cloud based intelligent Services 14

Concept of Resource & RESTful Architecture Client GET /temperature 200 OK Application/text 22.2 C Server 25 C Thermostat Client-Server Stateless Cache Uniform Interface Layered System REST Principles Resource: Any information that can be named e.g. Document, Image, a collection of other resources, non-virtual objects (Things) 15

Constrained Application Protocol (CoAP) CoAP Client COAP C C HTTP Server Gateway COAP C C COAP C Open IETF Standard (RFC 7252) Compact 4 Byte Header UDP (Default), SMS, TCP Support Strong DTLS Security Asynchronous Subscription Built-In Discovery Server Constrained Environment Internet 16

Constrained Environments What is it? Limitations on Code Size (ROM/Flash) Size of State & Buffers (RAM) Processing Power (CPU) Power Consumption User Interface & Accessibility in deployment Constrained Nodes 17 Low achievable bitrate/throughput High packet loss & high variability of packet loss (delivery rate) Highly asymmetric link characteristics Severe penalties for using larger packets Limits on reachability over time Lack of advanced services such as IP multicast Constrained Networks

IoTivity Architecture

IoTivity High Level Architecture Application Profiles (Smart Home, Smart Health, Smart Retail, Auto) OIC Services Things Manager Soft Sensor Manager Notification Manager Protocol Plugin Mgr Service OIC Core OIC Core Resource Introspection Messaging Discovery Security Resource Introspection Messaging Discovery Security Connectivity Abstraction Connectivity Abstraction Smart Devices (OIC Clients) (Smartphone, SmartTV, SmartHub etc) Thin Device (OIC Server) (Thermostat, Motion Sensor etc) 19

IoTivity Framework Key Functionality Functionality Description Discovery Data Transmission Data Management IoTivity discovery supports multiple discovery mechanisms for devices and resources in proximity and remotely IoTivity data transmission supports information exchange and control based on a messaging and streaming model IoTivity data management supports the collection, storage and analysis of data from various resources. Device Management IoTivity device management supports configuration, provisioning and diagnostics of devices. 20

IoTivity Module View Application Things Manager Service SDK (C++, Java) Soft Sensor Manager Notification Manager Thin Block (Constrained Devices) IoTivity Base (C SDK) IoTivity Base (C++ SDK) IoTivity Base (C SDK) Resource Introspection Secure Resource Manager Connectivity Abstraction Unified Block Resource Introspection Secure Resource Manager Connectivity Abstraction CoAP tinydtls (libcoap) UDP/IP BT BLE CoAP (libcoap) tinydtls 21 UDP/IP BT BLE

Programming IoTivity Core APIs

Steps involved in using IoTivity Core API Application Profiles (Smart Home, Smart Health, Smart Retail, Auto) Registering a Resource Finding a Resource Querying a Resource State Setting a Resource State Observing Resource State Things Manager Resource Introspection IoTivity Services Soft Sensor Manager OIC Core Notification Manager IoTivity Base API Messaging Discovery Protocol Plugin Manager Security Connectivity Abstraction 23

Registering a Resource Call Flow Resource URI Resource Type Application 1 OCPlatform::registerResource(resourceHandle, /light/1, core.light, oic.if.baseline, entityhandlercb, Entity Resource Interface OC_DISCOVERABLE OC_OBSERVABLE); Handler 2 C++ API (SDK) C API (SDK) Resource Property OCCreateResource(resourceHandle, resourcetypename.c_str(), resourceinterface.c_str(), resourceuri.c_str(), EntityHandlerWrapper, NULL, resourceproperties); JSON/CBOR Encode/Decoder OCStack CoAP Connectivity Manager 24

Registering a Resource Sequence Diagram ISV Server App SDK Server Wrapper OCStack ocplatform.registerresource InProcServer.registerResource OCCreateResource Success/Failure OCStackResult Success/Failure 25

Finding a Resource Call Flow Application 1 2 C++ API (SDK) 6 OCPlatform::findResource(host, /light/1, connectivitytype, resourcehandlercb); 5 OCDoResource(resourceHandle, OC_REST_GET, /light/1, 0, payload, connectivitytype, qos, &cbdata, headeroptions, numoptions); C API (SDK) CASendRequest(endPoint, &requestinfo); Sends a multicast query JSON/CBOR Encode/Decoder OCStack CoAP //Devices that matches the query answers as indicated below Connectivity Manager IoTivity Device IoTivity Device IoTivity Device 3 Multicast 26 4

Finding a Resource System Sequence Diagram Client Light 192.168.1.11 Light 192.168.1.12 Fan 192.168.1.21 GET /oc/core?rt=light (multicast) GET /oc/core?rt=light (multicast) GET /oc/core?rt=light (multicast) ACK,CONTENT ACK, CONTENT 27

Finding a Resource Sequence Diagram ISV Server App SDK Client Wrapper OCStack CoAP ocplatform.findresource client.listenforresource OCDoResource asynccallbackfunc asynccallbackfunc wrapperasynccallbackfunc wrapperasynccallbackfunc Request via multicast Unicast Response From 192.168.1.11 Unicast Response From 192.168.1.12 28

Querying Resource State [GET] OIC Client OIC Server ISV Client App IoTivity SDK Client Wrapper Client OCStack Server OCStack Server Wrapper IoTivity SDK ISV Server App ocresource.get(callback) clientwrapper.get(callback) OCDoResource GET /light/1 ACK, CONTENT Call entity handler Call OCResource Return code Return code Call OCResource Return code wrapperasynccallbackfunc asyncresulthandler 29

Setting a Resource State Sequence Diagram OIC Client OIC Server ISV Client App Client SDK Client Wrapper Client OCStack ocresource.put( attributemap, callback) inprocclient.setresourceattributes( Attributes, callback) OCDoResource Server OCStack Server Wrapper Server SDK ISV Server App PUT /light/1 wrapperasynccallbackfunc ACK, CHANGED Call entity handler Call OCResource Return code InProcClient.put(attributeMap) Return code Return code asyncresulthandler 30

Observing Resource State OIC Client OIC Server ISV Client App ocresource.observe Client SDK Client Wrapper Client OCStack Server OCStack Server Wrapper Server SDK ISV Server App inprocclient.observe OCDoResource GET /light/1 Call entity handler Call OCResource InProcClient.observe ACK, CONTENT Return code Return code Return code wrapperasynccallbackfunc asyncresulthandler Change Event OCNotifyObservers OCNotifyObservers CON, CONTENT 31 asyncresulthandler wrapperasynccallbackfunc

Programming IoTivity Service APIs

IoTivity Services Things Manager Application Profiles (Smart Home, Smart Health, Smart Retail, Auto) Soft Sensor Manager OIC Services Notification Manager Protocol Plugin Manager Provide common set of functionalities to app development Provide easy, scalable access to applications & resources Resource Introspection OIC Core Messaging Discovery Connectivity Abstraction Security IoTivity Service Things Manager Soft Sensor Manager Description Group Creation & Management Sensor Data Collection, Aggregation & Fusion Notification Manager Provides resource hosting function Protocol Plugin Manager Communication with non IoTivity devices 33

Things Manager Group Management Find candidate devices to form a group Create a group of found devices Create a group action for the group Execute the group action Action Set LED Bulb 25 C Thermostat Group Air conditioner Application creategroup Return code Things Manager IoTivity Base registerresource Return code findcandidateresources findresource Collection Resource Type Action Set Name Delay/Step of Time Delay Type of Group Action (normal, scheduled, recursive) OutofHome*10 1 *uri=coap//10.251.44.228:49858/a/light power=on* uri=coap://10.252.44.221:49458/b/aircon power=off 34 OnFindResourceCb joingroup Return code Return code bindresource Return code

Things Manager Configuration & Diagnostics Things Configuration Server Side - Bootstrapping requisite information from a bootstrap server to access other IoT services Client Side Getting/Updating system configuration parameters from/to multiple remote things Things Diagnostics Factory reset to restore all configuration parameters to default one Reboot to request a system rebooting 35

Soft Sensor Manager Calculate Discomfort Index Helps in observing changes to Physical Sensors Allows developers to create Soft Sensor Utilizes data from multiple physical sensors to make sense of data from end user perspective. E.g. DiscomfortIndex Smart Device Application Humidity Sensor Temperature Sensor Soft Sensor Manager Iotivity Base Aggregation & Sensor Data Fusion 36 Thin Device Iotivity Base Physical Sensor App Thin Device Iotivity Base Physical Sensor App Raw Sensor Data

Soft Sensor Manager SDK Class Diagram IDataReader IModelData <<interface>> IQueryEngineEvent virtual onqueryengineevent()(int cqid, IdataReader *presult) Application implements <<callback to listener>> calls SSMInterface IQueryEngineEvent* mqueryengineeventlistener startssmcore registerquery unregisterquery stopssmcore 37 onqueryengineevent

Protocol Plugin Manager Plugin A Device supporting Protocol A OIC Compatible Application IoTivity API Plugin B Device supporting Protocol B Plugin C Device supporting Protocol C Allows OIC compliant Applications to communicate with non OIC device protocols Uses Plugin Manager APIs to find, start, stop plugins Uses IoTivity APIs to find and operate on resources similar to interaction with OIC device 38

Protocol Plugin Manager Overall Flow Application Process Application Logic findresource startplugin( resource type, oic.fan Protocol A Plugin A OIC Protocol IoTivity Base API Plugin Manager API (C/C++/Java APIs) Protocol B Plugin Manager Plugin B Load/Unloads Plugins dynamically Plugin Abstraction Pluff OSGi (Felix) 39

Notification Manager Service on Unconstrained device host resources for other Lite/Thin devices Hosting device mirrors resources from other Lite devices by Observing the presence & changes in other sources Service API Notification Service Resource Virtualization Remote Request Handler Resource Synchronization Presence Detection IoTivity Base 40

Notification Manager System Sequence Diagram Lite Device Hosting Device 1. Register Resource 2. Start Hosting 3. On Presence 4. Find Resource 5. On Found Resource 6. Register Virtual Resource 7. Observe Hosted Resource 2. Stop Hosting 41 9. UnRegister Observe

OIC & IoTivity Road Ahead Feature Description IoTivity Security Filter Resource requests Access control of resources Secure Transmission of data across variety of IoT devices Device Onboarding & Provisioning Connect Out-of-box device without UI onto network & provisioning IPv6 & 6LowPAN support Supporting IPv6 and 6LoWPAN as part of IoTivity Connectivity Abstraction AV Streaming Audio Video Streaming Blockwise Transfer Send/Receive of Larger data over IoTivity Stack Routing through Heterogeneous transports Routing of packets across variety of connectivities Data Interface to Cloud Actuation of devices from Cloud Apps, Collection of Sensor Data in Cloud 42

Summary IoT Landscape, Roles of OIC & IoTivity Understanding the big picture in IoT including various topologies Architectural Principles & Key Protocols adopted by OIC & IoTivity High Level Architecture of IoTivity Stack & types of Deployment Programming using IoTivity Base APIs Programming using IoTivity Service APIs Ongoing & Future work 43

Usecase Description As, Bob s car approaches home, proximity sensor sense his presence & garage door opens automatically As Bob approaches main door, it gets unlocked after exchanging appropriate credentials Meanwhile Bob s Z1 phone connects with home gateway and turns on group of devices like light and fan based on his preset preference Based on increase in temperature, the fan in room is started Same scenario is executed with another group of devices for another user, with their preferences 44

Use Case Pictorially! 2 1 3 4 Group A Group B Garage with Proximity Sensor Arriving home 45

Demo Setup IoTivity Smart Device Proximity Enabled Door IoTivity Thin Device Gateway Sandwich maker Light Fan 46

Demo

Thank you