BUTLER Localization Manager SmartServer

The Localization Manager (LM) Smart Server estimates the positions of SmartObjects in real time and provides this information to the other BUTLER components by using APIs based on RESTful HTTP. In fact, estimated positions are used by several BUTLER context-aware applications in different IoT domains, such us Smart Health, Smart Parking and Smart Transport.

  • Tags: , , , ,
  • Latest update: November 14, 2014
  • Developed by: ISMB
  • Contact name: Francesco Sottile, Federico Rizzo
  • Contact email: [email protected]
  • Download URL: The documentation is also available as a PDF here.  
  • Relations:
    • BUTLER Context Manager SmartServer (more details)
      • Relation type: Interoperability relationship
      • Validation: The Localization Manager receives raw localization data (e.g., ranging measurements) from the SmartObject Gateway and provides refined localization data to the Context Manager. The interoperability has been validated in many BUTLER proof of concepts and field trial especially in the Smart Health field trial.
      • Completeness of the relation: 100%
    • sensiNact (aka. BUTLER Smart Gateway) (more details)
      • Relation type: Interoperability relationship
      • Validation: The Localization Manager receives raw localization data (e.g., ranging measurements) from the SmartObject Gateway and provides refined localization data to the Context Manager. The interoperability has been validated in many BUTLER proof of concepts and field trial especially in the Smart Health field trial.
      • Completeness of the relation: 100%
    • BUTLER Smart Parking Trial (more details)
      • Relation type: Re-use relationship
      • Validation: The process of reserving a parking space and using it traverses a step that we call the Check-in, what happens when a user validates the usage of a parking space. In order to demonstrate the integration point of the SmartShopping Field Trial into the SmartParking one, we have included a new functionality after the Check-in step. The new feature consists in sending the spark deals of the shops surrounding the parking lot to the users that have done a valid Check-in. In this manner, we have integrated the Localization Manager SmartServer since it allows us to send the GPS coordinates of the parking spaces and the mobile apps so to be lately consumed by the Context Manager SmartServer.
      • Completeness of the relation: 100%
      • BUTLER Smart Health Trial (more details)
        • Relation type: Re-use relationship
        • Validation: Tecnalia’s OSGI framework sends the position of the participants to the Location Manager. When they are outdoor, the coordinates come from the fall detection device (latitude, longitude). When participants are indoor, the coordinates come as “x, y, z” values, and are provided through ZIGPOS Gateway. All these values are provided using the Location Manager RESTful API. During the trials, the simplicity of the RESTful API made easy the Location Manager integration. Besides, data was sent only in one direction, from Tecnalia’s OSGI framework to the Location Manager, so that there was no delay in the rest of processes that Tecnalia’s framework had to perform, especially the subsequent connection with the DDX server to re-send the obtained location data.
        • Completeness of the relation: 100%
        • SAMURAI: A Streaming Architecture for Mobile and Ubiquitous RESTful Analysis and Intelligence (more details)
          • Relation type: Interoperability relationship
          • Validation: The localization manager sends the geo-localization (x,y co-ordinates) to SAMURAI to enrich the raw positions into into semantic locations (e.g. Home, Living_Room, etc.) and semantically link locations with activities (e.g., Watching_TV with Living_Room). Although the standard approach is to access the data through the Context Manager, we have demonstrated the inter-operability between these smart servers and validated them in various BUTLER proof-of-concepts and
          • Completeness of the relation: 100%

      Intellectual property rights (IPR)

      Istituto Superiore Mario Boella (ISMB) will grant access to the Localization Manager SmartServer source code except the localization algorithms. ISMB will offer technology transfer service upon commercial agreements to firms interested in exploiting this component for their businesses.

BUTLER Localization Manager SmartServer

Introduction

The Localization Manager (LM) Smart Server estimates the positions of SmartObjects in real time and provides this information to the other BUTLER components by using APIs based on RESTful HTTP. In fact, estimated positions are used by several BUTLER context-aware applications in different IoT domains, such us Smart Health, Smart Parking and Smart Transport.

In particular, the LM receives raw localization data (e.g., ranging measurements) from the SmartObject Gateway and provides refined localization data to the Context Manager. More specifically, the LM is able to process ranging measurement by using the internal localization engine, which estimates the position of the SmartObjects. Moreover, the LM is able to take as input localization data obtained with different technologies (e.g., ZigBee, UWB, GPS, etc.) that refer to the same physical object. In this specific case the Localization Data Fusion (LDF) combines different input positions to achieve a more accurate and reliable estimation.

Architecture

The figure below shows the architecture of the LM which includes the LDF component that combines different estimated positions. As it can be observed, the Internal Location Engine module reads the latest ranging measurements from the DB, estimates the Smart Objects positions and sends the estimated positions to the LDF. The LDF combines different internal and/or external estimated positions that refer to the same physical object. Note that the association information is stored in the localization DB and used as input by the LDF.

 

 

Enabling Technologies

To improve the final accuracy and availability of the localization service, the LDF, rather than selecting the most accurate estimated positions, adopts a hybrid approach that combines the estimated positions according to the accuracy information received as input. Currently, the LDF module implements an Extended Kalman Filter (EKF) algorithm that takes as input estimated positions and accuracies obtained by different technologies, and calculates as output the refined estimated positions.

The LM Smart Server is a Java EE application. Moreover, the LM uses RESTEasy library, developed by the JBoss Community, that supports to building RESTful Web Services and RESTful Java applications according to the REST architectural pattern defined in BUTLER. The data are stored on a relational database management system implemented on a MySQL engine. In particular, the LM Smart Server database is consisted of 8 tables; most important ones are those used to store ranging data and estimated positions.

 API Specification

The full API documentation is available as a PDF here.

Service level

Istituto Superiore Mario Boella will use the developed Localization Manager in future R&D projects to further extend and apply it in various application scenarios. Localization Manager is not a commercial product; thus, professional support will be provided upon commercial agreement to firms interested in exploiting this component for their businesses.

Technology Readiness Level

5 - technology validated in relevant environment

Reuse Readiness Levels

4 - Reuse is possible; the software might be reused by most users with some effort, cost, and risk.