System and method for processing DNS queries
First Claim
1. In a system comprising a first back-end lookup computer and a plurality of protocol computers, a method comprising:
- at a first of the plurality of protocol computers;
receiving a plurality of DNS queries;
multiplexing the plurality of DNS queries and state information associated with each of the plurality of DNS query into a first single communication;
sending the first single communication to the first back-end lookup computer, wherein the first back-end lookup computer is configured to receive multiplexed DNS queries and to search a single database using the first single communication including the plurality of DNS queries that are multiplexed;
receiving a second single communication from the first back-end lookup computer;
retrieving a plurality of DNS responses by de-multiplexing the second single communication, wherein each of the plurality of DNS responses corresponds to one of the plurality of DNS queries; and
transmitting the plurality of DNS responses; and
at the first back-end lookup computer;
de-multiplexing the first single communication received from the first of the plurality of protocol computers into the plurality of DNS queries;
constructing a DNS response to each of the plurality of DNS queries by searching the single database using each of the plurality of DNS queries;
multiplexing the DNS responses into the second single communication;
sending the second single communication to the first of the plurality of protocol computers;
receiving an update to the single database from the first of the plurality of protocol computers; and
updating the single database using the update, wherein the update is packaged in the first single communication.
0 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a method and system for high-speed database searching with concurrent updating, without the use of database locks or access controls, for large database systems. Specifically, a plurality of search queries may be received over a network, the database may be searched, and a plurality of search replies may be sent over the network. While searching the database, new information received over the network may be incorporated into the database by creating a new element based on the new information and writing a pointer to the new element to the database using a single uninterruptible operation.
108 Citations
8 Claims
-
1. In a system comprising a first back-end lookup computer and a plurality of protocol computers, a method comprising:
-
at a first of the plurality of protocol computers; receiving a plurality of DNS queries; multiplexing the plurality of DNS queries and state information associated with each of the plurality of DNS query into a first single communication; sending the first single communication to the first back-end lookup computer, wherein the first back-end lookup computer is configured to receive multiplexed DNS queries and to search a single database using the first single communication including the plurality of DNS queries that are multiplexed; receiving a second single communication from the first back-end lookup computer; retrieving a plurality of DNS responses by de-multiplexing the second single communication, wherein each of the plurality of DNS responses corresponds to one of the plurality of DNS queries; and transmitting the plurality of DNS responses; and at the first back-end lookup computer; de-multiplexing the first single communication received from the first of the plurality of protocol computers into the plurality of DNS queries; constructing a DNS response to each of the plurality of DNS queries by searching the single database using each of the plurality of DNS queries; multiplexing the DNS responses into the second single communication; sending the second single communication to the first of the plurality of protocol computers; receiving an update to the single database from the first of the plurality of protocol computers; and updating the single database using the update, wherein the update is packaged in the first single communication. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
-
a first back-end lookup computer; and a plurality of protocol computers comprising a first of the plurality of protocol computers, wherein the first of the plurality of protocol computers includes a processor and a memory system, wherein the memory system includes one or more non-transitory computer readable media storing instructions that, when executed by the processor, are configured to cause the first of the plurality of protocol computers to perform first operations, the first operations comprising; receiving a plurality of DNS queries; multiplexing the plurality of DNS queries and state information associated with each of the plurality of DNS query into a first single communication; sending the first single communication to the first back-end lookup computer, wherein the first back-end lookup computer is configured to receive multiplexed DNS queries and to search a single database using the first single communication including the plurality of DNS queries that are multiplexed; receiving a second single communication from the first back-end lookup computer; retrieving a plurality of DNS responses by de-multiplexing the second single communication, wherein each of the plurality of DNS responses corresponds to one of the plurality of DNS queries; and transmitting the plurality of DNS responses, and wherein the first back-end lookup computer comprises a processor and a memory system, wherein the memory system of the first back-end lookup computer comprises one or more non-transitory computer readable media storing instructions that, when executed by the processor of the first back-end lookup computer, cause the first back-end lookup computer to perform second operations, the second operations comprising; de-multiplexing the first single communication received from the first of the plurality of protocol computers into the plurality of DNS queries; constructing a DNS response to each of the plurality of DNS queries by searching the single database using each of the plurality of DNS queries; multiplexing the DNS responses into the second single communication; sending the second single communication to the first of the plurality of protocol computers; receiving an update to the single database from the first of the plurality of protocol computers; and updating the single database using the update, wherein the update is packaged in the first single communication. - View Dependent Claims (6, 7, 8)
-
Specification