[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Nits]

Versions: 00

Network Working Group                                       K. Murchison
Internet-Draft                                                       CMU
Intended status: Standards Track                        October 14, 2016
Expires: April 17, 2017


  The Time Zone Data Distribution Service (TZDIST) Geolocate Extension
                  draft-murchison-tzdist-geolocate-00

Abstract

   This document defines an extension to the Time Zone Data Distribution
   Service (RFC 7808) to allow a client to determine the correct time
   zone for a geographic point location using a 'geo' URI (RFC 5870).

Open Issues

   o  Does the 'geo' URI value have to be percent-encoded?

   o  Should we advertise the supported coordinate reference systems
      (and if so, how?) or simply mandate crs=wgs84?

   o  Should we discuss territorial and/or international waters?

   o  What, if any, additional security and privacy concerns are
      introduced by this extension?

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 April 17, 2017.








Murchison                Expires April 17, 2017                 [Page 1]


Internet-Draft         TZDIST Geolocate Extension           October 2016


Copyright Notice

   Copyright (c) 2016 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
   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions Used in This Document . . . . . . . . . . . . . .   3
   3.  "geolocate" Action  . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Examples: geolocate
           action  . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   5.  Privacy Considerations  . . . . . . . . . . . . . . . . . . .   6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
     6.1.  Service Action Registration . . . . . . . . . . . . . . .   6
     6.2.  Registration of invalid-location Error URN  . . . . . . .   6
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   Clients using a Time Zone Data Distribution Service (TZDIST),
   particularly mobile clients, may not have prior knowledge of which
   time zone is appropriate for a particular geographic region.  This
   specification defines a new TZDIST service action to allow a client
   to query a server with a geographic point location and have that
   server determine if the location lies within the boundaries of an
   existing time zone and return the corresponding time zone
   identifiers.

   This specification does not define the source of the time zone
   boundary data.  It is assumed that a reliable and accurate source is
   available.  Two such sources are [TZSHAPE] and [TZBB].




Murchison                Expires April 17, 2017                 [Page 2]


Internet-Draft         TZDIST Geolocate Extension           October 2016


2.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   [RFC2119].

3.  "geolocate" Action

   Name:  gelocate

   Request-URI Template:
      {/service-prefix,data-prefix}/zones{?location}

   Description:  This action allows a client to query the time zone data
      distribution service for the time zone identifier corresponding to
      the given geographic point location, specified as a 'geo' URI
      [RFC5870].

      If the 'geo' URI specifies an uncertainty value (";u=" parameter),
      the server MUST return the time zone identifiers for all time
      zones whose boundary passes through the radius of uncertainty.  In
      the absence of a client-supplied uncertainty value, the server MAY
      use an implicit uncertainty to coincide with any uncertainty in
      the time zone boundary data that it uses.

      If the 'geo' URI specifies a coordinate reference system (";crs="
      parameter) that is unsupported by the server, the server SHOULD
      return a JSON "problem details" object [RFC7807] in the response
      body including a "type" member with an "invalid-location" error
      URN as defined below.

   Parameters:

      location=<geo-URI>  REQUIRED, and MUST occur only once.

   Response:  The response has the same format as the "list" and "find"
      actions (see [RFC7808] Section 6.2), with one result object for
      each geolocated time zone.  If for any reason the server can not
      determine a time zone in which the point is located (e.g.
      uninhabited location), it MUST return a "list" response containing
      zero time zone objects.

   Possible Error Codes

      urn:ietf:params:tzdist:error:invalid-location  The "location" URI
         query parameter is missing, has an incorrect/unsupported value,
         or appears more than once.



Murchison                Expires April 17, 2017                 [Page 3]


Internet-Draft         TZDIST Geolocate Extension           October 2016


3.1.  Examples: geolocate action

   The examples below presume that the timezone context path has been
   discovered (see [RFC7808] Section 4.2.1) to be "/tzdist".

   In this example the client asks for the time zone corresponding to
   Carnegie Mellon University.

   >> Request <<

   GET /tzdist/zones?location=geo:40.44388,-79.94199 HTTP/1.1
   Host: tz.example.com

   >> Response <<

   HTTP/1.1 200 OK
   Date: Fri, 30 Sep 2016 12:28:03 GMT
   Content-Type: application/json; charset="utf-8"
   Content-Length: xxxx

   {
     "synctoken": "890939292-1466089793",
     "timezones": [
       {
         "tzid": "America/New_York",
         "etag": "6602582-1466089793",
         "last-modified": "2016-06-16T15:09:53Z",
         "publisher": "IANA Time Zone Database",
         "version": "2016e",
         "aliases": [
           "US/Eastern"
         ]
       }
     ]
   }
















Murchison                Expires April 17, 2017                 [Page 4]


Internet-Draft         TZDIST Geolocate Extension           October 2016


   In this example the client asks for the timezone corresponding to the
   Hoover Dam with an uncertainty of 25m.  Note that the dam straddles
   the Nevada/Arizona state line and therefore a time zone boundary.

   >> Request <<

   GET /tzdist/zones?location=geo:36.01596,-114.73748;u=25 HTTP/1.1
   Host: tz.example.com

   >> Response <<

   HTTP/1.1 200 OK
   Date: Fri, 30 Sep 2016 12:28:03 GMT
   Content-Type: application/json; charset="utf-8"
   Content-Length: xxxx

   {
     "synctoken": "890939292-1466089793",
     "timezones": [
       {
         "tzid": "America/Los_Angeles",
         "etag": "52807330-1466089793",
         "last-modified": "2016-06-16T15:09:53Z",
         "publisher": "IANA Time Zone Database",
         "version": "2016e",
         "aliases": [
           "US/Pacific"
         ]
       },
       {
         "tzid": "America/Phoenix",
         "etag": "3297940-1466089793",
         "last-modified": "2016-06-16T15:09:53Z",
         "publisher": "IANA Time Zone Database",
         "version": "2016e",
         "aliases": [
           "US/Arizona"
         ]
       }
     ]
   }

4.  Security Considerations

   This specification does not introduce any additional security
   concerns beyond those described in [RFC7808]





Murchison                Expires April 17, 2017                 [Page 5]


Internet-Draft         TZDIST Geolocate Extension           October 2016


5.  Privacy Considerations

   This specification does not introduce any additional privacy concerns
   beyond those described in [RFC7808].

6.  IANA Considerations

6.1.  Service Action Registration

   This document defines the following new TZDIST Service Action to be
   added to the registry defined in Section 10.3.1 of [RFC7808]:

                   +-------------+--------------------+
                   | Action Name | Reference          |
                   +-------------+--------------------+
                   | geolocate   | RFCXXXX, Section 3 |
                   +-------------+--------------------+

6.2.  Registration of invalid-location Error URN

   This section registers the "urn:ietf:params:tzdist:error:invalid-
   location" URN in the "TZDIST Identifiers" registry defined in
   Section 10.4 of [RFC7808].

   URN:  urn:ietf:params:tzdist:error:invalid-location

   Specification:  RFCXXXX, Section 3

   Repository:  http://www.iana.org/assignments/tzdist-identifiers.

   Contact:  IESG <iesg@ietf.org>

   Index value:  N/A.

7.  Acknowledgments

   The author would like to thank the following individuals for
   contributing their ideas and support for writing this specification:
   Cyrus Daboo.

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.



Murchison                Expires April 17, 2017                 [Page 6]


Internet-Draft         TZDIST Geolocate Extension           October 2016


   [RFC5870]  Mayrhofer, A. and C. Spanring, "A Uniform Resource
              Identifier for Geographic Locations ('geo' URI)",
              RFC 5870, DOI 10.17487/RFC5870, June 2010,
              <http://www.rfc-editor.org/info/rfc5870>.

   [RFC7807]  Nottingham, M. and E. Wilde, "Problem Details for HTTP
              APIs", RFC 7807, DOI 10.17487/RFC7807, March 2016,
              <http://www.rfc-editor.org/info/rfc7807>.

   [RFC7808]  Douglass, M. and C. Daboo, "Time Zone Data Distribution
              Service", RFC 7808, DOI 10.17487/RFC7808, March 2016,
              <http://www.rfc-editor.org/info/rfc7808>.

8.2.  Informative References

   [TZBB]     Siroky, E., "Timezone Boundary Builder",
              <https://github.com/evansiroky/timezone-boundary-builder>.

   [TZSHAPE]  Muller, E., "A set of shapefiles for the TZ timezones",
              <http://efele.net/maps/tz/>.

Author's Address

   Kenneth Murchison
   Carnegie Mellon University
   5000 Forbes Avenue
   Pittsburgh, PA  15213
   USA

   Email: murch@andrew.cmu.edu





















Murchison                Expires April 17, 2017                 [Page 7]


Html markup produced by rfcmarkup 1.123, available from https://tools.ietf.org/tools/rfcmarkup/