IP Library Granted Patent US 9,471,712
Granted Patent B2
US 9,471,712 · App. 11/927,458 · Granted Oct 18, 2016

Approximate matching of strings for message filtering

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 9,471,712
App. No.
11/927,458
Granted
Oct 18, 2016
Kind
B2
Abstract

A method of determining whether a guarded term is represented in a message comprises associating a portion of the message with the guarded term and evaluating a cost of the association. A method of generating a collection of guarded terms that represents an original term comprises generating a plurality of variations of the original term, evaluating similarity of each of the plurality of variations with respect to the original term and determining whether the similarity meets a predetermined criterion.

Claims (48)

1. A method of identifying strings in an e-mail message, the method comprising:

receiving an e-mail message; and

executing instructions stored in memory, wherein execution of the instructions by a processor:

identifies a text string in the e-mail message;

determines that the identified text string in the e-mail message is not a safe string, wherein safe strings are predetermined strings stored in a database of acceptable terms and identified as legitimately present in e-mail messages;

associates the text string with a guarded term from a database of guarded terms stored in memory, the guarded term being a string of special interest to a user;

evaluates a cost of the association of the identified text string that dictates a probability that the identified text string is a mutation of the associated guarded term, wherein the evaluation compares similarities and differences between the identified text string and the guarded term, and wherein the evaluation assigns different penalties for the cost based on whether the mutation includes regular characters or special characters;

matches the identified text string with the guarded term when the cost of association of the identified text string meets a predetermined threshold; and

characterizes the e-mail message based on the matching between the identified text string and the guarded term.

2. The method of claim 1 , wherein execution of the instructions further:

determines a plurality of matches between a plurality of text strings in the e-mail message and guarded terms in the database of guarded terms; and

classifies the e-mail message based on the determination of a plurality of matches.

3. The method of claim 1 , wherein execution of the instructions further provides the text string to the database of guarded terms.

4. The method of claim 1 , wherein determining that the identified text string in the e-mail message is not a safe string includes matching the identified text string to a term in a dictionary.

5. The method of claim 1 , wherein determining that the identified text string in the e-mail message is not a safe string includes matching the identified text string to a term in the database of acceptable terms.

6. The method of claim 5 , wherein execution of the instructions further provides a new acceptable term designated by a user to the database of acceptable terms.

7. The method of claim 1 , wherein associating the text string with the guarded term further includes identifying that the text string includes a token equivalent to content in the guarded term.

8. The method of claim 7 , wherein identifying that the text string includes an equivalent token further includes identifying that a location of the token in the text string corresponds to a location of equivalent content in the guarded term.

9. The method of claim 7 , wherein execution of the instructions further replaces the token in the text string with a standard token.

10. The method of claim 1 , wherein evaluating a cost of the association further includes determining a number of mutations required to change the text string into the guarded term.

11. The method of claim 1 , wherein evaluating a cost of the association further includes weighting the number of mutations based on a probability of mutation.

12. The method of claim 11 , wherein execution of the instructions further determines the probability of the mutations based on a letter frequency table.

13. A system for identifying strings in an e-mail message, the system comprising:

a processor; and

memory storing a database of guarded terms and executable instructions, wherein the guarded terms are strings of special interest to a user, and wherein execution of the instructions by the processor:

identifies a text string in the e-mail message,

determines that the identified text string in the e-mail message is not a safe string, wherein safe strings are predetermined strings stored in a database of acceptable terms and identified as legitimately present in e-mail messages,

associates the text string with a guarded term from the database of guarded terms,

evaluates a cost of the association of the identified text string that dictates a probability that the identified text string is a mutation of the associated guarded term, wherein the evaluation compares similarities and differences between the identified text string and the guarded term, and wherein the evaluation assigns different penalties for the cost based on whether the mutation includes regular characters or special characters,

matches the identified text string with the guarded term when the cost of association of the identified text string meets a predetermined threshold, and

characterizes the e-mail message based on the matching between the identified text string and the guarded term.

14. The system of claim 13 , wherein execution of the instructions further:

determines a plurality of matches between a plurality of text strings in the e-mail message and guarded terms in the database of guarded terms; and

classifies the e-mail message based on the determination of a plurality of matches.

15. The system of claim 13 , wherein execution of the instructions further identifies that the text string includes a token equivalent to content in the guarded term.

16. The system of claim 15 , wherein execution of the instructions further identifies that a location of the token in the text string corresponds to a location of equivalent content in the guarded term.

17. The system of claim 13 , wherein the execution of the instructions further determines a number of mutations required to change the text string into the guarded term.

18. The system of claim 17 , wherein execution of the instructions further weighs the number of mutations based on a probability of mutation.

19. A non-transitory computer-readable storage medium, having embodied thereon a program, the program being executable by a processor to perform a method for identifying strings in an e-mail message, the method comprising:

identifying a text string in the e-mail message;

determining that the identified text string in the e-mail message is not a safe string, wherein safe strings are predetermined strings stored in a database of acceptable terms and identified as legitimately present in e-mail messages;

associating the text string with a guarded term from a database of guarded terms stored in memory, the guarded term being a string of special interest to a user;

evaluating a cost of the association of the identified text string that dictates a probability that the identified text string is a mutation of the associated guarded term, wherein the evaluation compares similarities and differences between the identified text string and the guarded term, and wherein the evaluation assigns different penalties for the cost based on whether the mutation includes regular characters or special characters;

matching the identified text string with the guarded term when the cost of association of the identified text string meets a predetermined threshold; and

characterizing the e-mail message based on the matching between the identified text string and the guarded term.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the method further comprises:

determining a plurality of matches between a plurality of text strings in the e-mail message and guarded terms in the database of guarded terms; and

classifying the e-mail message based on the determination of a plurality of matches.

Assignments (24)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Mar 1, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 045476/0254 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
CONVERSION AND NAME CHANGE Recorded Dec 11, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 037274/0180 →
MERGER Recorded Dec 11, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 037276/0751 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024776/0337 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0115 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024823/0280 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0126 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024823/0280 →
SECURITY AGREEMENT Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024776/0337 →
MERGER Recorded Jul 28, 2010
From: SONICWALL, INC.
To: PSM MERGER SUB (DELAWARE), INC.
Reel/Frame 024755/0083 →
CHANGE OF NAME Recorded Jul 28, 2010
From: PSM MERGER SUB (DELAWARE), INC.
To: SONICWALL, INC.
Reel/Frame 024755/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2008
From: MAILFRONTIER, INC.
To: SONICWALL, INC.
Reel/Frame 020486/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2008
From: OLIVER, JONATHAN J.; OLIVER, ANDREW F.
To: MAILFRONTIER, INC.
Reel/Frame 020486/0604 →