Method and apparatus for synchronization of periodic processes
First Claim
1. A computer-readable storage medium which stores a set of computer-readable instructions which when executed perform a method for periodic process synchronization, the method executed by the set of computer-readable instructions comprising:
- storing, in a memory, a schedule list comprising a plurality of time entries indicating a maximum amount of times at which a plurality of critical processes are to be checked and a minimum amount of times at which the plurality of critical processes are to be checked to determine whether said plurality of critical processes remain active, wherein the schedule list comprises a last time entry in said schedule list including a time value that is a common multiple of a plurality of periods associated with said plurality of critical processes, and wherein the plurality of critical processes specify the plurality of time entries including wildcard values for time entry registry into the schedule list;
registering at least one new critical process to be checked;
synchronizing the at least one new critical process with the schedule list, wherein synchronizing the at least one new critical process comprises;
determining whether a period associated with the at least one new critical process comprises a multiple of the time value of the last time entry of the schedule list, andin response to determining that a period associated with the at least one new critical process does not comprise a multiple of the time value of the last time entry of the schedule list, extending the schedule list to a new last time entry comprising a new time value that is a common multiple of the plurality of periods associated with said plurality of critical processes and the period associated with the at least one new critical process;
when the maximum amount of times at which a first one of the plurality of critical processes is to be checked and the minimum amount of times at which the first one of the plurality of critical processes is to be checked do not comprise a wildcard value, using said schedule list to periodically verify that said first one of the plurality of critical processes remains active within the maximum and the minimum amount of times indicated by the plurality of time entries;
when both the maximum amount of times at which a second one of the plurality of critical processes is to be checked and the minimum amount of times at which the second one of the plurality of critical processes is to be checked comprise the wildcard value, the wildcard value being expressed as a zero time value and indicating an open end of a time range, using said schedule list to periodically verify that said second one of the plurality of critical processes remains active during a periodic verification of each of the plurality of critical processes; and
taking corrective action when at least one of said plurality of critical processes no longer remains active.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method is disclosed for synchronizing certain periodic activities and/or processes in a computer system or device. The synchronization allows more efficient use of the computer system'"'"'s or device'"'"'s processing capabilities, and may result in conservation of electrical power. In one example embodiment, a periodic scheduler is implemented to periodically verify the continued existence of critical processes operating in the computer system or device. Corrective, or other appropriate, action may be taken in the event of a failure of a critical process. A schedule list, which may be a linked list, may be used to track the periodic processes that are to occur. Upon registration of a critical process, the schedule list may be modified to synchronize the new periodic process with the existing schedule list.
24 Citations
13 Claims
-
1. A computer-readable storage medium which stores a set of computer-readable instructions which when executed perform a method for periodic process synchronization, the method executed by the set of computer-readable instructions comprising:
-
storing, in a memory, a schedule list comprising a plurality of time entries indicating a maximum amount of times at which a plurality of critical processes are to be checked and a minimum amount of times at which the plurality of critical processes are to be checked to determine whether said plurality of critical processes remain active, wherein the schedule list comprises a last time entry in said schedule list including a time value that is a common multiple of a plurality of periods associated with said plurality of critical processes, and wherein the plurality of critical processes specify the plurality of time entries including wildcard values for time entry registry into the schedule list; registering at least one new critical process to be checked; synchronizing the at least one new critical process with the schedule list, wherein synchronizing the at least one new critical process comprises; determining whether a period associated with the at least one new critical process comprises a multiple of the time value of the last time entry of the schedule list, and in response to determining that a period associated with the at least one new critical process does not comprise a multiple of the time value of the last time entry of the schedule list, extending the schedule list to a new last time entry comprising a new time value that is a common multiple of the plurality of periods associated with said plurality of critical processes and the period associated with the at least one new critical process; when the maximum amount of times at which a first one of the plurality of critical processes is to be checked and the minimum amount of times at which the first one of the plurality of critical processes is to be checked do not comprise a wildcard value, using said schedule list to periodically verify that said first one of the plurality of critical processes remains active within the maximum and the minimum amount of times indicated by the plurality of time entries; when both the maximum amount of times at which a second one of the plurality of critical processes is to be checked and the minimum amount of times at which the second one of the plurality of critical processes is to be checked comprise the wildcard value, the wildcard value being expressed as a zero time value and indicating an open end of a time range, using said schedule list to periodically verify that said second one of the plurality of critical processes remains active during a periodic verification of each of the plurality of critical processes; and taking corrective action when at least one of said plurality of critical processes no longer remains active. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device for periodic process synchronization, the computing device comprising:
-
a memory storage; and a processing unit coupled to the memory storage, wherein the processing unit is operative to; provide a schedule list having entries of time information and event identification information associated with a plurality of processes, wherein the schedule list comprises a plurality of time entries indicating a maximum amount of times at which said plurality of processes are to be checked and a minimum amount of times at which said plurality of processes are to be checked to determine whether said plurality of processes remain active, and wherein the schedule list comprises a last time entry in the schedule list including a time value that is a common multiple of a plurality of periods associated with said plurality of processes, the plurality of processes being operative to specify a plurality of time entries including wildcard values for time entry registry into the schedule list; register at least one new process; synchronize the at least one new process with said schedule list, wherein being operative to synchronize the at least one new process comprises being operative to; determine whether a period associated with the at least one new process comprises a multiple of the time value of the last time entry of the schedule list, and in response to determining that a period associated with the at least one new process does not comprise a multiple of the time value of the last time entry of the schedule list, extending the schedule list to a new last time entry comprising a new time value that is a common multiple of the plurality of periods associated with said plurality of processes and the period associated with the at least one new process; when the maximum amount of times at which a first one of the plurality of processes is to be checked and the minimum amount of times at which the first one of the plurality of processes is to be checked do not comprise a wildcard value, use said schedule list to periodically verify that said first one of the plurality of processes remains active within the maximum and the minimum amount of times indicated by the plurality of time entries; when both the maximum amount of times at which a second one of the plurality of processes is to be checked and the minimum amount of times at which the second one of the plurality of processes is to be checked comprise the wildcard value, the wildcard value being expressed as a zero time value and indicating an open end of a time range, use said schedule list to periodically verify that said second one of the plurality of processes remains active during a periodic verification of each of the plurality of processes; and take corrective action when at least one of said plurality of processes no longer remains active. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable storage medium which stores a set of computer-readable instructions which when executed perform a method for periodic process synchronization, the method executed by the set of computer-readable instructions comprising:
-
storing, in a memory, a schedule list having a plurality of time entries indicating a maximum amount of times at which a plurality of critical processes are to be checked, a minimum amount of times at which the plurality of critical processes are to be checked to determine whether the plurality of critical processes remain active, and a last time entry including a time value that is a common multiple of a plurality of periods associated with said plurality of time entries, and wherein the plurality of critical processes specify the plurality of time entries including wildcard values for time entry registry into the schedule list; registering at least one new critical process to be checked; synchronizing the at least one new critical process with the schedule list, wherein synchronizing the at least one new critical process comprises; determining whether a period associated with the at least one new critical process comprises a multiple of the time value of the last time entry of the schedule list, and in response to determining that a period associated with the at least one new critical process does not comprise a multiple of the time value of the last time entry of the schedule list, extending the schedule list to a new last time entry comprising a new time value that is a common multiple of the plurality of periods associated with said plurality of critical processes and the period associated with the at least one new critical process; when both the maximum amount of times at which a first one of the plurality of critical processes is to be checked and the minimum amount of times at which the first one of the plurality of critical processes is to be checked comprise the wildcard value, expressed as a zero time value and indicating an open end of a time range, using said schedule list to periodically verify that said first one of the plurality of critical processes remains active during a periodic verification of each of the plurality of critical processes; and when the maximum amount of times at which a second one of the plurality of critical processes is to be checked and the minimum amount of times at which the second one of the plurality of critical processes is to be checked do not comprise a wildcard value, using said schedule list to periodically verify that said second one of the plurality of critical processes remains active, wherein using the schedule further comprises; sending a first signal to a first critical process at a first time in the schedule list, waiting for a second time in the schedule list, wherein the second time corresponds to the first critical process, at the second time, determining whether a response to the first signal was received from the first critical process, resending the first signal to the first critical process if the response was received, and taking corrective action if the response was not received from the first critical process.
-
Specification