1
Mobility Data Management and
Exploration: Theory and Practice
Chapter 7 – Location- and mobility-aware applications
Nikos Pelekis & Yannis Theodoridis
InfoLab, University of Piraeus, Greece infolab.cs.unipi.gr
2
A guided tour on Mobility Data Mgmt
I. Mobility data storage and querying
Acquiring trajectories from raw data; Location-aware querying; Efficient trajectory indexing and storage in MODs
II. Mobility-aware applications and tools
Location-based services and tools; Algorithms and operations for LBS
III. Mobility data analysis and mining
Trajectory warehousing and OLAP; Mobility data mining and reasoning; Visual analytics for mobility data
IV. Privacy aspects
Preserving user traces’ anonymity
V. Outlook
Open issues – Future Challenges
2
3
Mobility-aware applications
From location-based services
to mobile social networking
4
Introduction
� Large diffusion of mobile devices, mobile services and location-
based services
3
5
Introduction (cont.)
� Definitions:
� (Swedberg, 1999) Mobile Location System (MLS) is a location system,
including applications, that
� determines the geographic position of mobile subscribers and
� provides them with relevant information and services
� (source: Wikipedia) A Location-Based Service (or LBS) in a cellular
telephone network is a service provided to the subscriber based on
her current geographic location
6
Introduction (cont.)
� Definitions:
� (Swedberg, 1999) Mobile Location System (MLS) is a location system,
including applications, that
� determines the geographic position of mobile subscribers and
� provides them with relevant information and services
� Geo-positioning technologies
� Satellite vs. mobile telephone network infrastructure (see Lecture1)
� Geo-related information & services (LBS); a great variety
� from Routing and Find-the-nearest …
� … to Google Latitude and Facebook Places (see slides that follow)
4
7
Location-based Services & Tools
� Navigation (vehicle or pedestrian) & Information services
� Routing, finding the nearest point-of-interest (POI)
� Location-based yellow pages (“what-is-around”, …)
� Resource management & Tracing services
� (taxi, truck, etc.) fleet management, administration of container
goods, location-based charging
� Tracing of a stolen car, locating persons in an emergency situation, …
� Social networking apps
� Google Latitude, Facebook places, Foursquare, etc.
8
Location-based Services & Tools (cont.)
� On-board navigation
� Example: Dash express (source: www.dash.net)
� Internet-connected automotive navigation system
� Up-to-minute information about traffic
� Yahoo! Local search for finding POIs
5
9
Location-based Services & Tools (cont.)
� Find-the-Nearest
� finds the nearest point of interest (POI) - restaurant, gas station, etc.
suggests the optimal way to move there (Router)
� ‘optimal’ in terms of minimum distance (driving mode)
or minimum time (walking mode)
� E-911 (US), E-112 (EU), E-119 (Japan) emergency
call numbers
� mandates require locating the caller within
a few meters (150 feet, by FCC regulation)
� (in US) E-911 call centers receive 15,000 calls from cellular phones per
day
10
Location-based Services & Tools (cont.)
� “Find my iPhone” (launched Jun.09 by Apple)
� Where is my iPhone?
source: apple.com
6
11
Location-based Services & Tools (cont.)
� “Volvo connectivity” (launched Jun.11 by Volvo car manufacturer)
� Where is my Volvo?
� Mobile app with a wide-cut area of trait, such as:
� Vehicle locater. The lodging of the
vehicle is shown on a map.
� …
12
Location-based Services & Tools (cont.)
�
See in real time where your friends
are! (launched Feb.09 by Google)
7
13
Location-based Services & Tools (cont.)
� Google places: Rate and share
places on Google
� Google places for business:
� (business perspective) Get your
business found on Google
� (end user’s perspective) rate
products, search for similar, compare
prices, etc.
14
Location-based Services & Tools (cont.)
� Tag yourselves and find
tagged friends
� Tell your friends where you are,
suggest places, etc.
8
15
Location-based Services & Tools (cont.)
� As well as adventure apps, just for
fitness and fun ☺
� Zombie, Run! for Android (by
www.zrli.org)
� The Zombie, Run! Zombie Finder is a
survival tool for people living in a
zombie-infested area. Zombie, Run!
displays the location of nearby zombies,
helping you safely navigate your urban
or rural area.
16
Back to technical stuff: LBS taxonomy
� According to (Gratsias et al. 2005; Frentzos et al. 2007)
Reference
object
(user)
Database
objects
stationary mobile
stationary
⇒ what-is-around
⇒ routing
⇒ find-the-nearest
⇒ guide-me
mobile ⇒ find-me ⇒ get-together
Almost every current commercial app is classified as stationary-stationary !!
9
17
Routing
� (“Get Directions” in Google maps)
� Find the optimal route from a departure to a destination point
� Goal to be optimized: the minimal network distance traveled or the
minimal traveled time or …
� The best path wrt. distance is not necessarily the best wrt. time!
� Relates to the well-known
shortest path (SP) problem from
graph theory and network analysis
� Several off-the-shelf solutions, e.g.
Dijkstra’s single-start SP algorithm
Live example:
Get from Athens (GR) to Aalborg (DK) http://g.co/maps/w9cmh
18
Routing (cont.)
� Relates to the well-known shortest path (SP) problem from graph
theory and network analysis
� Several off-the-shelf solutions, e.g. Dijkstra’s single-start SP algorithm
� Example of Dijkstra’s SP:
“find the SP from A to D”
10
19
Routing (cont.)
20
What-is-around
� (“Search nearby” in Google maps)
� Retrieve and display all POI located in the surrounding area
(according to user’s location or an arbitrary point)
� Area could by rectangular or circular or of any other shape
� Example: “Provide me all the gas-stations and ATMs within a distance
of 1km”
� It isn’t more complex than a typical range query!
� Recall the slides about range query processing using R-trees!
Live example:
Search for hotels around Acropolis, Athens (GR) http://g.co/maps/fbg3m
11
21
What-is-around
22
Find-the-nearest
� (not supported by Google maps!)
� Retrieve and display the nearest POI (restaurants, museums, etc.)
with respect to a reference location
� Example: “find the two restaurants that are closest to my current
location” or “find the nearest café to the railway station”
� Issue: distances are computed wrt. the network rather than the free
space (Euclidean distance)
� State-of-the-art algorithm (at the spatial database domain):
� “Euclidean Restriction” (Papadias et al. 2003)
Live example: find the 1-nearest hotel to Acropolis, Athens (GR)
12
23
Find-the-nearest
Closest wrt. Euclidean distance Closest wrt. network distance
24
Find-the-nearest (cont.)
� Euclidean Restriction
� 1st step: Find object P1 which is nearest to Q wrt Euclidean distance
� 2nd step: D1 is the network distance between P1 and Q
13
25
Find-the-nearest (cont.)
� Euclidean restriction
� 3rd step: Retrieve all points (Pi) with Euclidean Distance from Q less than D1
� 4th step: Among all Pi, find the one with the minimum network distance from
Q
26
Advanced LBS
� Examples
� Constrained routing (advanced wrt. geometry / complexity)
� alternative names: in-route find-the-nearest (Frentzos et al. 2007),
trip-planning-query (Li et al. 2005)
� “Get-together” or “Find-me” (motion is involved)
� See also Google Latitude, Zombie, Run!, …
14
27
Constrained routing
� Find the optimal route from a departure to a destination point …
� … with the extra constraint to pass through one among a specified set
of candidate points
� Example: “provide me the best route office to home constrained to
pass from a bank ATM ”
28
Constrained routing
� Any idea for pruning?
15
29
Constrained routing (cont.)
� Variation of Euclidean Restriction
� 1st step: Retrieve the optimal route R between P and Q
30
Constrained routing (cont.)
� Variation of Euclidean Restriction
� 2nd step: Retrieve the Euclidean NN w.r.t. route R (point N1)
16
31
Constrained routing (cont.)
� Variation of Euclidean Restriction
� 3rd step: Calculate network distances D1=Net_Dist(P,N1) and
D2=Net_Dist(N1,Q)
32
Constrained routing (cont.)
� Variation of Euclidean Restriction
� 4th step: Retrieve all candidate objects (Ni) with total Euclidean distance from
both P and Q less than D = D1 + D2
Perpendicular bisector
Circumference
17
33
Constrained routing (cont.)
� Variation of Euclidean Restriction
� 5th step: For each Ni, calculate D1i = Net_Dist(P,Ni) and D2i = Net_Dist(Ni,Q),
and report the Ni the one that minimizes Di = D1i + D2i
34
“Get-together” (or “Find me”)
� A number of moving objects try to meet a moving object
� Think of a live version of the popular Pacman game !!
� Could be an advanced “Google Latitude” or “Facebook Places” app
� Methodology:
� other objects are routed to a point where
the target object is estimated to arrive
after a time interval
� this “meeting point” is periodically
refreshed
18
35
Get-together (cont.)
� Challenge: future location prediction !!
36
Summarizing …
� So far, we’ve seen a variety of mobile-aware applications
� From ‘smart’ (updated in real-time) routing to mobile social networking (Google Latitude, Facebook Places, etc.)
� Internally (either at server or client side), what kinds of operationsshould be efficiently supported?
� Core database / computational geometry operations
� Graph-based operations
� Trajectory management operations
19
37
Operations to be supported
� Core database / computational geometry operations
� Window search: selects points within a (circular or rectangular) window
� k-NN search: selects the k- nearest points to an object (point or region)
� Euclidean distance calculation: calculates the Euclidean distance between two points
� Path length routine: calculates the length of a path
� Graph-based operations
� Trajectory management operations
38
Operations to be supported (cont.)
� Core database / computational geometry operations
� Graph-based operations
� Routing: finds the optimal route between two points (taking into consideration a number of constraints)
� Network distance calculation: calculates the network distance between two points
� Network k-Nearest Neighbor search: searches for the k-NN of a point with respect to network distances
� Trajectory management operations
20
39
Operations to be supported (cont.)
� Core database / computational geometry operations
� Graph-based operations
� Trajectory management operations
� Trajectory refresh: adds a new coming position to an existing
trajectory
� Trajectory projection: estimates the position of an object at a future
time (taking into consideration its history)
� Trajectory-based search: (spatial and/or temporal) window search, NN
search, trajectory similarity search, etc.
40
More on trajectory mgmt operations
� Trajectory refresh:
� Low complexity, straight-forward (?) operation
� Issue: location-update strategy
� Distance-based vs. movement-based vs. time-based update (Bar-Noy et al.
1995)
� Trajectory projection / future location prediction:
� Very interesting, open issue
� Not only consider the current position but the recent history as well !!
� Trajectory search:
� Other operations (window search, NN search) are straightforward
extensions of the respective spatial operations) while others (e.g.
similarity search) are by nature complex
21
41
Summary
42
Summary
� Mobility-aware applications are (or will be very soon) ubiquitous
� However, to be effective ( = high quality) and efficient ( = fast
response) they ask for robust infrastructure that will provide
� trajectory and motion pattern management
� modeling; physical representation; indexing; query processing and
optimization
� trajectory and motion pattern analysis / mining
� co-location patterns; outlier analysis; …
22
43
Questions
44
Reading list
� MLS / LBS infrastructure
� Bar-Noy, A. et al. (1995) Mobile Users: To Update or not to Update. Wireless
Networks, 1(2):175-185.
� Borriello, G. et al. (2005) Delivering Real-World Ubiquitous Location Systems.
Communications of the ACM, 48(3).
� Chen, Y. et al. (2004) LORE: An Infrastructure to Support Location-aware
Services. IBM Journal of Research and Development, 48(5/6):601-616.
� Davies N. et al. (2001) Using and Determining Location in a Context-Sensitive
Tour Guide. IEEE Computer, 34(8):35-41.
� Hjelm, J. (2002) Creating Location Services for the Wireless Web. John Wiley &
Sons.
� Imielinski, T. et al. (1997) Data on Air: Organization and Access. IEEE
Transactions on Knowledge and Data Engineering, 9(3): 353-372.
23
45
Reading list
� MLS / LBS infrastructure (cont.)
� Konig-Ries, B. et al. (2002) Report on the NSF Workshop on Building an
Infrastructure for Mobile and Wireless Systems. SIGMOD Record, 31(2).
� Spinney, J. and M. Mabrouk (2002) Using J2ME to Deliver Spatial Information
to Mobile Clients. Presented at JavaOne 2002. Retrieved from www.esri.com.
� Swedberg, G. (1999) Ericsson’s Mobile Location Solution. Ericsson Review, 4.
� Want, R. et al. (1992) The Active Badge Location System. ACM Transactions on
Information Systems, 10(1):91-102.
� Wong, V.W.-S. et al. (2000) Location Management for Next-generation
Personal Communications Networks. IEEE Network, 14(5): 18 -24.
46
Reading list
� LBS examples and taxonomies
� Amir, A. et al. (2002) Buddy Tracking – Efficient Proximity Detection Among Mobile Friends. IBM Research Report, RJ 10250.
� Frentzos, E. et al. (2007) Towards the Next Generation of Location Based Services. Proceedings of W2GIS Workshop.
� Gratsias, K. et al. (2005) Towards a Taxonomy of Location Based Services.Proceedings of W2GIS Workshop.
� Koshima, H. and J. Hoshen (2000) Personal Locator Services Emerge. IEEE Spectrum, Feb. 2000, pp. 41-48.
� Virrantaus, K. et al. (2001) Developing GIS-Supported Location-Based Services. WISE (2), 66-75
� Wong, V.W.-S., and V.C.M. Leung (2000) Location Management for Next Generation Personal Communication Services. IEEE Network, 14(5):18-24.
24
47
Reading list
� Location prediction for LBS purposes
� Elnekave, S., Last, M., Maimon, O. (2007) Predicting future locations using
clusters' centroids. Proceedings of GIS.
� Gowrisankar, H. and Nittel, S. (2002) Reducing Uncertainty in Location
Prediction Of Moving Objects in Road Networks. Proceedings of GIScience.
� Hassan, K. and Xiong, L. (2003) A Predictive Location Model for Location-Based
Services. Proceedings of GIS.
� Monreale, A., Pinelli, F., Trasarti, R., Giannotti, F. (2009) WhereNext: a location
predictor on trajectory pattern mining. Proceedings of KDD.
� Morzy, M. (2007) Mining Frequent Trajectories of Moving Objects for Location
Prediction. Proceedings of MLDM.