×

Method and system for high performance data metatagging and data indexing using coprocessors

  • US 8,326,819 B2
  • Filed: 11/12/2007
  • Issued: 12/04/2012
  • Est. Priority Date: 11/13/2006
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising:

  • a reconfigurable logic device for communication with a processor, the reconfigurable logic device having a firmware pipeline deployed thereon, the firmware pipeline comprising a plurality of firmware application modules, at least one of the firmware application modules comprising a regular expression pattern matching module, and at least another of the firmware application modules comprising an exact or approximate matching module, the firmware pipeline configured to, at a hardware rate,(1) receive a stream of data objects,(2) tag each data object with a data object identifier,(3) parse the data objects into a plurality of words,(4) tag the words with a plurality of position identifiers,(5) perform a regular expression pattern matching operation via the regular expression pattern matching module to detect whether any pattern matches exist between the streaming data objects and at least one pattern,(6) perform an exact or approximate matching operation via the exact or approximate matching module to detect whether any exact or approximate matches exist between the streaming data objects and a plurality of words in a dictionary,(7) concurrently generate multiple types of indexes for the streaming data objects, the multiple indexes comprising a general index, at least one pattern index based on the detected pattern matches, and at least one dictionary index based on the detected exact or approximate matches, the indexes comprising a plurality of terms and pointers, wherein each pointer is associated with a data object and a term, wherein each pointer comprises a data object identifier and a position identifier for a word within a data object that matches a term in an index, and(8) as data object identifiers, position identifiers, pattern matches, and exact or approximate matches continue to be generated for the streaming data objects, update the indexes based thereon such that a new pointer to a given data object is added to an index when the term associated with the new pointer is found within the given data object.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×