Distributed control method and apparatus
First Claim
1. A method of controlling distributed control executed in time sequence through mutual communication of messages by a plurality of tasks distributively executed on a plurality of nodes connected to a network for the communication and respectively made to implement parallel multitasking operations for the distributed control, the method comprising:
- making each of the nodes set, with respect to each of said tasks executable on the respective nodes, a margin time representative of a difference between an estimated completion time of said distributed control relating to each executed task, and a deadline time of said distributed control;
making each of the nodes allocate a higher execution right preferentially to each of said tasks in an ascending order of the margin time;
determining whether or not an execution time of any of said tasks reaching completion of the execution does not reach a worst case execution time set in advance for said task;
when it is determined that the execution time of said task reaching completion of the execution does not reach a worst case execution time, increasing said margin time for said task by a value corresponding to a difference between said worst case execution time and said execution time andwhen it is determined that said execution time thereof exceeds said worst case execution time, decreasing said margin time for said task by said value corresponding to the difference therebetween.
1 Assignment
0 Petitions
Accused Products
Abstract
In a distributed control method of executing distributed control such that a lot of tasks distributively executed in a lot of nodes connected to a network and made to implement multitasking operations communicate a message with each other to operate cooperatively in time sequence, an estimated completion time of the distributed control is calculated by summing up the worst execution times of the processing times of all tasks pertaining to the distributed control and the communication times of all messages between the tasks and an initial value of a margin time with respect to a deadline is determined by subtracting the estimated completion time from a control cycle of the distributed control. This margin time is set for each of all the distributed control to be executed on the system and is sequentially updated in accordance with the states of the tasks and messages. The processing on the tasks or the transmission of the messages is made preferentially in the order of lengthening margin time. This assures a response time and deadline condition to be required in distributed control without imposing an excessive burden on a designer of a distributed control system.
-
Citations
18 Claims
-
1. A method of controlling distributed control executed in time sequence through mutual communication of messages by a plurality of tasks distributively executed on a plurality of nodes connected to a network for the communication and respectively made to implement parallel multitasking operations for the distributed control, the method comprising:
-
making each of the nodes set, with respect to each of said tasks executable on the respective nodes, a margin time representative of a difference between an estimated completion time of said distributed control relating to each executed task, and a deadline time of said distributed control; making each of the nodes allocate a higher execution right preferentially to each of said tasks in an ascending order of the margin time; determining whether or not an execution time of any of said tasks reaching completion of the execution does not reach a worst case execution time set in advance for said task; when it is determined that the execution time of said task reaching completion of the execution does not reach a worst case execution time, increasing said margin time for said task by a value corresponding to a difference between said worst case execution time and said execution time and when it is determined that said execution time thereof exceeds said worst case execution time, decreasing said margin time for said task by said value corresponding to the difference therebetween. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of controlling distributed control executed in time sequence through mutual communication of messages by a plurality of tasks distributively executed on a plurality of nodes connected to a network for the communication and respectively made to implement parallel multitasking operations for the distributed control, the method comprising:
-
making each of the nodes set, with respect to each of said tasks executable on the respective nodes, a margin time representative of a difference between an estimated completion time of said distributed control relating to each executed task, and a deadline time of said distributed control; and making each of the nodes allocate a higher execution right preferentially to each of said tasks in an ascending order of the margin time; determining whether or not said margin time is smaller than a switching decision value set in advance; and when it is determined that said margin time is smaller than the switching decision value, switching the corresponding message from a normal message to be used at an ordinary condition to a simplified message smaller in size than said normal message, wherein in the making of the nodes to allocate, on the basis of said margin time for said distributed control to which each of messages transmittable pertains, each of said nodes allocates a message transmission right preferentially to each of said messages in the ascending order of the margin time.
-
-
14. A method of controlling distributed control executed in time sequence through mutual communication of messages by a plurality of tasks distributively executed on a plurality of nodes connected to a network for the communication and respectively made to implement parallel multitasking operations for the distributed control, the method comprising:
-
making each of the nodes set, with respect to each of said tasks executable on the respective nodes, a margin time representative of a difference between an estimated completion time of said distributed control relating to each executed task, and a deadline time of said distributed control; and making each of the nodes allocate a higher execution right preferentially to each of said tasks in an ascending order of the margin time; determining whether or not an estimated communication time to be taken from which said communication right is acquired until the communication comes to an end in the case of assuming that the transmission is made successfully at the next transmission occasion does not reach a worst case communication time set in advance; when it is determined that the estimated communication time does not reach the worst case communication time, increasing said margin time for said message by a value corresponding to a difference between said worst case communication time and said estimated communication time; and when it is determined that said estimated communication time exceeds said worst case communication time, decreasing said margin time for said message by said value corresponding to said difference therebetween, wherein in the making of the nodes to allocate, on the basis of said margin time for said distributed control to which each of messages transmittable pertains, each of said nodes allocates a message transmission right preferentially to each of said messages in the ascending order of the margin time.
-
-
15. A distributed control apparatus implemented in each of a plurality of nodes communicably connected to a network so that the nodes communicate with each other through the network to distributedly execute a plurality of tasks, in which each node is made to implement multitasking operations and each task communicates a message with other tasks to be executed on another node for cooperatively executed distributed control, said distributed control apparatus comprising:
-
task scheduling means for, i) scheduling, on the basis of a margin time representative of a difference between an estimated completion time of said distributed control relating to each executed task, and a deadline time of said distributed control, and ii) allocating an execution right preferentially to each of said tasks, placed into an executable state, in an ascending order of the margin time; message transmitting/receiving means for transmitting/receiving said message produced by said task and time information representative of said margin time for said message, inserted into said message, through said network and for, when receiving a message, issuing a request to one of the plurality of nodes for activation of said task corresponding to said message to said task scheduling means; activation time setting means for, when said task is activated by said task scheduling means and when said task is a first task to be initially executed in said distributed control, setting an initial value of said margin time prepared in advance as said margin time for said task and for, when said task is other than said first task and is activated in response to reception of said message, setting a value based on said time information inserted into said message as said margin time for said task; and first updating means for sequentially updating said margin time, set by said activation time setting means, in accordance with an execution state of each of said tasks by said task scheduling means. - View Dependent Claims (16, 17)
-
-
18. A distributed control apparatus implemented in each of a plurality of nodes communicably connected to a network so that the nodes communicate with each other through the network to distributedly execute a plurality of tasks, in which each node is made to implement multitasking operations and each task communicates a message with other tasks to be executed on another node for cooperatively executed distributed control, said distributed control apparatus comprising:
-
task scheduling means for, i) scheduling, on the basis of a margin time representative of a difference between an estimated completion time of said distributed control relating to each executed task and a deadline time of said distributed control , ii) allocating an execution right preferentially to each of said tasks, placed into an executable state, in an ascending order of the margin time, iii) transfer said execution right for said task being executed, to a new task when the margin time of said new task reaches below said margin time of said tasks being executed; message transmitting/receiving means for transmitting/receiving said message produced by said task and time information representative of said margin time for said message, inserted into said message, through said network, executing simultaneously both arbitration for communication in the plurality of nodes and transmitting said time information and issuing a request to one of the plurality of nodes for activation of said task corresponding to said message to said task scheduling means; message scheduling means for, on the basis of said margin time for each of said messages waiting for a message transmission right, allocating said message transmission right in said message transmitting/receiving means preferentially to each of said messages in the ascending order of the margin time, and when an event occurs for a message has a smaller margin time than said margin time of said message currently transmitting with said transmission right, issuing a request for starting transmitting of said message having said smaller margin time to said message transmitting/receiving means; activation time setting means for, when said task is activated by said task scheduling means and when said task is a first task to be initially executed in said distributed control, setting an initial value of said margin time prepared in advance as said margin time for said task and for, when said task is other than said first task and is activated in response to reception of said message, setting a value based on said time information inserted into said message as said margin time for said task; and first updating means for sequentially updating said margin time, set by said activation time setting means, in accordance with an execution state of each of said tasks by said task scheduling means.
-
Specification