The Fault recovery component ensures the continuous and proper operation of the CityPulse enabled application by generating estimated values for the data stream when the quality drops or it has temporally missing observations.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
FaultRecovery.py
LICENSE
README.md
fault_recovery_figure.png

README.md

Fault Recovery component

The Fault recovery component ensures the continuous and proper operation of the CityPulse enabled application by generating estimated values for the data stream when the quality drops or it has temporally missing observations. When the quality of the data stream is low for a longer time period, an alternative data source has to be selected. The selection can be performed automatically by the Technical adaptation component. In other words, the technical adaptation process does not have to be triggered if the QoI of a stream is low only for a short period of time because the Fault recovery component provides estimated values.

The Fault recovery component is integrated into the data wrapper. The fault recovery mechanism is triggered to generate an estimated value when the atomic monitoring component has determined that the current observation is invalid or missing.

The building blocks of the Fault recovery component are presented in the image below. The component has a buffer which temporary stores the latest observations generated by the data stream, and a reference dataset which contains sequences of valid consecutive observations from the data stream. When an estimated value is requested, the k-nearest neighbour algorithm is used to select a few sequences of observations from the references dataset, which are similar to the current situation. At the end the estimated value is computed from the selected sequences of observations.

alt text

During the normal operation, when the QoI of the stream is high, the fault recovery component extends the reference data set with the sequences of observations from the buffer if a similar signal pattern was not included before.

Initially, when the Data wrapper is deployed, the reference data set is empty and based on the normal operation (from stream quality point of view) it is extended. As a result of that, the work of the 3rd party application developer is reduced, because he does not have to collect historic data from the stream, to clean and to validate it in order to create the reference dataset. Using the API exposed by the resource management, the 3rd party application developer can turn on and off this component based on the CityPulse enabled application requirements.

Contributers

The Fault Recovery component was developed as part of the EU project CityPulse. The consortium member SIEMENS Corporate Technology Romania provided the main contributions for this component.

CityPulse: http://www.ict-citypulse.eu/

SIEMENS Corporate Technology Romania: http://www.siemens.ro

Installation

The installation instructions can be found in the Repository of the ResourceManagement: https://github.com/CityPulse/CP_Resourcemanagement

Authors

  • Lucian Sasu
  • Dan Puiu