SYSTEM AND METHOD FOR SERVICE ALIASING AND POOLED LOAD BALANCING
A system for controlling a network, comprising a plurality of host computers configured to communicate over the network. A plurality of server computers configured to provide services to the plurality of host computers. An address allocator operating on one or more processors and configured to implement one or more algorithms that cause a range of addresses to be assigned to each of the server computers, wherein each of the host computers receives one of the addresses for use as part of a service request from the host computer to the server computer.
1 . A system for controlling a network, comprising:
a plurality of host computers configured to communicate over the network;
a plurality of server computers configured to provide services to the plurality of host computers; and
an address allocator operating on one or more processors and configured to implement one or more algorithms that cause a range of addresses to be assigned to each of the server computers, wherein each of the host computers receives one of the addresses for use as part of a service request from the host computer to the server computer.
2 . The system of claim 1 wherein the range of addresses comprises a static address portion and a dynamic address portion, and is assigned by identifying the plurality of host computers configured to communicate over the network, identifying the plurality of server computers configured to provide services to the plurality of host computers and assigning the range of addresses to each of the server computers, wherein each of the host computers receives only one of the addresses.
3 . The system of claim 1 wherein the range of addresses comprises a static address portion that is identical for each address of the range of addresses and a dynamic address portion that is different for each address of the range of addresses, and at least one range of addresses is redistributed if the associated server fails.
4 . The system of claim 1 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of an IPv6 address for each address of the range of addresses and a dynamic address portion that is different for each address of the range of addresses, and at least one range of addresses is redistributed if the associated server fails without any change to the associated host computers.
5 . The system of claim 1 wherein the range of addresses comprises a static address portion for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of an IPv6 address that is different for each address of the range of addresses, and at least one range of addresses is redistributed to a plurality of servers if the server associated with the range of addresses fails.
6 . The system of claim 1 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of an IPv6 address for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of an IPv6 address that is different for each address of the range of addresses, and at least one range of addresses is reallocated in response to a load balancing process.
7 . The system of claim 1 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of a most significant bit field of an IPv6 address for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of an IPv6 address that is different for each address of the range of addresses, and at least one range of addresses is reallocated to a new server in response to a load balancing process.
8 . The system of claim 1 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of a most significant bit field of an IPv6 address for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of a least significant bit field of an IPv6 address that is different for each address of the range of addresses, and at least one range of addresses is reallocated to an existing server in response to a load balancing process.
9 . The system of claim 1 wherein the one or more algorithms select an address for use as part of the service request from the host computer to the server computer based on a load at each server computer to perform load balancing, and at least one range of addresses is reallocated in response to a load balancing process without any change to the associated host computers.
10 . A method for controlling a network, comprising:
identifying a plurality of host computers configured to communicate over the network;
identifying a plurality of server computers configured to provide services to the plurality of host computers; and
assigning a range of addresses to each of the server computers, wherein each of the host computers receives one of the addresses for use as part of a service request from the host computer to the server computer.
11 . The method of claim 10 wherein the range of addresses comprises a static address portion and a dynamic address portion.
12 . The method of claim 10 wherein the range of addresses comprises a static address portion that is identical for each address of the range of addresses and a dynamic address portion that is different for each address of the range of addresses.
13 . The method of claim 10 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of an IPv6 address for each address of the range of addresses and a dynamic address portion that is different for each address of the range of addresses.
14 . The method of claim 10 wherein the range of addresses comprises a static address portion for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of an IPv6 address that is different for each address of the range of addresses.
15 . The method of claim 10 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of an IPv6 address for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of an IPv6 address that is different for each address of the range of addresses.
16 . The method of claim 10 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of a most significant bit field of an IPv6 address for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of an IPv6 address that is different for each address of the range of addresses.
17 . The method of claim 10 wherein the range of addresses comprises a static address portion that is a predetermined number of identical bits of a most significant bit field of an IPv6 address for each address of the range of addresses and a dynamic address portion that is a predetermined number of bits of a least significant bit field of an IPv6 address that is different for each address of the range of addresses.
18 . The method of claim 10 wherein each of the host computers receives one of the addresses for use as part of the service request from the host computer to the server computer based on a load at each server computer to perform load balancing.