In modern "enterprise" digital data processing systems, that is, computer systems for use in an office environment in a company, a number of personal computers, workstations, and other devices such as mass storage subsystems, network printers and interfaces to the public telephony system, are typically interconnected in a computer network. The personal computers and workstations (generally, "PCs") are used by individual users to perform processing in connection with data and programs that may be stored in the network mass storage subsystems. In such an arrangement, the PCs, operating as clients, access the data and programs from the network mass storage subsystems for processing. In addition, the PCs will enable processed data to be uploaded to the network mass storage subsystems for storage, to a network printer for printing, to the telephony interface for transmission over the public telephony system, or the like. In such an arrangement, the network mass storage subsystems, network printers and telephony interface operate as servers, since they are available to service requests from all of the clients in the network. By organizing the network in such a manner, the servers are readily available for use by all of the PCs the network. Such a network may be spread over a fairly wide area, with the PCs being interconnected by communication links such as electrical wires or optic fibers.
A problem arises when an operator at one PC wishes to determine what other PCs are connected to and available for use over the network, or to determine what other resources are available over the network. For example, an operator of one PC connected to the network may wish to use programs or data which are on other PCs (including both client PCs and server PCs) which are connected to the network, in which case he or she may need to initially obtain the identifications of the particular PCs which are connected to the network. After obtaining the identifications, the operator may retrieve information from or transfer information to their respective information storage systems. The operation by which the operator initially identifies the personal computers, workstations and other resources which are available over the network is typically referred to as "browsing."
Several general methodologies have been used to enable an operator to determine the various PCs and other resources which are available over the network. In one methodology, each PC can be provided with one or more lists of other PCs and other resources which are available to it over the network. In such a case, the list would need to be updated by, for example, a system administrator as each PC or other resource is added to or removed from the network. There are several problems with this methodology. First, maintaining all of the PC/resource lists in an updated condition can be a difficult task, particularly as the size of the network increases and PCs and other resources are added or removed in remote portions of the network. In addition, such lists would normally only identify the particular PCs and resources which are connected to the network, and would not necessarily indicate whether they are available for use at any particular point in time; thus, for example, if a particular PC or other resource is switched off, it would still be identified in a list but would not actually then be available.
In another methodology, each PC or other resource periodically broadcasts "advertising" messages containing their respective identifications over the network, perhaps along with other information such as various types of resources that they may provide which may be accessed over the network. The various PCs can receive the broadcast messages and from the information contained therein can identify the PCs and other resources which broadcast the respective messages. The PCs can buffer the information that they receive in the respective broadcast messages and provide it to the operator when requested. Since new PCs may be added to the network, the PCs and other resources which broadcast the messages will need to broadcast them periodically over the network. In addition, if the PCs receiving the messages determine that they have not received broadcast messages from a particular PC or other resource within a particular time interval, they (that is, the receiving PCs) can determine that the particular PC or other resource has, for example, been turned off or is otherwise no longer available. While this methodology allows each PC to identity other PCs and resources which are available over the network, and maintain the information relatively current, without requiring assistance from a system administrator or other operator, it does require the PCs and other resources to broadcast a number of messages. A number of the broadcast messages may be unnecessary, either because the PCs and other resources which are connected to and available over the network has not changed, or because operators have not requested information as to the PCs and resources which are available over the network. This problem is exacerbated as the number of PCs and other resources which are connected to the network increases, since the number of advertising messages would increase correspondingly and reduce the network bandwidth which is available for transfer of other information over the network. Additionally for networks which are interconnected by devices such as routers, the broadcast advertising messages may not be transferred throughout the entire network, since typically routers are designed so as not to forward broadcast messages.
A further methodology has been developed which alleviates these problems to some extent. In this further methodology, when an operator at a PC wishes to know what other PCs and other resources are available over the network, his or her PC will broadcast an inquiry message over the network. Other PCs and resources connected to the network are to respond to the inquiry message with the required browsing information, including, for example, their respective identifiers, within a particular time-out period. The PC that had broadcast the inquiry message will receive the browsing information can provide the information which it receives during the time-out period to the operator. Generally, to limit the information provided, the broadcast message is responded to only by PCs and other resources within a particular "workgroup" to which the requesting PC has been assigned, so that the information displayed will be only the information for the particular workgroup. While this methodology alleviates the transmission of unnecessary messages which will be broadcast in the previously-described methodology, and it ensures that the information provided to the operator is current, it does have several problems. First, the assignment of PCs and other resources to a particular workgroup may be unduly limiting. In addition, the requirement that a PC or other resource respond within the time-out period in order for its information to be included in the information displayed to the operator, results in information not being included if it is not received within the required time-out period. Thus, if a PC or other resource is busy and not able to respond to the broadcast message within the time-out period, its information will not be provided to the operator even though it may be available for use.