1460731497-9c0867bc-c5ba-41ec-9a5e-7fd1c51aa08b

1. A computer-implemented method of load balancing among a plurality of hosts, the method comprising:
receiving a stream of packets that form at least one packet session;
interrogating a packet of the stream of packets for a session ID associated with a packet session and for a tag indicating that the packet is a first packet of a new packet session;
at least partly responsive to the interrogating:
forwarding the packet to a host if the packet includes the tag; or
delivering the packet to an assigned host identified by an existing routing function if the packet does not include the tag;

responsive to a change in availability of one or more of the plurality of hosts, generating a new routing function to provide a balanced distribution of sessions among the plurality of hosts including for the packet session when the packet does not include the tag; and
processing the packet, including when the packet does not include the tag, in parallel based at least on both the new routing function and the existing routing function by applying a corresponding session ID to the new routing function and the existing routing function, such that the packet being processed is duplicated and sent to the hosts corresponding to the new routing function and the existing routing function.
2. A computer-implemented method as recited in claim 1, further comprising at least one of: phasing out a routing function that has been superseded, or purging a routing function that has been superseded.
3. A computer-implemented method as recited in claim 1, further comprising compensating for a load skew with a non-uniform routing function that distributes session loading.
4. A computer-implemented method as recited in claim 1, further comprising processing the packet session through a plurality of forwarders such that packets received by a forwarder are processed through a same routing function.
5. A computer-readable storage device having computer-executable instructions stored thereon that, upon execution, cause a computer to be configured to perform the method of claim 1.
6. A system comprising:
a processing unit; and
a routing component configured to facilitate load balancing among a plurality of hosts, wherein the routing component:
receives a stream of packets; and
interrogates a packet of the stream of packets for a session ID that uniquely identifies a packet session and for a tag indicating that the packet is a first packet of a packet session; and

a routing function programmed to preserve session affinity in an event of a change in availability of one or more of the plurality of hosts, wherein the routing function at least partly responsive to the interrogation of the routing component:
routes packets of the packet session to a host if the packet includes the tag; or
routes the packet to an assigned host identified by the routing function if the packet does not include the tag; and

the routing component further being configured to:
generate a new routing function to provide a balanced distribution of sessions among the plurality of hosts based at least on change in availability of the plurality of hosts including for the packet session when the packet does not include the tag; and
process the packet, including when the packet does not include the tag, in parallel based at least on both the new routing function and the routing function by applying a corresponding session ID to the new routing function and the routing function, such that the packet being processed is duplicated and sent to the hosts corresponding to the new routing function and the routing function.
7. A system as recited in claim 6, wherein the routing component comprises a plurality of forwarders that receive the packets and process the packets through the routing function.
8. A system as recited in claim 6, wherein the routing component is further configured to interrogate the packets for session information, and route the packets to one of the plurality of hosts based at least on the session information.
9. A system as recited in claim 6, wherein session information includes at least one of the tag that indicates the first packet of the session, and an end-of-session packet.
10. A system as recited in claim 6, wherein the routing component is further configured to generate a plurality of different routing functions and phase out one or more of the different routing functions over time.
11. A system as recited in claim 6, further comprising a plurality of forwarding components configured to track availability of a plurality of hosts and generate a new routing function through which new sessions are processed.
12. A system as recited in claim 11, wherein the plurality of forwarding components are configured to test relevancy of a routing function by requesting that the plurality of hosts process local sessions through the routing function.
13. The system of claim 11, wherein the plurality of forwarding components are configured to generate a new routing function that compensates for at least one of a host failure, an overloaded host, an underloaded host, or an administrative operation.
14. A system as recited in claim 6, wherein the routing component:
routes packets of the packet session to a host based at least on the session ID;
corresponds to another routing function programmed by another routing component; and
defines a relationship between a received packet and a subset of the plurality of hosts to balance distribution of packets among the plurality of hosts, such that in an event that results from the routing function and the another routing function differ for the received packet, the received packet is duplicated and sent to hosts corresponding to both the routing function and the another routing function.
15. One or more computer-readable storage devices having computer-executable instructions encoded thereon that, upon execution, configure the computer to perform operations comprising:
receiving a stream of packets that forms a packet session;
interrogating a packet of the stream of packets for a session ID and for a tag indicating that the packet is a first packet of the packet session;
at least partly responsive to the interrogating:
forwarding the packet to a host if the packet includes the tag; or
delivering the packet to an assigned host identified by an existing routing function if the packet does not include the tag;

responsive to a change in availability of one or more hosts of a plurality of hosts, generating a new routing function to provide a substantially balanced distribution of sessions among the plurality of hosts including for the packet session when the packet does not include the tag; and
processing the packet, including when the packet does not include the tag, in parallel based at least on both the new routing function and the existing routing function by applying a corresponding session ID to the new routing function and the existing routing function, such that the packet being processed is duplicated and sent to the hosts corresponding to the new routing function and the existing routing function.
16. One or more computer-readable storage devices as recited in claim 15, wherein the operations further comprise at least one of:
processing a new session through the new routing function;
phasing out an old routing function; or
purging the old routing function.
17. One or more computer-readable storage devices as recited in claim 15, wherein the operations further comprise generating a non-uniform routing function that distributes session loading to compensate for load skew.
18. One or more computer-readable storage devices as recited in claim 15, wherein the operations further comprise processing the packet session through a plurality of forwarders such that packets received by a forwarder of the plurality of forwarders is processed through a same routing function.
19. One or more computer-readable storage devices as recited in claim 15, wherein the operations further comprise generating a hash function based at least on availability of the plurality of hosts.
20. One or more computer-readable storage devices as recited in claim 19, wherein the operations further comprise purging the hash function after determining the hash function is no longer needed.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. In a communication system, a method comprising:
forming a first stream of power control commands for controlling transmit power levels of a plurality of different data streams;
controlling a transmit power level of at least a first and second data stream in said plurality of different data streams in accordance with the first stream of power control commands.
2. The method as recited in claim 1 further comprising:
transmitting the first data stream from a first base station to a mobile station, and transmitting the second data stream from a second base station to the mobile station, after adjusting transmit power level of said first and second data streams in accordance with the first stream of power control commands.
3. The method as recited in claim 1 further comprising:
receiving the first and second data streams, at a mobile station, with a transmit power level of said first and second data streams adjusted in accordance with the first stream of power control commands.
4. The method as recited in claim 1 further comprising:
forming a power control signal from the first stream of power control commands;
transmitting the power control signal from a mobile station to at least one base station;
re-forming the first received stream of power control commands from the received power control signal at the at least one base station.
5. The method of claim 1, wherein the first data stream contains a voice data.
6. The method of claim 1, wherein the second data stream contains a fax data.
7. The method of claim 1, wherein the second data stream contains an internet transmission.
8. The method of claim 1, wherein the first data stream contains voice data, and the second data stream contains information data.
9. The method of claim 1, wherein the first stream of power control commands is based on an error rate associated with either the first or second data stream.
10. The method of claim 1, wherein the first stream of power control commands is based on a signal-to-noise ratio associated with either the first or second received data stream.
11. The method of claim 1, wherein each of the power control command in the first stream of power control commands represents a command to either increase or decrease or remain at the same transmit power of the first or second data streams.
12. In a communication system, a method comprising:
determining a first stream of power control commands;
determining a second stream of power control commands;
interleaving the first and second stream s of power control commands;
transmitting the interleaved streams of power control commands to a first and second base stations for controlling transmit power levels of a plurality of different data streams.
13. The method as recited in claim 12 further comprising:
receiving, at a mobile station, a first data stream from the first base station and from the second base station, and receiving a second data stream from the second base station at the mobile station, wherein said first and second data stream are included in said plurality of different data streams.
14. The method as recited in claim 12 further comprising:
receiving the interleaved streams of power control commands at the first and second base stations;
de-interleaving the received interleaved streams of power control commands for forming, at the first and second base stations, respectively, the first and second received streams of power control commands.
15. The method as recited in claim 12 further comprising:
controlling transmit power level of data transmitted from the first base station in accordance with the first stream of power control commands, and controlling transmit power level of data transmitted from the second base station in accordance with the second stream of power control commands.
16. The method as recited in claim 15 wherein at least a portion of the data stream transmitted from the first base station at a power level in accordance with the first stream of power control commands and at least a portion of the data stream transmitted from the second base station at a power level in accordance with the second stream of power control commands are the same data targeted for a mobile station.
17. The method of claim 12, wherein the first stream of power control commands has a first bit rate within an interleaved power control signal and the second stream of power control commands has a second bit rate within the interleaved power control signal.
18. In a mobile radio telephone communication system, a method comprising:
forming a first stream of power control commands based on a first data communication from each base station in a first active set of base stations and from each base station in a second active set of base stations;
transmitting, at a power level based on said first stream of power control commands, a first data stream from the first and second active sets of base stations to a mobile station;
forming a second stream of power control commands based on the first data communication from each uncommon base station in the first and second sets of active base stations;
transmitting to the mobile station, at a power level based on said second stream of power control commands, the first data stream from each uncommon base station in the first and second sets of active base stations.
19. The method as recited in claim 18 further comprising:
transmitting to the mobile station, at a power level based on said second stream of power control commands, a second data stream from at least one of the uncommon base stations.
20. The method as recited in claim 18 further comprising:
transmitting to the mobile station, at a power level based on said first stream of power control commands, a second data stream from at least one of the first and second active sets of base stations.
21. In a communication system, an apparatus comprising:
a power control command generator for forming a first stream of power control commands for controlling transmit power levels of a plurality of different data streams;
a controller for controlling a transmit power level of a first and second data stream in said plurality of different data streams in accordance with the first stream of power control commands.
22. The apparatus as recited in claim 21 further comprising:
a transmitter configured for transmitting the first data stream from at least one base station to a mobile station, and transmitting the second data stream from the at least one base station to the mobile station after adjusting transmit power level of said first and second data streams in accordance with the first stream of power control commands.
23. The apparatus as recited in claim 21 further comprising:
a receiver configured for receiving the first and second data streams, at a mobile station, with a transmit power level of said first and second data streams adjusted in accordance with the first stream of power control commands.