Hierarchical packet scheduling method and apparatus
First Claim
1. A method for scheduling packet transmission in a network communication device comprising the steps of:
- receiving a plurality of packets, wherein each of said packets is associated with one of a plurality of classification types;
segregating said received packets into a plurality of sessions, each of said sessions having at least one of said plurality of classification types;
forwarding said packets for each of said plurality of sessions to inputs of a corresponding plurality of first level schedulers, each of said schedulers having said input for receiving packets within respective sessions and an output, and wherein each one of said schedulers employs one of a plurality of first level scheduling protocols;
receiving packets at inputs of a second level scheduler from the outputs of at least some of said plurality of first level schedulers, wherein said second level scheduler further includes an output and is operative in accordance with a second level scheduling protocol;
forwarding packets from the output of said second level scheduler to a first input a third level scheduler, and forwarding packets from the output of at least one of said first level schedulers to a second input of said third level scheduler, wherein said third level scheduler has an output and is operative in accordance with a third level scheduling protocol; and
forwarding packets from the output of said third level scheduler in accordance with said third level scheduling protocol.
8 Assignments
0 Petitions
Accused Products
Abstract
A method of fairly and efficiently scheduling transmission of a packet from a plurality of sessions onto a network is presented. The method includes providing an input having a plurality of sessions, grouping the sessions into a plurality of classes, scheduling the classes with first level schedulers associated with one of the classes, scheduling the outputs of some of the first level schedulers with a second level scheduler, and prioritizing among the output of the remaining first level scheduler(s) and the output of the second level scheduler to provide an hierarchical scheduler output. The scheduler accepts traffic types at its input, and provides an output suitable for scheduling cell based traffic such as Asynchronous Transfer Mode (ATM) network traffic.
-
Citations
16 Claims
-
1. A method for scheduling packet transmission in a network communication device comprising the steps of:
-
receiving a plurality of packets, wherein each of said packets is associated with one of a plurality of classification types; segregating said received packets into a plurality of sessions, each of said sessions having at least one of said plurality of classification types; forwarding said packets for each of said plurality of sessions to inputs of a corresponding plurality of first level schedulers, each of said schedulers having said input for receiving packets within respective sessions and an output, and wherein each one of said schedulers employs one of a plurality of first level scheduling protocols; receiving packets at inputs of a second level scheduler from the outputs of at least some of said plurality of first level schedulers, wherein said second level scheduler further includes an output and is operative in accordance with a second level scheduling protocol; forwarding packets from the output of said second level scheduler to a first input a third level scheduler, and forwarding packets from the output of at least one of said first level schedulers to a second input of said third level scheduler, wherein said third level scheduler has an output and is operative in accordance with a third level scheduling protocol; and forwarding packets from the output of said third level scheduler in accordance with said third level scheduling protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for scheduling packet transmission in a network communication device comprising the steps of:
-
receiving a plurality of packets, wherein each of said packets is associated with one of a plurality of Quality of Service (QOS) levels, said Qo S levels comprising Constant Bit Rate (CBR), real time Variable Bit Rate (rtVBR), non-real time Variable Bit Rate (nrtVBR), Available Bit Rate (ABR), Unspecified Bit Rate + (UBR+) and Unspecified Bit Rate (UBR) Quality of Service levels; segregating said received packets into a plurality of sessions, each of said sessions having at least one of said plurality of Qo S levels; forwarding said packets for each of said plurality of sessions to inputs of a corresponding plurality of first level schedulers, each of said schedulers having said input for receiving packets within respective sessions and an output, and wherein each one of said schedulers employs one of a plurality of first level scheduling protocols, said first level scheduling protocols comprising a CBR shaper, a Minimum Start Time Clocked Fair Queuing Plus (MSTCFQ+) scheduler, a Weighted Round Robin (WRR) scheduler, a Round Robin (RR) scheduler and a Static Priority (SP) scheduler; receiving packets at inputs of a second level scheduler from the outputs of at least some of said plurality of first level schedulers, wherein said second level scheduler further includes an output and is operative in accordance with a second level scheduling protocol comprising a MSTCFQ+ scheduler; forwarding packets from the output of said second level scheduler to a first input a third level scheduler, and forwarding packets from the output of at least one of said first level schedulers to a second input of said third level scheduler, wherein said third level scheduler has an output and is operative in accordance with a third level scheduling protocol comprising a Static Priority Scheduler; and forwarding packets from the output of said third level scheduler in accordance with said third level scheduling protocol.
-
Specification