IP Library Granted Patent US 7,243,141
Granted Patent B2
US 7,243,141 · App. 10/295,542 · Granted Jul 10, 2007

Network configuration evaluation

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,243,141
App. No.
10/295,542
Granted
Jul 10, 2007
Kind
B2
Abstract

Methods and apparatus for network configuration evaluation. In one implementation, a method of evaluating a network configuration includes: receiving an address message at a configuration server from a client system through a network, where the address message includes first address information and second address information for the client system; extracting the first address information and the second address information from the address message at the configuration server; and evaluating the address information at the configuration server including comparing the first address information and the second address information.

Claims (91)

1. A method of evaluating a network configuration, comprising:

receiving an address message at a configuration server from a client system through a network, where the address message includes first address information and second address information for the client system;

extracting the first address information and the second address information from the address message at the configuration server;

evaluating the first address information and the second address information at the configuration server including comparing the first address information and the second address information; and

determining whether the client system is connected to the network through a NAT device based on a result of the comparison in said evaluating step,

wherein the first address information is a local network address and the second address information is a public network address, and

wherein evaluating the first address information and the second address information further includes comparing the first address information to a table of address information to evaluate through what type of NAT device the client system is connected to the network.

2. The method of claim 1 , where the first address information is in the payload portion of the address message and the second address information is in the header portion of the address message.

3. The method of claim 1 , where the first address information includes a first address number and a first port number, and the second address information includes a second address number and a second port number.

4. The method of claim 1 , where if the first address information and the second address information are different the determination is that the client system is connected to the network through a NAT device.

5. The method of claim 1 , where evaluating the type of the NAT device includes estimating the manufacturer of the NAT device.

6. The method of claim 1 , where evaluating the type of the NAT device includes estimating the model of the NAT device.

7. The method of claim 1 , where evaluating the type of the NAT device includes estimating the version of firmware used by the NAT device.

8. The method of claim 1 , further comprising evaluating the first address information to determine how many systems are included in a local network including the client system.

9. The method of claim 1 , further comprising collecting address information from multiple client systems at the configuration server and evaluating one or more patterns in the network configurations of the multiple client systems.

10. The method of claim 1 , further comprising sending the evaluation from the configuration server to an evaluation server through the network.

11. The method of claim 1 , further comprising:

discovering a local network address of the client system at the client system;

generating the address message at the client system including the local network address as the first address information;

sending the address message from the client system to the configuration server, including a public network address as the second address information;

estimating that the client system is connected to the network through a NAT device if the first address information and the second address information are different; and

estimating that the client system is not connected to the network through a NAT device if the first address information and the second address information are the same.

12. The method of claim 1 , further comprising:

receiving a second address message at a second configuration server from the client system through the network, where the second address message includes the first address information and third address information for the client system;

extracting the first address information and the third address information from the second address message at the second configuration server;

evaluating the first address information and the third address information at the second configuration server including comparing the first address information and the third address information;

sending the second address information to the second configuration server; and

comparing the second address information and the third address information at the second configuration server to determine if the client system is connected to the network through a destination dependent NAT device.

13. The method of claim 1 , further comprising:

storing the second address information at the configuration server;

periodically receiving new address messages at the configuration server from the client system through the network, where each new address message includes new second address information;

extracting the new address information from each new address message; and

comparing the new second address information to the stored second address information to determine if the second address information is changing.

14. The method of claim 1 , further comprising receiving local network information at the configuration server from the client system, where the local network information includes information about a local network including the client system.

15. The method of claim 14 , where the local network information includes information indicating the number of systems in the local network.

16. The method of claim 14 , where the local network information includes information collected using UPnP.

17. The method of claim 1 , further comprising:

discovering a first network address for the client system, where the client system is connected to a first NAT device and the first network address is included in the second address information;

discovering a second network address for a second client system connected to a second NAT device;

sharing the first network address with the second client system;

sharing the second network address with the first client system;

establishing communication between the first client system and the second client system using the first network address and the second network address.

18. A computer program, stored on a tangible storage medium, for use in evaluating a network configuration, the program comprising executable instructions that cause a computer to:

receive an address message from a client system through a network, where the address message includes first address information and second address information for the client system;

extract the first address information and the second address information from the address message;

evaluate the first address information and the second address information including comparing the first address information and the second address information; and

determine whether the client system is connected to the network through a NAT device based on a result of comparing the first address information and the second address information,

wherein the first address information is a local network address and the second address information is a public network address, and

wherein evaluating the first address information and the second address information further includes comparing the first address information to a table of address information to evaluate through what type of NAT device the client system is connected to the network.

19. The computer program of claim 18 , where the first address information is in the payload portion of the address message and the second address information is in the header portion of the address message.

20. The computer program of claim 18 , where the first address information includes a first address number and a first port number, and the second address information includes a second address number and a second port number.

21. The computer program of claim 18 , where if the first address information and the second address information are different the determination is that the client system is connected to the network through a NAT device.

22. The computer program of claim 18 , where evaluating the type of the NAT device includes estimating the manufacturer of the NAT device.

23. The computer program of claim 18 , where evaluating the type of the NAT device includes estimating the model of the NAT device.

24. The computer program of claim 18 , where evaluating the type of the NAT device includes estimating the version of firmware used by the NAT device.

25. The computer program of claim 18 , further comprising executable instructions that cause a computer to evaluate the first address information to determine how many systems are included in a local network including the client system.

26. The computer program of claim 18 , further comprising executable instructions that cause a computer to collect address information from multiple client systems at the configuration server and evaluate one or more patterns in the network configurations of the multiple client systems.

27. The computer program of claim 18 , further comprising executable instructions that cause a computer to send the evaluation from the configuration server to an evaluation server through the network.

28. The computer program of claim 18 , further comprising executable instructions that cause a computer to:

discover a local network address of the client system at the client system;

generate the address message at the client system including the local network address as the first address information;

send the address message from the client system to the configuration server, including a public network address as the second address information;

estimate that the client system is connected to the network through a NAT device if the first address information and the second address information are different; and

estimate that the client system is not connected to the network through a NAT device if the first address information and the second address information are the same.

29. The computer program of claim 18 , further comprising executable instructions that cause a computer to:

receive a second address message at a second configuration server from the client system through the network, where the second address message includes the first address information and third address information for the client system;

extract the first address information and the third address information from the second address message at the second configuration server;

evaluate the first address information and the third address information at the second configuration server including comparing the first address information and the third address information;

send the second address information to the second configuration server; and

compare the second address information and the third address information at the second configuration server to determine if the client system is connected to the network through a destination dependent NAT device.

30. The computer program of claim 18 , further comprising executable instructions that cause a computer to:

store the second address information at the configuration server;

receive new address messages at the configuration server from the client system through the network, where each new address message includes new second address information;

extract the new address information from each new address message; and

compare the new second address information to the stored second address information to determine if the second address information is changing.

31. The computer program of claim 18 , further comprising executable instructions that cause a computer to receive local network information at the configuration server from the client system, where the local network information includes information about a local network including the client system.

32. The computer program of claim 31 , where the local network information includes information indicating the number of systems in the local network.

33. The computer program of claim 31 , where the local network information includes information collected using UPnP.

34. The computer program of claim 18 , further comprising executable instructions that cause a computer to:

discover a first network address for the client system, where the client system is connected to a first NAT device and the first network address is included in the second address information;

discover a second network address for a second client system connected to a second NAT device;

share the first network address with the second client system;

share the second network address with the first client system;

establish communication between the first client system and the second client system using the first network address and the second network address.

35. A configuration server, comprising:

means for receiving data from a client system through a network, including receiving an address message that includes first address information and second address information for the client system;

means for extracting the first address information and the second address information from the address message;

means for evaluating the first address information and the second address information including comparing the first address information and the second address information; and

means for determining whether the client system is connected to the network through a NAT device based on a result of comparing the first address information and the second address information,

wherein the first address information is a local network address and the second address information is a public network address, and

wherein evaluating the first address information and the second address information further includes comparing the first address information to a table of address information to evaluate through what type of NAT device the client system is connected to the network.

Assignments (4)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
CHANGE OF NAME Recorded May 4, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038611/0846 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NUMBER 7233141 ENTERED, THAT SHOULD BE PATENT NUMBER 7243141 PREVIOUSLY RECORDED ON REEL 024611 FRAME 0236. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jul 6, 2010
From: SONY COMPUTER ENTERTAINMENT AMERICA INC.
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 024640/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2002
From: HARRIS, ADAM PIERCE
To: SONY COMPUTER ENTERTAINMENT AMERICA INC.
Reel/Frame 013507/0742 →