Patent ID: 8392636

Claim:
A logic circuit-implemented method of processing data by a pipeline of a virtual multiple instance extended finite state machine (VMI EFSM), said method comprising: receiving a plurality of input tokens referencing a plurality of EFSM instances included in said VMI EFSM; selecting a first input token of said plurality of input tokens to enter said pipeline of said VMI EFSM, wherein said first input token includes a first field that includes a reference to a first EFSM instance of said plurality of EFSM instances, a second field that includes an extended command, and a third field that includes an operation code, and wherein a generation of a first output token from said first input token by said first EFSM instance requires a resource to be available; receiving said first input token at said pipeline of said VMI EFSM; fetching a current state of said first EFSM instance and one or more extended state variables of said first EFSM instance from an array based on said reference included in said first field of said first input token; inserting said current state of said first EFSM instance and said one or more extended state variables of said first EFSM instance into one or more other fields of said first input token; determining a next state of said first EFSM instance as an update of said current state; receiving a first indication from a resource management support function that said resource is unavailable; responsive to said receiving said indication that said resource is unavailable, sending said first input token to a wait room, wherein said first output token is not generated by said first EFSM instance while said first input token is in said wait room and while said resource is unavailable; writing said next state of said first EFSM instance to said array; and a logic circuit implementing said VMI EFSM processing one or more other input tokens in said pipeline while said first input token is in said wait room and while said resource is unavailable, wherein said processing said one or more other input tokens includes generating one or more other output tokens without requiring said resource to be available.