System and method for selecting a service with dynamically changing information
First Claim
1. A method for selecting an electronic service from among a plurality of electronic services each having a corresponding address, comprising:
- receiving a request for an address for an electronic service;
determining a first metric at a first priority level, the first metric determined subsequent to the request through communication with a first direct response protocol agent associated with a first electronic service, and a second metric at the first priority level, the second metric determined subsequent to the request through communication with a second direct response protocol agent associated with a second electronic service, the first metric being associated with the first electronic service and the second metric being associated with the second electronic service;
comparing the first metric with the second metric;
if the first metric and the second metric are not approximately equivalent based on the comparison at the first priority level, selecting either the first service or the second service based on the comparison of the first metric with the second metric at the first priority level;
if the first metric and the second metric are approximately equivalent based on the comparison at the first priority level;
comparing a third metric at a second priority level, the third metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a fourth metric at the second priority level, the fourth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the third metric being associated with the first electronic service and the fourth metric being associated with the second electronic service; and
selecting either the first electronic service or the second electronic service based on the comparison of the third metric with the fourth metric at the second priority level; and
communicating the address of the selected first or second electronic service in response to the request.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to a system and method for selecting a service. According an embodiment of the present invention, a priority array indicates an order of priority levels; a residual array indicates each service to be evaluated for selection; and a result array indicates the results of selection at a priority level. An order of priority is configured for various metrics. The first priority metric is determined for each service in the residual array. If there is no tie in the result array for a server meeting a predetermined criteria, herein referred to as a “best” service, then a “best” service is selected. If a tie occurs in the result array, then the next priority metric is evaluated for the service that tied in the previous priority metric. If no tie occurs, then a “best” service is selected.
-
Citations
37 Claims
-
1. A method for selecting an electronic service from among a plurality of electronic services each having a corresponding address, comprising:
-
receiving a request for an address for an electronic service;
determining a first metric at a first priority level, the first metric determined subsequent to the request through communication with a first direct response protocol agent associated with a first electronic service, and a second metric at the first priority level, the second metric determined subsequent to the request through communication with a second direct response protocol agent associated with a second electronic service, the first metric being associated with the first electronic service and the second metric being associated with the second electronic service;
comparing the first metric with the second metric;
if the first metric and the second metric are not approximately equivalent based on the comparison at the first priority level, selecting either the first service or the second service based on the comparison of the first metric with the second metric at the first priority level;
if the first metric and the second metric are approximately equivalent based on the comparison at the first priority level;
comparing a third metric at a second priority level, the third metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a fourth metric at the second priority level, the fourth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the third metric being associated with the first electronic service and the fourth metric being associated with the second electronic service; and
selecting either the first electronic service or the second electronic service based on the comparison of the third metric with the fourth metric at the second priority level; and
communicating the address of the selected first or second electronic service in response to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
comparing a fifth metric at a third priority level, the fifth metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a sixth metric at the third priority level, the sixth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the fifth metric being associated with the first electronic service and the sixth metric being associated with the second electronic service; and
selecting either the first electronic service or the second electronic service based on the comparison of the fifth metric with the sixth metric at the third priority level.
-
-
8. The method of claim 1, further comprising comparing metrics corresponding to the first and second electronic services at one or more higher priority levels until either the first or second electronic service can be selected based on the comparison.
-
9. The method of claim 1, wherein the method is performed using a distributed director associated with a host server, the method comprising:
-
receiving the request at the host server associated with the distributed director from a local domain name server associated with a client, the request originating from the client and comprising a request for an address of the host server; and
communicating the request from the host server to the associated distributed director, the distributed director thereafter communicating with the direct response protocol agents to perform the comparisons and select either the first electronic service or the second electronic service based on the comparisons.
-
-
10. The method of claim 1, wherein a single autonomous system comprises the plurality of electronic services, each electronic service being associated with a border router comprising a plurality of attributes for one or more prefixes, the prefixes being associated with various clients and indicating a set of client Internet Protocol (IP) addresses assigned to the autonomous system.
-
11. The method of claim 1, wherein the method further comprises:
-
storing a first metric identifier for the first priority level and a second metric identifier for the second priority level in a priority array;
storing a first service identifier for the first electronic service and a second service identifier for the second electronic service in a first residual array;
storing a first result of comparing the first metric associated with the first electronic service with the second metric associated with the second electronic service in a first result array corresponding to the first priority level;
if the first result indicates that the first metric and the second metric are not approximately equivalent;
selecting the first electronic service or the second electronic service based on the result; and
identifying the selected first or second electronic service in the result array; and
if the result indicates that the first metric and the second metric are approximately equivalent;
storing the first service identifier and the second service identifier in a second residual array;
storing a second result of comparing the third metric associated with the first electronic service with the fourth metric associated with the second electronic service in a second result array corresponding to the second priority level;
selecting the first service or the second service based on the result; and
identifying the selected first or second electronic service in the second result array.
-
-
12. The method of claim 1, wherein the electronic service comprises serving one or more web pages and the address comprises an Internet Protocol (IP) address for a server responsible for serving the web pages.
-
13. A system for selecting an electronic service from among a plurality of electronic services each having a corresponding address, comprising one or more processors collectively operable to:
-
receive a request for an address for an electronic service;
determine a first metric at a first priority level, the first metric determined subsequent to the request through communication with a first direct response protocol agent associated with a first electronic service, and a second metric at the first priority level, the second metric determined subsequent to the request through communication with a second direct response protocol agent associated with a second electronic service, the first metric being associated with the first electronic service and the second metric being associated with the second electronic service;
compare the first metric and the second metric;
if the first metric and the second metric are not approximately equivalent based on the comparison at the first priority level, select either the first service or the second service based on the comparison of the first metric with the second metric at the first priority level;
the first metric an(the second metric are approximately equivalent based on the comparison at the first priority level;
compare a third metric at a second priority level, the third metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a fourth metric at the second priority level, the fourth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the third metric being associated with the first electronic service and the fourth metric being associated with the second electronic service; and
select either the first electronic service or the second electronic service based on the comparison of the third metric with the fourth metric at the second priority level; and
communicate the address of the selected first or second electronic service in response to the request. - View Dependent Claims (14, 15, 16, 17, 18, 20, 21, 22, 23, 24)
a distributed director comprising the one or more processors; and
a host server associated with the distributed director, the host server being operable to;
receive the request from a local domain name server associated with a client, the request originating from the client and comprising a request for an address of the host server; and
communicate the request to the associated distributed director, the distributed director thereafter communicating with the direct response protocol agents to perform the comparisons and select either the first electronic service or the second electronic service based on the comparisons.
-
-
22. The system of claim 13, wherein a single autonomous system comprises the plurality of electronic services, each electronic service being associated with a border router comprising a plurality of attributes for one or more prefixes, the prefixes being associated with various clients and indicating a set of client Internet Protocol (IP) addresses assigned to the autonomous system.
-
23. The system of claim 13, wherein the one or more processors are further operable to:
-
store a first metric identifier for the first priority level and a second metric identifier for the second priority level in a priority array;
store a first service identifier for the first electronic service and a second service identifier for the second electronic service in a first residual array;
store a first result of comparing the first metric associated with the first electronic service with the second metric associated with the second electronic service in a first result array corresponding to the first priority level;
if the first result indicates that the first metric and the second metric are not approximately equivalent, the system is operable to;
select the first electronic service or the second electronic service based on the result; and
identify the selected first or second electronic service in the result array; and
if the result indicates that the first metric and the second metric are approximately equivalent, the system is operable to;
store the first service identifier and the second service identifier in a second residual array;
store a second result of comparing the third metric associated with the first electronic service with the fourth metric associated with the second electronic service in a second result array corresponding to the second priority level;
select the first service or the second service based on the result; and
identify the selected first or second electronic service in the second result array.
-
-
24. The system of claim 13, wherein the electronic service comprises serving one or more web pages and the address comprises an Internet Protocol (IP) address for a server responsible for serving the web pages.
-
19. The system of claimed 13, wherein the one or more processors are further operable to, if the third metric and the fourth metric are approximately equivalent based on the comparison at the second priority level:
-
compare a fifth metric at a third priority level, the fifth metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a sixth metric at the third priority level, the sixth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the fifth metric being associated with the first electronic service and the sixth metric being associated with the second electronic service; and
select either the first electronic service or the second electronic service based on the comparison of the fifth metric with the sixth metric at the third priority level.
-
-
25. Logic encoded in media for selecting an electronic service from among a plurality of electronic services each having a corresponding address, when executed the logic operable to:
-
receive a request for an address for an electronic service;
determine a first metric at a first priority level, the first metric determined subsequent to the request through communication with a first direct response protocol agent associated with a first electronic service, and a second metric at the first priority level, the second metric determined subsequent to the request through communication with a second direct response protocol agent associated with a second electronic service, the first metric being associated with the first electronic service and the second metric being associated with the second electronic service;
compare the first metric and the second metric;
if the first metric and the second metric are not approximately equivalent based on the comparison at the first priority level, select either the first service or the second service based on the comparison of the first metric with the second metric at the first priority level;
if the first metric and the second metric are approximately equivalent based on the comparison at the first priority level;
compare a third metric at a second priority level, the third metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, and a fourth metric at the second priority level, the fourth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the third metric being associated with the first electronic service and the fourth metric being associated with the second electronic service; and
select either the first electronic service or the second electronic service based on the comparison of the third metric with the fourth metric at the second priority level; and
communicate the address of the selected first or second electronic service in response to the request. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
compare a fifth metric at a third priority level, the fifth metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a sixth metric at the third priority level, the sixth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the fifth metric being associated with the first electronic service and the sixth metric being associated with the second electronic service; and
select either the first electronic service or the second electronic service based on the comparison of the fifth metric with the sixth metric at the third priority level.
-
-
32. The logic of claim 25, further operable to compare metrics corresponding to the first and second electronic services at one or more higher priority levels until either the first or second electronic service can be selected based on the comparison.
-
33. The logic of claim 25, wherein the logic is executed using a distributed director associated with a host server, the logic operable to:
-
receive the request at the host server associated with the distributed director from a local domain name server associated with a client, the request originating from the client and comprising a request for an address of the host server; and
communicate the request from the host server to the associated distributed director, the distributed director thereafter communicating with the direct response protocol agents to perform the comparisons and select either the first electronic service or the second electronic service based on the comparisons.
-
-
34. The logic of claim 25, wherein a single autonomous system comprises the plurality of electronic services, each electronic service being associated with a border router comprising a plurality of attributes for one or more prefixes, the prefixes being associated with various clients and indicating a set of client Internet Protocol (IP) addresses assigned to the autonomous system.
-
35. The logic of claim 25, further operable to:
-
store a first metric identifier for the first priority level and a second metric identifier for the second priority level in a priority array;
store a first service identifier for the first electronic service and a second service identifier for the second electronic service in a first residual array;
store a first result of comparing the first metric associated with the first electronic service with the second metric associated with the second electronic service in a first result array corresponding to the first priority level;
if the first result indicates that the first metric and the second metric are not approximately equivalent, the software is operable to;
select the first electronic service or the second electronic service based on the result; and
identify the selected first or second electronic service in the result array; and
if the result indicates that the first metric and the second metric are approximately equivalent, the software is operable to;
store the first service identifier and the second service identifier in a second residual array;
store a second result of comparing the third metric associated with the first electronic service with the fourth metric associated with the second electronic service in a second result array corresponding to the second priority level;
select the first service or the second service based on the result; and
identify the selected first or second electronic service in the second result array.
-
-
36. The logic of claim 25, wherein the electronic service comprises serving one or more web pages and the address comprises an Internet Protocol (IP) address for a server responsible for serving the web pages.
-
37. A system for selecting an electronic service from among a plurality of electronic services each having a corresponding address, comprising:
-
means for receiving a request for an address for an electronic service;
means for determining a first metric at a first priority level, the first metric determined subsequent to the request through communication with a first direct response protocol agent associated with a first electronic service, and a second metric at the first priority level, the second metric determined subsequent to the request through communication with a second direct response protocol agent associated with a second electronic service, the first metric being associated with the first electronic service and the second metric being associated with the second electronic service;
means for comparing the first metric with the second metric;
means for, if the first metric and the second metric are not approximately equivalent based on the comparison at the first priority level, selecting either the first service or the second service based on the comparison of the first metric with the second metric at the first priority level;
means for, if the first metric and the second metric are approximately equivalent based on the comparison at the first priority level;
comparing a third metric at a second priority level, the third metric determined subsequent to the request through communication with the first direct response protocol agent associated with the first electronic service, with a fourth metric at the second priority level, the fourth metric determined subsequent to the request through communication with the second direct response protocol agent associated with the second electronic service, the third metric being associated with the first electronic service and the fourth metric being associated with the second electronic service; and
selecting either the first electronic service or the second electronic service based on the comparison of the third metric with the fourth metric at the second priority level; and
means for communicating the address of the selected first or second electronic service in response to the request.
-
Specification