International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4, 2012
XXII ISPRS Congress, 25 August - 01 September 2012, Melbourne, Australia
422
temporal criteria and then receive near real-time notifications
containing the data matches the criteria. The remainder of this
section introduces works related to this paper. Then in section
2, we present the proposed system including the system
architecture and details of each component. Section 3 shows
and discusses the preliminary experimental results. Finally,
section 4 offers conclusions and future work.
1.2 Related Works
Publish/Subscrihe is a communication model decoupling
publishers and subscribers. Subscribers first register their event
of interest, and asynchronously get notifications of events
generated by publishers. Unlike the point-to-point synchronous
communication model, the asynchronous publish/subscribe
model is more suitable for large-scale distributed applications.
For example, publish/subscribe model has been widely applied
in web blogging with RSS 1 (RDF Site Summary) and Atonr
technologies. Eugster et al. (2003) wrote a well-cited summary
paper about publish/subscribe systems.
Besides the publish/subscribe system, there are other types of
applications aim on processing streaming data or events, such as
complex event processing (CEP), data stream management
system (DSMS) (similar to event stream processing (ESP)), and
simple event processing. The original designs of these
applications were different. However, as the evolving of these
applications, their functionalities become similar.
Based on their original designs, we can differentiate these
applications by the degree of query complexity they handle. In
general, publish/subscribe systems handled the simplest queries
and simple event processing added filtering functionality on the
basic publish/subscribe. While publish/subscribe and simple
event processing focused on individual events, DSMS and CEP
processed multiple data streams.
There have been many publish/subscribe systems and stream
processing systems. For example, Birman et al. (1987), Powell
(1996), Skeen (1998), TIBCO (1999), Siena (Carzaniga et al.
2001), JEDI (Cugola et al. 2001), and Hermes (Pietzuch 2004)
are the existing works on publish/subscribe system. NiagaraCQ
(Chen et al. 2000), TelegraphCQ (Madden and Franklin 2002;
Chandrasekaran et al. 2003), COUGAR (Bonnet et al. 2001),
PLACE (Mokbel et al. 2005), Tapestry (Terry et al. 1992),
Cayuga (Brenna et al. 2007), StreamBase (2011), Oracle CEP
(2009), Esper (2012), IBM System S (Gedik et al. 2008), and
Microsoft Streamlnsight (2012) are the researches related to
data stream processing system.
At the current stage, publish/subscribe systems and DSMS are
similar in terms of their high level architectures and
functionalities. They both allow users to register queries, and
allow data providers to push data to the system through an input
adaptor. Then they both have a continuous query engine to
match the new coming data with the predefined queries. Finally,
they both have an output adaptor to disseminate notifications to
users.
However, as mentioned before, one of the major reasons that
publish/subscribe system is difficult to be applied for sensor
webs is that most of current sensor web services only support 1 2
1 RSS 2.0 Specification (http://www.rssboard.org/rss-
specification)
2 Atom wiki (http://www.intertwingly.net/wiki/pie/FrontPage)
pull-based communication model. In other words, there is no
suitable sensor data source for a traditional publish/subscribe
system as they require data to be pushed from data sources.
Therefore, in order to address this issue, this paper proposes a
solution that modifies the input adaptor module in a
publish/subscribe system. Instead of only accept pushed data,
the input adaptor generates requests that pull data from data
sources, and then it pushes the new data to the next module in
the publish/subscribe system. Hence, we this proposed solution
as a hybrid pull-push system.
2. PROPOSED SOLUTION
This paper focuses on the input adaptor module in a
publish/subscribe system to retrieve sensor data from pull-based
sensor web services in a timely manner. Other modules of a
publish/subscribe system, e.g., continuous query engine, are out
of the scope of this paper.
2.1 System Architecture
The proposed input adaptor has three major components,
namely (1) query aggregator, (2) adaptive feeder, and (3) sensor
data cache. With the queries users submit, the query aggregator
first aggregates queries in order to avoid redundant requests.
Then the adaptive feeder tries to get new data with the
aggregated queries in a timely manner. Finally, the sensor data
cache is where the system keeps the sensor data according to the
query criteria. The workflow and architecture is shown in
Figure 1.
In this paper, we use OGC SOS as the sensor data source as it is
one of the most popular open standards to share sensor data
online. In addition, OGC SOS also only supports pull-based
interaction model, which matches the major issue we mentioned
earlier.
Figure 1. System architecture and workflow
In the following two subsections, we present the details of the
query aggregator and the adaptive feeder.
2.2 Query Aggregator
Before presenting the functionality of the query aggregator, we
need to discuss what a query is in the sensor web context. Since
sensors measure a specific physical phenomenon (e.g., wind
speed) at a certain geographical location and time point, each
sensor reading contains at least the following five elements,
namely, a physical phenomenon identifier, a measurement
value, a unit of measurement, a geographical location, and a