Network Working Group A. Forte
Internet-Draft H. Schulzrinne
Intended status: Standards Track Columbia University
Expires: May 7, 2009 November 3, 2008
Location-to-Service Translation Protocol (LoST) Extensions
draft-forte-ecrit-lost-extensions-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 May 7, 2009.
Abstract
An important class of location-based services answer the question
"What instances of this service are closest to me?" Examples include
finding restaurants, gas stations, stores, automated teller machines,
wireless access points (hot spots) or parking spaces. Currently, the
Location-to-Service Translation (LoST) protocol only supports mapping
locations to a single service based on service regions. This
document describes an extension that allows queries "N nearest" and
"within distance X".
Forte & Schulzrinne Expires May 7, 2009 [Page 1]
Internet-Draft LoST Extensions November 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements notation . . . . . . . . . . . . . . . . . . . . 3
3. Service Region . . . . . . . . . . . . . . . . . . . . . . . . 3
4. New Query Types: "N nearest" and "within distance X" . . . . . 4
5. LoST Extensions . . . . . . . . . . . . . . . . . . . . . . . 4
5.1. New Use of Circular Shape in Queries . . . . . . . . . . . 4
5.2. Limiting the Number of Returned Service URIs . . . . . . . 5
5.3. The <serviceLocation> Element in Responses . . . . . . . . 6
6. Distance Calculation: General Considerations . . . . . . . . . 9
7. Complex Queries . . . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
9.1. LoST Extensions Relax NG Schema Registration . . . . . . . 10
9.2. LoST Extensions Namespace Registration . . . . . . . . . . 10
10. Non-Normative RELAX NG Schema in XML Syntax . . . . . . . . . 10
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Intellectual Property and Copyright Statements . . . . . . . . . . 12
Forte & Schulzrinne Expires May 7, 2009 [Page 2]
Internet-Draft LoST Extensions November 2008
1. Introduction
The Location-to-Service Translation (LoST) protocol [RFC5222] maps
service identifiers (URNs) and civic or geospatial information to
service URIs, based on service regions. While motivated by mapping
locations to the public safety answering point (PSAP) serving that
location, the protocol has been designed to generalize to other
location mapping services.
However, the current LoST query model assumes that each service URI
has a service region and that service regions do not overlap. This
fits the emergency services model, where the service region of a PSAP
is given by jurisdictional boundaries, but does not work as well for
other services that do not have clearly defined boundaries. For
example, any given location is likely served by a number of different
restaurants, depending on how far the prospective customer is willing
to walk or drive.
We extend LoST with two additional queries, giving the protocol the
ability to find the N nearest instances of a particular service and
all services within a given radius.
2. Requirements notation
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 [RFC2119].
3. Service Region
In the LoST protocol, the <findServiceResponse> message includes a
service region [RFC5222]. This is the geographical area for which a
query will always receive the same response. Because of this, the
LoST client will issue a new query only when it has moved out of its
current service region.
In emergency services, as soon as the service region changes, the
client queries the LoST server in order to discover the new PSAP.
This is important since clients need to know their PSAP before an
emergency occurs, so that no time is wasted in discovering the
correct PSAP during the emergency.
Other location-based services are not as critical as emergency
services, and points of interest can be discovered on demand, at the
time they are needed and not before. Because of this, for location-
based services other than emergency services, service regions will be
Forte & Schulzrinne Expires May 7, 2009 [Page 3]
Internet-Draft LoST Extensions November 2008
of little or no use.
4. New Query Types: "N nearest" and "within distance X"
The two new types of queries we introduce are "N nearest" and "within
distance X". The former returns the N points of interest closest to
the client's physical location, the latter discovers all those points
of interest residing within a given distance from the client's
physical location.
5. LoST Extensions
For queries "within distance X", the LoST client needs to specify to
the server the range within which instances of a particular service
should be searched. In order to do this, we make use of the circular
shape [PIDF-LO] in LoST queries.
For queries "N nearest", the lost client needs to let the server know
N, that is, the maximum number of service URIs to be returned in a
response. In order to specify this, we introduce the <limit>
element.
Also, we introduce a new element in LoST responses, namely
<serviceLocation>. This new element is used by the server to
indicate to the client the physical location of points of interest.
In doing so, the client can compute the distance and other metrics
between its current location and the points of interest.
5.1. New Use of Circular Shape in Queries
In [PIDF-LO] different shapes are defined in order to represent a
point and an area of uncertainty within which the user might be
situated. In order to extend LoST to support "N nearest" and "within
distance X" queries, we use the PIDF-LO circular shape [PIDF-LO]. In
the present context, rather than seeing the circle as an area of
uncertainty for the physical location of the client, we see it as the
area within which we want to find a service.
Figure 1 shows a <findService> geodetic query using the circular
shape. In particular, with the query shown in Figure 1, we are
asking the LoST server to send us a list of service URNs for pizza
places within 850.24 meters from our approximate position specified
in <p2:pos>.
Forte & Schulzrinne Expires May 7, 2009 [Page 4]
Internet-Draft LoST Extensions November 2008
<?xml version="1.0" encoding="UTF-8"?>
<findService
xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:p2="http://www.opengis.net/gml"
serviceBoundary="value"
recursive="true">
<location id="6020688f1ce1896d" profile="geodetic-2d">
<p2:Circle srsName="urn:ogc:def:crs:EPSG::4326">
<p2:pos>37.775 -122.422</p2:pos>
<p2:radius uom="urn:ogc:def:uom:EPSG::9001">
850.24
</p2:radius>
</p2:Circle>
</location>
<service>urn:service:local.pizza</service>
</findService>
Figure 1: A 'within distance X' <findService> geodetic query using
the circular shape
5.2. Limiting the Number of Returned Service URIs
Limiting the number of results is helpful, particularly for mobile
devices with limited bandwidth. For "N closest" queries, the client
needs to be able to tell the server to return no more than N service
URIs. In order to specify such limit, we define a new namespace
"ext" for Lost extensions and introduce a new element, namely <ext:
limit>, conveyed inside the <findService> element defined in
[RFC5222]. Figures 2 and 3 show a <findService> geodetic query where
the client asks the server to return no more than 20 service URIs.
In particular, Figure 2 shows a 'N closest' query while Figure 3
shows a query which is a combination of 'N closest' and 'within
distance X'. When receiving such queries, the LoST server will
return a list of no more than 20 points of interest.
If the available points of interest are more than N, then the server
has to identify the N points of interest closest to the client's
physical location and include those in the response.
Forte & Schulzrinne Expires May 7, 2009 [Page 5]
Internet-Draft LoST Extensions November 2008
<?xml version="1.0" encoding="UTF-8"?>
<findService xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:p2="http://www.opengis.net/gml"
xmlns:ext="http://www.thisisnotdoneyet.net"
serviceBoundary="value" recursive="true">
<ext:limit>20</ext:limit>
<location id="6020688f1ce1896d" profile="geodetic-2d">
<p2:Point id="point1" srsName="urn:ogc:def:crs:EPSG::4326">
<p2:pos>40.7128 -74.0092</p2:pos>
</p2:Point>
</location>
<service>urn:service:food.pizza</service>
</findService>
Figure 2: A 'N closest' <findService> geodetic query with the new
<limit> element
<?xml version="1.0" encoding="UTF-8"?>
<findService
xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:p2="http://www.opengis.net/gml"
xmlns:ext="http://www.thisisnotdoneyet.net"
serviceBoundary="value"
recursive="true">
<ext:limit>20</ext:limit>
<location id="6020688f1ce1896d" profile="geodetic-2d">
<p2:Circle srsName="urn:ogc:def:crs:EPSG::4326">
<p2:pos>37.775 -122.422</p2:pos>
<p2:radius uom="urn:ogc:def:uom:EPSG::9001">
850.24
</p2:radius>
</p2:Circle>
</location>
<service>urn:service:local.pizza</service>
</findService>
Figure 3: A <findService> geodetic query with the new <limit>
element. This query is a combination of 'N closest' and 'within
distance X' queries.
5.3. The <serviceLocation> Element in Responses
It is important for the LoST client to know the location of a point
of interest so that distance, route and other metrics can be
computed. We introduce a new element, namely <serviceLocation>. The
<serviceLocation> element contains the geodetic coordinates of a
Forte & Schulzrinne Expires May 7, 2009 [Page 6]
Internet-Draft LoST Extensions November 2008
point of service and MUST be contained in a <mapping> element. In
responses such as <findServiceResponse> [RFC5222], a list of service
URIs, each with its own <serviceLocation> element, MUST be returned.
The order of service URIs in the list is not relevant.
The <serviceLocation> element has one single attribute, 'profile', in
order to specify the profile used. Only geodetic profiles SHOULD be
used as the computation of the distance, route and other metrics
would at some point require geocoding of the civic address in
geodetic coordinates. Because of this, the position specified in
<serviceLocation> SHOULD be represented by using the <Point> element.
The <Point> element is described in Section 12.2 of [RFC5222] and in
Section 5.2.1 of [PIDF-LO]. Figure 4 shows a <findServiceResponse>
answer containing two location-to-service-URI mappings.
It is important to notice that since service regions are not relevant
in the present context, they are not present in the response.
NOTE: The <locationUsed> element cannot be extended for this purpose
as it is defined outside of the <mapping> element. In particular, in
a response the <locationUsed> element is always one, while the number
of service URIs is typically more than one.
There are situations, however, in which it is helpful to include a
civic address together with the geodetic coordinates of a point of
service. Usually, databases already contain the civic address of
points of interest and for devices with limited capabilities it is
not always possible to perform decoding of geocoordinates in order to
determine the civic address. Because of this, including also the
civic address in a response, can be useful. In order to do this, we
include the <civicAddress> element as defined in [RFC5139] in each
<mapping> element. Figure 4 shows a <findServiceResponse> answer
with the <civicAddress> element.
<?xml version="1.0" encoding="UTF-8"?>
<findServiceResponse xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:p2="http://www.opengis.net/gml">
<mapping
expires="2007-01-01T01:44:33Z"
lastUpdated="2006-11-01T01:00:00Z"
source="authoritative.example"
sourceId="7e3f40b098c711dbb6060800200c9a66">
<displayName xml:lang="it">
Che bella pizza e all' anima da' pizza da Toto'
</displayName>
<service>urn:service:local.pizza</service>
<uri>sip:chebella@example.com</uri>
Forte & Schulzrinne Expires May 7, 2009 [Page 7]
Internet-Draft LoST Extensions November 2008
<uri>xmpp:chebella@example.com</uri>
<serviceNumber>2129397040</serviceNumber>
<serviceLocation profile="geodetic-2d">
<p2:Point id="point1" srsName="urn:ogc:def:crs:EPSG:4326">
<p2:pos>33.665 -112.432</p2:pos>
</p2:Point>
</serviceLocation>
<civicAddress
xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>US</country>
<A1>New York</A1>
<A3>New York</A3>
<A6>Broadway</A6>
<HNO>321</HNO>
<PC>10027</PC>
</civicAddress>
</mapping>
<mapping
expires="2007-01-01T01:44:33Z"
lastUpdated="2006-11-01T01:00:00Z"
source="authoritative.example"
sourceId="7e3f40b098c711dbb6060800200c9b356">
<displayName xml:lang="en">
King Mario's Pizza
</displayName>
<service>urn:service:local.pizza</service>
<uri>sip:marios@example.com</uri>
<uri>xmpp:marios@example.com</uri>
<serviceNumber>2129397157</serviceNumber>
<serviceLocation profile="geodetic-2d">
<p2:Point id="point1" srsName="urn:ogc:def:crs:EPSG:4326">
<p2:pos>33.683 -112.412</p2:pos>
</p2:Point>
</serviceLocation>
<civicAddress
xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>US</country>
<A1>New York</A1>
<A3>New York</A3>
<A6>Amsterdam Avenue</A6>
<HNO>123</HNO>
<PC>10027</PC>
</civicAddress>
</mapping>
<path>
<via source="resolver.example"/>
<via source="authoritative.example"/>
</path>
Forte & Schulzrinne Expires May 7, 2009 [Page 8]
Internet-Draft LoST Extensions November 2008
<locationUsed id="6020688f1ce1896d"/>
</findServiceResponse>
Figure 4: A <findServiceResponse> answer
6. Distance Calculation: General Considerations
In order to find the closest point of interest to the client's
physical location, the LoST server needs to compute the distance
between the client's location and the location of all available
points of interest. How to compute such distance is out of the scope
of this document. We can say, however, that while with geodetic
coordinates such computation is straightforward, when using civic
location, geo-coding would be required previous to the computation of
the distance.
Distance between client and point of interest might not always be a
good metric. For example, two points can be close in terms of
distance but there could be an obstacle such as a river in between
them. Because of this, computing a route rather than just straight-
line distance, might represent a more accurate way to solve the
problem. Route computation does not have to happen on the server
side but rather, could be performed on the LoST client itself, after
receiving the list of service URIs.
7. Complex Queries
Often, people select services not just based on proximity, but also
on a range of other criteria, such as their reputation, the expected
price range, hours of operation or whether the service is accepting
service requests. While it would be possible to extend the LoST
response to incorporate additional information, such information is
likely to be highly service-dependent, may change frequently and may
well be offered by multiple third parties. For example, there are
multiple services that rate restaurants. The availability of seats
in restaurants may change hour by hour. Thus, we discourage attempts
to extend the LoST response to include such information. Instead,
clients should query the service URIs returned to obtain such
information, either as a human-readable web page or as a standardized
service-specific data format, e.g., as a microformat.
8. Security Considerations
The same security considerations as in [RFC5222] apply.
Forte & Schulzrinne Expires May 7, 2009 [Page 9]
Internet-Draft LoST Extensions November 2008
9. IANA Considerations
9.1. LoST Extensions Relax NG Schema Registration
TODO.
9.2. LoST Extensions Namespace Registration
TODO.
10. Non-Normative RELAX NG Schema in XML Syntax
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="urn:ietf:params:xml:ns:lost1"
xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
xmlns:ls="urn:ietf:params:xml:ns:lost1"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<div>
<ls:mapping>
...
...
<a:documentation>
Location information about the returned point of service.
</a:documentation>
<define name="serviceLocation">
<element name="serviceLocation">
<ref name="ls:locationInformation"/>
</element>
</define>
</ls:mapping>
</div>
<div xmlns:ext="http://www.thisisnotdoneyet.net">
<a:documentation>
A limit to the number of returned results.
</a:documentation>
<define name="ext:limit">
<element name="ext:limit">
<data type="positiveInteger"/>
</element>
</define>
</div>
Forte & Schulzrinne Expires May 7, 2009 [Page 10]
Internet-Draft LoST Extensions November 2008
>
11. References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5222] Hardie, T., Newton, A., Schulzrinne, H., and H.
Tschofenig, "LoST: A Location-to-Service Translation
Protocol", RFC 5222, August 2008.
[RFC5139] Thomson, M. and J. Winterbottom, "Revised Civic Location
Format for Presence Information Data Format Location
Object (PIDF-LO)", RFC 5139, February 2008.
[PIDF-LO] Winterbottom, J., Thomson, M., and H. Tschofenig, "GEOPRIV
PIDF-LO Usage Clarification, Considerations and
Recommendations. IETF Internet Draft (Work in Progress)",
February 2008.
Authors' Addresses
Andrea G. Forte
Columbia University
Department of Computer Science
1214 Amsterdam Avenue, MC 0401
New York, NY 10027
USA
Email: andreaf@cs.columbia.edu
Henning Schulzrinne
Columbia University
Department of Computer Science
1214 Amsterdam Avenue, MC 0401
New York, NY 10027
USA
Email: hgs@cs.columbia.edu
Forte & Schulzrinne Expires May 7, 2009 [Page 11]
Internet-Draft LoST Extensions November 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
Forte & Schulzrinne Expires May 7, 2009 [Page 12]