IP Library Granted Patent US 7,814,230
Granted Patent B2
US 7,814,230 · App. 12/337,854 · Granted Oct 12, 2010

Client device identification when communicating through a network address translator device

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 7,814,230
App. No.
12/337,854
Granted
Oct 12, 2010
Kind
B2
Abstract

Enabling a host system to communicate with and to identify at least one client device that communicates with the host system through a network address translator device includes enabling communications from a first client device through the network address translator device. A data packet is received that includes a payload portion and an attribute portion, where the attribute portion includes a destination address that indicates a destination for the data packet and a nearest source address. A portion of the received data packet other than the nearest source address is examined for a host-assigned identifier that identifies a client device that communicated the received data packet. The received data packet typically is processed in accordance with predetermined host system controls accessible to the host system for the first client device identified, such as host-enabled parental controls.

Claims (65)

1. A method for a host device to communicate with client devices through a network address translator (NAT) device, comprising:

receiving a data packet that includes a payload portion and an attribute portion, wherein the attribute portion includes a destination address that indicates a destination of the data packet, and wherein the data packet further includes a host-assigned identifier that was associated to a client device that communicated the received data packet to the host device;

determining an identity of the client device based on the host-assigned identifier of the received data packet; and

processing the received data packet based on the determined identity and predetermined host controls associated with the determined identity, wherein the predetermined host controls are accessible to the host device.

2. The method of claim 1 , further comprising:

associating the host-based identifier to the client device; and

communicating, to the NAT device, the association of the host-based identifier and the client device.

3. A host device that is configured to communicate with client devices through network address translator (NAT) devices, comprising:

a processor; and

a memory that stores instructions that, if executed, cause the host device to perform operations, including:

determining an identity of a client device that communicated a received data packet to the host device, the determining being based on a host-assigned identifier of the received data packet, wherein the received data packet includes a payload portion and an attribute portion, and wherein the attribute portion includes a destination address of the received data packet; and

processing the received data packet based on the determined identity and predetermined host controls associated with the determined identity, wherein the predetermined host controls are accessible to the host device.

4. The device of claim 3 , wherein the host-assigned identifier is included in the payload portion of the received data packet.

5. The device of claim 3 , wherein the NAT device is configured to embed the host-assigned identifier into the received data packet.

6. The device of claim 3 , wherein the client device is configured to embed the host-assigned identifier into the received data packet.

7. The device of claim 3 , wherein the predetermined host controls at least include parental controls, controls over communication of personal identification to a third party, or controls over a personalized web page.

8. The device of claim 3 , wherein the attribute portion of the received data packet further includes a source address that identifies the NAT device, and wherein the operations further include:

determining, based on the source address of a particular data packet, whether the particular data packet was communicated through any NAT device; and

if the particular data packet is determined to be have been communicated through any NAT device, determining the identity of the client device that communicated the particular data packet based on the host-assigned identifier of the particular data packet; and

otherwise, processing the particular data packet without determining the identity of the client device that communicated the particular data packet based on the host-assigned identifier of the particular data packet.

9. The device of claim 3 , wherein the determining the identity of the client device that communicated a received data packet to the host device is further based on a user identifier embeded in the received data packet, and wherein the user identifier includes at least one of a user name and a password.

10. The device of claim 3 , wherein the host-assigned identifier includes a routable IP address assigned to the client device by the host device.

11. A network address translator (NAT) device that is configured to enable communications between a host device and a client device, comprising:

a processor; and

a memory that stores instructions that, if executed, cause the NAT device to perform operations, including:

receiving at the NAT device a host-assigned identifier that is associated with an identity of the client device by the host device;

receiving a data packet from the client device;

embedding the host-assigned identifier into the received data packet; and

transmitting the received data packet with the embedded host-assigned identifier to the host device for processing based on the identity associated with the host-assigned identifier and on predetermined host controls associated with the identity.

12. The device of claim 11 , wherein the host-assigned identifier is included in a payload portion of the data packet.

13. The device of claim 11 , wherein the host-assigned identifier is included in an attribute portion of the data packet.

14. The device of claim 11 , wherein the predetermined host controls at least include parental controls, controls over communication of personal identification to a third party, or controls over a personalized web page.

15. The device of claim 11 , wherein the operations further include:

embedding a user identifier into the received data packet, wherein the user identifier includes at least one of a user name and a password.

16. The device of claim 11 , wherein the host-assigned identifier includes a routable IP address assigned to the client device by the host device.

17. A client device that is configured to communicate with a host device through a network address translator (NAT) device, comprising:

a processor; and

a memory that stores instructions that, if executed, cause the client device to perform operations, including:

embedding a host-assigned identifier into a data packet, wherein the host-assigned identifier is associated with an identity of the client device by the host device; and

transmitting the data packet with the embedded host-assigned identifier to the NAT device for forwarding to the host device for processing based on the identity associated with the host-assigned identifier and on predetermined host controls associated with the identity.

18. The device of claim 17 , wherein the host-assigned identifier is included in a payload portion of the data packet or in an attribute portion of the data packet.

19. The device of claim 17 , wherein the operations further include:

embedding a user identifier into the data packet, wherein the user identifier includes at least one of a user name and a password.

20. The device of claim 17 , wherein the host-assigned identifier includes a routable IP address assigned to the client device by the host device.

21. A non-transitory computer-readable storage medium with an executable program stored thereon, wherein the program instructs a host device to perform steps of communicating with client devices through a network address translator (NAT) device, the steps comprising:

receiving a data packet that includes a payload portion and an attribute portion, wherein the attribute portion includes a destination address that indicates a destination of the data packet, and wherein the data packet further includes a host-assigned identifier that was associated to a client device that communicated the received data packet to the host device;

determining an identity of the client device based on the host-assigned identifier of the received data packet; and

processing the received data packet based on the determined identity and predetermined host controls associated with the determined identity, wherein the predetermined host controls are accessible to the host device.

22. The non-transitory computer-readable storage medium of claim 21 , wherein the host-assigned identifier is included in the payload portion of the received data packet.

23. The non-transitory computer-readable storage medium of claim 21 , wherein the NAT device is configured to embed the host-assigned identifier into the received data packet.

24. The non-transitory computer-readable storage medium of claim 21 , wherein the client device is configured to embed the host-assigned identifier into the received data packet.

25. The non-transitory computer-readable storage medium of claim 21 , wherein the predetermined host controls at least include parental controls, controls over communication of personal identification to a third party, or controls over a personalized web page.

26. The non-transitory computer-readable storage medium of claim 21 , wherein the attribute portion of the received data packet further includes a source address that identifies the NAT device, and wherein the operations further include:

determining, based on the source address of a particular data packet, whether the particular data packet was communicated through any NAT device; and

if the particular data packet is determined to be have been communicated through any NAT device, determining the identity of the client device that communicated the particular data packet based on the host-assigned identifier of the particular data packet; and

otherwise, processing the particular data packet without determining the identity of the client device that communicated the particular data packet based on the host-assigned identifier of the particular data packet.

27. The non-transitory computer-readable storage medium of claim 21 , wherein the determining the identity of the client device that communicated a received data packet to the host device is further based on a user identifier embeded in the received data packet, and wherein the user identifier includes at least one of a user name and a password.

28. The non-transitory computer-readable storage medium of claim 21 , wherein the host-assigned identifier includes a routable IP address assigned to the client device by the host device.

29. An apparatus for communicating with client devices through a network address translator (NAT) device, comprising:

means for receiving a data packet that includes a payload portion and an attribute portion, wherein the attribute portion includes a destination address that indicates a destination of the data packet, and wherein the data packet further includes a host-assigned identifier that was associated to a client device that communicated the received data packet to the host device;

means for determining an identity of the client device based on the host-assigned identifier of the received data packet; and

means for processing the received data packet based on the determined identity and predetermined host controls associated with the determined identity, wherein the predetermined host controls are accessible to the host device.

30. The apparatus of claim 29 , further comprising:

means for associating the host-based identifier to the client device; and

means for communicating, to the NAT device, the association of the host-based identifier and the client device.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 056981 FRAME: 0631. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 16, 2022
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 059907/0563 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054443 FRAME: 0958. ASSIGNOR(S) HEREBY CONFIRMS THE LICENSE. Recorded Feb 4, 2021
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 056981/0631 →
LICENSE Recorded Nov 5, 2020
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED SOLUTIONS, INC.
Reel/Frame 054443/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2020
From: INTELLECTUAL VENTURES ASSETS 130 LLC
To: COMMWORKS SOLUTIONS, LLC
Reel/Frame 051463/0026 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: CALLAHAN CELLULAR L.L.C.
To: INTELLECTUAL VENTURES ASSETS 130 LLC
Reel/Frame 050900/0904 →
MERGER Recorded Dec 29, 2015
From: TARQUIN CONSULTING CO., LLC
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037396/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2009
From: AOL LLC
To: TARQUIN CONSULTING CO., LLC
Reel/Frame 023379/0103 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 022356 FRAME 0918. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE SHOULD READ AMERICA ONLINE, INC. Recorded Jun 17, 2009
From: RODRIGUEZ-VAL, RICHARD; WATSON, RICHARD A.
To: AMERICA ONLINE, INC.
Reel/Frame 022840/0486 →
CONVERSION TO LIMITED LIABILITY COMPANY Recorded Jun 17, 2009
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 022840/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2009
From: RODRIGUEZ-VAL, RICHARD; WATSON, RICHARD A., JR.
To: AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY (FORMERLY KNOWN AS AMERICA ONLINE, INC.)
Reel/Frame 022356/0918 →