ATM cell scheduling method and apparatus
First Claim
1. In a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and a peak cell rate setting a maximum rate at which cells are transmitted in the virtual channel, a method of scheduling cells for transmission comprising the steps of:
- (a) selecting a next cell for transmission;
(b) comparing a current time to a next compliant cell time, the next compliant cell time comprising the earliest time that the next cell is sent in compliance with the peak cell rate of the virtual channel associated with the next cell;
(1) if the current time is before the next compliant cell time then selecting a new next cell for transmission;
(2) else buffering the next cell and calculating a new next compliant cell time;
wherein each virtual channel has a burst credit reflecting a cumulative amount of time that cells for the virtual channel were sent after their respective next compliant cell times, wherein the step of calculating the next compliant cell time comprises, if a minimum time between cells exceeds the difference between a maximum time between cells and the burst credit, then setting the next compliant cell time to a scheduled transmission time of the next cell plus the maximum time between cells and less the burst credit, and otherwise setting the next compliant cell time to the scheduled transmission time of the next cell plus the minimum time between cells, whereby cells are sent as closely in time as possible without exceeding the peak cell rate, missing the subscription rate or exceeding a burst tolerance.
2 Assignments
0 Petitions
Accused Products
Abstract
A cell scheduling method and apparatus are described in which cells are efficiently scheduled in four steps. In a first step, a VC is selected for servicing and serviced if necessary. In a second step, cells from the serviced VCs are scheduled for transmission. In a third step, jitter is controlled. In a fourth step, final departure of cells is scheduled.
70 Citations
8 Claims
-
1. In a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and a peak cell rate setting a maximum rate at which cells are transmitted in the virtual channel, a method of scheduling cells for transmission comprising the steps of:
-
(a) selecting a next cell for transmission;
(b) comparing a current time to a next compliant cell time, the next compliant cell time comprising the earliest time that the next cell is sent in compliance with the peak cell rate of the virtual channel associated with the next cell;
(1) if the current time is before the next compliant cell time then selecting a new next cell for transmission;
(2) else buffering the next cell and calculating a new next compliant cell time;
wherein each virtual channel has a burst credit reflecting a cumulative amount of time that cells for the virtual channel were sent after their respective next compliant cell times, wherein the step of calculating the next compliant cell time comprises, if a minimum time between cells exceeds the difference between a maximum time between cells and the burst credit, then setting the next compliant cell time to a scheduled transmission time of the next cell plus the maximum time between cells and less the burst credit, and otherwise setting the next compliant cell time to the scheduled transmission time of the next cell plus the minimum time between cells, whereby cells are sent as closely in time as possible without exceeding the peak cell rate, missing the subscription rate or exceeding a burst tolerance.
-
-
2. In a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and a peak cell rate setting a maximum rate at which cells are transmitted in the virtual channel, a method of scheduling cells for transmission comprising the steps of:
-
(a) selecting a next cell for transmission;
(b) comparing a current time to a next compliant cell time, the next compliant cell time comprising the earliest time that the next cell is sent in compliance with the peak cell rate of the virtual channel associated with the next cell;
(1) if the current time is before the next compliant cell time then selecting a new next cell for transmission;
(2) else buffering the next cell and calculating a new next compliant cell time;
wherein each virtual channel has a cell delay variation time reflecting a rounding error between the subscription rate and a line rate and a scheduling variance, wherein if the next cell is scheduled for transmission beyond the cell delay variation time, the step of calculating the next compliant cell time comprises, incrementing the next compliant cell time by a minimum time between cells, and otherwise setting the next compliant cell time to a transmission time of the next cell plus the minimum time between cells less the cell delay variation time, whereby cells are sent as closely in time as possible without exceeding the peak cell rate, missing the subscription rate or exceeding a burst tolerance.
-
-
3. In a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and inversely a maximum time between cells, a peak cell rate setting the maximum rate at which cells are transmitted in the virtual channel and inversely a minimum time between cells, and a cell delay variation time setting a maximum delay from the subscription rate, a method of scheduling cells of a given virtual channel for transmission, each cell of the given virtual channel having a respective offset number associated therewith equal to an incremental number of cells transmitted in the virtual channel from a reference cell, the method comprising the steps of:
-
(a) comparing a preliminary transmission time for a given cell of the given virtual channel to a subscribed cell time for the given cell, wherein the preliminary transmission time comprises the actual transmission time of the reference cell of the virtual channel plus the offset number for the given cell times the minimum time between cells, and the subscribed cell time comprises the actual transmission time of the reference cell of the virtual channel plus the offset number for the given cell times the maximum time between cells;
(b) if the preliminary transmission time is not more than the cell delay variation time before the subscribed cell time, then scheduling the given cell for transmission at the preliminary transmission time;
(c) else scheduling the given cell for transmission at the preliminary transmission time plus a tick, the tick comprising an amount of time less than the minimum time between cells. - View Dependent Claims (4)
-
-
5. An advance cell scheduler for a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and a peak cell rate setting a maximum rate at which cells are transmitted in the virtual channel, the advance cell scheduler comprising:
-
(a) means for selecting a next cell for transmission; and
(b) means for comparing a current time to a next compliant cell time, the next compliant cell time comprising an earliest time that the next cell is sent in compliance with the peak cell rate of the virtual channel associated with the next cell; and
(c) means for determining if the current time is before the next compliant cell time and, if so, selecting a new next cell for transmission, and otherwise buffering the next cell and calculating a new next compliant cell time. wherein each virtual channel has a burst credit reflecting a cumulative amount of time that cells for the virtual channel were sent after their respective next compliant cell times, and the advance cell scheduler includes means for calculating the next compliant cell time comprising means for determining if a minimum time between cells exceeds the difference between a maximum time between cells and the burst credit, and if so, setting the next compliant cell time to a scheduled transmission time of the next cell plus the maximum time between cells and less the burst credit, and otherwise setting the next compliant cell time to the scheduled transmission time of the next cell plus the minimum time between cells.
-
-
6. An advance cell scheduler for a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and a peak cell rate setting a maximum rate at which cells are transmitted in the virtual channel, the advance cell scheduler comprising:
-
(a) means for selecting a next cell for transmission; and
(b) means for comparing a current time to a next compliant cell time, the next compliant cell time comprising an earliest time that the next cell is sent in compliance with the peak cell rate of the virtual channel associated with the next cell; and
(c) means for determining if the current time is before the next compliant cell time and, if so, selecting a new next cell for transmission, and otherwise buffering the next cell and calculating a new next compliant cell time;
wherein each virtual channel has a cell delay variation time reflecting a rounding error between the subscription rate and a line rate and a scheduling variance, the advance cell scheduler including means for determining if the next cell is scheduled for transmission beyond the cell delay variation time, and if so, incrementing the next compliant cell time by a minimum time between cells, and otherwise setting the next compliant cell time to the transmission time of the next cell plus the minimum time between cells less the cell delay variation time.
-
-
7. A cell departure sequencer for a digital communications network for communicating cells wherein virtual channels are established for sequentially transmitting cells, and for each virtual channel there is a subscription rate setting a minimum rate at which cells are transmitted in the virtual channel and inversely a maximum time between cells, a peak cell rate setting a maximum rate at which cells are transmitted in the virtual channel and inversely a minimum time between cells, and a cell delay variation time setting a maximum delay from the subscription rate, a method of scheduling a given cell of a given virtual channel for transmission, each cell of the given virtual channel having a respective offset number associated therewith equal to an incremental number of cells transmitted in the virtual channel from a reference cell, the cell departure sequencer comprising:
-
(a) means for comparing a preliminary transmission time for the given cell to a subscribed cell time for the given cell, wherein the preliminary transmission time comprises an actual transmission time of the reference cell of the virtual channel plus the offset for the given cell times the minimum time between cells, and the subscribed cell time comprises the actual transmission time of the reference cell of the virtual channel plus the offset for the given cell times the maximum time between cells;
(b) means for determining if the preliminary transmission time is not more than the cell delay variation time before the subscribed cell time, and if so, then scheduling the given cell for transmission at the preliminary transmission time, and otherwise scheduling the given cell for transmission at the preliminary transmission time plus a tick, the tick comprising an amount of time less than the minimum time between cells. - View Dependent Claims (8)
-
Specification