Claims
- 1. A method of communicating between a first client system and a second client system, comprising:
discovering first address information for a first client system connected to a first network address translation device; sharing the first address information with a second client system; receiving second address information for the second client system; and establishing communication between the first client system and the second client system using the second address information.
- 2. The method of claim 1, further comprising maintaining a first mapping in the first network address translation device between the first client system and the first network address.
- 3. The method of claim 1, where the first address information and the second address information each include a public network address and a local network address.
- 4. The method of claim 3, where each public network address includes an address number and a port number.
- 5. The method of claim 4, where the address number of the first public network address is the address number for the network address translation device and the port number of the first public address indicates the first client system.
- 6. The method of claim 3, where each local network address includes an address number and a port number.
- 7. The method of claim 1, where discovering first address information includes:
discovering a first local network address for a first client system connected to a first network address translation device; and discovering a first public network address for the first client system.
- 8. The method of claim 7, where discovering the first local network address for the first client system includes retrieving the first local network address from an address stack within the first client system.
- 9. The method of claim 7, where discovering the first public network address for the first client system includes:
sending a first address request from the first client system to an address server connected to the first network address translation device; receiving a first address report from the address server at the first client system, where the first address report includes the first public network address.
- 10. The method of claim 1, where sharing the first address information with the second client system includes sending a registration request from the first client system to a matching server connected to the network, where the registration request includes the first address information.
- 11. The method of claim 1, where establishing communication between the first client system and the second client system includes:
sending one or more outgoing test messages from the first client system to the second client system using the second address information; receiving an incoming test message from the second client system at the first client system, where the incoming test message includes an origin network address indicating the network address from which the incoming test message was sent; recording the origin network address; sending an outgoing confirmation message from the first client system to the second client system using the recorded origin network address; receiving an incoming confirmation message from the second client system at the first client system.
- 12. The method of claim 11, where the first address information includes a first public network address and a first local network address and the second address information includes a second public network address and a second local network address.
- 13. The method of claim 12, where sending one or more outgoing test messages includes:
sending one or more outgoing public address test messages from the first client system to the second client system using the second public network address; sending one or more outgoing local address test messages from the first client system to the second client system using the second local network address.
- 14. The method of claim 12, where the incoming test message received from the second client system at the first client system is addressed using the first public network address.
- 15. The method of claim 12, where the incoming test message received from the second client system at the first client system is addressed using the first local network address.
- 16. The method of claim 12, where the origin network address is the second public network address.
- 17. The method of claim 12, where the origin network address is the second local network address.
- 18. The method of claim 12, where the incoming confirmation message received from the second client system at the first client system is addressed using the first public network address.
- 19. The method of claim 12, where the incoming confirmation message received from the second client system at the first client system is addressed using the first local network address.
- 20. A method of peer to peer network communication, comprising:
discovering a first network address for a first client system connected to a first network address translation device; discovering a second network address for a second client system connected to a second network address translation 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.
- 21. The method of claim 20, further comprising maintaining a first mapping in the first network address translation device between the first client system and the first network address and maintaining a second mapping in the second network address translation device between the second client system and the second network address.
- 22. A network system, comprising:
a first network address translation device, connected to a network and having a first public network address; a first client system, connected to the first network address translation device and having a first local network address established by the first network address translation device; a second network address translation device, connected to the network and having a second public network address; a second client system, connected to the second network address translation device and having a second local network address established by the second network address translation device; an address server, connected to the network; a matching server, connected to the network; where the first network address translation device, the second network address translation device, the address server, and the matching server can send data to each other through the network, where the address server determines a public network address for a client system from data received from the client system and returns the derived public network address to the client system, where the matching server includes a registry table for registering client systems and storing the public network address and local network address for one or more registered client systems, where the first client system includes:
a first network address manager for communicating with the address server to determine the first public network address, a first network registration manager for registering the first client system with the matching server, a first network sharing manager for sharing the first public network address and the first local network address with the second client system, where the second client system includes:
a second network address manager for communicating with the address server to determine the second public network address, a second network registration manager for registering the second client system with the matching server, a second network sharing manager for sharing the second public network address and the second local network address with the first client system.
- 23. The network system of claim 22, further comprising:
a mapping maintenance server, connected to the network, where the mapping maintenance server receives data from one or more client systems, where the first client system includes a first network mapping maintenance manager for regularly sending messages to the mapping maintenance server, and where the second client system includes a second network mapping maintenance manager for regularly sending messages to the mapping maintenance server.
- 24. The network system of claim 22, where each public network address includes an address number and a port number.
- 25. The network system of claim 22, where each local network address includes an address number and a port number.
- 26. A network client system, comprising:
a network connection interface for connecting to a network; a network address manager for communicating with an address server connected to the network to determine address information for the network client system; a network registration manager for registering the client system with a matching server connected to the network; a network sharing manager for sharing the address information with a second client system connected to the network.
- 27. The network client system of claim 26, further comprising a network mapping maintenance manager for regularly sending messages to a mapping maintenance server connected to the network.
- 28. The network client system of claim 27, where:
the network connection interface is connected to a network address translation device, the address information includes a local network address and a public network address, the local network address corresponds to the network client system and is established by the network address translation device, and the public network address corresponds to the network address translation device.
- 29. The network client system of claim 28, where the public network address includes a port number assigned by the network address translation device to correspond to the network client system.
- 30. The network client system of claim 27, further comprising game components for providing video game console functionality.
- 31. A network system, comprising:
an address server, connected to a network; a matching server, connected to the network; where the address server, and the matching server can send data to each other through the network, where the address server and the matching server can send data to at least one network address translation device through the network, where at least one network address translation device has a public network address and generates a local network address for a client system connected to the network address translation device, where the address server determines a public network address for a client system from data received from the client system and returns the derived public network address to the client system, where the matching server includes a registry table for registering client systems and storing the public network address and local network address for one or more registered client systems.
- 32. The network system of claim 31, further comprising a mapping maintenance server, connected to the network, where the mapping maintenance server receives data from one or more client systems.
- 33. A computer program, stored on a tangible storage medium, for use in communicating between a first client system and a second client system, the program comprising executable instructions that cause a computer to:
discover first address information for a first client system connected to a first network address translation device; share the first address information with a second client system; receive second address information for the second client system; and establish communication between the first client system and the second client system using the second address information.
- 34. The computer program of claim 33, further comprising executable instructions that cause a computer to maintain a first mapping in the first network address translation device between the first client system and the first network address.
- 35. The computer program of claim 33, where the first address information and the second address information each include a public network address and a local network address.
- 36. The computer program of claim 35, where each public network address includes an address number and a port number.
- 37. The computer program of claim 36, where the address number of the first public network address is the address number for the network address translation device and the port number of the first public address indicates the first client system.
- 38. The computer program of claim 35, where each local network address includes an address number and a port number.
- 39. The computer program of claim 33, where discovering first address information includes:
discovering a first local network address for a first client system connected to a first network address translation device; and discovering a first public network address for the first client system.
- 40. The computer program of claim 39, where discovering the first local network address for the first client system includes retrieving the first local network address from an address stack within the first client system.
- 41. The computer program of claim 39, where discovering the first public network address for the first client system includes:
sending a first address request from the first client system to an address server connected to the first network address translation device; receiving a first address report from the address server at the first client system, where the first address report includes the first public network address.
- 42. The computer program of claim 33, where sharing the first address information with the second client system includes sending a registration request from the first client system to a matching server connected to the network, where the registration request includes the first address information.
- 43. The computer program of claim 33, where establishing communication between the first client system and the second client system includes:
sending one or more outgoing test messages from the first client system to the second client system using the second address information; receiving an incoming test message from the second client system at the first client system, where the incoming test message includes an origin network address indicating the network address from which the incoming test message was sent; recording the origin network address; sending an outgoing confirmation message from the first client system to the second client system using the recorded origin network address; receiving an incoming confirmation message from the second client system at the first client system.
- 44. The computer program of claim 43, where the first address information includes a first public network address and a first local network address and the second address information includes a second public network address and a second local network address.
- 45. The computer program of claim 44, where sending one or more outgoing test messages includes:
sending one or more outgoing public address test messages from the first client system to the second client system using the second public network address; sending one or more outgoing local address test messages from the first client system to the second client system using the second local network address.
- 46. The computer program of claim 44, where the incoming test message received from the second client system at the first client system is addressed using the first public network address.
- 47. The computer program of claim 44, where the incoming test message received from the second client system at the first client system is addressed using the first local network address.
- 48. The computer program of claim 44, where the origin network address is the second public network address.
- 49. The computer program of claim 44, where the origin network address is the second local network address.
- 50. The computer program of claim 44, where the incoming confirmation message received from the second client system at the first client system is addressed using the first public network address.
- 51. The computer program of claim 44, where the incoming confirmation message received from the second client system at the first client system is addressed using the first local network address.
- 52. A system for communicating between a first client system and a second client system, comprising:
means for discovering first address information for a first client system connected to a first network address translation device; means for sharing the first address information with a second client system; means for receiving second address information for the second client system; and means for establishing communication between the first client system and the second client system using the second address information.
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/380,396 filed May 13, 2002, the disclosure of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60380396 |
May 2002 |
US |