Connection forwarding
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.
Claims
exact text as granted — not AI-modified1 . A system comprising:
a first unit connected between a local network and a wide-area network, wherein the first unit is adapted to receive at least an initial message from a client, and wherein the first unit includes logic adapted to select a network proxy for processing a subsequent message associated with the initial message and to generate connection information identifying and redirecting the initial message and subsequent messages associated with the initial message to the selected network proxy; and a second unit connected between the local network and the wide-area network, wherein the second unit is adapted to receive a message; wherein the first unit includes logic adapted to communicate the connection information with the second unit; and wherein the second unit includes logic adapted to determine if a received message is associated with the initial message using the connection information and to redirect the received message to the selected network proxy for processing in response to the determination that the received message is associated with the initial message.
2 . The system of claim 1 , wherein the first unit and the second unit are connected with the client via the local network.
3 . The system of claim 1 , wherein the first unit and the second unit are connected with the client via the wide-area network.
4 . The system of claim 1 , wherein the first unit includes the selected network proxy.
5 . The system of claim 1 , wherein the selected network proxy is connected with the first unit via the local network.
6 . The system of claim 1 , wherein the second unit is adapted to redirect the received message by modifying a destination address of the received message.
7 . The system of claim 1 , wherein the second unit is adapted to redirect the received message using a tunneling protocol to encapsulate at least a portion of the received message.
8 . The system of claim 1 , wherein the first unit is adapted to store the connection information and wherein the first unit includes logic adapted to determine if a subsequently received message is associated with the initial message using the connection information and to redirect the received message to the selected network proxy for processing in response to the determination that the received message is associated with the initial message.
9 . The system of claim 1 , wherein the selected network proxy is adapted to form an association with a corresponding network proxy, wherein the association is adapted to facilitate communication of messages over the wide-area network.
10 . The system of claim 9 , wherein the selected network proxy is adapted to process the received message to produce a transformed message, wherein the transformed message is equivalent to a message previously received by the corresponding network proxy.
11 . The system of claim 9 , wherein the selected network proxy is adapted to process the received message to produce a transformed message, wherein the transformed message is optimized for communication over the wide-area network.
12 . A device for managing network traffic, the device comprising:
a first interface adapted to receive network traffic that has passed through a local network; a second interface adapted to receive network traffic that has passed through a wide-area network; logic adapted to receive connection information from an additional device, wherein the connection information includes information identifying network traffic associated with an initial message of a first client and information specifying a network proxy; logic adapted to utilize the connection information to identify network traffic associated with the initial message; and logic adapted to utilize the connection information to redirect identified network traffic to the network proxy specified by the connection information.
13 . The device of claim 12 , further comprising:
logic adapted to identify an initial message from a second client in network traffic received via the first or second interfaces; logic adapted to select a network proxy for processing a subsequent message associated with the initial message of the second client; logic adapted to generate connection information for network traffic associated with the initial message of the second client, wherein the connection information includes information identifying network traffic associated with the initial message of the second client and information specifying the selected network proxy; and logic adapted to communicate the connection information with at least one additional device.
14 . The device of claim 13 , further comprising:
the selected network proxy; logic adapted to receive network traffic redirected by at least one additional device to the selected network proxy; and logic adapted to provide the network traffic redirected by at least one additional device to the selected network proxy.
15 . The device of claim 14 , wherein the selected network proxy is adapted to form an association with a second network proxy for network traffic associated with the initial message of the second client, wherein the association is adapted to facilitate communication of the network traffic associated with the initial message of the second client over a wide-area network.
16 . The device of claim 15 , wherein the selected network proxy is adapted to transform network traffic associated with the initial message of the second client, wherein the transformed network traffic is equivalent to network traffic previously received by the second network proxy.
17 . The device of claim 13 , wherein the device is adapted to receive the initial message from the second client via the first interface.
18 . The device of claim 13 , wherein the device is adapted to receive the initial message from the second client via the second interface.
19 . The device of claim 12 , wherein the logic adapted to utilize the connection information to redirect identified network traffic to the network proxy specified by the connection information includes:
logic adapted to modify a destination address of the identified network traffic to the an address of the network proxy provided by the connection information.
20 . The device of claim 12 , wherein the logic adapted to utilize the connection information to redirect identified network traffic to the network proxy specified by the connection information includes:
logic adapted to utilize a tunneling protocol to communicate the identified network traffic with the network proxy specified by the connection information.
21 . In a network usable by clients and servers for conveying messages therebetween 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 might be conveyed from the client to the server via an owning proxy, a system for ensuring that the owning proxy has access to all necessary 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 connection status; logic in the owning proxy for conveying connection status information to neighboring proxies, wherein connection status information indicates at least one transaction owned by the owning proxy and neighboring proxies are proxies that can, or might be expected to, receive messages as part of a transaction owned by the owning proxy but not directed to the owning proxy; and at least one neighboring proxy with logic for tracking transaction ownership and logic for transferring messages to an owning proxy when indicated by tracked transaction ownership information.
22 . The system of claim 21 , wherein the owning proxy is a client-side proxy connected with at least one client via a local area portion of the network.
23 . The system of claim 21 , wherein the owning proxy is a server-side proxy connected with at least one server via a local area portion of the network.
24 . The system of claim 21 , wherein the logic of the neighboring proxy for transferring messages to an owning proxy is adapted to modify a destination address of a message received by the neighboring proxy.
25 . The system of claim 21 , wherein the logic of the neighboring proxy for transferring messages to an owning proxy is adapted to encapsulate at least a portion of a message received by the neighboring proxy using a tunneling protocol.
26 . The system of claim 21 , wherein the logic for tracking transaction ownership includes logic adapted to store the connection status information and logic adapted to determine if a message received by the neighboring proxy is associated with a transaction indicated by the connection status information.
27 . The system of claim 21 , further comprising:
at least one additional proxy adapted to form an association with the owning proxy, wherein the owning proxy and the additional proxy each include logic adapted to facilitate communication of messages between a client and a server via the owning proxy and the additional proxy over at least a portion of the network.
28 . The system of claim 27 , wherein the owning proxy is adapted to process messages to produce transformed messages, wherein the transformed messages are equivalent to messages previously received by the owing proxy from the client.
29 . The system of claim 27 , wherein the owning proxy is adapted to process messages to produce transformed messages, wherein the transformed messages are equivalent to messages previously received by the owing proxy from the server.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.