Patent ID: 7653075

Claim:
A method comprising: establishing network tunnels between at least three intermediate processing devices located between a first device and a second device separated by a network having asymmetric routes in which traffic forwarded in a first direction from the first device to the second device travels a different route than traffic forwarded in a second direction from the second device to the first device, wherein the at least three intermediate processing devices includes a first intermediate processing device associated with the first device, and second and third intermediate processing devices associated with the second device, and wherein establishing network tunnels comprises establishing a first tunnel between the first intermediate processing device and the second intermediate processing device and establishing a second tunnel between the first intermediate processing device and the third intermediate processing device; intercepting, with the first intermediate processing device, a request for a communication flow between the first device and the second device, wherein the communication flow includes communications from the first device to the second device and return communications from the second device to the first device; after intercepting the request with the first intermediate processing device, forwarding the request from the first intermediate processing device to the third intermediate device via the second tunnel; when the third intermediate processing device receives the request, forwarding a notification from the third intermediate processing device to the second intermediate processing device to inform the second intermediate processing device of the communication flow being requested, wherein the notification includes information specifying the requested flow and information identifying the first intermediate processing device that intercepted the request; forwarding the request from the third intermediate device to the second device; intercepting, with the second intermediate processing device, a response from the second device that acknowledges the request for the communication flow; and encapsulating, with the intermediate processing devices, the communications of the communication flow within the network tunnels so that the communications associated with the communication flow are forwarded through the network between the first intermediate processing device that intercepted the request and the second intermediate processing device that intercepted the response.