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-02.txt < prev    next >
Text File  |  1997-08-06  |  34KB  |  783 lines

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