Apparatus and method for selecting finite success states by indexing
AssigneeOperating Systems, Inc.
InventorsRichard M. Bird, Ju C. Tu
Life of this patent
Estimating the term…
Loading patent…
AssigneeOperating Systems, Inc.
InventorsRichard M. Bird, Ju C. Tu
Estimating the term…
A finite state automaton (FSA) may be used to search a stream of input digital code data representing patterns such as text characters, for example, to identify a plurality of designated query words. When a particular one of the sought values of a character or other code element is identified in the input stream, the proper next state for the FSA is typically selected with the aid of a control table memory with multiple entries for each state. According to the invention, the portion of that memory associated with each multiple exit decision state typically consists of only a single word which contains a base state number and a group of indexing bits, one bit for each possible input code element configuration, with set bits corresponding to the multiple values being sought when the FSA is in that particular state. In response to an input code element value that represents a success, an index number is generated from that value and the set indexing bits. That index number is then combined with the base state number to produce the identity of the next success state. The number of indexing bits is reduced for certain codes, such as those representing text characters, by separating the normal elements of the input code into smaller elements, called "nibbles," thereby limiting the number of different input code configurations that must be processed by the FSA in any one state.
A finite state automaton (FSA) responsive to a stream of input code elements, each code element consisting of a predetermined plurality of code bits, for searching the stream simultaneously for a plurality of specified query patterns each of which comprises an ordered plurality of code element query values;
In operation of a finite state automation (FSA) for searching an input stream of digital code elements for a plurality of specified code element query values, the FSA making transition in response to each input code element from one to another of a plurality of alternative states which include at least one multiple exit decision state, each code element query value being associated with a distinct next success state to which the FSA makes transition from said decision state in response to detection of that code element query value in the input stream;
Dependencies are inferred from the claim text.