IP Library Granted Patent US 7,484,005
Granted Patent B2
US 7,484,005 · App. 11/351,116 · Granted Jan 27, 2009

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,484,005
App. No.
11/351,116
Granted
Jan 27, 2009
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 (106)

1. A method for 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, the method comprising:

enabling communications from a first client device through a network address translator device;

receiving, at a host system, a data packet that includes a payload portion and an attribute portion, wherein the attribute portion includes a destination address that indicates a destination for the data packet;

examining a portion of the received data packet for a host-assigned identifier that identifies a client device that communicated the received data packet; and

processing the received data packet in accordance with predetermined host system controls accessible to the host system for the first client device if the host-assigned identifier identifies the first client device.

2. The method as in claim 1 wherein enabling communications includes enabling communications from the first client device operating in a home network through the network address translator device.

3. The method as in claim 1 wherein examining the portion of the data packet includes examining the payload portion of the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet.

4. The method as in claim 1 wherein examining the portion of the data packet includes examining the payload portion of the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet.

5. The method as in claim 1 wherein examining the portion of the data packet includes examining the received data packet for the host-assigned identifier that is different from an address of the network address translator device and that identifies the client device that communicated the received data packet.

6. The method as in claim 1 wherein enabling communications includes enabling communications from the first client device using a tunneling protocol.

7. The method as in claim 1 further comprising assigning to the first client device a first identifier to he included in payload portions of data packets that are communicated between the first client device and the host system, wherein the host-assigned identifier includes the first identifier.

8. The method as in claim 7 wherein the network address translator device includes the first identifier in the payload portions of the data packets that are communicated between the first client device and the host system.

9. The method as in claim 7 wherein the first client device includes the first identifier in the payload portions of the data packets that are communicated between the first client device and the host system.

10. The method as in claim 7 wherein assigning the first identifier includes assigning the first identifier such that the host system may identify the first client device through use of the first identifier.

11. The method as in claim 1 further comprising:

enabling communications from a second client device that communicates though the network address translator device; and

processing the received data packet in accordance with predetermined host system controls accessible to the host system for the second client device if the host-assigned identifier identifies the second client device.

12. The method as in claim 11 further comprising assigning to the second client device a second identifier to be included in payload portions of data packets that are communicated between the second client device and the host system, wherein the host-assigned identifier includes the second identifier.

13. The method as in claim 12 wherein the network address translator device includes the second identifier in the payload portions of the data packets that are communicated between the second client device and the host system.

14. The method as in claim 12 wherein the second client device includes the second identifier in the payload portions of the data packets that are communicated between the second client device and the host system.

15. The method as in claim 12 further comprising assigning to the first client device a first identifier to be included in payload portions of data packets that are communicated between the first client device and the host system, wherein the host-assigned identifier includes the first identifier, and wherein:

assigning the first identifier includes assigning the first identifier such that the host system may identify the first client device through use of the first identifier; and

assigning the second identifier includes assigning the second identifier such that the host system may identify the second client device though use of the second identifier.

16. The method as in claim 15 wherein:

the first identifier includes a first mutable IP address; and

the second identifier includes a second routable IP address.

17. The method as in claim 1 wherein the predetermined host system controls include parental controls.

18. The method as in claim 1 wherein the predetermined host system controls include controls over personal identification information communicated to a third party.

19. The method as in claim 1 wherein the predetermined host system controls include controls over a personalized web page.

20. The method as in claim 1 wherein the predetermined host system controls are maintained by the host system.

21. The method as in claim 1 wherein the attribute portion of the received data packet further includes a source address that identifies the network address translator device and the method further comprises:

examining the attribute portion of the received data packet for the source address; and

using the source address to determine whether the received data packet is a first data packet received from the network address translator device,

wherein examining the portion of the received data packet includes examining the payload portion of the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet only when the received data packet is determined to be a data packet from the first data packet received from the network address translator device.

22. The method as in claim 1 wherein the attribute portion of the received data packet further includes a source address that identifies the network address translator device and the method further comprises:

examining the attribute portion of the received data packet for the source address; and

using the source address to determine whether the received data packet is a first data packet received from the network address translator device,

wherein examining the portion of the received data packet includes examining the attribute portion of the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet only when the received data packet is determined to be a data packet from the first data packet received from the network address translator device.

23. The method as in claim 1 further comprising identifying a user of the first client device based on the examined host-assigned identifier and a user identifier, wherein processing the received data packet includes processing the received data packet based on the examined host-assigned identifier and the user identifier.

24. The method as in claim 23 wherein:

the user identifier includes a user name, and

processing the received data packet includes processing the received data packet based on the examined host-assigned identifier and the user name.

25. The method as in claim 1 further comprising identifying the client device from among several client devices based on the examined host-assigned identifier, wherein the received data packet is processed in accordance with the predetermined host system controls accessible to the host system for the identified client device.

26. The method as in claim 1 further comprising assigning to the first client device a first identifier to be included in the attribute portion of the data packet that is communicated between the first client device and the host system, wherein the host-assigned identifier includes the first identifier.

27. The method as in claim 26 wherein the network address translator device includes the first identifier in the attribute portion of the data packet that is communicated between the first client device and the host system.

28. The method as in claim 26 wherein the first client device includes the first identifier in the attribute portion of the data packet that is communicated between the first client device and the host system.

29. The method as in claim 26 wherein assigning the first identifier includes assigning the first identifier such that the host system may identify the first client device through use of the first identifier.

30. The method as in claim 1 further comprising:

enabling communications from a second client device that communicates through the network address translator device;

assigning to the second client device a second identifier to be included in the attribute portion of the data packet that is communicated between the second client device and the host system, wherein the host-assigned identifier includes the second identifier;

processing the received data packet in accordance with predetermined host system controls accessible to the host system for the second client device if the host-assigned identifier identifies the second client device.

31. The method as in claim 30 wherein the network address translator device includes the second identifier in the attribute portion of the data packet that is communicated between the second client device and the host system, wherein the host-assigned identifier includes the second identifier.

32. The method as in claim 30 wherein the second client device includes the second identifier in the attribute portion of the data packet that is communicated between the second client device and the host system, wherein the host-assigned identifier includes the second identifier.

33. The method as in claim 30 further comprising assigning to the first client device a first identifier to be included in the attribute portion of the data packet that is communicated between the first client device and the host system, wherein the host-assigned identifier includes the first identifier, and wherein:

assigning the first identifier includes assigning the first identifier such that the host system may identify the first client device though use of the first identifier; and

assigning the second identifier includes assigning the second identifier such that the host system may identify the second client device through use of the second identifier.

34. The method as in claim 33 wherein:

the first identifier includes a first routable IP address; and

the second identifier includes a second routable IP address.

35. A computer readable medium having embodied thereon a computer program for a host system to communicate with and to identify at least one client device that communicates with the host system though a network address translator device, the computer program comprising:

an enabling code segment that causes the computer to enable communications from a first client device through a network address translator device;

a receiving code segment, at a host system, that causes the computer to receive a data packet that includes a payload portion and an attribute portion, wherein the attribute portion includes a destination address that indicates a destination for the data packet;

an examining code segment that causes the computer to examine a portion of the received data packet for a host-assigned identifier that identifies a client device that communicated the received data packet; and

a processing code segment that causes the computer to process the received data packet in accordance with predetermined host system controls accessible to the host system for the first client device if the host-assigned identifier identifies the first client device.

36. The computer readable medium of claim 35 wherein the enabling code segment causes the computer to enable communications from the first client device operating in a home network through the network address translator device.

37. The computer readable medium of claim 35 wherein the examining code segment causes the computer to examine the payload portion of the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet.

38. The computer readable medium of claim 35 wherein the examining code segment causes the computer to examine the attribute portion of the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet.

39. The computer readable medium of claim 35 wherein the examining code segment causes the computer to examine the received data packet for the host-assigned identifier that differs from an address of the network address translator device and that identifies the client device that communicated the received data packet.

40. The computer readable medium of claim 35 wherein the enabling code segment causes the computer to enable communications from the first client device using a tunneling protocol.

41. The computer readable medium of claim 35 further comprising an assigning code segment that causes the computer to assign to the first client device a first identifier to be included in data packets that are communicated between the first client device and the host system, wherein the host-assigned identifier includes the first identifier.

42. The computer readable medium of claim 41 wherein the assigning code segment causes the computer to assign the first identifier such that the host system may identify the first client device through use of the first identifier.

43. The computer readable medium of claim 42 wherein the network address translator device includes the first identifier in the data packets that are communicated between the first client device and the host system.

44. The computer readable medium of claim 42 wherein the first client device includes the first identifier in the data packets that are communicated between the first client device and the host system.

45. The computer readable medium of claim 35 wherein:

the enabling code segment causes the computer to enable communications from a second client device that communicates through the network address translator device; and

the processing code segment causes the computer to process the received data packet in accordance with predetermined host system controls accessible to the host system for the second client device if the host-assigned identifier identifies the second client device.

46. The computer readable medium of claim 45 further comprising an assigning code segment that causes the computer to assign to the second client device a second identifier to be included in data packets that are communicated between the second client device and the host system, wherein the host-assigned identifier includes the second identifier.

47. The computer readable medium of claim 46 wherein:

the assigning code segment causes the computer to assign to the first client device a first identifier to be included in the data packets that are communicated between the first client device and the host system,

the host-assigned identifier includes the first identifier, and

the assigning code segment causes the computer to assign the first identifier such that the host system may identify the first client device through use of the first identifier and to assign the second identifier such that the host system may identify the second client device through use of the second identifier.

48. The computer readable medium of claim 47 wherein:

the first identifier includes a first routable IP address; and

the second identifier includes a second routable IP address.

49. The computer readable medium of claim 35 wherein the predetermined host system controls include parental controls.

50. The computer readable medium of claim 35 wherein the predetermined host system controls include controls over personal identification information communicated to a third party.

51. The computer readable medium of claim 35 wherein the predetermined host system controls include controls over a personalized web page.

52. The computer readable medium of claim 35 wherein the predetermined host system controls are maintained by the host system.

53. The computer readable medium of claim 35 wherein:

the attribute portion of the received data packet further includes a source address that identifies the network address translator device;

the examining code segment causes the computer to examine the attribute portion of the received data packet for the source address and uses the source address to determine whether the received data packet is a first data packet received from the network address translator device; and

the examining code segment causes the computer to examine the received data packet for the host-assigned identifier that identifies the client device that communicated the received data packet only when the received data packet is determined to be a data packet from the first data packet received from the network address translator device.

54. The computer readable medium of claim 35 further comprising an identifying code segment that causes the computer to identify a user of the first client device based on the examined host-assigned identifier and a user identifier, wherein the processing code segment causes the computer to process the received data packet based on the examined host-assigned identifier and the user identifier.

55. The computer readable medium of claim 54 wherein:

the user identifier includes a user name, and

the processing code segment causes the computer to process the received data packet based on the examined host-assigned identifier and the user name.

56. The computer readable medium of claim 35 further comprising an identifying code segment that causes the computer to identify the client device from among several client devices based on the examined host-assigned identifier, wherein the processing code segment causes the computer to process the received data packet in accordance with the predetermined host system controls accessible to the host system for the identified client device.

57. The method of claim 1 , wherein the examining and the processing occur at the host system.

58. The method of claim 1 , wherein the host-assigned identifier includes a routable IP address assigned to the first client device by the host system.

59. The method of claim 1 , further comprising determining, at the host, whether the data packet is received from the network address translator device by examining a nearest source address in the attribute portion of the received data packet,

wherein examining the portion of the received data packet includes examining, at the host, the portion of the received data packet for the host-assigned identifier that identifies a client device conditioned on the received data packet being determined to be received from the network address translator device, and

wherein the host-assigned identifier is distinct from the nearest source address in the attribute portion of the received data packet.

60. The method of claim 59 , wherein examining a portion of the received data packet for a host-assigned identifier includes examining the payload portion of the received data packet for the host-assigned identifier.

61. The method of claim 59 , wherein examining the portion of the received data packet includes examining the portion of the received data packet for the host-assigned identifier only when the received data packet is determined to be received from the network address translator device.

62. The method of claim 1 , wherein the host-assigned identifier is an identifier of the first client device that was assigned to the first client device by the host system and that is distinct from a nearest source address included in the attribute portion of the data packet.

63. The method of claim 1 , wherein the host-assigned identifier comprises an identifier that uniquely identifies the first client device and that was assigned to the first client device by the host system.

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 NATURE OF THE CONVEYANCE AND ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 021947 FRAME 0972. ASSIGNOR(S) HEREBY CONFIRMS THE NATURE OF CONVEYANCE IS A CONVERSION TO A LIMITED LIABILITY COMPANY; AND ASSIGNEE IS AOL LLC. Recorded Jun 17, 2009
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 022840/0448 →
CHANGE OF NAME Recorded Dec 9, 2008
From: AMERICA ONLINE, INC.
To: AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY (FORMERLY KNOWN AS AMERICA ONLINE, INC.)
Reel/Frame 021947/0972 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2006
From: RODRIGUEZ-VAL, RICHARD; WATSON, JR., RICHARD A.
To: AMERICA ONLINE, INC.
Reel/Frame 017566/0237 →