IP Library › Granted Patent US 10,797,995
Granted Patent B2
US 10,797,995 · App. 16/405,779 · Granted Oct 6, 2020

Request routing based on class

Inventors: David R. Richardson (Seattle, WA); Swaminathan Sivasubramanian (Seattle, WA); Bradley Eugene Marshall (Bainbridge Island, WA); Christopher L. Scofield (Seattle, WA); Elmore Eugene Pope (Sammamish, WA)
Assignee: Amazon Technologies, Inc.
H04L45/70H04L29/08099H04L29/12066H04L41/04H04L45/72H04L61/1511H04L67/02H04L67/327
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,797,995
App. No.
16/405,779
Granted
Oct 6, 2020
Kind
B2
Abstract

A system and method for management and processing of resource requests is provided. A content delivery network service provider receives a DNS query from a client computing device. The DNS query corresponds to a requested resource from the client computing device. The content delivery network service provider associates the client computing device with a cluster of other client computing devices. Based on routing information for the cluster, the content delivery network service provider routes the DNS query. The process can further include monitoring performance data associated with the delivery of the requested resource and updating the routing information for the cluster based on the performance data for use in processing subsequent requests from client computing devices in the cluster.

Claims (44)

1. A computer-implemented method comprising:

obtaining a first Domain Name System (DNS) query from a client computing device at a first DNS server of a content delivery network (CDN) service, wherein the first DNS query is associated with a requested resource;

determining a class of the client computing device associated with the first DNS query;

determining an alternative resource identifier based on routing information for the class, wherein the alternative resource identifier includes information for causing a second DNS query to resolve to a domain of the CDN service; and

causing transmission of the alternative resource identifier to the client computing device in response to the first DNS query.

2. The computer-implemented method as recited in claim 1 , wherein the alternative resource identifier comprises a canonical name record identifier.

3. The computer-implemented method as recited in claim 1 , wherein the alternative resource identifier comprises a uniform resource locator (URL).

4. The computer-implemented method as recited in claim 3 , wherein the class is identified in the URL.

5. The computer-implemented method as recited in claim 3 , wherein the class is identified in a DNS portion of the URL.

6. The computer-implemented method as recited in claim 1 further comprising:

obtaining the second DNS query from the client computing device at a second DNS server, wherein the second DNS server is associated with the CDN service; and

routing the second DNS query based on routing information for the class.

7. The computer-implemented method as recited in claim 1 further comprising:

obtaining the second DNS query from the client computing device at a second DNS server, wherein the second DNS server is associated with the CDN service;

resolving the second DNS query to identify a cache component for providing the requested resource; and

causing transmission of information identifying the cache component to the client computing device.

8. The computer-implemented method of claim 7 , wherein identifying the cache component is based on routing information for the class.

9. The computer-implemented method as recited in claim 1 further comprising:

obtaining the second DNS query from the client computing device at a second DNS server, wherein the second DNS server is associated with the CDN service;

determining a second alternative resource identifier that includes information for causing a third DNS query to resolve to a domain associated with the CDN service; and

causing transmission of the second alternative resource identifier to the client computing device in response to the second DNS query.

10. The computer-implemented method of claim 9 , wherein the second alternative resource identifier is determined based on routing information for the class.

11. A system comprising:

a first network point of presence (POP) of a content delivery network (CDN) service, wherein the first network POP includes a first Domain Name System (DNS) server that receives a first DNS query from a client computing device, wherein the first DNS query is associated with a requested resource, and wherein the first DNS server in the first network POP is associated with a memory and operative for:

determining a class of the client computing device associated with the first DNS query;

determining an alternative resource identifier based on the class, wherein the alternative resource identifier includes information for causing a second DNS query to resolve to a domain of the CDN service; and

causing transmission of the alternative resource identifier to the client computing device in response to the first DNS query.

12. The system as recited in claim 11 , wherein the alternative resource identifier comprises a canonical name record identifier.

13. The system as recited in claim 11 , wherein the alternative resource identifier comprises a uniform resource locator (URL).

14. The system as recited in claim 13 , wherein the class is identified in the URL.

15. The system as recited in claim 13 , wherein the class is identified in a DNS portion of the URL.

16. The system of claim 11 further comprising:

a second POP associated with the CDN service, wherein the second network POP includes a second DNS server that receives the second DNS query from the client computing device and wherein the second DNS server in the second network POP is associated with a memory and operative for:

routing the second DNS query based on the class.

17. The system as recited in claim 11 further comprising:

a second POP associated with the CDN service, wherein the second network POP includes a second DNS server that receives the second DNS query from the client computing device and wherein the second DNS server in the second network POP is associated with a memory and operative for:

resolving the second DNS query to identify a cache component for providing the requested resource; and

causing transmission of information identifying the cache component to the client computing device.

18. The system as recited in claim 17 , wherein identifying the cache component is based on the class.

19. The system as recited in claim 11 further comprising

a second POP associated with the CDN service, wherein the second network POP includes a second DNS server that receives the second DNS query from the client computing device and wherein the second DNS server in the second network POP is associated with a memory and operative for:

determining a second alternative resource identifier that includes information for causing a third DNS query to resolve to a domain of the CDN service; and

causing transmission of the second alternative resource identifier to the client computing device in response to the second DNS query.

20. The system as recited in claim 19 , wherein the second alternative resource identifier is determined based on the class.

Continuity (8)
Continuation 15888860 · Feb 5, 2018
Continuation 15408362 · Jan 17, 2017
Continuation 14263824 · Apr 28, 2014
Continuation 13766574 · Feb 13, 2013
Continuation 13418239 · Mar 12, 2012
Continuation 13098366 · Apr 29, 2011
Continuation 12060173 · Mar 31, 2008
Related Publication 20190268265A1 · Aug 29, 2019
Cited By (3)
US 12,273,428 US 12,309,048 US 12,452,205