Nothing Special   »   [go: up one dir, main page]

Academia.eduAcademia.edu

Internet of Things

In the past few years, there have been many efforts to enable the extension of Internet technologies to constrained devices and to build an Internet of Things. Initially, this resulted in proprietary protocols and architectures. Later, the integration of constrained devices into the Internet was embraced by IETF, moving towards standardized IP-based protocols. However, not global connectivity was at the basis of the great success of the current Internet, but web service technology. As a result, standardisation efforts expanded from the networking layer to the service layer, with the IETF Constrained RESTful Environments working group defining an embedded counterpart of HTTP. The resulting embedded web service technology greatly facilitates the creation of IoT applications and is now being picked up by other organisations as well.

Internet of Things Jeroen Hoebeke, Ingrid Moerman www.ibcn.intec.ugent.be Internet Based Communication Networks and Services (IBCN) Department of Information Technology (INTEC) Ghent University - iMinds 03/10/13 1 Introduction Internet of Things 03/10/13 2 03/10/13 3 Source Cisco Heterogeneous objects (sensors, actuators…) reveal information about the physical world, inject it into the virtual world (Internet) where it can be used as input to services, which can act again upon the physical world. = Uniquely identifiable things with a virtual representation 4 Application domains 03/10/13 Source: “Embedded Web Services”, Sensinode 5 04/10/13 6 Source: Quirky • • • • Broad application domain Many vertical solutions Trend towards platforms (horizontals) Building upon (communication) standards 03/10/13 7 A little history of IoT progress Radio-frequency identification • Equip objects with tags, read radio tags, identify and inventory • First use of IoT (1999) Machine-to-machine (M2M) • One device = one SIM card • Operator managed access + communication through server Internet of Things (IoT) • • • One device = one IP address Internet-based device access: operator = transport network Direct interactions, flexible applications over multiple communication technologies 03/10/13 8 A little history of IoT progress ! Internet integration: from proprietary stacks... ! … to IP-based integration “Success in extending IP functionality to literally billions of devices absolutely requires a framework of standards that defines the necessary technology03/10/13 ecosystem” – CEO Sensinode – 9 IoT standardization ! Standards tailored to constrained devices (focus on IETF) ! Physical layer: IEEE 802.15.4 ! Network layer: integration in IPv6 world ! IETF 6LoWPAN: IPv6 over Low power WPAN ! IETF ROLL: Routing over Low power and Lossy networks (LLNs) ! IETF CoRE: Constrained RESTful environments Isam Ishaq, David Carels, Girum K. Teklemariam, Jeroen Hoebeke, Floris Van den Abeele, Eli De Poorter, Ingrid Moerman and Piet Demeester, “IETF Standardization in the Field of Internet of Things (IoT): A Survey”, Journal of Sensors and Actuator Networks, 2(2), 2013, pp. 235-287, doi:10.3390/jsan2020235 03/10/13 10 Need for and adoption of CoAP Embedded web services 03/10/13 11 Need? ! Success of today’s Internet? Web services (over HTTP) ! Not suited for constrained networks/LLNs ! Constrained devices ! Different interaction models ! Short exchanges ! Sleeping nodes ! Embedded counterpart needed 03/10/13 12 IETF CoRE - WG ! CoRE = Constrained RESTful environments ! Goal: ! Design of application transfer protocol that realizes ! a minimal subset of REST (GET, PUT, POST, DELETE on URIs) ! + resource discovery, subscription/notification ! + security measures " Constrained Application Protocol (CoAP) (+/- embedded version of HTTP) ! Bring successful web architecture to constrained devices " realization of Web of Things 13 IETF CoRE – Status ! 1 RFC ! CoRE Link Format (RFC 6690) ! 1 draft in IESG processing phase ! CoAP v18: final evaluation, RFC soon ! 7 adopted drafts (4 newly adopted, following charter) ! ! ! ! ! ! ! ! Observe v9 Block transfer v12 Group communication v13 (Informational) HTTP mapping v01 (Informational) CoRE interfaces v00 (Informational) Links JSON v00 Resource directory v00 32 other individual drafts (3 iMinds (co)-authored)) ! Topics: Security, congestion control, CoAP over X, profiles, sleepy nodes, new CoAP options… *work started end of 2010 14 Is CoAP needed? ! Goal: turn constrained devices into web server ! Constraints? ! 802.15.4: max packet length is 127 bytes ! RAM and ROM limited ! HTTP/TCP? CoAP HTTP TinyCoAP HTTP/TCP CoAP header: 4 bytes GET /test HTTP/1.0\r\n Host: fec0::2\r\n\r\n 31.812B ROM 39.484B ROM Best TinyOS implementation Minimal TCP CoAP URI path: 6 bytes CoAP token: 0-8 bytes Footprint Payload: 0 bytes TOTAL: 10-18 bytes + UDP TOTAL: 37 bytes + TCP GET request for resource /test HTTP/TCP: footprint & communication overhead are too big! 03/10/13 15 Will CoAP be adopted by industry? ! ETSI interoperability events ! March 2012 (co-located with IETF): Huawei, Intecs, Koanlogic, Sensinode, Toyota, Vitaverna, Watteco, Hitachi, Patavina Technologies, ETH Zurich, iMinds, Uni Bremen, Uni Rostock, Ferrara ! November 2012: Watteco, Sensinode, InterDigital, Intecs, Hitachi, iMinds, Uni Bremen, ETH Zurich… ! November 2013: Assess interoperability of multivendor CoAP implementations + coverage of OMA LWM2M and DTLS Will CoAP be adopted by industry? ! First commercial products (sensor/sensorGW device manufacturers) 17 ! Adoption by IPSO Alliance and OMA LWM2M IPSO Alliance ! Primary advocate for IP networked devices for use in energy, consumer, healthcare and industrial applications. ! Non-profit association of more than 60 members from leading technology, communications and energy companies around the world. 18 IPSO Alliance – CoAP adoption ! IPSO Application framework ! RESTful design for use in IP smart object systems ! Not a standard ! Definition of function sets ! REST interfaces that may be used to represent available resources, interact with other smart objects and backend services. ! E.g. light control function set 04/10/13 19 Open Mobile Alliance ! Develops standards for mobile phone industry ! OMA M2M ! Building common set of standards for managing light weight and low capability devices on a variety of networks ! The ability to monitor, provision and manage these billions of connected devices to be expected becomes absolutely essential. ! Focus on cellular devices ! OMA M2M challenges S. Scarpina, Telecom Italia, Device Management Working group Vice Chairman, OMA, 2012 04/10/13 20 OMA – CoAP Adoption ! OMA Lightweight M2M (LWM2M) ! Efficient Device-Server interface based on open IETF standards ! CoAP and DTLS bound to UDP or SMS ! For bootstrapping, registration, management, reporting, etc. ! Extensible Object and Resource model for application semantics ! OMA, other SDOs/enterprises can define & register objects ! Standard to be published in 2013 04/10/13 21 CoAP adoption / industrial interest Key driver of IoT standardization (IETF, IPSO, OMA, ZigBee IP, etc.), 03/10/13 22 CoAP primer 03/10/13 23 IETF CoRE - CoAP ! Constrained Application Protocol (CoAP) ! Embedded counterpart of HTTP ! Features: ! ! ! ! ! ! ! Asynchronous transaction model UDP with reliability and multicast support GET, PUT, POST and DELETE using URIs Small, simple header: 4 bytes base header + TLV options Mapping to HTTP possible coap:// scheme Optional observation, block transfer and discovery 03/10/13 24 CoAP architecture ! Goal: provide RESTful access to resource constrained devices ! Similar to HTTP (get, put, post, …) ! Suitable for direct end-to-end communication between constrained devices 03/10/13 25 CoAP message format CoAP option format Example CoAP options: Uri-path, Content-Format, Max-Age, Uri-Query, Observe, etc. 04/10/13 26 CoAP example CoAP Client CoAP Server Resource /.well-known/core used for resource discovery GET /.well-known/core 2.05 "Content" </s/t>;rt="TemperatureC";if="sensor“, </s/l>;rt="LightLux";if="sensor" GET /s/t Result = collection of resources in “application/link-format” • URI reference • Target attributes: describe information useful to access the resource " coap://[IPv6_sensor]/s/t exists 2.05 “Content” 23.5C 03/10/13 27 CoAP Observe option Client Server Get/.well-known/core ! ! Client can register interest for having an always fresh representation of a resource: send request with observe option Notifications upon ! Every state change of resource ! When max-age expires (for freshness) 04/10/13 2.05 “Content” <s/t>;rt=“TemperatureC”;if=“sensor”, <s/l>;rt=“LightLux”;if=“Sensor” GET /s/t Observe: 10 Token: 0x4a 2.05 “Content” Observe: 12 Token: 0x4a Payload: 22.7C 2.05 “Content” Observe: 21 Token: 0x4a Payload: 23.4C (Resource Discovery) (Registration) (Notification) (Notification) 28 CoAP Blockwise transfers ! "Block" options, for transferring efficiently multiple blocks of information from a resource representation in multiple request-response pairs. ! Note: 802.15.4’s standard packet size = 127 bytes 04/10/13 29 Resource directory ! = Directory server: hosts descriptions of resources held on other servers, allowing lookups to be performed for those resources ! Functions ! Registration: registration of an endpoint’s resources using the registration interface. ! Also: update, validation, removal 04/10/13 30 Resource directory ! Functions ! Lookup: allows lookups for domains, groups, endpoints and resources using attributes. ! Resource lookup example ! Endpoint lookup example 04/10/13 31 Other relevant extensions ! Group Communication ! Group communication draft: using multicast ! HTTP/CoAP mapping ! Concept of caching ! Max-age of resources ! Solutions to interact with sleepy devices 03/10/13 32 1) Conditional observe Building upon CoAP Girum Ketema, Jeroen Hoebeke, Ingrid Moerman, Piet Demeester, Tao Shi, Antonio J. Jara, “Efficiently Observing Internet of Things Resources”, 2012 IEEE International Conference on Green Computing and Communications, Conference on Internet of Things, and Conference on Cyber, Physical and Social Computing, 2012, pp. 446-449, DOI: 10.1109/GreenCom.2012.70 Teklemariam Ketema Girum, Hoebeke Jeroen, Moerman Ingrid, Demeester Piet, “Facilitating the creation of IoT applications through conditional observations in CoAP”, EURASIP Journal on Wireless Communications and Networking 2013, 2013:177, doi: 10.1186/1687-1499-2013-177 http://tools.ietf.org/html/draft-li-core-conditional-observe-04 03/10/13 33 CoAP Observe Limitations E.g. Air Pollution Monitoring Air Quality Sensor Client Node (also Acts as Gateway to HQ) Possible scenario • Collect data every 30 minutes • If threshold exceeded, monitor every 5 minutes 03/10/13 Pollution Control HQ Possible solutions • Polling • Observe: collect ALL values and filter " not efficient 34 CoAP Conditional observe ! Extension to observe to generate notifications only when condition is fulfilled • • Useful for / common to wide range of resources Co-authored IETF draft on conditional observe Implementation • Contiki implementation based on Erbium CoAP framework • Running on Tmote Sky (10kB RAM, 48kB Flash) • 04/10/13 C++ implementation 35 CoAP Conditional Observe option Server Client Get/.well-known/core 2.05 “Content” <s/t>;rt=“TemperatureC”;if=“sensor”, <s/l>;rt=“LightLux”;if=“Sensor” GET /s/t Observe: 10; Condition: T: >, V:23 Token: 0x4a 2.05 “Content” Observe: 12 Token: 0x4a Payload: 22.7C (Resource Discovery) (Registration) 22.7 (Initial Notification) 23 (Criteria not met. No Notification) 2.05 “Content” Observe: 21 Token: 0x4a Payload: 23.6C 23.6 (Criteria Met. Send Notification) Evaluation: Cooja CoAP server on sensor 100 Pseudo Random Numbers between 20 – 29 (Avg. 24) Client: cond. observe with condition “All Values Greater” 0-5 Intermediate Nodes Average Power Consumption vs Hop Count Power Consumption (mW) 2.40 Normal observe Cond. 20C 2.35 2.30 2.25 Cond. 25C 2.20 2.15 Cond. 29C 2.10 7-13% increase battery life (AA lithium) 2.05 0 1 2 3 4 5 Number of intermediary hops ! Can greatly reduce traffic compared to observe + client-side filtering: ! Strongly dependent on the use case (and thus the conditions) ! More extreme conditions (e.g. alarms) are best ! Implementation on very constrained device feasible 03/10/13 37 Evaluation: theoretical 04/10/13 S = time between resource changes 25% chance condition is fulfilled 38 2) Group communication Building upon CoAP Isam Ishaq, Jeroen Hoebeke, Floris Van den Abeele, Ingrid Moerman, Piet Demeester, “Group Communication in Constrained Environments using CoAP-based Entities”, IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS) - IoTIP workshop, pp. 345-350, DOI: 10.1109/DCOSS.2013.14 http://tools.ietf.org/html/draft-ishaq-core-entities-00 03/10/13 39 CoAP-enabled Home Automation + No vertical proprietary solutions + Easy interaction with individual sensors + Simplified application development As end user, how can I realize use cases involving multiple sensors/actuators at the same time? 03/10/13 40 Group Communication ! Need identified in the charter of CoRE WG. ! draft-ietf-core-groupcomm-07: multicast Light Switch Light-1 Light-2 Light-3 Mcast(PUT, Payload=lights ON) ! Limitations ! Not reliable, proposed draft tries to overcome this by allowing optional unicast replies to multicasts ! Need additional implementation on constrained network ! Need to create and manage multicast group 23 May 2013 41 Alternative solution ! Based on unicast ! Easy way to create groups ! A way to validate the group members ! Possibility to manipulate the behavior after group creation 03/10/13 42 System Overview Resource Directory CoAP Client Resource registration LLN1 Entity Manager IPv6 Internet LLN2 CoAP Sensornode 03/10/13 43 Entity Creation CoAP Client Internet Entity Manager LLN1 Sen8 Sen5 POST coap://[EM]/e (application/link-format) Body: <coap://[Sen5]/tmp>,<coap://[Sen8]/tmp> Entity Validation 2.05 Content (text/plain) Body: /1 created 03/10/13 44 Entity Creation Example (CoAP POST) 04/10/13 48 Usage Example: Client Perspective 03/10/13 50 Usage Example: Behind the Scenes 03/10/13 51 Summary Feature Multicast based group communication Our Approach Way$of$communica,on$ Mul,cast$ Unicast$ What$is$grouped$ Endpoints$ Resource$or$Endpoint$ No$ Yes$ In$client$ In$En,ty$Manager$$ can$be$located$anywhere$$ (also$in$client)$ Complex$because$reliable$ mul,cast$is$needed$ Relies$on$$ builtDin$CoAP$confirmable$messages$ All$nodes$in$the$mul,cast$tree$ need$to$support$mul,cast$and$ process$all$packets$$ No$need$to$change$anything$on$the$ network$ Not$possible$in$mul,cast$ Possible$ Fixed$ Flexible$ Not$possible$at$CoAP$level$$ (DTLS$is$unicast$only)$ 23 May 2013 Possible$ Valida,on$ Response$processing$ Reliability$ Impact$on$LLN$ Message$aggrega,on$ Group$behavior$ Secure$communica,on$ 52 CoAP as enabler 03/10/13 60 Integration in web site Drupal module 04/10/13 61 COMACOD ! Control and management of constrained devices ! Goals: Data transfer, and configurability and management of constrained devices: ! Configurable data exchange middleware ! Backend service platform ! Building upon CoAP ! Spanning heterogeneous application domains 03/10/13 62 O’CareCloudS Tagging + semantics Reasoning on sensor and other data CoAP-enabled sensors 03/10/13 63 Summary 03/10/13 64 Summary ! IoT standarization is ongoing and becoming mature ! Shift towards open standards ! CoAP enables embedded web services: Web of Things ! Constrained devices will become a full end point at both the communication and service level ! Standards cannot be ignored, but they are fertile ground for further (applied) research ! E.g. advanced CoAP extensions, semantic Web of Things… 04/10/13 65 Questions ? Jeroen Hoebeke jeroen.hoebeke@intec.ugent.be www.ibcn.intec.ugent.be Internet Based Communication Networks and Services (IBCN) Department of Information Technology (INTEC) Ghent University - iMinds 03/10/13 66