A pattern matching engine supports high speed (up to at least 2.4. Gbits
per second line rate speeds) parallel pattern matching operations in an
unanchored fashion. The engine is preferably implemented as a hardware
device. A shift register serially receives a string of data stream bytes
which are partitioned into a plurality of multi-byte overlapping adjacent
stream chunks. Library patterns of bytes to be searched for are similarly
partitioned into multi-byte overlapping adjacent table chunks for storage
in a look-up table. The plurality of multi-byte overlapping adjacent
stream chunks are applied by the register in parallel to the look-up
table, with a result being returned which is indicative of whether each
stream chunk matches one of the look-up table stored table chunks. The
results of the parallel look-up operation are then logically combined to
make a match determination.