IP Library Granted Patent US 7,900,255
Granted Patent B1
US 7,900,255 · App. 11/253,236 · Granted Mar 1, 2011

Pattern matching system, method and computer program product

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,900,255
App. No.
11/253,236
Granted
Mar 1, 2011
Kind
B1
Abstract

A pattern matching system, method and computer program product are provided. In use, a plurality of components of data is received, such that each component of the data is compared against a plurality of patterns. To this end, more than one match between the components of the data and the patterns can be identified.

Claims (38)

1. A method, comprising:

receiving a plurality of components of data;

comparing each component of the data against a plurality of patterns, utilizing a micro-processor, wherein the patterns are representative of intrusion attacks;

establishing a first list including patterns that are potentially matched against the components of the data, wherein the patterns are determined to be potentially matched upon a first identification of a match between a portion of the plurality of components of the data and a portion of a plurality of portions of the patterns; and

identifying more than one complete match between the components of the data and each of the plurality of portions of the patterns in the first list;

wherein in response to the identification of a complete match between the plurality of components of the data and one or more of the patterns in the first list, each pattern on the first list for which a complete match is identified is moved from the first list to a second list;

wherein each component of the data is compared against each pattern of the plurality of patterns only once;

wherein one or more of the patterns are determined to be completely matched to the plurality of components of data upon a match between all of the plurality of components of the data and each of the plurality of portions of the pattern.

2. The method of claim 1 , wherein one of the patterns is potentially matched against the components of the data when only one of the plurality of portions of the pattern is matched.

3. The method of claim 1 , wherein the first list includes a linked list.

4. The method of claim 1 , wherein the patterns in the first list are removed from the first list upon violating a rule.

5. The method of claim 1 , wherein the patterns in the first list are maintained in the first list if it can not be confirmed that each of the plurality of portions of the patterns are completely matched against the components of the data.

6. The method of claim 1 , wherein the comparing utilizes a data structure for storing the patterns.

7. The method of claim 6 , wherein the data structure includes a plurality of indices.

8. The method of claim 7 , wherein each index correlates with a list of patterns.

9. The method of claim 8 , wherein a character associated with the index is the same as a first character of each of the patterns in the list.

10. The method of claim 8 , wherein the patterns in the list are prioritized.

11. The method of claim 10 , wherein the patterns in the list are prioritized based on a length thereof.

12. The method of claim 10 , wherein the comparing is carried out based on the prioritization.

13. The method of claim 10 , wherein patterns of shorter length are listed prior to patterns of longer length.

14. The method of claim 1 , wherein the second list only, includes the plurality of portions of the patterns that are complete matches.

15. The method of claim 1 , further comprising tracking, using at least one offset value, each pattern in the first list to ensure that an appropriate portion of each pattern is compared against each component of data.

16. The method of claim 1 , wherein the comparing each component of the data includes first determining if a first portion and a last portion of each of the plurality of patterns matches a corresponding data component of the plurality of components of data.

17. A computer program product embodied on a non-transitory computer readable medium, comprising:

computer code for receiving a plurality of components of data;

computer code for comparing, utilizing a hardware processor, the components of the data against a plurality of patterns, wherein the patterns are representative of intrusion attacks;

computer code for establishing a first list including patterns that are potentially matched against the components of the data, wherein the patterns are determined to be potentially matched upon a first identification of a match between a portion of the plurality of components of the data and a portion of a plurality of portions of the patterns; and

computer code for identifying more than one complete match between the components of the data and each of the plurality of portions of the patterns in the first list;

wherein the computer program product is operable such that in response to the identification of a complete match between the plurality of components of the data and one or more of the patterns in the first list, each pattern on the first list for which a complete match is identified is moved from the first list to a second list;

wherein each component of the data is compared against each pattern of the plurality of patterns only once;

wherein the computer program product is operable such that one or more of the patterns are determined to be completely matched to the plurality of components of data upon a match between all of the plurality of components of the data and each of the plurality of portions of the pattern.

18. A system, comprising:

an intrusion detection system including a micro-processor coupled to a memory for comparing each component of data against a plurality of patterns, wherein the patterns are representative of intrusion attacks;

wherein the system is operable such that a first list is established including patterns that are potentially matched against the components of the data, wherein the patterns are determined to be potentially matched upon a first identification of a match between a portion of the plurality of components of the data and a portion of a plurality of portions of the patterns; and

wherein the system is operable such that more than one complete match is identified between the components of the data and each of the plurality of portions of the patterns in the first list;

wherein the system is operable such that in response to the identification of a complete match between the plurality of components of the data and one or more of the patterns in the first list, each pattern on the first list for which a complete match is identified is moved from the first list to a second list;

wherein each component of the data is compared against each pattern of the plurality of patterns only once;

wherein the system is operable such that one or more of the patterns are determined to be completely matched to the plurality of components of data upon a match between all of the plurality of components of the data and each of the plurality of portions of the pattern.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →