IP Library Granted Patent US 9,553,930
Granted Patent B2
US 9,553,930 · App. 14/802,958 · Granted Jan 24, 2017

DNS overriding-based methods of accelerating content delivery

Inventors: Roger Carney (Marion, IA); David Koopman (Scottsdale, AZ)
Assignee: Go Daddy Operating Company, LLC
H04L67/1095H04L45/00H04L45/02H04L61/1511H04L67/32
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 9,553,930
App. No.
14/802,958
Granted
Jan 24, 2017
Kind
B2
Abstract

An exemplary method accelerating content delivery via DNS overriding may comprise the steps of generating a routing table for a content delivery network (CDN), the routing table map one or more edge server IP addresses to each of one or more geographic regions, transmitting the routing table to one or more DNS server computers, receiving a request from a registrant of a domain name to subscribe the domain name to the CDN, and designating said domain name as subscribed to the CDN in a DNS zone for the domain name.

Claims (87)

1. A system, comprising:

a network storage device comprising a routing table subscribing a domain name to a content delivery network (CDN) according to a CDN subscription field within a zone file for the domain name, the CDN subscription field indicating the CDN to which the domain name is subscribed based on a CDN subscribe request for the domain name;

at least one processor executing instructions in a memory of a domain name system (DNS) server computer the instructions causing the DNS server computer to:

store the CDN subscription field within the zone file for the domain name;

receive a DNS request from a client computer in a geographic region;

receive, from the network storage device, a copy of the routing table:

mapping an internet protocol (IP) address of an origin server, a primary edge server or a backup edge server to the geographic region; and

defining a behavior for the origin server, the primary edge server and the backup edge server;

query the zone file or the routing table to determine if the CDN subscription field has been inserted;

responsive to a determination that the CDN subscription field has not been inserted in the zone file or the routing table, route or resolve the DNS request to the IP address of the origin server; and

responsive to a determination that the CDN subscription field has been inserted in the zone file or the routing table,

determine the geographic region of the requesting client computer; identify within the routing table the geographic region corresponding to the IP address for the primary edge server or the backup edge server; and

route or resolve the request to the IP address for the primary edge server or the backup edge server; and

route a content request according to the IP address of the origin server or the IP address for the primary edge server or the backup edge server; and

the primary edge server or the backup edge server executing instructions in response to the DNS request causing the primary edge server or the backup edge server to serve a website content to the client computer.

2. The system of claim 1 , wherein:

the network storage device comprises a database server; and

the routing table comprises an electronic table, file or database object configured to store a network traffic route to a network hardware or software in the geographic region.

3. The system of claim 1 , wherein the routing table is extrapolated from the zone file and compiled into a database format.

4. The system of claim 1 , wherein the primary edge server or the secondary edge server:

comprise a cache proxy server serving content between the origin server and the requesting client computer without routing the request to the origin server; and

are configured to cache the routing table and a website content.

5. The system of claim 1 , wherein the primary edge server or the secondary edge server is hosted in a data center, within the geographic location, which is not running a DNS server computer.

6. The system of claim 1 , wherein the DNS server computer is configured to cache and periodically update the received copy of the routing table.

7. The system of claim 1 , wherein a request to subscribe to the domain name to the CDN occurs during a registration of the domain name.

8. The system of claim 1 , wherein the content request comprises an HTTP request.

9. The system of claim 1 , wherein the DNS server computer is further configured to:

query the zone file to determine if the CDN subscription field has been inserted; and

responsive to a determination that the CDN subscription field has not been inserted, route or resolve the DNS request to the IP address of the origin server.

10. The system of claim 9 , wherein the DNS server computer is further configured to:

responsive to a determination that the CDN subscription field has been inserted:

determine whether a behavior data field in the routing table comprises a designation of off; and

responsive to a determination that the behavior data field comprises a designation of off, route or resolve the DNS request to an origin server computer IP address within the zone file; and

responsive to a determination that the behavior data field does not comprise a designation of off:

determine the geographic region of the requesting client computer;

identify, within the routing table, the geographic region corresponding to the IP address for the primary edge server or the secondary edge server; and

route or resolve the request to the IP address.

11. A system, comprising:

a network storage device comprising a routing table; and

at least one processor executing instructions in the memory of a server computer, the instructions, when executed by the at least one processor, causing the server computer to:

store a content delivery network (CDN) subscription field within a zone file for a domain name;

receive a domain name system (DNS) request from a client computer in a geographic region;

receive, from the network storage device, a copy of the routing table:

subscribing the domain name to the CDN according to the CDN subscription field within the zone file for the domain name, the CDN subscription field indicating the CDN to which the domain name is subscribed based on a CDN subscribe request for the domain name;

mapping an internet protocol (IP) address of an origin server, a primary edge server or a backup edge server to the geographic region; and

defining a behavior for the origin server, the primary edge server and the backup edge server;

query the zone file or the routing table to determine if the CDN subscription field has been inserted;

responsive to a determination that the CDN subscription field has not been inserted in the zone file or the routing table, route or resolve the DNS request to the IP address of the origin server; and

responsive to a determination that the CDN subscription field has been inserted in the zone file or the routing table,

determine the geographic region of the requesting client computer; identify within the routing table the geographic region corresponding to the IP address for the primary edge server or the backup edge server; and

route or resolve the request to the IP address for the primary edge server or the backup edge server; and

route, to the primary edge server or the secondary edge server, a content request, according to the IP address of the origin server or the IP address for the primary edge server or the backup edge server, to serve a website content to the client computer.

12. A method, comprising the steps of:

storing, by a server computer communicatively coupled to a network, a content delivery network (CDN) subscription field within a zone file for a domain name;

receiving, by a server computer communicatively coupled to a network, a domain name system (DNS) request from a client computer in a geographic region;

receiving, by the server computer, from a network storage device, a copy of a routing table:

subscribing the domain name to the CDN according to the CDN subscription field within the zone file for the domain name, the CDN subscription field indicating the CDN to which the domain name is subscribed based on a CDN subscribe request for the domain name;

mapping an internet protocol (IP) address of an origin server, a primary edge server or a backup edge server to the geographic region; and

defining a behavior for the origin server, the primary edge server and the backup edge server;

querying, by the server computer, the zone file or the routing table to determine if the CDN subscription field has been inserted;

responsive to a determination that the CDN subscription field has not been inserted in the zone file or the routing table, routing or resolving, by the server computer, the DNS request to the IP address of the origin server; and

responsive to a determination that the CDN subscription field has been inserted in the zone file or the routing table,

determining, by the server computer, the geographic region of the requesting client computer;

identifying, by the server computer, within the routing table the geographic region corresponding to the IP address for the primary edge server or the backup edge server; and

route or resolve the request to the IP address for the primary edge server or the backup edge server; and

routing, by the server computer, to the primary edge server or the secondary edge server, a content request, according to the IP address for the primary edge server or the backup edge server, to serve a website content to the client computer.

13. The method of claim 12 , wherein:

the network storage device comprises a database server; and

the routing table comprises an electronic table, file or database object configured to store a network traffic route to a network hardware or software in the geographic region.

14. The method of claim 12 , wherein the routing table is extrapolated from the zone file and compiled into a database format.

15. The method of claim 12 , wherein the primary edge server or the secondary edge server:

comprise a cache proxy server serving content between the origin server and the requesting client computer without routing the request to the origin server; and

are configured to cache the routing table and a website content.

16. The method of claim 12 , wherein the primary edge server or the secondary edge server is hosted in a data center, within the geographic location, which is not running a DNS server.

17. The method of claim 12 , wherein the DNS server is configured to cache and periodically update the received copy of the routing table.

18. The method of claim 12 , wherein the domain name is subscribed to the CDN during a registration of the domain name.

19. The method of claim 12 , further comprising the steps of:

querying, by the server computer, the zone file to determine if the CDN subscription field has been inserted; and

responsive to a determination that the CDN subscription field has not been inserted, routing or resolving, by the server computer, the DNS request to the IP address of the origin server.

20. The method of claim 19 , further comprising the steps of:

responsive to a determination that the CDN subscription field has been inserted:

determining, by the server computer, whether a behavior data field in the routing table comprises a designation of off; and

responsive to a determination that the behavior data field comprises a designation of off, routing or resolving, by the server computer, the DNS request to an origin server computer IP address within the zone file; and

responsive to a determination that the behavior data field does not comprise a designation of off:

determining, by the server computer, the geographic region of the requesting client computer;

identifying within the routing table, by the server computer, the geographic region corresponding to the IP address for the primary edge server or the secondary edge server; and

routing or resolving, by the server computer, the request to the IP address.

Assignments (3)
SECURITY AGREEMENT Recorded Feb 17, 2023
From: GO DADDY OPERATING COMPANY, LLC; GD FINANCE CO, LLC; GODADDY MEDIA TEMPLE INC.; GODADDY.COM, LLC; LANTIRN INCORPORATED; POYNT, LLC
To: ROYAL BANK OF CANADA
Reel/Frame 062782/0489 →
SECURITY AGREEMENT Recorded May 9, 2017
From: GO DADDY OPERATING COMPANY, LLC
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 042426/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2015
From: CARNEY, ROGER; KOOPMAN, DAVID
To: GO DADDY OPERATING COMPANY, LLC
Reel/Frame 036120/0435 →
Continuity (2)
Continuation 13685127 · Nov 26, 2012
Related Publication 20150326665A1 · Nov 12, 2015