← Back to Patent Explorer
US5511159A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of identifying parameterized matches in a string

Assignee: AT&T Inc
•
Filing: 1994-05-13
•
Granted: 1996-04-23
•
Expires: 2014-05-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods are disclosed for finding maximal matches in data strings and for finding matches in parameterized strings, that is, strings containing symbols from more than one alphabet in which the symbols from one of the alphabets are treated as parameters. In general, such maximal matches are found by creating a suffix tree representing the data string, generating lists for each node in the tree indicating the left contexts of all suffixes associated with that node and reporting matches for pairs of suffixes having different left contexts. One method of finding parameterized matches is to substitute a common symbol for the symbols of the alphabet representing the parameters before creating the suffix tree and then discarding matches found for which the actual parameters are not consistent. Another, preferred, method of finding parameterized matches is to substitute integers for the symbols of the alphabet representing the parameters, such symbols being chosen to create a linked list in the data string for each different symbol in such alphabet. Matches found by the suffix tree are then consistent and no matches need be discarded. Other methods of finding matches are disclosed in which suffix trees are used in conjunction with square matrices to analyze the data strings.

Inventors

  • 👤 Brenda S. Baker
  • 👤 Raffaele Giancarlo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 12:03
CPC Classifications
G; G09; G09G; G09G5/00; C; C07; C07K; C07K1/00; C12; C12N; C12N15/00; C12N15/09; C12N15/11; G06; G06F; G06F16/00; G06F16/90; G06F16/903; G06F16/90335; G06F16/90344; G06F40/00; G06F40/10; G06F40/194

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 290 words
A method of matching a pattern data string with a text data string, said pattern data string and text data string being comprised of parameter characters and constant characters, said pattern data string containing fewer numbers of characters than said text string, the method comprising the steps of: a) substituting the parameter characters within the pattern data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said pattern data string, said substitution occurring in a right to left direction; b) aligning the pattern data string with a portion of the text data string; c) substituting the parameter characters within at least the aligned portion of the text data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said text data string, said substitution occurring in a right to left direction; d) comparing said aligned portion of said pattern data string with said text data string in a right to left direction; e) identifying a first occurrence of a mismatch between the pattern data string and the text data string; f) identifying a match between said pattern string and said aligned portion of said text string if no mismatch occurs; g) determining the number of positions required to shift the pattern data string relative to the text data string so that the mismatched character in the text data string is aligned with a proximate occurrence of a like character in the pattern data string, said determination considering the relationship between characters adjacent to the mismatched character; and h) repeating steps b)-g) and identifying every occurrence where a portion of the text string matches the pattern data string.
Claim 2
Independent Claim 290 words
A method of matching a pattern data string with a text data string, said pattern data string and text data string being comprised of parameter characters and constant characters, said pattern data string containing fewer numbers of characters than said text string, the method comprising the steps of: a) substituting the parameter characters within the pattern data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said pattern data string, said substitution occurring in a right to left direction; b) aligning the pattern data string with a portion of the text data string; c) substituting the parameter characters within at least the aligned portion of the text data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said text data string, said substitution occurring in a right to left direction; d) comparing said aligned portion of said pattern data string with said text data string in a right to left direction; e) identifying a first occurrence of a mismatch between the pattern data string and the text data string; f) identifying a match between said pattern string and said aligned portion of said text string if no mismatch occurs; g) determining the number of positions required to shift the pattern data string relative to the text data string so that the mismatched character in the text data string is aligned with a proximate occurrence of a like character in the pattern data string, said determination considering the relationship between characters adjacent to the mismatched character; and h) repeating steps b)-g) and identifying every occurrence where a portion of the text string matches the pattern data string.
Claim 3
Dependent Claim 74 words
The method of claim 1 wherein said step of determining the number of positions required to shift the pattern data string comprises the step of determining the maximum number of positions in which the pattern data string can be shifted relative to the text string provided that no matches are passed over and that the shift pattern string results in a favorable possibility of a match between the pattern string and the text string.
Claim 4
Dependent Claim 83 words
The method of claim 2 wherein said step of determining the number of positions to shift the pattern string further comprises the steps of: precomputing tables prior to the comparison of the pattern string to the text string which determine the number of positions to shift the pattern string relative to the text string based only on the characteristics of the pattern string and the relative position of each character within the pattern string relative to other like characters in the pattern string.
Claim 5
Independent Claim 321 words
A method of matching at least a portion of a pattern data string with a text data string, said pattern data string and text data string being comprised of parameter characters and constant characters, the method comprising the steps of: a) substituting the parameter characters within the pattern data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said pattern data string, said substitution occurring in a right to left direction; b) creating at least one table, said table being based on known pattern string information and which represents relationships between symbols in said substituted pattern string, said relationships establishing a lower bound which determines the number of consecutive positions to shift a pointer with respect to the text string; c) aligning the pattern data string with a portion of the text data string; d) substituting the parameter characters within at least the aligned portion of the text data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said text data string, said substitution occurring in a right to left direction; e) comparing said aligned portion of said pattern data string with said text data string in a right to left direction; f) identifying a first occurrence of a mismatch between the pattern data string and the text data string; g) identifying a match between said pattern string and said aligned portion of said text string if no mismatch occurs; h) determining the number of positions to shift the pointer based on information obtained from the at least one table, said information being a function of the mismatched character identified in the text string, said determination considering the relationship between characters adjacent to the mismatched character; and i) repeating steps b)-h) and identifying every occurrence where a portion of the text string matches the pattern data string.
Claim 6
Independent Claim 321 words
A method of matching at least a portion of a pattern data string with a text data string, said pattern data string and text data string being comprised of parameter characters and constant characters, the method comprising the steps of: a) substituting the parameter characters within the pattern data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said pattern data string, said substitution occurring in a right to left direction; b) creating at least one table, said table being based on known pattern string information and which represents relationships between symbols in said substituted pattern string, said relationships establishing a lower bound which determines the number of consecutive positions to shift a pointer with respect to the text string; c) aligning the pattern data string with a portion of the text data string; d) substituting the parameter characters within at least the aligned portion of the text data string with a numerical character, each numerical character being chosen to point to a proximate instance of said parameter character in said text data string, said substitution occurring in a right to left direction; e) comparing said aligned portion of said pattern data string with said text data string in a right to left direction; f) identifying a first occurrence of a mismatch between the pattern data string and the text data string; g) identifying a match between said pattern string and said aligned portion of said text string if no mismatch occurs; h) determining the number of positions to shift the pointer based on information obtained from the at least one table, said information being a function of the mismatched character identified in the text string, said determination considering the relationship between characters adjacent to the mismatched character; and i) repeating steps b)-h) and identifying every occurrence where a portion of the text string matches the pattern data string.
Claim 7
Dependent Claim 63 words
The method according to claim 4 wherein each parameter character contained in the pattern string represents a place holder for an actual character contained in the text string, each place holder of a particular parameter designation being bound by said actual character in said aligned portion of said text string once a pairing between said particular parameter designation and said actual parameter occurs.
Claim 8
Dependent Claim 27 words
The method according to claim 5 wherein said binding of said actual parameter to said particular parameter designation occurs for each aligned portion of the text string.

References Cited (Backward Citations)

US4916655A Cited
US4887212A Cited
US5377349A Cited
US5337233A Cited
US5448733A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-04-23 1999-10-23 2000-04-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-04-23 2003-10-23 2004-04-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-04-23 2007-10-23 2008-04-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag