WG R. Mahy Internet-Draft Plantronics Intended status: Standards Track March 4, 2007 Expires: September 5, 2007 A Document Format for Filtering and Reporting Location Notications in the Presence Information Document Format Location Object (PIDF-LO) draft-ietf-geopriv-loc-filters-01.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 September 5, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). 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 September 5, 2007 [Page 1] Internet-Draft Location Event Filters March 2007 Table of Contents 1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Definition of Location Filter Format . . . . . . . . . . . . . 3 3.1. Horizontal and Vertical Movement . . . . . . . . . . . . . 4 3.2. Changes in value . . . . . . . . . . . . . . . . . . . . . 5 3.3. Containment Within a Region . . . . . . . . . . . . . . . 6 3.4. XML Schema for filter format . . . . . . . . . . . . . . . 9 4. Containment schema . . . . . . . . . . . . . . . . . . . . . . 10 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 6.1. MIME Registration for application/location-delta-filter+xml . . . . . . . . . . 13 6.2. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:location-filter . . . . . . . . . . 13 6.3. Schema Registration For location-filter . . . . . . . . . 14 6.4. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:pidf:geopriv10:containment . . . . 14 6.5. Schema Registration For containment . . . . . . . . . . . 15 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 8.1. Normative References . . . . . . . . . . . . . . . . . . . 15 8.2. Informational References . . . . . . . . . . . . . . . . . 16 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 16 Intellectual Property and Copyright Statements . . . . . . . . . . 17 Mahy Expires September 5, 2007 [Page 2] Internet-Draft Location Event Filters March 2007 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 continuous gradient. Unlike notifications using discreet quantities, it is difficult to know when a change in location is large enough to warrant a notification. 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. This section of this document defines an XML filter format to describe interesting conditions or events. The terminal elements in this format are defined in terms of existing Geographic Markup Language (GML) [9] data types. This document also defines a MIME type for this location filter format: application/location-delta-filter+xml. This document defines the following as an initial list of Interesting Events: Mahy Expires September 5, 2007 [Page 3] Internet-Draft Location Event Filters March 2007 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 [10], using the namespace identifier 'ietf' defined by [11] and extended by [12]. 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. 3.1. Horizontal and Vertical Movement 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 Mahy Expires September 5, 2007 [Page 4] Internet-Draft Location Event Filters March 2007 20m in the x,y direction or 3m in the z direction, send a notification: 20 3 If the resource exceeds 3 meters per second (10.8 km/h), send a notification: 3 3.2. Changes in value 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. Note that the example below needs to be updated to use the revised civic location format. 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 September 5, 2007 [Page 5] Internet-Draft Location Event Filters March 2007 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 3.3. Containment Within a Region Finally, the "enterOrExit" filter event is satisfied when the resource enters or exits a named 2-dimensional or 3-dimensional region described by one of the shapes defined in [8]. These regions can be defined using inline snippets of GML, or externally referenced using a URI (Uniform Resource Identifier). Mahy Expires September 5, 2007 [Page 6] Internet-Draft Location Event Filters March 2007 These regions need a unique name or identifier so location with respect to these regions can be described later (for example in a notification). These regions are currently described as GML Features so they can be named with a GML Name. Ideally each region could be described instead as a GML geometry with some associated name or identifier. Any 2-dimensional region MUST be defined using the EPSG 4326 coordinate reference system. 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: Version in 2-Dimensions: Building 10 Version in 3-Dimensions: Building 10 37.41188 -121.93243 0 37.41142 -121.93242 0 37.41142 -121.93132 0 37.41188 -121.93132 0 37.41188 -121.93243 0 24 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 September 5, 2007 [Page 8] Internet-Draft Location Event Filters March 2007 3.4. XML Schema for filter format The XML Schema for this format is defined below. Mahy Expires September 5, 2007 [Page 9] Internet-Draft Location Event Filters March 2007 4. Containment schema This section describes a 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 "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. Mahy Expires September 5, 2007 [Page 10] Internet-Draft Location Event Filters March 2007 In a future version of this specification, the GML Feature can become a reference to a more preferable name or identifier type. The GML Feature type is only used because it includes a name to reference it. 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". Note that in some cases, the containment information may be more interesting than the actual raw location. It is not necessary to convey a concrete civic or geo location in a PIDF-LO if the subscriber is only interested in or authorized to see the containment status. Mahy Expires September 5, 2007 [Page 11] Internet-Draft Location Event Filters March 2007 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 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. Mahy Expires September 5, 2007 [Page 12] Internet-Draft Location Event Filters March 2007 Additional privacy and security considerations are discussed in detail in [7]. 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 [12]. URI: The URI for this namespace is urn:ietf:params:xml:ns:location-filter. Mahy Expires September 5, 2007 [Page 13] Internet-Draft Location Event Filters March 2007 Registrant Contact: IETF, GEOPRIV working group, , as delegated by the IESG . 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 [12]. 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.4. 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 [12]. 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 September 5, 2007 [Page 14] Internet-Draft Location Event Filters March 2007 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 [12]. 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 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", RFC 4119, December 2005. [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, . [4] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, "XML Mahy Expires September 5, 2007 [Page 15] Internet-Draft Location Event Filters March 2007 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] Tschofenig, H., "GEOPRIV PIDF-LO Usage Clarification, Considerations and Recommendations", draft-ietf-geopriv-pdif-lo-profile-05 (work in progress), October 2006. [8] Thomson, M., "Geodetic Shapes for the Representation of Uncertainty in PIDF-LO", draft-thomson-geopriv-geo-shape-03 (work in progress), December 2006. [9] OpenGIS, "Open Geography Markup Language (GML) Implementation Specification", OpenGIS OGC 02-023r4, January 2003, . 8.2. Informational References [10] Moats, R., "URN Syntax", RFC 2141, May 1997. [11] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999. [12] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. Author's Address Rohan Mahy Plantronics 345 Encincal Street Santa Cruz, CA USA Email: rohan@ekabal.com Mahy Expires September 5, 2007 [Page 16] Internet-Draft Location Event Filters March 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). 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. 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, THE IETF TRUST 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. Intellectual Property 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Mahy Expires September 5, 2007 [Page 17]