Post on 22-Dec-2015
11
Introduction
Dr. Miguel A. Labrador
Department of Computer Science & Engineering
labrador@csee.usf.edu
http://www.csee.usf.edu/~labrador
2Copyright© Dr. Miguel A. Labrador
2Copyright© Dr. Miguel A. Labrador
2
Outline
• Location Based Information Systems (LBIS)• LBIS challenges• Location-Based Services (LBS) applications• Location provider architectures• Software architecture• A complete LBS example
3Copyright© Dr. Miguel A. Labrador
3Copyright© Dr. Miguel A. Labrador
3
Location Based Information Systems
• Systems that integrate advances in mobile phones, software development platforms, databases, positioning technology, Geographic Information Systems (GIS), and communications
• All combined make possible the creation of Location-Based Information Systems (LBIS) and Location-Based Services (LBS)– Promise to change the way we live
• 3.25 billion mobile phone users in 2007– Half the world’s population
• LBS subscribers using GPS-enabled cell phones expected to grow from 12 M in 2006 to 315 M in 2011– 20 M from 500 K in North America
4Copyright© Dr. Miguel A. Labrador
4Copyright© Dr. Miguel A. Labrador
4
LBIS Challenges
• Many players and technologies involved, and many issues unsolved– Databases, GIS systems, positioning, applications
• Erroneous and variable information– Accuracy of GPS fixes depend on positioning system, user location,
weather conditions, interferences, etc.• Cellular communication networks
– Wireless transmission problems, such as fading, interferences, disconnections, low bandwidth, etc.
• Cell phones– Very resource-constrained device in terms of processing power,
storage, and energy capabilities• Operating systems and interoperability
5Copyright© Dr. Miguel A. Labrador
5Copyright© Dr. Miguel A. Labrador
5
Location-Based Services (LBS)
• An application that provides users with information based on the geographical position of the mobile device
• Main difference from other applications/systems– Availability of the user’s position in real-time– This single difference makes a BIG difference
• Initial LBS systems were subscription-based– Traffic congestion notifications based on roads selected from a Web
site– Received congestion updates about I-75 when on travel in NYC!
6Copyright© Dr. Miguel A. Labrador
6Copyright© Dr. Miguel A. Labrador
6
Types of LBS Applications
• LBS can be either Reactive (“pull”) or Proactive (“push”)• A Reactive LBS application is triggered by the user who, based
on his current location, queries the system in search of information
• Many examples– Finding restaurants or places of interest– Obtaining directions– Locating people– Obtaining weather information– Sending emergency notifications to police, insurance companies,
roadside assistance companies, etc.
7Copyright© Dr. Miguel A. Labrador
7Copyright© Dr. Miguel A. Labrador
7
Types of LBS Applications
• In Proactive LBS applications, on the other hand, queries or actions are automatically generated by the LBIS once a predefined set of conditions are met
• System needs to continuously know where you are and evaluate the predefined conditions
• Many examples as well– Geofencing, e.g., children outside predefined boundary– Fleet management– Real-time traffic congestion notifications– Location-based advertisement– Real-time friend finding– Proximity-based actuation– Travel assistant device for riding public transportation, tourism,
museum guided visits, etc
8Copyright© Dr. Miguel A. Labrador
8Copyright© Dr. Miguel A. Labrador
8
Location
• In LBIS and LBS applications everything is about LOCATION• Important to know about different players and techniques used
in the provision of location information• A location provider may or may not be the same entity providing
the location-based service to the user• According to who provides the location information, the system
can be categorized as network-based, mobile-based, and location provider-based
9Copyright© Dr. Miguel A. Labrador
9Copyright© Dr. Miguel A. Labrador
9
Network-Based Location Provider
• Usually the same cellular network carrier• Carrier locates the user and stores his location in a database
within its network• LBS provider needs to obtain permission and/or pay for
obtaining user location information• LBS application needs mechanisms to query the DB• Preferred way of cellular carriers
– Maintain ownership and control of the location information– Additional revenues
• Have not accelerated the development of LBS– Cellular networks need to install costly positioning technologies– Carriers may limit the number and frequency of queries
• Limiting the developing of some applications, mostly real-time ones– Applications need to be aware of which carrier the user belongs to
10Copyright© Dr. Miguel A. Labrador
10Copyright© Dr. Miguel A. Labrador
10
Network-Based Location Provider
11Copyright© Dr. Miguel A. Labrador
11Copyright© Dr. Miguel A. Labrador
11
Mobile-Based Location Provider
• Mobile device has the capability of obtaining the location– GPS, cell network, both
• Location is sent to the LBS service provider and stored in its database for future reference or processing
• Server application may or may not send information back to user– Depends on application and predefined parameters
• Clients are not limited to cellular phones– Any GPS-enabled device with communication capability
• Accelerated rapid development of LBS application– Neither financial nor technical barriers
• Main disadvantage of this method is that it has the potential to flood the network with location updates– Different LBS providers may or may not share the locations– A user may be sending same location to more than one LBS provider
12Copyright© Dr. Miguel A. Labrador
12Copyright© Dr. Miguel A. Labrador
12
Mobile-Based Location Provider
13Copyright© Dr. Miguel A. Labrador
13Copyright© Dr. Miguel A. Labrador
13
Location Provider-Based
• Meant to solve the flooding problem of mobile-based method• Independent entity collects locations using different methods
and make them available to LBS providers• Only business is to provide location information• Scalable architecture; perhaps the best architecture for wide
deployment of LBS– Provisions needed to guarantee fair price and include competition
• There are a few companies that provide location information – Skyhook, Where, Veriplace, Loc-Aid Technologies, others
– In this class, we will use the mobile-based method • GPS-enabled cell phones and network-based technologies
14Copyright© Dr. Miguel A. Labrador
14Copyright© Dr. Miguel A. Labrador
14
Location Provider-Based
15Copyright© Dr. Miguel A. Labrador
15Copyright© Dr. Miguel A. Labrador
15
A Complete LBIS Tracking Example
• General real-time tracking application with visualization– Tracking devices, people, etc.
• Uses the mobile-based location provider architecture• Proactive LBS application consisting of the following
components:– Positioning system– Client device– Transport network– Main control station– Servers
• Standard and free software and standard protocols as much as possible
16Copyright© Dr. Miguel A. Labrador
16Copyright© Dr. Miguel A. Labrador
16
Hardware
• Positioning system – GPS and Assisted GPS (A-GPS)
• Client device– GPS-enabled cell phone or any device with GPS or embedded
positioning system• Transport network
– Cellular network with data plan (GPRS or similar) or network connectivity using Wi-Fi or any other IP-based networking technology
• Main control station– PC connected to the system to control service and visualize data,
e.g., set up geofence and Google maps• Servers
– Database, GIS for geocoding and reverse geocoding, application server for processing
17Copyright© Dr. Miguel A. Labrador
17Copyright© Dr. Miguel A. Labrador
17
Software
• Java platform– Java SE for clients and Java ME for resource-constrained devices
• Sun’s Glassfish as the application server• Google ‘s Web Toolkit for visualization
– Google Maps and Google Earth• Postgres, and object-oriented relational database• PostGIS, Postgres’s add on to support geographic objects• Standard communication protocols
– HTTP, TCP, UDP
18Copyright© Dr. Miguel A. Labrador
18Copyright© Dr. Miguel A. Labrador
18
A Complete Tracking System Example
19Copyright© Dr. Miguel A. Labrador
19Copyright© Dr. Miguel A. Labrador
19
Software Architecture
• Software architecture is needed in order to – Have an organized system– Know who does what in the system – Understand data flow– Know about relationships between components– Know protocols and interfaces used
• Software architecture for the client and for the server– An example follows – Used in proactive, mobile-based location provider applications
related to transportation
20Copyright© Dr. Miguel A. Labrador
20Copyright© Dr. Miguel A. Labrador
20
Software Architecture - Client
21Copyright© Dr. Miguel A. Labrador
21Copyright© Dr. Miguel A. Labrador
21
Software Architecture - Server
22Copyright© Dr. Miguel A. Labrador
22Copyright© Dr. Miguel A. Labrador
22
A Brief Look into the Future
• LBS, Human-Centric Sensing, Participatory Sensing
23Copyright© Dr. Miguel A. Labrador
23Copyright© Dr. Miguel A. Labrador
23
Participatory Sensing