REQUEST ROUTING UTILIZING CLIENT LOCATION INFORMATION
First Claim
1. A method comprising:
- obtaining a DNS query from a client computing device at a first DNS server, wherein the DNS query corresponds to a requested resource associated with an original resource identifier provided by a content provider and wherein the first DNS server corresponds to a content delivery network service;
obtaining a query IP address associated with the DNS query at the first DNS server;
obtaining a location-based identifier associated with the query IP address and a confidence factor, the confidence factor corresponding to a degree of confidence associated with the accuracy of the location-based identifier to query IP address association;
determining whether the confidence factor exceeds a threshold value;
if the confidence factor exceeds the threshold value;
determining a destination identifier associated with the DNS query, wherein the destination identifier is determined based on the location-based identifier;
selecting a network point of presence associated with the content delivery network service provider based on the destination identifier;
determining whether the first DNS server is authoritative to the DNS query based on the selected network point of presence; and
if the first DNS server is not authoritative;
obtaining an alternative resource identifier based on the selected network point of presence, wherein the alternative resource identifier includes information for causing a DNS query to resolve to a domain corresponding to the selected network point of presence;
transmitting the alternative resource identifier to the client computing device;
obtaining a subsequent DNS query from the client computing device at a second DNS server, wherein the subsequent DNS query corresponds to the alternative resource identifier provided by the content delivery network service provider;
determining whether the second DNS server is authoritative to the subsequent DNS query;
selecting a cache component for providing content associated with the original resource request if the second DNS server is authoritative to the second DNS query; and
transmitting information identifying the selected cache component if the second DNS server is determined to be authoritative.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and computer-readable medium for request routing based on client location information are provided. A content delivery network service provider receives a DNS query from a client computing device. The DNS query corresponds to a resource identifier for requested content from the client computing device. The content delivery network service provider transmits an alternative resource identifier in response to the client computing device DNS query. The alternative resource identifier is selected as a function of client location information. The client location information is obtained from information corresponding to a mapping of at least partial IP addresses to known locations. The client computing device then issues a second DNS query to the same content delivery network service provider. The content delivery network service provider can then either resolve the second DNS query with an IP address of a cache component or transmit another alternative resource identifier that will resolve to the content delivery network service provider. The process can repeat with the content delivery network service provider'"'"'s network until a DNS server resolves a DNS query from the client computing device.
-
Citations
64 Claims
-
1. A method comprising:
-
obtaining a DNS query from a client computing device at a first DNS server, wherein the DNS query corresponds to a requested resource associated with an original resource identifier provided by a content provider and wherein the first DNS server corresponds to a content delivery network service; obtaining a query IP address associated with the DNS query at the first DNS server; obtaining a location-based identifier associated with the query IP address and a confidence factor, the confidence factor corresponding to a degree of confidence associated with the accuracy of the location-based identifier to query IP address association; determining whether the confidence factor exceeds a threshold value; if the confidence factor exceeds the threshold value; determining a destination identifier associated with the DNS query, wherein the destination identifier is determined based on the location-based identifier; selecting a network point of presence associated with the content delivery network service provider based on the destination identifier; determining whether the first DNS server is authoritative to the DNS query based on the selected network point of presence; and if the first DNS server is not authoritative; obtaining an alternative resource identifier based on the selected network point of presence, wherein the alternative resource identifier includes information for causing a DNS query to resolve to a domain corresponding to the selected network point of presence; transmitting the alternative resource identifier to the client computing device; obtaining a subsequent DNS query from the client computing device at a second DNS server, wherein the subsequent DNS query corresponds to the alternative resource identifier provided by the content delivery network service provider; determining whether the second DNS server is authoritative to the subsequent DNS query; selecting a cache component for providing content associated with the original resource request if the second DNS server is authoritative to the second DNS query; and transmitting information identifying the selected cache component if the second DNS server is determined to be authoritative. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method comprising:
-
obtaining a DNS query from a client computing device at a first DNS server, wherein the DNS query corresponds to a requested resource associated with an original resource identifier provided by a content provider and wherein the first DNS server corresponds to a content delivery network service; obtaining a query IP address associated with the DNS query at the first DNS server; obtaining a location-based identifier associated with the query IP address; selecting a network point of presence associated with the content delivery network service provider based on the location-based identifier; determining whether the first DNS server is authoritative to the DNS query based on the selected network point of presence; and if the first DNS server is not authoritative; obtaining an alternative resource identifier based on the selected network point of presence, wherein the alternative resource identifier includes information for causing a DNS query to resolve to a domain corresponding to the selected network point of presence; and transmitting the alternative resource identifier to the client computing device. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A system for request routing comprising:
-
a first network point of presence associated with a content delivery network service provider, wherein the first network point of presence includes a DNS server component that receives a DNS query from a client computing device, wherein the DNS query corresponds to a requested resource associated with a first resource identifier, and wherein the DNS server in the first network point of presence is operable to; obtain a query IP address associated with the DNS query at the first DNS server; obtain a location-based identifier associated with the query IP address; select a network point of presence associated with the content delivery network service provider based on the location-based identifier; determine whether the first DNS server is authoritative to the DNS query based on the selected network point of presence; and if the first DNS server is not authoritative; obtain an alternative resource identifier based on the selected network point of presence, wherein the alternative resource identifier includes information for causing a DNS query to resolve to a domain corresponding to the selected network point of presence; and transmit the alternative resource identifier to the client computing device. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. A method comprising:
-
obtaining a DNS query from a client computing device at a first DNS server, wherein the DNS query corresponds to a requested resource associated with an original resource identifier provided by a content provider and wherein the first DNS server corresponds to a content delivery network service; obtaining a query IP address associated with the DNS query at the first DNS server; obtaining a location-based identifier associated with the query IP address; obtaining a destination identifier based on the obtained location-based identifier; determining whether the first DNS server is authoritative to the DNS query based on the destination identifier; and if the first DNS server is not authoritative; obtaining an alternative resource identifier based on the selected network point of presence, wherein the alternative resource identifier includes information for causing a DNS query to resolve to a domain corresponding to the selected network point of presence; and transmitting the alternative resource identifier to the client computing device.
-
-
64. A method for request routing comprising:
-
obtaining a DNS query from a client computing device at a first DNS server, wherein the DNS query corresponds to a requested resource associated with a resource identifier and wherein the first DNS server corresponds to a content delivery network service provider; determining that the first resource identifier is associated with an alternative resource identifier based on location information associated with the client computing device, wherein the location information is obtained from information corresponding to a mapping of at least partial IP addresses to known locations; transmitting the alternative resource identifier to the client computing device, wherein the alternative resource identifier includes information for causing a DNS query to resolve to a domain corresponding to the content delivery service provider and supplemental request routing information not included in the first resource identifier; obtaining a subsequent DNS query from the client computing device at a second DNS server, wherein the subsequent DNS query corresponds to the alternative resource identifier provided by the content delivery network service provider and wherein the second DNS server corresponds to the content delivery network service provider; resolving the subsequent DNS query, at the second DNS server, to identify a cache component for providing content associated with the original resource request; and transmitting information identifying the identified cache component to the client computing device.
-
Specification