Patent ID: 8861397

Claim:
An apparatus for analyzing a network flow, the apparatus comprising: a parser configured to extract flow identification information from the network flow; a flow metering unit configured to extract flow status information from the network flow; and a programmable controller configured as a state machine and to control in parallel the parser and the flow metering unit by: sending parsing instructions to the parser in response to receiving the flow identification information from the parser, and sending metering instructions to the flow metering unit in response to receiving the flow identification information from the flow metering unit, the state machine comprising a transition rule memory, a rule selector, and a state register, wherein the rule selector is configured to receive an external input signal and receive an internal input signal from the state register indicating a current state, and wherein the rule selector is configured to: observe the internal and external input signals in accordance with transition rules of the transition rule memory, change a state of the state register based on the observation of the transition rules, and generate an output signal to the flow metering unit based on the state of the state register, wherein the output signal includes the parsing instructions and the metering instructions.