IP Library Granted Patent US 10,387,455
Granted Patent B2
US 10,387,455 · App. 15/593,633 · Granted Aug 20, 2019

On-the-fly pattern recognition with configurable bounds

Inventors: Thomas E. Raffill (Sunnyvale, CA); Shunhui Zhu (San Jose, CA); Roman Yanovsky (Los Altos, CA); Boris Yanovsky (Saratoga, CA); John Gmuender (San Jose, CA)
Assignee: SONICWALL INC.
G06F16/285G06F3/0481G06F7/02G06F16/24578G06F16/284G06F16/355G06F16/90344G06F16/93G06F16/9535G06N5/02H04L63/0236H04L63/0263G06F2207/025
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 10,387,455
App. No.
15/593,633
Granted
Aug 20, 2019
Kind
B2
Abstract

Some embodiments of on-the-fly pattern recognition with configurable bounds have been presented. In one embodiment, a pattern matching engine is configured based on user input, which may include values of one or more user configurable bounds on searching. Then the configured pattern matching engine is used to search for a set of features in an incoming string. A set of scores is updated based on the presence of any of the features in the string while searching for the features. Each score may indicate a likelihood of the content of the string being in a category. The search is terminated if the end of the string is reached or if the user configurable bounds are met. After terminating the search, the scores are output.

Claims (38)

1. A method for filtering digital content, the method comprising:

receiving user input at a user interface of a processing device, the user input regarding at least one bound that defines a condition under which to terminate execution of a content filter;

configuring a pattern matching engine associated with the processing device based on a predetermined pattern and the received bound, wherein the configured pattern matching engine is configured to search for the predetermined pattern within a content file received at the processing device;

executing the configured pattern matching engine to generate a score indicating a likelihood that the content file belongs to at least one of a plurality of patterns associated with content categories known to the pattern matching engine; and

executing the content filter, wherein executing the content filter comprises:

terminating the content filter when the condition of the received bound is met; and

classifying the content file under the at least one content category when the condition of the received bound is not met, wherein the content file is classified based on the score meeting one or more thresholds associated with the at least one content category and processing the content file based on the classification under the at least one content category, wherein at least a portion of the content file is prevented from being presented on the processing device based on having been classified under the at least one content category.

2. The method of claim 1 , further comprising:

executing the pattern matching engine to generate one or more scores for content that has been pre-classified on accordance with the at least one content category; and

generating a model for the at least one content category based on the generated scores, wherein the condition is included in the generated model.

3. The method of claim 2 , wherein classifying the content file is based on the generated model for the at least one content category.

4. The method of claim 1 , wherein the user input is received via a graphical user interface, and wherein the user input comprises a string defining one or more features that have already been classified into a content category.

5. The method of claim 4 , wherein the score is based on a weight assigned to the one or more features.

6. A system for filtering digital content, the system comprising:

a user interface that receives user input regarding at least one bound that defines a condition under which to terminate execution of a content filter;

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

configures a pattern matching engine associated with the processing device based on a predetermined pattern and the received bound, wherein the configured pattern matching engine is configured to search for the predetermined pattern within a content file received at the processing device, and

executes the configured pattern matching engine to generate a score indicating a likelihood that the content file belongs to at least one of a plurality of patterns associated with content categories known to the pattern matching engine, wherein execution of the content filter includes:

terminating the content filter when the condition of the received bound is met, and

classifying the content file under the at least one content category when the condition of the received bound is not met, wherein the content file is classified based on the score meeting one or more thresholds associated with the at least one content category and processing the content file is based on the classification under the at least one content category, wherein at least a portion of the content file is prevented from being presented on the processing device based on having been classified under the at least one content category.

7. The system of claim 6 , wherein the processor:

executes the pattern matching engine to generate one or more scores for content that has been pre-classified on accordance with the at least one content category; and

generates a model for the at least one content category based on the generated scores, wherein the condition is included in the generated model.

8. The system of claim 7 , wherein the processor classifies the content file based on the generated model for the at least one content category.

9. The system of claim 6 , further comprising a screen that displays a graphical user interface, wherein the user input is received via the graphical user interface, and wherein the user input comprises a string defining one or more features that have already been classified into a content category.

10. The system of claim 9 , wherein the score is based on a weight assigned to the one or more features.

11. A non-transitory computer-readable storage medium, having embodied thereon instructions executable by at least one processor to perform a method for filtering digital content, the method comprising:

receiving user input at a user interface of a processing device, the user input regarding at least one bound that defines a condition under which to terminate execution of a content filter;

configuring a pattern matching engine associated with the processing device based on a predetermined pattern and the received bound, wherein the configured pattern matching engine is configured to search for the predetermined pattern with a content file received at the processing device;

executing the configured pattern matching engine to generate a score indicating a likelihood that the content file belongs to at least one of a plurality of patterns associated with content categories known to the pattern matching engine;

terminating the content filter when the condition of the received bound is met; and

classifying the content file under the at least one content category when the condition of the received bound is not met, wherein the content file is classified based on the score meeting one or more thresholds associated with the at least one content category and processing the content file based on the classification under the at least one content category, wherein at least a portion of the content file is prevented from being presented on the processing device.

12. The non-transitory computer-readable medium of claim 11 , wherein classifying the content comprises:

executing the pattern matching engine to generate one or more scores for content that has been pre-classified on accordance with the at least one content category; and

generating a model for the at least one content category based on the generated scores, wherein the condition is included in the generated model.

13. The non-transitory computer-readable medium of claim 12 , wherein classifying the content file is based on the generated model for the at least one content category.

14. The non-transitory computer-readable medium of claim 11 , wherein the user input is received via a graphical user interface, and wherein the user input comprises a string defining one or more features that have already been classified into a content category.

15. The non-transitory computer-readable medium of claim 14 , wherein the score is based on a weight assigned to the one or more features.

Assignments (11)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
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 →
CHANGE OF NAME Recorded Nov 28, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044526/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 044822/0276 →
CONVERSION AND NAME CHANGE Recorded May 12, 2017
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 042451/0486 →
MERGER Recorded May 12, 2017
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 042354/0365 →
CHANGE OF NAME Recorded May 12, 2017
From: PSM MERGER SUB (DELAWARE), INC. C/O THOMA BRAVO, LLC
To: SONICWALL, INC.
Reel/Frame 042354/0237 →
MERGER Recorded May 12, 2017
From: SONICWALL, INC.
To: PSM MERGER SUB (DELAWARE), INC. C/O THOMA BRAVO, LLC
Reel/Frame 042354/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2017
From: RAFFILL, THOMAS E.; ZHU, SHUNHUI; YANOVSKY, ROMAN; YANOVSKY, BORIS; GMUENDER, JOHN
To: SONICWALL, INC.
Reel/Frame 042353/0865 →
Continuity (7)
Continuation 14793640 · Jul 7, 2015
Continuation 14543829 · Nov 17, 2014
Continuation 13760024 · Feb 5, 2013
Continuation 13196480 · Aug 2, 2011
Continuation 12846102 · Jul 29, 2010
Continuation 11881530 · Jul 27, 2007
Related Publication 20170249377A1 · Aug 31, 2017