Unified network cell scheduler and flow controller
First Claim
1. A unified scheduler for prioritizing and scheduling a plurality of fixed length communication cells for multiple virtual communication channels of a communication network, the unified scheduler comprising:
- a rewritable storage unit for storing schedule times of fixed length communication cells of the multiple virtual communication channels and for storing virtual communication channel parameters used to compute a next scheduled time for a fixed length communication cell, said parameters including a cell delay variation tolerance and an allowed cell period;
a sorter, coupled to the rewritable storage unit, for sorting schedule times and determining the priority of the transmission of the plurality of fixed length communication cells on their respective virtual communication channels and selecting a prioritized fixed length communication cell for transmission;
a programmable microcontroller, coupled to the rewritable storage unit, for computing the next scheduled time from a current time and a virtual communication channel'"'"'s parameters, said programmable microcontroller having a second rewritable storage unit for storing a scheduling and rate adjustment program, said microcontroller computes the next scheduled time by adding the current transmission time with a modified parameter of the allowed cell period to generate an ideal next scheduled time, said modified parameter being generated by said rate adjustment program.
7 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes a method and apparatus for prioritizing and scheduling ATM cells that are competing for a given time slot for transmission onto a network. A segmentation and reassembly controller establishes a data structure within a memory. The preferable data structure includes a virtual connection time table and a virtual connection parameter table that use linked lists to index to one another. The segmentation and reassembly (SAR) controller includes a sorter for determining the priority of the ATM cells and selecting one for a given time slot and a microcode engine to compute next scheduled time slot and adjust the virtual connection parameter table for a given virtual connection. Coupled to the microcode engine is a random access memory for storing microcode programs so that the SAR may be programmed to prioritize and schedule in a different manner.
172 Citations
21 Claims
-
1. A unified scheduler for prioritizing and scheduling a plurality of fixed length communication cells for multiple virtual communication channels of a communication network, the unified scheduler comprising:
-
a rewritable storage unit for storing schedule times of fixed length communication cells of the multiple virtual communication channels and for storing virtual communication channel parameters used to compute a next scheduled time for a fixed length communication cell, said parameters including a cell delay variation tolerance and an allowed cell period; a sorter, coupled to the rewritable storage unit, for sorting schedule times and determining the priority of the transmission of the plurality of fixed length communication cells on their respective virtual communication channels and selecting a prioritized fixed length communication cell for transmission; a programmable microcontroller, coupled to the rewritable storage unit, for computing the next scheduled time from a current time and a virtual communication channel'"'"'s parameters, said programmable microcontroller having a second rewritable storage unit for storing a scheduling and rate adjustment program, said microcontroller computes the next scheduled time by adding the current transmission time with a modified parameter of the allowed cell period to generate an ideal next scheduled time, said modified parameter being generated by said rate adjustment program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A network interface communication controller for controlling the flow of fixed length communication cells over a communication channel, comprising;
-
a rewritable storage for sorting parameters, a priority and an identity of the communication channel; a segmentation and reassembly (SAR) controller, coupled to a system bus, a network transmission link, a network receiving link and the rewritable storage, for prioritizing and scheduling the flow of fixed length communication cells by analyzing the parameters and the priority of the communication channel and selecting a channel with the highest priority for scheduling, said parameters including a cell delay variation delay tolerance (CDVT) and an allowed cell period (ACP), said priority being an expiration time computed by adding the cell delay variation tolerance to an ideal next scheduled time, said ideal next scheduled time being computed by adding a modified parameter, allowed cell period, to a current transmission time, said modified parameter being generated by a rate adjustment program. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A segmentation and reassembly (SAR) controller for controlling the flow of fixed length communication cell over a communication path and channel of a communication network, the SAR controller comprising:
-
a system bus interface for coupling to a system bus and communicating to a host system; a storage controller, for coupling to a rewritable storage having scheduled times and virtual communication channel parameters data stored therein, addressing the rewritable storage, and reading the data from and writing the data into the rewritable storage; a network output interface for coupling to a transmission cabling of the network; a network input interface for coupling to receiving cabling of the network; a segmenter, coupled to the system bus interface, the memory controller, and the network output interface, for segmenting data into prioritized fixed length communication cells; a scheduler coupled to the segmenter and the memory controller, having a sorter and a microcode engine for sorting and scheduling the prioritized fixed length communication cells for transmission out to the network based on the scheduled times and virtual communication channel parameters, said microcode engine computes the next scheduled time by adding the current transmission time with the modified parameter of the allowed cell period to generate an ideal next scheduled time, said modified parameter being generated by a rate adjustment program, said ideal next scheduled time being used to compute an expiration time and a maturation time; a reassembler, coupled to the system bus interface, the memory controller, and the network input interface, for removing the header from the prioritized fixed length communication cells and reassembling them into usable data, the reassembler further comprising; a DMA controller coupled to the system bus interface for communicating user data onto the system bus, and a network feedback logic coupled to the network input interface for reading the prioritized fixed length communication cells received from the network and adjusting the sorting and scheduling of the prioritized fixed length communication cells by the scheduler. - View Dependent Claims (16, 17)
-
-
18. A method of prioritizing and scheduling the flow of fixed length communication cells over a communication channel of a communication network, the steps comprising:
-
a) computing a priority value for a fixed length communication cell based on communication channel parameters, said priority value being an expiration time computed by adding a cell delay variation tolerance to an ideal next scheduled time, said ideal next scheduled time being computed by adding a modified allowed cell period to a current transmission time, said modified allowed cell period being computed by a rate adjustment program; b) storing the priority value and an identifier of the fixed length communication cell into a rewritable storage unit; c) sorting on the priority value of the fixed length communication cell to determine the cell having the highest priority; d) selecting the fixed length communication cell having the highest priority for transmission over the communication channel of the communication network; and e) repeating steps (a) through (d). - View Dependent Claims (19)
-
-
20. A scheduler for sorting and scheduling the flow of fixed length communication cell over a communication path and channel of a communication network, the scheduler comprising:
-
a) a microcode engine which includes a scheduling and rate adjustment program and which computes the next scheduled time by adding the current transmission time with a modified parameter of the allowed cell period to generate an ideal next scheduled time, said modified parameter being generated by said rate adjustment program; b) a sorter for determining the priority of a fixed length cell for transmission onto a communication network and for selecting said cell for transmission as a function of its priority. - View Dependent Claims (21)
-
Specification