WG R. Mahy Internet-Draft SIP Edge LLC Expires: April 4, 2006 Oct 2005 A Document Format for Filtering and Reporting Location Notications in PIDF-LO draft-mahy-geopriv-loc-filters-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 4, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document describes filters which limit asynchronous location notifications to compelling events. The resulting location information is conveyed in existing location formats wrapped in GEOPRIV privacy extensions to the Presence Information Document Format (PIDF-LO). Location disclosure is limited to voluntary disclosure by a notifier that possesses credentials for the named resource. Mahy Expires April 4, 2006 [Page 1] Internet-Draft Location Event Filters Oct 2005 Table of Contents 1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Definition of Location Filter Format . . . . . . . . . . . . . 3 3.1 XML Schema for filter format . . . . . . . . . . . . . . . 11 4. Containment schema . . . . . . . . . . . . . . . . . . . . . . 11 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 6.1 MIME Registration for application/location-delta-filter+xml . . . . . . . . . . 14 6.2 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:location-filter . . . . . . . . . . 14 6.3 Schema Registration For location-filter . . . . . . . . . 15 6.4 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:pidf:geopriv10:containment . . . . 15 6.5 Schema Registration For containment . . . . . . . . . . . 16 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 8.1 Normative References . . . . . . . . . . . . . . . . . . . 16 8.2 Informational References . . . . . . . . . . . . . . . . . 17 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . . 18 Mahy Expires April 4, 2006 [Page 2] Internet-Draft Location Event Filters Oct 2005 1. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [2]. 2. Overview Conveying static location in PIDF-LO [1] bodies is straightforward. However the difficult part about asynchronous notification of location information is that many forms of location are measured as a continous gradient. Unlike notications using discreet quanties, it is difficult to know when a change in location is large enough to warrant notifications. Moreover, different applications require a wide variety of location resolutions. Any optimization made for one application would ultimately result in wasteful polling or a sluggish user interface for other applications. The mechanism described here defines filters in XML [3] documents which limit location notification to events which are of relevance to the subscriber. These filters persist until they are changed with a replacement filter. In addition to the relevant filters, this document also defines a new XML schema [4] which can be included in PIDF-LO documents to indicate that the resource is inside or outside of a container region. 3. Definition of Location Filter Format The granularity of notifications necessary for various geographic location applications varies dramatically. The subscriber should be able to get asynchronous notifications with appropriate granularity and accuracy, without having to poll or flood the network with notifications which are not important to the application. Notifications should only happen when the notification would be considered an Interesting Event to the subscriber. Subscriptions to this event package contain a filter document in the XML document format defined in this section. The terminal elements in this format are defined in terms of existing Geographic Markup Language (GML) [8] data types. The notifications are in PIDF-LO (by default) or any other format acceptable to both the subscriber and notifier. The selection of a subset of GML or specific location format capabilities contained in a PIDF-LO body is a generic issue for the GEOPRIV Working Group to define, and is out of the scope of this document. This document defines the following as an initial list of Interesting Events: Mahy Expires April 4, 2006 [Page 3] Internet-Draft Location Event Filters Oct 2005 1. the resource moves more than a specific distance horizontally or vertically since the last notification 2. the resource exceeds a specific speed 3. the resource enters or exits one or more GML objects (for example, a set of 2-dimensional or 3-dimensional regions) included or referenced in the filter. 4. one or more of the values of the specified address labels has changed for the resource (for example, the A1 value of the civilAddress has changed from California to Nevada) This specification makes use of XML namespaces [5] for identifying location filter documents and document fragments. The namespace URI for elements defined by this specification is a URN [9], using the namespace identifier 'ietf' defined by [10] and extended by [11]. This URN is: urn:ietf:params:xml:ns:location-filter The filter format starts with a top-level XML element called "", which contains one or more filter events. The semantics of multiple elements inside a location-filter is a logical OR. In other words, if any of the individual filter events occurs, the event satisfies the location-filter and triggers a notification. The movedHoriz and movedVert filter events each indicate a minimum horizontal motion or vertical distance (respectively) that the resource must have moved from the location of the resource when the last notification was sent in order to trigger this event. The distance is measured absolutely from the point of last notification rather than in terms of cumulative motion (For example, someone pacing inside a room will not trigger an event if the trigger threshold is slightly larger than the room.) Each of these events can only appear once in a location-filter. These events have an attribute "uom" (for "units of measure"), which indicates the units of the element. The default unit for these events is meters. Similarly, the speedExceeds filter event indicates a minimum horizontal speed of the resource before the speedExceeds event is triggered. This element can appear only once in a location-filter, and has a "uom" attribute which defaults to meters per second if not present. This filter measures the horizontal component of speed in any direction. It does not measure velocity. Note also that there is no corresponding event triggered when speed drops below a threshold. Below are some examples. In the first example if the resource moves 20m in the x,y direction or 3m in the z direction, send a notification: Mahy Expires April 4, 2006 [Page 4] Internet-Draft Location Event Filters Oct 2005 20 3 If the resource exceeds 3 meters per second (10.8 km/h), send a notification: 3 The valueChanges filter event contains a string which is interpreted as an XPath [6] expression evaluated within the context of the location-info element of the PIDF-LO document which would be generated by the notification. The XPath expression MUST evaluate to only a single Xpath node. If the value of any of the elements in the resulting node changes, then the filter event is triggered. Note that the value of the resulting node changes if any of those nodes or subnodes transitions from having a value to having no value or vice versa. A location-filter may contain multiple valueChanges filters. For example, given the following logical PIDF-LO document, If the state (A1), county (A2), city (A3), or postal code (PC) changes, send a notification: Mahy Expires April 4, 2006 [Page 5] Internet-Draft Location Event Filters Oct 2005 PIDF-LO Location Document: US New York New York Broadway 123 Suite 75 10027 yes 2003-06-23T04:57:29Z 2003-06-22T20:57:29Z Filter Document: cl:civilAddress/cl:A1 cl:civilAddress/cl:A2 cl:civilAddress/cl:A3 cl:civilAddress/cl:PC Finally, the "enterOrExit" filter event is triggered when the resource enters or exits a named 2-dimensional or 3-dimensional region or list of regions corresponding to a GML feature. These regions can be defined using inline snippets of GML, or externally referenced using a URI (Uniform Resource Identifier). Notifiers which support this document MUST be able to support 2-dimensional regions and lists of regions, for which the regions can be defined in Mahy Expires April 4, 2006 [Page 6] Internet-Draft Location Event Filters Oct 2005 terms of the GML extentOf a Polygon defined using an exterior LinearRing object. These Polygons are defined using the hierarcy in the figure below. Hierarchy for 2-D Hierarchy for 3-D Objects Objects extentOf Solid Polygon exterior exterior Surface LinearRing patches posList Polygon ... Polygon Similarly, Notifiers MUST be able to support 3-dimensional regions which can be defined as a fixed height vertical projection of such a 2-dimensional Polygon, and lists thereof. Specifically, these are GML Solids defined in terms of an exterior Surface of polygonal patches, such that all included Polygons are either parallel (horizontal) or perpedicular (vertical) to the geoid. The posList for any 2-dimensional region MUST be defined using the EPSG 4326 coordinate reference system. The posList for any 3-dimensional region MUST be defined using the EPSG 4979 coordinate reference system. A location-filter can contain more than one enterOrExit filter event. Notifiers MAY support other more complex geometries or additional coordinate reference systems. How the Subscriber negotiates support for more complex geometries or reference systems is out of the scope of this document. Likewise, this document does not describe how a subscriber discovers the existence of externally referenced features. This topic is out of scope of this document. In most cases Subscribers that use location filters based on enterOrExit events are especially interested in the resource's relationship to those named features. Consequently, the notifier MUST include either a "containment" element for each feature mentioned in the location-filter which has changed its containment properties with respect to the resource since the last notification. These elements are defined in Section 4. The notifier MAY include any other form of location that is relevant. For example, if the resource enters or exits Building 10 (which is defined by specific 2-D or 3-D rectangular coordinates), send a notification: Mahy Expires April 4, 2006 [Page 7] Internet-Draft Location Event Filters Oct 2005 Version in 2-Dimensions: Building 10 37.41188 -121.93243 0 37.41188 -121.93132 0 37.41142 -121.93132 0 37.41142 -121.93242 0 37.41188 -121.93243 0 Version in 3-Dimensions: Building 10 37.41188 -121.93243 0 37.41188 -121.93132 0 37.41142 -121.93132 0 37.41142 -121.93242 0 37.41188 -121.93243 0 Mahy Expires April 4, 2006 [Page 8] Internet-Draft Location Event Filters Oct 2005 37.41188 -121.93243 0 37.41188 -121.93243 0 37.41188 -121.93132 25 37.41188 -121.93132 25 37.41188 -121.93243 0 37.41188 -121.93132 0 37.41188 -121.93132 25 37.41142 -121.93132 25 37.41142 -121.93132 0 37.41188 -121.93132 0 37.41142 -121.93132 0 37.41142 -121.93132 25 37.41142 -121.93242 25 37.41142 -121.93242 0 37.41142 -121.93132 0 37.41142 -121.93243 0 Mahy Expires April 4, 2006 [Page 9] Internet-Draft Location Event Filters Oct 2005 37.41142 -121.93243 25 37.41188 -121.93243 25 37.41188 -121.93243 0 37.41142 -121.93243 0 37.41188 -121.93243 25 37.41188 -121.93132 25 37.41142 -121.93132 25 37.41142 -121.93242 25 37.41188 -121.93243 25 If the resource enters or exits either the parking garage or any of the conference rooms (both of which are externally defined), send a notification: Mahy Expires April 4, 2006 [Page 10] Internet-Draft Location Event Filters Oct 2005 3.1 XML Schema for filter format The XML Schema for this format is defined below. 4. Containment schema This section describes the schema for describing the resource's location relative to a region or list of regions which might contain the resource. (These regions can be defined dynamically in an "enterOrExit" element in a subscription filter, or defined on the notifier using some out-of-band mechanism.) The "pidfResource" element is placed inside the location-info element in a PIDF-LO document. The pidfResource element can contain zero or more Mahy Expires April 4, 2006 [Page 11] Internet-Draft Location Event Filters Oct 2005 "containment" elements. Each containment element has a GML Feature sub-element (of type "FeaturePropertyType") and a mandatory attribute which specifies if the PIDF resource is inside or outside of the feature, or if the position of the resource with respect to the region or region list is undefined. If the subscriber is not authorized to know the relative position, the notifier MUST NOT reveal this private information. The RECOMMENDED way to prevent the subscriber from seeing private location data of this type is to return a containment element whose position attribute is "undefined". Below is an example PIDF-LO document which indicates that the resource is inside building 10, not outside the parking garage, and not permitted to know if the resource is in a conference room. Note that in GML, these features could be referenced by their unique Mahy Expires April 4, 2006 [Page 12] Internet-Draft Location Event Filters Oct 2005 identifiers instead. Building 10 yes 2003-06-23T04:57:29Z 2003-06-22T20:57:29Z 5. Security Considerations Location information is typically very privacy sensitive. As such, GEOPRIV requires that notifications MUST be encrypted and integrity protected. Additional privacy and security considerations are discussed in detail in [7]. Mahy Expires April 4, 2006 [Page 13] Internet-Draft Location Event Filters Oct 2005 6. IANA Considerations 6.1 MIME Registration for application/location-delta-filter+xml MIME media type name: application MIME subtype name: application/location-delta-filter+xml Required parameters: none. Optional parameters: none. Encoding considerations: Same as for XML. Security considerations: See the "Security Considerations" section in this document. Interoperability considerations: none Published specification: This document. Applications which use this media: The application/ location-delta-filter+xml application subtype supports the exchange of filters to throttle asynchronous notifications of location information. Additional information: 1. Magic number(s): N/A 2. File extension(s): N/A 3. Macintosh file type code: N/A 6.2 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:location-filter This section registers a new XML namespace, as per the guidelines in [11]. URI: The URI for this namespace is urn:ietf:params:xml:ns:location-filter. Registrant Contact: IETF, GEOPRIV working group, , as delegated by the IESG . Mahy Expires April 4, 2006 [Page 14] Internet-Draft Location Event Filters Oct 2005 XML: BEGIN Location Filter Namespace

Namespace for PIDF-LO Location Filters

urn:ietf:params:xml:ns:location-filter

See RFCXXXX.

END 6.3 Schema Registration For location-filter This specification registers a schema, as per the guidelines in in [11]. URI: please assign. Registrant Contact: IETF, GEOPRIV Working Group (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.org). XML: The XML can be found as the sole content of Section 3.1. 6.4 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:pidf:geopriv10:containment This section registers a new XML namespace, as per the guidelines in [11]. URI: The URI for this namespace is urn:ietf:params:xml:ns:pidf:geopriv10:containment. Registrant Contact: IETF, GEOPRIV working group, , as delegated by the IESG . XML: Mahy Expires April 4, 2006 [Page 15] Internet-Draft Location Event Filters Oct 2005 BEGIN PIDF-LO Location Containment Namespace

Namespace for PIDF-LO location containment elements

urn:ietf:params:xml:ns:pidf:geopriv10:containment

See RFCXXXX.

END 6.5 Schema Registration For containment This specification registers a schema, as per the guidelines in in [11]. URI: please assign. Registrant Contact: IETF, GEOPRIV Working Group (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.orgw). XML: The XML can be found as the sole content of Section 4. 7. Acknowledgments Thanks to Allan Thompson, James Winterbottom, and Martin Thomson for their comments. 8. References 8.1 Normative References [1] Peterson, J., "A Presence-based GEOPRIV Location Object Format", draft-ietf-geopriv-pidf-lo-03 (work in progress), September 2004. [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [3] Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml, October 2000, . Mahy Expires April 4, 2006 [Page 16] Internet-Draft Location Event Filters Oct 2005 [4] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, "XML Schema Part 1: Structures", W3C REC-xmlschema-1, May 2001, . [5] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML", W3C REC-xml-names, January 1999, . [6] Clark, J. and S. DeRose, "XML Path Language (XPath) Version 1.0", W3C Recommendation xpath, November 1999, . [7] Winterbottom, J., "GEOPRIV PIDF-LO Usage Clarification, Considerations and Recommendations", draft-winterbottom-geopriv-pdif-lo-profile-00 (work in progress), February 2005. [8] OpenGIS, "Open Geography Markup Language (GML) Implementation Specification", OpenGIS OGC 02-023r4, January 2003, . 8.2 Informational References [9] Moats, R., "URN Syntax", RFC 2141, May 1997. [10] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999. [11] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. Author's Address Rohan Mahy SIP Edge LLC Email: rohan@ekabal.com Mahy Expires April 4, 2006 [Page 17] Internet-Draft Location Event Filters Oct 2005 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Mahy Expires April 4, 2006 [Page 18]