Journalling optimization system and method for distributed computations
First Claim
1. In a computer system executing application processes that interactively perform a distributed computation, a method performed by said computer system of executing the distributed computation, the method comprising:
- identifying, using a first set of journalling criteria, for each application process first states of said application process that require journalling of state information and events causing a transition from one of said first states to another state of said application process, said first set of journalling criteria providing criteria for synchronous journalling wherein a message is sent to indicate a transition into an intermediate state after receiving confirmation that said journalling has been successfully completed.identifying, while executing each application process, and using a second set of journalling criteria that supersede said first set of journalling criteria, second states of each application process that can be journalled asynchronously and events enabling transitions between ones of said states that can be journalled asynchronously, said second set of journalling criteria utilizing state and event information determined during said executing; and
synchronously journalling, while executing each application process, said first states of said application process which have not been determined as being one of said second states; and
asynchronously journalling said second states of said application process.
3 Assignments
0 Petitions
Accused Products
Abstract
A protocol analysis system is provided with data specifying the defined states of processes participating in a distributed computation. State transitions between states are specified as being enabled by (A) receiving a message, (B) unreliably sending a message, or (C) performing an external action such as reliably sending a message. The specification data also identifies process states known to be final states, and all other states are initially denoted as intermediate states. The protocol analysis system determines if any intermediate states can be re-categorized as final states. Then it determines if any state transitions initially identified as unreliable send operations must be treated as derived external actions, and thus made reliable. Thirdly, for each derived external action, the states of the affected application process must be re-evaluated so as to determine if derived final states need to be converted into intermediate states. The resulting determinations as to which states are final states and which messages must be reliable sent are recorded and used to govern execution of the application process. When executing the application process, state transitions entering and leaving intermediate states are normally recorded on stable storage before the state transition is carried out and reliably sent messages are normally recorded on stable storage before being sent. A number of run-time journal optimization techniques reduce the number of state transitions and messages that need to be stored on stable storage.
41 Citations
12 Claims
-
1. In a computer system executing application processes that interactively perform a distributed computation, a method performed by said computer system of executing the distributed computation, the method comprising:
-
identifying, using a first set of journalling criteria, for each application process first states of said application process that require journalling of state information and events causing a transition from one of said first states to another state of said application process, said first set of journalling criteria providing criteria for synchronous journalling wherein a message is sent to indicate a transition into an intermediate state after receiving confirmation that said journalling has been successfully completed. identifying, while executing each application process, and using a second set of journalling criteria that supersede said first set of journalling criteria, second states of each application process that can be journalled asynchronously and events enabling transitions between ones of said states that can be journalled asynchronously, said second set of journalling criteria utilizing state and event information determined during said executing; and synchronously journalling, while executing each application process, said first states of said application process which have not been determined as being one of said second states; and
asynchronously journalling said second states of said application process. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10, 11)
-
-
5. In a computer system executing processes that interactively perform a distributed computation, a method performed by said computer system of executing the distributed computation, the method comprising:
-
identifying using a first set of journalling criteria, for each application process first states of said application process that require journalling of state information and events causing a transition from one of said first states to another state of said application process, said first set of journalling criteria providing criteria for synchronous journalling wherein a message is sent to indicate a transition into an intermediate state after receiving confirmation that said journalling has been successfully completed identifying, while executing each application, using a second set of journalling criteria that supersede said first set of journalling criteria, a sequence of states starting with a first final state and having only one state transition enabled by a reliable send operation and ending in a second final state, said second set of journalling criteria utilizing state and event information to identify said sequence of states that may be reordered to avoid journalling; reordering, while executing each application process, said sequence of states to produce a reordered sequence of states such that said reliable send operation is executed first and other state transition events are executed later, and when executing said reordered sequence of states avoiding journalling of states and state transitions which follow said first identified final state in said reordered sequence, and delaying execution of said other state transition events until said one reliable send operation is acknowledged by a recipient. - View Dependent Claims (12)
-
Specification