Weighted fair queue serving plural output ports
AssigneeInternational Business Machines Corporation
InventorsWilliam John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
Life of this patent
Estimating the term…
Abstract
A data communication apparatus includes a plurality of output ports and a scheduler for assigning priorities for outbound data frames. The scheduler includes one or more scheduling queues. Each scheduling queue indicates an order in which data flows are to be serviced. At least one scheduling queue has a respective plurality of output ports assigned to the scheduling queue. That is, the scheduling queue is shared by two or more output ports.
Claims23
A data communication apparatus, comprising:
- a plurality of output ports;
- and
- a scheduler adapted to assign priorities to outbound data frames, the scheduler including one or more scheduling queues, each scheduling queue adapted to indicate an order in which data flows are to be serviced, at least one scheduling queue having a respective plurality of the output ports assigned to the scheduling queue.
A method of enqueuing flows in a scheduler for a network processor, comprising:
- receiving a first data frame corresponding to a first flow appointed for transmission from a first output port;
- enqueuing the first flow to a first scheduling queue associated with the first output port;
- receiving a second data frame corresponding to a second flow appointed for transmission from a second output port;
- and
- enqueuing the second flow to the first scheduling queue, the first scheduling queue also being associated with the second output port.
A method of transmitting data frames from a network processor, comprising:
- dequeuing a first flow from a first scheduling queue;
- transmitting from a first output port a data frame associated with the dequeued first flow;
- dequeuing a second flow from the first scheduling queue;
- and
- transmitting from a second output port a data frame associated with the dequeued second flow, the second output port being different from the first output port.
A method of operating a data communication apparatus, comprising:
- providing a scheduling queue in a scheduler for a network processor;
- and
- assigning a plurality of output ports to the scheduling queue.
A data communication apparatus, comprising:
- a plurality of output ports;
- and
- a scheduler having at least one scheduling queue, the scheduler adapted to:
- receive a first data frame corresponding to a first flow appointed for transmission from a first of the output ports;
- enqueue the first flow to a first scheduling queue associated with the first of the output ports;
- receive a second data frame corresponding to a second flow appointed for transmission from a second of the output ports;
- and
- enqueue the second flow to the first scheduling queue, the first scheduling queue also being associated with the second of the output ports.
A data communication apparatus, comprising:
- a plurality of output ports;
- and
- a scheduler having at least one scheduling queue, the scheduler adapted to:
- dequeue a first flow from a first scheduling queue;
- transmit from a first of the output ports a data frame associated with the dequeued first flow;
- dequeue a second flow from the first scheduling queue;
- and
- transmit from a second of the output ports a data frame associated with the dequeued second flow, the second output port being different from the first output port.
A computer program product for enqueuing flows in a scheduler for a network processor, comprising:
- a medium readable by a computer, the computer readable medium having computer program code adapted to:
- receive a first data frame corresponding to a first flow appointed for transmission from a first output port;
- enqueue the first flow to a first scheduling queue associated with the first output port;
- receive a second data frame corresponding to a second flow appointed for transmission from a second output port;
- and
- enqueue the second flow to the first scheduling queue, the first scheduling queue also being associated with the second output port.
A computer program product for transmitting data frames from a network processor, comprising:
- a medium readable by a computer, the computer readable medium having computer program code adapted to:
- dequeue a first flow from a first scheduling queue;
- transmit from a first output port a data frame associated with the dequeued first flow;
- dequeue a second flow from the first scheduling queue;
- and
- transmit from a second output port a data frame associated with the dequeued second flow, the second output port being different from the first output port.
A computer program product for operating a data communication apparatus that includes a scheduler having one or more scheduling queues, the computer program product comprising:
- a medium readable by a computer, the computer readable medium having computer program code adapted to assign a plurality of output ports to a first of the one or more scheduling queues.
Dependencies are inferred from the claim text.