Introduction Dr. Miguel A. Labrador Department of Computer Science & Engineering labrador@csee.usf.edu http://www.csee.usf.edu/~labrador 1 Outline • • • • • • Location Based Information Systems (LBIS) LBIS challenges Location-Based Services (LBS) applications Location provider architectures Software architecture A complete LBS example 2 Copyright© Dr. Miguel A. Labrador 2 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 3 Copyright© Dr. Miguel A. Labrador 3 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 4 Copyright© Dr. Miguel A. Labrador 4 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! 5 Copyright© Dr. Miguel A. Labrador 5 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. 6 Copyright© Dr. Miguel A. Labrador 6 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 7 Copyright© Dr. Miguel A. Labrador 7 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 8 Copyright© Dr. Miguel A. Labrador 8 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 9 Copyright© Dr. Miguel A. Labrador 9 Network-Based Location Provider 10 Copyright© Dr. Miguel A. Labrador 10 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 11 Copyright© Dr. Miguel A. Labrador 11 Mobile-Based Location Provider 12 Copyright© Dr. Miguel A. Labrador 12 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 13 Copyright© Dr. Miguel A. Labrador 13 Location Provider-Based 14 Copyright© Dr. Miguel A. Labrador 14 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 15 Copyright© Dr. Miguel A. Labrador 15 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 16 Copyright© Dr. Miguel A. Labrador 16 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 17 Copyright© Dr. Miguel A. Labrador 17 A Complete Tracking System Example 18 Copyright© Dr. Miguel A. Labrador 18 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 19 Copyright© Dr. Miguel A. Labrador 19 Software Architecture - Client 20 Copyright© Dr. Miguel A. Labrador 20 Software Architecture - Server 21 Copyright© Dr. Miguel A. Labrador 21 A Brief Look into the Future • LBS, Human-Centric Sensing, Participatory Sensing 22 Copyright© Dr. Miguel A. Labrador 22 Participatory Sensing 23 Copyright© Dr. Miguel A. Labrador 23