Dynamic rank ordered scheduling mechanism
First Claim
Patent Images
1. In a dynamic rank ordered scheduling mechanism for enqueuing data elements on and dequeuing data elements from lists, the improvement comprising:
- storage means for storing a queue control block and a list head table having a plurality of ranks with each rank representing a priority level and controlling an associated list comprising a plurality of data elements which are stored in said storage means;
said queue control block including a value B representing a pointer to the table rank from which a dequeue last occurred, a value N representing a count of the priority levels which have enqueued data elements, a value K representing the base address of the table, and a bit map having a binary bit position corresponding to each of said ranks;
means for applying a data element to said storage means;
means providing an indication of the priority (P) of a data element applied to said storage means;
means for summing K, N, B and P to produce an enqueue address representing a rank in said list head table;
means for applying said enqueue address to said table to enqueue a data element applied thereto; and
,means connected to said storage means for setting the corresponding bit position in said bit map and incrementing said value N when a data element is first enqueued on a given rank of said table.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided which permits the insertion of elements into a list of positions determined by the rank of the elements and allows deletion of elements only from the top of the list. The arrangement provides dynamic aging of the priorities of the elements entered into the list.
-
Citations
11 Claims
-
1. In a dynamic rank ordered scheduling mechanism for enqueuing data elements on and dequeuing data elements from lists, the improvement comprising:
-
storage means for storing a queue control block and a list head table having a plurality of ranks with each rank representing a priority level and controlling an associated list comprising a plurality of data elements which are stored in said storage means; said queue control block including a value B representing a pointer to the table rank from which a dequeue last occurred, a value N representing a count of the priority levels which have enqueued data elements, a value K representing the base address of the table, and a bit map having a binary bit position corresponding to each of said ranks; means for applying a data element to said storage means; means providing an indication of the priority (P) of a data element applied to said storage means; means for summing K, N, B and P to produce an enqueue address representing a rank in said list head table; means for applying said enqueue address to said table to enqueue a data element applied thereto; and
,means connected to said storage means for setting the corresponding bit position in said bit map and incrementing said value N when a data element is first enqueued on a given rank of said table.
-
-
2. In a dynamic rank ordered scheduling mechanism for enqueuing elements received from a source external to said mechanism in ranks in a table, or dequeuing elements from said table, the improvement comprising:
-
means for storing a table of elements; and
,means for enqueuing elements in said table at insertion points I defined by the equation I=B+N+P where B is a value representing a pointer to a table rank from which a dequeue last occurred, N is a value representing the number of ranks of the table that have at least one element enqueued therein, and P is a priority value assigned to the element being enqueued. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. The method of enqueuing and dequeuing elements in a table having a number of ranks each rank representing a priority level, said method comprising:
-
inserting elements in the table at an insertion point I=B+N+P; and
,dequeuing elements from the table at a deletion point D where, D is a value representing the highest order rank in the table that contains an element, N is a value representing the number of ranks of the table having at least one element enqueued therein, P is a priority value assigned to an element being enqueued, and, B is a value representing a pointer to the table position from which the last dequeue occurred.
-
Specification