Patent ID: 7606937

Claim:
In a network computing environment including a plurality of sites, each site including one or more distributed services, each distributed service configured to register clients when the distributed service is available, some clients including the ability to ping distributed services and register directly with remote sites that respond to a ping, other clients including the additional ability to receive an indication indicating a next most optimal site in response to a ping and to register with a specified distributed service at the indicated next most optimal site, a method of registering a client with a distributed service located at a next most optimal site when the distributed service at the client's local site is not available for use by the client, the method comprising: the client first attempting to register with a distributed service at the local site and the client ascertaining that the distributed service at the local site is unavailable; the client thereafter randomly selecting a distributed service at a remote site and then sending a ping to the randomly selected distributed service, the ping including a flag indicating the client's additional ability to receive an indication of a distributed service located at a next most optimal remote site and register with a specified distributed service at the indicated next most optimal site, the flag alerting the randomly selected distributed service to the client's additional ability to receive indications indicating next most optimal sites and register with specified distributed services such that the randomly selected distributed service refrains from attempting to register the client in response to receiving the ping; the client receiving a message back from the randomly selected distributed service that was pinged, the message specifying a distributed service located at a next most optimal remote site, the randomly selected distributed service having sent the message in response to being alerted to the additional ability indicated by the flag, wherein the next most optimal remote site is determined for the client by referencing a mapping table which includes indexes used to determine an index number for a link between the client and various other distributed services at other remote sites, and then determining from the mapping table, based on a link having the best index number, the next most optimal remote site for providing distributed service, each index being derived by using a combination of one or more of: physical proximity of the client to the optimal remote site, monetary cost of a link connecting the client to the optimal remote site, reliability of the link, latency and performance of the link, user preferences, security of the link, network equipment, administrative costs, bandwidth of the link or, conflicting uses of the link; and the client thereafter sending a message to the distributed service located at the next most optimal site and registering with the distributed service located at the next most optimal remote site.