Integrated proximity routing for content distribution
First Claim
Patent Images
1. A domain name server comprising:
- a memory that stores instructions; and
a processor that executes the instructions to perform operations comprising;
receiving, at the domain name server, a request from a requestor for an edge cache address, the requestor being part of a serving region;
identifying, at the domain name server, a first edge cache serving content requests sent to an anycast address from the serving region;
determining, at the domain name server, a load of the first edge cache;
providing a unicast address of an alternate edge cache from the domain name server to the requestor in response to the request when the load exceeds a threshold, when a ranking of the unicast address of the alternate edge cache is higher than a ranking of the anycast address, and based on a comparison of a first weighting of the unicast address to a second weighting of the anycast address, wherein the ranking of the unicast address is based on a score of the unicast address that is based on a load of the alternate edge cache, and wherein the ranking of the anycast address is based on a score of the anycast address that is based on the load of the first edge cache; and
providing the anycast address from the domain name server to the requestor in response to the request when the load is not greater than the threshold, when the ranking of the anycast address is higher than the ranking of the unicast address of the alternate edge cache, and based on the comparison of the first weighting of the unicast address to the second weighting of the anycast address, wherein a difference between the first weighting of the unicast address and the second weighting of the anycast address decreases as a difference between the score of the unicast address and the score of the anycast address decreases.
2 Assignments
0 Petitions
Accused Products
Abstract
A domain name server includes a processor configured to receive a request from a requester for an edge cache address, identify a first edge cache serving content requests to an anycast address from the requester, and determine a load of first edge cache. The processor is further configured to provide unicast address of an alternate edge cache to requester in response to the request when the load exceeds a threshold or to provide anycast address to requester in response to request when the load is below the threshold.
-
Citations
20 Claims
-
1. A domain name server comprising:
-
a memory that stores instructions; and a processor that executes the instructions to perform operations comprising; receiving, at the domain name server, a request from a requestor for an edge cache address, the requestor being part of a serving region; identifying, at the domain name server, a first edge cache serving content requests sent to an anycast address from the serving region; determining, at the domain name server, a load of the first edge cache; providing a unicast address of an alternate edge cache from the domain name server to the requestor in response to the request when the load exceeds a threshold, when a ranking of the unicast address of the alternate edge cache is higher than a ranking of the anycast address, and based on a comparison of a first weighting of the unicast address to a second weighting of the anycast address, wherein the ranking of the unicast address is based on a score of the unicast address that is based on a load of the alternate edge cache, and wherein the ranking of the anycast address is based on a score of the anycast address that is based on the load of the first edge cache; and providing the anycast address from the domain name server to the requestor in response to the request when the load is not greater than the threshold, when the ranking of the anycast address is higher than the ranking of the unicast address of the alternate edge cache, and based on the comparison of the first weighting of the unicast address to the second weighting of the anycast address, wherein a difference between the first weighting of the unicast address and the second weighting of the anycast address decreases as a difference between the score of the unicast address and the score of the anycast address decreases. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a first cache server including a first storage medium having instructions that, when executed, cause the first cache server to perform operations comprising; responding to an anycast address; and responding to a first unicast address; a second cache server including a second storage medium having instructions that, when executed, cause the second cache server to perform operations comprising; responding to the anycast address; and responding to a second unicast address; a domain name server, the domain name server including a third storage medium having instructions that, when executed, cause the domain name server to perform operations comprising; receiving a request from a requestor for a cache server address; identifying a preferred cache server address from a set of cache server addresses, the set of cache server addresses including the first unicast address, the second unicast address, and the anycast address, the preferred address based on routing of the anycast address and a cost for providing content from each of the first and second cache servers; determining a ranking for the first unicast address, the second unicast address,. and the anycast address based on a score for the first unicast address, a score of the second unicast address, a score of the anycast address, a first weighting for the first unicast address, a second weighting for the second unicast address, and a third weighting for the anycast address, wherein the score for the first unicast address is based on a load of the first cache server, wherein the score for the second unicast address is based on a load of the second cache server, wherein a difference between the first weighting for the first unicast address and the third weighting for the anycast address decreases as a difference between the score for the first unicast address and the score for the anycast address decreases; and providing the preferred cache server address from the domain name server to the requestor based on the ranking. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium comprising a plurality of instructions, which when loaded and executed by a processor, cause the processor to perform operations comprising:
-
identifying a plurality of unicast cache servers for a serving region, each unicast cache server responding to one of a plurality of unicast addresses; determining a serving region cache server for the serving region, the serving region cache server responding to content requests from the serving region sent to an anycast address; selecting an alternate cache server from the plurality of unicast cache servers; providing the anycast address from a domain name server to a requestor when a load of the serving region cache server does not exceed a threshold, when a ranking of the anycast address is higher than a ranking of the unicast address of the alternate cache server, and based on a comparison of a first weighting of the unicast address to a second weighting of the anycast address; and providing the unicast address of the alternate cache server from the domain name server to the requestor when the load of the serving region cache server exceeds the threshold and when the ranking of the unicast address is higher than the ranking of the anycast address, wherein the ranking of the unicast address is based on a score of the unicast address that is based on a load of the alternate cache server, wherein the ranking of the anycast address is based on a score of the anycast address that is based on the load of the serving region cache server, and wherein a difference between the first weighting of the unicast address and the second weighting of the anycast address decreases as a difference between the score of the unicast address and the score of the anycast address decreases. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification