Patent ID: 7320027

Claim:
A method of providing a generalized client-server protocol between a client and a server crossing a GSA gateway, comprising: sending an IP address query message to a default DNS server by the client using a hostname for the server; transmitting a reply to the client by a border DNS server with a public IP address of a GSA gateway that serves as a gateway router for the server's subnet; receiving a service request message for a Server program from the client at the GSA gateway at a standard TCP port for the generalized client-server protocol, the service request including an installing module having a URL to indicate the requested server program which is stored at the client; sending an IP address query message by the GSA gateway to the border DNS server using an internal network interface; sending a private IP address of the server by the border DNS server in response to the IP address query message; forwarding the service request message by the GSA gateway to a server module listening to the standard TCP port for the generalized client-server protocol; selecting a port on the server with the server module; installing the Server program stored at the client with the installing module; launching the requested Server program with the server module; commanding the requested Server program to listen to the selected port; sending a response message by the server module to the GSA gateway with information for the selected port; generating a NAPT record in the GSA gateway such that the record includes an unused port number at an external interface to replace a port number given by the server as the public port number; and rewriting the server port information and sending a response message to the client.