Method for Synchronous Execution of Programs in a Redundant Automation System
First Claim
1. A method for synchronous execution of computer programs in a redundant automation system comprising a plurality of subsystems, wherein at least one request for execution of one computer program of the computer programs forms a basis for starting a scheduling pass during which a decision is performed to determine whether the one computer program of the computer programs is executed in sync on each of the plurality of subsystems, the method comprising the steps of:
- recording, by each of the plurality of subsystems, for each of the computer programs, a local execution time which has already accrued, the local execution time indicating for how long a respective computer program of the computer programs has already been executed on a respective subsystem of the plurality of subsystems; and
performing the decision during the scheduling pass based on a respective recorded accrued local execution time and one of a respective prescribable and prescribed maximum execution time for the requested one computer program of the plurality of computer programs, the requested computer program being unexecuted on the plurality of subsystems if an accrued local execution time one of reaches a respective maximum execution time and exceeds the respective maximum execution time.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for synchronous execution of programs in a redundant automation system comprising at least two subsystems, wherein at least one request for execution of one of the programs is taken as a basis for starting a scheduling pass, and during this scheduling pass a decision is taken as to whether this one program is executed on each of the subsystems. Suitable measures are proposed which allow all programs a fair and deterministic share of the program execution based on their priorities.
-
Citations
6 Claims
-
1. A method for synchronous execution of computer programs in a redundant automation system comprising a plurality of subsystems, wherein at least one request for execution of one computer program of the computer programs forms a basis for starting a scheduling pass during which a decision is performed to determine whether the one computer program of the computer programs is executed in sync on each of the plurality of subsystems, the method comprising the steps of:
-
recording, by each of the plurality of subsystems, for each of the computer programs, a local execution time which has already accrued, the local execution time indicating for how long a respective computer program of the computer programs has already been executed on a respective subsystem of the plurality of subsystems; and performing the decision during the scheduling pass based on a respective recorded accrued local execution time and one of a respective prescribable and prescribed maximum execution time for the requested one computer program of the plurality of computer programs, the requested computer program being unexecuted on the plurality of subsystems if an accrued local execution time one of reaches a respective maximum execution time and exceeds the respective maximum execution time. - View Dependent Claims (2, 3)
-
-
4. An automation system configured for synchronous execution of programs comprising:
-
a plurality of subsystems; and a scheduler which takes at least one request for execution of a program as a basis for starting a scheduling pass and, during this scheduling pass, decides whether the program is executed on each of the plurality of subsystems; wherein the automation system is configured to; use each of the at plurality of subsystems to record, for each of the programs, a local execution time that has already accrued, which indicates for how long a respective program has already been executed on a respective subsystem of the plurality of subsystems; and perform the decision during the scheduling pass based on a respective recorded accrued local execution time and one of a respective prescribable and prescribed maximum execution time for the requested program, the requested program being unexecuted on the plurality of subsystems if one accrued local execution time one of reaches a respective maximum execution time and exceeds the respective maximum execution time. - View Dependent Claims (5, 6)
-
Specification