Connection forwarding
First Claim
1. In a network usable by clients and servers for conveying messages there between comprising transactions wherein a transaction comprises one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, a system for ensuring that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the system comprising:
- logic in the owning proxy for maintaining a connection status;
logic in the owning proxy for deriving new-connection information from a message that establishes a new client/server connection;
logic in the owning proxy for providing the new-connection information to at least one of a plurality of neighboring proxies;
logic in the owning proxy for conveying the connection status information to the plurality of neighboring proxies, wherein;
a) the connection status information indicates at least one transaction owned by the owning proxy; and
b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy;
at least one of the plurality of neighboring proxies comprising;
a) logic that stores the new-connection information and associates the new-connection information with the owning proxy;
b) logic for tracking transaction ownership; and
c) logic for transferring messages to the owning proxy using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages, wherein the logic for transferring messages to the owning proxy is adapted to encapsulate at least a portion of a message received by the neighboring proxy using a tunneling protocol; and
logic in the owning proxy that processes the related sequence of messages using the same owning proxy.
19 Assignments
0 Petitions
Accused Products
Abstract
Two or more network traffic processors connected with the same LAN and WAN are identified as neighbors. Neighboring network traffic processors cooperate to overcome asymmetric routing, thereby ensuring that related sequences of network traffic are processed by the same network proxy. A network proxy can be included in a network traffic processor or as a standalone unit. A network traffic processor that intercepts a new connection initiation by a client assigns a network proxy to handle all messages associated with that connection. The network traffic processor conveys connection information to neighboring network traffic processors. The neighboring network traffic processors use the connection information to redirect network traffic associated with the connection to the assigned network proxy, thereby overcoming the effects of asymmetric routing. The assigned network proxy handles redirected network traffic in much the same way that it would handle network traffic received directly.
-
Citations
42 Claims
-
1. In a network usable by clients and servers for conveying messages there between comprising transactions wherein a transaction comprises one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, a system for ensuring that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the system comprising:
-
logic in the owning proxy for maintaining a connection status; logic in the owning proxy for deriving new-connection information from a message that establishes a new client/server connection; logic in the owning proxy for providing the new-connection information to at least one of a plurality of neighboring proxies; logic in the owning proxy for conveying the connection status information to the plurality of neighboring proxies, wherein; a) the connection status information indicates at least one transaction owned by the owning proxy; and b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; at least one of the plurality of neighboring proxies comprising; a) logic that stores the new-connection information and associates the new-connection information with the owning proxy; b) logic for tracking transaction ownership; and c) logic for transferring messages to the owning proxy using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages, wherein the logic for transferring messages to the owning proxy is adapted to encapsulate at least a portion of a message received by the neighboring proxy using a tunneling protocol; and logic in the owning proxy that processes the related sequence of messages using the same owning proxy. - View Dependent Claims (2, 3, 5, 6, 7, 8)
-
-
4. In a network usable by clients and servers for conveying messages there between comprising transactions wherein a transaction comprises one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, a system for ensuring that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the system comprising:
-
logic in the owning proxy for maintaining a connection status; logic in the owning proxy for deriving new-connection information from a message that establishes a new client/server connection; logic in the owning proxy for providing the new-connection information to at least one of a plurality of neighboring proxies; logic in the owning proxy for conveying the connection status information to the plurality of neighboring proxies, wherein; a) the connection status information indicates at least one transaction owned by the owning proxy; and b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; at least one of the plurality of neighboring proxies comprising; a) logic that stores the new-connection information and associates the new- connection information with the owning proxy; b) logic for tracking transaction ownership; and c) logic for transferring messages to the owning proxy using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages, wherein the logic for transferring messages to the owning proxy is adapted to modify a destination address of a message received by the neighboring proxy; and logic in the owning proxy that processes the related sequence of messages using the same owning proxy. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
-
9. A method, in a network usable by clients and servers for conveying messages there between including transactions wherein a transaction includes one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, the method ensures that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the method comprising:
-
maintaining a connection status using logic in the owning proxy; deriving a new-connection information from a message that establishes a new client/server connection using logic in the owning proxy; providing the new-connection information to at least one of a plurality of neighboring proxies using logic in the owning proxy; conveying a connection status information to the plurality of neighboring proxies using logic in the owning proxy, wherein; a) the connection status information indicates at least one transaction owned by the owning proxy; and b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; storing the new-connection information and associating the new-connection information with the owning proxy using logic in at least one of the plurality of neighboring proxies; tracking transaction ownership using logic in the at least one of the plurality of neighboring proxies; transferring messages to the owning proxy using logic in the least one of the plurality of neighboring proxies and using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages, wherein transferring messages to the owning proxy includes encapsulating at least a portion of a message received by the neighboring proxy using a tunneling protocol; and processing the related sequence of messages using the same owning proxy. - View Dependent Claims (10, 11, 13, 14, 15, 16)
-
-
12. A method, in a network usable by clients and servers for conveying messages there between including transactions wherein a transaction includes one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, the method ensures that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the method comprising:
-
maintaining a connection status using logic in the owning proxy; deriving a new-connection information from a message that establishes a new client/server connection using logic in the owning proxy; providing the new-connection information to at least one of a plurality of neighboring proxies using logic in the owning proxy; conveying a connection status information to the plurality of neighboring proxies using logic in the owning proxy, wherein; a) the connection status information indicates at least one transaction owned by the owning proxy; and b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; storing the new-connection information and associating the new-connection information with the owning proxy using logic in at least one of the plurality of neighboring proxies; tracking transaction ownership using logic in the at least one of the plurality of neighboring proxies; transferring messages to the owning proxy using logic in the least one of the plurality of neighboring proxies and using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages, wherein transferring messages to the owning proxy using logic comprises modifying a destination address of a message received by the neighboring proxy; and processing the related sequence of messages using the same owning proxy. - View Dependent Claims (37, 38, 39, 40, 41, 42)
-
-
17. In a network usable by clients and servers for conveying messages there between comprising transactions wherein a transaction comprises one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, a system for ensuring that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the system comprising:
-
logic in the owning proxy for maintaining a connection status; logic in the owning proxy for deriving new-connection information from a message that establishes a new client/server connection; logic in the owning proxy for providing the new-connection information to at least one of a plurality of neighboring proxies; logic in the owning proxy for conveying the connection status information to the plurality of neighboring proxies, wherein; a) the connection status information indicates at least one transaction owned by the owning proxy; and b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; at least one of the plurality of neighboring proxies comprising; a) logic that stores the new-connection information and associates the new-connection information with the owning proxy; b) logic for tracking transaction ownership; and c) logic for transferring messages to the owning proxy using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages; d) logic for extracting a payload from a message; and e) logic for sending the payload to the owning proxy; logic in the owning proxy that processes the related sequence of messages using the same owning proxy. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method, in a network usable by clients and servers for conveying messages there between including transactions wherein a transaction includes one or more messages from a client forming a client request to a server and one or more messages from the server forming a server response to the client, wherein at least one message from the client is conveyed from the client to the server via an owning proxy, the method ensures that the owning proxy has access to parts of the transaction, the owning proxy being a proxy that is programmed to expect such access, the method comprising:
-
maintaining a connection status using logic in the owning proxy; deriving a new-connection information from a message that establishes a new client/server connection using logic in the owning proxy; providing the new-connection information to at least one of a plurality of neighboring proxies using logic in the owning proxy; conveying a connection status information to the plurality of neighboring proxies using logic in the owning proxy, wherein; a) the connection status information indicates at least one transaction owned by the owning proxy; and b) the plurality of neighboring proxies are proxies that can receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; storing the new-connection information and associating the new-connection information with the owning proxy using logic in at least one of the plurality of neighboring proxies; tracking transaction ownership using logic in the at least one of the plurality of neighboring proxies; transferring messages to the owning proxy using logic in the least one of the plurality of neighboring proxies and using the new-connection information to be processed by the owning proxy, when indicated by a tracked transaction ownership information that the messages are a related sequences of messages, wherein the transferring messages to an owning proxy includes extracting the payload from a message and sending the payload to the owning proxy; and processing the related sequence of messages using the same owning proxy. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification