Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
141 words
A method of administering a priority queue structure, wherein the structure includes a queue partitioned into subqueues corresponding to different priorities of elements to be serviced from the queue and ordered within the queue according to the respective priorities of the subqueues, wherein each element of the queue comprises a next pointer to the next element in the queue, if any, said method comprising the steps of determining the priority class of a new element arriving for insertion into the queue, locating the last entry of the subqueue corresponding to the determined priority class by addressing a priority pointer array that contains a pointer for each subqueue pointing to the last entry in the respective subqueue, inserting the new element as the last entry of the subqueue, and periodically servicing the priority queue by removing the top entry from the queue.
Claim 2
Independent Claim
141 words
A method of administering a priority queue structure, wherein the structure includes a queue partitioned into subqueues corresponding to different priorities of elements to be serviced from the queue and ordered within the queue according to the respective priorities of the subqueues, wherein each element of the queue comprises a next pointer to the next element in the queue, if any, said method comprising the steps of determining the priority class of a new element arriving for insertion into the queue, locating the last entry of the subqueue corresponding to the determined priority class by addressing a priority pointer array that contains a pointer for each subqueue pointing to the last entry in the respective subqueue, inserting the new element as the last entry of the subqueue, and periodically servicing the priority queue by removing the top entry from the queue.
Claim 3
Dependent Claim
129 words
The method of claim 1 wherein each queue element further comprises a back pointer which for each last entry of a subqueue points to the respective entry in the priority pointer array and the step of inserting the new entry further comprises determining if the subqueue corresponding to the priority class of the new element is empty, if the subqueue is not empty, clearing the back pointer of the present last element of the subqueue, pointing the next pointer of the present last element of the subqueue to point to the new element, initializing the back pointer of the new element to point to the corresponding subqueue pointer of the priority pointer array and initializing the corresponding pointer of the priority pointer array to point to the new element.
Claim 4
Dependent Claim
142 words
The method of claim 1 wherein each queue element further comprises a back pointer which for each last entry of a subqueue points to the respective entry in the priority pointer array and the priority queue structure further includes a head pointer that points to the first element on the queue and the step of inserting the new entry further comprises determining if the subqueue corresponding to the priority class of the new element is empty, if the subqueue is empty, initializing the back pointer of the new element to point to the corresponding subqueue pointer of the priority pointer array and initializing the corresponding pointer of the priority pointer array to point to the new element, determining from the head pointer if the queue is empty, if the queue is empty, initializing the head pointer to point to the new element.
Claim 5
Dependent Claim
160 words
Apparatus for administering a priority queue structure, wherein the structure includes a queue partitioned into subqueues corresponding to different priorities of elements to be serviced from the queue and ordered within the queue according to the respective priorities of the subqueues, and further wherein each element of the queue comprises a next pointer to the next element in the queue, if any, comprising a priority pointer array containing a pointer for each subqueue that points to the last entry in its respective subqueue, means for determining the priority class of a new element arriving for insertion into the queue, means for determining from the priority pointer array the last element in the queue corresponding to the priority class of the new element, means for inserting the new element as the last entry of the subqueue corresponding to the priority class of the new element, and means for periodically servicing the priority queue by removing the top entry from the queue.
Claim 6
Dependent Claim
160 words
Apparatus for administering a priority queue structure, wherein the structure includes a queue partitioned into subqueues corresponding to different priorities of elements to be serviced from the queue and ordered within the queue according to the respective priorities of the subqueues, and further wherein each element of the queue comprises a next pointer to the next element in the queue, if any, comprising a priority pointer array containing a pointer for each subqueue that points to the last entry in its respective subqueue, means for determining the priority class of a new element arriving for insertion into the queue, means for determining from the priority pointer array the last element in the queue corresponding to the priority class of the new element, means for inserting the new element as the last entry of the subqueue corresponding to the priority class of the new element, and means for periodically servicing the priority queue by removing the top entry from the queue.
Claim 7
Dependent Claim
166 words
The apparatus of claim 4 wherein each queue element further comprises a priority counter field, said apparatus further comprising means for initializing the priority counter of a new element to a first priority value determined by a prescribed function of the priority class of the new element, said first priority value being one of a set of priority values that are defined to reside in the priority class of the new element, means for determining if the new element preempts a present element in the queue, and means for promoting the priority of a preempted element, wherein the means for promoting further comprises means for setting the priority value of the preempted element to a higher priority value, means for determining if the higher priority value of the preempted element is within the set of priority values that correspond to a higher priority class, and if so, means for relinking the preempted element into the subqueue corresponding to the priority class of the higher priority value.
Claim 8
Dependent Claim
41 words
The apparatus of claim 5 further comprising means for generating the value of the prescribed function=3 X-1 , where X is the priority class of a new element, and the first priority value is the value calculated by the prescribed function.
Claim 9
Dependent Claim
26 words
The apparatus of claim 6 wherein the means for promoting a preempted element further comprises means for decrementing its present priority value by a prescribed amount.
Claim 10
Dependent Claim
49 words
The apparatus of claim 7 wherein the means for determining if the priority value of a promoted element resides in a higher priority class further comprises means for determining if the promoted priority value is equal to the value determined by the prescribed function for the higher priority class.