In accordance with Moore’s Law, the number of components per integrated circuit at minimal cost doubles approximately every two years. In the vision of the Internet of Things (IoT), however, this gain is not used to increase the computing power of devices, but to decrease power consumption, to integrate whole systems on a tiny chip, and in particular to minimize unit costs.
In this paper, we study the benefits of CoAP’s low overhead for IoT cloud services, in particular scalability to handle huge numbers of concurrently connected IoT devices.
Very low prices will lead to myriads of IoT devices deployed in homes, office buildings, factories, whole cities, and other environments of interest. This also means that most nodes in the IoT will remain resource-constrained and will require lightweight protocols.
Yet with about 100 KiB of ROM and about 10 KiB of RAM, devices are capable of directly connecting to the Internet in a secure manner. These are so- called Class 1 devices, for which lightweight IP solutions such as 6LoWPAN and RPL have been standardized in the Internet Engineering Task Force (IETF).
This allows for seamless integration of sensor and actuator nodes into the Internet, thereby connecting the virtual world of computers with the physical world of our daily lives.For full convergence, however, devices and services must also interoperate at the application layer. When it comes to mashing up different services, the World Wide Web has proven most flexible and scalable.
This motivated the Web of Things initiative, which advocates using the REST architectural style to design IoT applications and the ubiquity of HTTP to interact with devices. HTTP over TCP has problems in constrained environments, though, in particular with the small frame sizes and the lossy links of low-power wireless communication.
Instead of adding the problems of compression to the problems of HTTP, the IETF designed a new Web protocol from scratch: the Constrained Application Protocol (CoAP). CoAP follows REST, but is tailored to the requirements of low- cost devices and IoT application scenarios. It uses a compact binary format and runs over UDP (or DTLS when security is enabled ), which also enables multicast communication.
A messaging sub-layer adds a thin control layer that provides duplicate detection and reliable delivery of messages based on a simple stop-and-wait mechanism for retransmissions. On top, the request/response sub-layer enables RESTful in- teraction through the well-known methods GET, PUT, POST, and DELETE as well as response codes that are de?ned in accordance to the HTTP specification.
CoAP resources are addressable by URIs, and Internet Media Types are used to represent resource state. RESTful caching and proxying enables network scalability. Yet CoAP offers features that go beyond HTTP 1.1, and hence make it a better fit for the IoT:
1) Resources are observable, that is, extra responses con- tinuously push state changes to all registered clients.
2) The extension to a request/multiple-response pattern also enables RESTful group communication where multiple servers respond to a request that is sent to an IP multicast address.
3) CoAP includes a machine-to-machine discovery mechanism to find matching resources based on Web Linking . It uses either multicast or resource directories where devices register on start-up.
4) Application-layer fragmentation allows blockwise on- the-fly processing of messages that would otherwise exceed the maximum transmission unit (MTU) of 1280 bytes or the potentially even smaller buffers of highly resource-constrained devices.
5) Finally, CoAP supports alternative transports such as Short Message Service (SMS) or Unstructured Sup- plementary Service Data (USSD), while maintaining interoperability at the application layer.
While many research efforts have targeted the challenges of constrained environments with little resources and lossy radio links, the impact of a myriad of IoT devices on the existing Internet infrastructure so far has gained little attention. Nonetheless, IoT traffic is quite different from human-centered Web applications and file sharing.
Instead of bulk data, IoT nodes will primarily exchange real-time sensory and control data in small but numerous messages. A typical scenario is using a cloud service to manage a large number of devices, process their data, and orchestrate their actuation.
To this end, we present Californium , a system architecture for IoT cloud services based on the Constrained Application Protocol (CoAP), which is primarily designed for systems of tiny, low- cost, resource-constrained IoT devices.
Along with our system architecture, we systematically evaluate the performance of the new Web protocol in cloud environments. Our Californium (Cf) CoAP framework shows 33 to 64 times higher throughput than high-performance HTTP Web servers, which are the state of the art for classic cloud services.
The results substantiate that the low overhead of CoAP does not only enable Web technology for low- cost IoT devices, but also significantly improves backend service scalability for vast numbers of connected devices.
To read this external content in full, download the complete paper from the article archives at ETH Zurich.