This application claims priority from Indian patent application IN2814/DEL/2005, filed on Oct. 21, 2005; The entire content of the aforementioned application is incorporated herein by reference.
A firewall is commonly used to separate an intranet on an internal side of the firewall from a Demilitarized Zone (DMZ) and the Internet on an external side of the firewall. Firewall administrators prefer that all connections between applications running on two sides of the firewall are outbound-only. That is, all communications originate from systems in the higher-trust zone (that is, on the internal side of the firewall), to systems in the lower-trust zone (that is, on the external side of the firewall). However, there may be situations where applications running in the lower-trust zone need to initiate connections with applications running in the higher-trust zone.
A conventional solution to this problem is presented in U.S. Pat. No. 6,349,336, in which a tunneling action is provided which allows a remote processor to communicate with a local processor when the remote processor is coupled to the local processor via a reverse proxy device, a computer network, a firewall and a proxy agent device. The tunneling action is provided by the reverse proxy device, which wraps requests from the remote processor by code which is recognised by the firewall as a response.
An embodiment of the invention will now be described by way of example with reference to the accompanying drawings, in which:
Referring to
In a first step 1, the application 100 originates a connection to the reverse channel proxy 102. The server and the reverse channel proxy each have respective roles in relation to the connection. Initially the roles are allocated as shown at 2, with the application 100 allocated a client role (that is, a role in which it is configured to send requests) and the reverse channel proxy 102 allocated a server role (that is, a role in which is it configured to receive requests and send responses).
In step 3 the application 100 initiates a role reversal process by sending a role reversal request to the reverse channel proxy 102 across the firewall 101. In step 4 the reverse channel proxy 102 reverses its role in response to receipt of the role reversal request so as to change its role to a client role. This results in the connection having a configuration as shown at 5, with both the application 100 and reverse channel proxy 102 having client roles.
In step 6, the reverse channel proxy 102 sends a confirmation to the application 100 across the firewall 101. In response to receipt of the confirmation, the application 100 reverses its own role in step 7, so as to change its role to a server role. This results in the connection having a configuration as shown at 8 in which the application 100 and the reverse channel proxy 102 have reversed their roles. That is, the application 100 has a server role and the reverse channel proxy 102 has a client role.
In step 9 the application 100 confirms that reversal is complete by sending a confirmation message to the reverse channel proxy 102. In step 10 the reverse channel proxy 102 processes the reversal confirmation message. At this point, the reverse channel has been set up and is saved in cache memory.
The application 100 receives the request in step 15, and sends a response in step 16 to the reverse channel proxy 102 across the firewall 101 via the reverse channel. In step 17, the reverse channel proxy 102 receives the response and in step 17 forwards the response to the remote application 26 which receives the response at step 19.
The low latency of the communication process shown in
Although
The invention can be of use in any computer system which employs a firewall, and the various aspects of the invention can be implemented by appropriately configuring the application inside the firewall and the reverse channel proxy.
Number | Date | Country | Kind |
---|---|---|---|
IN2814/DEL/2005 | Oct 2005 | IN | national |