Internet DRAFT - draft-hollenbeck-sls-rationale

draft-hollenbeck-sls-rationale







Network Working Group                                      S. Hollenbeck
Internet-Draft                                            VeriSign, Inc.
Expires: April 7, 2006                                         L. Daigle
                                                           Cisco Systems
                                                             M. Mealling
                                                Refactored Networks, LLC
                                                         October 4, 2005


             Rationale for the Service Lookup System (SLS)
                 draft-hollenbeck-sls-rationale-00.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 7, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   Developing technology to support truly internationalized Internet
   identifiers is proving difficult within the framework of the existing
   Domain Name System (DNS).  At the same time, the DNS continues to do
   an excellent job at serving its original mandate for providing
   efficient mappings between machine-readable labels and network



Hollenbeck, et al.        Expires April 7, 2006                 [Page 1]

Internet-Draft                SLS Rationale                 October 2005


   resources.  However, it is clear that the existing DNS cannot be
   transformed into a service that can handle the more human-oriented
   identification services it is now being asked to provide.  This
   document describes the rationale for a directory layer above the
   existing DNS that can better solve these problems.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Problem Statement  . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  Requirements . . . . . . . . . . . . . . . . . . . . . . .  4
     2.2.  Service Providers  . . . . . . . . . . . . . . . . . . . .  6
     2.3.  Unanswered Questions . . . . . . . . . . . . . . . . . . .  7
   3.  Usage Scenarios  . . . . . . . . . . . . . . . . . . . . . . .  7
     3.1.  Transition From DNS to Something Else  . . . . . . . . . .  8
     3.2.  Web Browsing . . . . . . . . . . . . . . . . . . . . . . .  8
       3.2.1.  Name Known, Never Resolved . . . . . . . . . . . . . .  8
       3.2.2.  Name Known, Resolved Before  . . . . . . . . . . . . .  9
       3.2.3.  Name Not Known, Other Characteristics Known  . . . . . 10
     3.3.  Sending Email  . . . . . . . . . . . . . . . . . . . . . . 10
       3.3.1.  LHS and RHS Names Known  . . . . . . . . . . . . . . . 10
       3.3.2.  Full Human Address Known, Bookmarked . . . . . . . . . 11
   4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 11
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 11
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
   7.  Informative References . . . . . . . . . . . . . . . . . . . . 11
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12
   Intellectual Property and Copyright Statements . . . . . . . . . . 13






















Hollenbeck, et al.        Expires April 7, 2006                 [Page 2]

Internet-Draft                SLS Rationale                 October 2005


1.  Introduction

   In "A Search-based access model for the DNS" [I-D.klensin-dns-
   search], the author discusses approaching the problems of
   internationalized domain names (IDNs) and enhanced DNS with a layered
   approach that leaves the current DNS' form and function unmodified.
   The three layers are:

      Layer 1: The DNS, with the existing lookup mechanisms.

      Layer 2: A restricted lookup system where the identifiers are
      qualified by additional attributes called facets.  Facets include
      concepts such as locale, category, and language.

      Layer 3: Localized and topic-specific search environments.

   This document describes the problem statement, reviews possible usage
   scenarios, and provides the rational that ties these elements
   together.  It is based significantly on an older document originally
   written by Michael Mealling and Leslie Daigle titled "Service Lookup
   System (SLS)".  Most of the text that appears here was copied
   liberally.  Portions of the older document have been dropped or re-
   written to reflect changes in thought over time.


2.  Problem Statement

   Roughly stated, the goal of Layer 1 is to provide unique, machine
   friendly identifiers for network level resources that can be used as
   protocol elements.  Layer 3 is for search services such as search
   engines and localized/topic specific directory services; e.g. very
   human and/or task specific services where the queries and results are
   not universally standardizable.  Layer 2 attempts to be a bridge
   between Layer 1 and Layer 3.  The problem is: what is the functional
   and deployable middle ground?  This includes even the fundamental
   question of "What exactly is the problem that Layer 2 will attempt to
   solve?".

   Much of the discussion to date has dealt with internationalization of
   Internet identifiers, domain names in particular.  The need for
   anything beyond simple matches on characters is not immediately
   apparent for identifiers that can be represented entirely in the
   English language using US-ASCII characters.  Since the Internet, and
   DNS specifically, were designed using US-ASCII characters, it is much
   easier for English-speakers to learn to live with the limitations and
   thus those limitations aren't as glaringly apparent.

   Limitations become more obvious when languages that are represented



Hollenbeck, et al.        Expires April 7, 2006                 [Page 3]

Internet-Draft                SLS Rationale                 October 2005


   using non-US-ASCII characters are considered.  German, for example,
   can be approximated with some limitations.  When confronted with non-
   ASCII character sets from Asian languages, however, the simple "match
   on characters" semantic quickly becomes unworkable and in many cases
   fundamentally cannot address the identification requirements of the
   user.  Requirements such as "match based on the locale of the
   querier" and "order of the name components to match user expectation"
   have been common enough to illustrate that the problems that are
   attempting to be solved are beyond the capabilities of the DNS.

   It is also interesting to look at what might be the root cause of all
   of these problems.  Many of these problems stem from the disconnect
   between what the DNS was meant to identify and what it is actually
   being used for.  In many cases the DNS is being forced into service
   as a way to identify complex services that have no concrete network
   level representation.

   For example, when a user types "cnn.com" into a web browser they are
   not explicitly asking for the index.html file at the root level
   context of the HTTP server running on the default port of the host
   whose A record is returned from the DNS query for "cnn.com".  The
   user's view of the process is that he/she is requesting the current
   news from CNN via the Internet.  The disconnect between these two
   different interpretations of the same action is where the problem
   lies.

   The problem is that the DNS and by extension IDN and similar efforts
   are attempting to use a simple name to number mapping system for
   network identifiers as a tool for mapping real world entities
   (companies, individuals, services) into network services (not
   identifiers).  Since networks are designed and evolve to meet
   technical and network administration needs, their evolution is often
   at odds with that of the services that real world entities
   (individuals, organizations) wish to communicate about.  This stress
   is particularly noticeable in the identifier strings themselves
   (domain and host names) -- companies, individuals, and services must
   be named using labeling conventions that were devised for network
   machines.  This simply doesn't fit.

2.1.  Requirements

   The problems and features discussed in [I-D.klensin-dns-search]
   suggest a system with certain behaviors.  This document continues
   that discussion by describing specific requirements for that system.
   In order to do so, some of the unanswered questions in the document
   need to discussed:





Hollenbeck, et al.        Expires April 7, 2006                 [Page 4]

Internet-Draft                SLS Rationale                 October 2005


   o  Character sets: Full Unicode support at a minimum.  There is some
      desire to enable other character sets but most comments have said
      that mapping into Unicode is acceptable as long as there can be
      some method for communicating what locale was used for doing that
      mapping and which normalization steps were taken.  It has become
      evident that, in order to know what normalization steps occurred,
      the client may need to describe the original character set used as
      input into the normalization step.  It has even been suggested
      that the exact software vendor and version implementing that
      normalization may be needed for some languages.

   o  Localization: In many cases there are semantic differences in what
      an appropriate match should be based on location, jurisdiction, or
      region-specific dialect.

   o  Geographic scoping: In other cases, it is appropriate to
      distinguish between identifiers based on the region or
      geographical scope of applicability.  For example, trademarks have
      traditionally been scoped by geographical boundaries.

   o  Category based scoping: To fully handle most trademark law and the
      human habit of using the same word to mean two different things,
      names also need to be scoped by the category they fit into.  The
      problem here is to figure out which categories to use since there
      is no single taxonomy in which all things can be categorized.

   o  Syntactic flexibililty: If at all possible, the system should not
      place synthetic syntactic restrictions or requirements on
      identifiers.  One main reason is that there are no common
      syntactic elements among all languages.  This includes both
      computational, structured syntax (e.g. dot separators) and no
      requirements or constraints on the interpretation of the
      identifier (e.g. any Unicode character is valid).

   o  DNS characteristics worth preserving: Since the DNS provides some
      of the motivation for a Layer 2 service, it is worth looking at in
      terms of characteristics that are worth emulating:

      -  Limited match semantics (lookup only),

      -  Deterministic relationship between the name and the answer set,

      -  All public names are globally available, and








Hollenbeck, et al.        Expires April 7, 2006                 [Page 5]

Internet-Draft                SLS Rationale                 October 2005


      -  In the case of an A record, the result is service-independent.

   o  Uniqueness is an important characteristic of DNS that should be
      emulated by some aspects of the system, though which aspects and
      how are uncertain.  It is at least a requirement that a given
      name/facet set/service tuple be unique.

   o  There are requirements that facets be structured, highly
      standardized, limited in number, and with values that come from
      controlled vocabularies.

   o  It should be possible for a result to identify a service
      independent network node so that the client may contact that node
      for multiple services without having to re-query the Layer 2
      service again and again for each different service.

   o  While locale in its various standardized forms does communicate
      some aspects of "location", additional information (geographic and
      category scoping) is needed in order to support various human
      assumptions such as trademark law and locality of reference.

   o  Entries must be globally unique, but 2 entries may be
      distinguishable by as little information as the service through
      which they are made available.  In other words, names and their
      facets, as a whole, are unique within a service and are scoped to
      that service.

   o  A result must return its entire context.  This includes not only
      the name and the identification component but ALL of the facets
      that made up the match.

   o  There are no requirements or restrictions on the entities that can
      be identified.  A name can apply to a human, a corporation, etc.
      Some services may not make sense for a given entity but that it
      simply reflected in that name simply not begin registered with a
      provider for that service type.

   o  It is expected that Layer 2 services will be provided on a
      competitive basis.  This means multiple service providers that may
      cover the same areas and who compete directly with each other.

2.2.  Service Providers

   The concept of Layer 2 "service providers" has been mentioned several
   times so far and needs to be discussed itself.  In order to avoid
   requiring a single, structured global delegation of registration and
   lookup servers, we start from the assumption that there will be
   multiple independent collections of name/facets.  Name/facet tuples



Hollenbeck, et al.        Expires April 7, 2006                 [Page 6]

Internet-Draft                SLS Rationale                 October 2005


   must be globally unique across all publicly accessible collections.
   This is accomplished by including the service provider as one of the
   facets, essentially making name/facet tuples unique to their
   provider.  Beyond this there is no other defined relationship between
   service providers.  Whether providers coordinate or compete with each
   other is beyond the scope of this document.  The only material effect
   is that we need to determine whether "discovery" is a required
   component of the Layer 2 query protocol.  There may be a requirement
   that a tuple have a service provider independent and globally unique
   identifier to allow for a tuple to "migrate" from provider to
   provider but this is more of a policy requirement than a technical
   one.

2.3.  Unanswered Questions

   Questions still to be answered include:

   o  Is Unicode sufficient?  If not by itself, then is a mapping from
      the local character set onto Unicode provided the mapping used is
      communicated to the service via the locale facet sufficient?  If
      not, then is the requirement that _all_ character sets be
      supported?

   o  In many cases "locale" is a combination of pieces of information.
      The value associated with any Posix locale setting is a
      combination of the ISO 3166-1 two-letter country code and a two-
      letter language code.  Is this concept of locale sufficient for
      the boundary cases found in some languages?  Does the definition
      need to be augmented by ISO 3166-2 subregion codes?  Are the
      standard two letter language codes also sufficient?

   o  Is uniqueness based on the name/facet-set/service tuple
      sufficient?

   o  If it is, is there a requirement that the results of a query be
      exhaustive?  This requirement would create a situation where all
      service providers would have to be discoverable.

   o  Is there a real requirement for supporting the trademark law
      concepts of name scoping by geographic and category boundaries?
      If so, then requirements for the location and category facets need
      to be investigated further.


3.  Usage Scenarios

   Since it is much easier to discuss these goals in terms of specific
   usage scenarios instead of vague general desires, the discussion



Hollenbeck, et al.        Expires April 7, 2006                 [Page 7]

Internet-Draft                SLS Rationale                 October 2005


   above is framed in terms of the following examples.

3.1.  Transition From DNS to Something Else

   In order to deploy anything at Layer 2, a transition method would
   have to be required to allow for users to a) use domain names within
   the system, and b) to use Layer 2 names in place of domain names.  A
   usage example might look like this:

   A user at a web browser wants to visit the web site for "CNN".  Their
   browser has rudimentary software installed that can handle the term
   "CNN" as a Layer 2 service name instead of a partial Layer 1 domain
   name, but only by "acting" as a shim above that browser's Layer 1
   interface.  Therefore the user's queries are specified so that the
   results are nothing more than pointers to regular DNS records.  If
   the results contain more than one answer then the user is given a
   disambiguation step.  The results are kept in a cache but as far as
   the browser is concerned, it has still received a simple DNS "A"
   record.

   The same could be done for an enhanced email address.  In this case a
   seemingly normal email address is decomposed using regular RFC 2822
   [RFC2822] rules.  The same shim layer is called on the Right Hand
   Side (RHS) of the address per RFC 2822's rules.  A DNS query is then
   performed for an MX or A record.  If there is a disambiguation step
   required the user is given that choice.  The result of the query will
   be an MX or A record that is handed back to the user's application.

   This is simply a scenario.  If a solution is deployed that actually
   works this way then extreme care must be taken so that recursive
   resolution doesn't happen between a full implementation of the
   service and this "shim".  If the result of a fully enabled client
   query is then input into a "shim" then serious usability or
   interoperability problems can occur.

3.2.  Web Browsing

   The following scenarios discuss the use of an SLS-like system for
   naming services used via web browsers.

3.2.1.  Name Known, Never Resolved

   One of the main uses of Layer 2-style names is that they help solve
   the "guessing" function that many users are forced to perform with
   DNS names.  With DNS a guess is required because the most likely name
   is often already taken, causing other services to have to pick sub-
   optimal domain names.  This causes the user to have to guess at that
   sub-optimal name in order to find the other services.  This scenario



Hollenbeck, et al.        Expires April 7, 2006                 [Page 8]

Internet-Draft                SLS Rationale                 October 2005


   involves the case where the user is attempting to browse the public
   page of a service they have heard about but never actually visited or
   queried for.

   In this case the user enters the Layer 2 name "McDonald's".  This
   name, plus defaults provided by the browser that the user previously
   configured (location, locale, interests, etc), are sent to the user's
   configured SLS servers.  The servers respond with the various results
   and those results are displayed to the user.  In this particular case
   the user lives in an area that has a locksmith business called
   "McDonald's Doors" as well as a computer upgrade and repair business
   called "McDonald's and Associates".  All of these companies and the
   fairly famous restaurant with over a billion served both have the use
   of the trade name "McDonald's".  The user is presented with these
   results:

      McDonald's: A worldwide system of restaurants which prepare,
      assemble, package and sell a limited menu of value-priced foods.

      http://www.mcdonalds.com/

      McDonald & Associates: current pricing on standard memory modules,
      a list of proprietary upgrades available, a memory FAQ, and
      articles on upgrading memory and types of memory.

      http://www.buymemory.com/

      McDonalds Doors: offers security, safety, and protection in doors
      and locking systems.

      http://www.mcdonaldsdoors.co.uk/

   Based on this list of results the user selects the locksmith, and
   their browser is told to request that particular URI.  At the same
   time, that record is also inserted into the user's local cache of
   service records.

3.2.2.  Name Known, Resolved Before

   In this scenario the user is requesting the same Layer 2 name as
   before: "McDonald's".  At this point the user interface designer has
   three main choices:

   o  Immediately follow the service description found in the first hit
      in the users local cache.






Hollenbeck, et al.        Expires April 7, 2006                 [Page 9]

Internet-Draft                SLS Rationale                 October 2005


   o  Re-query the current list of SLS service providers, but display
      the user's locally-cached records first.

   o  Ignore the users local cache entirely.

   The usability issue here is the tradeoff between the easiest way for
   the user to use frequently-used names without needing to disambiguate
   yet again and allowing the user to signal that they wish to do a
   novel name lookup regardless of what they have done in the past.  In
   this scenario we will assume that the browser handles this situation
   to the user's satisfaction.  The user never sees the disambiguation
   step and thus is immediately sent back to the same service as before.

3.2.3.  Name Not Known, Other Characteristics Known

   In this scenario the user does not know the actual name of the
   service she is looking for but she does know that it is a locksmith
   in her local area.  In this case the query is not for a Layer 2 name,
   but instead a query sent to a local Layer 3 service such as a local
   yellow pages provider.  The results are sent back in the same basic
   form as provided by SLS, but augmented with additional values that
   help the user differentiate between which locksmith they are looking
   for.  These records also contain the Layer 2 name for each service,
   thus populating the user's local cache with the correct names for
   future queries.

   The key point here is that there is a general requirement that Layer
   2 and Layer 3 service be interoperable to some degree.

3.3.  Sending Email

   In these scenarios, Layer 2 names are used as components of SLS-
   enhanced email addresses.

3.3.1.  LHS and RHS Names Known

   In this scenario the user has been presented with the SLS-enhanced
   email address of a friend on their business card.  The address is
   "Ima Sample@Example Technologies, Inc".  The user enters this address
   into their SLS-enhanced mailer which then decomposes the email
   address into its Right and Left Hand Side components.  The RHS is
   sent to the same SLS providers as above and the results are provided
   to the user.  In this case the user knows that there are several
   companies with that name but she is aware that this particular one is
   an aerospace contractor in England.  In some cases the results
   contain a referral to an SLS service that is specific to that email
   service.  The user picks a record that has such a referral and the
   mail agent then sends an SLS query for the LHS of the address to the



Hollenbeck, et al.        Expires April 7, 2006                [Page 10]

Internet-Draft                SLS Rationale                 October 2005


   SLS service found in that referral.  That local service then sends
   the matches for "Ima Sample" back to the user.  These records contain
   pointers to "real" RFC 2822 addresses that the user's mail client can
   actually use to send email.

3.3.2.  Full Human Address Known, Bookmarked

   In the case the address or the RHS of a previous address that has
   been previously queried for the same behavior above can be inserted.
   In the case where the RHS is in the cache but the LHS is not the
   disambiguation step might have to be done.  In either case, the
   results are again inserted into the user's local cache and used
   according to user interface requirements.


4.  IANA Considerations

   This document does not require IANA action.


5.  Security Considerations

   TBD


6.  Acknowledgements

   The authors would like to thank the following people who have
   provided significant contributions to the development of this
   document:

   TBD.

7.  Informative References

   [I-D.klensin-dns-search]
              Klensin, J., "A Search-based access model for the DNS",
              draft-klensin-dns-search-06 (work in progress),
              February 2004.

   [RFC2822]  Resnick, P., "Internet Message Format", RFC 2822,
              April 2001.









Hollenbeck, et al.        Expires April 7, 2006                [Page 11]

Internet-Draft                SLS Rationale                 October 2005


Authors' Addresses

   Scott Hollenbeck
   VeriSign, Inc.
   21345 Ridgetop Circle
   Dulles, VA  20166-6503
   USA

   Email: shollenbeck@verisign.com


   Leslie L. Daigle
   Cisco Systems
   13600 Dulles Technology Drive
   Herndon, VA  20171
   USA

   Phone: +1 703 484 0076
   Email: leslie@thinkingcat.com, ledaigle@cisco.com


   Michael Mealling
   Refactored Networks, LLC
   1635 Old Hwy 41
   Suite 112, Box 138
   Kennesaw, GA  30152
   USA

   Phone: +1 678 581 9656
   Email: michael@refactored-networks.com
   URI:   http://www.refactored-networks.com




















Hollenbeck, et al.        Expires April 7, 2006                [Page 12]

Internet-Draft                SLS Rationale                 October 2005


Intellectual Property Statement

   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.


Disclaimer of Validity

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


Copyright Statement

   Copyright (C) The Internet Society (2005).  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.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Hollenbeck, et al.        Expires April 7, 2006                [Page 13]