Task communicator for multiple computer system
First Claim
1. A task communicator for each computer in a multiple computer system wherein each computer is capable of executing an assigned set of tasks, and each computer includes means for selecting the tasks it will execute, means for scheduling for execution the selected tasks in their order of selection, and an applications computer for executing the scheduled tasks, and wherein all of the computers in the system send messages to each other, said messages containing the identity and the values of the data variables resulting from the execution of the tasks by its own applications computer and wherein said applications computer generates a task done signal when it completes the execution of each task and is ready for a new task and said means for scheduling generates sequential dispatch task signals in response to said task done signal, each of said sequential dispatch task signals containing the identity of a scheduled task in its sequential order of selection, each of said task communicators comprising:
- a data value table storing the values of the data variables required for the execution of each assigned task, each data variable being generated at different times, and several values of the same data variable may be generated before a task is executed requiring an earlier generated value for that data variable, each data variable having an associated storage location in said data values table for storing at least one data value for that data variable;
store data value means responsive to the identity of the data variable contained in said messages received from all of said computers for recording in said associated storage locations of the data values table the values of the data variables contained in said messages;
task input means interfacing said applications computer for temporarily storing a task input message containing the values of the data variables required by said applications computer for the execution of the next scheduled task;
task dispatcher means responsive to the task identified in each of said dispatch task signals for selecting from said data values table the values of the data variables required for the execution of the scheduled task identified in said dispatch task signal and for recording said selected values in said task input means to generate said task input message;
task releaser means responsive to said task done signal generated by said applications computer signifying it has completed the execution of the preceeding scheduled task for releasing said task input message stored in said task input means to said applications computer for the execution of the scheduled task;
task output means for temporarily storing the values of the data variables produced by the execution of the task currently being executed by said applications computer; and
task results message sender means responsive to said task done signal generated by the applications computer signifying it has completed the execution of its current task for sending said messages to all of the computers, said messages containing the identity and values of the data variables stored in said task output means.
1 Assignment
0 Petitions
Accused Products
Abstract
A task communicator for each computer in a multiple computer system is disclosed. The task communicator provides communication of data values between cooperating tasks executed by different computers. The task communicator comprises a data values table (804) storing the current data values required for the execution of each task assigned to its computer. A store data value module (802) which stores the data values received from the other computers in the data values table. A task dispatcher (806) which copies the data values required for the execution of a selected task into a task input table (810). A release task module (814), which releases for execution the identified task and data values stored in the task input table. A task output table (812) storing the values of the data resulting from the execution of each task by its own computer. A task results message sender (818) which sends to all of the computers in the system messages containing the new data values stored in the task output table by the executed task.
-
Citations
17 Claims
-
1. A task communicator for each computer in a multiple computer system wherein each computer is capable of executing an assigned set of tasks, and each computer includes means for selecting the tasks it will execute, means for scheduling for execution the selected tasks in their order of selection, and an applications computer for executing the scheduled tasks, and wherein all of the computers in the system send messages to each other, said messages containing the identity and the values of the data variables resulting from the execution of the tasks by its own applications computer and wherein said applications computer generates a task done signal when it completes the execution of each task and is ready for a new task and said means for scheduling generates sequential dispatch task signals in response to said task done signal, each of said sequential dispatch task signals containing the identity of a scheduled task in its sequential order of selection, each of said task communicators comprising:
-
a data value table storing the values of the data variables required for the execution of each assigned task, each data variable being generated at different times, and several values of the same data variable may be generated before a task is executed requiring an earlier generated value for that data variable, each data variable having an associated storage location in said data values table for storing at least one data value for that data variable; store data value means responsive to the identity of the data variable contained in said messages received from all of said computers for recording in said associated storage locations of the data values table the values of the data variables contained in said messages; task input means interfacing said applications computer for temporarily storing a task input message containing the values of the data variables required by said applications computer for the execution of the next scheduled task; task dispatcher means responsive to the task identified in each of said dispatch task signals for selecting from said data values table the values of the data variables required for the execution of the scheduled task identified in said dispatch task signal and for recording said selected values in said task input means to generate said task input message; task releaser means responsive to said task done signal generated by said applications computer signifying it has completed the execution of the preceeding scheduled task for releasing said task input message stored in said task input means to said applications computer for the execution of the scheduled task; task output means for temporarily storing the values of the data variables produced by the execution of the task currently being executed by said applications computer; and task results message sender means responsive to said task done signal generated by the applications computer signifying it has completed the execution of its current task for sending said messages to all of the computers, said messages containing the identity and values of the data variables stored in said task output means. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for communicating values of data variables between tasks executed by a multiple computer system wherein each computer is capable of executing an assigned set of tasks, and each computer includes means for selecting in a cooperative manner with all of the other computers the tasks it will execute, means for scheduling the selected tasks in the sequential order in which they are selected, and an applications computer for executing the scheduled tasks and wherein all of the computers send to each other messages containing the identities and values of the data variables resulting from the execution of the scheduled tasks, and wherein said applications computer generates a task done signal signifying it has completed the execution of its current task and is ready for a new task, said method comprising the steps of:
-
recording the values of the data variables contained in said messages to generate a data values table in each computer, each data variable being generated at different times, and several values of the same data variable may be generated before a task is executed requiring an earlier generated value for that data variable; generating sequential dispatch task signals in response to said task done signals each of said sequential dispatch task signals containing in a sequential order the identity of a scheduled task in its order of selection; selecting from said data values table in response to said dispatch task signals all of the values of the data variables required for the execution of the scheduled task identified in said dispatch task signals; temporarily storing said selected values of the data variables for each scheduled task in a task input table to generate a task input message; releasing said task input message to said applications computer in response to said applications computer generating a task done signal signifying it has completed the execution of the preceeding scheduled task; executing by said applications computer the scheduled task with the values of the data variables contained in said task input message to produce new values for the data variables; recording said new values of the data variables produced by the execution of the scheduled task by the applications computer to generate a task output table; enabling a message sender means in response to said applications computer generating a task done signal signifying it has completed the execution of its current task to send to all of the computers said messages containing the identities and new values of the data variables stored in said task output table. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification