×

Match engine for detection of multi-pattern rules

  • US 9,015,102 B2
  • Filed: 10/25/2013
  • Issued: 04/21/2015
  • Est. Priority Date: 07/31/2009
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of recognizing a specified group of patterns in a data stream, the method comprising:

  • identifying a multi-pattern rule for said specified group of patterns in the data stream;

    using a first array of finite state machines, in a first, pattern scanner stage, to scan the data stream for at least some of the patterns in the specified group;

    for patterns in the specified group that are found in the data stream by the first array of finite state machines, sending pattern identifiers to a second array of finite state machines, in a second, rule processor stage;

    using the second array of finite state machines for determining if the specified group of patterns is in the data stream in accordance with the identified multi-pattern rule by, at least in part, using said pattern identifiers; and

    using a compiler to distribute a function that matches an individual pattern over the first, pattern scanner stage and the second, rule processor stage; and

    wherein;

    the method is used to recognize a multitude of specified groups of patterns in the data stream, and the second array of finite state machines determining if the specified group of patterns is in the data stream includes;

    running a multitude of threads on the second array of finite state machines; and

    using said multitude of threads to determine whether the multitude of specified groups of patterns are in the data stream; and

    the sending pattern identifiers to the second array includes;

    for each of the multitude of specified groups of patterns, for patterns in said each group that are found in the data stream by the first array of finite state machines, sending pattern identifiers to an associated one of the threads running on the second array of finite state machines.

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