Single-keyed indexed file for TP queue repository
AssigneeDigital Equipment Corporation
InventorJames P. Emmond
Life of this patent
Estimating the term…
Loading patent…
AssigneeDigital Equipment Corporation
InventorJames P. Emmond
Estimating the term…
A task queue is structured as a single-keyed indexed file in which the key has a most significant portion indicating a priority level and a less significant portion that is ordered with the loading of the tasks into the queue. For any given task record in the queue, the less significant portion of the key is determinable from a respective task identifier. Preferably the less significant portion of the key is a "time stamp" including the current date when the task was created and a representation of the data processor's internal 24 hour time clock, and a task identification number is formed by appending a node number to the time stamp in the event that the system has multiple processors capable of creating different tasks at the same time. This format of the single key causes an internal ordering of the records in the queue that is sequential with respect to the less significant portion of the key within blocks of records having the same priority. Therefore, due to the relationship between the key and the task identification number for each task record in the queue, it is possible to quickly search for the record having a requested task identification number. Conventional memory management facilities for accessing key-indexed files can be used for searching the queue. In this case the queue is searched by random or "key next" access to repeatedly step through the possible priority levels until a record having a matching key is found or the end of file is reached. When a record having a matching key is found, the requested task identification number is compared to the identification field of the record. If there is a match, the desired record has been found. If not, then searching continues by sequential access until there is a match of the identification numbers or until the keys no longer match.
A memory device in a data processing system, said memory device holding a queue of data, said queue comprising an ordered set of a multiplicity of records of said data, each of said records including an identifier field holding a respective identifier different from the respective identifiers in the identifier fields of the other ones of said records, each of said records also including a key field holding a respective key value having a most significant portion indicating a priority level and a less significant portion that is a predetermined function of the respective identifier in the record, said records having been stored in said queue sequentially with respect to said less significant portion of the key values, and said records being ordered in said queue sequentially with respect to said key values but not sequentially with respect to said less significant portion of the key values, whereby records having the same priority level are included in respective blocks of said records, and the records in each block are ordered sequentially with respect to the less significant portion of the key values.
A memory device for a data processing system, said memory device holding a queue of data, said queue comprising an ordered set of a multiplicity of records of said data in a key-indexed file having a primary key, each of said records including an identifier field holding a respective identifier different from the respective identifiers in the identifier fields of the other ones of said records, each of said records also including a key field holding a respective key value which is a value of said primary key for said key-indexed file, said key value having a most significant portion indicating a priority level and a less significant portion, the key field and the identifier field of each of said records overlapping over a common field holding the less significant portion of the key value in the key field, said records having been stored in said queue sequentially with respect to said less significant portion of the key values, and said records being ordered in said queue sequentially with respect to said key values but not sequentially with respect to said less significant portion of the key values, whereby records having the same priority level are included in respective blocks of said records, and the records in each block are ordered sequentially with respect to the less significant portion of the key values.
A data processing system comprising, in combination,
A data processing system comprising, in combination,
A data processing system comprising a memory device, means for producing data records and means for sequentially storing said records in said memory device to arrange said records in said memory device in an ordered set forming a queue of said records, said means for producing data records including means for generating identifiers for identifier fields in said records so that each of said records includes an identifier field holding a respective identifier different from the respective identifiers in the identifier fields of the other ones of said records, said means for producing data records further including means for producing key values for key fields in said records so that each of said records also includes a key field holding a respective key value having a respective most significant portion indicating a priority level and a less significant portion that is a predetermined function of the respective identifier in the record, and said means for sequentially storing said records including means for ordering said records in said queue so that records having the same priority level are included in respective blocks of said records, the records in each block are ordered sequentially with respect to the less significant portion of the key values and sequentially with respect to the storing of said records in said memory, and the records in said queue are ordered sequentially with respect to the key values but not sequentially with respect to the storing of said records in said memory device.
A data processing system comprising a memory device, means for producing data records and means for sequentially storing said records in said memory device to form a queue of said records in a key-indexed file wherein said key-indexed file has a primary key, said means for producing data records including means for generating time values and processor numbers and combining the time values and processor numbers to form identifiers for identifier fields in said records so that each of said records includes an identifier field holding a respective identifier different from the respective identifiers in the identifier fields of the other ones of said records, said means for producing data records further including means for producing key values for key fields in said records so that each of said records also includes a key field holding a respective key value having a most significant portion indicating a priority level and a less significant portion that is the time value of the respective identifier in the record, and said means for sequentially storing said records including means for ordering said records in said queue so that said key values are values of said primary key of said key-indexed file and records having the same priority level are included in respective blocks of said records, the records in each block are ordered sequentially with respect to the less significant portion of the key values and sequentially with respect to the storing of said data records in said memory, and the records in said queue are ordered sequentially with respect to the key values but not sequentially with respect to the storing of said records in said memory device.
A method of operating a data processor in a data processing system to search a queue for a data record having a requested identifier, said queue being held in a memory device in said data processing system, said queue comprising an ordered set of a multiplicity of records of data stored in said memory device, each of said records of data stored in said memory device, each of said records including an identifier field holding a respective identifier, each of said records also including a key field holding a respective key value having a most significant portion indicating a priority level and a less significant portion that is a predetermined function of the respective identifier in the record, said records being ordered in said queue sequentially with respect to said key values but not sequentially with respect to said less significant portion of the key values whereby records having the same priority level are included in respective blocks of said records, and the records in each block are ordered sequentially with respect to the less significant portion of the key values, said method comprising the steps of:
A method of operating a data processor in a data processing system to search a queue for a data record having a requested identifier, said queue being held in a memory device in said data processing system, said queue comprising an ordered set of a multiplicity of records of data stored in a key-indexed file in said memory device, each of said records including a respective identifier field holding an identifier different from the respective identifiers included in the other ones of the records, each of the identifiers having a respective time value, each of said records also including a key field holding a respective key value having a most significant portion indicating a priority level and a less significant portion that is the time value of the respective identifier in the record, said key values being values of said primary key, said records being ordered in said queue sequentially with respect to said key values but not sequentially with respect to said less significant portion of the key values, whereby records having the same priority level are included in respective blocks of said records, and the records in each block are ordered sequentially with respect to the less significant portion of the key values, said method comprising the steps of:
A data processing system comprising, in combination,
Dependencies are inferred from the claim text.