Patent ID: 7237260

Claim:
An application tunneling method for establishing communication between distributed application modules in different private networks without requiring modification and administration of communication protocols of existing security protection network devices, including one or more firewall, network address translation protocol, or proxy servers, comprising: employing a distributed communication architecture, the architecture including: (a) at least one tunnel registration and look up service module supporting dynamic registration and access of communication data including one or more of the following types of information: (i) logical name; (ii) unique identifier; (iii) communication address; (iv) port; or (v) a service capability link pointing to a data type descriptor describing one or more of the following types of data: direct or indirect tunneling; security information; tunnel protocol type; or address mapping information for distributed application modules; (b) at least one tunnel service software module that is independent from the existing security protection network devices to relay communication data for a local application module to an external network; (c) at least one tunnel session that is independent from the security network protection devices and can be dynamically configured to receive messages from and send messages to different ones of the application modules and a tunnel module co-located with a session control module; and (d) at least one tunnel message switching service supporting indirect tunneling specified in capability descriptors of tunnel sessions established between two or more remote tunnel services behind private networks; wherein employing the distributed communication architecture results in multiple application tunnel networks over multiple private networks that have the following properties: (a) without requiring design or configuration changes of the existing security protection network devices, the tunnel networks only require that one or more of the private networks allow for outgoing web access to one or more commonly accessible and secure web servers using a most common HTTP protocol; (b) the tunnel networks allow dynamic selection of additional tunneling methods based on allowable inbound and outbound filtering policies of the private networks; and (c) the tunnel networks only feed application communication module IP address, port number, and application data to tunnel service servers, thereby rendering a tunneling operation of an application independent and protected from administration of existing private networks.