draft-ietf-urn-ddds-00.txt   draft-ietf-urn-ddds-01.txt 
Network Working Group M.M. Mealling Network Working Group M.M. Mealling
Internet-Draft Network Solutions, Inc. Internet-Draft Network Solutions, Inc.
Expires: January 12, 2001 July 14, 2000 Expires: March 20, 2001 September 19, 2000
Dynamic Delegation Discovery System (DDDS) Dynamic Delegation Discovery System (DDDS)
draft-ietf-urn-ddds-00 draft-ietf-urn-ddds-01
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
skipping to change at page 1, line 30 skipping to change at page 1, line 30
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 12, 2001.
This Internet-Draft will expire on March 20, 2001.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract Abstract
This document describes a the Dynamic Delegation Discovery System or This document describes a the Dynamic Delegation Discovery System or
DDDS which, when applied to a unique string will produce a series of DDDS which, when applied to a unique string will produce a series of
rules that describe the various delegations that may exist based on rules that describe the various delegations that may exist based on
skipping to change at page 2, line 13 skipping to change at page 2, line 13
database. database.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 5 3. The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Components of a Rule . . . . . . . . . . . . . . . . . . . . . 5 3.1 Components of a Rule . . . . . . . . . . . . . . . . . . . . . 5
3.2 Substitution Expression Syntax . . . . . . . . . . . . . . . . 5 3.2 Substitution Expression Syntax . . . . . . . . . . . . . . . . 5
3.3 The Complete Algorithm . . . . . . . . . . . . . . . . . . . . 7 3.3 The Complete Algorithm . . . . . . . . . . . . . . . . . . . . 7
4. Specifying An Application . . . . . . . . . . . . . . . . . . 8 4. Specifying An Application . . . . . . . . . . . . . . . . . . 9
5. Specifying A Database . . . . . . . . . . . . . . . . . . . . 9 5. Specifying A Database . . . . . . . . . . . . . . . . . . . . 11
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.1 An Automobile Parts Identification System . . . . . . . . . . 10 6.1 An Automobile Parts Identification System . . . . . . . . . . 12
6.2 A Document Identification Service . . . . . . . . . . . . . . 11 6.2 A Document Identification Service . . . . . . . . . . . . . . 13
References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 15
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 14 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
The Dynamic Delegation Discovery System is used to map some unique The Dynamic Delegation Discovery System is used to map some unique
string to data stored within the DDDS by iteratively applying string string to data stored within the DDDS by iteratively applying string
transformation rules until a terminal condition is reached. This transformation rules until a terminal condition is reached. This
document describes the general algorithm, not any particular document describes the general algorithm, not any particular
application or usage scenario. It is up to other documents to application or usage scenario. It is up to other documents to
describe how they use the DDDS algorithms. describe how they use the DDDS algorithms.
skipping to change at page 7, line 7 skipping to change at page 7, line 7
the character that delimits the components of the substitution the character that delimits the components of the substitution
expression. There must be exactly three non-escaped occurrences of expression. There must be exactly three non-escaped occurrences of
the delimiter character in a substitution expression. Since escaped the delimiter character in a substitution expression. Since escaped
occurrences of the delimiter character will be interpreted as occurrences of the delimiter character will be interpreted as
occurrences of that character, digits MUST NOT be used as occurrences of that character, digits MUST NOT be used as
delimiters. Backrefs would be confused with literal digits were this delimiters. Backrefs would be confused with literal digits were this
allowed. Similarly, if flags are specified in the substitution allowed. Similarly, if flags are specified in the substitution
expression, the delimiter character must not also be a flag expression, the delimiter character must not also be a flag
character. character.
The character set(s) that the substitution expression is in and can
act on are dependent both on the Application and on the Database
beind used. An Application must define what the allowed character
sets are for the Application Unique String. A DDDS Database
specification must define what character sets are required for
producing its keys and for how the substitution expression itself is
encoded. The grammar required characters from above only have
meaning once a specific character set is defined for the Database or
Application.
3.3 The Complete Algorithm 3.3 The Complete Algorithm
The following is the exact DDDS algorithm: The following is the exact DDDS algorithm:
1. The First Well Known Rule is applied to the Application Unique 1. The First Well Known Rule is applied to the Application Unique
String which produces a Key String which produces a Key
2. That Application asks the Database for the ordered set of Rules 2. That Application asks the Database for the ordered set of Rules
that are bound to that Key that are bound to that Key
skipping to change at page 8, line 41 skipping to change at page 9, line 41
not including the first colon (the URI scheme) is the first Key. not including the first colon (the URI scheme) is the first Key.
Valid Databases: Valid Databases:
The application can define which Databases are valid. For each The application can define which Databases are valid. For each
Database the Application must define how the First Well Known Database the Application must define how the First Well Known
Rule's output (the first Key) is turned into something that is Rule's output (the first Key) is turned into something that is
valid for that Database. For example, the URI Resolution valid for that Database. For example, the URI Resolution
application could use the Domain Name System (DNS) as a Database. application could use the Domain Name System (DNS) as a Database.
The operation for turning this first Key into something that was The operation for turning this first Key into something that was
valid for the database would be to to turn it into some DNS-valid valid for the database would be to to turn it into some DNS-valid
domain-name. domain-name. Additionally, for each Database an Application
defines, it must also specify what the valid character sets are
that will produce the correct Keys. In the URI Resolution
example, the character set of a URI is 7 bit ASCII which matches
fairly well with DNS's 8 bit limitation on characters in its zone
files.
Expected Output: Expected Output:
The Application must define what the expected output of the The Application must define what the expected output of the
Terminal Rule should be. For example, the URI Resolution Terminal Rule should be. For example, the URI Resolution
application is concerned with finding servers that contain application is concerned with finding servers that contain
authoritative data about a given URI. Thus the output of the authoritative data about a given URI. Thus the output of the
terminal rule would be information (hosts, ports, protocols, etc) terminal rule would be information (hosts, ports, protocols, etc)
that would be used to contact that authoritative server. that would be used to contact that authoritative server.
5. Specifying A Database 5. Specifying A Database
Additionally, any Application must have at least one corresponding Additionally, any Application must have at least one corresponding
Database from which to retrieve the Rules. A Database specification Database from which to retrieve the Rules. A Database specification
must include the following pieces of information: must include the following pieces of information:
General Specification: General Specification:
The Database must have a general specification. This can The Database must have a general specification. This can
reference other standards (SQL, DNS, etc) or it can fully specify reference other standards (SQL, DNS, etc) or it can fully specify
a novel database system. a novel database system. This specification must be clear as to
what allowed character sets exist in order to know in which
character set the Rules and subsequence substitution expression
are encoded in.
Lookup Procedure: Lookup Procedure:
This specifies how a query is formulated and submitted to the This specifies how a query is formulated and submitted to the
database. In the case of databases that are used for other database. In the case of databases that are used for other
purposes (such as DNS), the specification must be clear as to how purposes (such as DNS), the specification must be clear as to how
a query is formulated specifically for the database to be a DDDS a query is formulated specifically for the database to be a DDDS
database. For example, a DNS based Database must specify which database. For example, a DNS based Database must specify which
Resource Records or Query Types are used. Resource Records or Query Types are used.
Key Format: Key Format:
 End of changes. 7 change blocks. 
13 lines changed or deleted 32 lines changed or added

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