×

Apparatus and method for parallel regular expression matching

  • US 8,990,232 B2
  • Filed: 05/15/2012
  • Issued: 03/24/2015
  • Est. Priority Date: 05/15/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method of matching a stream of characters against a predetermined regular expression, implemented using computational hardware comprising at least two hardware engines, the at least two hardware engines comprising a lookup engine and a regex engine, the method comprising:

  • obtaining a transition table representing the regular expression as a graph comprising one or more input-conditional state transition specifications not limited to single-character inputs;

    generating a lookup table based on the transition table, the lookup table containing exactly one entry for each state of a state machine, each entry specifying a number n of characters to obtain from the character stream, wherein n is a non-negative integer not limited to 0 or 1;

    initializing the state machine;

    executing the lookup engine operative to, at each state of the state machine, retrieve the n characters specified in the lookup table for that state, and provide the n characters to the regex engine; and

    executing the regex engine operative to, at each state of the state machine, perform one of;

    calculating a next state of the state machine based on the current state, the n characters received from the lookup engine, and the graph of state transition specifications; and

    terminating the method if all characters received from the lookup engine fail to match input conditions for all active state transition specifications or if a match succeeds.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×