BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Enabling IoT Ecosystems through Platform Interoperability

Enabling IoT Ecosystems through Platform Interoperability

Key Takeaways

  • No vibrant collaborative IoT ecosystem exists yet because the entry barriers are high and the potential gain is low for single stakeholders.
  • A fundamental barrier to the development of an IoT ecosystem is the lack of interoperability across IoT platforms and things.
  • The BIG IoT (Bridging the In- teroperability Gap of the IoT) project aims to enable the emergence of cross-platform, cross- standard, and cross-domain IoT services and applications toward building IoT ecosystems.
  • The BIG IoT API provides authentication and authorization, resource registration and discovery, accounting, and access to resources.
  • A key component of the BIG IoT architecture is the maketplace, where resource providers and consumers discover each other, communicate and exchange resources, and perform charging, billing, and payment.

This article first appeared in IEEE Software magazine. IEEE Software offers solid, peer-reviewed information about today's strategic technology issues. To meet the challenges of running reliable, flexible enterprises, IT managers and technical leads rely on IT Pro for state-of-the-art solutions.

 

The fragmentation of the Internet of Things (IoT) and the lack of interoperability prevent the emergence of broadly accepted IoT ecosystems. The BIG IoT (Bridging the Interoperability Gap of the IoT) project aims to ignite such an ecosystem

The Internet Of Things (IoT) is no longer a futuristic vision but is increasingly becoming a reality, reaching application domains ranging from the quantified self and smart homes, to smart cities and e-health, to Industry 4.0. Dozens of IoT platforms are upcoming. As you'd expect, these include cloud solutions, such as Evrythng, ThingWorx, Xively, or Yaler. But there are also on-premises solutions such as the Bosch IoT Suite, as well as thematically or geographically focused platforms such as the SmartDataNet for the Piedmont region of Italy.

However, no vibrant collaborative IoT ecosystem exists yet because the entry barriers are high and the potential gain is low for a single stakeholder. Providers of platforms, things, and services require a simple, established way to sell access to their assets. Marketplaces letting providers monetize such access aren't yet available. Once these marketplaces are established, developers will be able to easily create IoT services and applications and build their products around them. Revenue streams can then be shared across all contributing entities (service, platform, and thing providers). A key task of a marketplace is to provide extended functionalities to enable the advertising, dynamic discovery, automated orchestration, and negotiation of services to facilitate their use.

However, before marketplaces can provide their full benefits, a serious entry barrier to IoT ecosystems still must be overcome: the lack of interoperability across IoT platforms and things. Today, we're dealing with various vertically oriented and mostly closed systems. IoT architectures are built on heterogeneous standards-for example, the Constrained Application Protocol (CoAP)1, Message Queueing Telemetry Transport (MQTT)2, LightweightM2M (LWM2M)3, Sensor Web Enhancement (SWE)4, or oneM2M5-or even proprietary interfaces.

So, most existing and emerging IoT platforms offer heterogeneous ways to access things and their data. This causes interoperability problems when developers aim to create overarching, cross-platform, and cross-domain applications, and it eventually prevents the emergence of vibrant IoT ecosystems. It also leads to barriers for business opportunities, especially for small innovative enterprises, which can't afford to provide their solution across multiple platforms. They can provide applications and services for only a small number of platforms-for example, a traffic information application for a specific city's IoT platform.

The BIG IoT (Bridging the Interoperability Gap of the IoT) project aims to enable the emergence of cross-platform, cross-standard, and cross-domain IoT services and applications toward building IoT ecosystems. These ecosystems will connect thing providers, service providers, and users. As part of that project, we've developed an IoT ecosystem architecture that overcomes the interoperability barrier.

Toward an Interoperable IoT Ecosystem

The BIG IoT vision is similar to that of pervasive or ubiquitous computing6, in which the physical environment contains computational capabilities. Those concepts focus on how computing affects users; in contrast, our notion of IoT ecosystems is concerned with technical design and realization. We concentrate on technologically supporting interoperability, similarly to Nicholas Loulloudes and his colleagues' research7. However, whereas they proposed a solution for managing interoperable cloud applications, we support interoperability among IoT applications, services, and platforms by leveraging Semantic Web technologies.

For example, consider a crossplatform IoT application that accesses the IoT platform of a user's wearable sensors to automatically deduce that the user is leaving her workplace. Next, the application accesses a smart-mobility platform to purchase a ticket for the commuter train and navigates the user to the reserved seat. Then, the application contacts the IoT platform of the user's refrigerator, determines that the user needs to buy some groceries, and notifies her to stop by a supermarket on her way home. Finally, the application accesses a smarthome platform to heat the user's house before she arrives. Similarly, a cross-platform IoT application for a smart workplace could access the users' wearable sensors to use the gathered data to monitor their workplace environment. Such multipurpose utility of things and data gathered by separate IoT platforms could create great benefits.

To ignite such an IoT ecosystem, interoperability across platforms must be enabled. Such interoperability will let developers create applications by combining data from multiple platforms (for example, parking information from various smart-city platforms). Also, platforms from multiple domains can then be combined-for example, a wearables platform with a smart-home platform. An application will work on top of different platforms; for example, the same application could work on top of a smart-city platform in Berlin, Barcelona, and London.

An Ecosystem Architecture Model

Figure 1 diagrams a model of the basic ecosystem architecture. The different IoT platforms give access to various kinds of things. Besides providing their own interfaces, the platforms are enriched with the BIG IoT API, a common interface that offers the required functionalities for interoperability with other platforms. The platforms can operate on the cloud level (for example, a server or datacenter), fog level (for example, a gateway or cellular-communication base station), or device level (for example, a Raspberry Pi computer, wearable, or smartphone). The BIG IoT API's core can be mutually used independently of a platform's scale.

FIGURE 1. A model of a basic Internet of Things (IoT) ecosystem architecture. Besides providing their own interfaces, IoT platforms are enriched with the BIG IoT (Bridging the Interoperability Gap of the IoT) API, a common interface that offers the required functionalities for interoperability with other platforms. (Icons made by Freepik)

Through the BIG IoT API, developing software artifacts as clients of different platforms is easier. Among such artifacts, we distinguish between services and applications. Although both consume resources (information or functions), services can also provide them. This enables services to be composed into more complex or added-value services. Providers advertise their resources in the marketplace so that consumers can discover those resources and access the desired providers. So, we foresee multiple marketplaces in the future.

They could each cover a different application domain (for example, smart cities, building automation, or manufacturing). Or, different organizations could set up marketplaces all related to one domain. As long as the marketplaces and the registered services and platforms comply with the BIG IoT API, they can further foster an IoT ecosystem.

To enable interoperability for IoT platforms on the cloud, fog, or device level, the BIG IoT API offers a well-defined set of functionalities. Seven functionalities are crucial. The first is identity management to enable resource registration. The second is discovery of resources according to user-defined search criteria. The third is access to metadata and data (data pull as well as publish-and-subscribe for datastreams). The fourth is tasking to forward commands to things. The fifth is vocabulary management for semantic descriptions of concepts. The sixth is security management, including authentication, authorization, and key management. The seventh is charging that allows the monetization of assets through billing and payment mechanisms.

Interoperability Patterns

Reaching interoperability on the IoT on the basis of our architecture model requires a closer look at how the key components interact. In this context, interoperability relates to both the syntax and semantics of interfaces. Syntactic interoperability can be achieved through clearly defined and agreed-upon data and interface formats as well as encodings. Semantic interoperability can be achieved through agreed-upon information models (for example, defined with ontologies) of the terms used as part of the interfaces and exchanged data.

Figure 2 diagrams five generic interoperability patterns for IoT ecosystems that must be supported to lower market entry barriers for developers. The Cross-Platform Access pattern (see Figure 2a) is the fundamental characteristic of an interoperable IoT ecosystem. The pattern entails that an application or service accesses resources (information or functions) from multiple platforms through the same interface specifi cation. For example, an air-qualitymonitoring application could gather information on air quality indicators such as NO2, CO, and O3 offered by different platforms. The realization of this pattern poses two challenges. The first is to how to allow applications or services to discover platforms with relevant information. The second is how to enable platforms from different providers to expose the same interface and use the same formats to communicate data.

(Click on the image to enlarge it)

FIGURE 2. Five interoperability patterns. (a) Cross-Platform Access. (b) Cross-Application Domain Access. (c) Platform Independence. (d) Platform-Scale Independence. (e) Higher-Level Service Facades. Support for these patterns should lower market entry barriers for developers.

The Cross-Application Domain Access pattern (see Figure 2b) extends Cross-Platform Access. Services or applications access information and functions from not only multiple platforms but also platforms that host information from different vertical markets or application domains. Because semantic descriptions of a platform's information sources can be accessed through the BIG IoT API, integrating such (originally heterogeneous) data into one service or application becomes possible. For example, an application that gathers data from different domains could access air quality information, such as O3, and traffic-monitoring information, such as average speed, to provide healthy bicycle routes with cleaner air.

The Platform Independence pattern (see Figure 2c) entails that a particular application or service can be used on top of two IoT platforms (for example, in different regions). This can be achieved by allowing an application or service to discover relevant IoT platforms and interact uniformly with them. For example, two deployments of a smart-parking service in two regions (for example, Barcelona and London) could have their own platforms with parking-spot information. Realizing platform independence is particularly challenging when both platforms provide information that different kinds of things created. For example, information on parking-spot availability could be generated by radar-based sensors on street lamps or underground ultrasound-based sensors.

The Platform-Scale Independence pattern (see Figure 2d) integrates platforms of different scales. Cloudlevel platforms usually manage many devices and host a vast amount of data. Fog-level platforms connect nearby devices and manage data with limited spatiotemporal scope. Device-level platforms grant direct access to things and typically host small amounts of data.

By implementing this pattern, a platform hides its scale from connecting services or applications. Services or applications can uniformly use data from cloud-, fog-, or server-level platforms. For example, an application could display air-quality-monitoring information (for instance, as visualizations on a map). The application could allow accessing aggregated information such as the computed air quality index for a certain region from a cloud-level IoT platform. Or, the application could also enable access to data directly from air quality stations (that is, fog-level platforms) to display time series from unadulterated data.

Finally, the Higher-Level Service Facades pattern (see Figure 2e) extends the interoperability requirements from platforms to higher-level services. The idea is that not only platforms but also services offer information and functions through the BIG IoT API. Thus, a service acts as an IoT platform's facade and accesses the offered information or functions to provide value-added functionalities. For example, an air-quality-viewer application could access platform A, which provides aggregated air quality data. Or, it could access a service that aggregates air quality data from platform B because B can't perform data aggregation or host long-term time series data.

These patterns enable reuse and composition of services as well as easy integration of data from different platforms. Our vision of IoT ecosystems goes even beyond those benefits. Dynamic search and orchestration of information as well as automatic charging are necessary to allow for a flourishing, easy-to-use ecosystem. In such an ecosystem, country borders wouldn't matter for applications and services. For example, in the case of a smart-car-parking app, a traveling user wouldn't have to download a new app for the destination country. If data from a platform in the destination country were provided through a compliant semantic framework, the ecosystem could enable the application to automatically discover and connect to the right information sources, to allow for seamless use.

The BIG IoT Architecture

Figure 3 illustrates our BIG IoT architecture. Its core is an open marketplace for IoT platforms and services as providers to trade available resources (information and functions). IoT applications or services can use the marketplace to discover and access resources in real time. The BIG IoT API provides

  • authentication and authorization in the marketplace,
  • resource registration and discovery in the marketplace,
  • accounting of the resources provided and consumed, and
  • access to resources.

(Click on the image to enlarge it)

FIGURE 3. The BIG IoT architecture. It supports the five interoperability patterns in Figure 2.

The marketplace and BIG IoT API are the basis for resource providers and consumers to discover each other, communicate and exchange resources, and perform charging, billing, and payment. As such, the marketplace and BIG IoT API are the basis for enabling interoperability with the five patterns.

The main challenge for the Cross-Application Domain Access, Platform Independence, and HigherLevel Service Facades patterns is that they target interoperability among highly heterogeneous entities:

  • Cross-Application Domain Access targets providers and consumers from different vertical markets or application domains.
  • Platform Independence targets providers hosted on different IoT platforms.
  • Higher-Level Service Facades targets providers on different provider systems-for example, an IoT platform or a service.

To bridge the interoperability gap for those patterns, the architecture mandates the use of common information models, such as those that the Semantic Web and linked data provide8. These models support providers (platforms or services) to describe the resources they offer in a machine-understandable manner, so that consumers (services or applications) in a different domain, region, or system can understand and process them. For example, Schema.org vocabularies are the shared common understandings between search engines and billions of webpages9.

The marketplace also uses the information models to match providers and consumers on the basis of their supplies and demands. To enable that, data providers and consumers can share the same vocabularies for "smart object", "sensor", "measurement", and so on in the same way that search engine providers agree with web developers on how to describe "restaurant", "hotel", "airline", and so on.

In this architecture, provider and consumer libraries implement ecosystem functionalities. For example, the provider library implements a registry interface to offer resources through the marketplace and access interfaces to provide the information to consumers. These libraries support platform, service, and application developers in trading, discovering, and accessing resources. Developers only have to implement a provider or consumer interface once and can easily update the libraries to further comply with changes in the underlying message formats and interactions.

The BIG IoT project's ecosystem now includes eight platforms, including ones from Bosch, CSI (Consortio per il Sistema Informativo), Siemens, VMZ (Verkehr Mobilität Zukunft), and Worldsensing. The use cases to test interoperability come from the mobility domain, including smart parking, bike sharing, and traffic management. The use cases are implemented using the IoT platforms and newly developed services and applications. They'll be demonstrated and tested in three pilots in Barcelona, Piedmont, and Berlin and Wolfsburg. To showcase the realization of the five interoperability patterns, the implemented services and applications will be reused and transferred between the pilots.

For this IoT ecosystem to grow, developers must find it attractive. A fundamental risk of our approach is that developers and platform providers might find the ecosystem's features (for example, the BIG IoT API and information models) unattractive. We're mitigating this risk by closely interacting with such stakeholders (for example, by reaching out through surveys and market studies).

Moreover, to activate the ecosystem, the BIG IoT project fosters openness toward the IoT developer community. This will be underpinned by community outreach (for example, hackathons), open development of the BIG IoT API (supported through the World Wide Web Consortium's Web of Things Interest Group), and releasing the developed software as open source.

Conceptually and technologically, the project will tackle different issues in the coming months. For example, it will develop a coherent security concept for interaction between the marketplace and IoT platforms. These platforms generally have their own authentication and authorization solutions, which makes integration with user management of the marketplace challenging.

Furthermore, common vocabularies and semantic models must be developed or reused. The challenge will be to establish vocabularies that have achieved consensus among developer communities and standardization bodies. We need mechanisms that align and consolidate vocabularies. On the basis of these vocabularies, descriptions for IoT platform resources can be defined.

Finally, the project will define mechanisms for intelligently composing resources to encourage and maximize their reuse. For example, this could support automatic composition of a smart-parking service from a parking finder and a parking-reservation service.

Acknowledgments

This research is supported by the BIG IoT (Bridging the Interoperability Gap of the IoT) project, which has received funding from the European Commission's Horizon 2020 research-and-innovation program under grant 688038. We thank the consortium partners for their feedback and fruitful discussions. This work will be further evolved as part of the ongoing development in the project.

References

1. C. Bormann, A.P. Castellani, and Z. Shelby, "CoAP: An Application Protocol for Billions of Tiny Internet Nodes", IEEE Internet Computing, vol. 16, no. 2, 2012, pp. 62-67.
2. IBM and Eurotech, "MQTT V3.1 Protocol Specification".
3. "Lightweight Machine to Machine Technical Specification, Candidate", Open Mobile Alliance, 2015.
4. A. Bröring et al., "New Generation Sensor Web Enablement", Sensors, vol. 11, no. 3, 2011, pp. 2652-2699.
5. J. Swetina et al., "Toward a Standardized Common M2M Service Layer Platform: Introduction to oneM2M", IEEE Wireless Communications, vol. 21, no. 3, 2014, pp. 20-26.
6. M. Weiser, "Some Computer Science Issues in Ubiquitous Computing", Comm. ACM, vol. 36, no. 7, 1993, pp. 75-84.
7. N. Loulloudes et al., "Enabling Interoperable Cloud Application Management through an Open Source Ecosystem", IEEE Internet Computing, vol. 19, no. 3, 2015, pp. 54-59.
8. C. Bizer, T. Heath, and T. BernersLee, "Linked Data-the Story So Far", J. Semantic Web and Information Systems, vol. 5, no. 3, 2009, pp. 1-22.
9. R. Guha, D. Brickley, and S. Macbeth, "Schema.org: Evolution of Structured Data on the Web", Comm. ACM, vol. 59, no. 2, 2016, pp. 44–51.

About the Authors

Arne Bröring is a research scientist at Siemens' corporate research unit in Munich and the technical coordinator of the BIG IoT (Bridging the Interoperability Gap of the IoT) project. His research interests include the Internet of Things, sensor webs, and the Semantic Web. Bröring received a PhD in geoinformatics from the University of Twente. He's a member of the World Wide Web Consortium. Contact him here.

Stefan Schmid is a senior expert in the Internet of Things at Bosch Corporate Research. His research interests are knowledge-based services, machine intelligence, and semantic interoperability. Schmid received his PhD in computer science from Lancaster University. He's a member of IEEE. Contact him here.

 

Corina-Kim Schindhelm is a research scientist at Siemens' corporate research unit in Munich. She's interested in indoor localization technologies because location is a key enabler of the Internet of Things. Schindhelm received an MSc in computer science from Ludwig-Maximilians-Universität. Contact her here.

 

Abdelmajid Khelil is a professor of the Internet of Things and software engineering at the Landshut University of Applied Sciences. His research interests include the Internet of Things, machine-to-machine communication, the Internet of vehicles, and critical-infrastructure protection. Khelil received a PhD in computer science from the University of Stuttgart. He's a member of IEEE, ACM, and the German Informatics Society. Contact him here.

Sebastian Käbisch is a research scientist at Siemens Corporate Technology. His research interests include the efficient realization and use of standardized web technologies for the Internet of Things. Käbisch received a PhD in computer science from the University of Passau. Contact him here.

 

Danh Le Phuoc is a Marie Skłodowska-Curie Fellow at the Technical University of Berlin. His research interests include linked data and the Semantic Web for the future Internet, big data for the Internet of Everything, databases, and pervasive computing. Le Phuoc received a PhD in computer science from the National University of Ireland. Contact him here.

Darko Anicic is a research scientist at Siemens Corporate Technology. His research interests are the development and standardization of the Web of Things, the Semantic Web, complex-event processing, and stream reasoning. Anicic received a PhD in computer science from the Karlsruhe Institute of Technology. He's a member of the World Wide Web Consortium. Contact him here.

Denis Kramer researches Internet of Things technologies at Bosch Software Innovations in Stuttgart. He's also a PhD student in the University of Augsburg's Organic Computing department. His research interests include the Internet of Things, machine learning, cloud computing, and organic computing. Kramer received his MSc in computer science from the University of Bielefeld. Contact him here.

Jelena Mitic is a research scientist at Siemens Corporate Technology and the project coordinator of BIG IoT (Bridging the Interoperability Gap of the IoT). Her research interests include pervasive computing, distributed systems, and software architecture and platforms. Mitic received an MSc in communications and media engineering from the University of Applied Sciences Offenburg. Contact her here.

Ernest Teniente is a professor of service and information system engineering at Universitat Politècnica de Catalunya. His research interests are the Internet of Things, ontologies and conceptual modeling, business process modeling, automated reasoning, integrity constraints enforcement, and data integration. Teniente received a PhD in computer science from Universitat Politècnica de Catalunya. Contact him here.

This article first appeared in IEEE Software magazine. IEEE Software offers solid, peer-reviewed information about today's strategic technology issues. To meet the challenges of running reliable, flexible enterprises, IT managers and technical leads rely on IT Pro for state-of-the-art solutions.

Rate this Article

Adoption
Style

BT