Network Working Group                                   D.J. Blackketter
Internet-Draft                                      WebTV Networks, Inc.
Expires: August 11, 2000                                      M.A. Dolan
                                                    TerraByte Technology
                                                            C.A. Finseth
                                                      Firwood Consulting
                                                               G. Thomas
                                                            LGERCA, Inc.
                                                            D.J. Zigmond
                                                    WebTV Networks, Inc.
                                                       February 11, 2000


                 The Local Identifier (lid:) URI Scheme
                      draft-blackketter-lid-00.txt

Status of this Memo

   This document is an Internet-Draft and is NOT offered in accordance
   with Section 10 of RFC2026, and the author does not provide the IETF
   with any rights other than to publish as an Internet-Draft.

   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 August 11, 2000.

Abstract

   This document describes the Local Identifier or "lid:" URI scheme.












Blackketter, et. al.    Expires August 11, 2000                 [Page 1]

Internet-Draft            The lid: URI scheme              February 2000


Table of Contents

   1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .   3
   2. Description  . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3. Security Considerations  . . . . . . . . . . . . . . . . . . .   6
      References . . . . . . . . . . . . . . . . . . . . . . . . . .   7
      Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .   7
   A. Syntax of Local Identifier URIs  . . . . . . . . . . . . . . .   9
   B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  11










































Blackketter, et. al.    Expires August 11, 2000                 [Page 2]

Internet-Draft            The lid: URI scheme              February 2000


1. Introduction

   Content delivered by a one-way broadcast is not necessarily
   available on-demand, as it is when delivered by HTTP or FTP. For
   such content, it is necessary to have a unique identifier  for each
   resource. To support cross-references within the content (for use in
   hyperlinks or to embed one piece of content in another), these local
   names must be location-independent.

   The "lid:" URI scheme enables content creators to assign unique
   identifiers to each resource relative to a given namespace. Thus the
   author can establish a new namespace for a set of content and then
   use simple, human-readable names for all resources within that
   space. The "lid:" scheme can be used to uniquely identify any
   content that is available locally (from a cache, for example) and is
   used in the Advanced Television Enhancement Forum specification[2]
   to identify resources that are broadcast in conjunction with
   television programming.

   In addition, the "lid:" URI scheme may be useful in any system to
   reference content that may only be available in a local cache. The
   use of the "lid:" may be preferable to using "file:" or "cid:" URIs
   in these cases.




























Blackketter, et. al.    Expires August 11, 2000                 [Page 3]

Internet-Draft            The lid: URI scheme              February 2000


2. Description

   lid: URIs fully comply with the syntax called out in RFC2396[1].
   This document will not review the entire syntax.  Rather, it will
   just highlight the specifics.  Numbers in {}s refer to RFC 2396
   section numbers.

   lid: URIs are simultaneously URIs and URNs {1.2}.  The term "URI"
   will continue to be used to refer to the collection.  They are
   technically URLs as well, but only in a trivial way.

   lid: URIs are hierachical and the relative forms are fully supported
   {1.4}.  The "." and ".." path components are given their accustomed
   meanings.

   The standard character set restrictions and operations (e.g.
   quoting) are used {2.}.

   This document does not specify a maximum length of an lid: URI.
   Content authors should consult the set of instantiation documents
   covering their target systems to determine any limitations on length.

   The standard form {3.} of the "lid:" URI is as follows:


   lid://<authority><path>?<query>


   The <authority> part is a registration-based naming authority.  The
   registration is the Domain Name System {3.2}.  Note that the
   <authority> part is not expected to ever be resolved via DNS
   servers. Further, the <authority> part must be a name: a numeric
   identifier (such as IPv4 address) is not permissible {3.2.2}.

   The <path> names a specific resource within the name space, and must
   follow the generic relative URI syntax. As with all URI schemes that
   support the generic relative URI syntax, this path component can be
   used alone as a relative URI, where the namespace is implied by a
   base URI specified for the content through other means.

   The server-based portions {3.2.1}, including "<userinfo>@" and
   ":<port>", are permitted but their meaning is not defined here.

   Path component interpretation is as specified in {3.3}.  Path
   components, as well as complete lid: URIs, are compared in a
   case-independent fashion.

   Query components are permitted; interpretation is as specified in
   {3.4}.


Blackketter, et. al.    Expires August 11, 2000                 [Page 4]

Internet-Draft            The lid: URI scheme              February 2000


   Fragment identifiers are permitted; interpretation is as specified
   in {4.1}.

   Relative URI references are permitted within an application.
   However, all URIs will be converted to fully-qualified form before
   being passed to the environment for lookup {5.}.

   In general, Base URIs as described in {5.1} operate as specified.
   Specific instantiations of this scheme may specify alternate Base
   URI semantics.

   Each instantiation of this scheme will specify how default Base URIs
   are obtained. {5.1.4}

   Some examples:


   lid://xyz.com/myshow/episode100/george.html
   lid://specials.news.com/logos/daisy.jpg
   lid://unique2345@blahblah.com/rootpage.html?name=zella#bday































Blackketter, et. al.    Expires August 11, 2000                 [Page 5]

Internet-Draft            The lid: URI scheme              February 2000


3. Security Considerations

   The local identifier URI scheme is subject to the same security
   implications as in general URI[1] schemes, so the usual precautions
   apply.  This means that some local identifier URIs may refer to
   resources that are not available (because they have not been
   received, for example), or to resources that have been received, but
   were intentionally misidentified.  Appropriate security mechanisms
   should be used in the delivery of content identified by local
   identifier URIs.









































Blackketter, et. al.    Expires August 11, 2000                 [Page 6]

Internet-Draft            The lid: URI scheme              February 2000


References

   [1]  Berners-Lee, T., Masinter, L. and R. Fielding, "Uniform
        Resource Identifiers (URI): Generic Syntax", RFC 2396, August
        1998.

   [2]  ATVEF, "Advanced Television Enhancement Forum Specification
        (ATVEF)  Enhanced Content Specification", February 1999.


Authors' Addresses

   Dean J. Blackketter
   WebTV Networks, Inc.
   1295 Charleston Road
   Mountain View, CA  94043
   US

   Phone: +1 650 614 5521
   EMail: dean@blackketter.com


   Michael A. Dolan
   TerraByte Technology
   PO Box 1673
   Alpine, CA  91903
   US

   Phone: +1 619 445-9070
   EMail: miked@tbt.com


   Craig A. Finseth
   Firwood Consulting
   1343 Lafond
   St. Paul, MN  55104
   US

   Phone: +1 651 644 4027
   EMail: craig@firwood.net


   Gomer Thomas
   LGERCA, Inc.
   40 Washington Road
   Princeton Junction, NJ  08550
   US

   EMail: gomer@lgerca.com


Blackketter, et. al.    Expires August 11, 2000                 [Page 7]

Internet-Draft            The lid: URI scheme              February 2000


   Dan J. Zigmond
   WebTV Networks, Inc.
   1295 Charleston Road
   Mountain View, CA  94043
   US

   Phone: +1 650 614 3341
   EMail: djz@corp.webtv.net











































Blackketter, et. al.    Expires August 11, 2000                 [Page 8]

Internet-Draft            The lid: URI scheme              February 2000


Appendix A. Syntax of Local Identifier URIs

   The collected BNF for "lid:" URIs is encoded as specified in RFC
   2396[1].  The specific BNF for "lid:" URIs is as follows:


   lidURI        = "lid://" authority [ "/" [ path_segments ] ]
                   [ "?" query ] [ "#" fragment ]

   authority     = [ userinfo "@" ] hostname [ ":" port ]

   userinfo      = *( unreserved | escaped |
                      ";" | ":" | "&" | "=" | "+" | "$" | "," )

   hostname      = *( domainlabel "." ) toplabel [ "." ]
   domainlabel   = alphanum | alphanum *( alphanum | "-" ) alphanum
   toplabel      = alpha | alpha *( alphanum | "-" ) alphanum
   port          = *digit

   path_segments = segment *( "/" segment )
   segment       = *pchar *( ";" param )
   param         = *pchar
   pchar         = unreserved | escaped |
                   ":" | "@" | "&" | "=" | "+" | "$" | ","

   query         = *uric
   fragment      = *uric

   uric          = reserved | unreserved | escaped
   reserved      = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                   "$" | ","
   unreserved    = alphanum | mark
   mark          = "-" | "_" | "." | "!" | "~" | "*" | "'" |
                   "(" | ")"

   escaped       = "%" hex hex
   hex           = digit | "A" | "B" | "C" | "D" | "E" | "F" |
                           "a" | "b" | "c" | "d" | "e" | "f"

   alphanum      = alpha | digit
   alpha         = lowalpha | upalpha

   lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" |
              "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" |
              "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
   upalpha  = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
              "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
              "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
   digit    = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |


Blackketter, et. al.    Expires August 11, 2000                 [Page 9]

Internet-Draft            The lid: URI scheme              February 2000


              "8" | "9"


















































Blackketter, et. al.    Expires August 11, 2000                [Page 10]

Internet-Draft            The lid: URI scheme              February 2000


Appendix B. Acknowledgements

   The authors gratefully acknowledge the contributions of the ATVEF
   Technical Working Group, and in particular: Lee Acton, Jonathan
   Boltax, Wayne Carr, Michael Dolan, Iain Hackett, Cheryl Kadis, David
   Mott, Isaac Sheldon, Scott Watson, Mark Vickers, and Dan Zigmond. 













































Blackketter, et. al.    Expires August 11, 2000                [Page 11]