1 / 25

The SIMPLE Presence and Event Architecture

The SIMPLE Presence and Event Architecture. Henning Schulzrinne (*) Dept. of Computer Science Columbia University. (*) The SIMPLE architecture is a collaboration of many individuals. Overview. Motivation The SIMPLE architecture and data structure Privacy Composition

ina
Download Presentation

The SIMPLE Presence and Event Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The SIMPLE Presence and Event Architecture Henning Schulzrinne (*) Dept. of Computer Science Columbia University (*) The SIMPLE architecture is a collaboration of many individuals.

  2. Overview • Motivation • The SIMPLE architecture and data structure • Privacy • Composition • Location-based services • Interaction with service creation

  3. An eco system, not just a protocol configures XCAP (config) XCON (conferencing) SIMPLE policy RPID …. initiates carries SIP RTSP SDP carries controls provide addresses RTP STUN TURN

  4. Context-aware communication • context = “the interrelated conditions in which something exists or occurs” • anything known about the participants in the (potential) communication relationship • both at caller and callee

  5. The role of presence • “Is the callee likely to be reachable?”  user-level presence • glue logic for loosely-coupled systems • events related to calls: • voicemail notification • call transfer notification • Events are a superset of presence: • publish, subscribe & notify • in SIMPLE, just differ in their • event type and bodies (typically, XML) • privacy policies • unlike other event systems, cross-domain, with security • but no content-dependent replication (Siena, Elvin, …)

  6. The role of presence: user-reachability Guess-and-ring high probability of failure: “telephone tag” inappropriate time (call during meeting) inappropriate media (audio in public place) current solutions: voice mail  tedious, doesn’t scale, hard to search and catalogue, no indication of when call might be returned automated call back  rarely used, too inflexible  most successful calls are now scheduled by email Presence-based facilitates unscheduled communications provide recipient-specific information only contact in real-time if destination is willing and able appropriately use synchronous vs. asynchronous communication guide media use (text vs. audio) predict availability in the near future (timed presence) Prediction: almost all (professional) communication will be presence-initiated or pre-scheduled

  7. The role of presence for call routing • Two modes: • watcher uses presence information to select suitable contacts • advisory – caller may not adhere to suggestions and still call when you’re in a meeting • user call routing policy informed by presence • likely less flexible – machine intelligence • “if activities indicate meeting, route to tuple indicating assistant” • “try most-recently-active contact first” (seq. forking) PUBLISH PA NOTIFY translate RPID CPL LESS INVITE

  8. Basic presence • Role of presence • initially: “can I send an instant message and expect a response?” • now: “should I use voice or IM? is my call going to interrupt a meeting? is the callee awake?” • Yahoo, MSN, Skype presence services: • on-line & off-line • useful in modem days – but many people are (technically) on-line 24x7 • thus, need to provide more context • + simple status (“not at my desk”) • entered manually  rarely correct • does not provide enough context for directing interactive communications

  9. GEOPRIV and SIMPLE architectures rule maker DHCP XCAP (rules) target location server location recipient notification interface publication interface GEOPRIV SUBSCRIBE presentity presence agent watcher SIP presence PUBLISH NOTIFY caller callee SIP call INVITE INVITE

  10. Presence data architecture presence sources PUBLISH raw presence document privacy filtering create view (compose) depends on watcher XCAP select best source resolve contradictions XCAP privacy policy composition policy (not defined yet) draft-ietf-simple-presence-data-model

  11. Presence data architecture candidate presence document raw presence document post-processing composition (merging) watcher filter remove data not of interest SUBSCRIBE difference to previous notification final presence document watcher NOTIFY

  12. Presence data model “calendar” “cell” “manual” person (presentity) (views) alice@example.com audio, video, text r42@example.com video services devices

  13. Rich presence • Rich presence = more information than open/closed • automatically derived from • sensors: physical presence, movement • electronic activity: calendars • Rich information: • multiple contacts per presentity • device (cell, PDA, phone, …) • service (“audio”) • activities, current and planned • surroundings (noise, privacy, vehicle, …) • contact information • composing (typing, recording audio/video IM, …)

  14. RPID = rich presence • Provide watchers with better information about the what, where, how of presentities • facilitate appropriate communications: • “wait until end of meeting” • “use text messaging instead of phone call” • “make quick call before flight takes off” • designed to be derivable from calendar information • or provided by sensors in the environment • allow filtering by “sphere” – the parts of our life • don’t show recreation details to colleagues

  15. RPID: rich presence

  16. Presence and privacy • All presence data, particularly location, is highly sensitive • Basic location object (PIDF-LO) describes • distribution (binary) • retention duration • Policy rules for more detailed access control • who can subscribe to my presence • who can see what when <tuple id="sg89ae"> <status> <gp:geopriv> <gp:location-info> <gml:location> <gml:Point gml:id="point1“ srsName="epsg:4326"> <gml:coordinates>37:46:30N 122:25:10W </gml:coordinates> </gml:Point> </gml:location> </gp:location-info> <gp:usage-rules> <gp:retransmission-allowed>no </gp:retransmission-allowed> <gp:retention-expiry>2003-06-23T04:57:29Z </gp:retention-expiry> </gp:usage-rules> </gp:geopriv> </status> <timestamp>2003-06-22T20:57:29Z</timestamp> </tuple>

  17. Privacy policy relationships common policy geopriv-specific presence-specific future RPID CIPID

  18. Privacy rules Conditions identity, sphere time of day current location identity as <uri> or <domain> + <except> Actions watcher confirmation Transformations include information reduced accuracy User gets maximum of permissions across all matching rules privacy-safe composition: removal of a rule can only reduce privileges Extendable to new presence data rich presence biological sensors mood sensors

  19. Example rules document <rule id=1> <identity><id>user@example.com</id></identity> <conditions> <sub-handling>allow</sub-handling> <actions> <provide-services> <service-uri-scheme>sip</service-uri-scheme> <service-uri-scheme>mailto</service-uri-scheme> </provide-services> <provide-person>true</provide-person> <provide-activities>true</provide-activities> <provide-user-input>bare</provide-user-input> <ruleset> <transformations>

  20. 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 to local resources

  21. Location-based SIP services • Location-aware inbound routing • do not forward call if time at callee location is [11 pm, 8 am] • only forward time-for-lunch if destination is on campus • do not ring phone if I’m in a theater • outbound call routing • contact nearest emergency call center • send delivery@pizza.com to nearest branch • location-based events • subscribe to locations, not people • Alice has entered the meeting room • subscriber may be device in room  our lab stereo changes CDs for each person that enters the room

  22. Presence Composition • composition = combines multiple presence or event sources into one view • remove information: stale, contradictory, redundant • create new information (e.g., new composite services) • Tries to resolve information conflicts • update diligence, multiple devices in different places, no sensor data, … • Focus on PIDF/RPID, but probably applicable to other event sources • Depends on presentity, but not on watcher • i.e., provides maximum information set for later stages

  23. Sources of presence data • Reported current • added manually a brief time ago • assumed correct when entered, but decays • Reported scheduled • from a calendar • Measured device information • communication status • Measured by sensors • location, type of location, activity, … • sensors = GPS, acceleration sensors, PIRs, ... • Derived • from other presence data

  24. Composition steps • Working on policy language that describes desired composition policy • Complicated policies will require “real” languages source discard closed + old resolve ambiguities source union with replacement combine identical contacts

  25. Conclusion • Presence = core service enabler for VoIP • Presence = necessary for location-based services • Presence = (special case of) event notification • IETF SIMPLE architecture = first comprehensive attempt to standardize presence • but some techniques likely applicable to other systems (e.g., XMPP) • Presence needs • PUBLISH/SUBSCRIBE/NOTIFY • data structures for presence data • rich presence information • privacy controls • composition

More Related