Maintaining state information in a multi-component, event-driven state machine

US9588779B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9588779-B2
Application numberUS-201414565286-A
CountryUS
Kind codeB2
Filing dateDec 9, 2014
Priority dateDec 9, 2014
Publication dateMar 7, 2017
Grant dateMar 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, apparatus and computer program product that allows for maintaining correct states of all sub-components in a state machine, even as sub-components leave the state machine and later rejoin in some previous state. Preferably, this is achieved without requiring the system to remember the states of all sub-components or a log of every event that was fed into the state machine. Thus, the technique does not require any knowledge of the previous state of the sub-components nor the need to preserve a complete log of events that were fed into the state machine. The state machine may be used to enhance the operation of a technological process, such as a workload management environment.

First claim

Opening claim text (preview).

Having described our invention, what we now claim is as follows: 1. Apparatus 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: one or more hardware processors; computer memory holding computer program instructions executed by the hardware processors and operative to: for each sub-component, and in response to occurrence of an event that causes the sub-component to transition state, determine 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, prune 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, force the given sub-component into an initial state; and thereafter use 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. 2. The apparatus as described in claim 1 wherein the given sub-component is placed into the initial state using one and only one event. 3. The apparatus as described in claim 1 wherein the computer program instructions are further operative to record the triggering event in the log. 4. The apparatus as described in claim 1 wherein the computer program instructions are further operative to save the log and the pruned log in association with a backup main component. 5. The apparatus described in claim 4 wherein the computer program instructions are further operative to transition the backup main component to function as the main component upon a failure of the main component. 6. The apparatus as described in claim 1 wherein the state machine manages operational states for a workload management environment. 7. A computer program product in a non-transitory computer readable medium for use in a data processing system 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, the computer program product holding computer program instructions executed by the data processing system and operative to: for each sub-component, and in response to occurrence of an event that causes the sub-component to transition state, determine 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, prune 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, force the given sub-component into an initial state; and thereafter use 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. 8. The computer program product as described in claim 7 wherein the given sub-component is placed into the initial state using one and only one event. 9. The computer program product as described in claim 7 wherein the computer program instructions are further operative to record the triggering event in the log. 10. The computer program product as described in claim 7 wherein the computer program instructions are further operative to save the log and the pruned log in association with a backup main component. 11. The computer program product described in claim 10 wherein the computer program instructions are further operative to transition the backup main component to function as the main component upon a failure of the main component. 12. The computer program product as described in claim 7 wherein the state machine manages operational states for a workload management environment.

Assignees

Inventors

Classifications

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

  • G06F9/5083Primary

    Techniques for rebalancing the load in a distributed system · CPC title

  • G06F9/4498Primary

    Finite state machines · CPC title

  • G06F9/444Primary

    Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9588779B2 cover?
A method, apparatus and computer program product that allows for maintaining correct states of all sub-components in a state machine, even as sub-components leave the state machine and later rejoin in some previous state. Preferably, this is achieved without requiring the system to remember the states of all sub-components or a log of every event that was fed into the state machine. Thus, the t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/5083. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).