Scaleable channel scheduler system and method
First Claim
1. A method for scheduling data flows comprising the steps of:
- sequencing data packets within a plurality of data flows according to a first characteristic to provide corresponding sequenced data flows;
selecting a next-in-sequence data flow to identify a transmittable data packet, wherein the next-in-sequence data flow is selected from the sequenced data flows according to a second characteristic; and
scheduling the transmittable data packet.
13 Assignments
0 Petitions
Accused Products
Abstract
A data flow egress scheduler and shaper provides multiple levels of scheduling for data packets exiting communications devices. A classifier separates data from multiple sources by data flow and by priority within a data flow. An output controller requests a data packet for transmission and the scheduler selects a next available highest priority packet from a next in sequence data flow or from a management data queue. The shaper can control the rates of classes of service to be scheduled by the device. The scheduler typically comprises three levels of scheduling. Large numbers of output ports can be implemented in a single device by a virtual scheduler that services each data flow, output port and data source as a shared component, maintain context for groups of schedulers and data flows.
-
Citations
20 Claims
-
1. A method for scheduling data flows comprising the steps of:
-
sequencing data packets within a plurality of data flows according to a first characteristic to provide corresponding sequenced data flows;
selecting a next-in-sequence data flow to identify a transmittable data packet, wherein the next-in-sequence data flow is selected from the sequenced data flows according to a second characteristic; and
scheduling the transmittable data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A virtual queuing system, comprising:
-
a priority-based scheduler;
a fairness-based scheduler; and
one or more state machines for executing the priority based scheduler and the round-robin scheduler, the one or more state machines being shared by a plurality of data flows, wherein the priority-based scheduler and fairness-based scheduler are configured to sequence data packets for transmission from among a plurality of data flows, sequencing being based on a plurality of scheduling classes. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for scheduling data flows comprising the steps of:
-
choosing a data flow from among a plurality of data flows to provide one or more data packets for transmission, wherein the chosen data flow is selected according to a first characteristic;
identifying a next data packet among the one or more data packets according to a second characteristic; and
controlling transmission of the next data packet, wherein the first and second characteristics includes a strict priority scheduler and a round robin scheduler.
-
Specification