IP Library › Granted Patent US 9,722,968
Granted Patent B2
US 9,722,968 · App. 14/276,689 · Granted Aug 1, 2017

Establishing unique sessions for DNS subscribers

Inventor: Timothy P. Barber (Boise, ID)
Assignee: Kount Inc.
H04L61/2007H04L29/12066H04L29/12801H04L61/1511H04L61/6004H04L63/102H04L67/146G06F2221/2129H04L67/1002H04L67/1027H04L67/1036H04L67/14
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,722,968
App. No.
14/276,689
Granted
Aug 1, 2017
Kind
B2
Abstract

A system establishes virtual DNS servers that are supported by a DNS server. Target IP addresses are assigned for the virtual DNS servers. Network capable devices are uniquely assigned to the virtual DNS servers for domain name resolution. Each network capable device accesses the communication network through a corresponding network device associated with a corresponding source IP address. A client's service plan is assigned to a first network capable device used by the client. The service plan is implemented through a DNS request under a session established between the first network capable device and its assigned first virtual DNS server. The session is uniquely identified by a first source IP address of a first network device used by the first network capable device to access the communication network and a first target IP address of the first virtual DNS server.

Claims (58)

1. A method for distinguishing between multiple clients on a communication network, the method comprising:

receiving a DNS request from a network device, wherein the request comprises a target Internet protocol (IP) address of a virtual server, the target IP address of the virtual server comprising a first IP subaddress identifying a DNS server supporting the virtual server and a second IP subaddress identifying the virtual DNS server;

determining a source IP address associated with the DNS request; and

determining whether the DNS request originated from a first client.

2. The method of claim 1 , wherein the source IP address is shared by a first client of the network device and a second client of the network device.

3. The method of claim 1 , further comprising:

establishing a session between the network device and a virtual server, the session being uniquely identified by a combination of the source IP address and a target IP address; and

determining whether the DNS request originated from a first client based on the source IP address and the target IP address associated with the DNS request.

4. The method of claim 3 , further comprising:

sending the combination of source IP address and the target IP address in association with the first client and a service plan to the virtual DNS server associated with the first client for implementing the service plan.

5. The method of claim 3 , wherein establishing a session between the network device and the virtual server comprises:

uniquely assigning a service plan to the first client based on a combination of the source IP address and the target IP address associated with the DNS request originated by the first client.

6. The method of claim 1 , wherein the virtual DNS server is one of a plurality of virtual DNS servers supported by the DNS server, each virtual DNS server having a target IP address that provides a resolved IP address associated with a domain name included in the DNS request.

7. The method of claim 1 , wherein determining whether the DNS request originated from the first client comprises:

receiving a hypertext transfer protocol (HTTP) request for access to a first web site facilitating identification of the first client; and

identifying the first client from header information in the HTTP request.

8. The method of claim 1 , wherein determining whether the DNS request originated from the first client further comprises:

receiving an HTTP request for access to a first web site facilitating identification of the first client;

requesting identifying information from the first client; and

identifying the first client based at least in part on the identifying information received from the first client.

9. The method of claim 1 , wherein determining whether the DNS request originated from the first client further comprises:

generating a token associated with the first client, the token including a domain name;

receiving a request for the domain name included in the token, the request comprising the source IP address, the target IP address and the token;

receiving an HTTP request for access to a web site associated with the domain name, wherein the HTTP request includes the domain name;

accessing the token from the domain name;

sending a broadcast request for information associated with the token; and

receiving the source IP address and the target IP address from a virtual DNS server for association with the client.

10. The method of claim 1 , further comprising assigning a unique number to a second IP subaddress identifying a virtual DNS server, the unique number being in an octet of a corresponding target IP address.

11. The method of claim 1 , wherein the communication network comprises the Internet.

12. A computer program product for distinguishing between multiple clients on a communication network, the computer program product comprising a non-transitory computer-readable storage medium storing computer program code for:

receiving a DNS request from a network device, wherein the request comprises a target Internet protocol (IP) address of a virtual server, the target IP address of the virtual server comprising a first IP subaddress identifying a DNS server supporting the virtual server and a second IP subaddress identifying the virtual DNS server;

determining a source IP address associated with the DNS request; and

determining whether the DNS request originated from a first client.

13. The computer program product of claim 12 , wherein the source IP address is shared by a first client of the network device and a second client of the network device.

14. The computer program product of claim 12 , further comprising computer program code for:

establishing a session between the network device and a virtual server, the session being uniquely identified by a combination of the source IP address and a target IP address; and

determining whether the DNS request originated from a first client based on the source IP address and the target IP address associated with the DNS request.

15. The computer program product of claim 14 , further comprising computer program code for:

sending the combination of source IP address and the target IP address in association with the first client and a service plan to the virtual DNS server associated with the first client for implementing the service plan.

16. The computer program product of claim 14 , wherein the computer program code for establishing a session between the network device and the virtual server comprises computer program code for:

uniquely assigning a service plan to the first client based on a combination of the source IP address and the target IP address associated with the DNS request originated by the first client.

17. The computer program product of claim 12 , wherein the virtual DNS server is one of a plurality of virtual DNS servers supported by the DNS server, each virtual DNS server having a target IP address that provides a resolved IP address associated with a domain name included in the DNS request.

18. The computer program product of claim 12 , wherein the computer program code for determining whether the DNS request originated from the first client comprises computer program code for:

receiving a hypertext transfer protocol (HTTP) request for access to a first web site facilitating identification of the first client; and

identifying the first client from header information in the HTTP request.

19. The computer program product of claim 12 , wherein the computer program code for determining whether the DNS request originated from the first client further comprises computer program code for:

receiving an HTTP request for access to a first web site facilitating identification of the first client;

requesting identifying information from the first client; and

identifying the first client based at least in part on the identifying information received from the first client.

20. The computer program product of claim 12 , wherein the computer program code for determining whether the DNS request originated from the first client further comprises computer program code for:

generating a token associated with the first client, the token including a domain name;

receiving a request for the domain name included in the token, the request comprising the source IP address, the target IP address and the token;

receiving an HTTP request for access to a web site associated with the domain name, wherein the HTTP request includes the domain name;

accessing the token from the domain name;

sending a broadcast request for information associated with the token; and

receiving the source IP address and the target IP address from a virtual DNS server for association with the client.

21. The computer program product of claim 12 , further comprising computer program code for assigning a unique number to a second IP subaddress identifying a virtual DNS server, the unique number being in an octet of a corresponding target IP address.

22. The computer program product of claim 12 , wherein the communication network comprises the Internet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2017
From: BARBER, TIMOTHY P.
To: KOUNT INC.
Reel/Frame 042727/0710 →
Continuity (6)
Continuation 13745125 · Jan 18, 2013
Continuation 13401852 · Feb 22, 2012
Continuation 13096673 · Apr 28, 2011
Continuation 12228203 · Aug 11, 2008
Provisional Application 60964373 · Aug 9, 2007
Related Publication 20140250241A1 · Sep 4, 2014