7243141

Network Configuration Evaluation

PublishedJuly 10, 2007
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
35 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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

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

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

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

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

6

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

7

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

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

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

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

11

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

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

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

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

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

16

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

17

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

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

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

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

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

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

23

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

24

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

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

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

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

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

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

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

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

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

33

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

34

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

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.

Patent Metadata

Filing Date

Unknown

Publication Date

July 10, 2007

Inventors

Adam Pierce Harris

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “NETWORK CONFIGURATION EVALUATION” (7243141). https://patentable.app/patents/7243141

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.