Patent ID: 7899932

Claim:
A system for communicating over a Network Address Translator (NAT) connected to an Internet Protocol (IP) network there being the system comprising: a first host using HTTP protocol and residing in a private network, wherein the first host is connected via the NAT to the IP network and adapted to initiate a NAT-discovery process, and wherein the first host and a plurality of other hosts share a global IP address that is visible to hosts outside of the private network and wherein the first host has a private IP address assigned by the NAT that is unknown to hosts outside of the private network; a second host using HTTP protocol and residing in the IP network that seeks to communicate with the first host; at least one relay server connected to the IP network and in communication with the first host, wherein the relay server designates a listener having a redirection IP address and a port number, wherein the listener resides on the relay server and transmits packets from the second host to the first host, wherein the relay server dynamically assigns the redirection IP address and port number to the listener and the listener utilizes the redirection IP address and the port number to facilitate communication with the second host on behalf of the first host, and wherein the listener is created at a request of the first host; and at least one redirect server connected to the IP network and operable to redirect IP packets to the second host, the redirect server having a database storing the redirection IP address and port number of the relay server; wherein the redirect server a) is statically associated with a plurality of locators representing a plurality of network entities and including a first locator representing the first host, b) receives requests from the second host targeting the first host, and c) maps the first locator to the redirection IP address of the relay server and the port number of the listener; wherein the redirect server responds to a request from the second host targeting the first host with the redirection IP address and the port number of the listener on the relay server, wherein the response is transmitted to the second host; wherein the second host is configured to send an HTTP request to the relay server based on the redirection IP address and port number received from the redirect server in response to a request for the first locator, wherein the relay server is configured to send a message from the second host to the first host via the listener designated for the first host, to receive a reply message from the first host via the listener, and to forward the reply message to the second host via the listener.