A method of propagating resource information among computers of a computer network in a fully distributed (or decentralized) fashion. A solicit message from a client one of the computers is transmitted to one or more prescribed server ones of the computers each time the client computer is made operative in the newtork. In response to the solicit message, each of the prescribed server computers determines if it is available as a resource to the client computer. The server then transmits a positive response message or a negative response message to the client computer if the server computer is available or unavailable, respectively. In addition, when a server computer becomes available as a resource to one or more client computers, it transmits an advertisement message to the prospective client or clients.
A security mechanism is described for a distributed data processing system. Each server in the system maintains a set of security ratings giving its view of the security levels within the system. When a first server wishes to initiate a connection with a second server, the two servers exchange security information, by means of messages, so as to establish an overall security level for the connection, based on a combination of the security information maintained by both servers. However, if the first server decides that the second server cannot be trusted to discuss security, messages are exchanged containing no security information, and each server establishes its own security level for the connection, based on its own locally held security information.
A distributed digital data processing system includes a server and a client that transmit messages over a virtual circuit in a network, the virtual circuit being defined by server virtual circuit information and client virtual circuit information. The server includes a server memory and a server interface. The server includes a server memory and a server interface. The server memory stores server virtual circuit control information and the server interface engages in message transfers over said network using the server virtual circuit control information in said server memory. The client includes a client memory, a client interface, and a purging mechanism. The client memory stores client virtual circuit control information that the client interface uses in connection with message transfers engaged by it over the virtual circuit. The purging mechanism enables the server memory to purge server virtual circuit control information relating to a virtual circuit if said virtual circuit has not been used for a predetermined period of time, thereby freeing up the memory space for server virtual circuit control information relating to other virtual circuits.
A method for finding a resource requested by a node in a scalable system. The system interconnects a plurality of nodes, with at least one node being associated with at least one resource. Each resource has an active state, in which the resource is available to other nodes, and an inactive state, in which the resource is not available. The method includes automatically identifying resources which become available by switching from the inactive to the active state. The method also includes automatically informing the requesting node that the requested resource has become available.
In an implementation of administrative security systems and methods, access to administrative functions is controlled according to access privileges. A security process can be executed with administrative privilege to initiate an administrative function, and a user process can be executed with non-administrative privilege such that access to the administrative function is restricted. The user process can request initiation of the administrative function via the security process with parameters that include an identification of the administrative function and input arguments to the administrative function.
A method and system for managing the connection of client components to an interface implemented by a server component. In a preferred embodiment, a user component provides an implementation of an interface and a description of the interface. A component manager aggregates the user component into itself to form a server component. When a client requests a connection to the interface, the component manager retrieves a reference to the interface from the user component and sends the reference to the client components. In a preferred embodiment, the component manager tracks the client components connected through an interface. A user component may also provide multiple interfaces to client components which the component manager also tracks.