# US 7,609,701 B2 · Communication using private IP addresses of local networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,609,701 B2
- Document ID: US7609701B2
- Status: Granted
- Kind: B2
- Application number: 11/359,340
- Filed: 2006-02-22
- Published: 2007-08-23
- Granted: 2009-10-27
- Earliest claimed: 2006-02-22
- Inventors: Zheng Yang; Zhe Wang; Jie Sun
- Web page: https://patentgrep.com/patent/US7609701B2

## CPC

- H04L 61/4511: using domain name system [DNS]
- H04L 61/2514: between local and global IP addresses
- H04L 61/2567: for reachability, e.g. inquiring the address of a correspondent behind a NAT server
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system, apparatus and method to use private IP addresses to designate host devices or nodes in different networks for communication purposes are described. Various embodiments of the invention address the problem of a shortage of public IP addresses under IPv4 architecture. In one embodiment of the invention, dynamic NAT penetration capabilities are provided which consequently expand the capability of running peer-to-peer applications on the Internet.

## Claims

### Claim 1

A system for communicating between a first private network and a second private network, the system comprising:
a first device in the first private network, having a first interface at which a first end of a tunnel is terminated, the first device being coupled to a first NAPT (Network Address Port Translation)-enabled device, and comprising a first address module and a first tunneling module that corresponds to a first local address within the second private network;
a second device in the second private network, having a second interface at which a second end of the tunnel is terminated, the second device being coupled to a second NAPT-enabled device and comprising a second address module and a second tunneling module that corresponds to a second local address within the first private network;
a server device, coupled to the first device and the second device, that provides information related to a location of the first device in the first private network and the second device in the second private network and facilitates NAPT penetration and the tunnel; and
wherein the first address module enables the first tunneling module to communicate with the second device by penetrating the second NAPT-enabled device based on the second local address and the information received from the server device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first device is coupled to a first redirector that forwards data received from the first device to the first address module for communicating with the second device.

### Claim 3 (depends on 2)

The system of claim 2, wherein the first redirector intercepts data sent from the first device based on Internet Protocol standard.

### Claim 4 (depends on 2)

The system of claim 2, wherein the first redirector is coupled to a virtual DNS service module to retrieve the first local address, the virtual DNS server module associating the first local address with the second device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first address module determines whether the second device corresponds to the first local address of the first network.

### Claim 6 (depends on 1)

The system of claim 1, wherein the first address module assigns the first local address of the first private network to the second device.

### Claim 7 (depends on 1)

The system of claim 1, wherein the first local address is a private IP subnet address used by a local area network (LAN).

### Claim 8 (depends on 1)

The system of claim 1, wherein the first local address is a public IP address acquired by the first network for the second device.

### Claim 9 (depends on 1)

The system of claim 1, wherein the first NAPT-enabled device and the second NAPT-enabled device include routing devices and firewall.

### Claim 10 (depends on 1)

The system of claim 1, wherein the first tunneling module selectively penetrates the first NAPT-enabled device when the first device communicates with the second device.

### Claim 11 (depends on 1)

The system of claim 1, wherein the second tunneling module selectively enables penetration of the second NAPT-enabled device when the second device communicates with the first device.

### Claim 12 (depends on 1)

The system of claim 1, wherein the first tunneling module and the second tunneling module establish a communication channel to penetrate the first NAPT-enabled device and the second NAPT-enabled device.

### Claim 13 (depends on 1)

The system of claim 1, wherein the second address module modifies data received from the first device based on the first local address and the second local address.

### Claim 14 (depends on 13)

The system of claim 13, wherein the data received from the first device includes the information related to the addresses of the first device and the second device in the first network.

### Claim 15 (depends on 1)

The system of claim 1, wherein the server device assigns a first unique domain name to the first device and a second unique domain name to the second device.

### Claim 16 (depends on 1)

The system of claim 1, wherein the server device enables the first tunneling module and the second tunneling module to communicate the first device with the second device.

### Claim 17 (depends on 1)

The system of claim 1, wherein the server device authenticates the identity of the first device and the second device.

### Claim 18

A private computing network, comprising:
a first host device having a first private interface, coupled to a NAPT (Network Address Port Translation)-enabled device, that communicates with a second private interface on a second host device which is located outside of a private computer network containing the first host device,
wherein the first host device comprises;
an IP application module;
an address module for assigning a first local IP address of the private computer network to the second host device;
a redirector, coupled to the IP application module and the address module, for redirecting data received from the IP application module to the address module; and
a tunneling module, coupled to the address module and a server device for establishing tunneling service, the tunneling module establishes a communication channel by penetrating the NAPT-enabled device.

### Claim 19 (depends on 18)

The computing network of claim 18, further comprising a virtual DNS service module, coupled to the first host device, for storing the first local IP address of the second host device.

### Claim 20 (depends on 18)

The computing network of claim 18, wherein the first host device is coupled to a device for assigning a domain name to the first host device.

### Claim 21 (depends on 18)

The computing network of claim 18, wherein the first host device and the second host device are coupled to a device for authenticating the identity of the first host device and the second host device.

### Claim 22 (depends on 18)

The computing network of claim 18, wherein the address module receives data from the second host device and modify the received data based on the first local IP address of the second host device.

### Claim 23 (depends on 18)

The computing network of claim 18, wherein the NAPT-enabled device includes a routing device.

### Claim 24 (depends on 18)

The computing network of claim 18, wherein the NAPT-enabled device includes a firewall.

### Claim 25 (depends on 18)

The computing network of claim 18, wherein the first host device is operative of peer-to-peer applications based on Internet Protocol.

### Claim 26 (depends on 18)

The computing network of claim 18, wherein the first host device is a computer.

### Claim 27 (depends on 18)

The computing network of claim 18, wherein the first host device is a mobile communication device.

### Claim 28

A method for tunneling between a first private interface on a sender host and a second private interface on a recipient host, the sender and recipient hosts residing in different private networks, the method comprising:
intercepting data between the sender host and the recipient host;
associating the data with the recipient host based at least partially on a first IP address stored within the sender host, the first IP address being a local private IP address of the recipient host; and
transmitting the data through the tunnel between the sender host and the recipient host, the tunnel penetrating at least one NAPT (Network Address Port Translation)-enabled device coupled between the sender and recipient hosts.

### Claim 29 (depends on 28)

The method of claim 28, further comprising the steps of:
creating a signature of the sender host; and
authenticating the identity of the sender by host by the recipient host based on the signature.

### Claim 30

A method to securely communicate between a sender host and a recipient host, the sender host and the recipient host being coupled to at least one NAPT (Network Address Port Translation)-enabled device, the method comprising:
establishing a communication channel between the sender host and the recipient host, the sender host and the recipient host being located in different private computing networks;
establishing a tunnel through the at least one NAPT-enabled device by penetrating a first NAPT-enabled device within the at least one NAPT-enable device, the tunnel terminating at a first private interface on the sender host and a second private interface on the recipient host;
receiving data from the sender host;
modifying at least a portion of the data based on a first local address assigned to the sender host by a computing network where the recipient is located; and
forwarding the modified data to the recipient host.

### Claim 31

A computing device operative within a private computing network, coupled to a NAPT (Network Address Port Translation)-enabled device and a tunneling service device, comprising:
an application module for operating an IP-based application to communicate with a receiving device which is operative outside the private computing network;
a redirection module coupled to the application module, for intercepting a data packet sent from the application module to the receiving device, and for redirecting the data packet to a communication channel to penetrate the NAPT-enabled device based on a local IP address assigned by the private computing network for the receiving device; and
wherein the tunneling service device participates in establishing the communication channel by facilitating the computing device to penetrate a NAPT-enabled device.

### Claim 32 (depends on 31)

A computing device of claim 31, wherein the redirection module is coupled to a tunneling module, the tunneling module coupled to the tunneling service device for establishing tunneling service and selectively penetrating the NAPT-enabled device.
