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

1.1       root        1: % -*- LaTeX -*-
                      2: 
                      3: \newpage
                      4: \section       {Introduction}
                      5: The need for a comprehensive white pages service increases in relation to the
                      6: size of the user community.
                      7: The early Internet was served well by a relatively simple facility.
                      8: Today's rapidly expanding Internet has outstripped the capabilities of the
                      9: existing system.
                     10: In order to meet new requirements,
                     11: NYSERNet, Inc.~is sponsoring a pilot project to provide white pages
                     12: service based on the OSI Directory.
                     13: 
                     14: A natural function of computer networks is to form the {\em infrastructure\/}
                     15: between the users they interconnect.
                     16: For example,
                     17: the electronic mail service offered by computer networks provides a means for
                     18: users to collaborate towards some common goal.
                     19: In the simplest cases,
                     20: this collaboration may be solely for the dissemination of information.
                     21: In other cases,
                     22: two users may work on joint research project,
                     23: using electronic mail as their primary means of communication.
                     24: 
                     25: Most network services are based on the implicit assumption that each user can
                     26: supply {\em infrastructural information} to 
                     27: facilitate information transfers through the network.
                     28: For example,
                     29: electronic mail services expect that an originator can supply 
                     30: addressing information 
                     31: for all the intended recipients.
                     32: It is not necessarily the task of electronic mail, per se,
                     33: to provide this infrastructural information to the user.
                     34: 
                     35: This model works fine in small environments,
                     36: particularly those where infrastructural information is not difficult to 
                     37: obtain and remember.
                     38: However,
                     39: the model does not scale well.
                     40: Consider the case when the membership of a network consists of hundreds of
                     41: thousands of users belonging to thousands of organizations.
                     42: It is no longer reasonable for a single user to provide this information,
                     43: except in very limited circumstances.
                     44: Further,
                     45: it is likely that some of the information changes frequently,
                     46: due to personnel and other resource movement.
                     47: The goal of a {\em white pages\/} service is to 
                     48: provide the necessary information, and to mask the complexity of the
                     49: infrastructural information.
                     50: 
                     51: \newpage
                     52: \section       {Approach}
                     53: The approach taken by the NYSERNet White Pages Pilot Project is
                     54: straight-forward, though somewhat controversial:
                     55: use the emerging OSI Directory standard as the basis for a white pages
                     56: service, and realize that technology on top of the Internet's TCP/IP-based
                     57: infrastructure.
                     58: 
                     59: The choice of OSI Directory as the cornerstone technology was not made
                     60: lightly: 
                     61: the richness of the service was evident,
                     62: and early prototype work had demonstrated that the underlying technology could
                     63: be realized.
                     64: Further,
                     65: it has often been noted that:
                     66: \begin{quote}\em
                     67: if one is going to crash and burn,
                     68: then it's probably best to be at the front of the airplane.
                     69: \end{quote}
                     70: Given the magnitude of the white pages problem in the Internet,
                     71: this analogy seems quite apt!
                     72: 
                     73: Hence,
                     74: under the approach taken by the NYSERNet White Pages Pilot,
                     75: to implement a white pages service,
                     76: three things are needed:
                     77: \begin{itemize}
                     78: \item  an OSI infrastructure;
                     79: 
                     80: \item  an implementation of the OSI Directory;
                     81:        and,
                     82: 
                     83: \item  a white pages abstraction,
                     84:        provided by an administrative discipline along with at least one user
                     85:        interface through which the service is accessed.
                     86: \end{itemize}
                     87: It is important to distinguish between the white pages {\em service\/} and the
                     88: OSI Directory {\em technology} as defined by the International Standards.
                     89: The white pages abstraction is provided both by a focused use of the
                     90: underlying OSI Directory technology (the administrative discipline)
                     91: and by special user interfaces.
                     92: 
                     93: \subsection    {OSI Infrastructure}
                     94: The OSI infrastructure is provided by the ISODE (pronounced {\em I-SO-D-E\/}),
                     95: or {\em ISO Development Environment}, a collection of library
                     96: routines and programs that implements an extensive set of OSI upper-layer
                     97: services.%
                     98: \footnote{It is an unfortunate historical coincidence that the first three
                     99: letters of the ISODE are ``ISO''.
                    100: This is not an acronym for the International Organization for Standardization,
                    101: but rather three letters which,
                    102: when pronounced in English,
                    103: produce a pleasing sound.}
                    104: In brief,
                    105: the ISODE implementation of the upper-layers of OSI is interesting in four
                    106: respects:
                    107: it provides extensive automatic tools for the development of OSI applications;
                    108: it supports OSI applications on top of both OSI and TCP/IP-based networks;
                    109: it provides a novel approach to the problems of OSI coexistence
                    110: and transition;
                    111: and,
                    112: it is openly available (non-proprietary).
                    113: 
                    114: The ISODE has been the subject of much joy and grief in both the Internet and
                    115: OSI communities.
                    116: It would be counter-productive to provide a more exacting description.
                    117: Interested readers might refer to either
                    118: the five-volume
                    119: {\em The ISO Development Environment: User's Manual},
                    120: for a detailed description,
                    121: or the professional reference entitled {\em The Open Book} by Rose and
                    122: published by Prentice-hall.
                    123: 
                    124: The one detail worth mentioning is that the ISODE implements
                    125: ``the RFC1006 method'',
                    126: which is a {\em transport service convergence protocol} providing a 
                    127: near-perfect emulation of the OSI transport service on top of TCP/IP-based
                    128: networks.
                    129: Thus,
                    130: given an TCP/IP-based internet infrastucture,
                    131: the RFC1006 method makes that infrastructure appear as a ``native'' OSI
                    132: environment,
                    133: in which OSI applications require no modifications in order to execute.
                    134: 
                    135: \subsection    {OSI Directory}
                    136: The ISODE implementation of the OSI Directory,
                    137: QUIPU
                    138: was implemented and is currently maintained by the University College London.
                    139: QUIPU is a complete implementation of the OSI Directory,
                    140: based on the {\oldstyle 1988\/} ISO standards and CCITT recommendations.
                    141: 
                    142: The QUIPU Directory User Agent (DUA) can be used directly at the programmatic
                    143: level,
                    144: or exported from a interface process called \pgm{dish}~---~the DIrectory SHell.
                    145: The \pgm{dish} process is available available either as a monolithic \unix/
                    146: program containing an input-interpreter with several commands,
                    147: or as several \unix/ programs, each implementing one of those commands.
                    148: 
                    149: The QUIPU Directory System Agent (DSA) is memory-based:
                    150: it uses the native \unix/ file-system to provide stable-storage between
                    151: reboots, but otherwise maintains all data in program memory.
                    152: As might be expected,
                    153: providing that the DSA avoids paging,
                    154: execution of the lookup and search facilities of the Directory can be realized
                    155: in a timely fashion.
                    156: Naturally, when an update operation occurs,
                    157: the copy on disk is updated and a journal entry written before the update is
                    158: acknowledged.
                    159: The disk copy is stored in a textual format to facilitate examination.
                    160: As this copy is read only once~---~when the DSA starts,
                    161: typically when \unix/ goes multi-user.
                    162: The cost of such a strategy is believed to be relatively small if properly
                    163: implemented and tuned.
                    164: 
                    165: The DSA supports both Directory distributed operations (DSA-DSA) and the
                    166: Directory Abstract Service (DUA-DSA),
                    167: along with the full range of standard Directory attributes.
                    168: Further,
                    169: a large number of other attributes have been defined,
                    170: both to facilitate experimentation and support the white pages service.
                    171: Most notably these attributes were necessary to support automatic use of
                    172: replication of information in the Directory.
                    173: 
                    174: \subsection    {White Pages Abstraction}
                    175: The white pages abstraction is the layer of conceptualization which resides
                    176: above the OSI Directory service.
                    177: Its purpose is to hide the complexity of the underlying technology and provide
                    178: a user-friendly service.
                    179: There are two parts to the service:
                    180: an {\em administrative discipline}, and a {\em user interface}.
                    181: 
                    182: \subsubsection {Administrative Discipline}
                    183: The OSI Directory leaves several issues to be decided by the implementor and
                    184: service provider.
                    185: These form the the administrative discipline.
                    186: 
                    187: At the highest level, the key issue is that each entry in the white pages
                    188: corresponds to an information object in the OSI Directory.
                    189: Since the OSI Directory uses {\em Distinguished Names\/} to uniquely identify
                    190: information objects,
                    191: the straight-forward approach is to use Directory Distinguished Names as names
                    192: in the white pages.
                    193: This mapping considerly simplifies the complexity of providing the white pages
                    194: service with the OSI Directory.
                    195: However,
                    196: since Distinguished Names are length and unwieldy,
                    197: the user interface must provide effective mechanisms for managing these names
                    198: for the user.
                    199: 
                    200: A second issue is to focus the scope of the project on persons and
                    201: organizations.
                    202: Although the underlying Directory implementation is capable of managing the
                    203: entire range of permissible information objects,
                    204: the user interface focuses on:
                    205: \begin{quote}\small\begin{tabular}{l}
                    206: organizations\\ organizational units\\ organizational roles (e.g., ``Chair of
                    207: the Department'')\\ localities (for those individuals not belonging to an
                    208: organization)\\ persons
                    209: \end{tabular}\end{quote}
                    210: However,
                    211: some modest work has been done as a part of the pilot in supporting other
                    212: objects,
                    213: such as networks, hosts, application processes, and document lookup.
                    214: Nonetheless,
                    215: the pilot project is emphasizing providing excellent support for persons and
                    216: organizations,
                    217: e.g., by defining additional attributes which are useful.
                    218: For example, users can store a
                    219: facsimile image of themselves as their \verb"photo" attribute.
                    220: 
                    221: The administrative discipline also deals with issues such as caching, and
                    222: replication.
                    223: As these mechanisms were severely enhanced after initial deployment,
                    224: they are discussed later on.
                    225: 
                    226: The most significant work in terms of the administrative discipline was the
                    227: writing of a one-hundred page {\em Administration Guide} explaining OSI
                    228: Directory concepts,
                    229: along with installation and maintenance procedures,
                    230: to \unix/ system administrators.
                    231: This document was well-received by the community of pilot administrators.
                    232: In addition,
                    233: a turn-key configuration program,
                    234: \pgm{dsaconfig},
                    235: was written to automatically generate the initial Directory configuration for
                    236: a participating organization.
                    237: This, too, was well-received.
                    238: 
                    239: \subsubsection {User Interface}
                    240: Building the user interface consists of two tasks:
                    241: selecting the appropriate interface paradigm,
                    242: and mapping that paradigm to the Directory service.
                    243: 
                    244: The paradigm selected is based on an earlier Internet nameservice called WHOIS.
                    245: This style of interaction was chosen for two reasons:
                    246: \begin{itemize}
                    247: \item  experience with WHOIS since {\oldstyle 1982\/} has shown the syntax to
                    248: be well-liked by the user community;%
                    249: \footnote{It is beyond the scope of this report to speculate if the success of
                    250: the WHOIS syntax is due to a lack of competing nameservices in the Internet.}
                    251: and,
                    252: 
                    253: \item  by using a similar syntax in the interface,
                    254: the problem of training the user community is greatly reduced.
                    255: \end{itemize}
                    256: The user interface to the white pages service is called \pgm{fred}.%
                    257: \footnote{In tried-and-true \unix/ style,
                    258: \pgm{fred} stands for FRont-End to Dish.
                    259: The \verb"dish" program was mentioned earlier as the primary means for
                    260: exporting the DUA interface to the \unix/ shell.}
                    261: 
                    262: Although the program has several commands,
                    263: only one is used for finding things in the white pages:
                    264: the \verb"whois" command,
                    265: which has syntax analogous to the WHOIS command.
                    266: For each \verb"whois" command,
                    267: \pgm{fred} constructs one or more Directory operations and then has \pgm{dish}
                    268: execute those operations.
                    269: 
                    270: The \verb"whois" syntax in \pgm{fred} has been extended from that of the
                    271: earlier WHOIS service,
                    272: in order to provide focused searching at the organizational level.
                    273: For example, the command:
                    274: \begin{quote}\small\begin{verbatim}
                    275: fred> whois rose
                    276: \end{verbatim}\end{quote}
                    277: directs \pgm{fred} to find information about something called \verb"rose" in
                    278: the default searching area.
                    279: Initially,
                    280: this results in a single Directory operation,
                    281: textually described as:
                    282: \begin{quote}\small\begin{verbatim}
                    283: search
                    284:     -nosizelimit -timelimit 300
                    285:     -subtree -filter "o=*rose* | ou=*rose* | l=*rose* | cn=*rose*"
                    286: \end{verbatim}\end{quote}
                    287: which performs an entire subtree search of the default area,
                    288: looking for any entry matching the filter.
                    289: For each match,
                    290: a Directory read operation is performed and the resulting information
                    291: displayed accordingly.
                    292: As might be imagined,
                    293: more efficient searches can be performed if the user tells \pgm{fred} that a
                    294: person is being searched for.
                    295: 
                    296: For a second example, the command
                    297: \begin{quote}\small\begin{verbatim}
                    298: fred> whois rose -org nyser
                    299: \end{verbatim}\end{quote}
                    300: directs \pgm{fred} to find information about something called \verb"rose"
                    301: associated with some organization called \verb"nyser".
                    302: Initially this results in this Directory operation:
                    303: \begin{quote}\small\begin{verbatim}
                    304: search
                    305:     -dontdereferencealias
                    306:     -singlelevel -filter "o=*nyser* & objectClass=organization"
                    307:     "@c=US"
                    308: \end{verbatim}\end{quote}
                    309: which performs a single-level search in the United States portion of the
                    310: Directory,
                    311: looking for any entry matching the filter.
                    312: For each matching organization,
                    313: another Directory search operation takes place,
                    314: similar to that of the first example,
                    315: but anchored in that organization.
                    316: 
                    317: The \pgm{fred} program also supports a mailbox specification for searching,
                    318: and performs a yellow pages-style search accordingly.%
                    319: \footnote{In general,
                    320: the distinction between white pages and yellow pages is poorly understood.
                    321: A white pages search implies that searching occurs on some part of an object's
                    322: name,
                    323: whilst a yellow pages search implies that searching occurs on any of an
                    324: object's attributes.
                    325: Since, in the OSI Directory,
                    326: an object's name is one of its attributes,
                    327: these definitions are problematic at best.}
                    328: 
                    329: In addition to \pgm{fred},
                    330: two simple X~windows programs were written to interface to the white pages and
                    331: the Directory:
                    332: \begin{itemize}
                    333: \item  \pgm{xwho}, an X~windows version of the \pgm{rwho} program that
                    334:        displays the faces of people logged in on the local network,
                    335:        by using the Directory to retrieve their \verb"photo" attribute;
                    336:        and,
                    337: 
                    338: \item  \pgm{xface}, an X~windows program that displays the face of the person
                    339:        who sent the mail message being read, by first using the Directory to
                    340:        perform an inverse-mapping on the originator's mailbox address, and
                    341:        then retrieving the \verb"photo" attribute.
                    342: \end{itemize}
                    343: Finally,
                    344: the popular \MH/ message handling system was modified to invoke \pgm{fred} to
                    345: provide name resolution when sending mail messages.
                    346: 
                    347: \newpage
                    348: \section       {First Milestone: Numbers}
                    349: Internally,
                    350: work began on the NYSERNet White Pages Pilot Project in
                    351: mid-May, {\oldstyle 1989}.
                    352: After defining and implementing the white pages abstraction,
                    353: the pilot began offering service in July, {\oldstyle 1989}.
                    354: The software supporting the pilot was based on ISODE~5.2(beta),
                    355: a stable, but bug-rich, version of the software.
                    356: By the end of the three-month mark,
                    357: 28~Internet sites were participating
                    358: (half of which where NYSERNet members),
                    359: and there were approximately 98K entries in the Directory.
                    360: 
                    361: \subsection    {Interop '89}
                    362: At the Interop$^{\mbox{\tiny TM}}$ trade-show and exhibition in
                    363: October, {\oldstyle 1989},
                    364: in the NYSERNet booth,
                    365: the white pages made its first public debut on the show floor.
                    366: This was particularly exciting as the floor network had Internet connectivity.
                    367: 
                    368: \subsection    {International Participation}
                    369: Although NYSERNet is running the US~Directory Management Domain (DMD) as a
                    370: part of the pilot,
                    371: one Canadian site wished to participate as well.
                    372: Since a volunteer for running the CA~DMD was not forthcoming,
                    373: this site was temporarily placed under the US~DMD.
                    374: 
                    375: \newpage
                    376: \section       {Second Milestone: Software}
                    377: The next three months (October through December, {\oldstyle 1989\/}),
                    378: were spent on two tasks: fixing implementation problems and hardening the code.
                    379: This resulted in ISODE~5.9(frozen).
                    380: 
                    381: \subsection    {Reliability}
                    382: Experience with the ISODE~5.2(beta) version of the software led to the motto:
                    383: \begin{quote}\em
                    384: it's nearly as good as bind, but not nearly as fast$\ldots$
                    385: \end{quote}
                    386: which was a fairly accurate assessment.
                    387: The software,
                    388: when running,
                    389: would act correctly.
                    390: However,
                    391: it would frequently crash.
                    392: 
                    393: Thus, one major activity was to simply track down the myriad of bugs exercised
                    394: by placing the software in operational use.
                    395: It should be noted that this phenomenon is true of any complex system when
                    396: first fielded.
                    397: In the process of tracking down problems,
                    398: several performance improvements were made.
                    399: For example,
                    400: the program memory storage requirement for each entry was reduced by
                    401: approximately half.
                    402: 
                    403: However,
                    404: two major logic problems existed:
                    405: DSAs would occasionally lock-up during synchronous operations,
                    406: and DSAs would not use any intelligence when distributing
                    407: operations to other DSAs.
                    408: 
                    409: \subsection    {Asynchrony}
                    410: The asynchrony problem was traced to two areas:
                    411: \begin{itemize}
                    412: \item  the method used by QUIPU for replication of portions of the Directory
                    413:        Information Tree (DIT) was synchronous,
                    414:        resulting in the DSA blocking for potentially long (or infinite)
                    415:        periods of time;
                    416:        and,
                    417: 
                    418: \item  the underlying ISODE operations were only partially asynchronous;
                    419:        in particular, whilst connection establishment and data reception were
                    420:        non-blocking, connection release and data transmission were
                    421:        synchronous.%
                    422:        \footnote{Actually,
                    423:        connection establishment would actually lock-up if two DSAs
                    424:        simultaneously tried to associate with each other.}
                    425: \end{itemize}
                    426: Both problems were relative straight-forward to fix,
                    427: once the critical areas of code were identified.
                    428: 
                    429: \subsection    {Distribution}
                    430: When an operation cannot be satisfied locally,
                    431: a QUIPU DSA will generate,
                    432: based on knowledge information in the Directory,
                    433: a list of DSAs which either master or shadow the desired information.
                    434: The distribution problem was simple in that the QUIPU DSA did not
                    435: keep track of its previous associations with DSAs in order to judge the
                    436: ``responsiveness'' or ``reliability''.
                    437: Its choice was random,
                    438: which almost always led to problematic interactions
                    439: (e.g., ``broken'' DSAs frequently appeared at the front of the list).
                    440: 
                    441: The new software now sorts the list based on several heuristics:
                    442: whether an association is currently open to that DSA;
                    443: how long ago the DSA was known to be operating responsively;
                    444: how long ago the DSA was known to be operating reliably;
                    445: and,
                    446: how ``close'' the DSA is.
                    447: Closeness is determined from a tailorable list of preferred DSAs defined by
                    448: the DSA's administrator,
                    449: and by the ``distance'' between the Distinguished Names of the two DSAs in the
                    450: DIT.
                    451: 
                    452: In addition,
                    453: all of the key parameters dealing with replication and caching are now
                    454: tailorable.
                    455: At present,
                    456: cached entries are removed after 6~hours,
                    457: and shadow copies of information are checked for refresh every 24~hours.
                    458: 
                    459: \subsection    {User Interface}
                    460: The \pgm{fred} program proved spectacularly uncontroversial,
                    461: primarily due to its ease of use.
                    462: In addition to the usual lot of random bug-fixes,
                    463: two small changes were made during this period:
                    464: \begin{itemize}
                    465: \item  In all cases,
                    466:        the old software would issue a Directory read operation for all of an
                    467:        entry's attributes when displaying an entry.
                    468:        Of course,
                    469:        the attributes would be cached in the DUA so that subsequent re-display
                    470:        would not require another Directory read operation.
                    471: 
                    472:        However,
                    473:        when searching results in multiple matches,
                    474:        the default action is to display a one-line summary of each matching
                    475:        entry.
                    476:        This one-line summary contains the value of only two or three
                    477:        attributes of the entry.
                    478:        In this circumstance,
                    479:        it is wasteful and slow to issue a Directory read operation for all
                    480:        the attributes,
                    481:        since the user will probably never display all of the entries matched.
                    482:        Hence, when issuing the Directory search operation,
                    483:        \pgm{fred} asks that those three key attributes be returned for each
                    484:        matching entry.
                    485:        Thus,
                    486:        when multiple matches occur,
                    487:        no further Directory operations need be issued.
                    488: 
                    489: \item  In any event,
                    490:        the old software would display the one-line summaries in the same
                    491:        order as the entries returned by the Directory,
                    492:        which was essentially unordered.
                    493:        At present,
                    494:        \pgm{fred} name-collates the entries to provide a sorted output.
                    495: \end{itemize}
                    496: 
                    497: \subsection    {An Update and Interpolation}
                    498: After three months of intensive work,
                    499: ISODE~5.9(frozen) was released,
                    500: and our motto revised:
                    501: \begin{quote}\em
                    502: it's as good as bind, and nearly as fast$\ldots$
                    503: \end{quote}
                    504: 
                    505: On 19 December, {\oldstyle 1989},
                    506: there were at least 84~DSAs in the global Directory pilot,
                    507: 79~of those were running the QUIPU software,
                    508: and 31~of those were running something very close to ISODE~5.9(frozen).
                    509: Those 31~DSAs mastered 64462~entries,
                    510: for an average of 2079~entries/DSA.
                    511: If this number is indicative,
                    512: then, on that day,
                    513: the size of the global DIT was on the order of 175K~entries.
                    514: 
                    515: In the US portion of the DIT,
                    516: the allocation of sites and DSAs looked like this:
                    517: \[\begin{tabular}{|l|c|c|c|}
                    518: \hline
                    519: \multicolumn{1}{|c|}{\null}&
                    520:                \multicolumn{3}{c|}{\bf Type of DSA}\\
                    521: \cline{2-4}
                    522: \bf Type of Institution&
                    523:                local&  remote& non-NYSER\\
                    524: \hline
                    525: University&    8&      3&      7\\
                    526: Corporate&     1&      1&      6\\
                    527: Non-profit&    1&      0&      1\\
                    528: Government&    0&      0&      3\\
                    529: \cline{2-4}
                    530: \multicolumn{1}{|r|}{total:}&
                    531:                10&     4&      17\\
                    532: \hline
                    533: \end{tabular}\]
                    534: where
                    535: \[\begin{tabular}{rp{3.0in}}
                    536: local& refers to a NYSERNet site running its own DSA\\
                    537: remote&        refers to a NYSERNet site with a DSA being run remotely\\
                    538: non-NYSER&
                    539:        refers to an Internet site outside of NYSERNet running its own DSA
                    540: \end{tabular}\]
                    541: 
                    542: \newpage
                    543: \section       {Direction}
                    544: Given the initial success of the pilot and the stability and robustness of the
                    545: new software,
                    546: the current direction for the NYSERNet White Pages Pilot is to emphasize
                    547: growth.
                    548: The value of a comprehensive white pages service increases in relation to the
                    549: size of the user community.
                    550: 
                    551: \subsection    {Software}
                    552: Work on the software is most likely going to lapse into maintenance mode,
                    553: as no problems remain in the ISODE~5.9(frozen) distribution.
                    554: As new problems arise,
                    555: they will be dealt with.
                    556: 
                    557: \subsubsection {Platforms}
                    558: At present,
                    559: the ISODE and QUIPU are supported only on \unix/-based hosts.
                    560: Although retargeting the entire package for other platforms may be
                    561: prohibitively expensive,
                    562: the interprocess communications mechanism between \pgm{fred} and \pgm{dish} is
                    563: sufficiently general to permit these programs to be distributed across a
                    564: local area network
                    565: (e.g., a TCP connection is used as the IPC,
                    566: even when both processes are resident on the same host).
                    567: 
                    568: \subsubsection {Interfaces}
                    569: The most interesting interface that might be developed is probably one based on
                    570: X~windows which provides a hyper-textual interface to the white pages.
                    571: This paradigm appears to have much promise.
                    572: 
                    573: \subsection    {(Teutonic) Discipline}
                    574: In terms of the administrative discipline,
                    575: there are two areas to be addressed for the next milestone.
                    576: 
                    577: \subsubsection {Replication}
                    578: Although individual QUIPU DSAs are now robust and reliable,
                    579: and distributed operations are now sensible,
                    580: transient network outages may still prevent information from being available.
                    581: The solution, of course, is to use more replication in the system.
                    582: As such,
                    583: white pages administrators will be encouraged to team with each other in order
                    584: to provide shadow replication of their organizational DMDs.
                    585: 
                    586: \subsubsection {International Participation}
                    587: In the next milestone,
                    588: NYSERNet will be working with the University of Toronto to provide a tight
                    589: interaction between the US~and CA~DMDs.
                    590: In particular,
                    591: a new locality for North America will be jointly administered.
                    592: This locality contains Directory aliases to organizations in both the US~and
                    593: CA~DMDs.
                    594: With the introduction of this locality,
                    595: users of the white pages will be able to automatically search both DMDs when
                    596: looking for information about organizations.
                    597: 
                    598: \subsection    {On the Far Horizon}
                    599: The NYSERNet White Pages Pilot Project is scheduled to finish at the end of
                    600: May, {\oldstyle 1990}.
                    601: At this time,
                    602: a determination must be made as to the viability of the service.
                    603: If the service is judged useful and maintainable,
                    604: then two issues must be addressed:
                    605: the level of supported required to offer the service,
                    606: along with additional hierarchy in the US~DMD.
                    607: 
                    608: \subsubsection {The Need for Support}
                    609: At present,
                    610: implementation, maintenance, and support for the white pages abstraction along
                    611: with the operational pilot is done with 0.75FTE.
                    612: As the number of sites joining the white pages increases,
                    613: even with tools to semi-automate administration procedures,
                    614: the load will be too great.
                    615: A larger infrastructure will be needed.
                    616: 
                    617: \subsubsection {Three-level DMD Scheme}
                    618: The two-level DMD scheme used by the pilot,
                    619: in which all organizations are placed directly under the~US,
                    620: is unscalable.
                    621: A three-level scheme,
                    622: in which organizations operating with a single state,
                    623: are placed under the DMD for that state,
                    624: must be put into effect.
                    625: 
                    626: \newpage
                    627: \section       {Documents}
                    628: As of this writing,
                    629: five documents have been produced:
                    630: \begin{itemize}
                    631: \item  {\em An Introduction to a NYSERNet White Pages Pilot Project},
                    632:        by Rose and Schoffstall,
                    633:        12~pages.
                    634: 
                    635: This introduces the basic notion of a white pages service and outlines
                    636: the goals and milestones of the project.
                    637: 
                    638: \item  {\em NYSERNet White Pages Pilot: Administrator's Guide},
                    639:        by Rose,
                    640:        104~pages.
                    641: 
                    642: This is the authoritative tome which introduces the white pages service and
                    643: OSI Directory,
                    644: describes how to configure and install the service,
                    645: and finally discusses maintenance issues.
                    646: 
                    647: This is a ``living'' document.
                    648: 
                    649: \item  {\em NYSERNet White Pages Pilot: User's Handbook},
                    650:        by Rose,
                    651:        38~pages.
                    652: 
                    653: This describes the pilot project from a user's perspective
                    654: and provides operational reference for the use of the white pages service.
                    655: In particular,
                    656: the white pages user interface, \pgm{fred}, is fully described.
                    657: 
                    658: There is also a two-page {\em White Pages Quick Reference Sheet},
                    659: which summarizes the basic commands given to \pgm{fred}.
                    660: 
                    661: \item  {\em An Implementation of a White Pages Service},
                    662:        by Rose,
                    663:        28~pages.
                    664: 
                    665: This describes the technology underlying the NYSERNet White Pages Pilot
                    666: Project.
                    667: 
                    668: Submitted to the IEEE {\em Journal on Selected Areas in Communications}.
                    669: 
                    670: \item  {\em NYSERNet White Pages Pilot Project},
                    671:        by Rose,
                    672:        39~images.
                    673: 
                    674: An accompanying presentation to the JSAC paper.
                    675: \end{itemize}
                    676: In addition,
                    677: independent of the work on the NYSERNet White Pages Pilot Project,
                    678: four other documents have been produced by the ISODE/QUIPU effort which
                    679: are germane to white pages:
                    680: \begin{itemize}
                    681: \item  {\em The ISO Development Environment: User's Manual, Volume 5: QUIPU},
                    682:        by Kille, Robbins, Rose, and Turland,
                    683:        290~pages.
                    684: 
                    685: \item  {\em Directory Navigation in the QUIPU X.500 System},
                    686:        by Barker and Robbins,
                    687:        15~pages.
                    688: 
                    689: \item  {\em An interim approach to use of Network Addresses},
                    690:        by Kille,
                    691:        10~pages.
                    692: 
                    693: \item  {\em A string encoding of Presentation Address},
                    694:        by Kille,
                    695:        5~pages.
                    696: \end{itemize}
                    697: 
                    698: \newpage
                    699: \section       {Acknowledgements}
                    700: The NYSERNet White Pages Pilot Project builds on the work of many others:
                    701: \begin{itemize}
                    702: \item  At the core,
                    703:        the ISODE provides the programmatic infrastructure for OSI
                    704:        applications.
                    705:        So many people have contributed to the ISODE that it is presumptuous
                    706:        to attempt to list them.
                    707: 
                    708: \item  The QUIPU directory from University College London,
                    709:        designed by Stephen E.~Kille and programmed primarily by
                    710:        Colin J.~Robbins, form the heart of the pilot's functionality.
                    711: 
                    712: \item  Although NYSERNet has devoted considerable resources to the hardening
                    713:        of QUIPU,
                    714:        it should be noted that UCL has been responsible for the vast majority
                    715:        of improvements and fixes.
                    716: 
                    717: \item  The white pages abstraction was designed primarily at NYSERNet with
                    718:        the help of several experts: Kille, Robbins, and Einar Stefferud.
                    719: 
                    720: \item  Geoffrey S.~Goodfellow was kind enough to be the alpha tester for the
                    721:        white pages abstraction.
                    722: 
                    723: \item  The white pages administrators have been patient as the software
                    724:        twitches.
                    725: 
                    726: \item  Finally,
                    727:        it should be noted that none of this would be possible if it
                    728:        weren't for the excellent end-to-end services provided by the Internet
                    729:        suite of protocols (namely the TCP and the IP).
                    730: \end{itemize}

unix.superglobalmegacorp.com

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