Distributing unused allocated bandwidth using a borrow vector
AssigneeLucent Technologies Inc.
InventorsSandeep Lodha, Deepak Aatresh, Rajesh Narayanan, Raymond Vaughan-Williams
Life of this patent
Estimating the term…
Abstract
A packet-based traffic forwarding system with a plurality of contending queues. Each queue has an allocated bandwidth and an associated borrow vector. When a first queue does not consume all of its allocated bandwidth, the borrow vector associated with a second queue is checked to determine whether the second queue is permitted to use the unconsumed allocated bandwidth of the first queue. If the second queue has packets to forward, the second queue forwards the packets using the unconsumed allocated bandwidth of the first queue.
Claims17
A method of allocating bandwidth between a plurality of queues, comprising:
- allocating bandwidth between a plurality of queues;
- setting a borrow vector for a queue of said plurality of queues that indicates a subset of said plurality of queues from which said queue is permitted to borrow unused allocated bandwidth;
- consuming bandwidth according to said allocated bandwidth;
- and
- allowing unused allocated bandwidth of a first queue to be used by a second queue if a borrow vector of said second queue indicates that borrowing from said first queue is permitted, wherein the allowing unused allocated bandwidth to be used comprises utilizing an AND gate to enable said second queue when said second queue is not empty and said borrow vector indicates said second queue may borrow unused allocated bandwidth from said first queue.
A method for forwarding packet-based traffic from a plurality of contending queues to an output having a finite bandwidth, comprising:
- consuming a portion of bandwidth of an output with packets from a plurality of queues according to respective bandwidths allocated to said plurality of queues, leaving unused allocated bandwidth of a first queue of said plurality of queues when said first queue does not exhaust the bandwidth that is allocated to said first queue;
- and
- allowing a second queue to forward packets using said unused allocated bandwidth if a borrow vector associated with said second queue indicates that said second queue is permitted to use bandwidth allocated to said first queue, wherein said borrow vector indicates a subset of said plurality of queues from which said second queue is permitted to borrow unused allocated bandwidth and wherein said borrow vector does not indicate whether queues in said plurality of queues have packets to forward.
A system for forwarding packet-based traffic from a plurality of contending queues to an output having a finite bandwidth, comprising:
- a plurality of queues for forwarding packets, wherein a first queue of said plurality of queues has a first allocated bandwidth;
- a borrow vector, associated with a second queue, configured to indicate a subset of said plurality of queues from which said second queue is permitted to borrow unused allocated bandwidth;
- a scheduler for forwarding packets from said second queue using a portion of said first allocated bandwidth when said first queue does not consume all of said first allocated bandwidth, if said borrow vector associated with said second queue indicates that said second queue is permitted to borrow unused allocated bandwidth from said first queue;
- and
- an AND gate for enabling said second queue when said second queue is not empty and said borrow vector indicates said second queue may borrow unused allocated bandwidth from said first queue.
Dependencies are inferred from the claim text.