Fast signature scan
First Claim
Patent Images
1. A method for signature scanning for one or more fully specified signatures, comprising:
- processing one or more signatures into one or more formats that include a plurality of fingerprints and one or more follow-on search data structures for each signature, each successive fingerprint of a particular signature having a first basic unit in a scanning direction that is shifted one or more units from the previous fingerprint of the particular signature such that the number of shifted fingerprints is equal to a step size for a signature scanning operation and the particular signature is identifiable at any location within any string fields to be scanned, the step size used to identify a plurality of locations to scan in one or more string fields, where each fingerprint of the plurality of fingerprints includes one or more fragments of the particular signature, the one or more fragments having particular locations anywhere within the particular signature;
receiving a particular string field comprising a string of data values;
identifying any signatures included in the particular string field including scanning the particular string field for the plurality of fingerprints associated with the one or more signatures, where the scanning includes scanning for the plurality of fingerprints including two or more fingerprints in parallel for each step size, and searching the particular string field for the follow-on search data structures only at the locations where one or more fingerprints are found; and
outputting any identified signatures in the particular string field.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for scanning signatures in a string field. In one implementation, the invention provides a method for string signature scanning. The method includes processing one or more signatures into one or more formats, receiving a string field, translating the string field into one of the one or more formats of a signature database, identifying any string signatures included in the string field including scanning the string field for one or more fingerprints associated with string signatures, and outputting any identified string signatures.
176 Citations
57 Claims
-
1. A method for signature scanning for one or more fully specified signatures, comprising:
-
processing one or more signatures into one or more formats that include a plurality of fingerprints and one or more follow-on search data structures for each signature, each successive fingerprint of a particular signature having a first basic unit in a scanning direction that is shifted one or more units from the previous fingerprint of the particular signature such that the number of shifted fingerprints is equal to a step size for a signature scanning operation and the particular signature is identifiable at any location within any string fields to be scanned, the step size used to identify a plurality of locations to scan in one or more string fields, where each fingerprint of the plurality of fingerprints includes one or more fragments of the particular signature, the one or more fragments having particular locations anywhere within the particular signature; receiving a particular string field comprising a string of data values; identifying any signatures included in the particular string field including scanning the particular string field for the plurality of fingerprints associated with the one or more signatures, where the scanning includes scanning for the plurality of fingerprints including two or more fingerprints in parallel for each step size, and searching the particular string field for the follow-on search data structures only at the locations where one or more fingerprints are found; and outputting any identified signatures in the particular string field. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A signature scanning system for one or more fully specified signatures, comprising:
-
a machine-readable storage device including a computer program product; and one or more processors operable to execute the computer program product, and perform operations including providing one or more modules including; a signature pre-processing module operable to process one or more signatures into one or more formats that include a plurality of fingerprints and one or more follow-on search data structures for each signature, each successive fingerprint of a particular signature having a first basic unit in a scanning direction that is shifted one or more units from the previous fingerprint of the particular signature such that the number of shifted fingerprints is equal to a step size for a signature scanning operation and the particular signature is identifiable at any location within any string fields to be scanned, the step size used to identify a plurality of locations to scan in one or more string fields, where each fingerprint of the plurality of fingerprints includes one or more fragments of the particular signature, the one or more fragments having particular locations anywhere within the particular signature; a scan pre-processing engine operable to process an input string field comprising a string of data values into a format of the one or more formats; a fingerprint scan engine operable to identify fingerprints associated with the one or more signatures on the input string field, the identifying including scanning the input string field, where the scanning includes scanning for the fingerprints including two or more fingerprints in parallel for each step size; and a signature search engine operable to identify corresponding signatures for the identified fingerprints. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for signature scanning for one or more signatures that at least one of them is not fully specified, comprising:
-
processing the one or more signatures into one or more formats that include one or more fingerprints for each fixed-size signature or each fixed-size portion of each variable-size signature and one or more follow-on search data structures, each successive fingerprint of a particular signature having a first basic unit in a scanning direction that is shifted one or more units from the previous fingerprint of the particular signature such that the number of shifted fingerprints is equal to a step size for a signature scanning operation and the particular signature is identifiable at any location within any string fields to be scanned, the step size used to identify one or more locations to scan in one or more string fields, where each fingerprint of the one or more fingerprints includes one or more fragments of the particular signature, the one or more fragments having particular locations within the particular signature and that are fully specified either originally or after mapping them into one or more shadow spaces where the shadow spaces are spaces that correspond to a generalized format from the original space where the shadow spaces are spaces that introduce some ambiguity to the original space such that a single fingerprint in a particular shadow space corresponds to one or more fingerprints in the original space; receiving a particular string field including a string of data values; identifying signatures included in the particular string field including scanning the particular string field in an original space when all of the one or more fingerprints are fully specified in the original space the scanning including scanning for one or more fingerprints for each step size, scanning the particular string field in each of the one or more shadow spaces that have at least one fingerprint the scanning including scanning for one or more fingerprints for each step size, and then verifying the identified fingerprints in the original space at the scan location where one or more identified fingerprints are found in at least one of the one or more shadow spaces for the one or more fingerprints associated with one or more signatures in the particular string field, and searching the particular string field for the follow-on search data structures only at the scan locations where one or more fingerprints are found; and outputting any identified signatures in the particular string field. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A signature scanning system for one or more signatures where at least one of the one or more signatures is not fully specified, the system comprising:
-
a machine-readable storage device including a computer program product; and one or more processors operable to execute the computer program product, and perform operations including providing one or more modules including; a signature pre-processing module operable to process signatures into one or more formats that include one or more fingerprints for each fixed-size signature or each fixed-size portion of a variable-size signature and one or more follow-on search data structures, each successive fingerprint of a particular signature having a first basic unit in a scanning direction that is shifted one or more units from the previous fingerprint of the particular signature such that the number of shifted fingerprints is equal to a step size for a signature scanning operation and the particular signature is identifiable at any location within any string fields to be scanned, the step size used to identify one or more locations to scan in one or more string fields, where each fingerprint includes one or more fragments of the particular signature, the one or more fragments having particular locations within the particular signature that are fully specified either originally or after mapping them into one or more shadow spaces where the shadow spaces are spaces that correspond to a generalized format from the original space where the shadow spaces are spaces that introduce some ambiguity to the original space such that a single fingerprint in a particular shadow space corresponds to one or more fingerprints in the original space; a scan pre-processing engine operable to process an input string field including a string of data values into one or more formats for a scan; a fingerprint scan engine operable to identify fingerprints associated with one or more signatures on the input string field, the identifying including scanning the input string field, where the scanning includes scanning for one or more fingerprints for each step size; a fixed-size signature search engine operable to identify fixed-size signatures or fixed-size substrings of variable-size signatures for the identified fingerprints; and a variable-size signature search engine operable to identify variable-size signatures when there is at least one variable-size signature in the signature scanning system. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
Specification