Annotation of 43BSDReno/contrib/isode-beta/doc/whitepages/introduction/introduction.tex, revision 1.1.1.1

1.1       root        1: % -*- LaTeX -*-
                      2: 
                      3: \input lcustom
                      4: 
                      5: \documentstyle[12pt,titlepage]{article}
                      6: 
                      7: \makeatletter
                      8: \let\titlep@ge=\titlepage
                      9: \def\titlepage{\titlep@ge \def\thefootnote{\fnsymbol{footnote}}}
                     10: 
                     11: \let\endtitlep@ge=\endtitlepage
                     12: \let\endtitlepage=\relax
                     13: 
                     14: \let\m@ketitle=\maketitle
                     15: \def\maketitle{\m@ketitle\let\titlepage=\relax\let\endtitlepage=\endtitlep@ge}
                     16: \makeatother
                     17: 
                     18: \advance\textwidth by0.5in
                     19: \advance\oddsidemargin by-0.25in
                     20: \advance\evensidemargin by-0.25in
                     21: 
                     22: \begin{document}
                     23: 
                     24: \title{An Introduction to a NYSERNet\\ White Pages Pilot Project}
                     25: \author{Marshall T.~Rose\\ Martin L.~Schoffstall\\ NYSERNet, Inc.}
                     26: \maketitle
                     27: 
                     28: \begin{abstract}
                     29: The need for a comprehensive white pages service increases in relation to the
                     30: size of the user community.
                     31: The early Internet was served well by a relatively simple facility.
                     32: Today's rapidly expanding Internet has outstripped the capabilities of the
                     33: existing system.
                     34: This paper proposes a new white pages service designed to meet the needs
                     35: of both the current and future Internet.
                     36: A pilot project will be undertaken,
                     37: both to demonstrate the viability of a new service and to provide extended services
                     38: to a widely distributed pilot community.
                     39: 
                     40: \footnotetext[0]{\hskip -2\parindent
                     41: This work was partially supported by the
                     42: U.S.~Defense Advanced Research Projects Agency
                     43: and the Rome Air Development Center of the U.S.~Air Force Systems Command
                     44: under contract number F30602--88--C--0016.
                     45: The content of the information contained herein does not necessarily reflect
                     46: the position or the policy of the U.S.~Government,
                     47: and no official endorsement should be inferred.} 
                     48: \end{abstract}
                     49: 
                     50: \section      {A White Pages Service}
                     51: A natural function of computer networks is to form the {\em infrastructure\/}
                     52: between the users they interconnect.
                     53: For example,
                     54: the electronic mail service offered by computer networks provides a means for
                     55: users to collaborate towards some common goal.
                     56: In the simplest cases,
                     57: this collaboration may be solely for the dissemination of information.
                     58: In other cases,
                     59: two users may work on a joint research project,
                     60: using electronic mail as their primary means of communication.
                     61: 
                     62: Most network services are based on the implicit assumption that each user can
                     63: supply {\em infrastructural information} to 
                     64: facilitate information transfers through the network.
                     65: For example,
                     66: electronic mail services expect that an originator can supply 
                     67: addressing information 
                     68: for all the intended recipients.
                     69: It is not necessarily the task of electronic mail, per se,
                     70: to provide this infrastructural information to the user.
                     71: 
                     72: This model works fine in small environments,
                     73: particularly those where infrastructural information is not difficult to 
                     74: obtain and remember.
                     75: However,
                     76: the model does not scale well.
                     77: Consider the case when the membership of a network consists of hundreds of
                     78: thousands of users belonging to thousands of organizations.
                     79: It is no longer reasonable for a single user to provide this information,
                     80: except in very limited circumstances.
                     81: Further,
                     82: it is likely that some of the information changes frequently,
                     83: due to personnel and other resource movement.
                     84: The goal of a {\em white pages\/} service is to 
                     85: provide the necessary information, and to mask the complexity of the
                     86: infrastructural information.
                     87: 
                     88: \subsection    {White Pages in the Real World}
                     89: The telephone system
                     90: white pages service provides an excellent model.
                     91: 
                     92: In the telephone system,
                     93: the listed user is a person, private enterprise or government organization.
                     94: To find some infrastructural information associated with a listed user
                     95: (e.g., a telephone number),
                     96: the name of the listed user is looked up in the telephone book.
                     97: Upon finding the name,
                     98: the telephone number is listed nearby.
                     99: 
                    100: We note that telephone books also include other information
                    101: such as a partial postal address of each user.
                    102: This is an important issue:
                    103: the telephone white pages book contains more than one kind of information.
                    104: In fact,
                    105: if a user of the telephone system had to consult one book for telephone
                    106: numbers
                    107: and a second book for postal addresses,
                    108: the telephone system white pages service would be much less convenient to use.
                    109: Further,
                    110: if there are two entries which are similar
                    111: (e.g., both entries have the same first initial and last name),
                    112: then additional information may help the user to determine which entry is the
                    113: ``correct'' listing.
                    114: 
                    115: At the next level,
                    116: we see that most telephone books include two parts:
                    117: the white pages,
                    118: and the equally familiar yellow pages.
                    119: The yellow pages contains essentially the same information as the white pages,
                    120: but in an indexed form with additional key information about the listed users.
                    121: Rather than indexing by the name of each user,
                    122: the yellow pages index by the business service offered by each user.
                    123: 
                    124: Given the scope of the telephone system
                    125: (both in terms of size and number of autonomous administrations),
                    126: everyone recognizes that it would be impractical to have a single telephone
                    127: book for the entire United States, a region, or even a single very large city.
                    128: Typically,
                    129: there is a telephone book for each local geographical area.
                    130: Since use of the telephone system tends to obey the 90\% rule of locality,
                    131: local telephone books are commonplace.
                    132: Telephone books for remote areas are found only in small quantities.
                    133: Of course,
                    134: there is no reason,
                    135: other than economics,
                    136: why any particular set of users might not be listed together in a specialized
                    137: white pages service.
                    138: 
                    139: This naturally leads to the last aspect of the telephone system's white pages
                    140: service, directory assistance.
                    141: If a telephone book isn't available,
                    142: then the user places a phone call to ask for assistance in retrieving the
                    143: desired information.
                    144: In addition to making remote information readily available,
                    145: directory assistance has another interesting feature:
                    146: {\em imprecise matching}.
                    147: It is not uncommon to have partial or even incorrect information about a user,
                    148: when trying to determine that user's telephone number.
                    149: The combination of personnel and computers which provide directory assistance
                    150: usually employ phonetic matching (soundex) and other heuristics to try and
                    151: generate a list of entries, of which is the ``correct'' entry.
                    152: 
                    153: \subsection    {White Pages in the Computer World}
                    154: The role of a white pages service in a computer environment is quite similar
                    155: to the one played in the real world.
                    156: To begin,
                    157: information from the telephone book
                    158: (name, postal address and telephone number)
                    159: is available from the white pages service.
                    160: Further,
                    161: the ``local'' white pages information maintained by each organization,
                    162: e.g., an internal telephone directory,
                    163: is typically available.
                    164: 
                    165: Because local information is made available through the white pages service,
                    166: this argues for both distribution of information
                    167: (each local organization will wish to maintain their own ``part'' of the
                    168: white pages),
                    169: and access control
                    170: (some information, such as internal telephone numbers,
                    171: may be ``company confidential'').  Every organization has some directory
                    172: information that should not be openly published.
                    173: 
                    174: In addition to containing infrastructural information for the
                    175:  network community,
                    176: the white pages service may also contain network information for 
                    177:  listed users of the network.
                    178: Of these,
                    179: the most notable is a user's electronic mail address.
                    180: Of course,
                    181: other information,
                    182: such as passwords and access rights,
                    183: might also be available from the white pages service.
                    184: For example,
                    185: the white pages service might keep track of the network nodes each user is to
                    186: be permitted access for cycles or spooling.
                    187: 
                    188: Finally,
                    189: the programs which run in the network make use of the white pages service for
                    190: other purposes.
                    191: For example,
                    192: a sophisticated network management program might use the white pages service
                    193: to obtain information about the computers attached to a particular physical
                    194: network
                    195: (e.g., contact information for the system administrators of those systems)
                    196: in order to perform some task
                    197: (e.g., notify those administrators of problems).
                    198: 
                    199: This simple example illustrates the variety of service a white pages offers.
                    200: First,
                    201: the network management program asks the white pages service to identify
                    202: the computers it is interested in.
                    203: This is probably done with a yellow pages query~---~a search on one of the
                    204: attributes of the entries for the computers.
                    205: Second,
                    206: for each computer identified,
                    207: the ``administrator'' attribute must be retrieved.
                    208: The value of this attribute is the name of a person, or the role of a person,
                    209: which in turn is a pointer to another entry in the white pages service.
                    210: Thus,
                    211: the white pages service is again queried for the ``electronic mail address''
                    212: attribute for each administrator.
                    213: 
                    214: In order for programs,
                    215: rather than humans,
                    216: to make use of the white pages service,
                    217: it is essential that the information be rigorously structured.
                    218: This makes manipulative operations feasible:
                    219: associated with each attribute is a set of procedures defining how operations
                    220: such as matching, exact or imprecise (as with soundex), are performed.
                    221: 
                    222: Ultimately,
                    223: a white pages service might be the unifying facility for both system and
                    224: network administration:
                    225: local databases (password files, configuration files, and so on),
                    226: are generated automatically from the infrastructural information available from
                    227: the white pages service. 
                    228: By providing a common framework, powerful tools, and semi-intelligent
                    229: programs,
                    230: the administrator may be able to configure and maintain all resources in the
                    231: network.
                    232: This scenario is beyond the scope of the current discussion,
                    233: though it is a very probable application in the long term.
                    234: 
                    235: To appreciate why a new direction is required for white pages service in the
                    236: Internet,
                    237: it is useful to briefly examine the current service.
                    238: 
                    239: \section      {The Existing Facility}
                    240: The Internet community is currently served by the WHOIS facility.
                    241: This is a simple, text-based service originally deployed in {\oldstyle 1982}.
                    242: Although the users are predominantly humans,
                    243: information on some networks, hosts, and so on,
                    244: are also kept in the WHOIS facility.
                    245: Currently,
                    246: it is estimated that there are over 70,000 WHOIS entries.
                    247: 
                    248: An entry of a user consists of:
                    249: \begin{itemize}
                    250: \item  a {\em handle},
                    251:        which is a unique key in the database;
                    252: 
                    253: \item  a {\em type},
                    254:        which indicates what kind of user is recorded by the entry
                    255:        (e.g., a person);
                    256:        and,
                    257: 
                    258: \item  several {\em fields},
                    259:        each containing a textual description.
                    260: \end{itemize}
                    261: For example,
                    262: an entry for a person looks like:
                    263: \begin{quote}\small\begin{verbatim}
                    264: Rose, Marshall T. (MTR)    [email protected]
                    265:     NYSERNet, Inc.
                    266:     Western Development Office
                    267:     420 Whisman Court
                    268:     Mountain View, CA  94043-2112
                    269:     (415) 961-3380
                    270: \end{verbatim}\end{quote}
                    271: The first line contains both the handle and all fields available for searching.
                    272: Here,
                    273: the handle is \verb"MTR",
                    274: and there are two fields available for searching:
                    275: a name and a mailbox.
                    276: The remainder of the entry is a textual annotation.
                    277: 
                    278: Access to the WHOIS facility is via a server program residing at the SRI
                    279: Network Information Center.
                    280: The interface follows the query/response paradigm,
                    281: and provides both for wildcard matching facilities and ambiguous results.
                    282: 
                    283: The program can also be accessed via the network~---~one query/response
                    284: interaction is carried on a single network connection.
                    285: 
                    286: \subsection    {Problems with the Existing Facility}
                    287: It must be emphasized that the existing facility has proven useful for many
                    288: years.
                    289: Only recently,
                    290: with the explosive growth of the Internet,
                    291: has the WHOIS mechanism become unworkable.
                    292: 
                    293: There are three problems with the existing facility:
                    294: \begin{itemize}
                    295: \item  It is centralized; all entry updates must be inserted by a clerk,
                    296:         after the entry's owner/controller requests a change.
                    297:        As such, much of the information is always out of date.
                    298:        Further, the service is subject to the usual availability and
                    299:        congestion problems.
                    300: 
                    301: \item  It contains only limited, unstructured information;
                    302:        while rudimentary postal and electronic mail addresses are useful,
                    303:        the needs of the community have grown much larger.
                    304:        For example,
                    305:        it is often useful to address correspondence to an organizational
                    306:        role (e.g., ``Chair of the Department'').
                    307:        While it is possible for the textual information annotated to each
                    308:        entry to contain such information,
                    309:        given the current informational framework,
                    310:        it is not possible to search for or otherwise mechanically process
                    311:        this attribute.
                    312: 
                    313: \item  As a $2^{\underline{\mbox{\scriptsize nd}}}$ order effect of these
                    314:        limitations,
                    315:        most sites maintain their own local white pages service.
                    316:        These local services do not interoperate with the WHOIS facility.
                    317:        This leads to at least two
                    318:         sets of user interfaces, procedures, programs, and so on.
                    319: \end{itemize}
                    320: Of course,
                    321: other Network Information Centers provide similar facilities
                    322: (such as CSNet or NSFNet, etc.).
                    323: These do not interoperate with the WHOIS facility
                    324: and suffer the same general problems.
                    325: 
                    326: It should be clear that any replacement facility must not only provide
                    327: (at least) equivalent functionality to WHOIS,
                    328: but must also address all three of these deficiencies.
                    329: This replacement
                    330: should be based on a standard distributed directory service model and
                    331: the OSI Directory Service is the best available candidate.
                    332: 
                    333: \section      {The OSI Directory}
                    334: The OSI Directory is designed to provide
                    335: for the management of names and associated attributes.
                    336: 
                    337: The OSI Directory is structured in the form of a hierarchical tree.
                    338: Each object in the tree has a {\em distinguished name},
                    339: which uniquely identifies it.
                    340: Associated with each object is one or more {\em attributes}
                    341: and possibly one or more child objects.
                    342: The attributes of an object consist of a name and one or more values.
                    343: One of these values may be marked as a {\em distinguished value} to set it
                    344: apart from the other values.
                    345: Based on the name of the attribute,
                    346: the value(s) are strongly-typed.
                    347: The OSI Directory standard defines several kinds of attributes along with their
                    348: associated data types.
                    349: In addition,
                    350: users of the Directory may define additional attributes of their own.
                    351: 
                    352: The Directory itself is distributed,
                    353: being composed of {\em Directory System Agents\/} (DSAs).
                    354: A group of DSAs under a common administration is responsible for a portion of
                    355: the tree,
                    356: termed a {\em Directory Management Domain\/} (DMD).
                    357: When a user wishes to access the Directory,
                    358: a {\em Directory User Agent\/} (DUA) is invoked.
                    359: This DUA contacts a DSA and issues requests.
                    360: The DSA may (or may not) have the information locally available.
                    361: If not,
                    362: a decision has to be made:
                    363: either the DSA can contact another DSA to get the information
                    364: (this is called {\em chaining\/}); or,
                    365: the DSA can tell the DUA to contact another DSA directly
                    366: (this is called {\em referral\/}).
                    367: 
                    368: The operations that the DUA can request of a DSA are fairly general:
                    369: \begin{itemize}
                    370: \item  read the attributes of an object;
                    371: 
                    372: \item  get a list of the object's children;
                    373: 
                    374: \item  recursively search for objects with certain attribute values;
                    375: 
                    376: \item  compare a given value to an object's attribute;
                    377: 
                    378: \item  add new objects, or attributes to an existing object;
                    379: 
                    380: \item  change the name of an object or its attributes; and,
                    381: 
                    382: \item  delete an object or its attributes.
                    383: \end{itemize}
                    384: In short,
                    385: the DSAs provide mechanisms for traversing the tree and manipulating the
                    386: information contained therein.
                    387: 
                    388: \subsection    {Existing Implementation}
                    389: The Directory is one of OSI's newer standards.
                    390: As such,
                    391: there are few implementations available.
                    392: 
                    393: However,
                    394: one implementation is openly available,
                    395: QUIPU,
                    396: as a part of the ISO Development Environment (ISODE).
                    397: QUIPU is a full-functional implementation of an OSI Directory,
                    398: and is the subject of (at least) three ongoing pilot projects in OSI Directory
                    399: services.
                    400: 
                    401: These pilot projects,
                    402: while national (U.S., U.K.) and international in scope,
                    403: are not focused:
                    404: there are no explicit services to be offered to the user community.
                    405: Rather,
                    406: the pilot projects are largely intended to bring together currently disjoint
                    407: communities to explore aspects of implementation and operation.
                    408: The scale of these communities is currently quite small.
                    409: 
                    410: We propose a different project:
                    411: one which provides useful white pages service to a subset of the Internet
                    412: community to explore the service provision aspects of the OSI Directory.
                    413: 
                    414: \section      {A Pilot Project}
                    415: We propose a new white pages service to be offered to members of the NYSERNet
                    416: community.
                    417: Participation is strictly voluntary~---~the pilot project is a ``grass roots''
                    418: effort,
                    419: both to understand the white pages service desired by users along with
                    420: the limitations of the OSI Directory in providing those services.
                    421: 
                    422: \subsection    {Goals of the Pilot Project}
                    423: The primary goal of the pilot project is to encourage organizations to use
                    424: the OSI Directory to store infrastructural information about their personnel.
                    425: (Note that this does not require the elimination of existing mechanisms,
                    426: such as internal telephone directories.)
                    427: 
                    428: At the next level,
                    429: organizations will be encouraged to maintain their own Directory Management
                    430: Domain.
                    431: However,
                    432: this is not mandatory;
                    433: the sponsors of the pilot project will offer to
                    434: manage a DMD on an organization's behalf~---~either on an interim or
                    435: permanent basis, for the durtation of the pilot project.
                    436: (For the Domain Name System,
                    437: NYSERNet has been offering a similar service for the past three years.)
                    438: 
                    439: In addition,
                    440: the sponsor will create and manage a ``dial-up'' DMD for
                    441: individuals from organizations which are not participating in the pilot.
                    442: 
                    443: Another goal of the pilot project is to use the same programs and tools to
                    444: access both global and local white pages information.
                    445: As a part of this,
                    446: new applications which might make use of the white pages service,
                    447: such as private mail,
                    448: will be encouraged.
                    449: 
                    450: \subsection    {Phases of the Pilot Project}
                    451: The pilot project consists of three phases.
                    452: 
                    453: \subsubsection {Phase 0}
                    454: The first phase, Phase~0, focuses on developing the initial policies and
                    455: programs for the pilot.
                    456: Issues such as the naming architecture (how the Directory tree is structured),
                    457: the kind of information to be stored,
                    458: and so on,
                    459: must be decided by the sponsor of the pilot.
                    460: 
                    461: In addition,
                    462: a white pages user interface will be developed.
                    463: Initially,
                    464: a text-based interface will be used,
                    465: although later on an X-windows based interface might be developed.
                    466: The text-based interface will support an interaction mode as close as
                    467: possible to the WHOIS query syntax.
                    468: 
                    469: As its primary software,
                    470: the pilot project will use the QUIPU Directory.
                    471: To be sure,
                    472: QUIPU is not a high-performance Directory,
                    473: nor is it a hardened technology.
                    474: Nevertheless,
                    475: it promises to be a solid platform for the development of services which use
                    476: the OSI Directory.
                    477: 
                    478: Other Directory implementations may participate in the pilot project,
                    479: but must do so in ``unsupported'' mode.
                    480: (It is beyond the scope of this pilot project to debug other people's Directory
                    481: implementations.)
                    482: 
                    483: Finally,
                    484: during Phase~0,
                    485: prospective sites will be approached to solicit participation in the
                    486: pilot project.
                    487: As of this writing,
                    488: the following organizations have received permission,
                    489: and are participating in the pilot:
                    490: \begin{quote}
                    491: \begin{tabular}{l}
                    492: Anterior Technology\\
                    493: Clarkson University\\
                    494: Columbia University\\
                    495: Eastman Kodak\\
                    496: NASA\\
                    497: Navy\\
                    498: New Mexico State University\\
                    499: New York University\\
                    500: NYSERNet, Inc.\\
                    501: Polytechnic University\\
                    502: Rockefeller University\\
                    503: SUNY Albany\\
                    504: SUNY Buffalo\\
                    505: University of Michigan\\
                    506: University of Pittsburgh\\
                    507: University of Rochester\\
                    508: \end{tabular}
                    509: \end{quote}
                    510: 
                    511: Phase~0 will complete on June, 30, {\oldstyle 1989}.
                    512: Upon completion,
                    513: the sponsor of the pilot will issue a press release announcing the
                    514: pilot and the participants.
                    515: Work will also begin on a brochure for users at each participating
                    516: organization.
                    517: This brochure will be completed by August 1, {\oldstyle 1989}.
                    518: 
                    519: \subsubsection {Phase I}
                    520: Phase~I focuses on collecting data for the pilot project,
                    521: and determining the responsibilities of a DMD for each organization.
                    522: The duration of Phase~I varies by participant,
                    523: once a participant completes Phase~I,
                    524: it enters Phase~II.
                    525: For some participants,
                    526: Phase~I will be completed in less than a week;
                    527: for others,
                    528: a month or so may be required.
                    529: 
                    530: It is the responsibility of each participant to provide data for the
                    531: Directory.
                    532: If the participant plans to run the DSA(s) for their DMD,
                    533: then this is a moot issue.
                    534: Otherwise,
                    535: if the sponsor is to run the DSA for the participant's DMD,
                    536: then the participant must supply the information in an ASCII file
                    537: formatted to the specification of the sponsor.
                    538: 
                    539: The sponsor of the pilot project will provide modest management tools
                    540: to aid in the maintenance of the project's DMDs.
                    541: For example:
                    542: a ``tree walker'',
                    543: a ``skulker'',
                    544: a program which keeps track of the last update made to an entry,
                    545: and so on.
                    546: 
                    547: The sponsor of the pilot project will provide QUIPU DSAs in source form
                    548: for systems derived from Berkeley \unix/.%
                    549: \footnote{It is beyond the scope of the pilot project to support the Directory
                    550: on non-Berkeley \unix/ systems.
                    551: Considering the widespread penetration of Berkeley \unix/ into every segment
                    552: of the computing market place,
                    553: it is difficult to believe that any site doesn't have at least one system
                    554: running BSD \unix/ available to support white pages.}
                    555: 
                    556: \subsubsection {Phase II}
                    557: Phase~II focuses on offering the service to the pilot user community.
                    558: Each participating organization enters this phase once it has completed its
                    559: ``initial load'' of its DMD.
                    560: 
                    561: User interfaces will be supplied in source form for systems derived from
                    562: Berkeley \unix/. 
                    563: The user interfaces may be easily exported to other platforms via telnet,
                    564: rlogin, xterm, and as a special network port (ala network WHOIS access).
                    565: In addition,
                    566: a special electronic mail address will be supported,
                    567: which accepts queries in the ``Subject:'' line and body of a message
                    568: and generates a reply to the originator.
                    569: 
                    570: The sponsor of the pilot will provide access to the Directory both via
                    571: the network and via dial-up.
                    572: 
                    573: It is anticipated that all participants will have entered Phase~II prior
                    574: to the INTEROP$^{\hbox{\tiny TM}}$ 89 conference and exhibition in early
                    575: October.
                    576: As such,
                    577: the NYSERNet booth at Interop will provide access to the pilot for
                    578: demonstration purposes.
                    579: 
                    580: Phase~II completes for all participants on June 1, {\oldstyle 1990}.
                    581: At this time, the pilot project will be evaluated.
                    582: If successful,
                    583: the membership to the pilot project may be expanded beyond NYSERNet,
                    584: with Phase~I being re-activated on a larger scale.
                    585: Most likely this will also result in other applications,
                    586: such as a window-based user interface being fielded.
                    587: 
                    588: \section      {Conclusions}
                    589: A white pages service has the potential to unify the management of the
                    590: infrastructural information that is vital to networking.
                    591: By sponsoring a pilot project,
                    592: in addition to offering a valuable service to the user community,
                    593: vital administrative and operational experience will be gained.
                    594: 
                    595: \showsummary
                    596: 
                    597: \end{document}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.