Data-driven finite state machine engine for flow control
AssigneeInternational Business Machines Corporation
InventorsJames R. Challenger, Louis R. Degenaro, James R. Giles, Paul Reed
Life of this patent
Estimating the term…
Abstract
Finite state machines are provided to run instances of user-defined routines within a computing system. The finite state machines and updates to the finite state machines are user-defined and are checked for compliance with one or more prescribed schemas by a finite state machine engine. Compliant finite state machine specifications are interpreted for the plurality of states and transitions that constitute the finite state machine. Requested instances of a finite state machine specification are initiated by the finite state machine engine, which creates proxies to monitor the current state of any given requested instance.
Claims33
A method for utilizing finite state machines in a computing system, the method comprising:
- communicating a schema comprising validity parameters for a finite state machine to a finite state machine engine;
- using the finite state machine engine to:
- evaluate a user-generated finite state machine specification for compliance with the schema, the user-generated finite state machine specification comprising a plurality of states and a plurality of transitions;
- interpret the user-generated finite state machine specification;
- receive a request from a computing system for an instance of the user-generated finite state machine specification;
- and
- initiate the requested instance of the user-generated finite state machine specification;
- and
- using events from the computing systems that correspond to one or more of the plurality of transitions to advance the instance of the user-generated finite state machine specification through the plurality of states.
A method for utilizing finite state machines in a computing system, the method comprising:
- using a finite state machine engine to:
- receive a request from a computing system for an instance of a user-generated finite state machine specification comprising a plurality of states and a plurality of transitions;
- evaluate the user-generated finite state machine specification for compliance with the schema, the user-generated finite state machine specification comprising a plurality of states and a plurality of transitions
- initiate the requested instance of the user-generated finite state machine specification;
- create at least one externalized queue;
- and
- record a current state of the initiated requested instance of the user-generated finite state machine in the externalized queue;
- and
- using events from the computing system that correspond to one or more of the plurality of transitions to advance the instance of the user-generated finite state machine specification through the plurality of states.
A method for utilizing finite state machines in a computing system, the method comprising:
- communicating a schema comprising validity parameters for a finite state machine to a finite state machine engine;
- using to finite state machine engine to:
- evaluate a user-generated finite state machine specification for compliance with the schema, the user-generated finite state machine specification comprising a plurality of states and a plurality of transitions;
- interpret the user-generated finite state machine specification;
- receive a request from a computing system for an instance of the user-generated finite state machine specification;
- initiate the requested instance of the user-generated finite state machine specification;
- and
- create a proxy to control the instance of the user-generate finite state machine specification to represent a current state of the initiated requested instance of the user-generated finite state machine specification;
- and
- using events from the computing system that correspond to one or more of the plurality of transitions to advance the instance of the user-generated finite state machine specification through the plurality of states.
A computer-readable storage medium containing a computer-readable code that when read by a computer causes the computer to perform a method for utilizing finite state machines in a computing system, the method comprising:
- defining a schema comprising validity parameters for a finite state machine;
- evaluating a user-generated finite state machine specification for compliance with the schema, the user-generated finite state machine specification comprising a plurality of states and a plurality of transitions;
- interpreting the user-generated finite state machine specification;
- receiving a request from a computing system for an instance of the user-generated finite state machine specification;
- initiating the requested instance of the user-generated finite state machine specification;
- and
- using events from the computing system that correspond to one or more of the plurality of transitions to advance the instance of the user-generated finite state machine specification through the plurality of states.
A computer-readable storage medium containing a computer-readable code that when read by a computer causes the computer to perform a method for utilizing finite state machines in a computing system, the method comprising:
- receiving a request from a computing system for an instance of a user-generated finite state machine specification comprising a plurality of states and a plurality of transitions;
- initiating the requested instance of the user-generated finite state machine specification;
- creating at least one externalized queue;
- evaluate the user-generated finite state machine specification for compliance with the schema, the user-generated finite state machine specification comprising a plurality of states and a plurality of transitions
- recording a current state of the initiated requested instance of the user-generated finite state machine in the externalized queue;
- and
- using events from the computing system that correspond to one or more of the plurality of transitions to advance the instance of the user-generated finite state machine specification through the plurality of states.
Dependencies are inferred from the claim text.