Link load balancer that controls a path for a client to connect to a resource
First Claim
1. A network device for managing a communication over a network, comprising:
- a transceiver for receiving and sending packets to a client; and
a processor having program code and data that is configured to send a redirect agent to the client, wherein the redirect agent is programmed to enable the client to perform actions comprising;
establishing a connection over a path to a server, the connection enabling a session between the client and the server;
receiving, from the network device, a path data setting and a request to change the path to the server;
collecting path data about a plurality of different possible connections to the server, the path data including metrics about each of the plurality of different possible connections wherein the path data is collected by the client in an out-of-band mode independently of the request to change the path to the server;
selecting a link by evaluating each of the plurality of different possible connections to the server based on the independently collected path data and the path data setting, wherein the path data setting instructs the redirect agent as to how the metrics within the path data are weighted and employed in the selection; and
establishing an alternate connection to the server over the link, wherein the alternate connection enables the session between the client and the server to be maintained.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, apparatus, and method are directed to managing network communications between a client and a server by enabling the client to make decisions involving the selection of alternate network paths. The client and/or the server may be multi-homed to a network. In one embodiment, a link load balancer provides the client with a message and/or path data that enables the client to improve its connections with the server by redirecting network packets using an alternate network path. The message may be based on a static policy at the server, changes in availability of the network connections between the client and server, changes in a quality of the network connections, paths, or the like. Redirecting the network packet by the client may include closing one network connection and establishing another network connection, and/or employing an available alternate network path to re-route network packets towards the server.
-
Citations
37 Claims
-
1. A network device for managing a communication over a network, comprising:
-
a transceiver for receiving and sending packets to a client; and a processor having program code and data that is configured to send a redirect agent to the client, wherein the redirect agent is programmed to enable the client to perform actions comprising; establishing a connection over a path to a server, the connection enabling a session between the client and the server; receiving, from the network device, a path data setting and a request to change the path to the server; collecting path data about a plurality of different possible connections to the server, the path data including metrics about each of the plurality of different possible connections wherein the path data is collected by the client in an out-of-band mode independently of the request to change the path to the server; selecting a link by evaluating each of the plurality of different possible connections to the server based on the independently collected path data and the path data setting, wherein the path data setting instructs the redirect agent as to how the metrics within the path data are weighted and employed in the selection; and establishing an alternate connection to the server over the link, wherein the alternate connection enables the session between the client and the server to be maintained. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method operating on a client, the method useable for managing a communication between the client and a server over a network, comprising:
-
establishing a connection over a path to the server, the connection enabling a session between the client and the server, wherein at least one of the server or the client is multi-homed; determining, in part, at a network device, whether to change the path to the server, and if it is determined that the path to the server is to be changed; sending a path data setting from the server to the client; collecting, by the client, path data about a plurality of different possible connections to the server, wherein the path data includes network metrics about the different possible connections, and wherein the path data is collected by the client in an out-of-band mode independently of a request from the network device to the client to change the path to the server; selecting, by the client, a link based on the client analyzing the independently collected path data for the different possible connections, wherein the analysis is based on the path data setting instructing the client as to how the network metrics are weighted and employed in the selection; and establishing, by the client, an alternate connection over the link to the server, wherein the alternate connection enables the session between the client and the server to be maintained. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory, processor-readable storage medium having machine executable instructions stored thereon, which when executed by at least one processor causes the at least one processor to perform one or more actions for managing a communication between a client and a server over a network, comprising:
-
establishing a connection over a path between the client and the server over the network, the connection enabling a session between the client and the server, wherein at least one of the client or the server is multi-homed to the network; sending to the client a redirect agent for use in managing network connections by the client; sending, to the client, path data and a path data setting, wherein the path data includes metrics about a quality or a capacity for each of a plurality of different possible network connections; receiving, at the client, a request to change the path to the server; and establishing an alternate connection over a link to the server, the link being selected based, at least in part, on the path data setting and the client performing an evaluation of the path data for each of the plurality of different possible network connections, wherein the path data setting instructs the client as to how the metrics within the path data are weighted and employed in the evaluation, wherein the path data is collected in an out-of-band mode independently of the received request to change the path to the server; and
wherein the alternate connection is used to transfer the session to the alternate path to the server. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A load controller for managing a communication between a client and a server wherein at least one of the client or the server is multi-homed to a network, comprising:
-
a transceiver to send and receive data over the network; and a redirect component that is programmed to perform actions comprising; establishing a first connection with the client over the network; sending to the client a component for use in managing network connections by the client, wherein the client has a second connection over a second path to the server, the second connection enabling a session between the client and the server; monitoring path data associated with the client and the server; sending to the client a path data setting and at least some of the path data, other path data being collected by the client independent of the load controller and in an out-of-band mode independently of a message requesting a change in the path between the server and the client, wherein the path data and the other path data includes network metrics for a plurality of potential connections between the client and the server; and if a network change is detected, sending to the client the message requesting the change in the path between the server and the client, wherein the client is enabled to employ the path data setting and the independently collected path data and other path data to select a link, and to establish a third connection over the link to the server from anyone of the plurality of potential connections between the client and the server so that the session to be maintained, and wherein employing the path data setting, the path data, and the other path data includes; instructing the client, based on the path data, as to how the network metrics within the path data and other path data are weighted and employed in the selection.
-
-
34. An apparatus for managing a communication between a client and a server over a network connection over a path that enables a session between the client and the server, at least one of the client or the server being multi-homed to the network, comprising:
-
a transceiver to send and receive data over the network; means for enabling the client to manage network traffic decisions, wherein the means further enables the client to collect path data that includes network metrics about each of a plurality of potential network connections between the client and the server, wherein the path data is collected by the client in an out-of-band mode independently of a request from the apparatus to the client requesting a change in the path to the server; means for providing additional path data and a path data setting to the client; means for determining a change in a network between the client and the server; and means for, if a network change is detected, requesting the change in the path between the server and the client, wherein the client is enabled to employ the path data and the path data setting to select a link based on the independently collected path data and the additional path data, the path data setting instructing the client as to how the network metrics within the path data and other path data are weighted and employed in the selection, and wherein the client is enabled to establish an alternate connection over the link to the server so that the session is maintained. - View Dependent Claims (35)
-
-
36. A system for managing a communication between a client and a server over a network connection over a path that enables a session between the client and the server, comprising:
-
a network device local to the server; a redirect agent; and a traffic management component that is programmed to send the redirect agent to the client; wherein the redirect agent is programmed to enable a processor within the client to perform actions when activated on the client, comprising; establishing a connection over the path between the client and the server, the connection enabling the session between the client and the server; receiving, from the network device, a request to change the path to the server and a path data setting; collecting path data that includes network metrics about each of a plurality of possible connections between the client and the server, wherein the path data is collected by the client in an out-of-band mode independently of the request to change the path to the server; in response to the request to change the path, selecting a link based on the independently collected path data and the path data setting, wherein the path data setting instructs the redirect agent as to how the network metrics within the path data are weighted and employed in the selection; and establishing an alternate connection over the link, the alternate connection enabling the session between the client and the server. - View Dependent Claims (37)
-
Specification