Stateless distributed load-balancing
First Claim
1. A computer-implemented method comprising:
- receiving, by a load-balancer, a first packet from a source device, the first packet comprising a request to access a service provided by a server coupled to the load-balancer;
determining, by the load-balancer, a load for each of a plurality of servers, each of the plurality of servers is associated with a unique set of sequence numbers; and
forwarding the request to a target server selected from among the plurality of servers based on the load for each of the plurality of servers, the request configured to cause the target server to issue a reply to the source device, the reply comprising a sequence number selected from the unique set of sequence numbers corresponding with the target server,whereinthe load-balancer includes a table associating each of the plurality of servers with its corresponding unique set of sequence numbers.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects of the subject technology provide state-less load-balancing using sequence numbers to identify traffic flows. In some implementations, a process of the technology can include steps for receiving, by a load-balancer, a first packet from a source device including a request to access the service provided by a server coupled to the load-balancer, determining a load for each of the servers, wherein each server is associated with a unique set of sequence numbers, and forwarding the request to a target server selected based on its corresponding load, and wherein the request is configured to cause the target server to issue a reply to the source device. Systems and machine-readable media are also provided.
402 Citations
17 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a load-balancer, a first packet from a source device, the first packet comprising a request to access a service provided by a server coupled to the load-balancer; determining, by the load-balancer, a load for each of a plurality of servers, each of the plurality of servers is associated with a unique set of sequence numbers; and forwarding the request to a target server selected from among the plurality of servers based on the load for each of the plurality of servers, the request configured to cause the target server to issue a reply to the source device, the reply comprising a sequence number selected from the unique set of sequence numbers corresponding with the target server, wherein the load-balancer includes a table associating each of the plurality of servers with its corresponding unique set of sequence numbers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more processors; a network interface coupled to the one or more processors, the network interface configured to transact data with a computer network; and a non-transitory computer-readable storage medium coupled to the one or more processors, the non-transitory computer-readable storage medium containing instructions which, when executed by the one or more processors, cause the system to; receive, by a load-balancer, a first packet from a source device, the first packet comprising a request to access a service provided by a server coupled to the load-balancer; determine, by the load-balancer, a load for each of a plurality of servers, each of the plurality of servers is associated with a unique set of sequence numbers; and forward the request to a target server selected from among the plurality of servers based on the load for each of the plurality of servers, the request configured to cause the target server to issue a reply to the source device, the reply comprising a sequence number selected from the unique set of sequence numbers corresponding with the target server, wherein the load-balancer includes a table associating each of the plurality of servers with its corresponding unique set of sequence numbers. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
receiving, by a load-balancer, a first packet from a source device, the first packet comprising a request to access a service provided by a server coupled to the load-balancer; determining, by the load-balancer, a load for each of a plurality of servers, each of the plurality of servers is associated with a unique set of sequence numbers; and forwarding the request to a target server selected from among the plurality of servers based on the load for each of the plurality of servers, the request configured to cause the target server to issue a reply to the source device, the reply comprising a sequence number selected from the unique set of sequence numbers corresponding with the target server, wherein the load-balancer includes a table associating each of the plurality of servers with its corresponding unique set of sequence numbers. - View Dependent Claims (14, 15, 16, 17)
-
Specification