<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">A Typology of Real-Time Parallel Geoprocessing for the Sensor Web Era</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Aengus</forename><surname>Mccullough</surname></persName>
							<email>aengus.mccullough@ncl.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">School of Civil Engineering &amp; Geosciences</orgName>
								<orgName type="institution">Newcastle University</orgName>
								<address>
									<addrLine>Newcastle-upon</addrLine>
									<postCode>NE1 7RU</postCode>
									<settlement>-Tyne</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Stuart</forename><surname>Barr</surname></persName>
							<email>s.l.barr@ncl.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">School of Civil Engineering &amp; Geosciences</orgName>
								<orgName type="institution">Newcastle University</orgName>
								<address>
									<addrLine>Newcastle-upon</addrLine>
									<postCode>NE1 7RU</postCode>
									<settlement>-Tyne</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Philip</forename><surname>James</surname></persName>
							<email>philip.james@ncl.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">School of Civil Engineering &amp; Geosciences</orgName>
								<orgName type="institution">Newcastle University</orgName>
								<address>
									<addrLine>Newcastle-upon</addrLine>
									<postCode>NE1 7RU</postCode>
									<settlement>-Tyne</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">A Typology of Real-Time Parallel Geoprocessing for the Sensor Web Era</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">39DD324B7D98F0A197CC612526665E43</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T14:16+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>sensor web</term>
					<term>parallel geoprocessing</term>
					<term>grid computing</term>
					<term>typology</term>
				</keywords>
			</textClass>
			<abstract/>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Introduction</head><p>The rise of digital sensors and the Sensor Web is expected to have wide reaching implications for the monitoring of the physical and human world <ref type="bibr" target="#b0">[1]</ref> and has already resulted in an explosion in the volume and availability of spatially referenced data pertaining to our surroundings. While this deluge of easily accessible near real-time data brings numerous opportunities, it also presents a significant challenge in terms of geoprocessing. Existing geoprocessing systems must be adapted to meet the requirements of this new era of spatial data infrastructure.</p><p>Although real-time geoprocessing systems have existed for some time in fields such as environmental monitoring, they have usually been part of a stove-piped system in which the geoprocessing component was specifically engineered for the given application <ref type="bibr" target="#b1">[2]</ref>. In today's world of service orientation, geoprocessing components are often developed as services that can be swapped in and out of systems with ease. Web service standards defined by the Open Geospatial Consortium (OGC) have become widely adopted. The OGC Web Processing Service (WPS) defines a uniform interface to encapsulate heterogeneous geoprocessing functionality <ref type="bibr" target="#b2">[3]</ref>; by chaining OGC data and processing services geoprocessing workflows can be rapidly composed. As a result, we have come to expect generic geoprocessing services to be available that meet our requirements.</p><p>However, the requirements of real-time monitoring and prediction scenarios differ significantly from offline geoprocessing in terms of usage patterns, computational characteristics and data processing methodologies. Real-time systems must often process continuous jobs of an unknown size or duration <ref type="bibr" target="#b3">[4]</ref>. They may be required to work to a hard real-time deadline, or to keep pace with the rate of data arrival <ref type="bibr" target="#b4">[5]</ref>. Additionally, they must be capable of operating on data streams as well as static datasets, and in some cases to perform complex event or pattern detection <ref type="bibr" target="#b5">[6]</ref>. Furthermore, data acquired from sensors is often unreliable so geoprocessing systems need to be robust to corrupt and missing observations <ref type="bibr" target="#b6">[7]</ref>. For these reasons generic geoprocessing services designed for offline analysis are often unsuited to operating on near real-time sensor data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Geoprocessing in Real-Time</head><p>To assist in the definition of a typology of real-time geoprocessing it is helpful to consider the various attempts that have been made to represent the dynamic nature of real world phenomena within GIS. Worboys and Duckham <ref type="bibr" target="#b7">[8]</ref> outline the following four stages in this progression:</p><p>1. Static A single static view of the world.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Snapshot</head><p>Dynamic phenomena are represented as a collection of time-stamped states.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Object lifeline</head><p>The lifecycle of objects including creation and destruction are recognised.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Events, actions and processes</head><p>Continuous and instantaneous phenomena can be modelled.</p><p>Towards the events, actions and processes end of this spectrum the complexities inherent in modelling the real-world in time and space become apparent. Whereas events occur at a fixed instant in time, processes occur over a time interval. This disparity between instantaneous and interval representations of spatial phenomena is formalised by Grenon and Smith <ref type="bibr" target="#b8">[9]</ref> with their SNAP and SPAN ontology. In terms of geoprocessing systems, 'real-time' implies we are dealing with temporal representations at the snapshot level or above. As such, real-time geoprocessing covers a range of temporal scenarios. In the typology defined here we have simplified real-time geoprocessing into two categories: snapshot and stream geoprocessing.</p><p>At the simplest level an operation may involve the processing of a fixed snapshot of recently collected spatial data. Snapshot geoprocessing is comparable to static geoprocessing in that input and output data are discrete and the operation has a finite lifetime. However, snapshot geoprocessing operations may form part of a realtime monitoring or prediction system, and may thus be required to produce results within a fixed time-frame. Furthermore, the snapshot paradigm is concerned with processing data acquired from a potentially unreliable sensor source rather than a consistent input dataset.</p><p>The processing of a series of observations representing a time interval requires a radically different approach to static or snapshot geoprocessing and draws on techniques from the field of Data Stream Processing (DSP). In DSP terms a data stream is a potentially unbounded sequence of tuple timestamp pairs. DSP systems can be considered an alternative to database technology for coping with streams of data as opposed to persistent datasets <ref type="bibr">[10]</ref>. In reality, data streams are comprised of a series of discrete observations although they are finely spaced enough to interpolate between values.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Distributed Computing for Real-Time Geoprocessing</head><p>Both snapshot and stream based geoprocessing can be performed in parallel on distributed systems such as grid and cloud computing in order to improve performance and scalability. Processing stream data in parallel is relatively straightforward; either one sensor stream can be assigned to each processor, or pipeline parallelism can be exploited as the data is already divided into an ordered sequence. Alternatively, for stream based processing operations that carry a high time complexity, data stream partitioning can be used to divide the workload amongst several processors. Furthermore, the small but relentless torrent of data associated with the stream paradigm is easily managed in a distributed network environment whereas larger data files are more cumbersome to work with as they require longer transfer times and can often not be read until the transfer is complete.</p><p>The appropriate parallelisation technique for processing snapshot data is dependant on the granularity of the geoprocessing operation. Granularity refers to the level of synchronisation required between sub-tasks that are executed in parallel <ref type="bibr" target="#b9">[11]</ref>. At one end of the scale are tasks referred to as coarse-grained which require virtually no synchronisation. The task is simply split into sub-tasks which are processed independently; once complete the results from each sub-task are merged together. Coarse-grained tasks are well suited to grid and cloud computing as they can easily be processed using a standard cluster of commodity processors <ref type="bibr" target="#b10">[12]</ref>. At the other end of the scale are fine-grained tasks that require significant communication between subtasks. Because of the high degree of communication required it is recommended to perform fine-grained tasks in close proximity to the data <ref type="bibr" target="#b11">[13]</ref>. Two approaches are commonly taken; processing can either be performed at the database, or a dedicated High Performance Computing cluster with high bandwidth low-latency interconnections can be used as they are specifically designed to reduce latency in communication between sub-tasks.</p><p>Because coarse and fine grained snapshot geoprocessing operations are each suited to such different distributed computing architectures we have disaggregated the snapshot geoprocessing category in our typology into two subcategories: coarsegrained snapshot and fine-grained snapshot. The characteristics of each real-time geoprocessing category in our typology are displayed in Table <ref type="table" target="#tab_0">1</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">System Implementations</head><p>We have implemented end to end web service based systems representative of each of the categories outlined in Table <ref type="table" target="#tab_0">1</ref> using application scenarios from the fields of road traffic monitoring and satellite-sensed image processing. To exemplify a stream geoprocessing system we developed a near real-time map-matching system that determines the road segment a vehicle is travelling on from its GPS derived position and orientation. The system uses a 52 North WPS configured to submit processing jobs to the UK National Grid Service (NGS) infrastructure through an Open Grid Services Architecture compliant endpoint. Map-matching is initiated for each vehicle by sending an Execute request to the WPS which invokes the algorithm on an NGS compute node where it runs continuously. The algorithm retrieves live vehicle position and orientation information from a Sensor Observation Service (SOS) and performs matching using road network features obtained from a Web Feature Service. Another stream geoprocessing system was developed to determine traveltime estimates for road segments throughout a city. This system uses the results produced by the map-matching system, i.e. time-stamped lists of road segment identifiers representing vehicle routes, to update a road network database containing road segment traversal times. Map-matching results were forwarded from an SOS to a Sensor Event Service (SES) which detected each vehicle movement from one road segment to the next, and sent a notification to the database to update the travel-time weighting of the traversed road segment accordingly.</p><p>To exemplify fine-grained snapshot geoprocessing we developed a least cost path routing system that uses a road network database containing regularly updated live travel-time information, to determine the fastest route between any two given points in a city's road network. As the shortest path algorithm is fine-grained and not easily sub divisible for parallel processing it was opted to perform this geoprocessing operation close to the data source. Consequently this operation was performed at the database to eliminate the need for costly network data transfers.</p><p>We also developed a coarse-grained snapshot geoprocessing system that used Hadoop MapReduce to perform a convolution filter based image processing algorithm on the Amazon Cloud. This geoprocessing operation was found to be easily subdivisible and thus highly suited to grid and cloud processing architectures. The satellite image was subdivided into a set of kernel windows, each of which was sent to a different node to be processed during the map stage. In the reduce stage the outputs from the map stage were merged together to form the resulting output image.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Discussion and Conclusion</head><p>The implemented systems enabled us to identify some potential improvements to existing OGC specifications with regards to real-time geoprocessing. Firstly, we concluded that the WPS interface requires modification to run stream geoprocessing tasks because in its current state it is assumed that each processing task has a finite lifetime. In order to facilitate the management of continuous compute jobs we modified the WPS interface by adding a StopExecuting operation. Secondly, we suggest that the SOS and SES be integrated into a unified interface. We found that latency was introduced by polling the SOS and forwarding observations to the SES. Integration would enable real-time observations to be subjected to push-based filtering and archived for pull-based retrieval simultaneously. Thirdly, we found that standard web service tools were unable to parse OGC schema, suggesting that well documented OGC schema compatibility issues <ref type="bibr" target="#b12">[14]</ref> have yet to be resolved. We found the typology defined here of practical value in the design and implementation of our systems. Our implementations reinforced the validity of our typology, although the stream processing category was found to be over simplistic and we therefore recommend a further subdivision of this category into atomic transformations, stream dependent transformations and event correlation. It is our belief that this taxonomy will be of use in the future development of toolkits to facilitate real-time geoprocessing.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc>Characteristics of Real-Time Geoprocessing Types</figDesc><table><row><cell>Characteristic</cell><cell>Stream</cell><cell>Coarse-grained</cell><cell>Fine-grained Snapshot</cell></row><row><cell></cell><cell></cell><cell>Snapshot</cell><cell></cell></row><row><cell>Regularity of</cell><cell>regular</cell><cell>regular or irregular</cell><cell>regular or irregular</cell></row><row><cell>invocation</cell><cell></cell><cell></cell><cell></cell></row><row><cell>Trigger</cell><cell>time</cell><cell>time or event</cell><cell>time or event</cell></row><row><cell>Temporal</cell><cell>interval</cell><cell>instant</cell><cell>instant</cell></row><row><cell>Representation</cell><cell></cell><cell></cell><cell></cell></row><row><cell>Granularity</cell><cell>coarse or fine</cell><cell>coarse</cell><cell>fine</cell></row></table></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">21 Ideas for the 21st Century</title>
		<author>
			<persName><forename type="first">N</forename><surname>Gross</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Business Week Online</title>
		<imprint>
			<biblScope unit="volume">30</biblScope>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Live Geography -Interoperable Geo-Sensor Webs Facilitating the Vision of Digital Earth</title>
		<author>
			<persName><forename type="first">B</forename><surname>Resch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Blaschke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mittlboeck</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal on Advances in Networks and Services</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="323" to="332" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">P</forename><surname>Schut</surname></persName>
		</author>
		<title level="m">OpenGIS Web Processing Service version 1.0.0. OpenGIS Standard OGC 05-007r7</title>
				<imprint>
			<publisher>Open Geospatial Consortium</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Query Processing for Streaming Sensor Data</title>
		<author>
			<persName><forename type="first">S</forename><surname>Madden</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<pubPlace>California, USA</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Computer Science Division, University of Berkeley</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD Qualifying Exam Proposal</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Issues in data stream management</title>
		<author>
			<persName><forename type="first">L</forename><surname>Golab</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T</forename><surname>Ozsu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="page" from="5" to="14" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Real-time Geo-awareness -Sensor Data Integration for Environmental Monitoring in the City</title>
		<author>
			<persName><forename type="first">B</forename><surname>Resch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mittlbock</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Girardin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Britter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Ratti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Advanced Geographic Information Systems and Web Services</title>
				<meeting><address><addrLine>Cancun, Mexico</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Data Management in the Worldwide Sensor Web</title>
		<author>
			<persName><forename type="first">M</forename><surname>Balazinska</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Deshpande</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Franklin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">B</forename><surname>Gibbons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Nath</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hansen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Liebhold</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Szalay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Tao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Pervasive Computing</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="30" to="40" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">GIS: A Computing Perspective</title>
		<author>
			<persName><forename type="first">M</forename><surname>Worboys</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Duckham</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>CRC Press</publisher>
			<pubPlace>Boco Raton</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">SNAP and SPAN: Towards Dynamic Spatial Ontology</title>
		<author>
			<persName><forename type="first">P</forename><surname>Grenon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Smith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Babu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Widom</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Spatial Cognition and Computation</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="109" to="120" />
			<date type="published" when="2001">2004. 2001</date>
		</imprint>
	</monogr>
	<note>ACM SIGMOD Record</note>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Grid Computing: A Practical Guide to Technology and Applications</title>
		<author>
			<persName><forename type="first">A</forename><surname>Abbas</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>Charles River Media</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering</title>
		<author>
			<persName><forename type="first">I</forename><surname>Foster</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
			<publisher>Addison Wesley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Moving Code in Spatial Data Infrastructures -Web Service Based Deployment of Geoprocessing Algorithms</title>
		<author>
			<persName><forename type="first">M</forename><surname>Müller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bernard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Brauner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Transactions in GIS</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="101" to="118" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><surname>Sonnet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Savage</surname></persName>
		</author>
		<title level="m">OWS 1.2 SOAP Experiment Report OGC03-014</title>
				<imprint>
			<publisher>Open Geospatial Consortium Inc</publisher>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
