IP Library Granted Patent US 10,079,800
Granted Patent B2
US 10,079,800 · App. 14/883,261 · Granted Sep 18, 2018

Client subnet efficiency by equivalence class aggregation

Inventors: Robert Thomas Halley (Redwood City, CA); Brian Wellington (Fremont, CA)
Assignee: Nominum, Inc.
H04L61/1511H04L61/2007H04L67/2842H04L61/6009H04L61/6095
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,079,800
App. No.
14/883,261
Granted
Sep 18, 2018
Kind
B2
Abstract

A method for improving client subnet efficiency by equivalence class aggregation includes receiving a Domain Name System (DNS) query from a client, determining, based on predetermined class criteria, that the client is associated with an equivalency class, searching a cache associated with the equivalence class for an answer corresponding to the DNS query, and upon locating the answer, serving the answer to the client. If it is determined that the cache does not include the answer, the method proceeds with querying, by a recursive server, an authoritative server using client subnet data associated with the equivalence class, receiving the answer from the authoritative server, storing the answer to the cache associated with the equivalency class, and serving the answer to the client. The client subnet data may include a representative CIDR block, the representative CIDR block being used to make queries on behalf of all clients associated with the equivalence class.

Claims (49)

1. A method comprising:

receiving a Domain Name System (DNS) query from a client;

determining, based on predetermined class criteria, that the client is associated with an equivalency class; and

resolving the DNS query using client subnet data associated with the equivalency class.

2. The method of claim 1 , wherein resolving the DNS query includes:

searching a cache associated with the equivalence class for an answer corresponding to the DNS query; and

upon locating the answer, serving the answer to the client.

3. The method of claim 2 , further comprising:

determining that the client subnet data have changed; and

in response to the determination, no longer using the existing cached information.

4. The method of claim 2 , wherein the answer in the cache expires after a predetermined period of time.

5. The method of claim 1 , further comprising:

searching a cache associated with the equivalence class of the client for an answer corresponding to the DNS query;

determining that the cache does not include the answer;

based on the determination, querying, by a recursive server, an authoritative server using client subnet data associated with the equivalence class;

receiving the answer from the authoritative server;

storing the answer to the cache associated with the equivalency class; and

serving the answer to the client.

6. The method of claim 5 , wherein the client subnet data includes the least client address in the equivalence class.

7. The method of claim 1 , wherein the representative CIDR block is provided using a client subnet option associated with Extension Mechanisms for DNS (EDNS0).

8. The method of claim 1 , wherein the representative CIDR block is added by a recursive server.

9. The method of claim 8 , wherein the recursive server is associated with an Internet Service Provider (ISP) of the client.

10. The method of claim 1 , wherein the equivalence class is aggregated based on predetermined aggregation criteria provided by an Internet Service Provider (ISP).

11. The method of claim 10 , wherein the predetermined aggregation criteria include at least one of the following: Classless Inter-Domain Routing (CIDR) blocks, a geographical area, a network topology, an organization, a quality of service, and specific subscriber IDs.

12. The method of claim 1 , wherein determining that the client is associated with the equivalency class is based on identifying data associated with the client.

13. A computer-implemented system comprising at least one processor and a memory storing processor-executable codes, wherein the at least one processor is configured to:

receive a Domain Name System (DNS) query from a client;

determine, based on predetermined class criteria, that the client is associated with an equivalency class; and

resolve the DNS query using client subnet data associated with the equivalency class.

14. The system of claim 13 , wherein resolving the DNS query includes:

searching a cache associated with the equivalence class for an answer corresponding to the DNS query; and

upon locating the answer, serving the answer to the client.

15. The system of claim 14 , wherein the at least one processor is further configured to:

determine that the client subnet data have changed; and

in response to the determination, flush the cache.

16. The system of claim 13 , wherein the at least one processor is further configured to:

search a cache associated with the equivalence class of the client for an answer corresponding to the DNS query;

determine that the cache does not include the answer;

based on the determination, query, by a recursive server, an authoritative server using client subnet data associated with the equivalence class;

receive the answer from the authoritative server;

store the answer to the cache associated with the equivalence class; and

serve the answer to the client.

17. The system of claim 13 , wherein the client subnet data includes a representative CIDR block, the representative CIDR block being used to make queries on behalf of all clients associated with the equivalence class.

18. The system of claim 13 , wherein the equivalence class is aggregated based on predetermined aggregation criteria provided by an Internet Service Provider (ISP).

19. The system of claim 13 , wherein determining that the client is associated with the equivalency class is based on identifying data associated with the client.

20. A non-transitory processor-readable medium having instructions stored thereon, which when executed by one or more processors, cause the one or more processors to implement a method, comprising:

receiving a Domain Name System (DNS) query from a client;

determining, based on predetermined class criteria, that the client is associated with an equivalency class; and

resolving the DNS query using client subnet data associated with the equivalency class.

Assignments (2)
MERGER Recorded May 21, 2020
From: NOMINUM, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 052720/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2016
From: HALLEY, ROBERT THOMAS; WELLINGTON, BRIAN
To: NOMINUM, INC.
Reel/Frame 037673/0883 →
Continuity (1)
Related Publication 20170111309A1 · Apr 20, 2017