1. The Field of the Invention
This invention relates to computer applications using or requiring access to documents and files and, more particularly, to novel systems and methods for retrieving and linking documents or files.
2. The Background Art
Internetworks are networks of networks. For example, a wide area network (WAN) of local area networks (LANS) and other WANS is an internetwork. Internetworks may be public or private. The internet, the worldwide web, and the like are examples of internetworks.
Applications executing on a computer typically require access to one or more documents, files, databases, and the like. When a user browses, for example, the worldwide web, or various internet locations, certain documents may be found. A search engine may return a hit list from a search across an internetwork or across a directory services system.
However, the information in each listing in an environment is extremely meager. The hit list contains, typically, only address information. Thus, a user has precious little information on which to evaluate each of the hits.
The environment available is a single environment. A single environment is typically available for storing a list of all documents of a user with their address information. Different documents may be related to one another in distinct ways. Multiple environments, each containing a collection of documents related together in some way, is not typically available. Creating and searching a list or catalog of environments is not available, but could be very useful. Searching across multiple environments for a particular document referenced therein is virtually unheard of, but would be valuable. No search engine exists for traversing a reference environment searching for a particular document. Such a system, with even this rudimentary yet unavailable ability, would be very useful.
Moreover, a flat list of references in a single environment is all that a user has available, typically. A bookmark list, available in a conventional browser, is one example. A suitable group of reference environments, which may then be grouped in a hierarchy, is needed. A reference environment structure to hold references that can be organized, sorted, filtered, or otherwise arranged in a hierarchy is needed as well.
A document may be any addressable data structure. For example, data blocks, applications, files, records, databases, fields, executables, and the like may all be thought of as documents. A reference entry in a list or table may be considered to be a document referring to a document. Documents are not always static entities. A user may access, through an application, a document or file (generically referred to as a document, regardless of format) only occasionally, compared to another user.
Moreover, an indirection method would be valuable, but is unavailable for effectively searching for additional information beyond an address. Typical browsers may return addresses of servers or nodes at which desired information is found in an internetwork. Such addresses are listed as hits, in a chronological list (environment) as they are found. However only a hit location is identified, then only by address, in a hit list in an environment. A system of pointers providing indirection to documents, as well as their source sites, through a more stable, searchable, manageable, intermediate reference is desirable.
Directory services systems have been implemented in many networks. A directory services system may include a database of objects linked in a hierarchy establishing relationships therebetween. Directory services databases may be created to define and manage information related to an organization. Likewise, directory services databases may include information on software, hardware systems, assets, financial data, personnel, property, inventory, and the like.
Directory services databases are based on trees of (hierarchically related) objects and are well understood in the art. A software object may be thought of as a data structure encapsulating both executables (e.g. methods) and operational data (attributes) supporting or used by the executables. Software objects and object-oriented programming are well understood in the art.
Directory services systems, also called network directory services, typically provide engines for inputting, linking, outputting, searching, updating, and the like, all of the objects within a directory services database. Certain standard functions available from directory services systems are well established. Services may include support for object structures, including attributes and methods (executables) related to those attributes, database management of contained objects, as well as user interfaces for providing inputs and obtaining outputs.
What is needed is a method and apparatus for defining, tracking, updating, searching, and the like, multiple catalogs, each catalog containing multiple environments, and each environment containing multiple references to documents. Certain features of a directory services system need to be accessed by a reference environment management system for navigating hit lists available from other browsers, in order to extract useful link information, and download additional documents and document linking information. In addition, a creation, management, and browsing method and apparatus are needed for creating and maintaining multiple environments, and document lists within those environments.