Patent ID: 9588780
Date: 2017-03-07
CPC Classifications: G06F

Claim:
1. A method for managing a state machine comprising a main component, and one or more sub-components, wherein the main component maintains, for each sub-component, a log of events associated with transitions in states of the main component and the one or more sub-components, comprising: for each sub-component, and in response to occurrence of an event that causes the sub-component to transition state, determining whether the event supersedes or reverses a prior event previously logged in association with a state transition of the sub-component; upon determining that the event supersedes or reverses the prior event previously logged in association with a state transition, pruning the prior event from the log to generate a pruned log; upon joinder or re-joinder to the state machine of a given sub-component, and prior to the main component initiating a replay operation for the given sub-component, forcing the given sub-component into an initial state; and thereafter using the pruned log to transition the given sub-component from its initial state to a time-consistent state associated with the main component and each of the one or more sub-components, wherein the pruned log is used to transition the given sub-component from its initial state to the time-consistent state during the replay operation, the replay operation replaying a list of events recorded by the main component while the given sub-component is not connected to the state machine; and wherein the state machine does not need to have any knowledge of a current state of the given sub-component at a time the given sub-component connects to the state machine.