Flowlet-Based Load Balancing
AssigneeFuturewei Technologies, Inc.
InventorHaoyu Song
Life of this patent
Estimating the term…
Abstract
A network device configured to set a flowlet boundary. The network device includes a receiver, a processor, and a transmitter. The receiver is configured to receive a return acknowledgement (ACK) for each packet from a flow, the processor is configured to start a timer and to manipulate a receiver window (RWND) in the return ACK to generate a false ACK, and the transmitter is configured to transmit the false ACK to a sender host.
Claims20
A network device configured to set a flowlet boundary, comprising:
- a receiver configured to receive a return acknowledgement (ACK) for each packet from a flow;
- a processor coupled to the receiver, the processor configured to start a timer and to manipulate a receiver window (RWND) in the return ACK to generate a false ACK;
- and
- a transmitter coupled to the processor, the transmitter configured to transmit the false ACK to a sender host.
A method of setting a flowlet boundary, comprising:
- setting a timer;
- determining that the timer has not expired;
- capturing a return acknowledgement (ACK) for each packet from a flow;
- clearing a value in a receiver window (RWND) to generate a false ACK when not all of the packets from the flow have been received to instruct a sender host to stop sending packets;
- setting a value in the RWND of the false ACK to a value of the RWND from a last-received return ACK when all of the packets have been received;
- and
- transmitting the false ACK to the sender host to establish the flowlet boundary.
A method of setting a flowlet boundary, comprising:
- setting a timer;
- determining that the timer has expired;
- generating a false acknowledgement (ACK) by setting a value in a receiver window (RWND) to a value of the RWND from a last-received return ACK;
- and
- transmitting the false ACK to a sender host to establish the flowlet boundary.
A method of load balancing, comprising:
- determining a size of a current flowlet;
- comparing the size of the current flowlet to a size of a previous flowlet;
- transmitting the current flowlet on a same path used to transmit the previous flowlet when the size of the current flowlet has increased relative to the previous flowlet;
- and
- transmitting the current flowlet on a randomly selected path when the size of the current flowlet has decreased relative to the previous flowlet.
Dependencies are inferred from the claim text.