Location Based Services Lenin Ravindranath, Microsoft Research India
Motivation Location is a key element of user context Mobile devices a natural conduit for location based services They are ubiquitous Have many sensors sensors Location -> GPS GPS based devices are not common GPS is power hungry Many apps care about relative location relative to landmarks relative to people
Scenario Demo!
Aspects Location Determination need relative location Neighborhood Discovery spatial and temporal Communication push vs. pull with or without Internet access Service model stateful vs. stateless
Overview Beacon-Stuffing WiFiAds Neighborcast People Near Me Neighborhood GPS Landmark based Services Post-its in the air Ads, comments and reviews Location and Neighborhood based reminders, profiles Social networking
Beacon-Stuffing Access Point Beacon Packets Network Name SSID: NYCWireless Network Name SSID: T-Mobile Networks Found Connected WiFi Beaconing Protocol
Beacon-Stuffing Stuff beacon packets with information Unused fields in beacons (Beacon Information Element) Stripe across multiple beacons, if needed Clients receive beacons even when they are not connected to any network Clients receive beacons from other networks even when they are connected to a particular network Send dynamic information
WiFiAds – Location sensitive Ads AdCenter AP at CoffeeDay WiFi Beacon Within 250 m of CoffeeDay CoffeeDay close to me.. Hmm! I love Hot Choc! Go to CoffeeDay Coffee DayDrink of the day is Hot Chocolate Client running our software
Beacon-Stuffing Summary No absolute location required Clients near the broadcasting AP gets the information Push model of information delivery No connectivity required Stateless Published in HotMobile 2007 Joint work with Ranveer Chandra, Jitu Padhye, Alec Wolman Techfest 2007 Demo
Overview Beacon-Stuffing WiFiAds Neighborcast Buddies Near Me Neighborhood GPS Landmark based Services Post-its in the air Ads, comments and reviews Location and Neighborhood based reminders, profiles Social networking
Neighborcast Goal: communication among nearby nodes 2 nodes are nearby if they hear a common AP Nearby nodes can be on different frequency channels LAN/Internet
Neighborcast Solution: Leverage multicast techniques Mapping from AP BSSID to multicast group address BSSIDs correspond to AP’s MAC ID, and is globally unique Client joins group of every AP around it APs it hears as part of its scanning process Clients frequently publish info on group of associated AP Infrequently publishes info on other groups it is subscribed to
Neighborcast LAN/Internet 00:0B:80:12:34:56 00:0A:80:12:34:55 00:0C:80:12:34:57 Multicast group for BSSID 00:0B:80:12:24:56
Implementing Neighborcast 3 approaches: IP Multicast Application Level Multicast (ALM) Pub-sub using RSS feeds Tradeoffs: overhead, scalability, ease of deployment
Neighborcast using IP Multicast Map AP’s BSSID to IP multicast group address BSSID (6 bytes): :XX:XX:XX:XX IP multicast address (4 bytes): :XX:XX:XX Our mapping approach: 228.XX.XX.XX, where XX:XX:XX is last 3 bytes of BSSID Example: 00:17:95:81:CA:30 will be Since 0x81 = 129, 0xCA = 202, 0x30 = 48 Might have collisions! Probably not in same subnet…
Neighborcast using IP multicast: Every client maps AP’s BSSID to IP multicast address Joins multicast group of all BSSIDs it hears Publishes info of multicast group of AP it is associated with Pros: No need for special infrastructure/server Approach is scalable since all traffic is local Cons: Limited deployment of IP multicast, only in edge networks Neighborcast using IP Multicast
Buddies Near Me Each client joins Neighborcast group of all APs around it It announces its presence (along with signal strengths) to its Neighborcast group Learns of nearby buddies Can also estimate “nearness” Signal strength
Neighborhood GPS Dynamically help neighbors leverage GPS data from other phones GPS computed-location Cloud/Server
Neighborcast Summary No absolute location required Two clients are nearby if they hear a same AP Neighborcast forms IP overlay among nearby nodes Client needs to be connected Stateless Published in HotMobile 2008 Joint work with Ranveer Chandra, Jitu Padhye Techfest 2008 Demo
Overview Beacon-Stuffing WiFiAds Neighborcast People Near Me Neighborhood GPS Landmark based Services Post-its in the air Ads, comments and reviews Location and Neighborhood based reminders, profiles Social networking
Location as Landmarks For many apps absolute location (GPS) is not required Location as perceived by a user Landmarks Access Points BSSID GSM Tower ID GSM Tower Access Point
Information tagged with Landmarks Users publish information Landmark Tagged Information Automatically tag information published with landmarks Pictures, Videos, Blogs, Ads Users search for information Landmark based Search Query information based on landmarks
Landmark based services Publish (info, AP BSSID, GSM ID) Search (query, AP BSSID, GSM ID) Access Point AP1 BSSID: 00:11:22:33:44:55 GSM Tower GSM1 Tower ID: XX1 Server
Post-its in the air
Scan for landmarks Post (tagged with landmarks) Search (giving landmarks) Retrieve post-its in the air Challenges What if a landmark moves? Move posts to Neighborhood How to find the neighborhood? Radio map
Radio Map Periodically clients report Access Points and GSM towers seen Build a graph Nodes are APs/GSM Towers Edge between two nodes if they are reported together Node weights and Edge Weights Delete nodes and edges based on their weights GSM Wi Fi GSM Wi Fi
Buddies Near Me GSM WiFi GSM WiFi
Buddies who were here You are visiting a new place Need to know information and past experience of people Find friends who visited this place in the past Find them online Ask queries
Location Sensitive Search Search for Coffee Gives nearby Coffee shops info Search results ranked based on nearness
Comments and Reviews Read others reviews Post comments
Reminders in the air Location based reminders Post reminders in the air Remind me when I cross this place next time Remind me to buy milk when I am near the market Remind me office work only when I am in the office Neighborhood based reminders Remind me when one or more friends are nearby at a location Remind me to give Prashanth Rs 100 when he comes nearby
Other Applications Location based profiles Location based games, Game pairing Dating service Enhanced presence
Landmark based services Summary No absolute location required Leverage Landmarks and Neighborhoods Client needs to be connected Stateful Number of applications Submitted to Ubicomp 2008 Joint work with Mohit Gupta, Prashanth Mohan Thinkweek paper (Brooks was here.. So was Red)
Benefits Does not depend on GPS Lesser power Works inside buildings, malls No regular war driving necessary (as is in the case of WiFi, GSM triangulation) Readily deployable No operator support required
Questions
Code in the air Post code in the air Devices crossing that location will execute them Harnessing other devices Example Monitor temperature at a place continuously Post the following code in the air use sensor(themometer) temp = themometer.getTemperature() send(temp, “