Server load balancing using IP option field approach to identify route to selected server
First Claim
1. A router, comprising:
- a network interface that is coupled to a data network for receiving one or more packet flows therefrom;
a processor;
one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform;
receiving, at a last node associated with a selected server among a plurality of servers, a first packet of a server reply to a client request from a client;
storing one or more identifiers of ingress interfaces on which the first packet arrives, in a send path list, as the first packet of the server reply is routed from the selected server to the client using hop-by-hop decisions;
receiving one or more subsequent packets of the client request;
forwarding the one or more subsequent packets to the selected server on a route that is defined by the send path list and without hop-by-hop routing decisions.
0 Assignments
0 Petitions
Accused Products
Abstract
A router for routing data from a client through load-balancing nodes to a selected load-balanced server among a plurality of servers in a network involves: receiving, at a last load balancing node associated with a selected server among the plurality of servers, a first packet of a server reply to a request from the client; storing identifiers of ingress interfaces on which the packet arrives, in a send path list for server load balancing, as the first packet of the server reply is routed from the last load balancing node to the client using hop-by-hop decisions; receiving subsequent packets of the client request; and forwarding the subsequent packets to the selected server only on a route that is defined by the send path list and without hop-by-hop routing decisions. Packet flows are routed from the same client to the same server without hop-by-hop routing decisions or repeated load-balancing decisions.
-
Citations
28 Claims
-
1. A router, comprising:
-
a network interface that is coupled to a data network for receiving one or more packet flows therefrom;
a processor;
one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform;
receiving, at a last node associated with a selected server among a plurality of servers, a first packet of a server reply to a client request from a client;
storing one or more identifiers of ingress interfaces on which the first packet arrives, in a send path list, as the first packet of the server reply is routed from the selected server to the client using hop-by-hop decisions;
receiving one or more subsequent packets of the client request;
forwarding the one or more subsequent packets to the selected server on a route that is defined by the send path list and without hop-by-hop routing decisions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
means for receiving, at a last node associated with a selected server among a plurality of servers, a first packet of a server reply to a client request from a client;
means for storing one or more identifiers of ingress interfaces on which the first packet arrives, in a send path list, as the first packet of the server reply is routed from the selected server to the client using hop-by-hop decisions;
means for receiving one or more subsequent packets of the client request;
means for forwarding the one or more subsequent packets to the selected server on a route that is defined by the send path list and without hop-by-hop routing decisions. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification