High performance DNS traffic management
First Claim
1. A method, implemented via a computing system, for managing network traffic, the method comprising:
- receiving, by a resolution server via a network, a set of traffic management rules;
translating, by the resolution server, each traffic management rule of the set of traffic management rules into corresponding entries in one or more traffic management tables, wherein each traffic management rule of the set of traffic management rules corresponds to one or more rows in the one or more traffic management tables;
receiving, by the resolution server, a Domain Name System (DNS) query from a client computer via the network, wherein the DNS query includes a domain name and resource record type;
upon receiving the DNS query, searching, by the resolution server, an initial traffic management rule in one of the one or more traffic management tables without executing a traffic management script, based on the domain name and resource record type as a search key, wherein the initial traffic management rule specifies a first variable that affects a DNS answer;
iterating, based on the initial traffic management rule, until the DNS answer to the DNS query is found, wherein the iterating comprises;
fetching, via the computing system, a value for another variable specified in a successive traffic management rule obtained from one of the one or more traffic management tables; and
searching, via the computing system, in one of the one or more traffic management tables the DNS answer or another successive traffic management rule based on the domain name, and the value for the another variable of the successive traffic management rule as a search key; and
transmitting, by the resolution server, the DNS answer to the client computer.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides systems, methods, and products for high performance implementation of traffic management rules. In various embodiments, traffic management rules, such as DNS traffic management rules, are functionally expressed as rows in one or more lookup tables that are deployed to DNS resolution servers. The DNS resolution server uses the domain name, resource record type, traffic management rule types, and/or traffic management variable values to search for or look up an answer, from among multiple answers corresponding to the domain name and resource record type that meets the traffic management criteria. This look up is done without executing conventional traffic management code or scripts.
40 Citations
22 Claims
-
1. A method, implemented via a computing system, for managing network traffic, the method comprising:
-
receiving, by a resolution server via a network, a set of traffic management rules; translating, by the resolution server, each traffic management rule of the set of traffic management rules into corresponding entries in one or more traffic management tables, wherein each traffic management rule of the set of traffic management rules corresponds to one or more rows in the one or more traffic management tables; receiving, by the resolution server, a Domain Name System (DNS) query from a client computer via the network, wherein the DNS query includes a domain name and resource record type; upon receiving the DNS query, searching, by the resolution server, an initial traffic management rule in one of the one or more traffic management tables without executing a traffic management script, based on the domain name and resource record type as a search key, wherein the initial traffic management rule specifies a first variable that affects a DNS answer; iterating, based on the initial traffic management rule, until the DNS answer to the DNS query is found, wherein the iterating comprises; fetching, via the computing system, a value for another variable specified in a successive traffic management rule obtained from one of the one or more traffic management tables; and searching, via the computing system, in one of the one or more traffic management tables the DNS answer or another successive traffic management rule based on the domain name, and the value for the another variable of the successive traffic management rule as a search key; and transmitting, by the resolution server, the DNS answer to the client computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium containing instruction that when executed by a processor implement operations comprising:
-
receiving, via a network, a set of traffic management rules; translating each traffic management rule of the set of traffic management rules into corresponding entries in one or more traffic management tables, wherein each traffic management rule of the set of traffic management rules corresponds to one or more rows in the one or more traffic management tables; receiving a Domain Name System (DNS) query from a client computer via the network, wherein the DNS query includes a domain name and resource record type; upon receiving the DNS query, searching, an initial traffic management rule in one of the one or more traffic management tables without executing a traffic management script, based on the domain name and resource record type as a search key, wherein the initial traffic management rule specifies a first variable that affects a DNS answer; iterating, based on the initial traffic management rule, until the DNS answer to the DNS query is found, wherein the iterating comprises; fetching a value for another variable specified in a successive traffic management rule obtained from the one of the one or more traffic management tables; and searching in the one of the one or more traffic management tables the DNS answer or another successive traffic management rule based on the domain name and the value for the another variable of the successive traffic management rule as a search key; and transmitting the DNS answer to the client computer. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system for managing network traffic, the system comprising:
-
a memory containing instructions; and a processor, operably connected to the memory, that executes the instructions to perform operations comprising; receiving, via a network, a set of traffic management rules; translating each traffic management rule of the set of traffic management rules into corresponding entries in one or more traffic management tables, wherein each traffic management rule of the set of traffic management rules corresponds to one or more rows in the one or more traffic management tables; receiving a Domain Name System (DNS) query from a client computer via the network, wherein the DNS query includes a domain name and resource record type; upon receiving the DNS query, searching an initial traffic management rule in one of the one or more traffic management tables without executing a traffic management script, based on the domain name and resource record type as a search key, wherein the initial traffic management rule specifies a first variable that affects a DNS answer; iterating, based on the initial traffic management rule, until the DNS answer to the DNS query is found, wherein the iterating comprises; fetching a value for another variable specified in a successive traffic management rule obtained from the one of the one or more traffic management tables; and searching in the one of the one or more traffic management tables the DNS answer or another successive traffic management rule based on the domain name and the value for the another variable of the successive traffic management rule as a search key; and transmitting the DNS answer to the client computer. - View Dependent Claims (20, 21, 22)
-
Specification