Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
211 words
A device for managing one or more scheduling queues which schedule the execution of multiple tasks and events in a computer system having at least one scheduling processor for scheduling individual tasks and events, at least one slave processor for executing such tasks and events and a shared memory including at least one area for storing at least one circular first-in-first-out random access memory queue comprised of multiple, sequential memory locations and at least one area for storing at least one task control block comprising: first scheduler means for managing tasks awaiting execution; and second scheduler means for managing tasks the execution of which has been completed, said first scheduler means and said second scheduler means each further comprising: at least one cell means for storing and retrieving pointers to the location of task control blocks in the shared memory wherein each of said cell means communicates directly with one designated circular random access memory queue in which one memory location is used to store one such pointer; and routing means communicating both with said cell means and with either one scheduling processor or one slave processor for receiving task control block pointer read and write request from such processor and for routing such request to one of said cell means.
Claim 2
Independent Claim
211 words
A device for managing one or more scheduling queues which schedule the execution of multiple tasks and events in a computer system having at least one scheduling processor for scheduling individual tasks and events, at least one slave processor for executing such tasks and events and a shared memory including at least one area for storing at least one circular first-in-first-out random access memory queue comprised of multiple, sequential memory locations and at least one area for storing at least one task control block comprising: first scheduler means for managing tasks awaiting execution; and second scheduler means for managing tasks the execution of which has been completed, said first scheduler means and said second scheduler means each further comprising: at least one cell means for storing and retrieving pointers to the location of task control blocks in the shared memory wherein each of said cell means communicates directly with one designated circular random access memory queue in which one memory location is used to store one such pointer; and routing means communicating both with said cell means and with either one scheduling processor or one slave processor for receiving task control block pointer read and write request from such processor and for routing such request to one of said cell means.
Claim 3
Dependent Claim
83 words
The device of claim 1 wherein each said cell means is comprised of: read means for retrieving a pointer from a memory location in the circular random access memory queue with which said cell means communicates indicating the location in the shared memory of the oldest task control block scheduled in that queue; write means for storing a pointer to a task control block into the next empty memory location in the circular random access memory queue with which said cell means communicates.
Claim 4
Dependent Claim
72 words
The device of claim 1 wherein the circular random access memory queue in the shared memory with which each said cell means communicates is designated based on a matching of priority levels between said cell means and said queue if the device is operating in a parallel mode and on a predetermined association between said cell means and an external device or process if the device is operating in a serial mode.
Claim 5
Dependent Claim
74 words
The device of claim 2 wherein said cell means is further comprised of: adder means for incrementing the contents of said read means and said write means; and compare and zero means for comparing the contents of said read means with the contents of said write means, for verifying all writes to queues, and for managing the upper and lower boundaries of the address space of the memory queue managed by said cell means.
Claim 6
Dependent Claim
136 words
The device of claim 1 wherein said routing means is comprised of: multiplexor means for determining which of said cell means has an active queue element and which of said cell means has the highest priority; and task means for storing the identity of that cell means having the highest priority as determined by said multiplexor means; base address means for determining the upper and lower boundary of each of the memory queues; configuration means for determining whether said cell means is operating in a parallel or serial mode, whether pulsed or latched interrupts are to be furnished and the size of each queue; busy means for indicating which cells have pending tasks when the serial mode is in effect; and cause means for storing the cause of a fault or interrupt in said scheduler means.
Claim 7
Independent Claim
252 words
A method, performed by a computer system including at least two scheduling units each having at least one cell therein for managing a memory queue associated with that cell and a write register containing a value representing a memory location in that queue, at least one processor for scheduling individual tasks and events, at least one processor for executing such tasks and events and a shared memory having at least one area for storing at least one circular first-in-first-out random access memory queue having multiple memory locations and at least one area for storing at least one task control block, for managing and storing a pointer to a task control block for a task which has been identified and for which a task control block containing details about the task has been built and stored in the shared memory, comprising the computer-performed steps of: writing a pointer to the task control block to one of the scheduling units; routing that pointer to a selected cell within said one of the scheduling units; determining if the writing step is valid and, if so, storing the pointer in the memory location designated by the value contained in the write register and, if not, aborting the write operation; resetting the contents of the write register in the cell based on the availability of free memory locations in the queue; signaling the presence and priority of other valid tasks; making manual adjustments to the computer system in the event an invalid writing step has been attempted.
Claim 8
Independent Claim
252 words
A method, performed by a computer system including at least two scheduling units each having at least one cell therein for managing a memory queue associated with that cell and a write register containing a value representing a memory location in that queue, at least one processor for scheduling individual tasks and events, at least one processor for executing such tasks and events and a shared memory having at least one area for storing at least one circular first-in-first-out random access memory queue having multiple memory locations and at least one area for storing at least one task control block, for managing and storing a pointer to a task control block for a task which has been identified and for which a task control block containing details about the task has been built and stored in the shared memory, comprising the computer-performed steps of: writing a pointer to the task control block to one of the scheduling units; routing that pointer to a selected cell within said one of the scheduling units; determining if the writing step is valid and, if so, storing the pointer in the memory location designated by the value contained in the write register and, if not, aborting the write operation; resetting the contents of the write register in the cell based on the availability of free memory locations in the queue; signaling the presence and priority of other valid tasks; making manual adjustments to the computer system in the event an invalid writing step has been attempted.
Claim 9
Independent Claim
349 words
A method, performed by a computer system including at least two scheduling units each having at least one cell therein for managing a memory queue associated with that cell and a read register containing a value representing a memory location in that queue, at least one processor for scheduling individual tasks and events, at least one processor for executing such tasks and events and a shared memory having at least one area for storing at least one circular first-in-first-out random access memory queue having multiple memory locations and at least one area for storing at least one task control block, for managing and enabling a requesting processor to retrieve a task control block, comprising the computer-performed steps of: requesting one of the scheduling units to retrieve a pointer to a task control block based on a read request; determining whether there are any valid tasks, pointers to which can be retrieved, and, if not, signaling the absence of such valid tasks and exiting the process; routing the read request to a cell selected on the basis of the mode, parallel or serial, in which such cell is operating if there are valid tasks; accessing a memory location in the queue with which that cell is associated specified by the value contained in the read register of that cell; retrieving a pointer from the accessed memory location in the queue which pointer indicates the location in the shared memory of a task control block; setting the contents of the accessed memory location in the queue specified by the value in the read register of the cell to zero; resetting the value of the read register in the cell; testing whether the particular memory location in the queue which was accessed was empty and, if so, notifying said one of the scheduling units of that status; preparing said one of the scheduling units for routing the next read request to the proper cell; returning the value of the retrieved pointer to the requesting processor; and retrieving the task control block from the location in the shared memory specified by the pointer.
Claim 10
Independent Claim
349 words
A method, performed by a computer system including at least two scheduling units each having at least one cell therein for managing a memory queue associated with that cell and a read register containing a value representing a memory location in that queue, at least one processor for scheduling individual tasks and events, at least one processor for executing such tasks and events and a shared memory having at least one area for storing at least one circular first-in-first-out random access memory queue having multiple memory locations and at least one area for storing at least one task control block, for managing and enabling a requesting processor to retrieve a task control block, comprising the computer-performed steps of: requesting one of the scheduling units to retrieve a pointer to a task control block based on a read request; determining whether there are any valid tasks, pointers to which can be retrieved, and, if not, signaling the absence of such valid tasks and exiting the process; routing the read request to a cell selected on the basis of the mode, parallel or serial, in which such cell is operating if there are valid tasks; accessing a memory location in the queue with which that cell is associated specified by the value contained in the read register of that cell; retrieving a pointer from the accessed memory location in the queue which pointer indicates the location in the shared memory of a task control block; setting the contents of the accessed memory location in the queue specified by the value in the read register of the cell to zero; resetting the value of the read register in the cell; testing whether the particular memory location in the queue which was accessed was empty and, if so, notifying said one of the scheduling units of that status; preparing said one of the scheduling units for routing the next read request to the proper cell; returning the value of the retrieved pointer to the requesting processor; and retrieving the task control block from the location in the shared memory specified by the pointer.
Claim 11
Independent Claim
207 words
A system for managing one or more scheduling queues which schedule the execution of multiple tasks and events in a distributed multiprocessing computer system comprising: at least one scheduling processing module; at least one other processing module acting in a slave capacity to said scheduling processor module; a shared global memory array including: first realtime hardware scheduler means for managing queues related to tasks and events awaiting processing wherein said scheduler means may operate in either a parallel or a serial mode; and second realtime hardware scheduler means for managing queues related to completed tasks and events wherein said scheduler means may operate in either a parallel or a serial mode; and a first shared memory area for storing task control blocks; a second shared memory area for storing at least one circular random access memory queue managed by one of said scheduler means wherein each said queue is associated either with a particular execution priority level or with a particular external device or application depending on whether the scheduler means managing that queue is operating, respectively, in a parallel or serial mode; a third shared memory area for storing other data; a bus structure interconnecting all of said processing modules and said shared global memory array.
Claim 12
Independent Claim
207 words
A system for managing one or more scheduling queues which schedule the execution of multiple tasks and events in a distributed multiprocessing computer system comprising: at least one scheduling processing module; at least one other processing module acting in a slave capacity to said scheduling processor module; a shared global memory array including: first realtime hardware scheduler means for managing queues related to tasks and events awaiting processing wherein said scheduler means may operate in either a parallel or a serial mode; and second realtime hardware scheduler means for managing queues related to completed tasks and events wherein said scheduler means may operate in either a parallel or a serial mode; and a first shared memory area for storing task control blocks; a second shared memory area for storing at least one circular random access memory queue managed by one of said scheduler means wherein each said queue is associated either with a particular execution priority level or with a particular external device or application depending on whether the scheduler means managing that queue is operating, respectively, in a parallel or serial mode; a third shared memory area for storing other data; a bus structure interconnecting all of said processing modules and said shared global memory array.
Claim 13
Dependent Claim
52 words
The system of claim 8 wherein each of said realtime hardware scheduler means includes a cell means communicating with a specified memory queue for writing a pointer to the location of a task control block in the first shared memory area into the next empty memory location in the specified memory queue.
Claim 14
Dependent Claim
46 words
The system of claim 8 wherein each of said realtime hardware scheduler means includes a cell means communicating with a specified memory queue for reading therefrom a pointer to the location of the oldest task control block a pointer to which is stored in said queue.