d31 - mobinet.eumobinet.eu/sites/default/files/mobinet-del-d31.1-platformreview-v1... · d31.1 3.1...

104
D31.1 3.1 Platform state-of-the-art review 7th RTD Framework Programme Directorate General for Communications Networks, Content & Technology Cooperative Systems for energy efficient and sustainable mobility (FP7-ICT-2011-6.7) Contract Type: Collaborative project Grant agreement no.: 318485 Work package: 3.1 Version number: Version 1.1 Dissemination level: PU Date: 06/10/2014

Upload: dinhhanh

Post on 25-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

D31.1

3.1 Platform state-of-the-art review

7th RTD Framework Programme Directorate General for Communications Networks, Content & Technology Cooperative Systems for energy efficient and sustainable mobility (FP7-ICT-2011-6.7) Contract Type: Collaborative project Grant agreement no.: 318485

Work package: 3.1

Version number: Version 1.1

Dissemination level: PU

Date: 06/10/2014

06/10/14 Page 2 of 104

Version 1.1

Version Control

Version history

Version Date Main author Summary of changes

0.1 08/04/2013 Francesco Alesiani (NEC) FI-WARE analysis and document

structure

0.2 07.08.2013 Francesco Alesiani (NEC) New chapter structure

0.3 02.09.2013 Tobias Schlauch (DLR) Analysis of Instant Mobility project

0.4 13.09.201 Igor Passchier (TNO) Analysis of SPITS and

GOOGLE/APPLE Application store

0.5 23.09.2013 Francesco Alesiani (NEC) Integrated version

0.6 28.10.2013 Francesco Alesiani (NEC) Concluding chapter

1.1 19.09.2014 Francesco Alesiani (NEC) Edited according to the EC review

comments

Name Date

Prepared Francesco Alesiani (NEC) 19/09/2014

Reviewed Yanying Li (ERTICO) 03/10/2014

Authorised Yanying Li (ERTICO) 06/10/2014

Circulation

Recipient Date of submission

European Commission 06/10/2014

Project partners 06/10/2014

Authors

Francesco Alesiani (NEC)

Tobias Schlauch (DLR)

Dirk Beckmann (DLR)

Igor Passchier (TNO)

Eelco Cramer (TNO)

06/10/14

Page 3 of 104 Version 1.1

Table of contents

Version Control ................................................................................... 2

Table of contents ................................................................................ 3

Abbreviations and definitions .............................................................. 6

Executive Summary ............................................................................ 7

1 Introduction ................................................................................... 8

1.1 Document Scope ........................................................................................... 8

1.2 Document Objectives .................................................................................... 8

2 Overview of Relevant Project/Platform .......................................... 9

2.1 Introduction and Method ................................................................................ 9

2.2 Platforms/Products Overview ........................................................................ 9

3 FI-WARE Architecture and Outcomes ......................................... 11

3.1 Introduction .................................................................................................. 11

3.2 FI-WARE Project ......................................................................................... 11

3.3 Future Internet PPP and FI-WARE Platform ............................................... 11

3.4 FI-WARE test bed........................................................................................ 13

3.5 Cloud Hosting (CH) Architecture and components ...................................... 14

3.6 Data Center Resource Management (DCRM) ............................................. 15

3.7 Open Cloud Computing Interface (OCCI) .................................................... 16

3.8 Service Manager (SM) GE .......................................................................... 18

3.9 Cloud Edge (CE) GE ................................................................................... 20

3.10 Object Storage (OS) GE ........................................................................... 21

3.11 Data/Context Management Architecture ...................................................... 23

3.11.1 Context Broker (Publish/Subscribe Broker) GE ............................................... 24

3.11.2 Complex Event Processing (CEP)................................................................... 24

3.11.3 Location GE .................................................................................................... 25

3.11.4 Metadata Preprocessing GE ........................................................................... 26

3.11.5 Compressed Domain Video Analysis GE ........................................................ 28

3.11.6 Media-enhanced Query Broker GE ................................................................. 30

3.11.7 Semantic Annotation GE ................................................................................. 31

3.11.8 Semantic Support GE ..................................................................................... 31

3.12 Internet of Things (IoT) Services Enablement Architecture ......................... 32

3.12.1 Backend IoT Broker GE .................................................................................. 34

3.12.2 Backend Discovery Engine GE ....................................................................... 35

3.12.3 Backend Device Management GE .................................................................. 36

3.12.4 Gateway Device Management GE .................................................................. 37

06/10/14 Page 4 of 104

Version 1.1

3.12.5 Gateway Data Handling GE ............................................................................ 38

3.12.6 Gateway Protocol Adapter GE ........................................................................ 40

3.13 Architecture of Applications and Services Ecosystem and Delivery Framework 41

3.14 USDL (Unified Service Description Language) ............................................ 43

3.15 Security ....................................................................................................... 45

3.15.1 Architecture Overview ..................................................................................... 46

3.16 Interface to Networks and Devices (I2ND) Architecture .............................. 47

3.16.1 Architecture Overview ..................................................................................... 47

3.17 Developer Community and Tools Architecture ............................................ 48

3.17.1 Architecture Overview ..................................................................................... 49

3.18 Outcome Analysis and Conclusions ............................................................ 51

4 SPITS Project Architecture and outcomes ................................... 52

4.1 Introduction .................................................................................................. 52

4.2 Platform Architecture and Outcomes Description ........................................ 53

4.2.1 SPITS platform context ................................................................................... 53

4.2.2 System Scenario ............................................................................................. 54

4.2.3 System Design ................................................................................................ 57

4.2.3.1 The On-board Unit .......................................................................................... 58

4.2.3.2 The Road Side Unit ......................................................................................... 63

4.2.4 Integrated Subsystem Design ......................................................................... 67

4.3 Outcome Analysis and Conclusions ............................................................ 68

5 Android and iOS eco-systems features ....................................... 70

5.1 Introduction .................................................................................................. 70

5.2 Platform Architecture and Outcomes Description ........................................ 70

5.2.1 Installing apps ................................................................................................. 70

5.2.2 How apps can detect other apps installed ....................................................... 71

5.2.3 How apps can communicate with other apps .................................................. 71

5.2.4 How apps can unlock / install new features ..................................................... 72

5.3 Outcome Analysis and Conclusions ............................................................ 73

6 Instant Mobility Architecture and outcomes ................................. 74

6.1 Introduction .................................................................................................. 74

6.2 Platform Architecture and Outcomes Description ........................................ 74

6.2.1 Scenarios ........................................................................................................ 74

6.2.1.1 Personal travel companion .............................................................................. 74

6.2.1.2 Smart city logistics .......................................................................................... 75

6.2.1.3 Transport infrastructure as a service ............................................................... 75

6.2.2 Platform Architecture....................................................................................... 75

6.2.2.1 Architectural Vision ......................................................................................... 76

6.2.2.2 Conceptual Architecture .................................................................................. 78

06/10/14

Page 5 of 104 Version 1.1

6.2.3 Overview of the implemented Prototypes ........................................................ 86

6.2.3.1 Scenario 1 – Personal Travel Companion ....................................................... 86

6.2.3.2 Scenario 2 – Smart City Logistics ................................................................... 90

6.2.3.3 Scenario 3 – Transport Infrastructure as a Service ......................................... 93

6.3 Outcome Analysis and Conclusions ............................................................ 96

ANNEX: Analysis Table .................................................................... 97

06/10/14 Page 6 of 104

Version 1.1

Abbreviations and definitions

Abbreviation Definition

AGPS Assisted Global Positioning System

AoE ATA over Ethernet

CE GE Cloud Edge GE

CEP Complex Event Processing

CH Cloud Hosting

DCRM Data Center Resource Management

DCT Developer Community and Tools

FI-PPP Future Internet Public-Private Partnership

GE Generic Enabler

I2ND Interface to Networks and Devices

IaaS Infrastructure as a Service

IoT Internet of Things

iSCSI Internet Small Computer System Interface

MLP Mobile Location Protocol

NaaS Network as a service

OCCI Open Cloud Computing Interface

OMA Open Mobile Alliance

OS GE Object Storage GE

PaaS Platform as a Service

REST Representational State Transfer

S&D Security and Dependability

SaaS Software as a service

SM Service Management

SMI Service Manager Interface

VDC Virtual Data Center

06/10/14

Page 7 of 104 Version 1.1

Executive Summary

The current report provides a panorama of selected projects and products that are relevant to the

MOBiNET platform. Each project or product is first described with the aim of highlight the potential

interaction with the MOBiNET concept. The components that can be potentially integrated in the

MOBiNET platform are then presented and analysed.

06/10/14 Page 8 of 104

Version 1.1

1 Introduction

1.1 Document Scope

The deliverable is to review existing European projects or initiative and product that are relevant to

the MOBiNET project and concept, focusing on those who also develop platforms which can be

used to support the development of the MOBiNET platform and services.

1.2 Document Objectives

The current report aims at presenting the main outcome of relevant projects that can provide

expertise or components to the MOBiNET platform development. The main objective is to ensure

that innovative technologies such as Future Internet are considered in the MOBiNET platform

architecture and development. Especially the outcome of the FI-PPP projects including FI-WARE1

is studied.

In order to create a concrete output for the MOBiNET architecture and development innovative and

relevant components are identified and analyzed. Existing components can then be used for the

development of platform and potential integrated into the architecture.

1 FIREWARE project: http://www.fi-ppp.eu/projects/fi-ware/

06/10/14

Page 9 of 104 Version 1.1

2 Overview of Relevant Project/Platform

2.1 Introduction and Method

The deliverable D31.1 represents the first deliverable in the Architecture and Specification WP of

MOBiNET. The aim of the document is to present major results that can be potentially used or

which represent a reference for the actual specification and development of the MOBiNET

platform.

The document has been created following the following method. First a list of major project or

platform has been identified. Among the potential projects and platforms the most relevant went

through the actual analysis. The analysis consists on the presentation of the platform / product, the

identification of the main component relevant to MOBiNET, the description of the components and

finally the analysis of the relevance of the components.

Relevance of components can be of two types: 1) components that can be direct used; 2) the

specification and architecture of the component for the actual platform specification. Among

applicable components it is possible to identify component which actually implements some

function. Alternatively a component is a specification or standard that is applicable to the MOBiNET

platform. These difference component types are reported in the description of the components

themselves.

In order to present the result, two outputs are provided: 1) the deliverable with the project/platform

description and analysis; 2) a summary table with the list of components. The table is also included

in the current deliverable in the ANNEX, but an extended version is provided separately.

2.2 Platforms/Products Overview

The current deliverable contains the analysis of the following items:

1) FI-WARE Project and outputs: this project represents a major effort in providing

technologies for Internet of Things Platform. This project represents the largest part of the

deliverable since internally the project is organized in Generic Enablers that can be

considered separate project/platform functionalities. The project analysis has produced a

list of components and a list of applicable pre-existing technologies that can be applicable

to MOBiNET Platform

2) SPITS Project2 and outputs: this Dutch National Project provide different interesting aspect

to the MOBiNET platform which range from the central platform to the on-board device,

including billing and application deployment;

3) The Android and iOS eco-systems: these two platforms represent the most widely used

application deployment platform; this chapter presents an overview on the application

deployment process.

2 SPITS project: http://www.spits-project.com/

06/10/14 Page 10 of 104

Version 1.1

4) Instant Mobility Project3 and outputs: Instant Mobility is one of the FI-PPP Project focusing

on mobility. The chapter allow so understand the choice of the project and the relationship

with MOBiNET.

In the ANNEX, 29 components are listed and analyzed. Some of them include multiple

components that are related to the same function group. Among the other, it is possible to mention

the Cloud Hosting, Data/Content Management, Device Management component areas. The actual

use and applicability of the component will be analyzed in the architecture tasks.

.

3 Instant Mobility Project: http://instant-mobility.com/

06/10/14

Page 11 of 104 Version 1.1

3 FI-WARE Architecture and Outcomes

3.1 Introduction

3.2 FI-WARE Project

FI-WARE is the Platform Project in the Future Internet Public Private Partnership (PPP) Program, a

joint action by the European Industry and the European Commission. The project aims at

developing public and royalty-free Open Specifications of Generic Enablers, together with a

reference implementation of them available for testing. This way, it is aimed to develop working

specifications that influence Future Internet standards.

FI-WARE aims at delivering a novel service infrastructure, building upon elements (called Generic

Enablers) which offer reusable and commonly shared functions making it easier to develop Future

Internet Applications in multiple sectors – building a true foundation for the Future Internet.

3.3 Future Internet PPP and FI-WARE Platform

The FI-WARE platform is the Core Platform whose development is being targeted within the Future

Internet PPP4 initiative launched by the European Commission in collaboration with the Industry.

More information about Future Internet PPP initiative can be found at [4]. The FI-WARE platform is

being developed following some of the principles of the Agile methodology.

FI-WARE is one of the Project in the PPP Program [Future Internet PPP]. The following figures

give information on the PPP Program Call Plan and an overview of the relationship of the Projects.

4 Future Internet PPP: http://www.fi-ppp.eu/

06/10/14 Page 12 of 104

Version 1.1

Figure 1 - PPP Call Plan

Figure 2 - PPP Projects

06/10/14

Page 13 of 104 Version 1.1

3.4 FI-WARE test bed

FI-WARE has defined and implemented a test bed for the FI-WARE platform. This test bed

extends to the Open Innovation Lab. The test bed host the various implemented GE and is used

for testing / integrating. It also allows to install application defined by PPP partners.

Figure 3 - FI-WARE test bed

Generic Enabler (GE) is a fundamental concept for FI-WARE and in order structuring the functions

these have been grouped in Chapters. FI-WARE defines the following GE Chapters:

• Cloud Hosting

• Data/Context Management

• Internet of Things (IoT) Services Enablement

• Applications/Services Ecosystem and Delivery Framework

• Security

• Interface to Networks and Devices (I2ND)

Each GE Chapter has its own Architecture and each Chapter is defined by multiple GEs. Every GE

Chapter or GE is supposed to be implementable in multiple instances. Application can be

developed using the API defined in the specific GE. APIs are defined as Open Specification5

5 https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Summary_of_FI-

WARE_Open_Specifications

06/10/14 Page 14 of 104

Version 1.1

FI-WARE provides the Developer Community and Tools (DCT), which wants to offer a

comprehensive environment enabling the FI-PPP program developers to use in the more efficient,

easy and effective way the FI-WARE outcomes (i.e. GE Implementations and FI-WARE Instances)

and exploiting collaboration means to benefit the support of the community.

3.5 Cloud Hosting (CH) Architecture and components

FI-WARE Cloud Hosting focuses on fundamental cloud capabilities enabling provisioning and life

cycle management of virtual machines and associated resources (compute, storage, network,

images, etc) hosting FI applications and services, as well as object storage capabilities which can

be used directly by FI applications and services via a REST API. In future releases, additional

capabilities will be added, notably the support for complex services comprising multiple virtual

machines, including monitoring, policy-based elasticity. The Roadmap of Cloud Hosting describes

the plan for feature deployments in FI-WARE6

Figure 4 - CH Architecture

Figure 4 shows the CH architecture. The GEs in the above diagram are grouped into Core GEs,

providing the core hosting capabilities at different abstraction levels (resources, services, objects,

etc) and Ecosystem GEs, addressing various specific needs across the Core GEs, and

establishing the ecosystem that enables the end-to-end capabilities provided by a cloud offering.

The Core GEs include:

6 https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Roadmap_of_Cloud_Hosting

06/10/14

Page 15 of 104 Version 1.1

• Data Center Resource Management (DCRM) GE, offering provisioning and life cycle

management of virtualized resources (compute, storage and network) associated with

virtual machines.

• Object Storage GE, offering provisioning and life cycle management of object-based

storage containers and elements

• Service Management (SM) GE, offering provisioning and life cycle management of

composite services comprising several resources provided by the above GEs. In the

first release of FI-WARE, Service Management GE will consume resources provided by

Data Center Resource Management GE, via the corresponding APIs.

In the next releases of FI-WARE, the following additional Core GEs will be considered:

• Cloud Edge Resource Management GE, enabling end-to-end provisioning and life cycle

management of cloud applications which comprise run-time components designed to

run on Cloud Edge devices. The hosting capabilities on such Cloud Edge devices are

provided by Cloud Proxy GE, developed across Cloud Chapter and I2ND Chapter.

• PaaS Management GE, offering provisioning and life cycle management of middleware-

level containers, such as Web, Database, etc.

Other GEs include:

• Monitoring GE, collecting metrics associated with each of the Core GEs, and offering them

to GEs which are interested to consume such metrics. For example, Service

Management GE consumes metrics associated with KPIs of the various service

components in order to drive auto-scaling decisions. In the future, more advanced

metrics-related capabilities will be provided, such as processing (before it is delivered to

the consumer), archival and analysis of metrics.

• Identity Management GE, providing a unified management of users, roles and tokens, that

can be used by other GEs for authentication and authorization purposes. This GE will

be provided by the Security Chapter.

In the next releases of FI-WARE, the following additional Ecosystem GEs will be considered:

• Accounting GE, allowing to keep records about resource usage, which can be then used for

billing purposes

• Audit GE, allowing to keep track of all the activities in the cloud for auditing purposes

• Cloud Broker GE, allowing to leverage GEs deployed in another Cloud in a federated or

hybrid fashion

3.6 Data Center Resource Management (DCRM)

Figure 5 shows the internal architecture of the DCRM. Open Cloud Computing Interface (OCCI)

describes the API provided by DCRM.

06/10/14 Page 16 of 104

Version 1.1

Figure 5 - DCRM

The key component visible to the cloud user are:

Virtual server, comprising a virtualized container that can host an arbitrary Operating System and an arbitrary software stack on top, installed within the virtual server. DCRM GE supports provisioning and life cycle management of Virtual Servers.

Virtual disk, representing a persistent virtual disk that can be potentially attached to an arbitrary virtual server. DCRM GE supports provisioning of virtual disks, as well as their attachment to virtual servers.

Virtual network, representing a logical network abstraction that would typically represent a L2 segment. DCRM GE supports provisioning of virtual networks, as well as attachment of virtual NICs of virtual servers to them.

Virtual image -- a pre-packaged virtual server image. DCRM GE supports life cycle of virtual images, as well as provisioning of virtual servers based on virtual images.

Policies -- a mechanism to control access to, and behavior of, operations on the above entities, in a given context (see more details below).

3.7 Open Cloud Computing Interface (OCCI)

OCCI is a RESTful protocol and API for the management of cloud service resources. It comprises

a set of open community-lead specifications delivered through the Open Grid Forum. OCCI was

originally initiated to create a remote management API for IaaS model based Services. It has since

evolved into a flexible API with a strong focus on integration, portability, interoperability and

innovation while still offering a high degree of extensibility.

06/10/14

Page 17 of 104 Version 1.1

OCCI aims to leverage existing Standards Developing Organization (SDO) specifications and

integrate those such that where an OCCI specified feature may not be rich enough a more capable

one can be brought into play. An excellent example of this is the integration of both Cloud Data

Management Interface (CDMI) and Open Virtualization Format (OVF). In particular to these two

previously mentioned standards, when combined together provide a profile for open and

interoperable infrastructural cloud services.

The main design foci of OCCI are:

Flexibility: enabling a dynamic, adaptable model,

Simplicity: do not mandate a large number of requirements for compliance with the specification. Look to provide the lowest common denominator in terms of features and then allow providers supply their own differentiating features that are discoverable and compliant with the OCCI core model,

Extensibility: enable providers to specify and expose their own service features that are discoverable and commonly understood (via core model).

The specification itself currently comprises of three modular parts:

Core: This specifies the basic types and presents them through a meta-model. It is this specification that dictates the common functionality and behavior that all specializations of it must respect. It specifies how extensions may be defined.

Infrastructure: This specification is an extension of Core (provides a good example of how other parties can create extensions). It defines the types necessary to provide a basic infrastructure as a service offering.

HTTP Rendering: this document specifies how the OCCI model is communicated both semantically and syntactically using the RESTful architectural-style.

From an architectural point of view OCCI sits on the boundary of a service provider. It does not

seek to replace the proprietary protocols/APIs that a service provider may have as legacy.

Figure 6 - OCCI based Service

The main capabilities of OCCI are:

Basic type definitions (attributes, actions, relationships):

o Compute: defines an entity that processes data, typically implemented as a virtual machine.

06/10/14 Page 18 of 104

Version 1.1

o Storage: defines an entity that stores information and data, typically block-level devices, implemented with technologies like Internet Small Computer System Interface (iSCSI) and ATA over Ethernet (AoE).

o Network: defines both client (network interface) and service (L2/L3 switch) networking entities, typically implemented with software defined networking frameworks.

Discovery system: Types and their instances’ URL schema (provider can dictate their own) is discovered. Extensions are also discoverable through this system.

Extension Mechanism: allows service providers expose their differentiating features. Those features are comprehended by clients through the discovery system. Resource (REST) handling (CRUD) of individual and groups of resource instances

Tagging & Grouping of Resources

Dynamic Composition that allows for the runtime addition of new attributes and functional capabilities

Template support for both operating systems and resource types

Independent of provisioning system (e.g. OpenStack, OpenNebula, vCloud etc.)

3.8 Service Manager (SM) GE

SM is copyrighted by Telefónica I+D.

06/10/14

Page 19 of 104 Version 1.1

Figure 7 - IaaS Service Manager Interface Logical Architecture

The Service Manager Interface (SMI) is the front-end of the IaaS SM GE, providing an Openstack

Compute API compliant interface. SMI dispatches the requests received from the cloud user or

cloud portal to components handling each of the services management operations/tasks-- deploy

servers, deploy services, management of scalability rules. At the back-end, different aspects of

service management are handled by the corresponding internal service components, such as

elasticity, service management, Virtual Data Center (VDC) management, Organization

management. A detailed description of these operations is shown in the next sections. Note that

additional service management functionality and components will be added in future releases of

IaaS SM GE.

The IaaS Service Manager Interface (SMI) is based on the following concepts:

Server. A server is a virtual machine instance in the computing system. Images and flavors are required elements in order to create a server (also including the name to identify it).

Virtual Appliances or Services (vApp). This entity represents virtual infrastructure designed to run on a virtualization platform. Typically a vApp or Service is considered as a server or set of servers running on top of a hypervisor, but the bounds of vApp or service

06/10/14 Page 20 of 104

Version 1.1

concept is open to the cloud user. Anyway the concept of service here is totally different from the concept of server defined in the Data Center Resource Management (DCRM) GE. Here a Service involves the definition of one or several virtual machines with or without its own elasticity rule. Last but not least, services could be connected themselves through the same virtual data center in which they are running.

Virtual Data Centers (VDC). vApps/Services and/or servers reside in a VDC context. A VDC is a container of virtual infrastructure that has a set of virtual resources (e.g., computing capacities, storage capacities) to support the former. In other words, a VDC is a pool of virtual resources that supports the virtual infrastructure it contains.

Organizations (Org). VDCs are owned by organizations. An organization represents any kind of independent unit, which manages its own cloud resources (e.g. enterprises, divisions, groups‚...).

Virtual Infrastructure. Any kind of IaaS resource offered to cloud consumers as part of a cloud service that may be managed through SMI. E.g., vApps/services, servers, volumes, firewalls, load balancers...

Flavor. A flavor is a hardware configuration that could be applied to a server. Each flavor has a unique combination of disk space and memory capacity. An example of this combination could be for example 8 virtual CPUs, 16 Gb RAM memory, 10 Gb HDD and 160 Gb of ephemeral disk (a disk that is stored locally on the hypervisor host). It must be available previously in order to allow creating servers. Each flavor has a unique combination of disk space, memory capacity and priority for CPU time.

Image. An image is a collection of files used to create or rebuild a server. FIWARE will provide a number of pre-built OS images but the cloud user may also create his own images using the appropriate functionality (see Main Interactions). These custom images are useful for backup purposes or for producing "gold" server images if you plan to deploy a particular server configuration frequently.

Figure 8 – CH – SM Concepts class diagram

3.9 Cloud Edge (CE) GE

This specification describes the Cloud Edge GE, which is located beside the cloud, acting as the

cloud agent in the end consumer’s private network.

The Cloud Edge consists of equipment called "Cloud Proxy". Its main function is to offer local

Services hosting capabilities as a complement of the standard Service hosting capabilities

provided by traditional Cloud infrastructure.

Services hosted in such Cloud Proxy can benefit of this privileged position inside the private

network area of a consumer to provide new enhanced Services. It can leverage on the proximity

between the consumer and the Service itself to offer Services that require strong connectivity. It

can also offer access to private capabilities that are hosted or accessible via the cloud proxy (for

example sensors or private home network storage).

06/10/14

Page 21 of 104 Version 1.1

The following diagram shows the main components of the Cloud Proxy and the interactions with

the different potential actors.

Figure 9 - CH - CE

The Cloud Proxy offers a single public interface to manage the local service hosting capabilities:

the Service Platform Management Interface (SPMI).

3.10 Object Storage (OS) GE

Object Storage is one of the Generic Enablers within the FI-WARE Project. It offers persistent

storage for digital objects, important cloud-based functionality that has been specifically requested

by Use Cases. Objects can be files, databases or other datasets which need to be archived. These

objects can be structured into a hierarchical way. The idea here is too have different objects sorted

into groups. Within the context of Object Storage those are referred to as containers.

Containers and objects can have Metadata attached which give a more detailed overview of what

the data represents. Similar to files a filesystem - objects in a Object storage belong to certain

users (accounts). The following sections will give more details on these topics and will introduce

the CDMI standard which is used within this Generic Enabler.

The users of the Object Storage Generic Enabler will be both the FI-WARE Cloud Instance

Provider and the FI-WARE Cloud Instance User.

Provider usage: The Provider can assume two roles: one as consumer of the service and another as its manager. From a consumer perspective, the Provider will use this system in order to store certain types of data. A good example of this is in the storage of monitoring, reporting and auditing data. That data could then be made available to the Users or not depending on the wants of the Provider. The Object storage service could also be used as a virtual machine staging area. This has two aspects, the Provider and User aspects. In the

06/10/14 Page 22 of 104

Version 1.1

case of the Provider, a User will upload a virtual machine image to the object storage service and once received, the Provider will make this virtual machine image available for instantiation in order to satisfy a particular customized virtual machine request (the case here is that the virtual machine images that the Provider offers are not sufficient and the User wishes to supply their own). From a management perspective, the Provider will expect that the system will require as little maintenance as is possible. This entails that any:

o stale data be purged,

o deactivated accounts be removed,

o corrupt data is replaced with a valid replica,

o Issues are escalated to an automated service that will attempt to resolve them (if they cannot be resolved then notifications to the Provider should be sent),

o relevant statistics should be available to support inspection of the system and the User's utilization of the system,

o additional requirements for hardware (storage capability) can be easily added to the system without any drop in service. This will allow the storage capacity to grow over time.

User usage: The User will use the object storage service as a means to distribute static content rather than incur the additional load of serving static content from an application. Taking this approach allows the Provider to optimize the distribution of those files. The Provider can also use this as a building block to offer further content distribution network capabilities. The User could also use the object storage service as a means to supply a customized virtual machine that only they have access to (the storage is isolated by user). This would follow in a similar fashion to how customized virtual machine images are supplied on Amazon EC2.

The Object Storage GE adopts the Cloud Data Management Interface (CDMI) specification.

Figure 10 - CDMI

At the core of CDMI are the basic management operations of Create, Retrieve, Update and Delete.

This functionality is exposed via a RESTful API that:

Enables clients to discover capabilities of the object storage offering

Manage containers and the objects that are placed within them

06/10/14

Page 23 of 104 Version 1.1

Assigns and manipulates metadata to containers and objects

3.11 Data/Context Management Architecture

The Data/Context Management FI-WARE chapter aims at providing outperforming and platform-

like GEs that will ease development and provision of innovative Applications that require

management, processing and exploitation of context information as well as data streams in real-

time and at massive scale. Combined with enablers coming from the Apps Chapters, Application

Providers will be able to build innovative business models such as the ones described above and

beyond.

The following diagram shows the main components (Generic Enablers) that comprises the first

release of FI-WARE Data/Context chapter architecture.

Figure 11 - Data/Context Management Architecture

Main components are

BigData: discontinued, currently under analysis and the specifications

PubSub: Context Broker

CEP

Location

MetadataPreprocessing

CompressedDomainVideoAnalysis

QueryBroker

SemanticAnnotation

SemanticSupport

06/10/14 Page 24 of 104

Version 1.1

3.11.1 Context Broker (Publish/Subscribe Broker) GE

The Context Broker GE will enable publication of context information by entities, referred as

Context Producers, so that published context information becomes available to other entities,

referred as Context Consumers, which are interested in processing the published context

information. Applications or even other GEs in the FI-WARE platform may play the role of Context

Producers, Context Consumers or both. Events in FI-WARE based systems refers to something

that has happened, or is contemplated as having happened. As such, they provide context

information that can be handled by applications or FI-WARE GEs.

Figure 12 Content Broker visual presentation

3.11.2 Complex Event Processing (CEP)

CEP analyses event data in real-time, generates immediate insight and enables instant response

to changing conditions. Some functional requirements this technology addresses include event-

based routing, observation, monitoring and event correlation. The technology and implementations

of CEP provide means to expressively and flexibly define and maintain the event processing logic

of the application, and in runtime it is designed to meet all the functional and nonfunctional

requirements without taking a toll on the application performance, removing one issue from the

application developer’s and system managers concerns.

06/10/14

Page 25 of 104 Version 1.1

Figure 13 - Complex Event Process Logical Architecture

3.11.3 Location GE

The Location Platform provides location-based services for two types of users:

Third-party location clients

o Third-party location clients can interact with the location platform using the Mobile

Location Protocol (MLP) interface or RESTful Network API for Terminal Location

both standardized by Open Mobile Alliance (OMA).

o These interfaces facilitate many services to retrieve the position of a compatible

target mobile terminal for various types of applications, ranging from single shot

location retrieval to area event retrieval (geo-fencing).

o The target mobile terminal position is retrieved using Assisted Global Positioning

System (AGPS), WiFi and Cell-Id positioning technologies intelligently triggered

depending on end-user environment and location request content (age of location,

accuracy, etc.).

Mobile end-users

o When an end-user searches for its position using a compatible terminal via any kind

of application requiring location information, the terminal connects to the location

platform to exchange assistance data in order to compute or retrieve its position, as

negotiated between the terminal and the platform.

o Moreover, some applications on the compatible terminal may include the sharing of

location information with external third-parties, including other end-users.

o Such service relies on another OMA standard, called Secure User Plane (SUPL).

06/10/14 Page 26 of 104

Version 1.1

Figure 14 - Location Platform GE Logical Architecture

The following services are the grounds of the Location GE:

MLP service: made of an HTTP stack, it processes MLP compliant requests and after

authorization of such request, it triggers the SUPL service to establish communication with

the target handset (SMS) to retrieve location or events depending on the content of the

request. Such request is encoded in XML format fully specified in MLP standard.

NetAPI Terminal Location service: similar to MLP agent, it decodes HTTP requests using

RESTful procedures and once authenticated triggers the establishment of a SUPL

connection with the target handset (SMS) for similar services to MLP.

SUPL service: made of a TCP stack, this server is used both to establish communication

with a target handset (SMS) and receive connection from the handset. The SUPL service

implements SUPL standardized procedures based on ASN1. Such procedures include

single shot location retrieval and triggers used for periodic and area event tracking. Such

interface is also used to exchange GPS assistance data via the 3GPP RRLP protocol

encapsulated in the SUPL payload.

3.11.4 Metadata Preprocessing GE

Target users are all stakeholders that need to convert metadata formats or need to generate

objects (as instantiation of classes) that carry metadata information. The requirements to transform

metadata typically stem from the fact that in real life various components implementing different

metadata formats need to inter-work. However, typically products from different vendors are

plugged together. In this case, the Metadata Preprocessing GE acts as a mediator between the

various products.

06/10/14

Page 27 of 104 Version 1.1

Figure 15 - Metadata Preprocessing GE Logical Architecture

The functionality of the components is described in the followings.

Control Interface: The control interface is the entity for configuring and controlling the

metadata processing engine. The algorithms used for transformation and filtering as well as

the metadata source are configured(connected using the configureInstance method. Sinks

receiving the outbound streams are connected and disconnected via the addSink and

removeSink methods, respectively. More details on the APIs are described in the Section

"Main Interactions".

Metadata Interface (for inbound streams): Different interchange formats (such as the ones

for streaming or for file access) can be realized (i.e., configured or programmed into this

interface at a later stage). An example format is the Real-time Transport Protocol (RTP) as

standardized in RFC 3550. Different packetization formats for the contained payload data

(i.e., the metadata) depending on the application might be used.

Metadata Transformation: The Metadata Transformation component is the core component

of this Generic Enabler. Based on an XML Stylesheet Language for Transformations

(XSLT7) and a related stylesheet, the processing of the metadata is performed. In principle,

other kind of transformations (other than XSLT) can also be applied. The output of this step

is a new encapsulation/formatting of the metadata received. This could also be an

instantiation of a class (e.g., JAVA, C++, C#, etc.)

Metadata Filtering: Metadata Filtering is an optional step in the processing chain. The

filtering can be used, e.g., for thinning and aggregating the metadata, or simple fact 7 [XSLT] W3C / M. Kay (editor), "XSL Transformations (XSLT) Version 2.0", http://www.w3.org/TR/xslt20/,

Jan. 2007 .

06/10/14 Page 28 of 104

Version 1.1

generation (i.e., simple reasoning on the transformed metadata). Depending on the

configuration of the GE, filtering can happen before, after, or even during transformation.

Metadata Interface (for outbound streams): Through this interface, the transformed (and

possibly filtered) metadata or metadata stream is accessed.

3.11.5 Compressed Domain Video Analysis GE

The target users of the Compressed Domain Video Analysis GE are all applications that want to

extract meaningful information from video content and that need to automatically find

characteristics in video data. The GE can work for previously stored video data as well as for video

data streams (e.g., received from a camera in real time).

In the media era of the web, much content is user-generated (UGC) and spans over any possible

kind, from amateur to professional, nature, parties, etc. In such context, video content analysis can

provide several advantages for classifying content and later search, or to provide additional

information about the content itself.

Example applications in different industries addressed by this Generic Enabler are:

Telecom industry: Identify characteristics in video content recorded by single mobile users;

identify communalities in the recordings across several mobile users (e.g., within the same

cell).

Mobile users: (Semi-)automated annotation of recorded video content, point of interest

recognition and tourist information in augmented reality scenarios, social services (e.g.,

facial recognition).

IT companies: Automated processing of video content in databases.

Surveillance industry: Automated detection of relevant events (e.g., alarms, etc.).

Marketing industry: Object/brand recognition and sales information offered (shops near

user, similar products, etc.).

06/10/14

Page 29 of 104 Version 1.1

Figure 16 - Compressed Domain Video Analysis GE Logical Flow

A hybrid video coder can be divided in several generic components:

Coder Control: Controls all other components to fulfill pre-defined stream properties, like a

certain bit rate or quality. (Indicated by colored block corners)

Intra-Frame Encoder: This component usually performs a transform to the frequency

domain, followed by quantization and scaling of the transform coefficients.

Intra-Frame Decoder: To avoid a drift between encoder and decoder, the encoder includes

a decoder. Therefore, this component reverses the previous encoding step.

In-Loop Filter: This filter component could be a set of consecutive filters. The most common

filter operation here is deblocking.

Motion Estimator: Comparing blocks of the current frame with regions in previous and/or

subsequent frames permits modeling the motion between these frames.

Motion Compensator: According to the results of the Motion Estimator, this component

compensates the estimated motion by creating a predictor for the current block.

Intra-Frame Predictor: If the control decides to use intra-frame coding techniques, this

component creates a predictor for the current block by just using neighboring blocks of the

current frame.

Entropy Encoder: The information gathered during the encoding process is entropy

encoded in this component. Usually, a resource-efficient variable length coding technique

(e.g., CAVLC in H.264/AVC) or even an arithmetic coder (e.g., CABAC in H.264/AVC) is

used.

During the encoding process, the predicted video data p[x,y,k] (where x and y are the Cartesian

coordinates of the k-th sample, i.e., frame) gets subtracted from the raw video data r[x,y,k]. The

resulting prediction error signal e[x,y,k] then gets intra-frame and entropy encoded.

The decoder within the encoder sums up the en- and decoded error signal e'[x,y,k] and the

predicted video data p[x,y,k] to get the reconstructed video data r'[x,y,k]. These reconstructed

06/10/14 Page 30 of 104

Version 1.1

frames are stored in the Frame Buffer. During the motion compensation process, previous and/or

subsequent frames of the current frame ( r'[x,y,k+i], i ∈ ℤ \ {0} ) are extracted from the buffer.

3.11.6 Media-enhanced Query Broker GE

Multimedia data is produced at an immense rate. By investigating solutions and approaches for

storing and archiving the produced data, one rapidly ends up in a highly heterogeneous

environment of data stores. Usually, the involved domains feature individual sets of metadata

formats for describing content, technical or structural information of multimedia data [Stegmaier

09a]. Furthermore, depending on the management and retrieval requirements, these data sets are

accessible in different systems supporting a multiple set of retrieval models and query languages.

By summing up all these obstacles, easy and efficient access and retrieval across those system

borders is a very cumbersome task [Smith 08]. Standards are one way to introduce interoperability

among different peers. Recent developments and achievements in the domain of multimedia

retrieval concentrated on the establishment of a multimedia query language (MPEG Query Format

(MPQF)) [Döller 08a], standardized image retrieval (JPEG) and the heterogeneity problem

between metadata formats (JPEG) [Döller 10]. Another approach for interoperable media retrieval

is the introduction of a mediator or middleware system abstracting the communication: a Media-

enhanced Query Broker. Acting as middleware and mediator between multimedia clients and

retrieval systems, collaboration can be remarkably improved. A Media-enhanced Query Broker

accepts complex multi-part and multimodal queries from one or more clients and maps/distributes

those to multiple connected Multimedia Retrieval Systems (MMRS). Consequently, implementation

complexity is reduced at the client side as only one communication partner needs to be addressed.

Result aggregation and query distribution is also accommodated, further easing client

development. However, the actual retrieval process of the multimedia data is performed inside the

connected data stores.

Figure 17 - Query Broker : (a) Local/autonomous processing (b) Distributed processing

06/10/14

Page 31 of 104 Version 1.1

3.11.7 Semantic Annotation GE

The principle standing behind Semantic Web is to evolve the "link" concept from an unspecified

element describing the relationship between two element into a "named relationship" in order to

clarify which is(are) the relationship(s) between those elements.

That is the main reason why RDF, the language of Linked Open Data was invented. RDF is based

on Triples, in the form of<SUBJECT><PREDICATE><OBJECT>.

The predicate (and sometimes the object) can describe objects and their relationships. Semantic

Annotator is basically a tool which tries to identify important entities(places,persons,organization) a

text and describe them with Linked Open Data.

This GE provides a general purpose text analyzer to identify and disambiguate LOD (Linked Open

Data) resources related to the entities in the text. It is build following a modular approach to

optimize and distribute text processing & LOD sources (plug-in). Also it allows RDF triple

generation that easily links to LOD resources.

The main conceptual idea of the SA GE is shown in the Figure below.

Figure 18- Semantic Annotation GE Logical Flow

3.11.8 Semantic Support GE

The Semantic Web Application Support enabler aims at providing an effective environment for

developers to implement and deploy high quality Semantic Web-based applications. The Semantic

Web was first envisioned more than a decade ago by Tim Berners-Lee, as a way of turning the

Web into a set of resources understandable not only for humans, but also by machines (software

agents or programs), increasing its exploitation capabilities. The Semantic Web has focused the

efforts of many researchers, institutions and IT practitioners, and received a fair amount of

06/10/14 Page 32 of 104

Version 1.1

investment from European and other governmental bodies. As a result of these efforts, a large

amount of mark-up languages, techniques and applications, ranging from semantic search engines

to query answering system, have been developed. Nevertheless the adoption of Semantic Web

from the IT industry is still following a slow and painful process.

In recent years, several discussions had taken place to find out the reasons preventing Semantic

Web paradigm adoption. There is a general agreement that those reasons range from technical

(lack of infrastructure to meet industry requirements in terms of scalability, performance.

distribution, security, etc.) to engineering (not general uptake of methodologies, lack of best

practices and supporting tools), and finally commercial aspects (difficulties to penetrate in the

market, lack of understanding of the main strengths and weaknesses of the semantic technologies

by company managers, no good sales strategies, etc.).

The Semantic Application Support enabler addresses part of the abovementioned problems

(engineering and technical) from a data management point of view, by providing:

An infrastructure for metadata publishing, retrieving and subscription that meets industry

requirements like scalability, distribution and security. From now and so on, we will refer to

this infrastructure as SWAS Infrastructure.

A set of tools for infrastructure and data management, supporting most adopted

methodologies and best practices. From now and so on, we will refer to this tools as SWAS

Engineering Environment.

Figure 19 - SWAS-3: SWAS Infrastructure architecture

3.12 Internet of Things (IoT) Services Enablement Architecture

FI-WARE will build the relevant Generic Enablers for Internet of Things Service Enablement, in

order for things to become citizens of the Internet – available, searchable, accessible, and usable –

06/10/14

Page 33 of 104 Version 1.1

and for FI services to create value from real-world interaction enabled by the ubiquity of

heterogeneous and resource-constrained devices.

The deployment of the architecture of the IoT Service Enablement chapter is typically distributed

across a large number of Devices, several Gateways and the Backend. The Generic Enablers

described in this chapter, shown in the figure below, implement functionalities distributed across

IoT resources hosted by devices, IoT Gateways and in the IoT Backend.

Figure 20 - IoT Architecture

The architecture is composed of these elements:

Device and IoT Resource

o A device is a hardware entity, component or system that either measures properties

of a thing/group of things or influences the properties of a thing/group of things or

both measures/influences. Sensors and actuators are devices. Devices can further

be categorized into IoT compliant (i.e., devices with the full-blown FI-WARE

capabilities and supporting the standard ETSI M2M interface) and non-compliant

(legacy devices with propietary protocols).

o IoT Resources are computational elements (software) that provide the technical

means to perform sensing and/or actuation on the device. The resource is usually

hosted on the device.

Gateway

06/10/14 Page 34 of 104

Version 1.1

o A gateway is providing inter-networking and protocol conversion functionalities

between devices and the IoT backend. It is usually located at proximity of the

devices to be connected. An example of an IoT gateway is a home gateway that

may represent an aggregation point for all the sensors/actuators inside a smart

home. The IoT gateway will support all the IoT backend features, taking into

consideration the local constraints of gateway devices such as the available

computing, power, storage and energy consumption. Gateways are connected

northbound to the backend via IP connectivity and southbound to

IoT compliant devices without IP connectivity

Legacy devices that needs protocol conversion

o As IP devices will now appear on the market, the gateway will also be able to

manage some of them using IETF Core CoaP protocol but one of the main role of

the gateway is to bridge different technologies with IP connectivity. The second

main role is deployment of smart services as close as possible of the things to

enphazise smart applications development.

Backend

o The backend provides management functionalities for the devices and IoT domain-

specific support for the applications. It supports access at both IoT resource and

thing-level. The backend can be connected southbound to gateways and/or IoT

compliant devices (devices that will implement the standardised interface i.e. ETSI

M2M).

3.12.1 Backend IoT Broker GE

The IoT Broker GE is a component for retrieving and aggregating information from the Internet of

Things. The underlying data model of this GE is based on the OMA NGSI (Next Generation

Service Interface) Context Management Information Model, which is centered around on the

concept of context entities. Context entities represent arbitrary objects of the real world, and the

state of such objects is described in terms of the values of attributes. In addition, metadata can be

associated to attribute values. In the context of IoT, context entities are used for representing

devices like sensors and the values they measure, but also - and more importantly - arbitrary

physical objects (Things) like rooms, persons, etc. and their attributes like temperature, geo-

location, etc.

06/10/14

Page 35 of 104 Version 1.1

Figure 21 - Backend IoT Broker GE Logical Structure

The OMA NGSI context management interface distinguishes between two types of information.

This first type is so-called context information and consists of attribute values and associated

metadata as described above. This kind of information is exchanged using the operations defined

in OMA NGSI 10. The second type of information is information on where certain context

information can be retrieved by OMA NGSI 10 operations. This kind of information is referred to as

context availability information; it is exchanged using the operations defined in OMA NGSI 9.

3.12.2 Backend Discovery Engine GE

The IoT Discovery Engine (IoT-DE) GE addresses the discovery of Internet of Things (IoT)

Concepts. Its aim is to provide a platform for the semantic annotation and discovery of the IoT

Concepts defined in FIWARE, i.e. the Thing, Resource, and Device. It also provides semantic

annotation for Context Producers (e.g. IoT Agents, Service Endpoints) - or what is generically

termed as the 'Providing Application' in the current specification of the FIWARE NGSI Interface. In

contrast to NGSI, it aims to apply formal naming and relational conventions to the description of an

IoT Concept. The IoT-DE GE is built upon two modules. The first is the Sense2Web IoT Linked

Data Platform baseline asset, which provides a repository for the CRUD (Create, Read, Update

and Delete) management of IoT descriptions, that complies with the IoT-A ontology models. These

descriptions are termed as Advanced IoT Descriptions. Sense2Web also associates different IoT

concept ontologies to domain data and other resources on the Web. The second module is the

NGSI support module for the storage of NGSI Entities, whereby these Entities could hold a URI link

to the Advanced Description.

06/10/14 Page 36 of 104

Version 1.1

Figure 22 - Backend Discovery Engine GE Logical Architecture

This GE is targeted for:

Context Producers using IoT-A ontologies or NGSI9 Entity Description for IoT Description

CRUD management

o IoT Agents

o Device Gateways

Context Consumers using SPARQL or NGSI9 for discovering IoT Concepts.

o PubSub Broker GE (Data/Context Chapter)

o Applications requiring Semantic Discovery of IoT Concepts.

3.12.3 Backend Device Management GE

The Backend Device Management GE is the central component for the IoT backend. It provides

the resource-level management of remote assets (devices with sensors and/or actuators) as well

as core communication capabilities such as basic IP connectivity and management of

disconnected devices.

06/10/14

Page 37 of 104 Version 1.1

Figure 23 - Backend Device Management GE Interface overview

3.12.4 Gateway Device Management GE

The Gateway Device Management GE is contains much of the "core" gateway functionality. It is

responsible for the communication with the Backend and IoT and non-IoT devices. The Gateway

Device Management GE includes the functional components to handle the registration/connection

phases towards the Backend/Platform, to translate the incoming data or messages in an internal

format and to send the outgoing data or messages in the ETSI M2M format (marshall/unmarshall).

It is also capable of managing the communication with the IoT Resources, i.e. the devices

connected to the IoT Gateway (that may be online or offline), and resources hosted by the

gateway. The GE also contains Resource Management capabilities, i.e. to keep track of IoT

Resource descriptions that reflect those resources that are reachable via the gateway. These can

be both IoT Resources, or resources hosted by legacy devices that are exposed as abstracted IoT

Resources. In addition, any IoT resource that is hosted on the gateway itself if also managed by

this GE. The GE makes it possible to publish resources in the gateway, and also for the backend to

discover what resources are actually available from the gateway.

06/10/14 Page 38 of 104

Version 1.1

Figure 24 - Gateway Device Management GE Structure Overview

3.12.5 Gateway Data Handling GE

The IoT world mainly consists of a huge amount of resources, creating a lot of events to be

processed.

The Data Handling GE addresses the need of filtering, aggregating and merging data from different

sources; merging data is considered to be the main value-added feature. Applications should

receive value-added data that are relevant to their needs thanks to the Complex Event Processing

technology (CEP). This is also referred to as event stream analysis, or real time event correlation.

Events are published by Event Producers and subscribed to by Event Consumers. Events are

subscribed to by an event consuming application, depending on the access rights that have been

granted. The application is then able to receive published events.

The Data Handling GE can be configured either for mobile and fixed gateways or for constrained

environments. In the first case, its complex event processing core is based on Esper4FastData.

For constrained environments, as ‘light’ deployment can be chosen with SOL/CEP as the core for

the complex event processing.

Typical applications that require Data Handling GE are sensor network applications, RFID reading,

supply chains, scheduling and control of fabrication lines, air traffic and so on. What these

applications have in common is the requirement to process events (or messages) in real time or

06/10/14

Page 39 of 104 Version 1.1

near real time. Key considerations for these types of applications are throughput, latency and the

complexity of the logic required. The CEP component of the Data Handling GE typically processes

input data in order to generate a smaller set of output data that avoids backend and network

flooding.

The Data Handling GE also provides support for IoT hosting devices that for various reasons

cannot be continuously online. The main reason is that the devices work under resource

constraints such as being battery operated. This typically requires asynchronous communication

with the IoT resources and for this purpose, local storage is required. To this aim, the Local

Storage component provides two support functions. The first is to store cached IoT resource

requests from the backend that cannot be processed due to the relevant IoT device being off-line.

The second is to locally store retrieved data from IoT resources for subsequent retrieval by the

backend and ultimately the applications.

It is essential to handle the data and events from the IoT Resources (i.e. the devices connected to

the IoT Gateway) or from the Backend/Platform (i.e. the IoT Services Enablement Platform) in a

store. In particular the Data Handling GE deals with the Things Management GE events that are

propagated from and to the Backend/Platform. It also deals with the Gateway Device Management

GE events that are propagated from and to the IoT Resources. For that purpose, the Data Pooling

component provides functionality to discover what is stored in the data store, to retrieve, to create,

to delete, to update the data and events of the data store.

For privacy and security concerns, access and storage rights are defined at the closer level of data

production, to devices or to IoT resources. The Data Access Policy component is a dedicated

additional component to the Security, Privacy and Trust which is providing features for

authentication and centralized anonymization mechanisms.

The Data Handling GE comes in two configurations. One that supports anonymization, local data

support and another one that is aimed at constrained environments, which lack the resources for

storage or anonymization mechanism. Both are equipped with a Complex Event Processor, but

they are configured and operate in distinct ways. This distinction reflects the different resource

requirements of the hardware on which the Data Handling GE is deployed. The CEP provided by

Orange is aimed at a smart phone and the one by Atos is aimed at small, embedded sensor

gateways that can be installed at various points in a sensor network infrastructure, e.g. a Smart

City.

06/10/14 Page 40 of 104

Version 1.1

Figure 25 - Gateway Data Handling GE Interface Overview

3.12.6 Gateway Protocol Adapter GE

The Protocol Adapter GE deals with the incoming and outgoing traffic and messages between the

Gateway and Devices registered to be served by the gateway. There may be multiple instances of

Protocol Adapter GEs capable of serving non-IoT devices, i.e. devices that do not support ETSI

M2M. These devices can be IP-based devices, that communicates using the IP stack (IPv4 or

IPv6), or "legacy devices", meaning devices communicating using non-IP based protocols, for

instance ZigBee, or Z-Wave.

06/10/14

Page 41 of 104 Version 1.1

Figure 26 - Gateway Protocol Adapter GE Interface Overview

The Protocol Adapter GE terminates these device specific protocols and translates them to a

uniform internal API. The API exposed handle capabilities to read and write to the resources, as

well as IoT specific management and configuration services such as resource discovery consisting

of both look-up and publication.

In particular the ZigBee Protocol Adapter provides a communication conduit into a ZigBee PAN(s)

(Personal Area Network). It supports a mechanism whereby gateway can interact with individual

ZigBee nodes to exert control over or to obtain data from those nodes or conversely a mechanism

whereby the nodes can communicate some information to the gateway.

3.13 Architecture of Applications and Services Ecosystem and Delivery

Framework

The Generic Enablers for the Apps Chapter together build an ecosystem of applications and

services that is sustainable and fosters innovation as well as cross-fertilization. In particular the

Apps Generic Enablers supports managing services in a business framework across the whole

service live cycle from creation and composition of services to monetization and revenue sharing.

A couple of basic enablers are important to realize the vision of such a service business framework

which enables new business models in an agile and flexible way:

06/10/14 Page 42 of 104

Version 1.1

A Store, which allows to offer services for consumers as well as developers of future

internet applications.

A Marketplace, which allows to find and compare offerings from different stores and

provides further functionality to foster the market for future internet applications and

services in a specific domain.

An SLA Support, which monitors and evaluates runtime data according to the agreements

of service levels.

A Revenue Sharing System (RSS Engine), which allows the calculation and distribution of

revenues according to the agreed business models.

A set of Service Composition enablers, which allow to compose existing services to value

added composite services and applications, which can be monetized in the Business

Framework.

A set of Mediator enablers, which can be used to achieve interoperability between future

internet services and applications and also allow interface to existing enterprise systems.

This set of self-contained enablers represents only an initial starting point for a future business

framework. It is expected that supplemental enablers (e.g. for contracting, quotation ...) will be

developed outside of the FI-Ware projects.

The Business Framework is heavily relying on USDL as common uniform description format for

services which does not only focus on technical aspects of service, but also on business aspects

as well as functional and non-functional service attributes.. USDL itself is not a Generic Enabler,

since it is a data format and vocabulary specification. It will be introduced as an Open

Specification, which is used by different enablers in their provided and consumed APIs.

The Applications and Services Generic Enablers are named according to their main functionality

which is different from the role names introduced in the FI-Ware Vision. While the role names

(Aggregator, Broker, Gateway ...) are used to describe the stakeholders of the service ecosystem

in an abstract way, the enablers names are referring to software components.

06/10/14

Page 43 of 104 Version 1.1

Figure 27 - Services Ecosystem and Delivery Framework Logical Architecture

The chapter consists of

USDL is the Unified Service Description Language, which is used to share information

about services and apps between the different GE

Application Repository

Application Marketplace

Application Registry

Application RSS

Application Mediator

Application Store

Application Service Composition

Application Service Mashup

Application Mashup

Application Light-weighted Semantic-enabled Composition

3.14 USDL (Unified Service Description Language)

USDL (Unified Service Description Language) is a platform-neutral language for describing

services. USDL is building a layer on top of technical service descriptions such as WSDL, which

captures the information necessary to manage services in the business framework across the

whole service lifecycle.

Since USDL is just a data format and a set of vocabulary definition, we introduce it into FI-WARE

as an Open Specification. Because of the fundamental role for the business framework, we will

outline the rationale and concepts of USDL in this page as part of the architecture description of

the Application and Services Ecosystem chapter.

The FI-Ware approach will allow comprehensive service descriptions by employing the Unified

Service Description Language (USDL) in its registry and repository. USDL builds on standards for

06/10/14 Page 44 of 104

Version 1.1

the technical description of services, such as WSDL, but adds business and operational

information on top. With its ability to describe both human and IT-supported services that not only

implement business processes, but also tie in assets linked to contents and the Internet of Things,

USDL is set apart from many of the related approaches mentioned above.

Figure 28 - USDL (Unified Service Description Language) Entity Model

USDL is modularized to describe various aspects of services:

Foundational Module: This module provides a common set of concepts and properties,

such as time, location, organization, etc. that are used in all modules.

Service Module: Describes the general information about the service type, nature, titles,

taxonomy and descriptions.

Participant Module: This module describes the participating organizations, contact persons

and their role within the service fulfilment.

Functional Module: This module contains information about the specific capabilities of a

service, input/output parameters and constraints.

Interaction Module: A module that describes the points of interaction and the responsible

participants or participant roles in course of the service fulfilment.

Technical Module: Describes how functions (capabilities) of a service are mapped to

technical realizations of the service (e.g. WSDL operations, parameters, faults, etc.)

Pricing Module: Contains information about price plans, price components, fences, etc. for

a service.

Service Level Module: The module which specifies service level agreements, such as time

schedules, locations, and other constraints.

06/10/14

Page 45 of 104 Version 1.1

3.15 Security

The internet and digital technologies are transforming our society by driving economic growth,

reduces barriers to trade, connecting people across the world and providing new ways to

communicate and co-operate.

Our dependence on cyberspace is increasing and while cyberspace fosters open markets and

open societies, unfortunately this very openness can also make us more vulnerable to a growing

number of criminals, hackers, activists, foreign intelligence services, who want to exploit children

and the vulnerable, to harm individuals, enterprises, public and private organizations by

compromising or damaging revenues, reputations, privacy, business, critical infrastructures,

sensitive data…

Cyber criminals demonstrate their ability to adjust quickly to new developments like mobile phone,

“PlayStations”... The collective impact of this threat now has the potential to cause significant

damage to online economies, affecting individuals and societies.

For the first time in 2012, in its Global Risks 20212 report (Seventh Edition), the World Economic

Forum put cyber attacks fourth in the Top 5 Global Risks in terms of Likelihood (page 12). In this

report, we read (page 11 –“The Dark Side of Connectivity”): “ The impacts of crime, terrorism and

war in the virtual world have yet to equal that of the physical world, but there is fear that this could

change. Hyper connectivity is a reality. With over five billion mobile phones coupled with internet

connectivity and cloud-based applications, daily life is more vulnerable to cyber threats and digital

disruptions”.

Also Future Internet services will always be exposed to different types of threats that can lead to

severe misuse and damage. Creating secured and trusted services without sacrificing much of the

desired functionality, usability, performance and cost efficiency is a great challenge, especially in a

dynamic environment where new threats and attack methods emerge on a daily basis.

FI-WARE will provide an environment in which a diverse range of services are offered by a diverse

range of suppliers, and users are likely to unknowingly invoke underlying services in a more

dynamic and ad hoc manner. Moving from today’s static services, we will see service consumers

that transparently mix and match service components depending on service availability, quality,

price and security attributes. Consequently, the applications seen by the end-users may be

composed of multiple services emanating from many different providers, and the end user cannot

really know if the security solutions implemented by a service provider are compliant with security

policy claimed.

In this context it becomes essential to have means of security monitoring extremely efficient and

respond quickly to attacks. Of course, the Security monitoring covers more common threats, like

toll-fraud, impersonation, service high jacking etc. To defend ourselves, Future Internet services

need more intelligent early attack detection and support for decision and rapid action making faced

with constantly evolving threats. This is one of the challenges of FI-WARE.

The current landscapes of service delivery ecosystems do not fully address principals such as

openness, usability and simplicity. FI-WARE aims to balance between simplified service usage and

end user trust (including underlying security) in the service. FI-WARE will be designed in a flexible

manner in order to reflect generic as well individual requirements. By that FI-WARE will be easily

adaptable to upcoming needs. Furthermore this also is supported by including social interactions

being part of the working community, e.g. by offering a “security market place” where anyone

interested could contribute. A typical example of such a marketplace can be the sharing of

06/10/14 Page 46 of 104

Version 1.1

vulnerable configuration descriptions within a community of users, allowing faster reactions and

even prevention from potential attacks exploiting these vulnerabilities.

3.15.1 Architecture Overview

The overall ambition of the Security Architecture of FI-WARE is to demonstrate that the Vision of

an Internet that is "secure by design" is becoming reality. Based on achievements to date and/or to

come in the short-term (both from a technological but also a standardization perspective) we will

show that "secure by design" is possible for the most important core (basic) and shared (generic)

security functionalities as anticipated by the FI-WARE project and in accordance with the

requirements of external stakeholders and users. The “secure by design” concept will, therefore,

address both the security properties of the FI-WARE platform itself and the applications that will be

built on top of it. As such, the Security Architecture will focus on key security functionalities such as

identity management or security monitoring to be delivered as so-called generic security enablers

that will be integrated with the design and implementation of the FI-WARE.

Figure 29 - Overall FI-WARE Architecture Overview

Security, Privacy and Trust in FI-WARE is mainly focusing on delivering tools and techniques to

have the above-mentioned security needs properly met. Furthermore a decision making support

and the automation of countermeasures allow alleviating the workload of users and administrators

while raising their security awareness.

The high-level Reference Architecture sketched in Figure below is formed by four main modules:

06/10/14

Page 47 of 104 Version 1.1

1. Security monitoring,

2. Generic Security Services: Identity Management, Privacy, Data Handling,

3. Context-Based Security and Compliance,

4. Optional Generic Security Services: Secure Storage Service, Morphus antivirus, DB

Anonymiser.

These services will be instantiated at runtime.

3.16 Interface to Networks and Devices (I2ND) Architecture

I2ND defines an enabler space for providing Generic Enablers (GEs) to run an open and

standardised network infrastructure. The infrastructure will have to deal with highly sophisticated

terminals, as well as with highly sophisticated proxies, on one side, and with the network operator

infrastructure on the other side. This latter will be implemented by physical network nodes, which

typically are under direct control of an operator, or the node functionality will be virtualised – in this

case the I2ND functionality can be accessed by further potential providers, like virtual operators.

3.16.1 Architecture Overview

The I2ND architecture covers four Generic Enablers (GEs). The four GEs have interfaces and APIs

according to their underlying technologies:

CDI (Connected Device Interface) towards the Connected Devices. These devices include,

but are not limited to, mobile terminals, tablets, set top boxes and media phones, and have

features such as remote access from a control environment, exposure of own functionality

(device status, sensors, etc).

CE (Cloud Edge) towards the Cloud Proxies. Cloud Proxies are gateways, which connect

and control a set-up of nodes towards the Internet or/and an operator network. The nodes

might be either accessible or not accessible from the outside networks.

NETIC (NETwork Information and Control) towards Open Networks. Open Networks are

following the idea of flow based controlled networks, and can be used for virtualisation of

networks.

S3C (Service Capability, Connectivity and Control) towards Underlying Networks. The

underlying networks are following standards such as Next Generation Networks (NGNs) or

Next Generation Mobile Networks (NGMNs). In the case of the S3C specified in I2ND the

baseline underlying network is the Evolved Packet Core (EPC) by 3GPP.

06/10/14 Page 48 of 104

Version 1.1

Figure 30 - Interface to Networks and Devices (I2ND) Architecture

Each of the GEs of I2ND has specific interfaces towards Application Developers, Cloud Services,

FI-WARE and other Use Case GEs and projects. The respective interfaces are described in the

GE sections.

The GE S3C is the central point of the I2ND architecture. I2ND develops an enabling environment

which can be used by network operators. Together with NetIC, both GEs will build the environment

of an operator, which might even be a virtual operator. S3C can be seen as the GE to run and

steer the network infrastructure.

A special role in I2ND is devoted to the interface towards other operators. Since the Future Internet

infrastructure will follow the Internet philosophy of a multi domain/end-to-end path through different

network operators, it is necessary to interface with other operators. In I2ND the interface

description provided by the ETICS project is adopted. The interface between NetIC and other

operators promotes to the future of network interface virtualisation down to the network layer. This

interface might be restricted by the owner of the network infrastructure, thus offering a sub-set of

whole interactions.

The interfacing between S3C and CDI provides status and control information exchange of the

device and remote control capabilities. A respective interface template is used.

Cloud proxies might be part of an operator infrastructure. Therefore it is necessary to have access

to these network nodes through a standardised interface.

3.17 Developer Community and Tools Architecture

FI-WARE will provide various strategic and fundamental means enabling the development of

06/10/14

Page 49 of 104 Version 1.1

Future Intenet Applications (FIApp). It is expected that around FI-WARE a community of

developers will grown both to further work on the FI-WARE results (e.g. providing new Open

Specification or improve the existing ones, to code new GE implementation, or set-up new FI-

WARE Instances) and to develop new applications or doing business according to an open

paradigm.

3.17.1 Architecture Overview

The primary goal of the Developer Community and Tools (DCT) is to offer a multi-functional

development environment - FI-CoDE - enabling the development and management of the Future

Internet Applications (FIApp) built to address the needs of the Future Internet and based on the

adoption and integration of the Generic Enablers Implementations. The FI-CoDE Architecture

figure represents in a single diagram the main components provided to the Future Internet

developer.

06/10/14 Page 50 of 104

Version 1.1

Figure 31 - Developer Community and Tools (DCT) Component overview

All the functionalities are grouped by major aspects:

IDE-CDE: interaction between the IDE and the Collaborative Development Environment

API and Catalogue: the Catalogue provides the API of the GEs to the development

environment

06/10/14

Page 51 of 104 Version 1.1

Deploy, Test and Validation: Future Internet Application deployment for testing and

validation activities.

For the first version of the FI-CoDE it has been decided to restrict the target development

environment to the Java language (version 1.6 and later). Additional languages will be added later

according to the available effort.

3.18 Outcome Analysis and Conclusions

FI-WARE is composed of Generic Enablers that are grouped in Chapters. The analysis of the

Chapter and their applicability to MOBiNET is presented in the table in the ANNEX. Beside the

single Chapter and GE, FI-WARE uses basic technology that can be adopted also without the full

adoption of the Generic Enabler. The table in ANNEX includes the analysis of some of these

technologies.

06/10/14 Page 52 of 104

Version 1.1

4 SPITS Project Architecture and outcomes

4.1 Introduction

SPITS8 is a Dutch collaborative project executed by its 13 partners and funded by the SPITS

partners and the Dutch Ministry of Economic affairs. SPITS is tasked with creating Intelligent

Traffic Systems (ITS) concepts that can improve mobility and safety. The SPITS project focuses on

three main areas: traffic management, in-vehicle solutions, and service download and

management solutions.

Intelligent Traffic Systems have the potential to utilize the existing road network more effectively as

well as increase its total throughput. Better information can also improve safety on the roads, for

instance when approaching sharp corners or alerting to other road users on imminent danger

ahead. The SPITS project is defining an open and scalable platform for future systems and

exploring new techniques in cooperative driving and mobility, to contribute to a more efficient and

sustainable mobility solution.

In the SPITS project, we examine an open and upgradeable in-vehicle platform on which these

systems could be deployed, to ensure the latest products can always be deployed over the lifetime

of the vehicle. The pace of modern innovation means that several technology generations are

released during the normal lifetime of a vehicle, so an upgradeable approach is essential to

keeping in-vehicle traffic systems relevant.

SPITS is exploring concepts to create a service download and management solution for in-vehicle

services that will cover consumer, fleet and traffic applications. In addition to hardware

upgradeability, the services that are run on these systems will also evolve, as will the information

they use. Adopting a simplified and open approach to services ensures that innovation and speed

can be increased, allowing exciting new services to be developed for the future of traffic

management and driver safety.

SPITS platform specifications should enable ITS and infotainment application designers to create

applications and services. An ITS or Infotainment software designer must be able to develop a

SPITS compliant application or service based on the information in these specifications. The

specifications define functions which can be used by applications.

The platform consists of three main components: a back office environment (BO), an in-vehicle

platform (OBU), and a road-side platform (RSU). Applications run on top of these three main

components. Throughout this document, aspects related to applications are indicated in green, to

the platform in yellow, and to sensors and actuators in purple.

8 Spits architecture group, Spits Architecture V1.1, 13-9-2011.

06/10/14

Page 53 of 104 Version 1.1

Figure 32 SPITS platform

4.2 Platform Architecture and Outcomes Description

4.2.1 SPITS platform context

The SPITS platform context view describes the relevant actors that interact with the platform. In the

context view the system is modeled as a black box. At the borders of the box 'Actors' are

connected through interfaces. Actors can be both man and machines. The main objective of the

context view is to make clear for whom the functionality of the system is meant to be. The

functionality itself will be defined through other Views.

The figure below shows the context view of the SPITS platform.

Figure 33: SPITS context view, showing the SPITS platform and the actors interacting with the platform.

Application Software is considered an external Actor to the platform. The Application User and

Administrative User use and manage the application software, respectively, indicated by the

dashed arrows. However, as will be made clear in the Scenario Views, they also interact with the

platform itself and are therefore included in the context view.

SPITS Application Software

06/10/14 Page 54 of 104

Version 1.1

SPITS Application software offers functionality/services to Application Users. Applications can be

based on the functionality offered by the SPITS platform and can be executed on the same

hardware used by the platform.

Application User

Application users are using SPITS compliant applications on the SPITS platform. Users can be

operators like traffic control, toll or parking operators, the driver, co-driver, passenger, fleet

managers, traffic center operator and others. Physical interaction of the Application User is via the

SPITS Platform (buttons, screen, speakers). Logically, the Application User interacts with SPITS

Application Software that receives the stimuli from and sends responses to the hardware of the

SPITS Platform.

Administrative User

This is a user that manages the SPITS applications, their configuration and settings. An

Administrative User typically is a provider of SPITS applications, and configures SPITS platform

related settings, e.g. for applications, users, devices, operational services. Owners are supported

to install new or remove old applications, and to (re)configure their devices. Owners are enabled as

Administrative Users to do system maintenance, such as user management, system management,

etc.

Maintainer

Person that develops, repairs, maintains, deploys, certifies and validates or queries software or

hardware modules in the SPITS Platform. The Maintainers interact directly with the SPITS

platform.

Vehicle

The vehicle provides sensory information from SPITS equipped vehicles of its surroundings and

own status to the SPITS platform and allows control by its actuators. This actor is described in

more detail in the OBU subsystem architecture.

Roadside device

Roadside devices are equipment along the road that are not part of the SPITS platform. This can

include legacy systems, like VRI's (traffic lights), VMS (text panels along the road), or loop

detectors. Roadside devices can be used by the SPITS platform to obtain information, or to

communicate with Drivers.

Non SPITS service

A service provided to the SPITS platform or Application software by a third party. For example:

Radio Broadcaster, GPS satellites and GPS signals, but also RWS (traffic management

center/service(s)).

4.2.2 System Scenario

The system scenario view describes a set of use case scenario's that are representative for the

use of the SPITS platform. The system scenarios have been divided in two sets: platform

scenarios and application scenarios. The application scenarios describe the use of Application

Software. Application software uses the platform to realize its functionality. In this way, the

Application scenarios also describe the (indirect) functionality of the platform. The platform

scenarios describe the direct interaction of actors with the platform. The figure below summarizes

both sets of scenarios.

The platform scenarios describe the scenarios related to the platform directly, i.e. not the

interaction of users with SPITS Application Software. An overview of all scenarios is given in the

06/10/14

Page 55 of 104 Version 1.1

figure below, and shows the interaction of the actors with these scenarios.

Figure 34: Overview of all platform scenarios.

The application scenarios describe the usage of applications that are running on top of the

platform. The majority of the applications are used by the Application User inside the Vehicle,

where the Application Software interacts, via the Platform with the Actor Vehicle (i.e. with the

sensors and actuators in the vehicle). Some of the applications (also) interact with roadside

equipment. The Application scenarios are further categorized loosely based on whether the

roadside equipment is involved (Road side supported scenarios) or only the vehicle (Vehicle based

scenarios) and a category of scenarios that does not fit either category (Other scenarios). The

figures below show these categories of scenarios and how they interact with each other and with

the actors.

06/10/14 Page 56 of 104

Version 1.1

Figure 35: Roadside device supported system scenarios.

Figure 36: Vehicle based system scenarios.

06/10/14

Page 57 of 104 Version 1.1

Figure 37: Other system scenarios.

4.2.3 System Design

The SPITS open and upgradeable platform ensures innovation can continue after first deployment.

Proven, industry standard architecture and interfaces increase speed of application, reduce cost,

and enable upgradeability. The SPITS architecture supports ITS applications by providing services

as communication, navigation, application and user-interface management, sensor virtualization,

and payment & billing. The SPITS platform consists of 3 types of subsystems: On-board Units

(OBU) built into vehicles, Road Side Units (RSU) monitoring and controlling road infrastructure,

and Back Offices (BOs) providing services to the other subsystems. Each subsystem has its own,

cost effective architecture optimized for its specific role. Together, they provide an application

platform for innovative traffic services that enhance mobility & safety. The subsystems are

designed to run (certified) applications developed by 3rd parties and enable new business models

for fast deployment.

Figure 38: The system design view of the SPITS platform, showing also all the Actors. The Actors that are connected to the platform can interact with all three individual subsystems.

06/10/14 Page 58 of 104

Version 1.1

4.2.3.1 The On-board Unit

The OBU subsystem is the SPITS subsystem which is inside a vehicle. It enables the execution of

SPITS applications on the On-board Unit. The OBU collects information from the vehicle sensors,

from other OBUs, from the BO, and from RSUs. The applications can use vehicle information and

communicate with the application user.

The main features of the OBU are:

1. The OBU support the possibility to add or remove functionality though a modular approach.

2. The OBU support the execution both of ITS and entertainment functionality on an single architecture.

3. The OBU can include optional services like navigation.

4. The OBU supports the possibility to add and remove temporarily (example: location specific) and permanent applications and platform related basic functions and services.

5. The OBU includes an HMI method dealing with safety related priority handling and variation of look and feel defined by vehicle manufacturers.

6. The OBU can communicate with nearby RSUs, nearby OBUs, BOs.

7. The functionality of the OBU can be managed remotely by a BO.

8. The OBU can be maintained locally by a system maintainer (e.g. a garage mechanic).

OBU concept

Today, the entertainment and navigation systems that are integrated in a vehicle have the same

life span as the vehicle. The development of these systems starts years ahead of the market

introduction of these vehicles, similar to other automotive vehicle systems. The functionality of

these systems remains similar to the functionality that was offered when the vehicle is bought,

which might be 10 years ago. In consumer (navigation) systems the time to market is shorter, the

innovation speed is higher, and the product prices are lower. The architecture described in this

document aims to bring these consumer benefits into the automotive entertainment, navigation,

and ITS systems.

Electrical perspective

Integrated entertainment, navigation, and ITS systems in a vehicle are typically connected to on-

board equipment. They are normally connected to on board speakers for audible entertainment,

hand free telephone calls, or spoken navigation instructions. They might be connected to vehicle

busses to obtain the vehicle speed, information from a steering wheel control, or the status of the

head lights (to adjust display colors at night). They might verify the vehicle’s identity to prevent that

a stolen system is used in another vehicle or they might interact with a tachograph in a truck.

These systems provide diagnostic functionality to vehicle service centers to aid vehicle repair. The

vehicle integration has mechanical, electrical, and communication protocols aspects. The

integration with the vehicle typically does not change over the life span of the vehicle as the vehicle

does not change.

In the architecture, the vehicle integration is separated from the other entertainment and navigation

functionality and they are decoupled. The vehicle integrated part offers standard mechanical and

electrically interfaces and communication protocols.

06/10/14

Page 59 of 104 Version 1.1

Figure 39: Example On-board Unit

Figure 39 shows an example entertainment and navigation system, called On-board Unit (OBU). At

the top elements are shown that are typically integrated for the vehicle’s life span. At the bottom

two kinds of elements are shown, nomadic devices (mass storage, iPod) and modules. Modules

are introduced as replaceable units used to allow faster in vehicle innovation, independent of the

vehicle integration. In the center of the figure is a head-unit, the head-unit is part of the vehicle and

it is the bridge between the modules and nomadic devices and the vehicle integration. The head

unit typically includes a graphical display.

To allow modules and nomadic devices to be added later, and to allow them to be exchanged

between vehicles, their interfaces should be agreed. The modules are connected via a standard

USB connection. This consumer bus is introduced in automotive to reduce the cost and increase

the flexibility, e.g. to interact with consumer devices. The modules can interact via standard USB

device classes with the head-unit. For example, a module can present itself as a USB camera to

send images to the head-unit’s display while retrieving user actions back via USB keyboard or

mouse messages. For more complex interaction, additional software interfaces are needed. For

example, interfaces to provide data for a unified HMI or interfaces to obtain wheel sensor or other

vehicle bus information. These software interfaces use USB as well. From functional point of view

USB is just a transport channel allowing addition and removal of nodes, from architectural point of

view some systems might also export a part of the functionality via another medium like Bluetooth.

For commercial applications of the On-board Unit, some modules might also be integrated in a

head-unit, limiting USB to the real plugable modules.

Figure 39 shows direct audio connections from a head-unit to the speakers, and a vehicle bus

between the head-unit and the wheel sensors. This is only an example; the head-unit’s physical

connections and peripherals will be vehicle model specific. Also the modules shown in the figure

might be included in a head-unit, for example in a high-end radio-navigation head-unit. A low cost

head-unit could rely on a module to offer such functionality. By supporting the module based

extension, the head-unit can be upgraded later when a new feature is developed that doesn’t fit

with the previous hardware generation.

Software perspective

An increasing amount of on board entertainment and navigation systems is equipped with wireless

connectivity. This enables value added services like finding an empty parking place, or informing a

vehicle on the access restriction for an area. These services typically need an off-board part to

provide the information and an on-board part to use the information or present it to the vehicle’s

06/10/14 Page 60 of 104

Version 1.1

driver. The off-board part could be done by a Road Side Unit (RSU) with local (traffic related)

information or a back office (BO) with location independent information. In addition to

communicating with an RSU and BO, the software might also use communication with On-board

Units of near-by vehicles.

The services will not only change in the life span of the vehicle, some will also change in the life

span of the modules. The set of 3rd party services offered for consumer devices in, for example,

Apple’s AppStore changes monthly. The software of the On-board Unit needs to be upgradeable

for the individual services that are offered. More specifically, upgrading is a service itself.

To allow software to be upgraded, the software interfaces available to the new software should be

known and also the context should be known. Some software might need a real-time guarantee,

other software might need a secure environment, and so on. This influences where the software

can be executed. Deployment of the software over the electrical modules or the head-unit depends

on these characteristics. In order to have commercial interesting systems, these contextual

constraints like the secure environment and real-time guarantee are not valid for each part of the

OBU. They are only valid in that part of the OBU which needs these constraints, e.g. a road-tolling-

module. For software without such constraints the software is be agnostic of where it’s executed or

which (wireless) communication channel is used.

Electrically the system can be extended with functional modules. If a module with a wireless

connection is added to a head-unit then it might replace or be used in addition to a wireless

connection from the head-unit. The same holds if a more advanced navigation module is added. In

general, 3rd party software on the On-board Unit does not care, if a hardware or software update is

done, it depends only on the software interfaces for the functionality it needs.

OBU SW deployment in SPITS

On the various OBU hardware parts various processing environments exist that can execute

software. An OBU head-unit can execute software and OBU modules can execute software. The

software on the head-unit and the modules might be upgradeable and one or more of them might

also support an OBU execution environment for SPITS applications.

Figure 40: Example SPITS application deployment

Figure 40 shows an example SPITS application deployed on a back office (BO), Road Side Unit

06/10/14

Page 61 of 104 Version 1.1

(RSU) and On-board Unit (OBU). Within the OBU this application is split into a head-unit part and a

module part. Whether or not a SPITS application requires a BO, RSU and OBU and how many of

those is application specific.

An example of a SPITS application could be a traffic management system where a central Back

Office application part provides a Road Side Unit with a requested traffic throughput to prevent

traffic jams. Based on this, the road-side application part determines a speed advice for a specific

vehicle and sends this advice to the On-board Unit on that vehicle. A module of the On-board Unit

runs an application to receive speed advices and the head-unit of the On-board Unit runs the user

interface to present this advice to the driver.

The deployment in the OBU is configuration specific. All application parts might run on a single

module or on the head-unit, or the different applications might be distributed. An OBU module

could be able to run SPITS application parts or it could come with software that has to run on

another node of the OBU in order to use the module. Figure 40 shows an example with two OBU

nodes capable of running SPITS OBU application parts and one module which does not. The latter

module might be a standard USB peripheral or module providing a wireless connection to Road

Side Units.

The application parts that run on a module or head-unit can use a SPITS OBU application

interface. This software interface offers functionality which could be located on the same module or

head-unit or on another one.

The OBU SW deployment section contains diagrams showing an application/platform interface for

the OBU. It shows that multiple interfaces exist. This section contains the interface definitions. The

OBU architecture distinguishes two types of interfaces: execution environment and SPITS

functions. The execution environment interfaces consist of the standard APIs that are provided by

the native and virtual operating environments.

Although the execution environment on an OBU can vary per module and head-unit, and different

execution environments can co-exist in parallel, the OBU has selected one execution environment

as its main execution environment; Linux/Android is used as main execution environment. Android

is selected because it offers a more cost efficient and commercially successful open software

ecosystem than the alternatives. It already offers a significant collection of applications and the

Android platform is open source.

The following figure provides an overview of the Android execution environment and the SPITS

extensions.

06/10/14 Page 62 of 104

Version 1.1

Figure 41: SPITS extensions to the Android Execution Environment

On the left side of the picture, the following SPITS extensions are depicted:

Applications SPITS Applications are not part of the SPITS platform. The OBU part of applications can be deployed on the open SPITS system.

Frameworks This is a placeholder for the functional ITS specific interfaces and frameworks that have been defined and developed for SPITS. Among others, SPITS frameworks supporting navigation, (digital) radio, and ad-hoc communication to other vehicles and Road Side Units are available for use by SPITS applications. Frameworks can have partial native implementations, but the interfaces are always offered inside the virtual execution platform.

Management Agent The Management Agent is the part of the SPITS OBU Platform that provides support for

remote management. It implements the remote management interfaces defined by the

OSGi alliance. The remote management interface/protocol with the Back Office has not

been defined by SPITS, but has to be defined by the specific owner or builder of the SPITS

platform instance. Remote management supports the installation and management of OBU

applications.

Libraries Libraries is a placeholder for the native, Linux userspace support libraries in the SPITS OBU platform. These will be typically implementation dependent for a specific OBU realization.

Reflection Reflection is the SPITS component technology that provides location transparent access to functions implemented on external USB modules. It implements the 'broker' functionality from the OBU SW deployment diagrams.

Platform drivers SPITS platform drivers is the placeholder for OBU/ITS specific Linux kernel device drivers. Similar as for the libraries, these are implementation dependent and not standardized by

SPITS.

06/10/14

Page 63 of 104 Version 1.1

4.2.3.2 The Road Side Unit

The RSU platform enables the execution of SPITS applications on the Road Side Unit.

Furthermore, the RSU enables the communication from OBUs to the BO and Non SPITS services.

The platform is maintained either remotely or locally by the Maintainer. The RSU collects

information from its Road Side Devices (camera's, loops, etc.), from Vehicles via their OBUs, from

the BO, and from neighboring RSUs. All information is made available to applications via

Information sources.

The main features of the RSU are:

1. The RSU can communicate with other RSUs, with the BOs, and with nearby OBUs.

2. The RSU enables the communication from the nearby OBUs to the BOs.

3. The RSU can be maintained locally or remotely by a Maintainer.

4. The RSU collects information from all kinds of sources (Road Side Devices, Non-SPITS services, OBUs) and makes this information available for Application on the RSU.

5. The RSU can communicate with the nearby OBUs, with the BO, and optionally with nearby RSUs.

The road side equipment plays an important role in ITS, and thus in the SPITS project. This

equipment has four main components or functions:

1. Sensors observing the roads, vehicles, and/or other environmental parameters, e.g. cameras, loop detectors, etc.

2. A communication node for (wireless) communication with vehicles.

3. A service platform for the execution of SPITS applications and platform services that are localized at the road side, e.g. for scalability or delay requirements.

4. The applications & services being executed on the platform.

In terms of the SPITS architecture and context (see RSU Context View), 1 is implemented by the

actor Road Side device, 2 and 3 by the Road Side Unit (RSU), and 4 by the RSU Application

software.

Figure 42: Functional decomposition of the RSU, including both the SPITS RSU platform and the RSU Application Software

06/10/14 Page 64 of 104

Version 1.1

RSU platform functions

OSGi Framework Part of the RSU Platform, responsible for providing class loading facilities, life

cycle management and for maintaining a (local) Service Registry. The OSGi framework is

represented as the System Bundle. The OSGi framework is the service platform on which RSU

Application Software can be deployed. SPITS uses OSGi Release 4, version 4.3. An important part

of the OSGi Framework is the support for IPv4 and IPv6, which is used for communication between

the RSU and the BO and optionally between the RSU and the OBU.

Standard OSGi Services These are standard functionalities that are part of the OSGi platform and

are standardized by the OSGi Alliance. All mandatory services are included. Other services are

optional, but if present, they should conform to the OSGi standards.

Communication Provider The communication provider is responsible for transmitting messages

to the vehicles and for receiving them. All incoming messages are collected and forwarded to the

appropriate Message Manager. Outgoing messages can be send to a specific region, specific

vehicle, or to all vehicles within range. For communication with OBU's CALM Fast over 802.11p is

supported.

Message Manager The message manager is responsible for encoding and decoding the

(standardized) messages, exchanged with vehicles via the ad-how wireless network. These

messages are partly standardized by ETSI, but for SPITS limited versions have been implemented.

CAM Message Handler This message handler is responsible for transmission of the RSU

Cooperative Awareness Messages (CAM), and for interpreting the incoming CAM messages from

the vehicles. The incoming messages are forwarded to the RSU Sensor Platform for fusion with

the road side information.

Dynamic Map The Dynamic Map provides a real time view on all vehicles in the area covered by

the RSU. The RSU Sensor Platform provides (asynchronous) information on the vehicles. The

dynamic map extrapolates this information and can provide a full view on request by an

application, or periodically.

Management Agent Part of the SPITS RSU Platform that provides support for remote

management. The interface with the OSGi environment is specified by the OSGi alliance. The

remote management interface/protocol with the Back Office has not been defined by SPITS, but

has to be defined by the specific owner or builder of the SPITS platform instance. Remote

management includes both the Installation process (install, update, remove applications) and

Execution management process (start, stop).

ITS Gateways The ITS Gateways provide the actual 802.11p based communication to vehicles,

i.e. the link to part of the Wireless Network (see Fig 5.1 in the SPITS Network architecture). Every

ITS gateway covers a defined geographical area. It still has to be decided how to define this area,

as exact boundaries for wireless communication cannot be specified. For cost and scalability

reasons, a single RSU platform can contain multiple ITS Gateways as further illustrated in the RSU

deployment section.

SPITS RSU Application Software and Road Side Device functions

The functions specified below are not part of the SPITS RSU platform. However, these functions

are using the SPITS Platform, or provide information to the SPITS platform.

RSU Sensor Platform The sensor platform provides real time information on the vehicles on the

road covered by the RSU. The information can be obtained from road side sensors (e.g. cameras),

06/10/14

Page 65 of 104 Version 1.1

or from vehicle information. The vehicle information is provided by the CAM Message handler and

forwarded to the RSU Sensor platform, where road side and car data is merged into a consistent

view on all vehicles. The link between the RSU Sensor Platform and the Dynamic Map follows the

Information Source design pattern as described in the system dataflow view Information Source.

Shockwave Damping Shockwaves occur on highly occupied roads when drivers react on

spontaneous maneuvers, resulting in a slow down or stopping of the traffic. The location where the

vehicles stop can move backward, causing a shockwave in the traffic flow. This application will

prevent or dissolves shockwaves by detecting when they arise and control the speed of the

vehicles.

Traffic Management This visualization application enables a traffic management center to have a

detailed view of the situation on the road.

Merging Assistant The merging assistant application detects gaps in the stream of vehicles on

the main road and advises merging vehicles on how to smoothly merge into this gap.

06/10/14 Page 66 of 104

Version 1.1

RSU Information source data flow

The picture below shows the data flow for Information Source related data. This means, that e.g.

the data flow towards the OBUs not is indicated in the figure below.

Figure 43: Data flow view of the Roadside equipment for Information source related data. Note, that additional data flows exist, e.g. for transmitting messages to the OBU's.

RSU deployment

As an example of RSU deployment, the SPITS Testsite Helmond is used. Below is a sketch of the

deployment view.

06/10/14

Page 67 of 104 Version 1.1

Figure 44: Implementation view of the Roadside equipment for Testsite Helmond9.

The cameras will be connected via fiber links to a central Ethernet switch. Also the ITS Gateways

are connected via this fiber network. The number of service platform devices for the test site is still

under discussion. An OSGi platform is not required on the ITS Gateways for SPITS application

software. However, it is still under consideration whether it is useful to implement an OSGi platform

for remote management functions on the ITS Gateways.

The Back Office

The BO enables the hosting of SPITS applications on the Back Office Unit. The BO is maintained

by local or remote System Maintenance. The main features of the BO are:

1. Infrastructure Management: Manages the SPITS network.

2. Application browsing, deployment of applications.

3. Services: Provides services by running service daemons.

4. Back-end: reporting, billing, portal to o the BOs and non SPITS services.

5. The BO can communicate with OBUs and RSUs.

4.2.4 Integrated Subsystem Design

The three subsystems are described in detail separately in their respective sections. The figure

below shows the interaction of the components of the subsystems.

9 Note, that the multiplicities are indicated correctly, but the absolute number of devices is not. The colors

correspond to the color usage in the previous figures.

06/10/14 Page 68 of 104

Version 1.1

Figure 45: Interaction of the 3 Subsystems

4.3 Outcome Analysis and Conclusions The SPITS architecture supports the same type of applications as MOBiNET. The Focus of the

SPITS architecture is mainly on the functionalities of the applications, whereas the focus of

MOBiNET is mainly on supporting the business interaction required to enable the applications. The

06/10/14

Page 69 of 104 Version 1.1

architecture is a good basis for the applications, to be supported by MOBiNET. The

implementations of the On board Unit can be used as a basis for the Mobiagent. The Roadside

Unit will be used on the DITCM Testsite in Helmond. Furthermore, the Service Platform of the

Roadside Unit can also be integrated in the mobiagent end-user devices.

06/10/14 Page 70 of 104

Version 1.1

5 Android and iOS eco-systems features

5.1 Introduction To be able to install MOBiNET apps on a wide variety of devices it is needed to have some

background information on how apps can be installed on these devices. For this we look at the 2

dominant mobile operating eco-systems: Android and iOS.

It is not intended to thoroughly describe the architecture of both eco-systems but to focus on the

features that a most relevant for MOBiNET. The following features will be focused upon:

• How apps are installed on a device

• How apps can detect other apps installed on a device

• How apps can communicate with other apps installed on the device

• How apps can unlock / install new features on the device

5.2 Platform Architecture and Outcomes Description

5.2.1 Installing apps

On an Android device

App developers are free to choose how they distribute apps to users. From publishing an app in a

market place to mailing an app directly to users, anything is possible10.

However users have to opt-in their device to be able to install apps from unknown sources. The

only known source for an Android device is the Google Play market place. Apps that are installed

from other sources than the Google Play market place will not be able to use Google Play's in-app

billing and licensing services.

The Google Play licensing service can be used to apply licensing policies on apps. For example an

app can restrict the use of the app to a specific device or to any other constrains a developer finds

appropriate 11.

To be able to reach the majority of Android users, and to be able to use Google Play services, the

Google Play market place is the best way to distribute apps.

The Google Play market place is available as a website and as a native Android app. From the

website it is possible to browse through the apps, purchase an app and have it installed on one of

your devices. The native Android app installs apps directly on the device itself.

10

https://developer.android.com/distribute/open.html 11

https://developer.android.com/google/play/licensing/index.html

06/10/14

Page 71 of 104 Version 1.1

It is possible to deep link directly to apps that are in the Google Play market place but Google does

not offer an official API to access the market place. However there are several unofficial libraries

that can be used to search the Google Play store and retrieve information meta-data of an app.

On an iOS device

The iOS App Store is the only way for iOS users to install apps on their devices (users willing to

jailbreak their device excluded 12). The App Store is available from within iTunes (available on both

Windows and OS X) and as a dedicated iOS app. It is possible to have an iOS device install

application purchased from within iTunes automatically but there is no way to push applications

towards a specific device, like there is in the Google Play market place website.

Apps that are purchased (paid or for free) and installed from the App Store are linked to the Apple

ID of the user. Apps are valid on all devices that are owned by the user for an unlimited time.

For websites and apps it is possible to deep link13 directly to apps that are in the App Store.

Clicking a link will select the app in iTunes, when used on a PC, or in the App Store app, when

used on an iOS device. iTunes has a search API14 than can be used by third parties to search the

App Store and retrieve information meta-data of an app.

5.2.2 How apps can detect other apps installed

On an Android device

Via the PackageManager API developers can retrieve information on all apps that are installed on

a device.

On an iOS device

On iOS there is no way to get a list of apps that are installed on the device. However under some

circumstances it is possible to check whether or not an app is present on the device.

iOS apps can support custom URL schemes that reference these apps. Other apps can check if

the custom URL scheme is supported on the device to see if an app is installed. There is a pitfall

though: if more than one app registers the same URL scheme there is no process to determine

which app is actually installed and will be started though the custom URL.

5.2.3 How apps can communicate with other apps

On an Android device

On Android, apps run in a sandboxed environment. There are different ways apps can

communicate with other apps (or processes). The first way is called Intents15. An app can send out

an Intent to do something. The Android OS looks for candidate to execute the Intent and sees that

12

http://cydia.saurik.com/ 13

http://linkmaker.itunes.apple.com/ 14

https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html 15

https://developer.android.com/guide/components/intents-filters.html

06/10/14 Page 72 of 104

Version 1.1

an app that implements the Intent is started. When there are multiple candidates that implement an

Intent, the user is asked what apps to use. Arbitrary data, necessary to handle the Intent, can be

added to the Intent by the app that is sending the Intent.

Another way to interact with other apps is via a ContentProvider16. A content provider manages

access to a structured set of data and provides a mechanism to query and update that data.

Finally, it is possible to interact with another apps is through Services via either Android Interface

Definition Language17 or a Messenger18 depending if the service needs to perform concurrent inter-

process communication or not.

On an iOS device

On iOS, apps also run in a sandboxed environment. There is no equivalent of an Android Service

or Content Provider on iOS but there is something similar to the Intent mechanism. iOS devices

can communicate with other apps19 using custom URL schemas. An app creates a URL request,

using the custom URL schema, and adds arbitrary data to it. When the app opens the URL the

receiving app is moved to the foreground to open the URL and receive the data.

5.2.4 How apps can unlock / install new features

On an Android device

It is not mandatory that all executable code must be available in the app's binary distribution;

although downloading and adding executable code from within a running app is tricky20. Additional

features can be unlocked via Google Play in-app billing21 or another form of billing implemented by

the developer. Google Play's in-app billing can be used for one-time billing (standard in-app

products) and recurring, automated billing (subscriptions).

All in-app purchases made via Google Play on Android are consumables. If and how a consumable

is consumed is up to the developer. For example a premium upgrade of an app would typically not

implement product consumption.

On an iOS device

All executable code must be available in the app's binary distribution. Additional functions can be

unlocked via in-app purchases22. 3 different types of goods can be purchased via in-app

purchases: consumables, non-consumables and (auto-renewable) subscriptions.

Consumables can be bought more than once and can be used up. Non-consumables are bought

only once and are valid on all devices that are owned by the user. Subscriptions allow the user to 16

https://developer.android.com/guide/topics/providers/content-providers.html 17

https://developer.android.com/guide/components/aidl.html 18

https://developer.android.com/guide/components/bound-services.html#Messenger 19

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW18 20

https://github.com/Rookery/AndroidDynamicLoader 21

https://developer.android.com/google/play/billing/index.html 22

https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/13_ManagingIn-AppPurchases/ManagingIn-AppPurchases.html#//apple_ref/doc/uid/TP40011225-CH4-SW1

06/10/14

Page 73 of 104 Version 1.1

purchase access to services or content for a set duration of time. Subscriptions renew

automatically unless the user opts out. Non-renewing subscriptions can also be offered.

Subscriptions must be available on all devices that are owned by the user.

The developer has to make sure that, when an in-app purchase is made, the feature that is

purchased by the user is unlocked and / or additional resources are downloaded from a server.

5.3 Outcome Analysis and Conclusions

From the analysis it becomes clear that both eco-systems behave somewhat similar on the

investigated features. Android gives the app developer the most flexibility in how to use the Google

Play services but all investigated features are also possible to implement, to a certain extent, on

iOS and the Apple App Store.

It will be possible to create a similar end-user experience for installing and using MOBiNET apps

on both platforms if the platform is willing to compromise on how MOBiNET apps interact with each

other.

Both the Google Play Store (see paragraph 4.5 of the distribution agreement and the Apple App

Store have a non-competition paragraph in their distribution agreements. This forbids the

distribution of apps whose purpose it is to distribute apps outside of the stores.

06/10/14 Page 74 of 104

Version 1.1

6 Instant Mobility Architecture and outcomes

6.1 Introduction

The Instant Mobility project was the Use Case project in the area of mobility of the Future Internet

Public-Private Partnerships (FI PPP) programme. The project defined scenarios and services for

multimodal travellers, drivers & passengers, passenger transport operators, goods vehicle

operator’s, road operators & traffic managers. A particular aspect of Instant Mobility was the

definition of requirements for Future Internet technology tools and enablers, so that all these

services will be available to any Internet-connected user, whether using a portable, vehicle-based

or fixed terminal.

In the Instant Mobility vision, every journey and every transport movement is part of a fully

connected and self-optimising ecosystem in which travellers, goods and collective transport will

benefit from personalised and real-time information delivered by next generation Internet

technologies. Future Internet technologies will offer accurate positioning, continuous connectivity

and a host of personalised online mobility services. The Instant Mobility project provided three

parallel scenarios for multimodal mobility for people and goods in urban areas with a user and

business-centred focus, namely: Personal travel companion; Smart city logistics; Transport

infrastructure as a service. Each scenario comprises a set of applications addressing the needs of

the different actors involved and describes a number of Future Internet-supported services that are

likely to be used by and to benefit a particular group of stakeholders. As the final output of Instant

Mobility, these scenarios have been demonstrated by conceptual software prototypes.

Instant Mobility and MOBiNET are quite complementary to each other. The focus of Instant Mobility

was to provide better mobility services on the basis of the Future Internet technologies. The focus

of MOBiNET is making the combination of existing mobility services easier by providing a minimum

set of infrastructure components. However, Instant Mobility offers good insights into the FI-WARE

GEs which are relevant to MOBiNET.

6.2 Platform Architecture and Outcomes Description

This section provides an overview about the Instant Mobility platform. We present Instant Mobility`s

leading use case scenarios, a high-level overview about the general platform architecture, and an

overview of the implemented prototypes.

6.2.1 Scenarios

6.2.1.1 Personal travel companion

The personal travel companion offers services for transport operators and human traveller`s to

provide and receive up-to-date information and to be guided in consequence. The scenario is

aimed at multi-modal travel, mainly in urban and inter-urban areas. Long distance journeys are

also taken into account but as a more straightforward case. Travellers, drivers and transport

operators will benefit from dynamic planning and follow-up during multimodal journeys:

Travellers will be able plan and adjust in real time a multi-modal journey from door to door;

Vehicle drivers will be able to easily book and execute ride sharing on their way to their own

06/10/14

Page 75 of 104 Version 1.1

destination;

Transport operators will get the complete information necessary to initiate demand driven

transportation.

The foreseen services are:

Dynamic multi-modal journey;

Dynamic ride sharing;

Optimized public transport usage.

6.2.1.2 Smart city logistics

Smart city logistics are aimed improving city logistics operations with respect to safety, efficiency,

environmental performance, and quality of service. It considers pick-up and distribution operations

mainly relying on the use of trucks or delivery vans. The smart city logistics scenario considers the

optimising of vehicle utilization, increasing consignee convenience by for instance flexible good

drop off and eco-optimised driving.

The foreseen services are:

Load sharing and optimising;

Dynamic time/place drop point;

Itinerary booking and real-time optimized route navigation;

Eco-optimised driving, vehicle and driveline control.

6.2.1.3 Transport infrastructure as a service

The transport infrastructure as a service provides online traffic and infrastructure management.

Dynamic traffic management and integrated urban space management will be virtualized and

based on Future Internet technologies such as cloud data storage, cloud computing and

virtualization or services‐ in‐ the‐ cloud. Transport infrastructure as a service defines the online

traffic and urban management generic enablers to improve the levels of mobility on the roads by

acting as B2B services (e.g., provision of accurate real-time traffic information for mobility services

such as routing information).

The foreseen services contain both information collection and service provision:

Real-time traffic and route information;

Floating passenger data collection;

Virtualized intersection intelligence;

Cooperative traffic signal control;

Area wide optimization strategies.

6.2.2 Platform Architecture

06/10/14 Page 76 of 104

Version 1.1

6.2.2.1 Architectural Vision

From a technical point of view the vision of the Instant Mobility platform is described best by the

following properties:

Data-centric:

Within the Instant Mobility system a continuous stream of data and events has to be

processed in an efficient and safe manner. The data originates from various origins like

travellers, floating cars, the road network or public transport officials.

Real-time:

Data and events have to be processed in real-time. E.g., this is an important system

property for the navigation and routing applications. Another example is the traffic operator

who needs to be immediately informed about critical traffic situations to undertake concrete

compensation actions. In this context, the term “real-time” means that the usefulness of a

result degrades after a deadline is missed. This is also referred to as “soft real-time” in the

area of real-time computing.

Distributed:

Not only processing nodes of the system are distributed over the network to create a robust

and scalable system. In addition, the data producers (like road side units, floating cars) and

the potential service consumers (like travellers) are distributed over the network as well. In

this context, a number of different nomadic devices like in-vehicle systems or mobile

phones are part of the system as well. They might act as both data producers and

consumers. Thus, the Instant Mobility system can be considered as a “heavily” distributed

mobile system.

Open:

The Instant Mobility services have to be provided using open, common, widely-used

standards to facilitate usage of the platform. In addition, this is required for efficient and

easy integration with external systems.

Federated:

The provided functionalities of the different scenarios focus on metropolitan areas. This

also needs to be reflected by the system architecture to be able to meet the real-time

constraints. Particularly, this is required to achieve the geographically scalability of the

system. The basic idea is to deploy a metropolitan-specific set of Instant Mobility services

on a “metropolitan-near” located cloud infrastructure. Thus, it is ensured that data is

efficiently processed next to its production.

Figure 46 summaries the basic assumptions and shows a high-level view of a metropolitan-specific

Instant Mobility instance.

06/10/14

Page 77 of 104 Version 1.1

Figure 46: High-Level View on the Instant Mobility System

Basically, the functionalities of the Instant Mobility ecosystem are offered by a RESTful

(Representational State Transfer) Web Service interface layer. These services form the basis to

build the scenario-specific applications of the different scenarios (e.g., Web portals, mobile

applications, etc.). For efficient distribution of data between data producers and data processing

components, an efficient real-time enabled data distribution middleware is required. However,

these systems introduce a relative tight coupling between components with regard to the

exchanged data. E.g., a major change of the data model could force a re-deployment of all

involved components. Thus, a complementary communication middleware system is required as

well which supports flexible, context-based publication of and subscription to data events. The

major use case is to provide context-aware information to external systems. This approach results

in a great flexibility when adaptions of the interaction patterns or the system architecture are

required. Finally, to achieve an elastic scalability of the overall system, the components run on a

cloud infrastructure.

Figure 47 sketches the idea of an Instant Mobility federated system.

06/10/14 Page 78 of 104

Version 1.1

Figure 47: Instant Mobility Federation

The basic idea is to deploy the required Instant Mobility components on a cloud infrastructure

which is located next to a metropolitan area. In particular, the different Instant Mobility clouds have

to be able to communicate, for instance, to transparently hand-over a traveller`s itinerary in case of

an inter-metropolitan journey. Another use case might be the quick dissemination of traffic events

which have the potential to sustainably influence the traffic situation in another metropolitan area.

6.2.2.2 Conceptual Architecture

Figure 48 shows the foreseen conceptual architecture of the Instant Mobility system. The following

sub-sections describe the specific layers of the multi-tiered architecture in more detail.

06/10/14

Page 79 of 104 Version 1.1

Figure 48: High-level conceptual architecture

6.2.2.2.1 Application Layer

The application layer contains the different end user applications and administrative user interfaces

which are developed in context of the specific scenarios. The basic idea is that the end user

applications are built on top of the API which is provided by the underlying service layer. For

instance, the traveller companion application calls the RESTful Web Service for planning a future

journey which is provided by the Multi-Modal Mobility sub-system.

The target platforms vary from scenario to scenario. Basically, the different scenarios require the

development of Web-based applications or applications which run on mobile devices or even on in-

vehicle devices.

6.2.2.2.2 Service Layer

The service layer exports the functionalities of service components in a standardized manner using

RESTful Web Services. Thus, it functions as the dedicated facade to the Instant Mobility

ecosystem. Primary, this layer provides the functionality which is used to implement the various

end user and management applications. In addition, it serves as an open, standardized integration

layer and entry point for third-parties like data providers. Additionally, the service layer allows the

re-use of the Instant Mobility functionality.

06/10/14 Page 80 of 104

Version 1.1

By applying the REST principles to the service layer, the service API is provided as a scalable

facade which is able to guarantee the same level of Quality of Service even with a largely

increasing number of client requests. In addition, REST provides the foundation to ensure

interoperability with a heterogeneous client environment and to safely evolve the service API.

6.2.2.2.3 Service Component Layer

This layer contains the server-side components, which implement the business logic of the Instant

Mobility ecosystem. Every component exposes its public API through RESTful Web Services.

Thus, the APIs of all components effectively build the service layer. Figure 48 shows the high-level

components of the different scenarios and example interactions.

Additionally, Figure 49 and

Table 1 provide a summary of the different subsystems and their dependencies.

06/10/14

Page 81 of 104 Version 1.1

Figure 49: High-Level overview of the Instant Mobility Subsystems

Table 1: Summary of identified subsystems

Subsystem Description

Multi-Modal Mobility

- Provides the core real-time navigation and routing functionality

- Covers aspects like multi-modal journey planning, itinerary

monitoring, and notification of travellers

Payment

- Provides services to include pricing offerings of different transport

providers

- Handles seamlessly all payment issues of the traveller by means

of virtual tickets

- Functions as a kind of payment broker to connect all involved

stakeholders

Personal Travel

Companion

- Provides the traveller`s front-end to plan and execute a multi-

modal journey

o Provides location-aware and situation-aware information to

the traveller

o Provides the traveller`s front-end to make use of the

payment services

- Focuses on seamless usage of all devices to achieve the best

possible journey experience

Public Transport

- Provides a front-end to enable public transport planners to

advertise their transport offerings and to operate and optimise

their offerings in accordance to the demand

Traffic Manager

- Enables a complete supervision of an area on the basis of

collected traffic information

- Implementation of “virtual” road side units

- Provides front-ends to different stakeholders for optimised

presentation of traffic information

Goods Transport - Supports sharing and optimisation of transport resources

06/10/14 Page 82 of 104

Version 1.1

Manager - Supports dynamic drop point negotiation between consignee and

haulier

- Enables the optimisation of transport itineraries on a basis of

transport mission and current traffic situation

6.2.2.2.4 Backend Layer

The backend layer separates the business logic from access to external system (e.g., for data

storage or information retrieval) by dedicated abstract interfaces.

From an analysis of the foreseen scenario-specific components, the following backend interface

types have been identified:

Data Storage and Backup:

Reliable data persistence is relevant for every scenario. In this context, statistical or

operational data has to be stored. However, there is also the need to process structured

and semi-structured data across the scenarios.

Real-time Traffic Data:

Traffic-related data is relevant for the scenarios “transport infrastructure as a service” and

“personal travel companion”. One shared requirement is that data events have to be

distributed to data processors in real-time as soon as they occur. In this context, collection

of location-based data and data originating from traffic infrastructure components is

required.

Traffic Control:

This interface enables a service component to interact and send commands to a traffic

infrastructure component like a road side unit or a traffic sign. Thus, it requires interaction

on a thing level. This interface is particularly relevant for the “transport infrastructure as a

service”.

6.2.2.2.5 Communication

Figure 50 sketches the foreseen communication architecture by showing the interactions between

selected components. Components are assigned to a specific architectural layer. Additionally,

communication flows, communication middleware components and provided interfaces are

illustrated.

In the following we summarise the foreseen communication options:

Point-to-point communication:

In this context, the involved components directly interact with each other in a synchronous

request-response manner. For that purpose the corresponding service components expose

06/10/14

Page 83 of 104 Version 1.1

specific RESTful Web Services.

An example is a request of the Transport Exchange Portal to the Multi-Modal Mobility

subsystem to provide alternative itineraries for transportation route optimisation. Another

example is the request of the Personal Traveller Companion application to plan a journey.

Context-based publish-subscribe communication:

This communication option supports flexible, context-based provision of data to the world of

final consumers (e.g., other platforms, components, end user applications). I.e., data

consumers can take into account the situation in which a specific data element has been

produced. This results in a great flexibility when adaptions of the interaction patterns are

required. The required middleware should be provided by the Context Broker GE23. The

Context Broker GE exposes a RESTful Web Service interface which can be used for

publication of context-aware data and to allow context-based subscription to data events.

An example is that the Personal Traveller Companion mobile application which only takes

specific itinerary events into account (e.g., changed route notification) while ignoring other

events (e.g., advertisement events).

Real-time, data-centric publish-subscribe communication:

This communication option supports real-time data sharing between data producer and

data consumer components. In this context, the data model should be quite mature (at best

following established standards) because major changes might require a re-deployment of

the involved components. In this context, the communicating components are required to

implement IDL-based interfaces which fit to the published data format. The required

middleware should be provided by the Advanced Middleware GE24. This GE addresses a

maximum level of system performance and scalability.

Real-time data sharing is particularly required by the data collection and data processing

components of the Multi-Modal Mobility and Traffic Manager subsystems. In this context,

formats of exchanged data are often compliant to established standards. Thus, we do not

expect major changes of resulting data models.

23

.http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/ 24

.https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE

06/10/14 Page 84 of 104

Version 1.1

Figure 50: Communication Architecture

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 85 of 104

Version 1.1

6.2.2.2.6 Security

Communication between components is basically performed on basis of RESTful Web Services which

utilise the HTTP protocol. Securing HTTP communication is well investigated topic. Thus, basically we

can rely on well-established authentication like TLS (Transport Layer Security). TLS is standardised by

the IETF25 and utilises different cryptography mechanisms in a flexible manner (e.g., asymmetric

cryptography for key exchange, symmetric encryption to ensure privacy, message authentication codes

to ensure message integrity). Thus, TLS provides secure point-to-point communication.

6.2.2.2.7 Federated Authentication

For authentication the use of federated authentication mechanisms rather than providing an own,

dedicated system is valuable. The OpenID 2.0 standard has been considered in order to provide a

federated authentication infrastructure and to enable single sign-on26.

6.2.2.2.8 Delegated Authorisation

As Instant Mobility provides a RESTful Web Service API, there are also use cases in which point-to-point

secured connection are not sufficient. Particularly, the user`s application might invoke a service which in-

turn needs to make another service call on behalf of the user. Thus, a mechanism for authorisation

delegation is required.

For RESTful APIs, OAuth 2.0 is the mean of choice and is already widely adopted. Instead of

transferring user credentials from one communication endpoint to another, a security token of restricted

lifetime is used to indicate that an application acts on behalf of the user.

OAuth introduces an authorisation server which is in charge of issuing security tokens and authenticating

end users. The application request the security token from the authorisation server and sends the

authorisation code for that purpose. For further technical details, we refer to DraftOAuthV227 and

OAuth2Introduction28.

6.2.2.2.9 Privacy

The collection of location information, both real-time locations and permanent locations (e.g., home

address), requires special considerations because:

The disclosure of this information might cause consequences for privacy and physical safety of

the user.

The simple transmission of a location may allow near-perfect personal tracking.

Location tracking can reveal a user`s home address and employer by looking for typical night and

day-time locations, even without identifying information.

Figure 51 shows the identified security data flow. The basic idea is to make use of pseudonym

certificates to establish the trust between the Instant Mobility services and the traveller. The pseudonym

certificate holds some verified attributes which allow services to make certain assertions about the

traveller but still hides his/her identity.

25

RFC524: http://tools.ietf.org/html/rfc5246 26

OpenIDWiki: http://wiki.openid.net/w/page/12995211/OpenID 27

DraftOAuthV2: http://tools.ietf.org/html/draft-ietf-oauth-v2-28 28

OAuth2Introduction: http://hueniverse.com/2010/05/introducing-oauth-2-0

06/10/14 Page 86 of 104

Version 1.1

TRAVELLER

POLICE

INSTANT MOBILITY

SERVICES PLATFORM

Pseudonym

Certicate

Request

(Step 1)

(Traveler)

Pseudonym

Certicate

(Step 2)

PAYMENT

AUTHORITY

(i.e. Bank)Payment Certicate

Request

(Step 3)

Payment

Certicate

(Step 4)

Multi-modal Transport

Request + Location +

Traveler preferences

+ (Traveler) Pseudonym

Certificate + (Traveler)

Payment Certificate (Step 5)

Roadmap

+ e_Ticket(s) + (Driver)

Pseudonym Certificate(s)

(Step 14)

PUBLIC

TRANSPORTATIONS

VPN

VPNRoutes and

Timetables

Request

(Step 6)

Routes and

Timetables

(Step 7)

Roadmap for

agreement

(Step 10)

Roadmap

agreement

(Step 11)

Buying e_tickets

with Payment

Certificate

(Step 12)

e_tickets

(Step 13)

K-A

nony

miz

atio

n & D

ata

Tran

sfer

Sensitive

Data base

Public Traffic

Optimization

Centre

DRIVER(s)

Traveller data

Drivers data,

Payment data.

Carpooling

Request

(Step 8)Carpooling

agreement

(Step 9)

Secure Ticketing Payment

Secure D

rivers Paym

ent with P

ayment C

ertificates

Security alert

Location + Driver

Identity + (Traveller)

Pseudonym Certificate

TRUSTED

AUTHORITY Identification RequestIdentification data

Traveller or Diver Pseudonym Certificate

Security alert

Traveller or Diver identityPolice Car

TRUSTED

AUTHORITY

Location + Traveler

Identity + (Driver)

Pseudonym

Certificate

(Traveler)

Pseudonym

Certicate

(Step 15) (Driver) Pseudonym Certicate

Pseudonym Certicate

Request

DRIVER

Location data (regularely) +

(Driver) Pseudonym Certificate

Figure 51: Security data flow

However, the “free” availability of fine-granular location information might still allow re-identification of

anonymised users.

For that purpose Instant Mobility requested the extension of FI-WARE`s current privacy concept by a

location monitoring component. This component should monitor the real-time location of anonymised

users. Particularly, it is the only component which obtains this kind of information. The user might

explicitly allow or disallow which events (e.g., planned itinerary delay, proximity alert) might be received

by whom. Thus, only authorised parties can subscribe to this information and are notified.

The component might also publish anonymised information about traveller`s movements. However, to

publish location data without compromising privacy, either a spatial-domain or a time-domain approach

has to be used. I.e., the traces are either

at coarse granularity levels so that the anonymity sets are large enough to preserve privacy (e.g.,

the location granularity is at city level or above) or

too short to make it difficult/impossible to infer locations correctly.

6.2.3 Overview of the implemented Prototypes

The following sections describe the developed prototypes. The description of every prototype includes

the implementation scope and an overview about integrated FI-WARE GEs.

6.2.3.1 Scenario 1 – Personal Travel Companion

Instant Mobility scenario 1 prototype simulates in a realistic way, the urban and suburban trips in a city,

based on the population's movement statistics. The city map displays the live positions of buses,

travellers and cars and the journey details of each traveller could be obtained in real time. A statistics

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 87 of 104

Version 1.1

panel provides key figures of the simulation. The prototype also includes the dialog between a traveller

and a car driver involved in a common-ride.

Figure 52: Scenario 1 - Ride sharing prototype layout

6.2.3.1.1 Implementation Scope

The following figure shows the logical view of the multi-modal system main prototype.

06/10/14 Page 88 of 104

Version 1.1

Figure 53: Scenario 1 – Prototype logical architecture

As shown above, there are three core components:

Route Determination Engine:

This component provides itineraries for travellers and drivers (multi-modal solutions for travellers

and the fastest routes for drivers). Multi-modality requires to efficiently mixing multiple means of

transportation in a single consistent and optimal journey proposal. This component takes into

account all the means of transportation (private cars, buses, metro) in a consistent manner

making it easy to add new transportation modes.

Situation Display:

The situation display shows the position of travellers and mean of transportation. It calculates and

shows the mobility metrics (e.g. percentage of multi-modal itineraries). It allows for the selection

of the traveller/driver pair whose itinerary (and initial hand-shake dialog) can be shown on the

mobile phones. The display interface authorizes new events to be injected to the simulation (e.g.

car broken) leading to automatic rerouting of the potential travellers when required.

Simulator:

The simulator has multiple purposes. First, the simulation of the travellers/drivers by performing

itinerary requests to the route determination engines. These requests are based on the actual

statistical data of source-destination needs of the users. Second, the simulation moves the cars,

buses and other mean of transport taking into account historical flow speed at the time of travel.

The simulator is also responsible of the temporal coherence of the movements and of the

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 89 of 104

Version 1.1

matchmaking between travellers and means of transport. Third, the simulator provides an

interface (REST) to the mobile applications to show itineraries of selected travellers (selection

being done by the situation display). The mobile applications (which include the on-board unit)

are pure Javascript implementations calling the simulator REST services.

The system uses an OMG (Object Management Group) Data Distribution Service middleware to achieve

linear scalability (application can scale by adding more processing units). There can be as many

instances of the core components as required. For example, the demonstration used four instances of

the “Route Determination Engine” all of them could be running on separate machines interconnected

through a local network.

All potential points of contentions have been identified and removed through data distribution,

aggregation and filtering (e.g. situation displays). One of the key benefits is that all components are

entirely decoupled. The application is fully distributed and most of the modules are pluggable.

Additionally, the Ride Sharing mobile application has been developed to show the possible user

experience. It was developed in HTML/CSS/Javascript and can thus be accessed by any standard web

browser. There are two users involved: a pedestrian (rider) looking for a ride and a driver that potentially

is able and willing to offer a ride. There is a single application which is thus twofold; the first splash

screen has the task to determine the user’s role.

Table 2 Ride Sharing mobile app

Initial Splash Screen

that allows to choose

between driver and

traveller interface

Here the user can

choose the start and

the destination (both

driver and rider case)

The system provides

an itinerary to the

rider. The itinerary

has a ride sharing

segment, indicated by

the multimodal icon in

the top-right corner of

the screen.

After clicking on

multimodal icon the

application asks the

rider if he wants to

accept the proposed

driver

06/10/14 Page 90 of 104

Version 1.1

If rider accepts, also

the driver is asked to

accept the proposed

rider.

When the driver

accepts the rider, the

system notifies it to

the driver and vice

versa

Here the two users

can see their

respective positions.

6.2.3.1.2 FI-WARE integration

The prototype integrates with the Data Handling GE29 to allow/disallow diffusion of travellers/drivers

pictures based on users predefined policies. If the Data Handling GE is disabled or if the policy does not

allow for picture diffusion, generic pictures (male or female) are shown on the traveller mobiles and on-

board units.

In addition, the prototype integration with Identity Management GE [22]30 that provides user management

capabilities has been tested (registration, login, etc.). A Java server that interacts with the Identity

Management GE has been developed, and now it’s ready to be integrated into the existing Personal

Traveller Companion server.

As the Advanced Middleware GE [16] was not ready at the time of the prototype implementation, the

OpenSplice Data Distribution middleware 31 has been used instead.

6.2.3.2 Scenario 2 – Smart City Logistics

The purpose of the “smart city logistics scenario” is to increase the sustainability of city logistics by

optimizing the vehicle utilization, in order not to use more vehicles than necessary and also to optimize

the way the vehicles are driven. A purpose specific to the “dynamic drop point” application, on which this

prototype is focused, is to increase the convenience for the consignee, by offering flexibility in choosing a

29

http://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Internet_of_Things_(IoT)_Services_Enablement#IoT_Data_handling 30

http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.ArchitectureDescription.Identity_Management_Generic_Enabler 31

http://www.prismtech.com/opensplice

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 91 of 104

Version 1.1

suitable time and location for dropping off goods, in order to avoid unnecessary transports, both by the

transporter, who can avoid trying to deliver goods to someone who is not at home, but also by the

consignee, who can avoid make an additional trip in order to pick up goods.

The pre-condition of the smart city logistics prototype is that a transport need has been detected and

transport resources have been registered in the system; that is, a set of transport bookings have been

submitted to the transport exchange portal via the Web service interface. Based on available transport

resources and submitted transport bookings, itineraries are planned by the system.

By using the Consignee App, the goods receiver can select calendar events to upload, which are then

used by the system as input when planning itineraries. Using the vehicle simulation web application,

itineraries can be downloaded to a simulated vehicle, which executes them on a map and reports back to

the transport exchange portal.

6.2.3.2.1 Implemented Scope

Figure 54: Smart City Logistics prototype architecture

The Smart City Logistics prototype consists of three main nodes; the vehicle, the server-side and the

consignee’s mobile device. The main components of the server side are the Web services, which

implement the vehicle transport management interface, the transport resource manager and the

consignee API. There are several clients to these Web services; the itinerary processor develops

itineraries based on the transport need and available resources, the transport exchange portal provides

an overview of the transport bookings and itineraries, the consignee app provides the dynamic drop point

service to the end user and the simulated vehicle executes the itineraries.

The simulated vehicle is a client to the vehicle transport management interface. It is implemented as a

Google Web Toolkit application running inside a Web browser, which lets the user select a vehicle

itinerary and follow the execution of the itinerary on a map.

06/10/14 Page 92 of 104

Version 1.1

The development activities performed to create this prototype consisted of both development of off-board

(server-side) and on-board (mobile) enablers, as well as creating a simulation of a freight vehicle,

performing the cargo distribution. This section lists the developed components.

Consignee App

The Consignee App is a smartphone app, developed for Android 4.0.x, which is used by the

consignee to share data on his/her whereabouts in order to agree with the transport planner

about a convenient time and location to receive goods. The consignee app first retrieves

transport booking information for transport bookings of which the consignee expects a

delivery. The consignee then selects the calendar events for which he/she is able to receive

the goods. These calendar events are then uploaded to the transport exchange portal. When

the calendar events have been processed a suggestion for a drop point is presented to the

consignee, who is then able to accept or reject it.

Remote Internet tethering

The remote Internet tethering enabler is composed by developments on an on-board unit

(having at least the function of IP router) and developments on smartphones. The objective of

this component in the context of logistic and/or goods transportation is to offer a wider range

of cellular connectivity to the on-board unit (OBU) by using opportunistically the cellular

network interfaces of smartphones (3G/4G) connected to the OBU.

Transport Exchange Portal

The Transport Exchange Portal functionalities developed for the prototype consist of a Web

portal for monitoring incoming transport bookings and transport missions, which are updated

in real time as they are being processed by the transport resources. The transport exchange

portal also consists of a number of other enablers, which implement the Web service interface

that the vehicle- and consignee applications use to interact with the system.

Vehicle Transport Management Interface

This is a RESTful Web service interface, implemented as a JAX-RS Web service. It contains

functions for retrieving transport itineraries, reporting status on a transport mission, reporting

current position and verifying the driver.

Transport Resource Manager

This is a RESTful Web service interface, implemented as a JAX-RS Web service. It contains

functions for creating, retrieving and deleting transport resources and for authenticating the

transport manager.

Consignee API

This is a RESTful Web service interface, implemented as a JAX-RS Web service. It contains

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 93 of 104

Version 1.1

functions for authenticating the consignee, retrieving, creating and deleting calendar events,

retrieving drop points and accepting drop point suggestions.

Itinerary Processor

For the prototype a subset of itinerary processor functionalities was developed to cover the

functionality needed by the demonstration scenario.

Transport Resource Persistence

The transport resource persistence is implemented not as a separate component, but as a

part of the transport resource manager component, using the MongoDB Jackson mapper,

which provides seamless mapping between the JSON format used by the Web services, and

the BSON (binary JSON) format used internally by the MongoDB database.

Transport Booking Persistence

The transport resource persistence is implemented not as a separate component, but as a

part of the itinerary processor component, using the MongoDB Jackson mapper, which

provides seamless mapping between the JSON format used by the web services, and the

BSON (binary JSON) format used internally by the MongoDB database.

6.2.3.2.2 FI-WARE integration

The FI-WARE generic enablers were analysed in order to see how they could provide value to the

solution. The result of this analysis was that gaps was detected that must be addressed by FI-WARE

before the generic enablers can be incorporated in a meaningful way. The Identity Management only

supports SAML for API based authentication/authorization. SAML doesn’t however work with RESTful

web services, since it is dependent on a SOAP header for transferring the SAML messages.

The FI-WARE Big Data Analysis GE32 today consists of a map/reduce platform, which is a specialized

tool for tasks such as extracting information from large data streams, such as log files generated by

telecom systems. If the Big Data generic enablers are further developed to also include tools for

supporting other big data challenges, such as, for example, document oriented storage, it will be relevant

for a larger set of use cases, including the ones within smart city logistics.

6.2.3.3 Scenario 3 – Transport Infrastructure as a Service

In order to achieve efficient urban traffic management, cities need to deploy not only the technologies for

traffic monitoring, but also dedicated traffic management platforms, which can integrate all the data

coming from the different monitoring technologies so as to calculate and provide meaningful real time

information and strategies either for their own purpose as operators or for end users. All this has an

enormous cost for cities. Looking at it from an intersection control engineering, Traffic control in-the-

cloud is different from the existing approaches as traffic control operations will be hosted in the Internet,

32

http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware /index.php/Data/Context_Management#Big_Data_Analysis

06/10/14 Page 94 of 104

Version 1.1

leaving local systems the task of providing safety control and communications. At the intersections

absolute or selective prioritization policies can be applied, e.g. to give priority to special vehicles such as

buses, trams, emergency vehicles, commercial vehicles, etc. Furthermore, the system is able to

automatically detect critical traffic conditions and to activate dynamic green waves, to always keep the

network under equilibrium conditions.

According to the Traffic control in-the-cloud concept, Virtual road side units (V-RSUs) are hosted in the

cloud. These can apply different control strategies to control different systems and/or different sub-areas

of the same system. Different control strategies can be applied according to local needs, availability of

traffic measures and design options. Mainly, the system is fully adaptive on traffic and applies dynamic

optimisation concepts. The control strategies applied to the network are the result of an optimisation

problem aiming to minimise the overall time spent in the network by private traffic and public transport.

Real time optimisation and monitoring ensure an immediate reaction on traffic events. The overall

network optimisation is decomposed into co-ordinated junction problems solved by the virtual

intersection units. Each unit looks-ahead in the optimisation horizon in order to compute its own control

strategy in accordance with the upstream intersections.

Implementation Scope

The prototype is based on 10 V-RSUs (one for each intersection) installed in corresponding cloud VMs.

Since it is not possible to run tests on real roads, these have been substituted by a traffic simulator,

based on a microscopic approach to accurately represent the traffic conditions in the network. The used

microscopic simulator is a combined discrete continuous simulator. This means that there are some

elements of the system (vehicles, detectors) whose states change continuously over simulated time,

which is split into short fixed time intervals called simulation cycles or steps. There are other elements

(traffic signals, entrance points) whose states change discretely at specific points in simulation time. In

the simulation model the vehicles are generated and shipped through the network. This kind of approach

can be distinguished from other types of computer modelling in that it looks at the interaction of individual

"units" such as people or vehicles. Each vehicle is treated as an autonomous entity and the interaction of

the vehicles is allowed vary depending on stochastic (randomized) parameters. These parameters are

intended to represent individual preferences and tendencies. The area of the city involved in the

prototype will be comparable with a larger quarter of the city, and 10 intersections are included in the

simulator.

Each physical detector required by the V-RSUs has been modelled as one virtual detector. When a

vehicle is passing a detector message is generated towards the adaptive signalling which is treating the

incoming traffic information to set-up the best signal setting according to the present traffic situation. The

chosen strategy is shifted back towards the simulation model which is changing its signal according to

the adaptive strategy. It is important to underline that the abovementioned detectors have been used as

they represent the most consolidated way to realise communications between traffic simulators and

external controllers. According to the vision proposed by other “Transport Infrastructure as a Service”

Scenario applications, these detectors can be replaced from many other kinds of data coming either from

the infrastructure or from mobile devices, cooperative vehicles, and external providers.

Development activities have been focused on the traffic control functionalities, taking into account the

opportunities provided by cloud hosting. The component “Intersection virtual controller” is in charge of

creating the traffic signalling plans by computing the aggregated traffic information that receives from the

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 95 of 104

Version 1.1

abovementioned components and systems. This component will enable the system to implement V-

RSUs, hosted in the cloud, in comfortable server farms.

cmp Intersection v irtual controller

Intersections v irtual controller

(from Traffic Manager)

«FI-WARE»

PaaS Management GE

Virtual Road-side Unit

Intersection controller

Diagnostic module

Traffic light gateway

Traffic l ight

vRSUs

V-RSUs gateway vRSUs

vRSUs

Queue estimator

Node balancerControl optimiser

Area-wide

Supervisor

Area-wide

Superv isor gateway Area-wide

Supervisor

PT priority optimiser

Cooperativ e

gateway OBU

Gateway

Figure 55: Intersections virtual controller components

As already introduced, the control strategies applied to the network are the result of an optimisation

problem aiming to minimise the overall time spent in the network by private traffic and public transport.

The optimisation is based on the continuous monitoring of the controlled network. Traffic flows are

measured every second and the intersection status is updated every three seconds. Real time

optimisation and monitoring ensure for an immediate reaction on traffic demand and events (incidents,

priority requests).

06/10/14 Page 96 of 104

Version 1.1

FI-WARE integration

Most interesting FI-WARE GE for this scenario is the PaaS management GE [25]33. This GE will allow V-

RSUs to adapt during execution to the changing demands of resource shortages. Not only the scale-up

(in the same physical host) or scale-out (to multiple VMs) will be supported, also the shrinking of

resources will be performed when the environment of the application allows this. There will be an

interaction between the scalability components, the provisioning and deployment layer to create, stop,

destroy, and reconfigure VMs, infrastructure and/or network resources. This will be used to adapt the

resources given to each V-RSU according to the optimisation needed (e.g. growing congestion -> high

optimisation; weak vehicular flow -> low optimisation).

The PaaS GE was not available at the time of prototype implementation. Thus, a private cloud setup has

been used to demonstrate the scalability concept.

6.3 Outcome Analysis and Conclusions

The prototyped Instant Mobility components are not from primary interest for MOBiNET. However,

MOBiNET can profit from further insights into FI-WARE. For that reason the ANNEX presents the

analysis of FI-WARE GEs from the perspective of Instant Mobility rather than the Instant Mobility

components itself.

33

http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.OpenSpecification.Cloud.PaaS

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 97 of 104

Version 1.1

ANNEX: Analysis Table

Project / Product Name

Outcome Name Outcome Description

Analysis of Applicability to MOBiNET

description of the outcome, what is consist of, what it does,

how the feature can be used in MOBiNET and why if is relevant to the project

FI-WARE Cloud Hosting (CH)

The Cloud Chapter offers Generic Enablers (GE) that comprise the foundation for designing a modern cloud hosting infrastructure that can be used to develop, deploy and manage Future Internet applications and services. The GEs in the above diagram are grouped into Core GEs, providing the core hosting capabilities at different abstraction levels (resources, services, objects, etc) and Ecosystem GEs, addressing various specific needs across the Core GEs, and establishing the ecosystem that enables the end-to-end capabilities provided by a cloud offering. The Core GEs include: - Data Center Resource Maangement (DCRM) GE - Object Storage GE - Service Management (SM) GE - Cloud Edge Resource Management GE - PaaS Management GE The Ecosystem GE is include: - Monitoring GE - Identity Management GE

The MOBiNET Platform can be hosted and uses CH services

FI-WARE

Open Cloud Computing Interface (OCCI)

The Open Cloud Computing Interface (OCCI) (TM) comprises a set of open community-lead specifications delivered through the Open Grid Forum, which define how infrastructure service providers can deliver their compute, data, and network resource offerings through a standardized interface. OCCI has a set of implementations that act as proofs of concept. It builds upon World Wide Web fundamentals by using the proven REST (Representational State Transfer) approach for interaction and delivers an extensible model for interacting with “as-a-Service” services.

The OCCI is used in the CH GE, the MOBiNET platform can use this way to describe the APIs.

FI-WARE

OpenStack Compute Developer Guide

OpenStack Compute Application Programming Interface (API) OpenStack can be used inside the MOBiNET platform

06/10/14 Page 98 of 104

Version 1.1

FI-WARE

Cloud Data Management Interface (CDMI™)

CDMI™ international standard is intended for application developers who are implementing or using cloud storage. CDMI is the de-facto standard for manipulating data in the cloud. Developed by the Storage Networking Industry Association (SNIA), it has now been designated by ISO as a formal international standard.

Inteface specification; basic technology

FI-WARE Data/Context Management (DCM)

The Data/Context Management FI-WARE chapter aims at providing outperforming and platform-like GEs that will ease development and provision of innovative Applications that require management, processing and exploitation of context information as well as data streams in real-time and at massive scale. Combined with enablers coming from the Apps Chapters, Application Providers will be able to build innovative business models such as the ones described above and beyond. The GE provided by Data/Context Chapter are: - Context Broker (Publish/Subscribe Broker) GE - Semantic Annotation GE - Complex Event Processing (CEP) GE - Location GE - MetadataPreprocessing GE QueryBroker GE Compressed Domain Video Analysis GE - Semantic Support GE

Applicability depends on the type of application that MOBiNET aim to develp/support

FI-WARE

Open Mobile Alliance (OMA) Next Generation Services Interface (NGSI) Specification

The Context Management APIs provides interfaces in order to • Manage the Context Information about Context Entities, for example the lifetime and quality of information. • Access (query, subscribe/notify) to the available Context Information about Context Entities. NGSI-9: Context Entity Discovery Interface NGSI-9 and NGSI-10 Interfaces with the following functions: • Register and retrieve the availability of Context Entities and/or Context Information. • Update Context Information in accordance to a specified Context Information Model. • Query for and subscribe to Context Information about Context Entities. NGSI-10: Context Information Interface

Interface specification for context Management

FI-WARE ContextML / ContextQL

ContextML: A Light-Weight Context Representation and Context Management Schema ContextQL or CQL is an XML-based language allowing to subscribe to the Context Broker (and in the future to Publish/Subscribe Broker) by scope conditions and rules consisting of more then one conditions.

Context Protocol

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 99 of 104

Version 1.1

FI-WARE OMA/3GPP Specifications

MLP Mobile Location Protocol (MLP), Open Mobile Alliance, specification OMA-TS-MLP-V3_2-20110719-A SUPL Secure User Plane Location Protocol (SUPL), Open Mobile Alliance, specification OMA-TS-ULP-V2_0-20111222-D RRLP Radio Resource LCS Protocol (RRLP), 3GPP, specification 3GPP TS 44.031 V9.2.0 (2010-03)

Interface specification; basic technology

FI-WARE RTP RTP: A transport protocol for real-time applications Basic Technology

FI-WARE XSLT XSL Transformations (XSLT) Basic Technology

FI-WARE Internet of Things (IoT)

FI-WARE will build the relevant Generic Enablers for Internet of Things Service Enablement, in order for things to become citizens of the Internet – available, searchable, accessible, and usable – and for FI services to create value from real-world interaction enabled by the ubiquity of heterogeneous and resource-constrained devices. The GE implemented in the IoT Chapter are: - IoT Broker GE - Configuration Management GE - Discovery Engine GE - Device Management GE - Data Handling GE - Protocol Adapter GE

This chapter provides a middlware making information from heterogenous and large-scale Sensor/M2M deployments accessible via set of simple interfaces. Its applicability depends on the type of device that needs to be used in MOBiNET. Intresting for MOBiNET can be the Lookup and Discovery mechanisms.

06/10/14 Page 100 of 104

Version 1.1

FI-WARE

Applications and Services Ecosystem and Delivery Framework

The Generic Enablers for the Apps Chapter together build an ecosystem of applications and services that is sustainable and fosters innovation as well as cross-fertilization. In particular the Apps Generic Enablers supports managing services in a business framework across the whole service live cycle from creation and composition of services to monetization and revenue sharing. A couple of basic enablers are important to realize the vision of such a service business framework which enables new business models in an agile and flexible way: A Store, which allows to offer services for consumers as well as developers of future internet applications. A Marketplace, which allows to find and compare offerings from different stores and provides further functionality to foster the market for future internet applications and services in a specific domain. An SLA Support, which monitors and evaluates runtime data according to the agreements of service levels. A Revenue Sharing System (RSS Engine), which allows the calculation and distribution of revenues according to the agreed business models. A set of Service Composition enablers, which allow to compose existing services to value added composite services and applications, which can be monetized in the Business Framework. A set of Mediator enablers, which can be used to achieve interoperability between future internet services and applications and also allow to interface to existing enterprise systems.

This is the most relevant Chapter for MOBiNET. Relevant is USDL (Unified Service Description Language), see other entry

FI-WARE Security see main document This Chapter can be used for addressing security issues

FI-WARE

Interface to Networks and Devices (I2ND)

I2ND defines an enabler space for providing Generic Enablers (GEs) to run an open and standardised network infrastructure. The infrastructure will have to deal with highly sophisticated terminals, as well as with highly sophisticated proxies, on one side, and with the network operator infrastructure on the other side. This latter will be implemented by physical network nodes, which typically are under direct control of an operator, or the node functionality will be virtualised – in this case the I2ND functionality can be accessed by further potential providers, like virtual operators. The I2ND architecture covers four Generic Enablers (GEs). The four GEs have interfaces and APIs according to their underlying technologies: - CDI (Connected Device Interface) towards the Connected Devices. - CE (Cloud Edge) towards the Cloud Proxies. - NETIC (NETwork Information and Control) towards Open Networks - S3C (Service Capability, Connectivity and Control) towards Underlying Networks

This chapter deals with the interface of different network connection. The use depends on the connectivity requirements

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 101 of 104

Version 1.1

FI-WARE Developer Community and Tools

FI-WARE will provide various strategic and fundamental means enabling the development of Future Intenet Applications (FIApp). It is expected that around FI-WARE a community of developers will grown both to further work on the FI-WARE results (e.g. providing new Open Specification or improve the existing ones, to code new GE implementation, or set-up new FI-WARE Instances) and to develop new applications or doing business according to an open paradigm. All the functionalities are described in detail in the subsequent chapters grouped by major aspects: IDE-CDE: interaction between the IDE and the Collaborative Development Environment API and Catalogue: the Catalogue provides the API of the GEs to the development environment Deploy, Test and Validation: Future Internet Application deployment for testing and validation activities.

The tools are based on Java programming language and may be used in case some part of the FI-WARE are used. Extension may also be considered

FI-WARE

USDL (Unified Service Description Language)

Unified Service Description Language (USDL), creates a “commercial envelope” around a service. More specifically, USDL allows a unified description of business, operational and technical aspects of services as depicted in the figure. Technical services may be lifted to business services, but USDL also allows describing more manual or physical services. As many services have a hybrid character with both, a digital and physical or manual footprint, USDL can facilitate the combination and aggregation of such services. Therefore, USDL can be considered one of the foundational technologies to set up an Internet of Services around today’s core enterprise systems.

Of high relevance to MOBiNET

Instant Mobility

Connected Device Interfacing GE

Basically, this GE provides a runtime for mobile applications. Additionally, CDI utilises different standards of the Open Mobile Alliance (OMA) [OMA] . The provided features include: • Mobile application runtime which provides a uniform interface to the nomadic device features. The current API is based on Web-based languages like HTML5, CSS3, and JavaScript. • The CDI GE, particularly, addresses the QoS and QoE aspects by provision of specific APIs. • Remote manager interface to support other external systems. It enables remote device management and allows sending data to the device via a push notification framework. • Mobility manager to select network interface in accordance to connectivity requirements of applications and to receive network policies. This GE has been considered as an Important building block to build mobile and in-vehicle applications for Instant Mobility.However, the GE was not available at the time of prototype implementation.

Of high relevance to MOBiNET. The GE could be used as basis for the MOBiNET Agent.

06/10/14 Page 102 of 104

Version 1.1

Instant Mobility

Applications and Services Ecosystem and Delivery Framework

FI-WARE uses Linked USDL to express the different aspects (technical, business, etc.) of services and to build a Internet of Services. Around this service description, FI-WARE provides the required infrastructure to facilitate service aggregation and re-use. The involved GEs (registry, repository, marketplace, composition engines, etc.) have been considered as an important building blocks to facilitate re-use of the Instant Mobility services. The GEs have not been integrated in any prototype because the focus of phase 1 was the creation of the required “backend” services.

Of high relevance to MOBiNET. USDL could be used to semantically describe the services. In addition, the provided USDL-enabled infrastructure components could be used as basis for the service directory.

Instant Mobility

Context Broker

The GE was planned to monitor traveler’s locations in order to get alerted in case of unexpected delays during the journey and of the proximity of point of interest. Unfortunately, it is not possible to plug-in your own listener handler to this pub/sub. The only kind of automatic notification we can build are based on interval values of latitude/longitude which is useless (we are interested to know if the traveler is on a specific road or at walking distance of a point of interest, not if its latitude/longitude are in specific ranges).

Publication of context information. Of low relevance to MOBiNET.

Instant Mobility

Advanced Middleware

It was planned to use this GE in the scenario 1 prototype to perform big data analysis and ensure scalability of the overall system. One particular advantage is its flexibility since it does not require processing to be independent (finding an itinerary solution modify the vehicle capacity and may invalidate concurrent solutions). As the GE is not included in the first FI-WARE, the corresponding scenario 1 prototype used a similar middleware (OpenSplice Data Distribution Service).

Flexible, scalable big data analysis. Of medium relevance to MOBiNET.

Instant Mobility

Object Storage

This GE was planned to be used in the scenario 1 prototype for storage of historical data (e.g., itineraries) into the cloud for later analysis. However, difficulties in accessing the corresponding testbed instance from a mobile station hindered its actual demonstration at the FI-PPP event in Barcelona.

Long-term storage of opaque data. Of medium relevance to MOBiNET.

Instant Mobility

PaaS

This GE is a key enabler for the scenario 3 prototype. It allows Virtual Road Side Units to adapt during execution to the changing demands of resource shortages. As the GE is not included in the first FI-WARE, the corresponding prototype used a private cloud setup.

Provision of an elastic scalable runtime environment for MOBiNET server-side components. Of high relevance to MOBiNET.

D31.1 -3.1 Platform state-of-the-art review

19/09/14 Page 103 of 104

Version 1.1

Instant Mobility

Identity Management GE

This GE should be used for federated identity management and secure delegation of the user`s credentials (OAuth, REST interface). However, the best suited option (OpenIDConnect) was not supported at the time of prototype implementation. However, the basic user registration and authentication has been successfully evaluated by the scenario 1 prototype team.

Provision of federated identity managment / hosted user profile management. Of high relevance to MOBiNET.

Instant Mobility

Privacy

Particularly, the provided pseudonym certificates played an important role within the Instant Mobility privacy concept. Additionally, Instant Mobility suggested additions concerning the privacy of data resulting from location monitoring. However, this GE has not been further investigated, as it was not ready for the prototype implementation phase.

Addresses privacy issues. Of high relevance to MOBiNET.

Instant Mobility

Data Handling

This GE is a privacy-friendly attribute-based access control system, which targets mainly sensitive data. It permits to store information together with an attached privacy policy, which regulates its usage. The GE has been integrated into the scenario 1 prototype to manage the diffusion policy of the travelers/drivers pictures (shown for identification purpose during the common ride scenario).

Addresses privacy issues. Of high relevance to MOBiNET.

Android and iOS eco-systems features

Android and iOS eco-systems features

From the analysis it becomes clear that both eco-systems behave somewhat similar on the investigated features. Android gives the app developer the most flexibility in how to use the Google Play services but all investigated features are also possible to implement, to a certain extend, on iOS and the Apple App Store.

Of high relevance to MOBiNET

Spits Architecture and System Design

Consistent definition of actors, subsystems, and interface definitions Good starting point for the application architecture

Spits On board unit Specification and implementation of an Android Based on board unit, supporting both ITS G5 and 3G communication

Good starting point for the Mobiagent

Spits Roadside Unit Specification and implementation of an OSGi and ITS G5 based cooperative roadside unit

To be used in the pilots on the DITCM Testsite in Helmond

06/10/14 Page 104 of 104

Version 1.1