Programmable scheduling for IP routers
First Claim
Patent Images
1. An apparatus for a programmable scheduler that can support single stage and multi-stage scheduling, comprising:
- an interface arrangement configured to receive and output packets;
a routing core coupled to the interface arrangement that is configured to provide routing and switching functionality relating to the packets; and
a scheduling configuration interface coupled to the routing core and the interface arrangement, and arranged to provide a scheduling configuration, wherein the scheduling configuration interface may be programmed to implement an scheduling algorithms;
the interface arrangement is configured to output packets according to the scheduling configuration;
the scheduling configuration interface that may be programmed to implement the scheduling algorithms, further comprises programming the scheduling algorithms dynamically;
scheduling parameters are provided to the scheduling configuration interface that are used to determine the scheduling configuration; and
wherein the scheduling parameters define a number and relative positions of scheduling stages, a scheduling method applied by the scheduling stages, parameters for the scheduling method and a position of queues in a scheduling hierarchy.
2 Assignments
0 Petitions
Accused Products
Abstract
A scheduling system for IP routers is provided. A programmable scheduler for IP routers can support single stage and multistage scheduling. This allows flexible combinations of scheduling and widens dramatically the available QoS solutions to operators. With this kind of scheduling the router can be configured to support almost any known scheduling method or combination. Priority Queuing (PQ) and Deficit Round Robin (DRR) scheduling is scheduling is used according to one embodiment of the invention.
-
Citations
12 Claims
-
1. An apparatus for a programmable scheduler that can support single stage and multi-stage scheduling, comprising:
-
an interface arrangement configured to receive and output packets; a routing core coupled to the interface arrangement that is configured to provide routing and switching functionality relating to the packets; and a scheduling configuration interface coupled to the routing core and the interface arrangement, and arranged to provide a scheduling configuration, wherein the scheduling configuration interface may be programmed to implement an scheduling algorithms;
the interface arrangement is configured to output packets according to the scheduling configuration;
the scheduling configuration interface that may be programmed to implement the scheduling algorithms, further comprises programming the scheduling algorithms dynamically;
scheduling parameters are provided to the scheduling configuration interface that are used to determine the scheduling configuration; and
wherein the scheduling parameters define a number and relative positions of scheduling stages, a scheduling method applied by the scheduling stages, parameters for the scheduling method and a position of queues in a scheduling hierarchy.
-
-
2. A system for a programmable scheduler relating to IP routers, comprising:
-
nodes, wherein a node in the nodes include a network interface unit arranged to communicate packets across a network; and a router;
wherein the router includes;a network interface unit ananged to receive the packets and transmit packets to the nodes; a scheduling configuration interface configured to receive parameters relating to a scheduling method wherein the parameters received by the scheduling configuration interface further comprise the number and relative positions of scheduling stages; a programmable scheduling component configured to implement a one stage scheduling method and a multi-stage scheduling method in response to the parameters received by the scheduling configuration interface, wherein the programmable scheduling component may be re-configured dynamically; and an output ranged to output packets such that the scheduling method is followed.
-
-
3. A method for programmable scheduling of routers, comprising:
-
receiving a packet; storing the packet in a physical queue; determining when to reconstruct a scheduling hierarchy, and when, reconstructing the scheduling hierarchy; selecting a scheduling method; selecting an input based on the scheduling method; determining when to update scheduler parameters; if the input is connected to a virtual queue, proceeding until the input is connected to a corresponding physical queue, else if the input is connected to said physical queue, taking the packet from the physical queue and transmitting the packet to an output link. - View Dependent Claims (4, 5)
-
-
6. A method for programmable scheduling of routers, comprising:
-
receiving a packet; storing the packet in a physical queue; determining when to reconstruct a scheduling hierarchy, wherein determining when to reconstruct the scheduling hierarchy, further comprises determining when parameters have been received that relate to the scheduling hierarchy, and when the parameters have been received, reconstructing the scheduling hierarchy; selecting a scheduling method; selecting an input based on the scheduling method; detennining when to update scheduler parameters; if the input is connected to a virtual queue, proceeding until the input is connected to a corresponding physical queue, else if the input is connected to said physical queue, taking the packet from the physical queue and transmitting the packet to an output link. - View Dependent Claims (7, 8)
-
-
9. An apparatus for a programmable scheduler that can support single stage and multi-stage scheduling, comprising:
-
a scheduling configuration interface that is arranged to receive parameters related to at least one of a cardinality of scheduling stages, a relative order of the scheduling stages in a scheduling hierarchy, and a position of queues in the scheduling hierarchy; and
further arranged to provide a scheduling configuration based, at least in part, on the parameters andan interface arrangement that is configured to receive and output packets, wherein the interface arrangement is configured to output the packets according to the scheduling configuration. - View Dependent Claims (10, 11, 12)
-
Specification