IP Library Granted Patent US 8,032,641
Granted Patent B2
US 8,032,641 · App. 12/433,443 · Granted Oct 4, 2011

Assymmetric traffic flow detection

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,032,641
App. No.
12/433,443
Granted
Oct 4, 2011
Kind
B2
Abstract

Methods, apparatuses and systems directed to detecting, and in some implementations, responding to, asymmetric routing in network deployments. In a particular embodiment, a first process detects asymmetric routing at connection initiation, while the second process can detect asymmetric routing that may after connection initiation.

Claims (58)

1. A method comprising:

receiving, at a proxy, a first connection-initiating message from a client to a server, wherein the first connection-initiating message identifies a client network address as a source address and a server network address as a destination address;

initiating a proxy-server connection between the proxy and the server by transmitting one or more second connection-initiating messages from the proxy to the server to establish a proxy-server connection, wherein the one or more second connection-initiating messages identifies the client network address as a source address and the server network address as a destination address;

monitoring for a first response from the server to the one or more second connection-initiating messages;

initiating a probe connection between the proxy and the server by transmitting one or more third connection-initiating messages from the proxy to the server to establish a probe connection, wherein the one or more third connection-initiating messages identifies a proxy network address as a source address and the server network address as a destination address;

monitoring for a second response to the one or more third connection-initiating messages from the server;

detecting an asymmetric routing condition between the client and the server based on whether the first response and the second response are received at the proxy; and

terminating the probe connection if the first response corresponding to the proxy-server connection is received.

2. The method of claim 1 further comprising

adding, if the asymmetric routing condition is detected, an entry to a bypass data structure, the entry comprising the client network address and the server network address.

3. The method of claim 2 further comprising

transmitting, if the asymmetric routing condition is detected, a message to the client operative to cause the client to re-initiate a connection to the server.

4. The method of claim 2 further comprising

accessing, responsive to the first connection-initiating message, the bypass data structure to locate a matching entry including the client network address and the server network address; and

if the bypass table contains the matching entry, bypassing initiation of the proxy-server and probe connections and forwarding the first connection-initiating message to the server.

5. The method of claim 1 further comprising identifying the asymmetric routing condition if the proxy receives a connection-terminating message corresponding to the proxy-server connection, wherein the connection-terminating message is apparently sourced from the client.

6. The method of claim 1 further comprising identifying the asymmetric routing condition if the proxy receives the second response from the server corresponding to the probe connection and the proxy-server connection times out.

7. The method of claim 1 further comprising identifying the asymmetric routing condition if the proxy receives the second response from the server corresponding to the probe connection.

8. The method of claim 1 wherein initiating the probe connection is delayed relative to initiating the proxy-server connection.

9. An apparatus, comprising:

one or more network interfaces,

a memory;

one or more processors;

one or more code modules comprising computer-executable instructions stored on a computer readable medium, the instructions executable by the one or more processors, the instructions, when read and executed, for causing the one or more processors to:

receive a first connection-initiating message from a client to a server, wherein the first connection-initiating message identifies a client network address as a source address and a server network address as a destination address;

initiate a proxy-server connection with the server by transmitting one or more second connection-initiating messages to the server to establish a proxy-server connection, wherein the one or more second connection-initiating messages identifies the client network address as a source address and the server network address as a destination address;

monitor for a first response from the server to the one or more second connection-initiating messages;

initiate a probe connection with the server by transmitting one or more third connection-initiating messages to the server to establish a probe connection, wherein the one or more third connection-initiating messages identifies a proxy network address as a source address and the server network address as a destination address;

monitor for a second response to the one or more third connection-initiating messages from the server;

detect an asymmetric routing condition between the client and the server based on whether the first response and the second response are received at the proxy; and

terminate the probe connection if the first response corresponding to the proxy-server connection is received.

10. The apparatus of claim 9 further comprising computer-executable instructions for causing the one or more processors to

add, if the asymmetric routing condition is detected, an entry to a bypass data structure, the entry comprising the client network address and the server network address.

11. The apparatus of claim 10 further comprising computer-executable instructions for causing the one or more processors to

transmit, if the asymmetric routing condition is detected, a message to the client operative to cause the client to re-initiate a connection to the server.

12. The apparatus of claim 10 further comprising computer-executable instructions for causing the one or more processors to

access, responsive to the first connection-initiating message, the bypass data structure to locate a matching entry including the client network address and the server network address; and

if the bypass table contains the matching entry, bypass initiation of the proxy-server and probe connections and forward the first connection-initiating message to the server.

13. The apparatus of claim 9 further comprising computer-executable instructions for causing the one or more processors to

identify the asymmetric routing condition if a connection-terminating message corresponding to the proxy-server connection is received, wherein the connection-terminating message is apparently sourced from the client.

14. The apparatus of claim 9 further comprising computer-executable instructions for causing the one or more processors to

identify the asymmetric routing condition if the second response from the server corresponding to the probe connection is received and the proxy-server connection times out.

15. The apparatus of claim 9 wherein initiation of the probe connection is delayed relative to initiation of the proxy-server connection.

16. A method comprising

receiving, at a proxy, a first connection-terminating message corresponding to a proxy-server connection associated with a client, wherein the first connection-terminating message identifies a client network address associated with a client as the a source address and a server network address associated with the server as a destination address;

accessing state information corresponding to the proxy-server connection maintained at the proxy to determine whether the first connection-terminating message is valid, wherein the first connection-terminating message is valid if the proxy previously sent a second connection-terminating message, wherein the second connection-terminating message corresponds to the proxy-server connection and identifies the client network address associated with the client as the source address and the server network address associated with the server as the destination address;

dropping the first connection-terminating message at the proxy if the first connection-terminating message is not valid; and

forwarding the first connection-terminating message at the proxy if the first connection-terminating message is valid.

17. The method of claim 16 further comprising

accessing, responsive to an invalid connection-terminating message, a bypass data structure to locate a matching entry including the client network address and the server network address; and

if the bypass table contains the matching entry, terminating the proxy-server connection between the proxy and the server.

18. A method, comprising:

initiating, at a first network device, a first connection with a server by transmitting one or more first connection-initiating messages to the server, wherein the one or more first connection-initiating messages identifies a client network address associated with a client as a source address and a server network address associated with the server as a destination address;

monitoring for a first response from the server to the one or more first connection-initiating messages;

initiating a probe connection to the server by transmitting one or more second connection-initiating messages to the server to establish a probe connection, wherein the one or more second connection-initiating messages identifies a proxy network address as a source address and the server network address as a destination address;

monitoring for a second response to the one or more second connection-initiating messages from the server;

detecting an asymmetric routing condition between the client and the server based on whether the first response and the second response are received at the first network device; and

terminating the probe connection if the first response corresponding to the proxy-server connection is received.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →