Patent ID: 7562147
Filing Date: 2009-07-14
Classification: H04L

Abstract:
1. A method of bi-directionally communicating between an application residing on a first processor on a private computer network and an application residing on a second processor not on the private computer network in order to allow for the delivery of unsolicited messages to be received from the second processor, the communication path including a public computer network and a proxy server coupled to the private computer network and separating the private computer network from the public computer network, the method comprising: transmitting a first HTTP-based “request” from the first processor to the second processor for establishing a first communication channel between the first processor and the second processor through the proxy server to allow the transfer of first messages from the first processor to the second processor, and the delivery of first message delivery acknowledgments from the second processor to the first processor; transmitting a first parked HTTP-based “request” from the first processor to be parked at the second processor for establishing a persistent communication channel between the first processor and the second processor through the proxy server to allow the transfer of second messages from the second processor to the first processor, and the delivery of second message delivery acknowledgments from the first processor to the second processor, and wherein the first parked HTTP-based “request” includes therein a request that the second processor transmit a reply after the expiration of a time period even if there are no messages to send to the first processor so that the first processor can assess a status of the connection thereto; receiving a first HTTP-based “reply” from the second processor to the first processor in response to the first parked HTTP-based “request”; and in response to receiving the first HTTP-based “reply”, transmitting a second parked HTTP-based “request” via the proxy to the second processor, the second parked HTTP “request” including an acknowledgment to the first HTTP-based “reply” in order to maintain the persistent HTTP-based connection between the first processor and the second processor through the proxy server, and wherein the second parked HTTP-based “request” includes therein a request that the second processor transmit a reply after the expiration of a time period even if there are no messages to send to the first processor in order to ensure persistent connectivity between the first and second processor.