by Carlo Vallati, Enzo Mingozzi and Giacomo Tanganelli

Recently proposed IoT platforms are typically based on centralized and cloud-centric infrastructures. The BETaaS project aims at designing a platform for the execution of M2M applications in a distributed runtime environment running close to the physical environment where sensors and actuators are deployed. The main goal is to move the intelligence to the edge in order to allow localized, content-centric, and timely processing of smart objects data. The platform facilitates the integration of existing IoT systems, while providing software developers with a high-level, content-centric abstraction to access smart objects’ resources.

Recent technology advances are evolving the objects we use in our daily lives into smart objects, i.e., regular objects empowered with communication and computational capabilities. Smart home automation solutions (e.g., smart thermostats, smart lights) and smart health products (e.g., wearable sensors) commercialized today are only a few examples representing the dawn of the forthcoming Internet of Things (IoT) revolution [1].

Interoperability among heterogeneous IoT systems is considered a key issue in this scenario. Current IoT solutions are typically vertical systems that are designed to serve a specific application acting in isolation with no or limited cooperation. Instead, a horizontal approach is needed to design future IoT platforms in order to facilitate the creation of a converged infrastructure providing diverse applications a seamless access to heterogeneous smart. This is the clear trend also followed by ongoing standardization activities related to IoT, e.g. oneM2M.

However, recently proposed horizontal solutions are typically based on centralized architectures where the intelligence to process and harmonize the data to/from heterogeneous IoT infrastructures is concentrated in the cloud. Although such solutions inherit the benefits of a cloud-based infrastructure, as a matter of facts they are not the best choice for many classes of IoT applications. Machine-to-Machine (M2M) applications, for example, are characterized by a limited scope in time and space (data needs to be processed only when and where generated) as they require simple and repetitive, closed-loop, but often highly time-sensitive interactions. Processing all data in the cloud is generally inefficient in these use cases, and may be even unfeasible if the case requires stringent latency guarantees to process and react to collected sensor data [2].

BETaaS, Building the Environment for the Things-as-a-Service, is a European project co-funded by the European Commission under the 7th Framework Programme, which aims to overcome the limitations of cloud-centric IoT architectures. This is accomplished through the design and development of a horizontal platform that leverages a distributed architecture to move the intelligence to the edge, i.e., close to the physical environment where sensors and actuators reside, in order to ensure timely application processing. The BETaaS platform, is designed to run on heterogeneous devices, called gateways, such as home routers or set-top boxes. The execution of M2M applications is then supported through a tight interaction among multiple gateways that form a distributed runtime environment called a local cloud. On top of the local cloud, the platform offers M2M application developers a content-centric service-oriented interface, named Things-as-a-Service (TaaS), exposed to access smart objects connected to the platform regardless of their location and technology, cutting software development time and enabling code reusability.

Figure 1: BETaaS use case example.

Figure 1: BETaaS use case example.

The BETaaS platform, released as open-source software, is based on Java OSGi, a framework specifically designed to build modular platforms with a highly dynamic structure. The BETaaS architecture is based on a layered structure to ease the integration of existing systems and platform expandability. At the bottom, an Adaptation Layer allows integration of existing M2M systems through the implementation of plug-ins that provide a common interface to access the functionalities of the physical system. At the core, the TaaS layer implements the functionalities that allow gateways to cooperatively share resources, thus realizing the concept of local cloud. The result is the TaaS interface exposed to software developers to implement new services and external applications. To this aim, an additional Service Layer is included to host extended services, i.e., services that can run natively on the platform to implement custom control logic and can be installed at run-time exploiting the modular structure offered by OSGi. Eventually, the Service Layer exposes a unified RESTful interface, exploited by external applications running on external devices to interact with smart objects and extended services. In addition to basic functionalities, the platform offers built-in support for several non-functional requirements aimed at supporting development of M2M applications and extended services: Context Awareness, Quality of Service, Security, Big Data Management and Virtualization. For an exhaustive description of these platform functionalities, the interested reader can refer to [3].

As an example of use case, consider a smart home environment with a set of already deployed vertical M2M systems: an alarm system equipped with presence sensors for surveillance, an environmental control system including temperature sensors for heating and cooling control as well as light switch actuators, and a garden watering system with humidity sensors. In this scenario, the BETaaS platform can be deployed on four gateways that cooperates to implement an all-in-one horizontal IoT system that enables the development of applications leveraging on smart objects working in isolation in the original design. For instance, an extended service that enhances the environmental control system can be installed to exploit humidity and presence information, e.g., turning down the air-conditioning when a window is opened as evidenced by the magnetic sensor part of the alarm system. External applications interacting with the platform and running on external devices can be deployed on a smartphone to expose a uniform control interface to end users.

The BETaaS platform achieves full separation between applications and the sensing and actuating infrastructure, allowing the development of applications by third-party developers. Generic applications ready to run in any BETaaS instance can be developed. This key feature can be exploited to trigger the creation of an M2M application market, from which end users can download and install applications on their private deployments.

Links:
BETaaS website: http://www.betaas.com/
BETaaS project website: http://www.betaas.eu/
BETaaS github repository: https://github.com/BETaaS/BETaaS_Platform-Tools

References:
[1] Atzori, Luigi, Antonio Iera, and Giacomo Morabito: “The internet of things: A survey”, Computer networks, 2010.
[2] Abdelwahab, at al.: “Enabling Smart Cloud Services Through Remote Sensing: An Internet of Everything Enabler”, IEEE In-ternet of Things Journal, 2014.

Please contact:
Carlo Vallati, Enzo Mingozzi, Giacomo Tanganelli
Department of Information Engineering, University of Pisa
{c.vallati, e.mingozzi, g.tanganelli}@iet.unipi.it

Next issue: January 2018
Special theme:
Quantum Computing
Call for the next issue


Image ERCIM News 101 epub
This issue in ePub format

Get the latest issue to your desktop
RSS Feed