Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
203 words
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.
Claim 2
Dependent Claim
203 words
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.
Claim 3
Dependent Claim
66 words
The method of claim 1 further comprising: identifying while executing each application process a sequence of states using predefined criteria, said sequence comprising a first state and a last state and said predefined criteria specifying when journalling may be avoided for all other states of said sequence; and journalling while executing said application process only said first and last states of said identified sequence of states.
Claim 4
Dependent Claim
46 words
The method of claim 2 wherein said sequence of states includes at least one state transition enabled by reliably sending a message, and the method further includes delaying journalling of said last state until receipt of said reliably sent message has been acknowledged by its recipient.
Claim 5
Dependent Claim
53 words
The method of claim 3 wherein said sequence of states includes at least one state transition caused by receiving a reliably sent message from another application process, and the method further includes delaying sending an acknowledgement of receiving said reliably sent message to said other application until said last state has been journalled.
Claim 6
Dependent Claim
256 words
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.
Claim 7
Dependent Claim
256 words
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.
Claim 8
Dependent Claim
66 words
The method of claim 1, wherein each state of said sequence of states of each application process is one of an initial state representing a start state of said application process, an intermediate state representing a state from which said application process is unable to terminate its execution, or a final state representing a state from which said application process is able to terminate its execution.
Claim 9
Dependent Claim
62 words
The method of claim 6, wherein said first set of journalling criteria comprises journalling to stable storage intermediate state information, final state information for a first final state entered after a sequence of intermediate states, and a message used for process communication prior to being sent if said message is sent repeatedly until a receiver process has acknowledged receipt of said message.
Claim 10
Dependent Claim
43 words
The method of claim 1, wherein each of said events causing a transition comprises one of receiving a message, reliably sending a message until received by another process, or unreliably sending a message which is not guaranteed to be received by another process.
Claim 11
Dependent Claim
32 words
The method of claim 1, wherein a first of said application processes shares a common journal with another of said application processes, and said first of said application processes uses asynchronous journalling.
Claim 12
Dependent Claim
21 words
The method of claim 2, wherein said sequence of states contains no conditional branches from a state belonging to said sequence.
Claim 13
Dependent Claim
23 words
The method of claim 2, wherein said predefined criteria uses runtime information obtained during said executing to determine when journalling may be avoided.
Claim 14
Dependent Claim
32 words
The method of claim 5, wherein said second set of journalling criteria uses runtime information obtained during said executing to identify said sequence of states that may be reordered to avoid journalling.