Generalized proximity service
First Claim
1. A method for a requesting client to determine the closest available endpoint for accessing a service and for establishing a network connection from the requesting client to the endpoint in a computer network environment that includes a plurality of endpoints which provide the service and a nearest endpoint locator, the method comprising:
- transmitting a request from the requesting client to the nearest endpoint locator, wherein the request identifies a service of interest desired by the requesting client;
receiving at the requesting client from the nearest endpoint locator an ordered enumeration of a plurality of endpoints, each of the plurality of endpoints in the received ordered enumeration providing the service of interest,the ordered enumeration of a plurality of endpoints comprising a data structure, the data structure comprising a plurality of fields, wherein for each endpoint in the plurality of endpoints, the plurality of fields includes a field comprising an identification of the each endpoint and includes an associated field comprising a value corresponding to a proximity to the client for the each endpoint,the nearest endpoint locator having ascertained the network location of the requesting client,the nearest endpoint locator having determined that each endpoint in the ordered enumeration provides the service of interest,the nearest endpoint locator having determined the network location of each of the endpoints in the ordered enumeration,the nearest endpoint locator having determined the network proximity to the requesting client of each endpoint in the ordered enumeration, andthe nearest endpoint locator having sorted the endpoints in the ordered enumeration according to the network proximity of each endpoint in the ordered enumeration to the requesting client,wherein the received ordered enumeration of the plurality of endpoints providing the service of interest comprises an enumeration of two equidistant endpoints having the same proximity to the requesting client, and wherein the ordering of the equidistant endpoints in the ordered enumeration of the plurality of endpoints is in accordance with an additional criterion, the additional criterion comprising the network address of each of the equidistant endpoints; and
the requesting client establishing a network connection from the requesting client to an endpoint from the ordered enumeration.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for identifying network endpoints that provide a service of interest orders endpoints according to their network proximity to a requesting client. The requesting client may then contact the closest available providing endpoint, thus increasing the efficiency of usage of network resources while decreasing latency and enhancing reliability. In an embodiment of the invention, when a connection to the nearest providing endpoint cannot be established, a mechanism for locating a next-closest alternative endpoint is provided.
-
Citations
14 Claims
-
1. A method for a requesting client to determine the closest available endpoint for accessing a service and for establishing a network connection from the requesting client to the endpoint in a computer network environment that includes a plurality of endpoints which provide the service and a nearest endpoint locator, the method comprising:
-
transmitting a request from the requesting client to the nearest endpoint locator, wherein the request identifies a service of interest desired by the requesting client; receiving at the requesting client from the nearest endpoint locator an ordered enumeration of a plurality of endpoints, each of the plurality of endpoints in the received ordered enumeration providing the service of interest, the ordered enumeration of a plurality of endpoints comprising a data structure, the data structure comprising a plurality of fields, wherein for each endpoint in the plurality of endpoints, the plurality of fields includes a field comprising an identification of the each endpoint and includes an associated field comprising a value corresponding to a proximity to the client for the each endpoint, the nearest endpoint locator having ascertained the network location of the requesting client, the nearest endpoint locator having determined that each endpoint in the ordered enumeration provides the service of interest, the nearest endpoint locator having determined the network location of each of the endpoints in the ordered enumeration, the nearest endpoint locator having determined the network proximity to the requesting client of each endpoint in the ordered enumeration, and the nearest endpoint locator having sorted the endpoints in the ordered enumeration according to the network proximity of each endpoint in the ordered enumeration to the requesting client, wherein the received ordered enumeration of the plurality of endpoints providing the service of interest comprises an enumeration of two equidistant endpoints having the same proximity to the requesting client, and wherein the ordering of the equidistant endpoints in the ordered enumeration of the plurality of endpoints is in accordance with an additional criterion, the additional criterion comprising the network address of each of the equidistant endpoints; and the requesting client establishing a network connection from the requesting client to an endpoint from the ordered enumeration. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of determining a closest available endpoint for a requesting client to access a service and of facilitating establishment of a network connection from the requesting client to a providing endpoint in a network environment that includes a plurality of endpoints which provide the service and a nearest endpoint locator, the method comprising:
-
receiving at the nearest endpoint locator a request from the requesting client, wherein the request identifies a service of interest to which the requesting client requires access; the nearest endpoint locator ascertaining the network location of the requesting client; the nearest endpoint locator determining that each of a plurality of endpoints provide the service of interest; the nearest endpoint locator determining the network proximity of each of the plurality of endpoints to the requesting client; the nearest endpoint locator sorting the plurality of endpoints according to the network proximity of each endpoint in the plurality of endpoints to the requesting client; transmitting to the requesting client from the nearest endpoint locator an ordered enumeration of the plurality of endpoints, each endpoint in the ordered enumeration providing the service of interest, the ordered enumeration of the plurality of endpoints being ordered according to the network proximity of each endpoint in the ordered enumeration to the requesting client, the ordered enumeration of the plurality of endpoints providing the service of interest comprises an enumeration of two equidistant endpoints having the same proximity to the requesting client, and wherein the ordering of the equidistant endpoints in the ordered enumeration of the plurality of endpoints is in accordance with an additional criterion, wherein the additional criterion comprises the network address of each of the equidistant endpoints, and whereby the requesting client can establish a network connection to any of the endpoints within the ordered enumeration in order to access the service of interest. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification