Patent ID: 8572254

Claim:
A method for establishing a TCP/IP connection between a client computer and an application server computer associated with a Remote Agent, and the method being deployed over an intermediate central server computer having a database therein, comprising: (a) sending a request to establish a session from the client computer to a central server computer; (b) in response to the request at the central server, randomly selecting at least first and second ports at a Master Agent from a list of available ports, creating a connection request record having a status field and port fields in said database at the central server, setting the status field to a first value, and setting the port fields to values corresponding to the randomly selected ports, wherein the connection request record has a unique signature known to the Master Agent and Remote Agent; (c) monitoring the database for new connection request records having a status field set to the first value, wherein the monitoring is performed by the Master Agent; (d) upon detection of the connection request record created in step (b), opening the randomly selected ports, and sending, from the Master Agent to the central server, an acknowledgement that the randomly selected ports are open; (e) upon receipt of the acknowledgement at the central server, setting the status field to a second value; (f) in response to detection by the client computer that the status field is set to the second value, establishing by the client computer a first TCP/IP connection between the client computer and the first randomly selected port; (g) in response to detection by the Remote Agent that the status field is set to the second value, establishing by the Remote Agent a second TCP/IP connection between the Remote Agent and the second randomly selected port; (h) in response to detection by the Master Agent that the first and second TCP/IP connections are established, sending an acknowledgement to the central server; (i) upon receipt of the acknowledgement at the central server, setting the status field to a third value; (j) in response to detection by the client computer that the status field is set to the third value, sending a validation signal to the central server; (k) upon receipt of the validation signal at the central server, setting the status field to a fourth value; (l) in response to detection by the Remote Agent that the status field is set to the fourth value, establishing the TCP/IP session between the client computer and the application server; wherein the application server hosts one or more business software applications for the client computer, the client accesses the one or more business software applications at the application server computer using the TCP/IP session established in step (k) and wherein a SSH tunnel is used for secure authentication, and the server side of the tunnel is implemented with the Remote Agent.