Patent ID: 7433305

Claim:
A method of switching a data flow of information packets between a sending and receiving entity, the method comprising: buffering in a queue, the packets received from a plurality of paths; determining from a congestion indicator that a congestion condition exists in the queue; determining a number of packets received from each of the plurality of paths; sending a halt message to a sending entity corresponding to a given path from which the greatest number of packets was received in the queue; determining if there is a free switch state associated with the queue, wherein the free switch state indicates a path is not halted, and a set switch state indicates a path is halted, if yes, then: storing an indicator of the halted given path in the free switch state including storing an indicator of the bandwidth associated with the halted path; if no, then: establishing a chronological order in which the set states were set; determining an older portion of the set states; and purging the set state in said older portion of the set states corresponding to a halted path that has been halted the fewest number of times, and successively updating the congestion indicator when the queue reaches a subsequent congestion condition.