|
|
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}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.