Data Management for Mobile Services:
Location Tracking and Geo-Content Modeling
Christian S. Jensen
2
Outline
•
Mobile services
•
Tracking
Problem setting Basic tracking◆ Point-based, vector-based, and segment-based tracking
Improvements to basic tracking
◆ Network segmentation, use of routes and acceleration profiles
•
Routes (and destinations) as context
Route acquisitioning and provisioning Data structures
Algorithmic aspects Empirical studies
3
Introduction
•
We are at a unique point in history.
Ubiquitous, or pervasive, computing1 is becoming practical.
The situation is not unlike the one that brought about companies
such as Apple Computers and Microsoft, although many more technologies are converging.
Hardware technologies advance rapidly and are important drivers.
•
This is being termed the third wave in computing.
•
An infrastructure is emerging where objects we really care
about are geo-positioned and on-line.
•
Mobile services that exploit this infrastructure are part of
the picture.
____
4
Enabling Foundation (1)
•
Continued miniaturization of electronics technologies.
Leading to invisible, unobtrusive, highly portable electronics.
•
Continued advances in positioning technologies.
GPS offers tennis court size precision.
Server-assisted GPS is even more accurate.
Other technologies exploit existing wireless communication
infrastructures.
Network-assisted GPS reduces power consumption.
The E911 mandate and similar Asian and European political
initiatives also drive the development.
The Galileo system is underway.
Leads to low-cost, accurate positioning.
5
Enabling Foundation (2)
•
Continued advances in wireless communications.
Perhaps most prominently, the bandwidth is increasing.
•
Continued advances in human-machine interfaces.
•
Improved performance of general computing hardware.
Faster processors and higher-capacity main memories and disks. More energy-efficient.
•
General improvement in the performance/price ratio.
The technologies become increasingly affordable. Promises widespread use.
6
The Bicycle Analogy
•
How fast would a bicyclist be able to drive if Moore
’
s Law
applied to bicycles?
30 years of doubling every 18 months 30 km/h originally
31,457,280 km/h now
With this speed, Tour de France can be completed in a fraction of
a second.
•
Three lessons
Humans don’t really improve.
The sustained growth rates in computing technologies are, in fact,
dramatic and difficult to imagine.
7
Service Types (1)
•
Traffic and traffic-management related services
Emergency vehicle dispatching
Spatial pay per use, i.e., metered services: car taxes, fees
Road pricing generalized: payment based on where, when, and
how much one drives
Example: UAE project
•
Points of interest services, push services
Finding the most convenient gas station
Safety-related services: warnings about accidents, slow-moving
8
Service Types (2)
•
“Safety”-related services
Location services for senile senior citizens in Japan
Monitoring of tourists traveling in dangerous environments,
reacting to emergencies
Prisoners serving time at home Monitoring of traffic offenders Tracking of hazardous cargo
•
Games and ”-tainment” (edu-, info-, enter-)
Treasure hunting Catch the monster Paintball
Escape the monster Tell me about that!
By capturing pertinent aspects of reality
in the computer – in semantically rich
and appropriately organized structures
and with powerful update and retrieval
techniques available – an ideal
foundation for delivering a wide range of
services is obtained.
Tracking and geo-context awareness are
fundamental and will be used in many
10
Problem Setting
Objective: To reduce cost of communication between
client and server and server-side update, client-side costs
Aim: To track moving objects with accuracy guarantees
11 Client Server compare with GPS send update receive settings store settings [new connection] store update data [finish] get GPS
[within threshold th] [out of threshold th]
[continue] update DB find road [segment based tracking] receive update predict position [old connection]
Tracking Approach
send new prediction [not segment based tracking]18
•
Oracle-based implementation
Ideal for testing implementations of the algorithmic aspects of the
techniques.
Well suited for experiments with pre-recorded data where the
numbers of updates needed by the different techniques are studied.
•
Real implementation
Involves a central server, mobile terminals, GPS receivers More complex than the centralized implementation
Offers the ultimate poof of concept
Offers insight into the specifics, exposing possibilities and
limitations, e.g., network delays
Enables more detailed cost modeling, e.g., of data transmission
cost and server and client side loads
19
Mobile Phone Implementation
•
Client
Nokia 7650 (3650) Bluetooth GPS receiver Symbian 60 SVG viewer•
Server
Tomcat Servlets Oracle Maps from the Danish
Survey and Cadastre (web service)
Road network from the
20
Experimental GPS and Network Data
•
GPS Data – The INFATI Data is used for evaluation
GPS receivers and computers installed in cars
GPS coordinates are registered every second for ~6 weeks The data used has ~100,000 records per car and ~458,000 in
total
•
Digital Road Network
Each segment corresponds to the road in-between two crossroads The geometry of a segments is represented as a polyline
21
Map Matching and Inaccuracies
•
Map matching is used in segment based tracking
•
Non-trivial due to GPS and digital road network inaccuracies
Green dots: GPS
coordinates
Red dots: map matched
GPS coordinates
22
Comparison of Tracking Techniques
0 15 30 45 60 75 90 105 40 70 120 200 250 320 500 1000 Threshold (m) A ve ra ge T im e D u ra ti on B et w ee n C on se cu ti ve U p d at es (s ec ) Vector Policy
Segment Based Policy Point Policy
23
Segment-Based Method – Details
0,00 2,00 4,00 6,00 8,00 10,00 40 70 120 200 250 320 500 1000 Threshold (m ) U p d at es % o f 45 82 27
Segment Based Policy
Updates Caused by the End of Segments
Updates Caused by Speed Sw itches to the Vector Policy
24
Network Segmentation
•
Goal: Create longer segments, yielding fewer segment
changes.
•
StreetID based modification
Connect segments with the same StreetID
Try create segments that are as long as possible. Segments then tend to correspond to named streets.
•
Tails based modification
Distinguishes between main streets and side streets, termed tails Defines a tail level for each segment and gives preference to
segments with high tail level, thus avoiding dead-ends
•
Direction based modification
Assumes that most vehicles tend to go as direct as possible
Results:
Reduction in segments:
15,000 to 5,800
Average segment
length increase:
174m to 450m
StreetID segmentation
StreetID segmentation
Tails based segmentation
Direction based segmentation
26
Results – Using Network Segmentation (1)
27
28
Use of Routes
•
Users follow routes to reach their destinations.
•
If we know the current route of a user, we can avoid
segment changes altogether.
•
As routes are (long segments), segment-based tracking
works.
•
Routes may be obtained via a navigation system or a
route acquisitioning and provisioning component (next!).
29
The figure displays part
of a user
’
s route from
home to work.
Distances are indicated
for some points.
31
Use of Acceleration Profiles
•
Repeated route traversals exhibit a clear speed pattern.
•
An acceleration profile is created for each route
Distance intervals with positive and negative acceleration are
found using average speeds.
32
33
34
Use of Acceleration Profiles
Example tracking of one car using a 70 m threshold.
70 0 -70
35
36
Outline
•
Mobile services
•
Tracking
Problem setting Basic tracking◆ Point-based, vector-based, and segment-based tracking
Improvements to basic tracking
◆ Network segmentation, use of routes and acceleration profiles
•
Routes (and destinations) as context
Route acquisitioning and provisioning Data structures
Algorithmic aspects Empirical studies
37
System Functionality Overview
•
Route Acquisitioning
INPUT:
◆ User IDs
◆ Streams of GPS readings (position, time)
OUTPUT:
◆ Routes with associated usage metadata – temporal use patterns.
•
Route Provisioning
INPUT: ◆ User ID ◆ Location ◆ Time OUTPUT:38
• Base points describe roads.
• Polylines of base points
approximate road geometry.
• Real distance values are given for base points.
• Connections describe crossroads.
Road Network Data Model
b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 0 4 7 13 18
39
• Destination areas are circular regions. • A subpolyline is a part of a polyline. • A route element is a “directed” subpolyline. • A route is a sequence of route elements that make up an uninterrupted polyline.
Route Data Model
uo1 uo2 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11
40
Route Finding
•
Task: obtain
route elements
from
GPS
points.
Each GPS point is a pair of (x,y) coordinates. INPUT:
A route element is a subpolyline with a movement direction.
OUTPUT:
•
Aspects of route detection
Polyline identification
◆ Which polyline is an object moving on?
Subpolyline construction
◆ How do we ensure that a route is an uninterrupted polyline?
Finding the start of a route
41
Polyline Identification
• First-point method
The method is used when
there are no correctly mapped previous points at all, or for some time, in the GPS stream. The method returns all
polylines in the imprecision area.
• Method using relationships among polylines
The method is used when there are correctly mapped previous points.
The method returns an
undefined polyline if there is an information gap or there are several candidate polylines.
{(pl1,l1),(pl2,l2)} ← polyCand(g1) {(pl2,l3)} ← polyCand(g2) g1 g2 pl1 pl2 l1 l2 l3 (pl3,l3) ← polyId(g1) … ∞ ← polyId(g4) g3 g4 g2 g1 pl2 pl3 pl1 l3
42
Subpolyline Construction
•
Cases for two neighboring
points
The GPS points are on the same
polyline.
◆ Two subpolylines on the same
polyline, but with different directions.
The GPS points are on different,
intersecting polylines.
◆ Approximations of the end/start
of the subpolylines are made.
The GPS points are on different,
non-intersecting polylines.
◆ Gap filling is done.
pl2 pl1 pl3 pl2 pl1 pl1 pl2
43
Finding the Start of a Route
•
The first GPS point(s) can in most cases not be map
matched (guaranteed) correctly.
•
Start of route construction
Analyze the GPS points one by one.
Use the “first-point” method to collect all candidate polylines for
each GPS point.
Stop when a GPS point is found with one candidate polyline.
Backtrack through the unmapped positions, mapping them to the
44
Empirical Study
•
Real data from the INFATI project
Road network: Aalborg area (14,706 polylines, 8,024 connections,
32,308 polyline segments)
GPS logs from drivers (22 drivers, 6 weeks)
•
Implementation
Oracle PL/SQL; Oracle Spatial: spatial objects, linear referencing Java, JDBC
•
When theory meets practice…
Complicated ends of routes, e.g., in parking areas Rotaries and intersections
Gaps in the digital road network and the GPS streams
45
Testing by Visual Inspection
•
Visual inspection was
done using SVG
(
Scalable Vector Graphics)
Road network (black) GPS stream (blue) Mapped route (red)
46
• The driver searches for a parking space.
• This results in many subpolylines on the same polyline at the end of the route.
47
Handling of Ends of Routes
• Situation
The last subpolylines are on on the same polyline.
Subpolylines are inside the destination area.
• Solution
Subpolylines are approximated to one subpolyline
(End, x1) and (x1, x2) → (x2, End)
(x2, End) and (x3, x2) → (x3, End)
(x3, End) and (x3, x4) → (End, x4)
… → …. … → (Start, End) Start End x1 x2 x3 x4 x5 x6 x7
48
Problem Illustration—Rotaries
• Situation
Map: a (standard) crossroads Real world: a rotary
• Result
The same “route,” but recorded differently
Two logs
49
Problem Illustration—Gaps
•
Information gaps can occur
In GPS log streams
In the digital road network
•
Gaps can be filled using the
shortest path between two
mapped positions
Checking correctness using
conditions
◆ Interrupted routes in case of a
gap in DB
•
Solution
Attempt to use a shortest path
algorithm
Gap in the map
50
Summary (1)
•
Fundamental and improved tracking techniques for moving
objects that offer accuracy guarantees were presented.
•
The techniques were implemented in a centralized test
environment and in a real setting.
•
The workings of the techniques were explored using real
GPS and road-network data.
Essential in guiding the design process
•
Improved route-based techniques offer substantial
reductions in update rates.
•
Current positioning technology, mobile terminals, and
wireless services are adequate for supporting tracking.
51
Summary (2)
•
A software component for the acquisitioning and
provisioning of routes was presented.
•
The functionality, data structures, some algorithmic
aspects, and empirical studies were discussed.
•
Important for mobile services!
Many services rely fundamentally on location awareness.
Location context (position, destination, route) is also important for
filtering in push services.
◆ Can be provided without user interaction.
52
Acknowledgments
•
The M-Track Project, funded by the Electronics and
Telecommunications Research Institute of Korea.
Pusan National University (Ki-Joune Li, Si-Wan Kim, Kyoung-Sook
Kim, Deuk-Chun Han)
Chungbuk National University (Keun Ho Ryu, Eung-Jae Lee)
Aalborg University (Simonas Saltenis, Linas Bukauskas, Alminas
Civilis, Stardas Pakalnis)
•
The ContextIT project
Thank you for your attention.
54
Next Steps
•
Use of so-called MVEDRs – moving vehicle event data
recorders – offers new opportunities for the modeling of
vehicle movement.
•
In the US, an estimate 40 million vehicles already use
some type of event-recording equipment that collects
acceleration and deceleration data as well as braking and
steering data.
•
IEEE Standard 1616 – standard for vehicular black boxes
Completed September 2004
Captures, e.g., speed, change in velocity, number of occupants,
55
Readings
• C. S. Jensen, H. Lahrmann, S. Pakalnis, and J. Runge: The INFATI Data, TimeCenter TR-79, July 2004. (Also appears as CoRR
cs.DB/0410001.)
• Alminas Civilis, Christian S. Jensen, Jovita Nenortaite, Stardas Pakalnis: Efficient Tracking of Moving Objects with Precision
Guarantees. MobiQuitous 2004: 164-173.
• Alminas Civilis, Christian S. Jensen, Stardas Pakalnis: Techniques for
Efficient Tracking of Road-Network-Based Moving Objects. IEEE
Trans. Knowl. Data Eng. 17(5): 698-712 (2005).
• Alminas Civilis, C. S. Jensen, and S. Pakalnis: Techniques for
Efficient Tracking of Road-Network Based Moving Objects, DBTR-10,
March 2005.
• Agne Brilingaite, Christian S. Jensen, Nora Zokaite: Enabling routes
as Context in Mobile Services. ACMGIS 2004: 127-136.
• http://www.cs.aau.dk/DBTR/
• http://www.cs.aau.dk/TimeCenter/
• http://www.cs.aau.dk/TRAX/