A distributable and serializable finite state machine and methods for using the distributable and serializable finite state machine are provided wherein finite state machine instance can be location-shifted, time-shifted or location-shift and time-shifted, for example by serializing and deserializing each instance. Each instance can be located-shifted between agents, and a persistent memory storage location is provided to facilitate both location-shifting and time-shifting. Finite state machine instances and the actions that make up each instance can be run in a distributed fashion among a plurality of agents.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method for managing finite state machines in a computing system, the method comprising employing a distributed finite state machine control application program interface to perform the steps of: determining a set of finite state machine instances each finite state machine instance of a given finite state machine comprising a separately executing process represented by the given finite state machine and each finite state machine instance comprising an atomic unit; selecting a target instance; forwarding a transition to a target instance; forwarding an event to a target instance; registering an instance; unregistering an instance; registering a transition event; and unregistering a transition event; wherein registering the instance and the transition event facilitates preserving and restoring application-specific context for at least one of time-shifting and location-shifting.
A software application programming interface (API) manages distributed finite state machines within a computing system. The API provides functions to: 1) Identify individual finite state machine instances, where each instance represents a separate, independently executing process based on a specific finite state machine definition; each instance is treated as an atomic unit; 2) Select a specific target instance; 3) Send state transition commands to a selected instance; 4) Send event triggers to a selected instance; 5) Register a finite state machine instance within the system; 6) Unregister a finite state machine instance; 7) Register a transition event; and 8) Unregister a transition event. Registering the instance and associated transition events allows application-specific data to be saved and restored when the instance is shifted in time (persisted/reloaded) or moved to a different location (another agent/process).
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 9, 2013
March 21, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.