Patent ID: 8560889

Claim:
A system for executing finite state machines in a scalable and fault tolerant manner, comprising: one or more processors; persistent storage for storing data associated with handling of an event associated with an information technology element; a finite state machine engine operable to receive the event and execute a finite state machine instance representing the information technology element, and operable to log in the persistent storage, a plurality of internal actions associated with processing of the event, wherein if the finite state machine engine is stopped while in execution, the finite state machine engine continues to process the event based on the persistent data logged in persistent storage indexed by the finite state machine instance to complete the handling of the event, after the finite state machine engine is restarted, wherein the finite state machine engine schedules a thread to handle the event and logs data associated with the scheduled thread handling the event, the thread invoking an instance of the finite state machine representing the information technology element, wherein the instance of finite state machine executes state transitions associated with the information technology element until blocking and returns control to the finite state machine engine, at which time current state information of the finite state machine instance is logged in the persistent storage and the finite state machine instance is deleted.