Combined unicast and multicast scheduling
First Claim
1. A system for scheduling unicast and multicast cells in a nonblocking switch having a plurality of inputs and a plurality of outputs, said cells each having a designated output and a priority, said system includinga plurality of unicast input queues at each input;
- a multicast input queue at each input;
means for each one input to request service, at a scheduling time, from said designated outputs for cells queued at said one input;
means for each output to grant requests responsive to said priority and responsive to a grant precedence for said requests utilizing a pointer; and
means for each input to accept grants responsive to said priority and responsive to an accept precedence for said grant utilizing a pointer.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a method and system for combined unicast and multicast scheduling. Data cells are assigned at each input, to one unicast input queue for each output, or to a single multicast input queue. Each input makes two requests for scheduling to each output for which it has a queued data cell, one unicast request and one multicast request. Each output grants up to one request, choosing highest priority requests first, giving precedence to one such highest priority request using an output precedence pointer, either an individual output precedence pointer which is specific to that output for unicast data cells, or a group output precedence pointer which is generic to all outputs for multicast data cells. Each input accepts up to one grant for unicast data cells, or as many grants as possible for multicast data cells, choosing highest priority grants first, giving precedence to one such highest priority grant using an input precedence pointer. In a preferred embodiment, the individual output precedence pointers each implement a round-robin precedence technique, in which the most recent input to transmit a data cell has the lowest precedence; the pointer is incremented to point to a next input each time a data cell is transmitted from the pointed-to input. The input precedence pointers each preferably implement an identical precedence technique. However, the group output precedence pointer is not incremented until all outputs from the multicast data cell for the pointed-to input have been transmitted.
-
Citations
41 Claims
-
1. A system for scheduling unicast and multicast cells in a nonblocking switch having a plurality of inputs and a plurality of outputs, said cells each having a designated output and a priority, said system including
a plurality of unicast input queues at each input; -
a multicast input queue at each input;
means for each one input to request service, at a scheduling time, from said designated outputs for cells queued at said one input;
means for each output to grant requests responsive to said priority and responsive to a grant precedence for said requests utilizing a pointer; and
means for each input to accept grants responsive to said priority and responsive to an accept precedence for said grant utilizing a pointer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
means for scheduling inputs having accepted grants and outputs associated with said accepted grants; - and
means for retriggering said means to request service, said means to grant requests, and said means to accept grants, for inputs and outputs not already scheduled.
-
-
15. A system as in claim 14, wherein said means for retriggering is operative a selected number of times.
-
16. A system as in claim 14, wherein said means for retriggering is operative until a selected time.
-
17. A method for scheduling unicast and multicast cells in a nonblocking switch having a plurality of inputs and a plurality of outputs, said cells each having a designated output and a priority, said method including the steps of, at a scheduling time,
requesting service for each one input from said designated outputs for unicast and multicast cells queued at said one input; -
granting requests for each output responsive to said priority and responsive to a grant precedence pointer for said requests; and
accepting grants for each input responsive to said priority and responsive to an accept precedence pointer for said grant. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
scheduling inputs having accepted grants and outputs associated with said accepted grants; - and
reperforming said step of requesting service, said step of granting requests, and said step of accepting grants, for inputs and outputs not already scheduled.
-
-
30. A method as in claim 29, wherein said step of reperforming is operative a selected number of times.
-
31. A method as in claim 29, wherein said step of reperforming is operative until a selected time.
-
32. In an input-queued system for scheduling unicast and multicast cells in a nonblocking switch having a plurality of inputs and a plurality of outputs, said cells each having a designated output and a priority, a memory including
a plurality of unicast input queues at each input; -
a multicast input queue at each input;
at each said input, an accept precedence pointer indicative of one of said outputs;
at each said output, an individual grant precedence pointer indicative of one of said inputs; and
a group grant precedence pointer indicative of one of said inputs. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification