Patent ID: 8228797

Claim:
A method for controlling flow of data across a switch fabric within a communications node, the switch fabric interconnecting a plurality of ports, comprising: tracking the amount of data for one or more classes of service entering and leaving a destination queue within this node associated with an output port; determining the amount of available space in said destination queue; creating a message based at least in part on said determined amount of available space; transmitting said created message within the node, and not between nodes, to a plurality of source queues within the node on the opposite side of the switch fabric from the destination queue for buffering data received by the node for transmission through the switch fabric to the destination queue within the node; and for each of at least one of the plurality of source queues, incrementally adjusting bandwidth allocated to that source queue to transmit during a window in the future data through the switch fabric to the destination queue based at least in part in response to the message, a class of service associated with that source queue and on utilization of bandwidth allocated to that source queue during a preceding window for transmission.