Hardware accelerator for a domain name server cache
First Claim
1. A system for a hardware accelerator for a domain name server (DNS) lookup, comprising:
- a domain name server (DNS) cache;
a processor configured to;
store a plurality of entries in the DNS cache, comprising;
receive a DNS reply including an entry to be stored;
determine whether a time to live (TTL) parameter of the received entry is less than a second threshold value, the second threshold value being greater than 0;
in the event that the TTL parameter of the received entry is less than the second threshold value, omit storing the received entry in the DNS cache;
determine whether the time to live (TTL) parameter of the received entry is greater than a third threshold value, the third threshold value being greater than or equal to each of a first threshold value and the second threshold value; and
in the event that the TTL parameter of the received entry is greater than the third threshold value;
reduce the TTL parameter of the received entry to correspond to the third threshold value; and
store the received entry with the reduced TTL parameter;
periodically perform a pre-fetch process on the plurality of entries stored in the DNS cache, wherein the performing of the pre-fetch process comprises;
for each of the plurality of entries, determine whether a TTL parameter associated with a corresponding entry stored in the DNS cache is below the first threshold value;
in the event that the TTL parameter associated with the corresponding entry stored in the DNS cache is below the first threshold value, mark the corresponding entry; and
for each marked entry, update the each marked entry in the DNS cache, wherein the updated entry comprises an updated TTL value and an updated Internet Protocol (IP) address;
execute a packet processing engine of a host device to identify a DNS request; and
perform a DNS lookup in the DNS cache, wherein the performing of the pre-fetch process is separate from the performing of the DNS lookup; and
perform cache management on the DNS cache, comprising to;
determine whether an entry in the DNS cache satisfies a least frequently used (LFU) algorithm; and
in the event that the entry satisfies the LFU algorithm, remove the entry from the DNS cache, wherein a TTL of each entry in the DNS cache is less than or equal to the third threshold value; and
a memory coupled to the processor and configured to provide the processor with instructions.
7 Assignments
0 Petitions
Accused Products
Abstract
Techniques for a hardware accelerator for a domain name server (DNS) cache are disclosed. In some embodiments, a hardware accelerator for a DNS cache includes: executing a packet processing engine of a host device to identify a DNS request; and performing a DNS lookup in the DNS cache. In some embodiments, a hardware accelerator for a DNS cache includes: determining if a time to live (TTL) parameter associated with a first entry stored in the DNS cache is below a threshold value; and if the TTL parameter associated with the first entry stored in the DNS cache is below the threshold value, then performing a pre-fetch operation to update the first entry in the DNS cache, wherein the updated entry comprises an updated TTL value.
33 Citations
11 Claims
-
1. A system for a hardware accelerator for a domain name server (DNS) lookup, comprising:
-
a domain name server (DNS) cache; a processor configured to; store a plurality of entries in the DNS cache, comprising; receive a DNS reply including an entry to be stored; determine whether a time to live (TTL) parameter of the received entry is less than a second threshold value, the second threshold value being greater than 0; in the event that the TTL parameter of the received entry is less than the second threshold value, omit storing the received entry in the DNS cache; determine whether the time to live (TTL) parameter of the received entry is greater than a third threshold value, the third threshold value being greater than or equal to each of a first threshold value and the second threshold value; and in the event that the TTL parameter of the received entry is greater than the third threshold value; reduce the TTL parameter of the received entry to correspond to the third threshold value; and store the received entry with the reduced TTL parameter; periodically perform a pre-fetch process on the plurality of entries stored in the DNS cache, wherein the performing of the pre-fetch process comprises; for each of the plurality of entries, determine whether a TTL parameter associated with a corresponding entry stored in the DNS cache is below the first threshold value; in the event that the TTL parameter associated with the corresponding entry stored in the DNS cache is below the first threshold value, mark the corresponding entry; and for each marked entry, update the each marked entry in the DNS cache, wherein the updated entry comprises an updated TTL value and an updated Internet Protocol (IP) address; execute a packet processing engine of a host device to identify a DNS request; and perform a DNS lookup in the DNS cache, wherein the performing of the pre-fetch process is separate from the performing of the DNS lookup; and perform cache management on the DNS cache, comprising to; determine whether an entry in the DNS cache satisfies a least frequently used (LFU) algorithm; and in the event that the entry satisfies the LFU algorithm, remove the entry from the DNS cache, wherein a TTL of each entry in the DNS cache is less than or equal to the third threshold value; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for a hardware accelerator for a domain name server (DNS) cache, comprising:
-
storing a plurality of entries in the DNS cache, comprising; receiving a DNS reply including an entry to be stored; determining whether a time to live (TTL) parameter of the received entry is less than a second threshold value, the second threshold value being greater than 0; in the event that the TTL parameter of the received entry is less than the second threshold value, omitting storing the received entry in the DNS cache; determining whether the time to live (TTL) parameter of the received entry is greater than a third threshold value, the third threshold value being greater than or equal to each of a first threshold value and the second threshold value; and in the event that the TTL parameter of the received entry is greater than the third threshold value; reducing the TTL parameter of the received entry to correspond to the third threshold value; and storing the received entry with the reduced TTL parameter; periodically performing a pre-fetch process on the plurality of entries stored in the DNS cache, wherein the performing of the pre-fetch process comprises; for each of the plurality of entries, determining whether a TTL parameter associated with a corresponding entry stored in the DNS cache is below the first threshold value; in the event that the TTL parameter associated with the corresponding entry stored in the DNS cache is below the first threshold value, marking the corresponding entry; and for each marked entry, updating the each marked entry in the DNS cache, wherein the updated entry comprises an updated TTL value and an updated Internet Protocol (IP) address; executing a packet processing engine of a host device to identify a DNS request; and performing a DNS lookup in the DNS cache, wherein the performing of the pre-fetch process is separate from the performing of the DNS lookup; and performing cache management on the DNS cache, comprising; determining whether an entry in the DNS cache satisfies a least frequently used (LFU) algorithm; and in the event that the entry satisfies the LFU algorithm, removing the entry from the DNS cache, wherein a TTL of each entry in the DNS cache is less than or equal to the third threshold value. - View Dependent Claims (9, 10)
-
-
11. A computer program product for a hardware accelerator for a domain name server (DNS) cache, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:
-
storing a plurality of entries in the DNS cache, comprising; receiving a DNS reply including an entry to be stored; determining whether a time to live (TTL) parameter of the received entry is less than a second threshold value, the second threshold value being greater than 0; in the event that the TTL parameter of the received entry is less than the second threshold value, omitting storing the received entry in the DNS cache; determining whether the time to live (TTL) parameter of the received entry is greater than a third threshold value, the third threshold value being greater than or equal to each of a first threshold value and the second threshold value; and in the event that the TTL parameter of the received entry is greater than the third threshold value; reducing the TTL parameter of the received entry to correspond to the third threshold value; and storing the received entry with the reduced TTL parameter; periodically performing a pre-fetch process on the plurality of entries stored in the DNS cache, wherein the performing of the pre-fetch process comprises; for each of the plurality of entries, determining whether a TTL parameter associated with a corresponding entry stored in the DNS cache is below the first threshold value; in the event that the TTL parameter associated with the corresponding entry stored in the DNS cache is below the first threshold value, marking the corresponding entry; and for each marked entry, updating the each marked entry in the DNS cache, wherein the updated entry comprises an updated TTL value and an updated Internet Protocol (IP) address; executing a packet processing engine of a host device to identify a DNS request; and performing a DNS lookup in the DNS cache, wherein the performing of the pre-fetch process is separate from the performing of the DNS lookup; and performing cache management on the DNS cache, comprising; determining whether an entry in the DNS cache satisfies a least frequently used (LFU) algorithm; and in the event that the entry satisfies the LFU algorithm, removing the entry from the DNS cache, wherein a TTL of each entry in the DNS cache is less than or equal to the third threshold value.
-
Specification