N-1-1-040.31.1 Resource Discovery Beyond X.500, by Michael F. Schwartz*, The Internet connects thousands of sites and millions of users around the world. As it continues to grow and offer new types of services, being able to locate and make effective use of the available resources becomes increasingly difficult. To address this issue, the CCITT has developed a directory service specification called X.500, as an OSI application layer standard. X.500 describes a hierarchical collection of servers, with provisions for caching and replication. Each participating site maintains directory information about resources at that site, as well as administrative information needed for traversing the tree and maintaining proper distributed operation. Unlike the TCP/IP Domain Naming System, X.500 supports authenticated runtime updates, and stores typed data using a structured schema. Field trials conducted by Performance Systems International and the Field Operational X.500 Project demonstrate that there is significant interest in deploying X.500 servers at institutions around the world. Tools exist to ease the task of searching the tree, and to make long-distance operations more efficient. Graphical client interfaces exist for a number of platforms. X.500 is an important standard with growing momentum, but it is not a complete solution to the resource discovery problem. Its current use focuses primarily on providing a "white pages" directory of Internet users. However, over time X.500 will need to accommodate many other types of resource discovery. Consider two realms very different than user directories: commercial network services, and wide area distributed file systems. In a commercial network service environment (such as airline computer reservation systems), the resource discovery mechanism should support fair access among competing information providers. This issue will heat up significantly in the next few years, as the U.S. Regional Bell Operating Companies enter the information services market, and the Internet begins explicitly allowing commercial traffic. Supporting resource discovery in a distributed file system requires support for two distinct problems. First, how does a user discover a needed resource based on an attribute-based description, such as source code for a particular X-window system application? Second, how does a user locate an appropriate instance of this resource, from among the many replicas available (e.g., by anonymous FTP)? This decision should consider network bandwidth and version information about the file, and eventually should also consider cost and policy routing considerations. The popular Archie system developed at McGill University addresses the first of these problems. The second problem is currently a topic of research. Beyond supporting different types of resource discovery, other problems arise in trying to organize a widely shared, broad information space. While the hierarchical organization used by X.500 supports scalable decentralized administration, hierarchies become convoluted as an increasingly wide variety of resources are registered. Moreover, hierarchical information is only efficiently searched according to its primary organizational attributes (country and organization in the case of X.500). Searching for resources according to other criteria (such as the functionality of a software package) is inefficient. Inserting cross links between parts of the tree according to such criteria does not adequately solve this problem, since the information is still physically distributed in a fashion that does not permit efficient searching. Moreover, creating such links requires a large amount of manual administrative effort. There are a number of research efforts under way to address the problems discussed here. In time, the ideas introduced by these projects may find their way into future versions of X.500. *Assistant Professor, Department of Computer Science, University of Colorado - Boulder