IP Library › Granted Patent US 10,225,362
Granted Patent B2
US 10,225,362 · App. 14/800,540 · Granted Mar 5, 2019

Processing DNS queries to identify pre-processing information

Inventor: Ryan F. Watson (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L67/2847G06F16/9566H04L61/1511H04L67/1014H04L67/2814
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,225,362
App. No.
14/800,540
Granted
Mar 5, 2019
Kind
B2
Abstract

Systems and methods for processing a DNS query to identify and implement pre-processing information by a DNS server component in anticipation of a corresponding content request from a client computing device are provided. The pre-processing information can correspond to identification of content to be preloaded or other actions to be implemented by one or more computing devices in association with an anticipated client content request. Based on identification of the content or future actions, a DNS server component can provide the pre-processing information to one or more computing devices, such as computing devices of a CDN service provider and/or an original content provider, in advance of a corresponding request for content from the client computing device in order to improve performance associated with responding to the client request.

Claims (24)

1. A method comprising:

receiving a DNS query from a client computing device at a DNS server component, wherein the DNS query corresponds to a requested resource associated with a resource identifier;

identifying, at the DNS server component, pre-processing information corresponding to the requested resource, wherein the pre-processing information includes information for processing a subsequent request by the client computing device;

resolving the DNS query by selecting a cache server component for providing the requested resource to the client computing device and transmitting information identifying the selected cache server component to the client computing device, wherein the DNS server component and the cache server component are different; and

implementing, at the DNS server component, the identified pre-processing information by determining, by the DNS server component, whether the requested resource is cacheable and transmitting the pre-processing information to the selected cache server component if the resource is cacheable or to an original content provider if the resource includes dynamic content, in order to process the subsequent request by the client computing device to the selected cache server component for the requested resource.

2. The method as recited in claim 1 , wherein the pre-processing information includes identification of an origin server corresponding to the requested resource.

3. The method as recited in claim 1 , wherein the preprocessing information includes identification of the requested resource from the DNS query.

4. The method as recited in claim 1 , wherein the pre-processing information includes instructions to preload the dynamic content.

5. The method as recited in claim 1 , wherein the pre-processing information includes instructions to open a communications channel.

6. The method as recited in claim 1 , wherein the pre-processing information includes instructions to commence transcoding the requested resource into the appropriate format.

7. A system comprising:

a DNS server component implemented by a computing device, wherein the DNS server component is operable to:

receive a DNS query from a client computing device at a DNS server, wherein the DNS query corresponds to a requested resource associated with a resource identifier;

identify pre-processing information corresponding to the requested resource, wherein the pre-processing information includes information for processing a subsequent request by the client computing device;

resolve the DNS query by selecting a cache server component for providing the requested resource to the client computing device and transmitting information identifying the selected cache server component to the client computing device, wherein the DNS server component and the cache server component are different; and

implement the identified pre-processing information by determining, by the DNS server component whether the requested resource is cacheable and transmitting the pre-processing information to the selected cache server component if the resource is cacheable or to an original content provider if the resource includes dynamic content, in order to process the subsequent request by the client computing device.

8. The system as recited in claim 7 , wherein the pre-processing information includes identification of an origin server corresponding to the requested resource.

9. The system as recited in claim 7 , wherein the preprocessing information includes identification of the requested resource from the DNS query.

10. The system as recited in claim 7 , wherein the pre-processing information includes instructions to preload the requested resource.

11. The system as recited in claim 7 , wherein the pre-processing information includes instructions to open a communications channel.

12. The system as recited in claim 7 , wherein the pre-processing information includes instructions to commence transcoding the requested resource into the appropriate format.

13. The system as recited in claim 7 , wherein implementing the identified pre-processing information further comprises transmitting instructions to the selected cache server component to open a communications channel between two or more nodes of a content delivery network associated with the selected cache server component if the requested resource is determined to be cacheable.

14. The system as recited in claim 7 , wherein implementing the identified pre-processing information further comprises transmitting instructions to the selected cache server component to open a communications channel between the selected cache server component and an origin server of the original content provider if the requested resource is determined not to be cacheable.

15. The system as recited in claim 7 , wherein implementing the identified pre-processing information further comprises transmitting instructions to the original content provider to open a communications channel between an origin server of the original content provider and the selected cache server component if the requested resource is determined not to be cacheable.

Continuity (2)
Continuation 13493839 · Jun 11, 2012
Related Publication 20150319260A1 · Nov 5, 2015
Cited By (3)
US 12,273,428 US 12,309,048 US 12,452,205