draft-ietf-ecrit-specifying-holes-01.txt   draft-ietf-ecrit-specifying-holes-02.txt 
ECRIT J. Winterbottom ECRIT J. Winterbottom
Internet-Draft M. Thomson Internet-Draft M. Thomson
Intended status: BCP Andrew Corporation Intended status: BCP Andrew Corporation
Expires: April 16, 2009 October 13, 2008 Expires: September 9, 2010 March 8, 2010
Specifying Holes in LoST Service Boundaries Specifying Holes in LoST Service Boundaries
draft-ietf-ecrit-specifying-holes-01.txt draft-ietf-ecrit-specifying-holes-02
Abstract
This document describes how holes can be specified in geodetic
service boundaries. One means of implementing a search solution in a
service database, such as one might provide with a LoST server, is
described.
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any This Internet-Draft is submitted to IETF in full conformance with the
applicable patent or other IPR claims of which he or she is aware provisions of BCP 78 and BCP 79.
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 Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 16, 2009. This Internet-Draft will expire on September 9, 2010.
Abstract Copyright Notice
This document describes how holes can be specified in geodetic Copyright (c) 2010 IETF Trust and the persons identified as the
service boundaries. One means of implementing a search solution in a document authors. All rights reserved.
service database, such as one might provide with a LoST server, is
described. This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Specifying Holes . . . . . . . . . . . . . . . . . . . . . . . 5 3. Specifying Holes . . . . . . . . . . . . . . . . . . . . . . . 5
4. GML Polygons . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. GML Polygons . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Holes in GML Polygons . . . . . . . . . . . . . . . . . . . . 9 5. Holes in GML Polygons . . . . . . . . . . . . . . . . . . . . 9
6. Service Boundary Specification and Selection Algorithm . . . . 10 6. Service Boundary Specification and Selection Algorithm . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1. Normative References . . . . . . . . . . . . . . . . . . 16 10.1. Normative References . . . . . . . . . . . . . . . . . . 16
10.2. Informative References . . . . . . . . . . . . . . . . . 16 10.2. Informative References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17
Intellectual Property and Copyright Statements . . . . . . . . . . 18
1. Introduction 1. Introduction
The LoST protocol [RFC5222] describes a protocol that's primary The LoST protocol [RFC5222] describes a protocol that's primary
purpose is to map service and locations to destination addresses. purpose is to map service and locations to destination addresses.
LoST does this by provisioning boundary maps or areas against service LoST does this by provisioning boundary maps or areas against service
URNs. The boundary is a polygon made up of sets of geodetic URNs. The boundary is a polygon made up of sets of geodetic
coordinates specifying an enclosed area. In some circumstances an coordinates specifying an enclosed area. In some circumstances an
area enclosed by a polygon, also known as an exterior polygon, may area enclosed by a polygon, also known as an exterior polygon, may
contain exception areas, or holes, that for the same service must contain exception areas, or holes, that for the same service must
skipping to change at page 8, line 37 skipping to change at page 8, line 37
<gml:pos>43.311 -73.122</gml:pos> <!--D--> <gml:pos>43.311 -73.122</gml:pos> <!--D-->
<gml:pos>43.411 -73.222</gml:pos> <!--C--> <gml:pos>43.411 -73.222</gml:pos> <!--C-->
<gml:pos>43.411 -73.322</gml:pos> <!--B--> <gml:pos>43.411 -73.322</gml:pos> <!--B-->
<gml:pos>43.311 -73.422</gml:pos> <!--A--> <gml:pos>43.311 -73.422</gml:pos> <!--A-->
</gml:LinearRing> </gml:LinearRing>
</gml:exterior> </gml:exterior>
</gml:Polygon> </gml:Polygon>
Figure 5: Hexagon and Associated GML Figure 5: Hexagon and Associated GML
NOTE that polygon vertices in Figure 5 are expressed using <pos> Note that polygon vertices in Figure 5 are expressed using <pos>
elements for clarity. The vertices can also be expressed using a elements for clarity. The vertices can also be expressed using a
<posList> element. <posList> element.
5. Holes in GML Polygons 5. Holes in GML Polygons
A hole is specified in the polygon by defining an interior boundary. A hole is specified in the polygon by defining an interior boundary.
The points defining the internal boundary define the area represented The points defining the internal boundary define the area represented
by the hole in the primary (exterior) polygon. The shaded area in by the hole in the primary (exterior) polygon. The shaded area in
Figure 6 is represented by the 4 points of the interior boundary Figure 6 is represented by the 4 points of the interior boundary
specified by (w,z,y,x). specified by (w,z,y,x).
B-------------C F-------------E
/ \ / \
/ w-------------x \ / w-------------x \
/ |/////////////| \ / |/////////////| \
A |/////////////| D A |/////////////| D
\ |/////////////| / \ |/////////////| /
\ z-------------y / \ z-------------y /
\ / \ /
F-------------E B-------------C
<gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326"> <gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326">
<gml:exterior> <gml:exterior>
<gml:LinearRing> <gml:LinearRing>
<gml:pos>43.311 -73.422</gml:pos> <!--A--> <gml:pos>43.311 -73.422</gml:pos> <!--A-->
<gml:pos>43.111 -73.322</gml:pos> <!--F--> <gml:pos>43.111 -73.322</gml:pos> <!--B-->
<gml:pos>43.111 -73.222</gml:pos> <!--E--> <gml:pos>43.111 -73.222</gml:pos> <!--C-->
<gml:pos>43.311 -73.122</gml:pos> <!--D--> <gml:pos>43.311 -73.122</gml:pos> <!--D-->
<gml:pos>43.511 -73.222</gml:pos> <!--C--> <gml:pos>43.511 -73.222</gml:pos> <!--E-->
<gml:pos>43.511 -73.322</gml:pos> <!--B--> <gml:pos>43.511 -73.322</gml:pos> <!--F-->
<gml:pos>43.311 -73.422</gml:pos> <!--A--> <gml:pos>43.311 -73.422</gml:pos> <!--A-->
</gml:LinearRing> </gml:LinearRing>
</gml:exterior> </gml:exterior>
<gml:interior> <gml:interior>
<gml:LinearRing> <gml:LinearRing>
<gml:pos>43.411 -73.322</gml:pos> <!--w--> <gml:pos>43.411 -73.322</gml:pos> <!--w-->
<gml:pos>43.211 -73.322</gml:pos> <!--z-->
<gml:pos>43.211 -73.222</gml:pos> <!--y-->
<gml:pos>43.411 -73.222</gml:pos> <!--x--> <gml:pos>43.411 -73.222</gml:pos> <!--x-->
<gml:pos>43.211 -73.222</gml:pos> <!--y-->
<gml:pos>43.211 -73.322</gml:pos> <!--z-->
<gml:pos>43.411 -73.322</gml:pos> <!--w--> <gml:pos>43.411 -73.322</gml:pos> <!--w-->
</gml:LinearRing> </gml:LinearRing>
</gml:interior> </gml:interior>
</gml:Polygon> </gml:Polygon>
Figure 6: Hexagon with Hole Figure 6: Hexagon with Hole
Interior parts are specified in clockwise direction, such that the
upward normal is opposite to the upward normal of the exterior part.
6. Service Boundary Specification and Selection Algorithm 6. Service Boundary Specification and Selection Algorithm
A service boundary is represented by a polygon that may have many A service boundary is represented by a polygon that may have many
vertices. The enclosed area of the polygon represents the area in vertices. The enclosed area of the polygon represents the area in
which a service, expressed as a service URN, maps to a single URI. which a service, expressed as a service URN, maps to a single URI.
Figure 6 shall be used to illustrate two service boundaries. The Figure 6 is used to illustrate two service boundaries. The first
first service boundary A->F shall be referred to as area-A, and the service boundary A->F shall be referred to as area-A, and the second
second service boundary w->z shall be referred to as area-w. Further service boundary w->z shall be referred to as area-w. Furthermore,
more area-A is directly represented by the GML encoding provided in area-A is directly represented by the GML encoding provided in
Figure 6. Area-w is represented as a hole in area-A by the interior Figure 6. Area-w is represented as a hole in area-A by the interior
boundary. Since area-w is also a service boundary, a separate boundary. Since area-w is also a service boundary, a separate
polygon describing this area is also required and is shown in polygon describing this area is also required and is shown in
Figure 7. Figure 7 (note the reversal of the vertices).
<gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326"> <gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326">
<gml:exterior> <gml:exterior>
<gml:LinearRing> <gml:LinearRing>
<gml:pos>43.411 -73.322</gml:pos> <!--w--> <gml:pos>43.411 -73.322</gml:pos> <!--w-->
<gml:pos>43.211 -73.322</gml:pos> <!--z--> <gml:pos>43.211 -73.322</gml:pos> <!--z-->
<gml:pos>43.211 -73.222</gml:pos> <!--y--> <gml:pos>43.211 -73.222</gml:pos> <!--y-->
<gml:pos>43.411 -73.222</gml:pos> <!--x--> <gml:pos>43.411 -73.222</gml:pos> <!--x-->
<gml:pos>43.411 -73.322</gml:pos> <!--w--> <gml:pos>43.411 -73.322</gml:pos> <!--w-->
</gml:LinearRing> </gml:LinearRing>
</gml:exterior> </gml:exterior>
</gml:Polygon> </gml:Polygon>
Figure 7: GML for Area-w Figure 7: GML for Area-w
If this data were in a LoST server the data mappings may look similar If this data were in a LoST server the data mappings may look similar
to the example in Figure 8. This is an example only and does not to the example in Figure 8. This is an example only and does not
represent actual LoST server provisioning or data transfer records. represent actual LoST server provisioning or data transfer records.
The example XML will not complie. The example XML will not complie.
<?xml version="1.0" encoding="UTF-8"?> <mapping xmlns="urn:ietf:params:xml:ns:lost1"
<entry> expires="2010-12-25T09:44:33Z"
<name> Outer Area Police Department </name> lastUpdated="2010-03-08T03:48:22Z"
source="authoritative.foo.example"
sourceId="7e3f40b098c711dbb606011111111111">
<displayName xml:lang="en">Outer Area Police</displayName>
<service>urn:service:sos.police</service> <service>urn:service:sos.police</service>
<serviceBoundary profile="geodetic-2d"> <serviceBoundary profile="geodetic-2d">
<gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326"> <gml:Polygon xmlns:gml="http://www.opengis.net/gml"
srsName="urn:ogc:def:crs:EPSG::4326">
<gml:exterior> <gml:exterior>
<gml:LinearRing> <gml:LinearRing>
<gml:pos>43.311 -73.422</gml:pos> <gml:pos>43.311 -73.422</gml:pos>
<gml:pos>43.111 -73.322</gml:pos> <gml:pos>43.111 -73.322</gml:pos>
<gml:pos>43.111 -73.222</gml:pos> <gml:pos>43.111 -73.222</gml:pos>
<gml:pos>43.311 -73.122</gml:pos> <gml:pos>43.311 -73.122</gml:pos>
<gml:pos>43.511 -73.222</gml:pos> <gml:pos>43.511 -73.222</gml:pos>
<gml:pos>43.511 -73.322</gml:pos> <gml:pos>43.511 -73.322</gml:pos>
<gml:pos>43.311 -73.422</gml:pos> <gml:pos>43.311 -73.422</gml:pos>
</gml:LinearRing> </gml:LinearRing>
skipping to change at page 11, line 25 skipping to change at page 11, line 27
<gml:pos>43.211 -73.222</gml:pos> <gml:pos>43.211 -73.222</gml:pos>
<gml:pos>43.411 -73.222</gml:pos> <gml:pos>43.411 -73.222</gml:pos>
<gml:pos>43.411 -73.322</gml:pos> <gml:pos>43.411 -73.322</gml:pos>
</gml:LinearRing> </gml:LinearRing>
</gml:interior> </gml:interior>
</gml:Polygon> </gml:Polygon>
</serviceBoundary> </serviceBoundary>
<uri>sip:area-A-pd@example.com</uri> <uri>sip:area-A-pd@example.com</uri>
<uri>xmpp:area-A-pd@example.com</uri> <uri>xmpp:area-A-pd@example.com</uri>
<serviceNumber>000</serviceNumber> <serviceNumber>000</serviceNumber>
</entry> </mapping>
<entry> <mapping xmlns="urn:ietf:params:xml:ns:lost1"
<name> Inner Area Police Department </name> expires="2010-12-25T09:44:33Z"
lastUpdated="2010-03-08T03:48:22Z"
source="authoritative.foo.example"
sourceId="7e3f40b098c711dbb606011111111111">
<displayName xml:lang="en">Inner Area Police</displayName>
<service>urn:service:sos.police</service> <service>urn:service:sos.police</service>
<serviceBoundary profile="geodetic-2d"> <serviceBoundary profile="geodetic-2d">
<gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326"> <gml:Polygon xmlns:gml="http://www.opengis.net/gml"
srsName="urn:ogc:def:crs:EPSG::4326">
<gml:exterior> <gml:exterior>
<gml:LinearRing> <gml:LinearRing>
<gml:pos>43.411 -73.322</gml:pos> <gml:pos>43.411 -73.322</gml:pos>
<gml:pos>43.211 -73.322</gml:pos> <gml:pos>43.211 -73.322</gml:pos>
<gml:pos>43.211 -73.222</gml:pos> <gml:pos>43.211 -73.222</gml:pos>
<gml:pos>43.411 -73.222</gml:pos> <gml:pos>43.411 -73.222</gml:pos>
<gml:pos>43.411 -73.322</gml:pos> <gml:pos>43.411 -73.322</gml:pos>
</gml:LinearRing> </gml:LinearRing>
</gml:exterior> </gml:exterior>
</gml:Polygon> </gml:Polygon>
</serviceBoundary> </serviceBoundary>
<uri>sip:area-w-pd@example.com</uri> <uri>sip:area-w-pd@example.com</uri>
<uri>xmpp:area-w-pd@example.com</uri> <uri>xmpp:area-w-pd@example.com</uri>
<serviceNumber>000</serviceNumber> <serviceNumber>000</serviceNumber>
</entry>
</mapping>
Figure 8: Service Boundary Specifications Figure 8: Service Boundary Specifications
It is considered likely that LoST servers will need to provide It is considered likely that LoST servers will need to provide
responses sufficiently quickly to allow real-time queries to be responses sufficiently quickly to allow real-time queries to be
performed as part of an emergency call routing flow. It is for this performed as part of an emergency call routing flow. It is for this
reason that databases supporting native geospatial query techniques reason that databases supporting native geospatial query techniques
are desirable and that service boundary specifications that are are desirable and that service boundary specifications that are
easily mapped to internal data structures are preferred. The format easily mapped to internal data structures are preferred. Using
described in this memo makes support for this operation easy, while interior boundaries makes support for this operation easy, while
allowing an arbitrary number of holes in a service boundary to be allowing an arbitrary number of holes in a service boundary to be
specified. specified.
Each primary polygon is stored in the geospatial database and mapped Each polygon is stored in the geospatial database and mapped to a
to a service URN and destination URI. Holes may be stored as service URN and destination URI. Many geospatial databases natively
polygons in a separate table and mapped to the primary polygon. When support polygons with interior exclusions. Without native support,
a location is found to map to a polygon, the exceptions table can be interior boundaries can be stored against the polygon and can checked
checked to see if the primary polygon contains any coverage holes. separately. A location falls within the area described by a polygon
In general no holes will exist for a service boundary, so this check if it is within the exterior boundary and not within any interior
results in almost no overhead and the service mapping can be boundary.
returned. Where one or more holes are found to exist, the provided
location is checked against each hole. If the location is found to
exist in one of the specified holes then the primary polygon can be
discarded, and searching of the service boundary database can
continue.
7. Security Considerations 7. Security Considerations
This document does not introduce any security issues. This document does not introduce any security issues.
8. IANA Considerations 8. IANA Considerations
There are no specific IANA considerations for this document. There are no specific IANA considerations for this document.
9. Acknowledgements 9. Acknowledgements
Thanks to Carl Reed for input provided to the list some months back Thanks to Carl Reed for input provided to the list some months back
and for reviewing this document. Thanks also to Michael Haberler for and for reviewing this document. Thanks to Michael Haberler for
suggesting that such a specification is required. suggesting that such a specification is required. Thanks to Avery
Penniston for review and feedback.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5222] Hardie, T., Newton, A., Schulzrinne, H., and H. [RFC5222] Hardie, T., Newton, A., Schulzrinne, H., and H.
Tschofenig, "LoST: A Location-to-Service Translation Tschofenig, "LoST: A Location-to-Service Translation
skipping to change at page 16, line 25 skipping to change at page 16, line 25
[geoshape] [geoshape]
Thomson, M. and C. Reed, "GML 3.1.1 PIDF-LO Shape Thomson, M. and C. Reed, "GML 3.1.1 PIDF-LO Shape
Application Schema for use by the Internet Engineering Application Schema for use by the Internet Engineering
Task Force (IETF)", Candidate OpenGIS Implementation Task Force (IETF)", Candidate OpenGIS Implementation
Specification 06-142r1, Version: 1.0, April 2007. Specification 06-142r1, Version: 1.0, April 2007.
10.2. Informative References 10.2. Informative References
[I-D.ietf-ecrit-lost-sync] [I-D.ietf-ecrit-lost-sync]
Schulzrinne, H., "Synchronizing Location-to-Service Schulzrinne, H. and H. Tschofenig, "Synchronizing
Translation (LoST) Servers", draft-ietf-ecrit-lost-sync-00 Location-to-Service Translation (LoST) Protocol based
(work in progress), July 2008. Service Boundaries and Mapping Elements",
draft-ietf-ecrit-lost-sync-09 (work in progress),
March 2010.
[ISO-19107] [ISO-19107]
ISO, "Geographic information - Spatial Schema", ISO ISO, "Geographic information - Spatial Schema", ISO
Standard 19107, First Edition, 5 2003. Standard 19107, First Edition, 5 2003.
Authors' Addresses Authors' Addresses
James Winterbottom James Winterbottom
Andrew Corporation Andrew Corporation
PO Box U40 Andrew Building (39)
University of Wollongong, NSW 2500 Wollongong University Campus
Northfields Avenue
Wollongong, NSW 2522
AU AU
Email: james.winterbottom@andrew.com Email: james.winterbottom@andrew.com
Martin Thomson Martin Thomson
Andrew Corporation Andrew Corporation
PO Box U40 Andrew Building (39)
University of Wollongong, NSW 2500 Wollongong University Campus
Northfields Avenue
Wollongong, NSW 2522
AU AU
Email: martin.thomson@andrew.com Email: martin.thomson@andrew.com
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.
 End of changes. 29 change blocks. 
59 lines changed or deleted 86 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/