Patent ID: 9177253
Filing Date: 2015-11-03
Classification: G06N

Abstract:
1. A method of splitting an automaton into a DFA portion and an NFA portion, the method comprising: compiling a ruleset into an NFA representation; analyzing said NFA to determine entrance paths for matching by a DFA engine and tail portions for matching by an NFA engine, said entrance paths and tail portions covering a whole NFA; and compiling said entrance paths into a DFA for execution by a DFA engine, wherein accepting states of said DFA are configured to signal from said DFA engine to an NFA engine to activate associated tail portion entrance states inside said NFA engine; wherein said process of analyzing comprises evaluating a cost function, said cost function comprising a plurality of factors, said plurality of factors comprising NFA start states, DFA backup factor, DFA-NFA token frequency, DFA steps to match, and NFA states to match.