Database Reference
In-Depth Information
An MB running on the device can announce the type of data it is able to con-
tribute based on sensors attached to it and its current location. This information
is transmitted to the CPSP Engine which thus knows the locations and charac-
teristics of all available data publishers. The CPSP Engine answers to announce
messages with subscriptions matching the defined data types which become data
filters and prevent potential data overload within the CPSP Engine. This mech-
anism ensures that only relevant data is transmitted from mobile devices into
the cloud, and further on to interested mobile users and other subscribers in
near real-time.
An MB is a special processing engine running on mobile devices for filtering
of sensor data close to data sources to suppress redundant sensing and related
data transmissions to the CPSP engine. By doing so, it saves batteries of both
sensors and end-user devices. The filtering is achieved by matching of locally
generated publications with active subscriptions received from the CPSP engine
so that only matching publications are forwarded to the CPSP engine. To save
resources while performing the filtering on mobile devices, a special mechanism
is needed to maintain the minimal set of appropriate subscriptions. Such a set of
subscriptions contains only a subset of CPSP subscriptions that can potentially
match locally generated publications. A detailed description of MB design and
implementation together with evaluation of its processing performance on mobile
devices is available in [ 11 ].
CUPUS supports content-based publish/subscribe processing, i.e., stateless
Boolean subscriptions with an expressive set of operators for the most common
data types (relational and set operators, prefix and sux operators on strings,
and the SQL BETWEEN operator), and continuous top-k processing over slid-
ing windows, a novel publish/subscribe operator which identifies k best-ranked
data objects with respect to a given scoring function over a sliding window of
size w [ 9 ]. It facilitates pre-filtering of sensor data streams close to data sources,
e.g., on mobile devices, so that only data objects of interest, value and relevance
are pushed into the OpenIoT cloud. The filtering process is not guided locally
on mobile devices, but rather from the cloud based on global data requirements.
Moreover, CUPUS distributes in near real-time push-based notifications from
the cloud to largely distributed destinations, e.g., mobile devices, based on user
information needs and context.
Since the load on the CPSP Engine running within the OpenIoT cloud is gener-
ated by a varying number of publishers and subscribers with changing joint publi-
cation rate, the engine needs to offer elastic real-time computation. In other words,
it should be able to process many subscriptions in parallel while the processing
overhead per publication is minimized. This is achieved through the splitting and
merging of matcher components that compare incoming publications to the set of
subscriptions to identify subscribers with matching subscriptions.
The CPSP engine implements a flat cloud broker architecture composed of
independent matcher components running in parallel and the central coordinator
responsible for matcher management. Both the splitting and merging are trig-
gered by the idle time of a single process for the last N received and processed
Search WWH ::




Custom Search