Patent ID: 6978383

Claim:
An application running on a local client for directly communicating with a remote client comprising: a high-level application with a user interface that receives a command from a user to communicate with the remote client; a transport layer, coupled to the high-level application, for generating and receiving Transport-Control-Protocol (TCP) packets and User Datagram Protocol (UDP) packets; a socket subsystem, receiving TCP and UDP packets from the transport layer, for sending and receiving packets from an external network connected to the remote client and an external manager, the remote client and the external manager separated from the local client by a local firewall that protects the local client from unrequested packets; a registration module, in the high-level application, for instructing the transport layer and socket subsystem to send a registration packet to the external manager at a time before communication with the remote client begins, the registration packet being a TCP packet that contains an identifier for a local UDP port, whereby the registration module registers the local UDP port with the external manager using a TCP packet; and a null-packet generator, coupled to the high-level application, for generating a null UDP packet to a remote UDP port of the remote client in response to a TCP packet from the external manager that contains an address of the remote client with an identifier for the remote UDP port, the transport layer and the socket subsystem sending the null UDP packet from the local UDP port through the local firewall toward the remote client; wherein the local firewall opens a window between the local UDP port and the remote UDP port in response to the null UDP packet, the socket subsystem and transport layers receiving UDP packets containing user data from the remote client through the window in the local firewall, whereby the window in the local firewall is opened by the null UDP packet sent in response to the TCP packet from the external manager.