Upload
kelly-carson
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
ORBIT: Location-based services
Henning Schulzrinne
Columbia University
Location-based services Finding services based on location
physical services (stores, restaurants, ATMs, …) electronic services (media I/O, printer, display, …) not covered here
Using location to improve (network) services communication
incoming communications changes based on where I am configuration
devices in room adapt to their current users awareness
others are (selectively) made aware of my location security
proximity grants temporary access Privacy rules for access to context data
Location-based services & SIP We’re using SIP (and SIMPLE) as generic protocols
for effecting change (“actuators”)
send MESSAGE to devices distributing event information (“sensors”)
Advantages: people and rooms identified by URIs
sip:[email protected] sip:[email protected]
cross-domain, with extensive security mechanisms domains don’t need to trust each other
scalable to global system many other systems are mostly local
Location-based services Presence-based approach:
UA publishes location to presence agent (PA) becomes part of general user context other users (human and machines) subscribe to context
call handling and direction location-based anycast (“anybody in the room”) location-based service directory
Languages for location-based services building on experience with our XML-based service
creation languages CPL for user-location services LESS for end system services
Location information
geospatial longitude, latitude, altitude
civil time zone, country, city, street, room, …
categorical type of location properties of location
privacy (“no audio privacy”) suitability for different communication media
Determining location
GPS may not be practical (cost, power, topology)
Add location beacons extrapolate based on distance moved
odometer, pedometer, time-since-sighting idea: meet other mobile location beacons
estimate location based on third-party information
PA
devicecontroller
SUBSCRIBEto each room
SUBSCRIBE to configurationfor users currently in rooms
1. discover room URI2. REGISTER as contact for room URI
tftp
HTTP
Example: user-adaptive device configuration
SLP
“all devices that are in the building”RFC 3082?
802.11 signal strength
location
REGISTERTo: 815cepsrContact: alice@cs
SIP
room 815
Architectures for (geo) information access Claim: all using protocols fall into one of these categories Presence or event notification
“circuit-switched” model subscription: binary decision
Messaging email, SMS basically, event notification without (explicit) subscription but often out-of-band subscription (mailing list)
Request-response RPC, HTTP; also DNS, LDAP typically, already has session-level access control (if any at all)
Presence is superset of other two
Presence/Event notification Three places for policy enforcement
subscription binary only policy, no geo information subscriber may provide filter could reject based on filter
(“sorry, you only get county-level information”) greatly improves scaling since no event-level checks needed
notification content filtering, suppression only policy, no geo information
third-party notification e.g., event aggregator can convert models: gateway subscribes to event source,
distributes by email both policy and geo data
Presence model
subscriptionpolicy
event generatorpolicy
subscriberfilter
rate limiter
change to previousnotification?
for eachwatcher
subscriber (watcher)
SUBSCRIBE
NOTIFY
Policy rules
There is no sharp geospatial boundary Presence contains other sensitive data
(activity, icons, …) and others may be added Example: future extensions to personal
medical data “only my cardiologist may see heart rate, but
notify everybody in building if heart rate = 0” Thus, generic policies are necessary
Processing models
Sequential model: for each subscriber, apply rules to new data doesn’t scale well to large groups
Relational database model: re-use indexing and other query optimizations well-defined query and matching semantics e.g., mySQL and PostGres have geo extensions At time of subscription:
SELECT address FROM policies WHERE person=$subscriber (AND now() between(starttime,endtime) OR starttime is null) AND (a3=$a3 or a3 is null) …