The ALMANAC architecture provides a Smart City Platform structure based on services such as interoperability, virtualization, data management and privacy policies.
The starting point for ALMANAC is to develop a platform on top of which a number of smart city applications can be deployed. The platform provides services such as management of public and private network access through Telco M2M infrastructure; common abstraction of resources such as devices, systems and services; handling of latest and historical values of heterogeneous information sources, and reuse of data models provided by individual applications. The ALMANAC architecture has been designed to emphasise these services and will be demonstrated through the selected applications: Waste management, water management and citizen engagement.
Defining the architecture
The process of defining the architecture was based on two principles: Existing technologies and generic platform services.
- First, each project partner brought in technologies and software that they developed over a number of outstanding EU projects and which provided sound services to build upon. Secondly, since the aim of the ALMANAC project is to provide an environment that hosts a variety of applications running on top of it, we needed a way to regularly remind us to distinguish between specific application implementations and platform services. The manifestations of these principles are the bottom-up approach that initiated our architecture definition process, while the scenario thinking and use case driven approaches can rather be seen as top-down thinking, explains Mark Vinkovits, M.Sc. from Fraunhofer Institute For Applied Information Technology, who is in charge of leading the development of the architecture.
The result of the process was the identification of four main services that the platform should provide. Mark Vinkovits explains:
Interoperability of devices: Enabled by the Smart City Resources Adaptation Layer, applications can access any kind of devices, whichever proprietary protocol they may speak, over a uniform web-service based interface. Additionally to this service, the layer exploits any kind of meta- and semantic information of appearing devices and feeds them into the Virtualization Layer.
Virtual services: Enabled by the Virtualization Layer, the applications relying on the middleware do not have to know where the services or devices they consume are placed, or whether they actually exist. The Virtualization Layer provides service look-up mechanisms that bridge physical network boundaries, or can even wrap arbitrary data-sets – like historic measurements or cached values – as consumable services.
Composition of rules and caching of data: There are multiple scenarios where applications are not interested in current device values but would rather like to be informed if specific thresholds are met, or see trends for particular intervals. This capability is provided by the Data Management entity. The component directly grabs data coming from devices and by parsing and indexing it, enables later complex querying. The rules or mechanisms that the Data Management entity should execute are either specified directly by applications, or indirectly through the Virtualization Layer.
Privacy policies: While mainly required by providers of services and data sets, applications can also greatly benefit from knowing that they cannot run into the threat of invading privacy of the individual services they consume. Service and device providers individually define policies regarding data they provide; these policies are enforced through multiple Policy Enforcement Points throughout the platform, thereby enabling applications to access only the data and functionalities for which they have explicit access rights.
How applications benefit from the platform services
To clarify the operation of the individual components within the architecture, ALMANAC partners identified a number of technical use cases. They are intended to reflect typical applications of the ALMANAC platform, thereby specifying in more detail how users and applications are to interact with the platform. The use cases contain the following as described by Mark Vinkovits:
The first technical use case concerns data collection and rule based notification. It is a description of how aggregation of real-time data flows can be configured to derive additional information, and how an end user application may describe the conditions for when it wants to be notified about changes in this information. It also describes the way that the system does rule-based notification events to clients, smart city applications or semantic IoT resources.
A second use case involves historic data aggregation and reasoning. When data is reported from IoT devices or generated by semantic IoT resources, the data may be stored locally to allow rules to be able to process historical data. However, local cache is typically for short time periods. This scenario describes how data for sensors is stored and accessed in the system in a scalable way and how historical data is accessed for querying and reasoning.
Another use case is about smart city resource registration. It shows how a new physical resource joins the network and how it is discovered and registered by the Adaption Layer. The layer uses designated drivers for individual device types, exposes them as Representational state transfer (REST) service, and informs the Virtualization Layer and Data Management of the capabilities of the new resource.
End-user data access is a fourth use case describing the authentication of users accessing a personal profile or data. In this use case, ALMANAC matches the user identity with his or hers personal consumption monitoring devices (e.g. the water meter provided by the water utility). Thanks to this mapping, the user can retrieve own consumption and benchmark it against the average consumption of the city.
The first year applications will mainly concentrate on the data gathering aspects of the ALMANAC platform. Therefore, waste and water management applications mainly benefit from the easy integration of data sources into the platform without significant changes to previous hardware and software applied in these domains. Additionally, citizens will be able to use their mobile devices to provide additional input on these domains, and also, by means of the Virtualization Layer, access measurements through the cloud and review them in a formatted way.
More on the initial ALMANAC architecture and the methodologies can be found in the deliverable D3.1.1 System Architecture Analysis and Design Specification 1 which will be become available on the project website once it has been approved by the EC in November 2014.