Peer to peer network communication -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
06/28/07 - USPTO Class 709 |  17 views | #20070150552 | Prev - Next | About this Page  709 rss/xml feed  monitor keywords

Peer to peer network communication

USPTO Application #: 20070150552
Title: Peer to peer network communication
Abstract: Methods and apparatus for peer to peer network communication. In one implementation, a method of communicating between a first client system and a second client system includes: 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. (end of abstract)



Agent: Frommer Lawrence & Haug - New York, NY, US
Inventors: Adam Pierce Harris, Jeremy Joseph Gordon, Mark Jacob
USPTO Applicaton #: 20070150552 - Class: 709218000 (USPTO)

Related Patent Categories: Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Remote Data Accessing, Using Interconnected Networks

Peer to peer network communication description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20070150552, Peer to peer network communication.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords

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.

BACKGROUND

[0002] One typical type of NAT server (network address translation server) acts as a gateway between a local network and an external network, such as the Internet. This NAT server is a network device that allows one or more machines (e.g., computers) in the local network to share one public or external network address, such as an Internet address. The NAT server maintains a set of unique local or internal network addresses for the machines in the local network. Accordingly, each machine in the local network has a local network address and a public network address. For communication between the local network and the external network, the NAT server translates back and forth between the public network address and the local network addresses for each of the machines. Typically this network address translation is transparent to the individual machines within the local network and so the machines are not aware of the public address used by the NAT server.

SUMMARY

[0003] The present disclosure provides methods and apparatus for peer to peer network communication. In one implementation, a network system includes: 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. In another implementation, the network system also includes a mapping maintenance server connected to the network.

[0004] In another implementation, a method of communicating between a first client system and a second client system includes: 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.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] FIG. 1 shows a network system architecture.

[0006] FIG. 2 is a block diagram of one implementation of a client system.

[0007] FIG. 3 is a flowchart of establishing and maintaining peer to peer network communication between two client systems.

[0008] FIG. 4 is a flowchart of a client system discovering its local and public network addresses.

[0009] FIG. 5 is a flowchart of two client systems sharing their local and public network addresses.

[0010] FIG. 6 is a flowchart of a first client system establishing communication with a second client system.

[0011] FIG. 7 is a flowchart of the second client system establishing communication with the first client system.

[0012] FIG. 8 is a flowchart of a client system maintaining the mapping assigned by a connected NAT device.

[0013] FIGS. 9A-9C show alternative network configurations.

DETAILED DESCRIPTION

[0014] The present invention provides methods and apparatus for peer to peer network communication. The present invention allows two peer or client systems (e.g., network-enabled video game console systems) to communicate with each other across a network (e.g., the Internet) even though one or both client systems are behind respective NAT devices (network address translation devices). As described below, in one implementation, the network communication uses a four part process: (1) discovery--each client system discovers its public address on the network, (2) sharing/distribution--each client system shares its address information with other systems that wish to communicate, (3) communication establishment--the client systems establish communication, and (4) mapping maintenance--each client system maintains its current address mapping in the corresponding NAT device.

[0015] FIG. 1 shows a network system architecture 100. A first client system 105 is connected to a first NAT device (network address translation device) 110, forming a first local or internal network 115. The first client system 105 is a network-enabled system, such as a video game console system including a network adapter or a computer system. As a video game console system, the first client system 105 includes hardware and/or software providing video game functionality and hardware and/or software providing network communication as described below. In one implementation, the first client system 105 is a "Playstation 2".TM. game console by Sony Computer Entertainment Inc..TM. The first NAT device 110 is a typical NAT box or NAT server, or alternatively is a type of proxy server or part of a gateway, router, or firewall. One or more additional systems or network devices, such as a computer, may also be connected to the first NAT device 110 and be within the first local network 115. Each system in the first local network 115 has a local network address assigned and maintained by the first NAT device 110. In one implementation, a local network address in the first local network 115 includes an address number and a port number, such as according to UDP/IP (e.g., where the address number is an IP address). In an alternative implementation, the first local network 115 uses a different communication protocol and so the local network address includes different information to identify a system.

[0016] The first NAT device 110 is connected to an external or public network 120, such as the Internet. Each addressable system or device connected to the external network 120 has a public network address. A "public" network address is used on the external network 120 and "local" network addresses are used within local networks, such as the first local network 115. In one implementation, a public network address includes an address number and a port number, such as according to UDP/IP. In an alternative implementation, the external network 120 uses a different communication protocol and so the public network address includes different information to identify a system. In one implementation, the local network addresses of the first local network 115 are not compatible with the external network 120 (e.g., the local network addresses are not recognizable in the communication protocol of the external network 120).

[0017] The first NAT device 110 has a public network address. The first client system 105 is indirectly connected to the external network 120 through the first NAT device 110 and does not have a public network address. The first client system 105 shares the public network address of the first NAT device 110 with other systems in the first local network 115 (if any are present). The first NAT device 110 assigns a local network address to each system in the first local network 115. The first NAT device 110 translates between the public network address and local network addresses to route data between the external network 120 and the first local network 115. In an alternative implementation, the first NAT device 110 has a two or more public network addresses to share among systems in the first local network 115.

[0018] In one implementation, the first NAT device 110 maps port numbers to systems in the first local network 115, such as by using a PAT technique (Port Address Translation). The first NAT device 110 assigns a port number to a local system in the first local network 115 when the local system sends data to a destination on the external network 120. The first NAT device 110 stores the port number as a port mapping between the port number and the local system. The first NAT device 110 assigns and stores a single port number for all outgoing data from a single local system. The first NAT device 110 includes the assigned port number with the outgoing data and so the recipient can use the port number when responding. The first NAT device 110 determines which system in the first local network 115 is the intended recipient of incoming data by comparing the port number attached to the incoming data with the port mappings stored within the first NAT device 110.

[0019] The first NAT device 110 establishes and adjusts the port mappings dynamically according to data sent and received using the mapping. If the first NAT device 110 does not receive data from a local system or from the external network 120 including a port number for a period of time, the first NAT device 110 releases the port mapping for that port number (a "timeout"). As described below, the first client system 105 can prevent this timeout by periodically sending messages out to the external network 120.

Continue reading about Peer to peer network communication...
Full patent description for Peer to peer network communication

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this Peer to peer network communication patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Peer to peer network communication or other areas of interest.
###


Previous Patent Application:
Automatic sharing of online resources in a multi-user computer system
Next Patent Application:
Method for analyzing state transition in web page
Industry Class:
Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization

###

FreshPatents.com Support
Thank you for viewing the Peer to peer network communication patent info.
IP-related news and info


Results in 0.14911 seconds


Other interesting Feshpatents.com categories:
Accenture , Agouron Pharmaceuticals , Amgen , AT&T , Bausch & Lomb , Callaway Golf 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO