IP Library Granted Patent US 8,170,352
Granted Patent B2
US 8,170,352 · App. 12/054,086 · Granted May 1, 2012

String searching facility

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 8,170,352
App. No.
12/054,086
Granted
May 1, 2012
Kind
B2
Abstract

In embodiments of the present invention improved capabilities are described for scanning a data set for the presence of a target string. The data set may be received at a computing facility and cause a scanning program to execute. A first character pair in the data set may be identified where each character making up the first character pair is identified in a vector map. It may then be confirmed that the first character pair matches a positive indicated bitmask in a bitmap matrix, and verify that the position of the first character pair matches a position of a matching character pair in the target string. An action may be caused to be taken as a result of the verification.

Claims (29)

1. A method of scanning a data set for the presence of a target string comprising:

receiving the data set at a computing facility and causing a scanning program to execute the following steps:

A. identifying a first character pair in the data set wherein each character making up the first character pair is identified in a vector map;

B. confirming that the first character pair matches a positive indicated bitmask in a bitmap matrix;

C. verifying that the position of the first character pair matches a position of a matching character pair in the target string; and

D. causing an action to be taken as a result of the verification; and

repeating step A prior to step D to identify a second character pair wherein each character making up the second character pair is identified in a second vector map.

2. The method of claim 1 , further comprising repeating step B prior to step D to confirm that the second character pair matches at least one bitmask identified in the bitmap matrix.

3. The method of claim 2 , further comprising repeating step C prior to step D to verify that the position of the second character pair matches an expected position of a matching character pair in the target string.

4. The method of claim 1 , wherein the target string is a truncated target string, wherein the truncated target string is only as long as a shortest one of a plurality of target strings.

5. The method of claim 1 , wherein the action is an identification of the data set as a suspect data set.

6. The method of claim 1 , wherein the scanning program is attempting to identify the data set as unwanted content.

7. The method of claim 6 , wherein the unwanted content is malware.

8. The method of claim 1 , wherein the scanning program is attempting to identify data being transmitted in violation of a confidentiality policy.

9. The method of claim 1 , wherein the data set is in the form of streaming data that is to be analyzed.

10. The method of claim 1 , wherein the data set is data stored in a database.

11. A computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:

receiving a plurality of target pattern strings, wherein the target pattern strings are composed of at least one target pattern string character;

creating a bitmap matrix that maps a location of target pattern string character pairs in each of the plurality of target pattern strings;

presenting a data set for target pattern string searching;

performing a target pattern string search on the data set, where the target pattern string search utilizes the bitmap matrix to identify target pattern string matches within the data set, and wherein the target pattern string search utilizes a minimum target pattern string length; and

reporting instances where a positive target pattern string match occurs.

12. The computer program product of claim 11 , wherein the positive target pattern string match is a match between at least one of the plurality of target pattern strings and a string in the data set.

13. The computer program product of claim 11 , wherein the minimum target pattern string length is used to generate a truncated target pattern string by truncating the target pattern string to the minimum target pattern string length.

14. The computer program product of claim 13 , wherein the truncated target pattern string list is mapped to the plurality of target pattern strings.

15. The computer program product of claim 11 , wherein the target pattern string search utilizes a search pattern utilizing the bitmap matrix and a code vector, where a bitmask represents the location of target pattern character pairs associated with each possible pair combination of target pattern string characters.

16. The computer program product of claim 15 , wherein the code vector maps at least one of the target pattern string characters of at least one of the plurality of target pattern strings to an assigned value.

17. The computer program product of claim 11 , wherein the search pattern compares a found text string of the search length within the data set, which has been found to match both core vectors for all characters within the search string and bitmask pair positions for all character pairs within the found search string, and the plurality of target search strings for a positive match.

18. The computer program product of claim 11 wherein the location of target pattern string character pairs is a distance from an end of a corresponding one of the plurality of target pattern strings.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 053476/0681 Recorded Mar 9, 2021
From: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: SOPHOS LIMITED
Reel/Frame 056469/0815 →
RELEASE OF SECURITY INTEREST Recorded Jul 28, 2020
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: SOPHOS LIMITED
Reel/Frame 053334/0220 →
PATENT SECURITY AGREEMENT FIRST LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 053124/0350 →
PATENT SECURITY AGREEMENT SECOND LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 053476/0681 →
ASSIGNMENT OF SECURITY INTEREST Recorded Feb 3, 2014
From: JPMORGAN CHASE BANK, N.A.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032152/0883 →
CHANGE OF NAME Recorded Apr 11, 2013
From: SOPHOS PLC
To: SOPHOS LIMITED
Reel/Frame 030194/0299 →
SECURITY INTEREST Recorded May 11, 2012
From: RBC EUROPE LIMITED, AS EXISTING ADMINISTRATION AGENT AND COLLATERAL AGENT
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 028198/0285 →
SECURITY AGREEMENT Recorded Aug 8, 2011
From: SOPHOS LIMITED F/K/A SOPHOS PLC
To: ROYAL BANK OF CANADA EUROPE LIMITED, AS COLLATERAL AGENT
Reel/Frame 026717/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2008
From: SANDBERG, MICHAEL S.
To: SOPHOS PLC
Reel/Frame 021181/0979 →