×

Framework for supporting regular expression-based pattern matching in data streams

  • US 9,305,238 B2
  • Filed: 08/26/2009
  • Issued: 04/05/2016
  • Est. Priority Date: 08/29/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method of detecting a pattern in a data stream comprising a sequence of events, the method comprising:

  • receiving, at a computerized processing system, a query that specifies a define component that specifies, for each particular symbol in a plurality of symbols in a symbol set, a separate condition that a particular event from the data stream must satisfy in order for the particular symbol to match the particular event;

    receiving, at the processing system, a regular expression from the query, the regular expression specifying a pattern of symbols from the symbol set;

    selecting, at a central processing unit of the processing system, a particular pattern type, based at least in part on the pattern of symbols specified in the regular expression, wherein selecting the particular pattern type comprises;

    selecting the particular pattern type to be a second pattern type and not a first pattern type if any symbols in the regular expression are linked using any operator other than a concatenation operator;

    based on the particular pattern type, selecting, at the processing system, a particular technique from among (a) a first technique that concurrently maintains only one binding per state in a finite state automaton constructed based on the regular expression and (b) a second technique that concurrently maintains multiple bindings per state in the finite state automaton; and

    using the particular technique for detecting the pattern in the data stream;

    wherein selection of the first pattern type as the particular pattern type causes the first technique to be selected as the particular technique;

    wherein selection of the second pattern type as the particular pattern type causes the second technique to be selected as the particular technique;

    wherein each binding maintained represents at least a partial match of the regular expression by one or more events from the data stream.

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