One document matched: draft-thomson-geopriv-grip-02.txt

Differences from draft-thomson-geopriv-grip-01.txt




GEOPRIV                                                       M. Thomson
Internet-Draft                                        Andrew Corporation
Intended status: Experimental                              June 29, 2011
Expires: December 31, 2011


Global Navigation Satellite System (GNSS) Reference Information Protocol
                                 (GRIP)
                   draft-thomson-geopriv-grip-02.txt                   

Abstract

   This document describes a means of acquiring Global Navigation
   Satellite System (GNSS) assistance data using HTTP.  Assistance data
   aids GNSS receivers in acquiring and measuring satellite signals, as
   well as being useful in calculating positions.  The GNSS Reference
   Information Protocol (GRIP) provides a framework for discovering
   resources capable of providing any kind of location-based assistance
   data.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on December 31, 2011.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   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



Thomson                 Expires December 31, 2011               [Page 1]

Internet-Draft                    GRIP                         June 2011


   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 Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Advantages of Assistance Data  . . . . . . . . . . . . . .  4
   2.  Conventions used in this document  . . . . . . . . . . . . . .  5
   3.  GRIP Operation Overview  . . . . . . . . . . . . . . . . . . .  5
   4.  GRIP Metadata  . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.1.  Local and Global Assistance Data . . . . . . . . . . . . .  6
     4.2.  GRIP Metadata Format . . . . . . . . . . . . . . . . . . .  7
       4.2.1.  'coverage' element . . . . . . . . . . . . . . . . . .  7
       4.2.2.  'ad' element . . . . . . . . . . . . . . . . . . . . .  8
   5.  GRIP Assistance Data Requests  . . . . . . . . . . . . . . . .  8
     5.1.  Location Parameters  . . . . . . . . . . . . . . . . . . .  9
   6.  GRIP Errors  . . . . . . . . . . . . . . . . . . . . . . . . . 10
   7.  Assistance Data  . . . . . . . . . . . . . . . . . . . . . . . 10
     7.1.  Caching Assistance Data  . . . . . . . . . . . . . . . . . 11
     7.2.  Time Assistance  . . . . . . . . . . . . . . . . . . . . . 12
   8.  XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 14
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15
     10.1. Registration of MIME type 'application/grip+xml' . . . . . 16
     10.2. Registration of MIME type 'application/grip-ad+xml'  . . . 17
     10.3. Error code Registry  . . . . . . . . . . . . . . . . . . . 18
     10.4. URN Sub-Namespace Registration for
           'urn:ietf:params:xml:ns:grip'  . . . . . . . . . . . . . . 18
     10.5. XML Schema Registration  . . . . . . . . . . . . . . . . . 19
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 19
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 19
     12.2. Informative References . . . . . . . . . . . . . . . . . . 20

















Thomson                 Expires December 31, 2011               [Page 2]

Internet-Draft                    GRIP                         June 2011


1.  Introduction

   A Global Navigation Satellite System (GNSS) provides a signal that
   enables accurate determination of the position of a receiver in space
   and time.  A constellation of satellites transmit radio signals that
   the receiver is able to measure.  From these measurements, the
   location of the receiver and the time of measurement can be
   determined using knowledge about the position and velocity of the
   satellites and the signal they transmit.

   Acquisition of satellite signals requires searching for the extremely
   weak signal transmitted by each satellite.  Satellites transmit a
   distinct repeating code that is used by the receiver for signal
   acquisition.  Acquiring the signal is done by synchronizing with the
   received signal in both frequency and time.  In order to synchronize,
   the receiver searches in two dimensions:

   time/code phase:  The distance between the satellite and receiver
      means that the receiver sees a signal that is offset in time.  The
      amount of time shift is known as code phase since it is measured
      within the window of the repeated code sequence.  Code phase forms
      the primary measurement used in calculating a position.

   frequency:  The relative speed of satellite and receiver causes
      Doppler shift of the satellite signal.

   To make use of satellite measurements, information about the
   satellite and the signal that it transmits is required.  To achieve
   this, satellite signals are typically modulated at a low rate with a
   navigation message.  The navigation message provides information that
   is used in calculation of location and time, including information on
   satellite orbit, satellite health, time model, and atmospheric
   effects on the signal.  The navigation message is transmitted by
   satellites at very low rates to avoid hampering the measurement
   process.

   Once satellite signals have been acquired and measured, the
   measurement information is combined with the information from the
   navigation message and a position (and time) can be calculated.
   Successful calculation of a position typically requires measurement
   data for a minimum of 5 satellites unless otherwise supplemented, or
   4 satellites if the receiver has accurate time.

   If a receiver has to perform all these steps independently, satellite
   acquisition and receipt of the navigation message can take
   significant amounts of time.  Improvements in receiver design have
   increased receiver sensitivity and the speed that signals are
   acquired.  However, the low data rates used for the navigation



Thomson                 Expires December 31, 2011               [Page 3]

Internet-Draft                    GRIP                         June 2011


   message adds a fixed delay to this process.  Use of assistance data
   provides a dramatic improvement in the time taken to acquire signals
   and produce a result.  Dedicated data networks are able to provide
   the information contained in the navigation message much more
   efficiently.

   An assistance data server uses a reference network - a distributed
   set of GNSS receivers - to acquire information about satellite
   signals.  The server is then able to provide this information to
   receivers and aid in GNSS signal measurement and position
   calculation.

   This document provides a means of acquiring GNSS assistance data
   using GRIP, a protocol based on HTTP [RFC2616].  Basic mechanisms are
   specified for extending the use of GRIP to any form of assistance
   data.

   [I-D.thomson-geopriv-grip-gps] defines assistance data for the Global
   Positioning System (GPS).

1.1.  Advantages of Assistance Data

   GNSS assistance data is information provided to a receiver that is
   provided to improve the quality and timeliness of GNSS measurements
   or positioning.  The most basic set of assistance data includes the
   same information provided in the navigation message.  Additional
   forms of assistance data include information customized to a
   particular receiver to assist it in acquiring signals, or information
   about satellite ephemerides (orbits) that is useful over a longer
   period of time.

   Acquiring assistance data from the network completely removes the
   need to receive the navigation message.  Navigation message content
   can be transmitted to the receiver using the vastly more efficient
   communication paths provided by a data network.  This removes a
   significant step from the process of determining a position.

   Knowing what satellites to search for can reduce signal acquisition
   time.  One of the most basic pieces of information provided by
   assistance data is knowledge of which satellites are above the
   horizon and can therefore be measured.  Concentrating on "visible"
   satellites ensures that less time is wasted on attempting to measure
   signals that could not possibly be found.

   Assistance data can provide information about where in the frequency/
   code phase space to search for a particular satellite signal.  This
   reduces the time required to acquire a satellite signal.  Since an
   approximate frequency and code phase can be known, it becomes



Thomson                 Expires December 31, 2011               [Page 4]

Internet-Draft                    GRIP                         June 2011


   feasible to spend more time searching for weaker signals, improving
   receiver sensitivity.  Improved sensitivity ensures that GNSS can be
   used in areas where signal penetration is poor, like buildings and
   other areas with poor sky visibility, and increases the likelihood of
   getting sufficient satellite measurements to calculate a position.

   Assistance data also enables compensation for the effects of the
   navigation message.  Knowing the content of the navigation message
   ahead of time means that the receiver is able to anticipate the
   effect of its modulation on the signal and compensate accordingly.
   This increases the sensitivity of the receiver and allows for faster
   signal acquisition.

   Specialized assistance data types can also provide further
   assistance.  Assistance data can provide more sophisticated models of
   satellite orbits, or localized data relating to signal propagation or
   interference.

2.  Conventions used in this document

   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.  GRIP Operation Overview

   A client is configured with the location of a GRIP server, or follows
   a hyperlink that leads to a GRIP server.  This URI indicates the
   location of a GRIP metadata document (Section 4), which describes all
   that the server is capable of.

   From the metadata document, the client is able to determine what
   information is made available by the GRIP server and where that
   information is available from.  The client retrieves (Section 5) one
   or more resources to acquire assistance data.

4.  GRIP Metadata

   A server providing a GRIP service might provide a certain subset of
   assistance data to clients.  Conveying the set of assistance data
   types that it is capable of providing to clients is the basis of
   GRIP.  To that end, a metadata document format is defined.

   A client retrieves a GRIP metadata document using an HTTP "GET"
   request.  The metadata document contains a listing of each of the
   supported assistance data types, plus a URI indicating where each
   type can be requested.




Thomson                 Expires December 31, 2011               [Page 5]

Internet-Draft                    GRIP                         June 2011


   The following GRIP metadata document shows support for three global
   assistance data types, support for two local assistance data types
   over a small area.

     <grip xmlns="urn:ietf:params:xml:ns:grip"
           xmlns:gps="urn:ietf:params:xml:ns:grip:gps">
       <global>
         <ad type="gps:utcModel">/grip/utc</ad>
         <ad type="gps:ephemeris">/grip/ephemeris</ad>
         <ad type="gps:ionosphere">/grip/ionosphere</ad>
       </global>

       <local>
         <coverage>
           <gml:Polygon xmlns:gml="http://www.opengis.net/gml"
                        srsName="urn:ogc:def:crs:EPSG::4326">
             <gml:exterior>
               <gml:LinearRing>
                 <gml:posList>
                   -33.856625 151.215906 -33.856299 151.215343
                   -33.856326 151.214731 -33.857533 151.214495
                   -33.857720 151.214613 -33.857369 151.215375
                   -33.856625 151.215906
                 </gml:posList>
               </gml:LinearRing>
             </gml:exterior>
           </gml:Polygon>
         </coverage>
         <ad type="gps:ephemeris">/grip/ephemeris</ad>
         <ad type="gps:acqAssist">/grip/acqAssist</ad>
       </local>
     </grip>

   A GRIP metadata document can be provided in response to an HTTP
   "OPTIONS" request made to any GRIP resource.  This metadata document
   can include information about that resource (global and local
   elements with coverage), or it can include information on other
   resources.

4.1.  Local and Global Assistance Data

   The GRIP metadata format describes the types of assistance data that
   the server is willing to provide, separated into two sections: local
   and global.

   Local assistance data applies to a particular position on the Earth.
   When requesting this information, the client indicates the location
   of interest.  The server constructs assistance data that is specific



Thomson                 Expires December 31, 2011               [Page 6]

Internet-Draft                    GRIP                         June 2011


   to that location.

   Global assistance data can be acquired that is useful to a receiver
   regardless of the position of the receiver.  For instance, in GPS the
   relationship between the GPS time system and Universal Coordinated
   Time (UTC) is globally applicable.

   Some assistance data types are always localized, other items are
   always global.  In some cases, the localized data provided for some
   types of assistance data is simply a subset of the global data that
   is useful at the specified location.

      For instance, a satellite navigation model, which includes
      information on the position of the satellite, can be provided as
      both global and local data.  A global request might provide
      navigation parameters for all satellites in the constellation; a
      local request might only include those satellites that can be
      viewed from the indicated location.

4.2.  GRIP Metadata Format

   GRIP metadata is specified as an XML document of type
   "application/grip+xml".  This document is split into three sections:

   global:  This element describes what forms of global assistance data
      are made available and where each may be retrieved.

   local:  This element describes what forms of local assistance data
      are made available and where each may be retrieved.

4.2.1.  'coverage' element

   In order to provide GNSS assistance data, receivers need to observe
   and record satellite signals across a large area.  These receivers
   either need to receive a signal from a satellite (such as the GPS
   navigation message) or take measurements of the satellite signal.

   Each receiver can only measure or observe a satellite for part of its
   orbit.  A global distribution of receivers is necessary to be able to
   provide assistance data for the entire planet.  Where receivers are
   distributed over a smaller area, GRIP provides a means to indicate
   where receivers are able to measure satellite signals.

   Both global and local sections optionally include a "coverage"
   element.  The "coverage" specifies the region where the provided
   information provided is applicable.  Outside this area, the
   assistance data might not be comprehensive or completely accurate.




Thomson                 Expires December 31, 2011               [Page 7]

Internet-Draft                    GRIP                         June 2011


   The coverage region is specified using a GML "Polygon" or "Envelope",
   or a "Circle" as defined in [RFC5491].  If no "coverage" element is
   specified, this indicates that assistance data can be provided for
   any location on the Earth.

   A GRIP service MAY provide information outside its indicated coverage
   area.  Clients need to be aware that this information could be
   inaccurate, missing certain elements, or it could be extrapolated
   from old information.

   Coverage might vary depending on the type of assistance data.  Some
   forms of assistance data, such as differential corrections, can only
   be collected for a small geographic area.  Therefore, multiple
   "global" or "local" elements can be specified with different coverage
   areas.

   If the same assistance data type appears multiple times, or if
   multiple coverage elements are included, the coverage for that
   assistance data type is the union of the associated coverage regions.

4.2.2.  'ad' element

   The "ad" element indicates availability of a specific type of
   assistance data.

   The text content of the "ad" element indicates a URI where assistance
   data can be acquired.  This URI is either an absolute URI or
   specified relative to the base URI of the GRIP index document.

   The type of assistance data provided is specifed in the "type"
   attribute of the "ad" element.  This identifies an XML element by its
   qualified name [W3C.REC-xml-names-20060816], using the namespace
   context from the enclosing document.

   When included as a child of the "global" element, the "ad" element
   describes the location of resources that contain the indicated items
   of global assistance data.  Similarly, when included in the "local"
   element, it indicates where local assistance can be acquired.

5.  GRIP Assistance Data Requests

   A GRIP assistance data request is a HTTP GET to the URI indicated in
   the GRIP index.

   For global assistance data resources, an unmodified request is
   sufficient to retrieve the indicated information.

   For local assistance data resources, a "GeoLocation" header is



Thomson                 Expires December 31, 2011               [Page 8]

Internet-Draft                    GRIP                         June 2011


   included in the request.

   The same resource MAY provide both global and local assistance data
   of the same type, using the presence or absence of the "Geolocation"
   header to determine which of these is requested.

   The MIME type of all assistance data documents is
   "application/grip-ad+xml".  The document contains an XML document
   with a document element of the type indicated in the GRIP index.

   A server MUST generate appropriate HTTP status codes in response to
   errors.  As long as it is acceptable to clients, the HTTP response
   SHOULD contain a GRIP "error" in the body of the message, using a
   MIME type of "application/grip+xml".

5.1.  Location Parameters

   The client MUST specify the location that the local assistance data
   is applicable to in a "Geolocation" header.  Location information can
   be provided in the body of the request or by providing a URI to an
   external resource.

   If location information is necessary, but not provided, the server
   responds with an error (Section 6) contained in an HTTP 427 (Bad
   Geolocation) response.

      GET /grip/acqAssist HTTP/1.1
      Host: grip.example.com
      Accept: application/grip-ad+xml,application/grip+xml;q=0.5
      Geolocation: geo:-35.406,150.882;u=1200


   Latitude, longitude and altitude specified in URI parameters use the
   World Geodetic System 1984 (WGS 84) coordinate reference system.

   Location information MAY be provided by reference.  The "locationuri"
   parameter is used to include a URI.  Percent-encoding MUST be used to
   ensure that reserved characters in the URI are correctly escaped.

   The location URI either takes the form of an indirect reference, or
   location URI [RFC5808].  A location URI MUST resolve to a presence
   data information format - location object (PIDF-LO) [RFC4119]
   document.  Alternatively, information can be provided directly in URI
   form using a geo: URI [RFC5870].

   A server MAY choose to not support the "locationuri" parameter, or to
   limit the URI schemes that it accepts.  If this is not the case, an
   error with a code of "unsupportedLocation" MUST be provided.  A



Thomson                 Expires December 31, 2011               [Page 9]

Internet-Draft                    GRIP                         June 2011


   client MUST be prepared to receive this code and either dereference
   the URI and either provide the values directly or abandon the
   request.

6.  GRIP Errors

   Errors in the URIs provided are firstly indicated using HTTP errors.
   However, the body of the HTTP error MUST contain a GRIP document that
   describes the error.

   An error document consists of an "error" element, with a mandatory
   "code" attribute.  Any number of "message" elements MAY be added to
   convey human-readable feedback on the error; each "message" element
   contains an "xml:lang" attribute that identifies the language of the
   text.

     <error xmlns="urn:ietf:params:xml:ns:grip" code="noLocation">
       <message xml:lang="en">Missing Geolocation header.</message>
     </error>

   The following values for the "code" attribute and the values of
   corresponding HTTP errors are defined:

   noLocation:  (HTTP 427) A request for local assistance data did not
      contain location information.

   badLocation:  (HTTP 427) A request for local assistance data
      contained location information that was badly formatted or was not
      understood by the server.

   unsupportedLocation:  (HTTP 427) A request for local assistance data
      contained location information that might be valid, but the server
      is not able to use the provided form.

   noCoverage:  (HTTP 400) A request for assistance data indicated a
      location that the server has no coverage for.

   noData:  (HTTP 503) The identified assistance data type is currently
      unavailable.  Used when the server is temporarily unable to
      provide assistance data.

7.  Assistance Data

   Assistance data that can be expressed in XML form is supported by
   this protocol.  The XML element is the basic unit of assistance data,
   since this is what is identified in the "ad" element.

   All assistance data is provided with the same MIME type,



Thomson                 Expires December 31, 2011              [Page 10]

Internet-Draft                    GRIP                         June 2011


   "application/grip-ad+xml".  The document element determines the type.

   New definitions of assistance data only require the definition of an
   XML format and the use of a unique namespace URI
   [W3C.REC-xml-names-20060816].  Formal schema definitions, such as XML
   Schema [W3C.REC-xmlschema-1-20010502] or RelaxNG [ISO.19757-2.2008]
   SHOULD be used, but are not necessary as long as structure and
   semantics are clearly defined.

   Assistance data for the Global Position System (GPS) is defined in
   [I-D.thomson-geopriv-grip-gps].  These assistance data are used in
   examples throughout this document.

7.1.  Caching Assistance Data

   Caching of assistance data is particularly useful in improving
   responsiveness and alleviating server load.  Standard HTTP mechanisms
   are suitable for controlling caching of global assistance data, but
   local assistance data introduces complications.  Adding a
   "geolocation" tag to the "Vary" header ensures that values are
   properly cached.

   Assistance data for two locations within close proximity might not
   vary significantly.  However, HTTP caches place significance in any
   change in a URI, including trivially significant decimal places in
   numbers and even the ordering of URI parameters.  Therefore, small
   changes in location can result in a completely different URI.  A
   server MAY redirect requests that include "Geolocation" headers to
   location-specific resources in order to provide better support for
   caching.

   In serving a large number of requests, a server might choose to cache
   assistance data that is applicable over a geographic area.  A method
   of caching optimization relies on fixing the locations that
   assistance data is provided for to a grid.  Assistance data is only
   provided for the center point of the grid.  All other points in the
   grid receive the same assistance data.

   The grid-based method allows caching by the server itself, but not a
   generic HTTP cache.  A server MAY use HTTP redirection to more
   efficiently use generic HTTP caches.  An HTTP 303 (See Other) is
   appropriate when responses are dependent on location.  This improves
   cacheability at a cost in latency.  Alternatively, using the
   "Content-Location" header doesn't aid caching of an immediate
   request, but improves cacheability for subsequent requests that are
   directed at resource identified in the "Content-Location" header.

   Local assistance data that is based on a location URI can change if



Thomson                 Expires December 31, 2011              [Page 11]

Internet-Draft                    GRIP                         June 2011


   the referenced document also changes.  A server MUST either indicate
   that such local assistance data is not cacheable through the use of
   "Cache-Control" headers or indicate validity times with an "Expires".
   The server might also include a "Geolocation" header that indicates
   the area that the assistance data applies to.

   Assistance data itself can be used to derive the location of a
   client.  Servers MUST NOT allow assistance data based on location
   information to enter a shared cache.  The "Cache-Control" headers for
   such requests MUST be set to "private" or "no-cache".  Where
   redirection is used, the redirection response cannot be placed in a
   shared cache, but the resulting document is cacheable.

7.2.  Time Assistance

   It is common for GNSS systems to use a different time model than UTC.
   Commonly assistance data is used to relate the GNSS time to UTC.
   This allows a client that is accurately synchronized to the GNSS time
   (a necessary outcome or prerequisite of location determination) to
   very accurately synchronize with UTC time.

   Assistance data that relates time systems is an important part of
   this protocol.  Indeed, assistance data that relates GNSS time with
   other time systems is also useful.

   It is not the intent for this protocol to itself provide time
   synchronization functions.  Other protocols, such as Network Time
   Protocol (NTP) [RFC1305], or Simple NTP [RFC4330], perform this task
   efficiently and accurately.  Specific access technologies also
   provide time synchronization services that are linked to access
   technology specific timing characteristics.

8.  XML Schema

   <xs:schema
       targetNamespace="urn:ietf:params:xml:ns:grip"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:grip="urn:ietf:params:xml:ns:grip"
       xmlns:gml="http://www.opengis.net/gml"
       elementFormDefault="qualified"
       attributeFormDefault="unqualified">

     <xs:annotation>
       <xs:appinfo
           source="urn:ietf:params:xml:schema:grip">
         GNSS Reference Information Protocol (GRIP) Schema
       </xs:appinfo>
       <xs:documentation source="http://www.ietf.org/rfc/rfcXXXX.txt">



Thomson                 Expires December 31, 2011              [Page 12]

Internet-Draft                    GRIP                         June 2011


         <!-- [[NOTE TO RFC-EDITOR: Please replace above URL with URL of
              published RFC and remove this note.]] -->
         This document defines core elements of GRIP documents.
       </xs:documentation>
     </xs:annotation>

     <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
     <xs:import namespace="http://www.opengis.net/gml"/>

     <xs:element name="grip" type="grip:gripType"/>
     <xs:complexType name="gripType">
       <xs:complexContent>
         <xs:restriction base="xs:anyType">
           <xs:sequence>
             <xs:element name="global" type="grip:adSetType"
                         minOccurs="0" maxOccurs="unbounded"/>
             <xs:element name="local" type="grip:adSetType"
                         minOccurs="0" maxOccurs="unbounded"/>
             <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:restriction>
       </xs:complexContent>
     </xs:complexType>

     <xs:complexType name="adSetType">
       <xs:complexContent>
         <xs:restriction base="xs:anyType">
           <xs:sequence>
             <xs:element name="coverage" type="grip:coverageType"
                         minOccurs="0" maxOccurs="unbounded"/>
             <xs:element name="ad" type="grip:adType"
                         minOccurs="0" maxOccurs="unbounded"/>
             <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
           </xs:sequence>
         </xs:restriction>
       </xs:complexContent>
     </xs:complexType>

     <xs:complexType name="coverageType">
       <xs:complexContent>
         <xs:restriction base="xs:anyType">
           <xs:choice>
             <xs:element ref="gml:_Geometry"/>
             <xs:element ref="gml:Envelope"/>
           </xs:choice>



Thomson                 Expires December 31, 2011              [Page 13]

Internet-Draft                    GRIP                         June 2011


         </xs:restriction>
       </xs:complexContent>
     </xs:complexType>

     <xs:complexType name="adType">
       <xs:simpleContent>
         <xs:extension base="xs:anyURI">
           <xs:attribute name="type" type="xs:QName" use="required"/>
         </xs:extension>
       </xs:simpleContent>
     </xs:complexType>

     <!-- Errors -->
     <xs:element name="error" type="grip:errorType"/>
     <xs:complexType name="errorType">
       <xs:complexContent>
         <xs:restriction base="xs:anyType">
           <xs:sequence>
             <xs:element name="message" type="grip:errorMsgType"
                         minOccurs="0" maxOccurs="unbounded"/>
             <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
           </xs:sequence>
           <xs:attribute name="code" type="xs:token"
                         use="required"/>
           <xs:anyAttribute namespace="##any" processContents="lax"/>
         </xs:restriction>
       </xs:complexContent>
     </xs:complexType>

     <xs:complexType name="errorMsgType">
       <xs:simpleContent>
         <xs:extension base="xs:token">
           <xs:attribute ref="xml:lang"/>
           <xs:anyAttribute namespace="##any" processContents="lax"/>
         </xs:extension>
       </xs:simpleContent>
     </xs:complexType>

   </xs:schema>

9.  Security Considerations

   A server MAY individually authorize clients and challenge clients to
   provide authentication credentials.  How authentication credentials
   are negotiated is outside the scope of this specification.

   Receivers need to be aware that falsified assistance data can be used



Thomson                 Expires December 31, 2011              [Page 14]

Internet-Draft                    GRIP                         June 2011


   to cause a location calculation to be arbitrarily incorrect.  In
   particular, falsifying the location of a satellite by altering
   ephemeris information could be used to cause the receiver to
   calculate any location.  Small changes in location caused by this
   methods are difficult to detect, but larger changes can be identified
   through inconsistency in Doppler shift and comparison of basic
   satellite location with previously acquired (and trusted) estimates,
   such as the GPS almanac.

   Location information provided by a client in making a request for
   local assistance data is potentially privacy sensitive.  A client
   SHOULD use HTTP over TLS [RFC2818] to ensure that only the identified
   server is able to use this information.  Location URIs SHOULD use
   similarly secured channels to prevent attackers from intercepting or
   falsifying this information.

   Because location information is potentially sensitive, servers MUST
   NOT use location information for anything other than serving the
   request that contains it.

   GRIP metadata is designed to carry descriptions of how assistance
   data can be retrieved.  This document could contain references to
   resources under the control of other parties that might be unaware of
   this linkage.  The only authoritative source of metadata for a
   resource is the resource itself; all other links are informative
   only.

   A malicious server might use links to cause a client to leak
   information or trigger unintended actions.  For instance, links in
   metadata might refer to files on the client system, or they might
   invoke specific protocol actions.  Clients MUST validate any URI it
   receives before using it.  Restricting use of URIs to "https:" (and
   optionally "http:") URIs limits the scope of any attack.  Only
   accepting responses of the MIME type "application/grip-ad+xml"
   further reduces the ability of an attacker to trigger client
   behavior.

10.  IANA Considerations

   This section registers two MIME types: "application/grip+xml" for
   GRIP metadata and control documents in Section 10.1,
   "application/grip-ad+xml" for GRIP assistance data documents in
   Section 10.2.

   A registry for GRIP errors is defined in Section 10.3.

   The XML namespace used in GRIP metadata and control documents is
   registered in Section 10.4, the corresponding schema definition is



Thomson                 Expires December 31, 2011              [Page 15]

Internet-Draft                    GRIP                         June 2011


   registered in Section 10.5.

10.1.  Registration of MIME type 'application/grip+xml'

   This section registers the "application/grip+xml" MIME type, used for
   GRIP metadata and the core protocol.

   To:  ietf-types@iana.org

   Subject:  Registration of MIME media type application/grip+xml

   MIME media type name:  application

   MIME subtype name:  grip+xml

   Required parameters:  (none)

   Optional parameters:  charset
      Same as the charset parameter of application/xml as specified in
      Section 3.2 of RFC 3023 [RFC3023].

   Encoding considerations:  Same as the encoding considerations of
      application/xml as specified in Section 3.2 of RFC 3023 [RFC3023].

   Security considerations:  Security considerations are described in
      Section 9.  Many of the security considerations in Section 10 of
      RFC 3023 [RFC3023] also apply.

   Interoperability considerations:  This content type provides a basis
      for a protocol.

   Published specification:  RFC XXXX [NOTE TO IANA/RFC-EDITOR: Please
      replace XXXX with the RFC number for this specification.]

   Applications which use this media type:  Global Navigation Satellite
      System (GNSS) receivers and servers that provide assistance data
      for GNSS receivers.

   Additional Information:  Magic Number(s): (none)
      File extension(s): .grip
      Macintosh File Type Code(s): TEXT

   Person & email address to contact for further information:  Martin
      Thomson <martin.thomson@andrew.com>







Thomson                 Expires December 31, 2011              [Page 16]

Internet-Draft                    GRIP                         June 2011


   Intended usage:  LIMITED USE

   Author/Change controller:  The IETF

   Other information:  This media type is a specialization of
      application/xml [RFC3023], and many of the considerations
      described there also apply to application/grip+xml.

10.2.  Registration of MIME type 'application/grip-ad+xml'

   This section registers the "application/grip-ad+xml" MIME type, used
   for the expression of assistance data.

   To:  ietf-types@iana.org

   Subject:  Registration of MIME media type application/grip-ad+xml

   MIME media type name:  application

   MIME subtype name:  grip-ad+xml

   Required parameters:  (none)

   Optional parameters:  charset
      Same as the charset parameter of application/xml as specified in
      Section 3.2 of RFC 3023 [RFC3023].

   Encoding considerations:  Same as the encoding considerations of
      application/xml as specified in Section 3.2 of RFC 3023 [RFC3023].

   Security considerations:  Many of the security considerations in
      Section 10 of RFC 3023 [RFC3023] apply.

   Interoperability considerations:  This content type is used to
      provide an interoperable format for assistance data.
      Interoperability depends on the definition of the assistance data,
      which is not proscribed to allow for new assistance data
      definitions.  The document element of this XML document determines
      the nature of the content.

   Published specification:  RFC XXXX [NOTE TO IANA/RFC-EDITOR: Please
      replace XXXX with the RFC number for this specification.]

   Applications which use this media type:  Global Navigation Satellite
      System (GNSS) receivers and servers that provide assistance data
      for GNSS receivers.





Thomson                 Expires December 31, 2011              [Page 17]

Internet-Draft                    GRIP                         June 2011


   Additional Information:  Magic Number(s): (none)
      File extension(s): .grip
      Macintosh File Type Code(s): TEXT

   Person & email address to contact for further information:  Martin
      Thomson <martin.thomson@andrew.com>

   Intended usage:  LIMITED USE

   Author/Change controller:  The IETF

   Other information:  This media type is a specialization of
      application/xml [RFC3023], and many of the considerations
      described there also apply to application/grip-ad+xml.

10.3.  Error code Registry

   This document requests that the IANA create a new registry for GRIP,
   including an initial registry for error codes.  Error codes are
   included in GRIP error documents as described in Section 6 and MAY be
   any sequence of characters.

   The following summarizes the requested registry:

   Related Registry:  Geopriv GRIP Registries, Error codes for GRIP

   Defining RFC:  RFC XXXX [NOTE TO IANA/RFC-EDITOR: Please replace XXXX
      with the RFC number for this specification.]

   Registration/Assignment Procedures:  Following the policies outlined
      in [RFC5226], the IANA policy for assigning new values for the
      Error codes for GRIP registry shall be Standards Action: Values
      are assigned only for Standards Track RFCs approved by the IESG.

   Registrant Contact:  IETF, GEOPRIV working group, (geopriv@ietf.org),
      Martin Thomson (martin.thomson@andrew.com).

   This section pre-registers the error codes defined in Section 6.

10.4.  URN Sub-Namespace Registration for 'urn:ietf:params:xml:ns:grip'

   This section registers a new XML namespace,
   "urn:ietf:params:xml:ns:grip", per the guidelines in [RFC3688].

      URI: urn:ietf:params:xml:ns:grip

      Registrant Contact: IETF, GEOPRIV working group,
      (geopriv@ietf.org), Martin Thomson (martin.thomson@andrew.com).



Thomson                 Expires December 31, 2011              [Page 18]

Internet-Draft                    GRIP                         June 2011


      XML:

         BEGIN
           <?xml version="1.0"?>
           <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
           <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
             <head>
               <title>GRIP Metadata</title>
             </head>
             <body>
               <h1>Namespace for GRIP Metadata Definitions</h1>
               <h2>urn:ietf:params:xml:ns:grip</h2>
       [NOTE TO IANA/RFC-EDITOR: Please replace XXXX
       with the RFC number for this specification.]
               <p>See RFCXXXX</p>
             </body>
           </html>
         END

10.5.  XML Schema Registration

   This section registers an XML schema as per the guidelines in
   [RFC3688].

   URI:  urn:ietf:params:xml:schema:grip

   Registrant Contact:  IETF, GEOPRIV working group, (geopriv@ietf.org),
      Martin Thomson (martin.thomson@andrew.com).

   Schema:  The XML for this schema can be found as the entirety of
      Section 8 of this document.

11.  Acknowledgements

   This document is part of the definition of GRIP.  The original GRIP
   protocol was developed by the University of New South Wales through
   the OSGRS project <http://osgrs.sourceforge.net/>.  The GPS expertise
   of Neil Harper was invaluable in assembling this document.

12.  References

12.1.  Normative References

   [RFC2119]                       Bradner, S., "Key words for use in
                                   RFCs to Indicate Requirement Levels",
                                   BCP 14, RFC 2119, March 1997.




Thomson                 Expires December 31, 2011              [Page 19]

Internet-Draft                    GRIP                         June 2011


   [RFC2616]                       Fielding, R., Gettys, J., Mogul, J.,
                                   Frystyk, H., Masinter, L., Leach, P.,
                                   and T. Berners-Lee, "Hypertext
                                   Transfer Protocol -- HTTP/1.1",
                                   RFC 2616, June 1999.

   [RFC2818]                       Rescorla, E., "HTTP Over TLS",
                                   RFC 2818, May 2000.

   [RFC3023]                       Murata, M., St. Laurent, S., and D.
                                   Kohn, "XML Media Types", RFC 3023,
                                   January 2001.

   [RFC3688]                       Mealling, M., "The IETF XML
                                   Registry", BCP 81, RFC 3688,
                                   January 2004.

   [RFC5491]                       Winterbottom, J., Thomson, M., and H.
                                   Tschofenig, "GEOPRIV Presence
                                   Information Data Format Location
                                   Object (PIDF-LO) Usage Clarification,
                                   Considerations, and Recommendations",
                                   RFC 5491, March 2009.

12.2.  Informative References

   [RFC1305]                       Mills, D., "Network Time Protocol
                                   (Version 3) Specification,
                                   Implementation", RFC 1305,
                                   March 1992.

   [RFC4119]                       Peterson, J., "A Presence-based
                                   GEOPRIV Location Object Format",
                                   RFC 4119, December 2005.

   [RFC4330]                       Mills, D., "Simple Network Time
                                   Protocol (SNTP) Version 4 for IPv4,
                                   IPv6 and OSI", RFC 4330,
                                   January 2006.

   [RFC5226]                       Narten, T. and H. Alvestrand,
                                   "Guidelines for Writing an IANA
                                   Considerations Section in RFCs",
                                   BCP 26, RFC 5226, May 2008.

   [RFC5808]                       Marshall, R., "Requirements for a
                                   Location-by-Reference Mechanism",
                                   RFC 5808, May 2010.



Thomson                 Expires December 31, 2011              [Page 20]

Internet-Draft                    GRIP                         June 2011


   [RFC5870]                       Mayrhofer, A. and C. Spanring, "A
                                   Uniform Resource Identifier for
                                   Geographic Locations ('geo' URI)",
                                   RFC 5870, June 2010.

   [W3C.REC-xml-names-20060816]    Layman, A., Hollander, D., and T.
                                   Bray, "Namespaces in XML 1.0 (Second
                                   Edition)", World Wide Web Consortium
                                   FirstEdition REC-xml-names-20060816,
                                   August 2006, <http://www.w3.org/TR/
                                   2006/REC-xml-names-20060816>.

   [I-D.thomson-geopriv-grip-gps]  Thomson, M., "Global Position System
                                   (GPS) Assistance Data for GRIP",
                                   draft-thomson-geopriv-grip-gps-02
                                   (work in progress), Jun 2011.

   [W3C.REC-xmlschema-1-20010502]  Maloney, M., Thompson, H.,
                                   Mendelsohn, N., and D. Beech, "XML
                                   Schema Part 1: Structures", World
                                   Wide Web Consortium FirstEdition REC-
                                   xmlschema-1-20010502, May 2001, <http
                                   ://www.w3.org/TR/2001/
                                   REC-xmlschema-1-20010502>.

   [ISO.19757-2.2008]              International Organization for
                                   Standardization, "Document Schema
                                   Definition Language (DSDL) -- Part 2:
                                   Regular-grammar-based validation --
                                   RELAX NG", ISO Standard 19757-2,
                                   2008.

Author's Address

   Martin Thomson
   Andrew Corporation
   PO Box U40
   Wollongong University Campus, NSW  2500
   AU

   Phone: +61 2 4221 2915
   EMail: martin.thomson@andrew.com
   URI:   http://www.andrew.com/








Thomson                 Expires December 31, 2011              [Page 21]


PAFTECH AB 2003-20262026-04-24 03:04:46