Annotation of 43BSDReno/contrib/isode-beta/doc/whitepages/report-1/text.tex, revision 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.