Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
    • Pelion IoT Platform
  • Activity
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • More
  • Cancel
Internet of Things
Internet of Things
Internet of Things IoT standards: How CoAP, OMALWM2M and IPSO smart objects fits together in an IoT stack
  • Blog
  • Videos & Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
Internet of Things requires membership for participation - click to join
More blogs in Internet of Things
  • Internet of Things

  • Wearables blog

Tags
  • smart
  • internet_of_things
  • objects
  • iot
  • Embedded
  • ipso
  • omalwm2m
  • coap
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

IoT standards: How CoAP, OMALWM2M and IPSO smart objects fits together in an IoT stack

Pratul Sharma
Pratul Sharma
August 14, 2015

If you are following Internet of Things, you must have heard about CoAP, OMALWM2M, IPSO smart objects, etc. and have wondered how all these new protocols fits together in a stack. In this post we will look at how these protocols relate to existing world wide web and how they fit in an IoT stack.

Before we go into details, first let us look into the problems are we trying to address in the IoT space?

  • Interoperability- The way IoT devices are discovered, managed, data is reported and authentication is done should be interoperable. Ideally, any IoT device should be able to communicate with any web application or service.
  • Scalability: The interaction between the IoT devices and services should be scalable. Whether the devices and services are across the room or across the globe, whether there is one device or a million, software and standards should be able to scale as needed.
  • Re-usability: The software, networks and protocols should be re-usable across different applications and domains in IoT. In addition, vendors should be able to share a common software.
  • Innovation: The barrier to entry should be low. Anyone should be able to participate, innovate and create new IoT devices and applications.

Now if we look at the world wide web today, most of these problems are already solved.

  • In the world wide web, any web browser can communicate to any web service (up to a certain extent). It does not matter whether WiFi, wired Ethernet or Cellular modems are used for communicating the data.
  • Many different data models and content types are supported - streaming videos, flat web pages, images and dynamic web pages works seamlessly across different web applications.
  • Many different vertical application segments are supported – healthcare, retail, industrial, entertainment and the list goes on and on.
  • World wide web is already scaled to planetary size. The same software can be used for the communicating the data across the room or across the globe.
  • The barrier to innovation is very low. New web applications and services are coming up all the time. The cost of innovation is also low compared to other industries.

Let us look at how we achieved these qualities for world wide web.

  • Narrow waist architecture:  In the world Wide Web, most of the value is at the end points -  on one end we have web services and web applications, on the other end with have servers and the content. Everything in between is the communications infrastructure – the means to transport the data (the narrow waist).
  • Abstraction: The architecture is layered to provide abstraction. Layered architecture breaks up complex problem into smaller manageable pieces and allows abstraction of low level implementation details. As long as standard interface is maintained between the layers, different types of protocols and technologies can work together. For example,  Ethernet, WiFi or cellular modems can be used as a MAC layers with TCP/UDP for Transport layer. This abstraction provides world wide web architecture to scale for any number of applications.
  • Uniform addressing:  The resources are identified by a unique URI. No matter where the resource is on the web there is a URI to find it, and a hyperlink to point to it. This allows web browsers to interact with virtually any resource anywhere on the web and discover it. IP addresses and DNS names are globally unique to scale the web globally.
  • Statelessness: Statelessness means that the server stores the state and the clients are stateless. It allows large number of clients to interact with the a given server on the web, which immensely simplifies building applications and services.

So how can we apply these qualities in IoT?

By applying internet protocol on constrained devices, we can achieve same qualities in IoT as world wide web.

Let us look at the communication stack that enables IP to run on the constrained devices. Following figure shows the IP stack for the constrained devices and their non-constrained counterpart.

On the right, we have a communication stack for non constrained devices. HTTP is an application protocol running on IPV4 or IPV6. IP provides the addressing and routing. Below IP layer we can have WiFi or Ethernet for local network. The hardware, for the most part, runs  on microprocessors.  The equivalent stack for constrained environments is on the left. We have microcontrollers for the hardware which can be running some kind of low power, low bandwidth local area network, for example 802.15.4 provides low-power and low bandwidth network that can run on battery powered devices. Other examples are Bluetooth Low Energy or Thread (which actually runs on 802.15.4). The routing is handled by 6LowPAN which is a compressed header version and IPV6 that provides full IPV6 functionality on constrained  networks. For application layer, we have CoAP – Constrained Application Protocol – a light weight protocol specifically developed for constrained devices and machine to machine communication. It provides compressed binary mapping of REST API’s. Some additional features like Asynchronous notifications, CoRE link-format for hyperlinks are supported for machine to machine use cases.

Note that we can still use HTTP for less constrained networks.

We also have some common object models and data models for semantic interoperability. These models are used for exposing the resources in the IoT devices in a standard way. IPSO smart objects defines these models - a self-contained self describing objects that have URI and a well-defined schema. It is compatible with CoAP and HTTP.

For device management objects we have OMALWM2M protocol that is build upon CoAP. It defines simple reusable object models, REST APIs for on boarding and device life cycle management.

Other special interest groups like UPnP (Universal Plug & Play group), the industrial internet consortium, W3C  and the open interconnect consortium are also working on common data models and the “thing” discovery.

In summary, CoAP, OMALWM2M and IPSO smart objects provides a communication stack for IoT that enables interoperability, scalability, re-usability and innovation. Following figure sums up how above mentioned protocols maps in world wide web and internet of Things.

  

Anonymous
Internet of Things
  • Internet of Things: The secrets to delivering successful IoT projects

    Jesse Dukes
    Jesse Dukes
    For enterprises and OEMs there is huge opportunity to be gained in the adoption of IoT. Learn from experts in connectivity: the Mobile Network Operators.
    • June 17, 2020
  • Internet of Things: Arm Corstone Virtual Platforms now Available at no Cost: A Simplified, Faster Route to Successful Secure SoCs

    Radhika Jagtap
    Radhika Jagtap
    The Arm Corstone-300 and Corstone-700 Fixed Virtual Platforms are now available at no cost to easily and instantly start early exploration and software development ahead of silicon availability.
    • June 15, 2020
  • Internet of Things: Improving Trust in Data with Pelion Device Sentry

    Duncan Jones
    Duncan Jones
    In this blog, read about the May 2020 updates to Pelion device management.
    • June 5, 2020