Patent ID: 8339949

Claim:
An apparatus comprising: a plurality of schedulers that schedule communication traffic, each scheduler supporting a multiple priority scheduling function to schedule communication traffic having any of a plurality of priorities; and a priority-aware scheduler, operatively coupled to the plurality of schedulers, that further schedules communication traffic from the plurality of schedulers based on priorities of communication traffic scheduled by each of the plurality of schedulers, the priority-aware scheduler maintaining a plurality of Active lists, respectively associated with the plurality of priorities, to which the plurality of schedulers schedule communication traffic, the priority-aware scheduler further scheduling communication traffic from the Active lists by servicing the plurality of Active lists in priority order and according to a scheduling algorithm, each scheduler of the plurality of schedulers scheduling communication traffic having different priorities to different Active lists of the plurality of Active lists, each scheduler dynamically moving between Active lists of the plurality of Active lists where priorities of communication traffic being scheduled by the scheduler change, the apparatus further comprising: a shaper, operatively coupled between a scheduler of the plurality of schedulers and the priority-aware scheduler, that controls scheduling of communication traffic by the scheduler to which the shaper is operatively coupled, wherein the shaper allows the scheduler to which it is operatively coupled to schedule communication traffic at up to a maximum rate, and wherein the scheduler is added to a Pending list after the shaper has reached its maximum rate, wherein the shaper comprises one of a plurality of shapers operatively coupled between respective schedulers of the plurality of schedulers and the priority-aware scheduler, each shaper controlling scheduling of communication traffic by the scheduler to which the shaper is operatively coupled, wherein each shaper allows the scheduler to which it is operatively coupled to schedule communication traffic at up to a respective maximum rate, and wherein each scheduler that is operatively coupled to a shaper is added to a Pending list after its shaper has reached its maximum rate.