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 gt GPS ID: 810416
Download The PPT/PDF document "Location Based Services Lenin Ravindrana..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Location Based Services
Lenin Ravindranath, Microsoft
Research India
Slide2Motivation
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
Slide3Scenario
Demo!
Slide4Aspects
Location Determination
need relative location
Neighborhood Discovery
spatial and temporal
Communication
push vs. pull
with or without Internet access
Service model
stateful
vs. stateless
Slide5Overview
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
Slide6Beacon-Stuffing
Access Point
Beacon Packets
Network Name
SSID: NYCWireless
Network Name
SSID: T-Mobile
Networks Found
Connected
Connected
WiFi Beaconing Protocol
Slide7Beacon-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
Slide8WiFiAds – 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 Day
Drink of the day is Hot Chocolate
Client running our software
Slide9Beacon-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
Slide10Overview
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
Slide11Neighborcast
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
Slide12Neighborcast
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
Slide13Neighborcast
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
Slide14Implementing Neighborcast
3 approaches:
IP Multicast
Application Level Multicast (ALM)
Pub-sub using RSS feeds
Tradeoffs: overhead, scalability, ease of deployment
Slide15Neighborcast using IP Multicast
Map AP’s BSSID to IP multicast group address
BSSID (6 bytes): <Manufacturer’s prefix>:XX:XX:XX:XX
IP multicast address (4 bytes): <224 – 239>: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 228.129.202.48
Since 0x81 = 129, 0xCA = 202, 0x30 = 48
Might have collisions! Probably not in same subnet…
Slide16Neighborcast 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
A
pproach is scalable since all traffic is local
Cons:
Limited deployment of IP multicast, only in edge networks
Neighborcast using IP Multicast
Slide17Buddies 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
Slide18Neighborhood GPS
Dynamically help neighbors leverage GPS data from other phones
GPS
computed-location
Cloud/Server
Slide19Neighborcast 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
Slide20Overview
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
Slide21Location 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
Slide22Information 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
Slide23Landmark 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
Slide24Post-its in the air
Slide25Post-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
Slide26Radio 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
WiFi
WiFi
WiFi
WiFi
WiFi
WiFi
WiFi
GSM
WiFi
WiFi
WiFi
WiFi
WiFi
WiFi
WiFi
Slide27Buddies Near Me
GSM
WiFi
WiFi
WiFi
WiFi
WiFi
WiFi
GSM
WiFi
Slide28Buddies 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
Slide29Location Sensitive Search
Search for Coffee
Gives nearby Coffee shops info
Search results ranked based on nearness
Slide30Comments and Reviews
Read others reviews
Post comments
Slide31Reminders 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
Slide32Other Applications
Location based profiles
Location based games, Game pairing
Dating service
Enhanced presence
Slide33Landmark 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)
Slide34Benefits
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
Slide35Questions
Slide36Code 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, “http://leninr/tempService”)