Composing Presence Information

Slides:



Advertisements
Similar presentations
XCAP Tutorial Jonathan Rosenberg.
Advertisements

Yunling Wang VoIP Security COMS 4995 Nov 24, 2008 XCAP The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)
EAP Channel Bindings Charles Clancy Katrin Hoeper IETF 76 Hiroshima, Japan November 08-13, 2009.
SIMPLE Presence Traffic Optimization and Server Scalability Vishal Kumar Singh Henning Schulzrinne Markus Isomaki Piotr Boni IETF 67, San Diego.
Session-Independent Policies draft-ietf-sipping-session-indep-policy-01 Volker Hilt Gonzalo Camarillo
XML Configuration Access Protocol (XCAP) Jonathan Rosenberg dynamicsoft.
Using Presence Information to Develop Converged Telecom Services Standards and Challenges Parijat Garg Computer Science, IIT Bombay.
3GPP Presence Requirements Requirements for Presence Service based on 3GPP specifications and wireless environment characteristics draft-kiss-simple-presence-wireless-
An Architecture for Location- Based Service Mobility Using the SIP Event Model Ron Shacham, Henning Schulzrinne Columbia University Wolfgang Kellerer,
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
March 2004SIMPLE - IETF 59 (Seoul)1 Rich presence: RPID, CIPID, future-presence draft-ietf-simple-rpid draft-ietf-simple-cipid draft-ietf-simple-future.
Identity, Spheres and Privacy Rules Henning Schulzrinne (with Hannes Tschofenig and Richard Barnes) Workshop on Identity, Information and Context October.
Database Design Concepts INFO1408 Term 2 week 1 Data validation and Referential integrity.
July 2008 (IETF 72)IETF - SIMPLE1 Membership Event Package draft-singh-simple-membership-01.txt Vishal Singh Henning Schulzrinne Piotr Boni IETF 72, Dublin.
Presence Vishal Kumar Singh and Henning Schulzrinne Feb 10, 2006.
IETF 68 – SIMPLE WG SIMPLE Problem Statement draft-ietf-simple-interdomain-scaling-analysis-00 Avshalom Houri – IBM Tim Rang - Microsoft Edwin Aoki – AOL.
RPIDS - Rich Presence Information Data Format for Presence Based on the Session Initiation Protocol (SIP) Henning Schulzrinne (ed.) Vijay Gurbani Krisztian.
Composing Presence Information Henning Schulzrinne Ron Shacham Wolfgang Kellerer Srisakul Thakolsri (ID-schulzrinne-simple-composition-02) IETF 66 SIMPLE.
Presence Data Model Jonathan Rosenberg. Changes in -02 Split out data and processing models Allow multiple devices, services, person with same URI/device.
XCAP Needed Diffs Jonathan Rosenberg Cisco Systems.
1 SIPREC Recording Metadata for SRS (draft-ietf-siprec-metadata-03) July 28, 2011 IETF 81 meeting Ram Mohan R On behalf of the team Team: Paul Kyzivat,
Chapter 9 Logical Database Design : Mapping ER Model To Tables.
1 SIPPING Working Group IETF 74 Dale Worley Martin Dolly Dan Petrie Profile Datasets draft-ietf-sipping-profile-datasets-03.
IETF 67 – SIMPLE WG SIMPLE Problem Statement Draft-rang-simple-problem-statement-01 Tim Rang - Microsoft Avshalom Houri – IBM Edwin Aoki – AOL.
OMA Presence 1.0 Presence attribute, composition issues Krisztián Kiss
- 1 -P. Kyzivatdraft-sipping-gruu-reg-event-00 Reg Event Package Extensions draft-sipping-gruu-reg-event-00 IETF64 Nov-2005.
SIP file directory draft-garcia-sipping-file-sharing-framework-00.txt draft-garcia-sipping-file-event-package-00.txt draft-garcia-sipping-file-desc-pidf-00.txt.
The Akoma Ntoso Naming Convention Fabio Vitali University of Bologna.
1 CPCP Hisham Khartabil XCON WG IETF 59, Seoul
1 © NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials Company Confidential XCAP Usage for Publishing Presence Information draft-isomaki-simple-xcap-publish-usage-00.
1 Lecture 7 Style Sheets: CSS. 2 Motivation HTML markup can be used to represent –Semantics: h1 means that an element is a top-level heading –Presentation:
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
IETF61 (November 2004) SIMPLE1 Data model and RPID Henning Schulzrinne Columbia University.
1 Terminal Management System Usage Overview Document Version 1.1.
Jonathan Rosenberg dynamicsoft
Session-Independent Policies draft-ietf-sipping-session-indep-policy-02 Volker Hilt Jonathan Rosenberg Gonzalo.
XCON WG IETF-64 Meeting XCON Framework Overview & Issues
Nomadic File Systems Uri Moszkowicz 05/02/02.
IBM Presentation Template Full Version
draft-ietf-simple-message-sessions-00 Ben Campbell
Single Sample Registration
Markus Isomäki Eva Leppänen
Presence Composition draft-schulzrinne-simple-composition-00
Active Directory and Group Policy
Les Ginsberg Stefano Previdi Peter Psenak Martin Pilka
Dynamic Feature Extensions to the Presence Information Data Format Location Object (PIDF-LO) draft-singh-geopriv-pidf-lo-dynamic-02.txt Vishal K. Singh.
Requirements and Implementation Options for the Multiple Line Appearance Feature using the Session Initiation Protocol (SIP) draft-johnston-bliss-mla-req-00.
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
draft-ietf-geopriv-lbyr-requirements-02 status update
Dynamic Feature Extensions to the Presence Information Data Format Location Object (PIDF-LO) draft-singh-geopriv-pidf-lo-dynamic-00.txt Vishal K. Singh.
SIP Preconditions for Media Privacy
eTapestry Workshop Session 3: Queries and Reports
Dynamic Feature Extensions to the Presence Information Data Format Location Object (PIDF-LO) draft-singh-geopriv-pidf-lo-dynamic-02.txt Vishal K. Singh.
Migration-Issues-xx Where it’s been and might be going
Event notification and filtering
Making the phone not ring Henning Schulzrinne Department of Computer Science Columbia University Internet2 spring meeting May 3, 2005.
Alert Gateway Group (AGG)
Multiple tuples in PIDF
RPID draft-ietf-simple-rpid-05
Jonathan Rosenberg dynamicsoft
SIMPLE Presence Traffic Optimization and Server Scalability
Operational Rules Model – step-by-step instructions and template
draft-schulzrinne-geopriv-presence-lo-00
RPIDS and tuple issues Henning Schulzrinne with help from Paul Kyzivat
Henning Schulzrinne Columbia University
Vehicle Info Event Package draft-singh-simple-vehicle-info-00.txt
RPIDS - Rich Presence Information Data Format for Presence Based on the Session Initiation Protocol (SIP) Henning Schulzrinne (ed.) Vijay Gurbani Krisztian.
Henning Schulzrinne Columbia University
Presence Composition draft-schulzrinne-simple-composition-00
BINDing URIs to SIP AORs
Presentation transcript:

Composing Presence Information (ID-schulzrinne-simple-composition-02) Henning Schulzrinne Ron Shacham Wolfgang Kellerer Srisakul Thakolsri IETF 66 SIMPLE WG Meeting July 11, 2006

Motivation for Composition Information about presentity comes from different sources and is updated frequently In order for presentation to be more useful to the watcher, we wish to: Remove stale information Remove contradictory information Remove redundant information Generate new, inferred presence information Represent information in a useful way IETF 66 SIMPLE WG Meeting

Steps of Composition Discarding stale and redundant information Derivation of new presence information Conflict Resolution to remove contradictory information Tuple Merging to represent presence in a useful way IETF 66 SIMPLE WG Meeting

Discarding Closed contacts: service tuples with a basic status ‘closed’ Old tuples: person, service or device tuples with a timestamp older than a given threshold (but not yet expired) Unreferenced tuples: device tuples not referenced by any service tuple IETF 66 SIMPLE WG Meeting

Deriving Presence Information Provides information to compositor that facilitates conflict resolution Two different versions of person information are sent by two different devices with different locations (based on geopriv extensions), and user cannot be using both Provides additional information to watcher IETF 66 SIMPLE WG Meeting

Provide Additional Information to Watcher Device may not support certain extensions and so cannot publish that information Users may not always express presence information manually, and there are many associations that can be automatically made Usage examples: ‘On-the-phone’ => ‘busy’ Place-type=‘car’ => activity=‘driving’ ‘idle’ during certain hours => activity=‘sleeping’ IETF 66 SIMPLE WG Meeting

Derivation of Presence Information {Predicate} => {New XML Content} New content may be dynamic or static Dynamic content is added only under specific circumstances, defined by the predicate Other elements in the presence document Additional information such as the time of day Static content is always added to a specific device or service tuple IETF 66 SIMPLE WG Meeting

Static presence information Example My home PC is in a certain location—include location even though it isn’t published by the PC A rule can be defined for this: deviceID =.. =>content contact=sip:…=> content Alternatively, use a static present document The concept is defined in XCAP Presence Manipulation draft It is another input to the compositor, like presence information received through PUBLISH or NOTIFY Information representing identical service or device is joined during merging stage IETF 66 SIMPLE WG Meeting

Example Static Document Published Content Final + = <device> <deviceID>AAAAAB</deviceID> <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A6>Broadway</cl:A6> <cl:HNO>123</cl:HNO> </cl:civilAddress> </gp:location-info> </gp:geopriv> </device> <device> <deviceID>AAAAAB</deviceID> </device> <device> <deviceID>AAAAAB</deviceID> <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A6>Broadway</cl:A6> <cl:HNO>123</cl:HNO> </cl:civilAddress> </gp:location-info> </gp:geopriv> </device> + = IETF 66 SIMPLE WG Meeting

Example Static Document Published Content Final + = <tuple> <status> <basic>closed</basic> </status> <contact priority="0.8"> sip:bob@example.com; opaque="kj444444Hw";gruu </contact> <dm:deviceID> AAAAAB </dm:deviceID> </tuple> <device> <deviceID>AAAAAB</deviceID> <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A6>Broadway</cl:A6> <cl:HNO>123</cl:HNO> </cl:civilAddress> </gp:location-info> </gp:geopriv> </device> <tuple> <status> <basic>open</basic> </status> <contact priority="0.8"> sip:bob@example.com; opaque="kj444444Hw";gruu </contact> </tuple> <tuple> <status> <basic>open</basic> </status> <contact priority="0.8"> sip:bob@example.com; opaque=“kj444444Hw”;gruu </contact> <dm:deviceID> AAAAAB </dm:deviceID> </tuple> <device> <deviceID>AAAAAB</deviceID> <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A6>Broadway</cl:A6> <cl:HNO>123</cl:HNO> </cl:civilAddress> </gp:location-info> </gp:geopriv> </device> + = IETF 66 SIMPLE WG Meeting

Conflict Resolution Allows the compositor to remove inaccurate information Must first detect information conflict, then choose how to resolve it Usage examples: Calendar information reports user in a meeting somewhere, but the meeting has been cancelled User has reported different levels of privacy IETF 66 SIMPLE WG Meeting

Detecting Information Conflict Some information conflict can be easily detected ‘place-is’ ‘privacy’ Location information For other information, conflict is less clear ‘activity’ could be ‘on-the-phone,’ ‘away’ and ‘appointment’ ‘place-type’ could be ‘outside’ and ‘stadium’ IETF 66 SIMPLE WG Meeting

Resolving Information Conflict Keep “better” tuple and discard the other There are many possible methods of conflict resolution Recently published tuple More trustworthy tuple Specific source’s identity Type of source: ‘reported current’, ‘measured device information’, ‘measured by sensors’, ‘reported scheduled’ Value of another element in tuple, such as ‘idle’ or ‘sphere’ In some cases, the conflict is better NOT resolved Keep both tuples intact and let the watcher choose Keep all values and list them all during tuple merging Possibly the best choice for ‘mood’ and ‘activities’ IETF 66 SIMPLE WG Meeting

Tuple Merging Join multiple tuples into one Tuples that logically refer to the same entity All person tuples All service tuples that refer to the same contact URI (eg. the same GRUU) Since conflict resolution has already been done, this step is trivial for these two categories, and no user specification is needed IETF 66 SIMPLE WG Meeting

Composition Policy Format Discard step Derive step Resolve Conflicts step Merge step IETF 66 SIMPLE WG Meeting

Discard Step Service tuples with closed contacts Tuples older than some threshold Devices not associated with a service Example: <discard> <old age="00:30:00.000" /> <tuples-with-closed-contacts /> <devices-without-services> </discard> IETF 66 SIMPLE WG Meeting

Derive Step Made up of a series of rules Each rule has a predicate and added XML content A predicate is one or more conditions that must all be satisfied in order to produce the new content Existence or value of an attribute Time of day (based on <timestamp>) XML patch format is used, with ‘sel’ attributed acting as predicate Multiple Xpath predicates may be used for multiple conditions IETF 66 SIMPLE WG Meeting

Derive Step Example <add sel='//person[place-type/car] \ [fn:hours-from-dateTime(timestamp) > 9 and \ fn:hours-from-dateTime(timestamp) < 12]'> <activities> <driving> </activities> </add> </derive> IETF 66 SIMPLE WG Meeting

Resolve Conflicts Step Conflict detection is based on local policy User may decide how to resolve a conflict A separate policy may be defined for any given element, or for all elements not covered by another policy When several resolution policies are defined for an element, they are tried in order until one succeeds The default policy is to keep both conflicting tuples IETF 66 SIMPLE WG Meeting

Resolve Conflicts Example <conflict element=‘//person/gp:geopriv/gp:location-info/cl:civicAddress/cl:HNO’> <other-attribute attribute='//person/user-input'> <value>active</value> <value>idle</value> </other-attribute> </conflict> <conflict element=“all"> <source-precedence> <source>reported current</source> <source>reported scheduled</source> </source-precedence> </resolve-conflicts> IETF 66 SIMPLE WG Meeting

Merge Step We currently only specify the merging of person tuples Since conflict resolution has been done, all persons should be merged, and no format is needed for this step Merging of tuples for the same service or device is useful for use with static XML document (derivation) IETF 66 SIMPLE WG Meeting

Big Questions User-specified rules or guidelines? Per-presentity or per-watcher? For rule language, per-presentity seems sufficient conflict resolution does not seem to depend on watcher establish “truth”, then tailor it to watcher More complicated tailoring probably requires a programming language IETF 66 SIMPLE WG Meeting

Big Questions - Scope Use cases? Non-presence sources Existing systems of little use - don’t have multiple sources of presence Non-presence sources Yes, should be integrated --> transformation rules IETF 66 SIMPLE WG Meeting

Open Issues for Derivation Should “static derivation” be done through derivation rules, a static XML document or both? IETF 66 SIMPLE WG Meeting

Open Issues for Conflict Resolution How should location divergence be expressed? A special generic attribute is more appropriate than referencing a specific civil address element Should degree of location divergence be supported? IETF 66 SIMPLE WG Meeting

Open Issues for Tuple Merging Is it useful to also merge multiple services associated with same AOR? (eg. when each has its own GRUU) Merging of these requires choosing from element values Are conflict resolution heuristics, such as latest publish, appropriate? There are other heuristics based on the values themselves, such as “give the most conservative privacy value” IETF 66 SIMPLE WG Meeting