Internet of Things : Architectures, Protocols and Standards.
- 1st ed.
- 1 online resource (404 pages)
Cover -- Title Page -- Copyright -- Contents -- Preface -- Chapter 1 Preliminaries, Motivation, and Related Work -- 1.1 What is the Internet of Things? -- 1.2 Wireless Ad‐hoc and Sensor Networks: The Ancestors without IP -- 1.3 IoT‐enabled Applications -- 1.3.1 Home and Building Automation -- 1.3.2 Smart Cities -- 1.3.3 Smart Grids -- 1.3.4 Industrial IoT -- 1.3.5 Smart Farming -- Chapter 2 Standards -- 2.1 "Traditional" Internet Review -- 2.1.1 Physical/Link Layer -- 2.1.1.1 IEEE 802.3 (Ethernet) -- 2.1.1.2 IEEE 802.11 -- 2.1.2 Network Layer -- 2.1.2.1 IPv6 and IPv4 -- 2.1.3 Transport Layer -- 2.1.3.1 TCP and UDP -- 2.1.4 Application Layer -- 2.1.4.1 HTTP -- 2.1.4.2 AMQP -- 2.1.4.3 SIP -- 2.2 The Internet of Things -- 2.2.1 Designing the Architecture of an IP‐based Internet of Things -- 2.2.2 Physical/Link Layer -- 2.2.2.1 IEEE 802.15.4 and ZigBee -- 2.2.2.2 Low‐power Wi‐Fi -- 2.2.2.3 Bluetooth and BLE -- 2.2.2.4 Powerline Communications -- 2.2.3 Network Layer -- 2.2.3.1 The 6LoWPAN Adaptation Layer -- 2.2.4 Transport Layer -- 2.2.5 Application Layer -- 2.2.5.1 CoAP -- 2.2.5.2 CoSIP Protocol Specification -- 2.3 The Industrial IoT -- Chapter 3 Interoperability -- 3.1 Applications in the IoT -- 3.2 The Verticals: Cloud‐based Solutions -- 3.3 REST Architectures: The Web of Things -- 3.3.1 REST: The Web as a Platform -- 3.3.1.1 Resource‐oriented Architectures -- 3.3.1.2 REST Architectures -- 3.3.1.3 Representation of Resources -- 3.3.1.4 Resource Identifiers -- 3.3.1.5 Statelessness -- 3.3.1.6 Applications as Finite‐state Machines -- 3.3.1.7 Hypermedia as the Engine of Application State -- 3.3.2 Richardson Maturity Model -- 3.3.2.1 Level 0: the Swamp of POX -- 3.3.2.2 Level 1: Resources -- 3.3.2.3 Level 2: HTTP Verbs -- 3.3.2.4 Level 3: Hypermedia -- 3.3.2.5 The Meaning of the Levels -- 3.4 The Web of Things. 3.5 Messaging Queues and Publish/Subscribe Communications -- 3.5.1 Advantages of the Pub/Sub Model -- 3.5.2 Disadvantages of the Pub/Sub Model -- 3.5.3 Message Queue Telemetry Transport -- 3.5.3.1 MQTT versus AMQP -- 3.6 Session Initiation for the IoT -- 3.6.1 Motivations -- 3.6.2 Lightweight Sessions in the IoT -- 3.6.2.1 A Protocol for Constrained Session Initiation -- 3.6.2.2 Session Initiation -- 3.6.2.3 Session Tear‐down -- 3.6.2.4 Session Modification -- 3.7 Performance Evaluation -- 3.7.1 Implementation -- 3.7.2 Experimental Results -- 3.7.3 Conclusions -- 3.8 Optimized Communications: the Dual‐network Management Protocol -- 3.8.1 DNMP Motivations -- 3.8.2 Related Work -- 3.8.3 The DNMP Protocol -- 3.8.4 Implementation with IEEE 802.15.4 and IEEE 802.11s -- 3.8.4.1 LPLT Networking -- 3.8.4.2 HPHT Networking -- 3.8.4.3 Node Integration -- 3.8.5 Performance Evaluation -- 3.8.5.1 Experimental Setup -- 3.8.5.2 Operational Limitations of IEEE 802.15.4 -- 3.8.6 IEEE 802.15.4‐controlled Selective Activation of the IEEE 802.11s Network -- 3.8.7 Conclusions -- 3.9 Discoverability in Constrained Environments -- 3.9.1 CoRE Link Format -- 3.9.1.1 CoRE Link Format: Discovery -- 3.9.1.2 Link Format -- 3.9.1.3 The Interface Description Attribute -- 3.9.2 CoRE Interfaces -- 3.9.2.1 Sensor -- 3.9.2.2 Parameter -- 3.9.2.3 Read‐only Parameter -- 3.9.2.4 Actuator -- 3.10 Data Formats: Media Types for Sensor Markup Language -- 3.10.1 JSON Representations -- 3.10.1.1 Single Datapoint -- 3.10.1.2 Multiple Datapoints -- 3.10.1.3 Multiple Measurements -- Chapter 4 Discoverability -- 4.1 Service and Resource Discovery -- 4.2 Local and Large‐scale Service Discovery -- 4.2.1 ZeroConf -- 4.2.2 UPnP -- 4.2.3 URI Beacons and the Physical Web -- 4.3 Scalable and Self‐configuring Architecture for Service Discovery in the IoT -- 4.3.1 IoT Gateway -- 4.3.1.1 Proxy Functionality. 4.3.1.2 Service and Resource Discovery -- 4.3.2 A P2P‐based Large‐scale Service Discovery Architecture -- 4.3.2.1 Distributed Location Service -- 4.3.2.2 Distributed Geographic Table -- 4.3.2.3 An Architecture for Large‐scale Service Discovery based on Peer‐to‐peer Technologies -- 4.3.3 Zeroconf‐based Local Service Discovery for Constrained Environments -- 4.3.3.1 Architecture -- 4.3.3.2 Service Discovery Protocol -- 4.3.4 Implementation Results -- 4.3.4.1 Local Service Discovery -- 4.3.4.2 Large‐scale Service Discovery -- 4.4 Lightweight Service Discovery in Low‐power IoT Networks -- 4.4.1 Efficient Forwarding Protocol for Service Discovery -- 4.4.1.1 Multicast through Local Filtered Flooding -- 4.4.2 Efficient Multiple Unicast Forwarding -- 4.5 Implementation Results -- Chapter 5 Security and Privacy in the IoT -- 5.1 Security Issues in the IoT -- 5.2 Security Mechanisms Overview -- 5.2.1 Traditional vs Lightweight security -- 5.2.1.1 Network Layer -- 5.2.1.2 Transport Layer -- 5.2.1.3 Application Layer -- 5.2.2 Lightweight Cryptography -- 5.2.2.1 Symmetric‐key LWC Algorithms -- 5.2.2.2 Public‐key (Asymmetric) LWC Algorithms -- 5.2.2.3 Lightweight Cryptographic Hash Functions -- 5.2.2.4 Homomorphic Encryption Schemes -- 5.2.3 Key Agreement, Distribution, and Security Bootstrapping -- 5.2.3.1 Key Agreement Protocols -- 5.2.3.2 Shared Group‐key Distribution -- 5.2.3.3 Security Bootstrapping -- 5.2.4 Processing Data in the Encrypted Domain: Secure Data Aggregation -- 5.2.5 Authorization Mechanisms for Secure IoT Services -- 5.3 Privacy Issues in the IoT -- 5.3.1 The Role of Authorization -- 5.3.2 IoT‐OAS: Delegation‐based Authorization for the Internet of Things -- 5.3.2.1 Architecture -- 5.3.2.2 Granting Access Tokens -- 5.3.2.3 Authorizing Requests -- 5.3.2.4 SP‐to‐IoT‐OAS Communication: Protocol Details -- 5.3.2.5 Configuration. 5.3.3 IoT‐OAS Application Scenarios -- 5.3.3.1 Network Broker Communication -- 5.3.3.2 Gateway‐based Communication -- 5.3.3.3 End‐to‐End CoAP Communication -- 5.3.3.4 Hybrid Gateway‐based Communication -- Chapter 6 Cloud and Fog Computing for the IoT -- 6.1 Cloud Computing -- 6.2 Big Data Processing Pattern -- 6.3 Big Stream -- 6.3.1 Big‐stream‐oriented Architecture -- 6.3.2 Graph‐based Processing -- 6.3.3 Implementation -- 6.3.3.1 Acquisition Module -- 6.3.3.2 Normalization Module -- 6.3.3.3 Graph Framework -- 6.3.3.4 Application Register Module -- 6.3.4 Performance Evaluation -- 6.3.5 Solutions and Security Considerations -- 6.4 Big Stream and Security -- 6.4.1 Graph‐based Cloud System Security -- 6.4.2 Normalization after a Secure Stream Acquisition with OFS Module -- 6.4.3 Enhancing the Application Register with the IGS Module -- 6.4.4 Securing Streams inside Graph Nodes -- 6.4.5 Evaluation of a Secure Big Stream Architecture -- 6.5 Fog Computing and the IoT -- 6.6 The Role of the IoT Hub -- 6.6.1 Virtualization and Replication -- 6.6.1.1 The IoT Hub -- 6.6.1.2 Operational Scenarios -- 6.6.1.3 Synchronization Protocol -- Chapter 7 The IoT in Practice -- 7.1 Hardware for the IoT -- 7.1.1 Classes of Constrained Devices -- 7.1.2 Hardware Platforms -- 7.1.2.1 TelosB -- 7.1.2.2 Zolertia Z1 -- 7.1.2.3 OpenMote -- 7.1.2.4 Arduino -- 7.1.2.5 Intel Galileo -- 7.1.2.6 Raspberry Pi -- 7.2 Software for the IoT -- 7.2.1 OpenWSN -- 7.2.2 TinyOS -- 7.2.3 FreeRTOS -- 7.2.4 TI‐RTOS -- 7.2.5 RIOT -- 7.2.6 Contiki OS -- 7.2.6.1 Networking -- 7.2.6.2 Low‐power Operation -- 7.2.6.3 Simulation -- 7.2.6.4 Programming Model -- 7.2.6.5 Features -- 7.3 Vision and Architecture of a Testbed for the Web of Things -- 7.3.1 An All‐IP‐based Infrastructure for Smart Objects -- 7.3.2 Enabling Interactions with Smart Objects through the IoT Hub -- 7.3.2.1 Integration Challenges. 7.3.3 Testbed Access and Security -- 7.3.3.1 The Role of Authorization -- 7.3.4 Exploiting the Testbed: WoT Applications for Mobile and Wearable Devices -- 7.3.5 Open Challenges and Future Vision -- 7.4 Wearable Computing for the IoT: Interaction Patterns with Smart Objects in RESTful Environments -- 7.4.1 Shaping the Internet of Things in a Mobile‐Centric World -- 7.4.2 Interaction Patterns with Smart Objects through Wearable Devices -- 7.4.2.1 Smart Object Communication Principles -- 7.4.2.2 Interaction Patterns -- 7.4.3 Implementation in a Real‐world IoT Testbed -- 7.4.3.1 Future Vision: towards the Tactile Internet -- 7.5 Effective Authorization for the Web of Things -- 7.5.1 Authorization Framework Architecture -- 7.5.1.1 System Operations -- 7.5.2 Implementation and Validation -- References -- Index -- EULA.