Patent ID: 8463925

Claim:
A computer-implemented method comprising: receiving at least one event; converting the event to a finite state machine event; selecting a first event processing table from a plurality of interoperable event processing tables, wherein the plurality of interoperable event processing tables are configured such that an output from the first event processing table is usable as input to another event processing table of the plurality of interoperable event processing tables, wherein selecting the first event processing table from the plurality of interoperable event processing tables includes: identifying a first network protocol associated with the event, wherein the first network protocol is a first stateful protocol; and as a result of searching the plurality of interoperable event processing tables for a particular event processing table defining a set of rules associated with the first network protocol, selecting a first three-dimensional array that defines multiple rules compatible with the first stateful protocol logic, the first three-dimensional array defining a first plurality of actions for multiple types of finite state machine events, the plurality of interoperable event processing tables including at least a second three-dimensional array, a third event processing table, and a fourth event processing table, the second three-dimensional array defining multiple rules compatible with a second stateful protocol logic and defining a second plurality of actions for multiple types of finite state machine events associated with the second stateful protocol, the third event table embodying a third finite state machine and defining a third set of rules that define a third plurality of actions with respect to a stateful system protocol, the fourth event processing table embodying a fourth finite state machine and defining a fourth set of rules that define a fourth plurality of actions with respect to a network stack framework, wherein the first plurality of actions, the second plurality of actions, the third plurality of actions, and the fourth plurality of actions define at least one of: (i) transitioning from a current state associated with the finite state machine to a new state; (ii) creating a new event in response to the finite state machine event; (iii) cancelling a timer; (iv) arming a timer; (v) formatting a protocol data unit according to a stateful protocol; and (vi) parsing a protocol data unit according to the stateful protocol; and processing the finite state machine event in the first event processing table to determine an action to perform based on a state of the finite state machine embodied by the first event processing table and a type of the event.