Scheduling apparatus and scheduling method
First Claim
1. A scheduling apparatus for fetching data elements from a plurality of queues for storing inputted data elements, comprising:
- storing means for storing read-out number data defined as data for determining an upper limit of the number of the data elements that are read extra from the queue with respect to each of the plurality of queues;
designating means for cyclically designating one of the plurality of queues as a processing target;
judging means for judging whether or not the queue designated by said designating means is stored with the data elements;
adding means for adding "1" to the read-out number data, corresponding to the queue designated by said designating means, in said storing means when said judging means judges that the queue is not stored with the data elements; and
data element fetching means for fetching a data element from the queue designated by said designating means when said judging means judges that the queue is stored with the data elements, judging whether or not the read-out number data corresponding to this queue is above 1, and, when the read-out number data is over 1, fetching from the queue the data elements an upper limit number of which is the read-out number data, and further subtracting the number of the fetched data elements from the read-out number data corresponding to that queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A scheduling apparatus and a scheduling method are capable of reading data elements from a plurality of queues in such a form that past hysteresis reflects therein. The scheduling apparatus comprises a queue hysteresis table for storing a value e-- count obtained subtracting the number of data elements (packets in a router) actually fetched out of the queue, from the number of times with which this queue becomes a processing target with respect to each queue. The apparatus also comprises a scheduling unit for cyclically designating each queue as a processing target, adding "1" to e-- count, corresponding to that queue, in the queue hysteresis table if no data elements exist in the queue designated as the processing target, consecutively fetching, from the processing target queue, the data elements the number of which corresponds to a value of e-- count corresponding to the queue if the data elements exist in the processing target queue, and decrementing the value of e-- count by the number of fetched data elements.
-
Citations
10 Claims
-
1. A scheduling apparatus for fetching data elements from a plurality of queues for storing inputted data elements, comprising:
-
storing means for storing read-out number data defined as data for determining an upper limit of the number of the data elements that are read extra from the queue with respect to each of the plurality of queues; designating means for cyclically designating one of the plurality of queues as a processing target; judging means for judging whether or not the queue designated by said designating means is stored with the data elements; adding means for adding "1" to the read-out number data, corresponding to the queue designated by said designating means, in said storing means when said judging means judges that the queue is not stored with the data elements; and data element fetching means for fetching a data element from the queue designated by said designating means when said judging means judges that the queue is stored with the data elements, judging whether or not the read-out number data corresponding to this queue is above 1, and, when the read-out number data is over 1, fetching from the queue the data elements an upper limit number of which is the read-out number data, and further subtracting the number of the fetched data elements from the read-out number data corresponding to that queue. - View Dependent Claims (2, 3, 4)
-
-
5. A scheduling apparatus for fetching data elements from a plurality of queues for storing inputted data elements, comprising:
-
storing means for storing size data with respect to each of the plurality of queues; designating means for cyclically designating one of the plurality of queues as a processing target; adding means for adding a specified value to the size data, corresponding to that queue, in said storing means if the queue designated by said designating means is not stored in its head with the data element having a size under the size data, corresponding to the queue, in said storing means; and data element fetching means for, if the queue designated by said designating means is stored in its head with the data element having the size under the size data corresponding to that queue, fetching the same data element, and repeating a process of subtracting a size of the fetched data element from the size data corresponding to that queue till the data elements having the size under the size data come to non-existence in the head of that queue. - View Dependent Claims (6, 7, 8)
-
-
9. A scheduling method of fetching data elements from a plurality of queues for storing inputted data elements, comprising:
-
a step of cyclically designating one of the plurality of queues as a processing target; a step of adding "1" to read-out number data corresponding to that queue if the relevant queue is not stored with the data elements with respect to each queue designated as the processing target; a step of fetching a data element from the relevant queue if this queue is stored with the data elements; a step of judging whether or not the read-out number data of the relevant queue is over "1"; a step of further fetching, from the relevant queue, the read-out number data an upper limit number of which is the read-out number data; and a step of subtracting the number of the fetched data elements from the read-out number data.
-
-
10. A scheduling method of fetching data elements from a plurality of queues for storing inputted data elements, comprising:
-
a step of cyclically designating one of the plurality of queues as a processing target; a step of adding a specified value to size data corresponding to the relevant queue if the head of this queue is not stored with the data elements having a size under size data corresponding to that queue with respect to each queue designated as the processing target; a step of fetching, if the data element having the size under the size data corresponding to the relevant queue is stored in the head of that queue, this piece of data element; and a step of repeating a process of subtracting a size of the fetched data element from the size data corresponding to the relevant queue till the data element having the size under the size data comes to non-existence in the head of the relevant queue.
-
Specification