home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ids-inp-00.txt < prev    next >
Text File  |  1996-09-25  |  34KB  |  783 lines

  1.  
  2.  
  3.  
  4. INTERNET-DRAFT                                          Joann J. Ordille
  5. draft-ietf-ids-inp-00.txt                 Bell Labs, Lucent Technologies
  6. Expires in six months
  7.  
  8.  
  9.  
  10.                       Internet Nomenclator Project
  11.                   Filename: draft-ietf-ids-inp-00.txt
  12.  
  13.  
  14. Status of this Memo
  15.  
  16.       This document is an Internet-Draft.  Internet-Drafts are working
  17.       documents of the Internet Engineering Task Force (IETF), its
  18.       areas, and its working groups.  Note that other groups may also
  19.       distribute working documents as Internet-Drafts.
  20.  
  21.       Internet-Drafts are draft documents valid for a maximum of six
  22.       months and may be updated, replaced, or obsoleted by other
  23.       documents at any time.  It is inappropriate to use Internet-
  24.       Drafts as reference material or to cite them other than as ``work
  25.       in progress.''
  26.  
  27.       To learn the current status of any Internet-Draft, please check
  28.       the ``1id-abstracts.txt'' listing contained in the Internet-
  29.       Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
  30.       (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
  31.       Coast), or ftp.isi.edu (US West Coast).
  32.  
  33. Abstract
  34.  
  35.     The goal of the Internet Nomenclator Project is to integrate the
  36.     hundreds of publicly available CCSO servers from around the world.
  37.     Each CCSO server has a database schema that is tailored to the needs
  38.     of the organization that owns it.  The project is integrating the
  39.     different database schema into one query service.  The Internet
  40.     Nomenclator Project will provide fast cross-server searches for
  41.     locating people on the Internet.  It augments existing CCSO services
  42.     by supplying schema integration, more extensive indexing, and two
  43.     kinds of caching -- all this in a system that scales as the number
  44.     of CCSO servers grows.  One of the best things about the system is
  45.     that administrators can incorporate their CCSO servers into
  46.     Nomenclator without changing the servers. All Nomenclator needs is
  47.     basic information about the server.
  48.  
  49.     This document provides an overview of the Nomenclator system,
  50.     describes how to register a CCSO server in the Internet Nomenclator
  51.     Project, and how to use the Nomenclator search engine to find people
  52.  
  53.  
  54.                                                                 [Page 1]
  55.  
  56.  
  57. INTERNET-DRAFT                                            September 1996
  58.  
  59.  
  60.     on the Internet.
  61.  
  62.     Distribution of this document is unlimited.  Comments should be sent
  63.     to the author.
  64.  
  65. 1.  Introduction
  66.  
  67.     Hundreds of organizations provide directory information through the
  68.     CCSO name service protocol [3]. Although the organizations provide a
  69.     wealth of information about people, finding any one person can be
  70.     difficult because each organization's server is independent.  The
  71.     different servers have different database schemas (attribute names
  72.     and data formats).  The 300+ CCSO servers have more than 900
  73.     different attributes to describe information about people. Very few
  74.     common attributes exist.  Only name and email occur in more than 90%
  75.     of the servers [4].  No special support exists for cross-server
  76.     searches, so searching can be slow and expensive.
  77.  
  78.     The goal of the Internet Nomenclator Project is to provide fast,
  79.     integrated access to the information in the CCSO servers.  The
  80.     project is the first large-scale use of the  Nomenclator system.
  81.     Nomenclator is a more general system than a white pages directory
  82.     service.  It is a scalable, extensible information system for the
  83.     Internet.
  84.  
  85.     Nomenclator answers descriptive (i.e. relational) queries.  Users
  86.     can locate information about people, organizations, hosts, services,
  87.     publications, and other objects by describing their attributes.
  88.     Nomenclator achieves fast descriptive query processing through an
  89.     active catalog, and extensive meta-data and data caching.  The
  90.     active catalog constrains the search space for a query by returning
  91.     a list of data repositories where the answer to the query is likely
  92.     to be found.  Meta-data and data caching keep frequently used query
  93.     processing resources close to the user, thus reducing communication
  94.     and processing cause.
  95.  
  96.     Through the Internet Nomenclator Project, users can query any CCSO
  97.     server, regardless of its attribute names or data formats, by
  98.     specifying the query to Nomenclator.  Nomenclator provides a world
  99.     view of the data in the different servers.  Users express their
  100.     queries in this world view.  Nomenclator returns the answer
  101.     immediately if it has been cached by a previous query. If not,
  102.     Nomenclator uses its active catalog to constrain the query to the
  103.     subset of relevant CCSO servers.  The speed of the query is
  104.     increased, because only relevant servers are contacted. Nomenclator
  105.     translates the global query into local queries for each relevant
  106.     CCSO server.  It then translates the responses into the format of
  107.     the world view.  See Figure 1.
  108.  
  109.  
  110.                                                                 [Page 2]
  111.  
  112.  
  113. INTERNET-DRAFT                                            September 1996
  114.  
  115.  
  116.     --------------------------------------------------------------------
  117.  
  118.  
  119.                       +-------------+             +-------------+
  120.                       |             |             |             |
  121.           World View  |             | Local View  |             |
  122.           Query       |             | Query       |  Relevant   |
  123.           ----------->|             |------------>|             |
  124.                       | Nomenclator |             |  CCSO       |
  125.                       |             |             |             |
  126.           <-----------|             |<------------|  Server     |
  127.            World View |             |  Local View |             |
  128.            Response   |             |  Response   |             |
  129.                       +-------------+             +-------------+
  130.  
  131.  
  132.  
  133.                        Figure 1:  A Nomenclator Query
  134.  
  135.                    Nomenclator translates queries to and from
  136.                    the language of the relevant CCSO servers.
  137.  
  138.     --------------------------------------------------------------------
  139.  
  140.     The Internet Nomenclator Project makes it easier for users to find a
  141.     CCSO server, but it does not send all queries to that server.  When
  142.     Nomenclator constrains the search for a query answer, it screens out
  143.     irrelevant queries from ever reaching the server.  When Nomenclator
  144.     finds an answer in its cache, it screens out redundant queries from
  145.     reaching the server.  The server becomes easier to find and use
  146.     without experiencing the high loads caused by exhaustive and
  147.     redundant searches.
  148.  
  149.     The Internet Nomenclator Project creates the foundation for a much
  150.     broader heterogeneous directory service for the Internet.  The
  151.     current version of Nomenclator provides integrated access to CCSO
  152.     and relational database services. The Nomenclator System
  153.     Architecture supports fast, integrated searches of any collection of
  154.     heterogeneous directories.  The Internet Nomenclator Project can be
  155.     enhanced to support additional name services, or provide intergated
  156.     query services for other application domains. The project is
  157.     starting with CCSO services, because the CCSO services are widely
  158.     available and successful.
  159.  
  160.     Section 2 describes the Nomenclator system in more detail.  Section
  161.     3 explains how to register a CCSO server as part of the project.
  162.     Section 4 briefly describes how to use Nomenclator.  Section 5
  163.     provides a summary.
  164.  
  165.  
  166.                                                                 [Page 3]
  167.  
  168.  
  169. INTERNET-DRAFT                                            September 1996
  170.  
  171.  
  172. 2.  Nomenclator System
  173.  
  174.     Nomenclator is a scalable, extensible information system for the
  175.     Internet. It supports descriptive (i.e. relational) queries.  Users
  176.     locate information about people, organizations, hosts, services,
  177.     publications, and other objects by describing their attributes.
  178.     Nomenclator achieves fast descriptive query processing through an
  179.     active catalog, and extensive meta-data and data caching.
  180.  
  181.     The active catalog constrains the search space for a query by
  182.     returning a list of data repositories where the answer to the query
  183.     is likely to be found.  Components of the catalog are distributed
  184.     indices that isolate queries to parts of the network, and smart
  185.     algorithms for limiting the search space by using semantic,
  186.     syntactic, or structural constraints.  Meta-data caching improves
  187.     performance by keeping frequently used characterizations of the
  188.     search space close to the user, thus reducing active catalog
  189.     communication and processing costs.  When searching for query
  190.     responses, these techniques improve query performance by contacting
  191.     only the data repositories likely to have actual responses,
  192.     resulting in acceptable search times.
  193.  
  194.     Administrators make their data available in Nomenclator by supplying
  195.     information about the location, format, contents, and protocols of
  196.     their data repositories.  Experience with Nomenclator shows that
  197.     gathering a small amount of information from data owners can have a
  198.     substantial positive impact on the ability of users to retrieve
  199.     information.  For example, each CCSO administrator provides a
  200.     mapping from the local view of data (or schema) at the CCSO server
  201.     to Nomenclator's world view.  The administrator also supplies
  202.     possible values for any attributes with small domains at the data
  203.     repository (such as the "city" or "state_or_province" attributes).
  204.     With this information, Nomenclator can isolate queries to a small
  205.     percentage of the CCSO data repositories, and provide an integrated
  206.     view of their data.  Nomenclator provides tools that minimize the
  207.     effort that administrators expend in characterizing their data
  208.     repositories.  Nomenclator does not require administrators to change
  209.     the format of their data or the access protocol for their database.
  210.  
  211.  
  212.  
  213. 2.1 Components of a Nomenclator System
  214.  
  215.  
  216.     A Nomenclator system is comprised of a distributed catalog service
  217.     and a query resolver (see Figure 2).  The distributed catalog
  218.     service gathers meta-data about data repositories and makes it
  219.     available to the query resolver. Meta-data includes constraints on
  220.  
  221.  
  222.                                                                 [Page 4]
  223.  
  224.  
  225. INTERNET-DRAFT                                            September 1996
  226.  
  227.  
  228.     attribute values at a data repository, known patterns of data
  229.     distribution across several data repositories, search and navigation
  230.     techniques, schema and protocol translation techniques, and the
  231.     differing schema at data repositories.
  232.  
  233.     --------------------------------------------------------------------
  234.  
  235.  
  236.                       +-------------+             +-------------+
  237.                       |             |             |             |
  238.           World View  |             |  Meta Data  |             |
  239.           Query       |             |  Request    | Distributed |
  240.           ----------->|   Query     | ----------->|             |
  241.                       |   Resolver  |             |  Catalog    |
  242.                       |             |             |             |
  243.           <-----------|   (caches)  | <-----------|  Service    |
  244.            World View |             |  Meta Data  |             |
  245.            Response   |             |  Response   |             |
  246.                       +-------------+             +-------------+
  247.  
  248.  
  249.  
  250.                     Figure 2: Components of a Nomenclator System
  251.  
  252.     --------------------------------------------------------------------
  253.  
  254.     Query resolvers at the user sites retrieve, use, cache, and re-use
  255.     this meta-data in answering user queries.  The catalog is "active"
  256.     in two ways. First, some meta-data moves from the distributed
  257.     catalog service to each query resolver during query processing.
  258.     Second, the query resolver uses the initial meta-data, in particular
  259.     the search and navigation techniques, to generate additional meta-
  260.     data that guides query processing.  Typically, one resolver process
  261.     serves a few hundred users in an organization, so users can benefit
  262.     from larger resolver caches.
  263.  
  264.     Query resolvers cache techniques for constraining the search space
  265.     and the results of previously constrained searches (meta-data), and
  266.     past query answers (data) to speed future query processing.  Meta-
  267.     data and data caching tailor the query resolver to the specific
  268.     needs of the users at the query site.  They also increase the scale
  269.     of a Nomenclator system by reducing the load from repeated searches
  270.     or queries on the distributed catalog service, data repositories,
  271.     and communications network.
  272.  
  273.     The distributed catalog service is logically one network service,
  274.     but it can be divided into pieces that are distributed and/or
  275.     replicated.  Query resolvers access this distributed, replicated
  276.  
  277.  
  278.                                                                 [Page 5]
  279.  
  280.  
  281. INTERNET-DRAFT                                            September 1996
  282.  
  283.  
  284.     service using the same techniques that work for multiple data
  285.     repositories.
  286.  
  287.     A Nomenclator system naturally includes many query resolvers.
  288.     Resolvers are independent, but renewable, query agents that can be
  289.     as powerful as the resources available at the user site.  Caching
  290.     decreases the dependence of the resolver on the distributed catalog
  291.     service for frequently used meta-data, and on data repositories for
  292.     frequently used data.  Caching thus improves the number of users
  293.     that can be supported and the local availability of the query
  294.     service.
  295.  
  296.  
  297. 2.2 Meta-Data Techniques
  298.  
  299.  
  300.     The active catalog structures the information space into a
  301.     collection of relations about people, hosts, organizations, services
  302.     and other objects. It collects meta-data for each relation and
  303.     structures it into "access functions" for locating and retrieving
  304.     data.  Access functions respond to the question: "Where is data to
  305.     answer this query?"  There are two types of responses corresponding
  306.     to the two types of access functions.  The first type of response
  307.     is: "Look over there." "Catalog functions" return this response;
  308.     they constrain the query search by limiting the data repositories
  309.     contacted to those having data relevant to the query. Catalog
  310.     functions return a referral to data access functions that will
  311.     answer the query or to additional catalog functions to contact for
  312.     more detailed information.  The second response to "Where?" is:
  313.     "Here it is!" "Data access functions" return this response; they
  314.     understand how to obtain query answers from specific data
  315.     repositories.  They return tuples that answer the query.
  316.     Nomenclator supplies access functions for common name services, such
  317.     as the CCSO service, and organizations can write and supply access
  318.     functions for data on their repositories.
  319.  
  320.     Access functions are implemented as remote or local services.
  321.     Remote access functions are services that are available through a
  322.     standard remote procedure call interface.  Local access functions
  323.     are functions that are supplied with the query resolver.  Local
  324.     access functions can be applied to a variety of indexing and data
  325.     retrieval tasks by loading them with meta-data stored in distributed
  326.     catalog service.  Remote access functions are preferred over local
  327.     ones when the resources of the query resolver are inadequate to
  328.     support the access function.  The owners of data may also choose to
  329.     supply remote access functions for privacy reasons if their access
  330.     functions use proprietary information or algorithms.  Local
  331.     functions are preferred whenever possible, because they are highly
  332.  
  333.  
  334.                                                                 [Page 6]
  335.  
  336.  
  337. INTERNET-DRAFT                                            September 1996
  338.  
  339.  
  340.     replicated in resolver caches.  They can reduce system and network
  341.     load by bringing the resources of the active catalog directly to the
  342.     users.
  343.  
  344.     Remote access functions are simple to add to Nomenclator and local
  345.     access functions are simple to apply to new data repositories,
  346.     because the active catalog provides "referrals" that describe the
  347.     conditions for using access functions.  Each referral contains a
  348.     template and a list of references to access functions.  The template
  349.     is a conjunctive selection predicate that describes the scope of the
  350.     access functions.  Conjunctive queries that are within the scope of
  351.     the template can be answered with the referral.  When a template
  352.     contains a wildcard value ("*") for an attribute, the attribute must
  353.     be present in any queries that are processed by the referral.  The
  354.     system follows the following rule:
  355.  
  356.       Query Coverage Rule:
  357.  
  358.       If the set of tuples satisfying the selection predicate in a query
  359.       is covered by (is a subset of) the set of tuples satisfying the
  360.       template, then the query can be answered by the access functions
  361.       in the reference list of the referral.
  362.  
  363.     For example, the query below:
  364.  
  365.       select * from People where country = "US" and surname = "Ordille";
  366.  
  367.  
  368.     is covered by the following templates in Lines (1) through (3), but
  369.     not by the templates in Lines (4) and (5):
  370.  
  371.  
  372.       (1) country = "US" and surname = "*"
  373.  
  374.       (2) country = "US" and surname = "Ordille"
  375.  
  376.       (3) country = "US"
  377.  
  378.       (4) organization = "*"
  379.  
  380.       (5) country = "US" and surname = "Inners"
  381.  
  382.  
  383.     Referrals form a generalization/specialization graph for a relation
  384.     called a "referral graph."  Referral graphs are a conceptual tool
  385.     that guides the integration of different catalog functions into our
  386.     system and that supplies a basis for catalog function construction
  387.     and query processing.  A "referral graph" is a partial ordering of
  388.  
  389.  
  390.                                                                 [Page 7]
  391.  
  392.  
  393. INTERNET-DRAFT                                            September 1996
  394.  
  395.  
  396.     the referrals for a relation.  It is constructed using the
  397.     subset/superset relationship: "S is a subset of G."  A referral S is
  398.     a subset of referral G if the set of queries covered by the template
  399.     of S is a subset of the set of queries covered by the template of G.
  400.     S is considered a more specific referral than G; G is considered a
  401.     more general referral than S.  For example, the subset relationship
  402.     exists between the pairs of referrals with the templates listed
  403.     below:
  404.  
  405.  
  406.       (1) country = "US" and surname = "Ordille"
  407.           is a subset of
  408.           country = "US"
  409.  
  410.       (2) country = "US" and surname = "Ordille"
  411.           is a subset of
  412.           country = "US" and surname = "*"
  413.  
  414.       (3) country = "US" and surname = "*"
  415.           is a subset of
  416.           country ="US"
  417.  
  418.       (4) country = "US"
  419.           is a subset
  420.           "empty template"
  421.  
  422.     but it does not exist between the pairs of referrals with the
  423.     following templates:
  424.  
  425.       (5) country = "US"
  426.           is not a subset of
  427.           department = "CS"
  428.  
  429.       (6) country = "US" and name = "Ordille"
  430.           is not a subset of
  431.           country = "US" and name = "Inners"
  432.  
  433.     In Lines (1) and (2), the more general referral covers more queries,
  434.     because it covers queries that list different values for surname.
  435.     In Line (3), the more general referral covers more queries, because
  436.     it covers queries that do not constrain surname to a value.  In Line
  437.     (4), the specific referral covers only those queries that constrain
  438.     the country to "US" while the empty template covers all queries.
  439.  
  440.     During query processing, wildcards in a template are replaced with
  441.     the value of the corresponding attribute in the query.  For any
  442.     query covered by two referrals S and G such that S is a subset of G,
  443.     the set of tuples satisfying the template in S is covered by the set
  444.  
  445.  
  446.                                                                 [Page 8]
  447.  
  448.  
  449. INTERNET-DRAFT                                            September 1996
  450.  
  451.  
  452.     of tuples satisfying the template in G.  S is used to process the
  453.     query, because it provides the more constrained (and faster) search
  454.     space.  The referral S has a more constrained logical search space
  455.     than G, because the set of tuples in the scope of S is no larger,
  456.     and often smaller, than the set in the scope of G. Moreover, S has a
  457.     more constrained physical search space than G, because the data
  458.     repositories that must contacted for answers to S must also be
  459.     contacted for answers to G, but additional data repositories may
  460.     need to be contacted to answer G.
  461.  
  462.     In constraining a query, a catalog function always produces a
  463.     referral that is more specific than the referral containing the
  464.     catalog function.  Wildcards ("*") in a template indicate which
  465.     attribute values are used by the associated catalog function to
  466.     generate a more specific referral.  In other words, catalog
  467.     functions always follow the rule:
  468.  
  469.       Catalog Function Constrained Search Rule:
  470.  
  471.       Given a referral R with a template t and a catalog function cf,
  472.       and a query q covered by t, the result of using cf to process q,
  473.       cf(q), is a referral R' with template t' such that q  is covered
  474.       by t' and R' is more specific than R.
  475.  
  476.     Catalog functions make it possible to import a portion of the
  477.     indices for the information space into the query resolver.  Since
  478.     they generate referrals, the resolver can cache the most useful
  479.     referrals for a relation and call the catalog function as needed to
  480.     generate new referrals.
  481.  
  482.     The resolver query processing algorithm obtains an initial set of
  483.     referrals from the distributed catalog service.  It then navigates
  484.     the referral graph, calling catalog functions as necessary to obtain
  485.     additional referrals that narrow the search space. Sometimes, two
  486.     referrals that cover the query have the relationship of general to
  487.     specific to each other.  The resolver eliminates unnecessary access
  488.     function processing by using only the most specific referral along
  489.     each path of the referral graph.
  490.  
  491.     The search space for the query is initially set to all the data
  492.     repositories in the relation.  As the resolver obtains referrals to
  493.     sets of relevant data repositories (and their associated data access
  494.     functions) it forms the intersection of the referrals to constrain
  495.     the search space further.  The intersection of the referrals
  496.     includes only those data repositories listed in all the referrals.
  497.     Intersection combines independent paths through the referral graph
  498.     to derive benefit from indices on different attributes.
  499.  
  500.  
  501.  
  502.                                                                 [Page 9]
  503.  
  504.  
  505. INTERNET-DRAFT                                            September 1996
  506.  
  507.  
  508. 2.3 Meta-Data and Data Caching
  509.  
  510.  
  511.     A Nomenclator query resolver caches the meta-data that result from
  512.     calling catalog functions.  It also caches the responses for
  513.     queries.  If the predicate of a new query is covered by the
  514.     predicate of a previous query, Nomenclator calculates the response
  515.     for the new query from the cached response of the old query.
  516.     Nomenclator timestamps its cache entries to provide measures of the
  517.     currentness of query responses and selective cache refresh.   The
  518.     timestamps are used to calculate a t-bound on query responses
  519.     [5][1].  A t-bound is the time after which changes may have occurred
  520.     to the data that are not reflected in the query response. It is the
  521.     time of the oldest cache entry used to calculate the response.
  522.     Nomenclator returns a t-bound with each query response.  Users can
  523.     request more current data by asking for responses that are more
  524.     recent than this t-bound. Making such a request flushes older items
  525.     from the cache if more recent items are available.  Query resolvers
  526.     calculate a minimum t-bound that is some refresh interval earlier
  527.     than the current time.  Resolvers keep themselves current by
  528.     replacing items in the cache that are earlier than the minimum t-
  529.     bound.
  530.  
  531. 2.4 Scale and Performance
  532.  
  533.  
  534.     Three performance studies of active catalog and meta-data caching
  535.     techniques are available [5].  The first study shows that the active
  536.     catalog and meta-data caching can constrain the search effectively
  537.     in a real environment, the X.500 name space.  The second study
  538.     examined the performance of an active catalog and meta-data caching
  539.     for single users on a local area network.  The experiments showed
  540.     that the techniques to eliminate data repositories from the search
  541.     space can dramatically improve response time.  Response times
  542.     improve, because latency is reduced.  The reduction of latency in
  543.     communications and processing is critical to large-scale descriptive
  544.     query optimization.  The experiments also showed that an active
  545.     catalog is the most significant contributor to better response time
  546.     in a system with low load, and that meta-data caching functions to
  547.     reduce the load on the system.  The third study used an analytical
  548.     model to evaluate the performance and scaling of these techniques
  549.     for a large Internet environment.  It showed that meta-data caching
  550.     plays an essential role in scaling the distributed catalog service
  551.     to millions of users.  It also showed that constraining the search
  552.     space with an active catalog contributes significantly to scaling
  553.     data repositories to millions of users.  Replication and data
  554.     caching also contribute to the scale of the system in a large
  555.     Internet environment.
  556.  
  557.  
  558.                                                                [Page 10]
  559.  
  560.  
  561. INTERNET-DRAFT                                            September 1996
  562.  
  563.  
  564. 3.  Registering a CCSO Server
  565.  
  566.  
  567.     The Internet Nomenclator Project supports the following home page:
  568.  
  569.       http://cm.bell-labs.com/cs/what/nomenclator
  570.  
  571.     The home page provides a variety of information and services.
  572.  
  573.     Administrators can register their CCSO servers through services on
  574.     this home page.  The registration service collects CCSO server
  575.     location information, contact information for the administrator of
  576.     the CCSO server, implicit and explicit constraints on entries in the
  577.     server's database, and a mapping from the local schema of the CCSO
  578.     server to the schema of the world view.
  579.  
  580.     The implicit and explicit constraints on the server's database are
  581.     the fuel for Nomenclator's catalog functions.  The registration
  582.     center currently collects constraints on organization name,
  583.     department, city, state or province name, country, phone number,
  584.     postal code, and email address.  These constraints are automatically
  585.     incorporated into Nomenclator's distributed catalog service.  They
  586.     are used by catalog functions in query resolvers to constrain
  587.     searches to relevant CCSO servers.  For example, a database only
  588.     contains information about the computer science and electrical
  589.     engineering departments at a French university.  The department,
  590.     organization and country attributes are constrained.  Nomenclator
  591.     uses these constraints to prevent queries about other departments,
  592.     organizations or countries from being sent to this CCSO server.
  593.  
  594.     The mapping from the local schema of the CCSO server to the schema
  595.     of the world view allows Nomenclator to translate queries and
  596.     responses for the CCSO server.  The registration center currently
  597.     collects this mapping by requesting an example of how to translate a
  598.     typical entry in the CCSO server into the world view schema and,
  599.     optionally, an example of how to translate a canonical entry in the
  600.     world view schema into the local schema of the CCSO server [4].
  601.     These examples are then used to generate a mapping program that is
  602.     stored in the distributed catalog service.  The CCSO data access
  603.     function in the query resolver interprets these programs to
  604.     translate queries and responses communicated with that CCSO server.
  605.     We plan to release the mapping language to CCSO server
  606.     administrators, so administrators can write and maintain the mapping
  607.     for their servers.  We have experimented with more than 20 mapping
  608.     programs.  They are seldom more than 50 lines, and are often
  609.     shorter.  It typically takes one or two lines to map an attribute.
  610.  
  611.  
  612.  
  613.  
  614.                                                                [Page 11]
  615.  
  616.  
  617. INTERNET-DRAFT                                            September 1996
  618.  
  619.  
  620. 4.  Using Nomenclator
  621.  
  622.  
  623.     The Internet Nomenclator Project will provide Nomenclator query
  624.     services in phases.  The first phase, to be completed soon, will
  625.     provide a centralized query service on the Internet.  The project
  626.     will run a Nomenclator query resolver that will be accessible
  627.     through a Web page and the Simple Nomenclator Query Protocol (SNQP)
  628.     [2].
  629.  
  630.     During the first phase of the project, users can find the query
  631.     service at Nomenclator's home page (see the URL in Section 3).  The
  632.     service answers queries that are a conjunction of string values for
  633.     attributes.  A variety of matching techniques are supported
  634.     including exact string matching, matching with wildcards, and word-
  635.     based matching in the style of the CCSO service.  The service also
  636.     provides advice about the cost of queries and ways to constrain
  637.     queries further to produce faster response times.  Our web interface
  638.     uses the Simple Nomenclator Query Protocol (SNQP) [2]. Programmers
  639.     can create their own interfaces by using this protocol to
  640.     communicate with the Nomenclator query resolver.  They will require
  641.     the host name and port number for the query resolver which they can
  642.     obtain from the Nomenclator home page.
  643.  
  644.     The second phase of the query service will distribute query
  645.     resolvers, so users can benefit from running query resolvers
  646.     locally.  Local query resolvers reduce latency for the user, and
  647.     distribute query processing load throughout the network.
  648.  
  649.  
  650. 5.  Summary
  651.  
  652.  
  653.     The Internet Nomenclator Project augments existing CCSO services by
  654.     supplying schema integration and fast cross-server searches. The key
  655.     to speed in descriptive query processing is an active catalog, and
  656.     extensive meta-data and data caching.  The Nomenclator system is the
  657.     result of research in distributed systems [5][6][7][4].  It can be
  658.     extended to incorporate other name servers, besides the CCSO
  659.     servers, and to address distributed search and retrieval challenges
  660.     in other application domains. In addition to providing a white pages
  661.     service, the Internet Nomenclator Project will evaluate how an
  662.     active catalog, meta-data caching and data caching perform in very
  663.     large global information system.  The ultimate goal of the project
  664.     is to refine these techniques to provide the best possible global
  665.     information systems.
  666.  
  667.  
  668.  
  669.  
  670.                                                                [Page 12]
  671.  
  672.  
  673. INTERNET-DRAFT                                            September 1996
  674.  
  675.  
  676. 6.  Security Considerations
  677.  
  678.     Security considerations are not discussed in this document.
  679.  
  680. 7.  Acknowledgements
  681.  
  682.     Thanks to <<your name here!!>> for their comments on earlier drafts
  683.     of this document.
  684.  
  685. 8.  References
  686.  
  687.  
  688. [1]         H. Garcia-Molina, G. Wiederhold. "Read-Only Transactions in
  689.             a Distributed Database,"  ACM Transactions on Database Sys-
  690.             tems 7(2), pp. 209-234.  June 1982.
  691.  
  692.  
  693. [2]         J. Elliott, J. Ordille. "The Simple Nomenclator Query Proto-
  694.             col (SNQP)," Internet Draft.
  695.             <URL:ftp://ftp.internic.net/internet-drafts/draft-ietf-ids-
  696.             snqp-01.txt>
  697.  
  698. [3]         R. Hedberg, S. Dorner, P. Pomes.  "The CCSO Nameserver (Ph)
  699.             Architecture," Internet Draft.  December 1995.
  700.             <URL:ftp://ftp.internic.net/internet-drafts/draft-ietf-ids-
  701.             ph-00.txt>
  702.  
  703.  
  704. [4]         A. Levy, J. Ordille. "An Experiment in Integrating Internet
  705.             Information Sources," AAAI Fall Symposium on AI Applications
  706.             in Knowledge Navigation and Retrieval, November 1995.
  707.             <URL:http://cm.bell-labs.com/cm/cs/doc/95/11-01.ps.gz>
  708.  
  709.  
  710. [5]         J. Ordille. "Descriptive Name Services for Large Internets,"
  711.             Ph. D. Dissertation. University of Wisconsin. 1993.
  712.             <URL:http://cm.bell-labs.com/cm/cs/doc/93/12-01.ps.gz>
  713.  
  714.  
  715. [6]         J. Ordille, B. Miller. "Distributed Active Catalogs and
  716.             Meta-Data Caching in Descriptive Name Services," Thirteenth
  717.             International IEEE Conference on Distributed Computing Sys-
  718.             tems, pp. 120-129.  May 1993.  <URL:http://cm.bell-
  719.             labs.com/cm/cs/doc/93/5-01.ps.gz>
  720.  
  721.  
  722. [7]         J. Ordille, B. Miller. "Nomenclator Descriptive Query Opti-
  723.             mization in Large X.500 Environments," ACM SIGCOMM Symposium
  724.  
  725.  
  726.                                                                [Page 13]
  727.  
  728.  
  729. INTERNET-DRAFT                                            September 1996
  730.  
  731.  
  732.             on Communications Architectures and Protocols, pp.  185-196,
  733.             September 1991.  <URL:http://cm.bell-
  734.             labs.com/cm/cs/doc/91/9-01.ps.gz>
  735.  
  736. 9.  Author's address:
  737.  
  738.     Joann J. Ordille
  739.     Bell Labs, Lucent Technologies
  740.     Computing Sciences Research Center
  741.     700 Mountain Avenue, Rm 2C-301
  742.     Murray Hill, NJ 07974  USA
  743.  
  744.     Email: joann@bell-labs.com
  745.  
  746.  
  747.  
  748.                 This Internet Draft expires March 31, 1997.
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.                                                                [Page 14]
  783.