SYSTEM AND METHOD FOR DISTRIBUTED LOAD BALANCING WITH DISTRIBUTED DIRECT SERVER RETURN
First Claim
1. A system for distributed load balancing, comprising:
- a plurality of host computers coupled through a network, the host computers including an ingress host, an egress host, and a plurality of server hosts;
a configuration data store accessible through said network, wherein the configuration data store stores configuration information that specifies one-to-one relationships between communication ports of the plurality of host computers and network addresses serviced by the ingress host;
wherein the ingress host is configured to receive a request packet sent by a remote client to an original destination address serviced by the ingress host;
select according to a load balancing protocol, a server host for processing the request packet;
evaluate the configuration information to identify a port of the selected server host that corresponds to the original destination address; and
send the request packet to the identified port of the selected server host, wherein the request packet specifies the remote client'"'"'s network address as a source;
wherein the selected server host is configured to receive the request packet on the port identified by the ingress host;
identify the original destination address in response to comparing the port on which request packet was received to said configuration information;
evaluate the remote client'"'"'s network address from the request packet against an access control policy;
generate a response packet that includes the remote client'"'"'s network address as a source and the network address of the egress host as a destination;
evaluate the configuration information to determine a port of the egress host that corresponds to the original destination address of the request packet, and send the response packet to the identified port of the egress host;
wherein the egress host is configured to receive the response packet on the port identified by the selected server host, identify the original destination address of the request packet by comparing the port one which the response packet is received to the configuration information, modify the response packet such that the original destination address is specified as the source of the response packet, and send the response packet to the remote client.
0 Assignments
0 Petitions
Accused Products
Abstract
Embodiments may include a load balancer that receives a request packet sent by a remote client to an original destination address of multiple network addresses serviced by the load balancer, and selects according to a load balancing protocol, a host computer of a plurality of host computers to process the request. The load balancer may, from among a plurality of ports on the selected host computer, select a particular port having a one-to-one association with the original destination address, the association specified by mapping information accessible to the load balancer, and send the request packet to the selected port on the selected host computer. The mapping information accessible to the selected host computer specifies a one-to-one association between the selected port and the original destination address. Sending the request packet to the selected port conveys that address to the selected server without that address being included in that packet.
-
Citations
19 Claims
-
1. A system for distributed load balancing, comprising:
-
a plurality of host computers coupled through a network, the host computers including an ingress host, an egress host, and a plurality of server hosts; a configuration data store accessible through said network, wherein the configuration data store stores configuration information that specifies one-to-one relationships between communication ports of the plurality of host computers and network addresses serviced by the ingress host; wherein the ingress host is configured to receive a request packet sent by a remote client to an original destination address serviced by the ingress host;
select according to a load balancing protocol, a server host for processing the request packet;
evaluate the configuration information to identify a port of the selected server host that corresponds to the original destination address; and
send the request packet to the identified port of the selected server host, wherein the request packet specifies the remote client'"'"'s network address as a source;wherein the selected server host is configured to receive the request packet on the port identified by the ingress host;
identify the original destination address in response to comparing the port on which request packet was received to said configuration information;
evaluate the remote client'"'"'s network address from the request packet against an access control policy;
generate a response packet that includes the remote client'"'"'s network address as a source and the network address of the egress host as a destination;
evaluate the configuration information to determine a port of the egress host that corresponds to the original destination address of the request packet, and send the response packet to the identified port of the egress host;wherein the egress host is configured to receive the response packet on the port identified by the selected server host, identify the original destination address of the request packet by comparing the port one which the response packet is received to the configuration information, modify the response packet such that the original destination address is specified as the source of the response packet, and send the response packet to the remote client. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
-
a memory; and one or more processors coupled to the memory, wherein the memory comprises program instructions executable by the one or more processors to implement a load balancer configured to; receive a request packet sent by a remote client to an original destination address of multiple network addresses serviced by the load balancer; select according to a load balancing protocol, a host computer of a plurality of host computers to process the request; from among a plurality of ports on the selected host computer, select a particular port having a one-to-one association with the original destination address, the association specified by mapping information accessible to the load balancer; and send the request packet to the selected port on the selected host computer, wherein mapping information accessible to the selected host computer specifies a one-to-one association between the selected port and the original destination address, wherein sending the request packet to the selected port conveys the original destination address to the selected server without the original destination address being included in information of that request packet. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 15)
-
-
14. The system of 5, wherein the request packet is a packet for establishing a connection according to a transport layer protocol.
-
16. A computer-implemented method, comprising;
-
receiving a request packet into a network region comprising multiple host computers, the request packet sent from a remote client to a first network address of multiple network addresses that route to the network region; selecting according to a load balancing protocol, one of the host computers for processing the request packet; sending the request packet to the selected host computer on a specific port of the selected host computer, the specific port having a one-to-one association with the first network address;
said association specified by mapping information that indicates one-to-one relationships between communication ports of the selected host computer and the multiple network addresses that route to the network region;receiving the request packet on the selected host computer, wherein information of the request packet does not specify the first network address to which the request packet was sent by the remote client; and subsequent to determining the first network address by comparing the port on which the selected host computer receives the request packet to the mapping information, sending a response packet to the remote client, the response packet indicating the first network address as the source of the response packet. - View Dependent Claims (17, 18)
-
-
19-24. -24. (canceled)
Specification