IP Library Granted Patent US 12665055
Granted Patent B2
US 12665055 · App. 18/749,090 · Granted Jun 23, 2026

Data security for data sequences

Inventors: Ganesha Shanmuganathan (San Jose, CA); Pranava Adduri (San Francisco, CA); Sohil Nizarali Habib (Cupertino, CA); Arun Soni (San Francisco, CA)
Assignee: Bedrock Labs, Inc.
G16B50/40G06F21/602G16B50/30
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 12665055
App. No.
18/749,090
Granted
Jun 23, 2026
Kind
B2
Abstract

Data security for data sequences is disclosed, including: receiving, over a network, a first sketch corresponding to a first file, wherein the first sketch was determined from hash values generated from a data sequence associated with the first file; determining that the first sketch and a second sketch corresponding to a second file at least partially overlap; and determining whether a data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap.

Claims (59)

1 . A system, comprising:

first one or more processors configured to:

apply a k-length sliding window to a linguistic unit associated with a document data sequence to generate a corresponding hash value for each sliding window, wherein the document data sequence is associated with a first file;

select a respective subset of hash values associated with the linguistic unit;

determine a first sketch associated with the document data sequence based at least in part on the respective subset of hash values associated with the linguistic unit; and

send the first sketch associated with the document data sequence over a network;

a sketch interface configured to receive, over the network, the first sketch corresponding to the first file; and

second one or more processors configured to:

determine that the first sketch and a second sketch corresponding to a second file at least partially overlap, wherein to determine that the first sketch and the second sketch corresponding to the second file at least partially overlap comprises to:

determine keys comprising subsequences of hash values;

group the first sketch and the second sketch based on the first sketch and the second sketch both matching a key:

determine whether a count of matching sketches to the key meets or is greater than a threshold count; and

in response to a determination that the count of the matching sketches to the key does not meet or exceed the threshold count, determine that the first sketch and the second sketch are related; and

in response to a determination that a data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap, modify a security setting associated with the first file.

2 . The system of claim 1 , wherein the first file comprises a document file.

3 . The system of claim 2 , wherein the document data sequence does not include metadata associated with the document file.

4 . The system of claim 1 , wherein the first file comprises a source code file.

5 . The system of claim 1 , wherein to modify the security setting associated with the first file includes to increase an access restriction to the first file.

6 . The system of claim 1 , wherein in response to the determination that the data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap, the second one or more processors are further configured to send an alert to a device.

7 . The system of claim 1 , wherein in response to the determination that the data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap, the second one or more processors are further configured to increase an access restriction to the second file.

8 . The system of claim 1 , wherein in response to the determination that the data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap, the second one or more processors are further configured to modify a storage location associated with the at least one of the first file and the second file.

9 . The system of claim 1 , wherein the corresponding hash value comprises a first corresponding hash value, wherein the respective subset of hash values comprises a first respective subset of hash values, wherein a gene sequence associated with a third file, and wherein the second one or more processors are further configured to:

apply the k-length sliding window to the gene sequence or each partition of the gene sequence and generate a second corresponding hash value for each sliding window;

select a second respective subset of hash values associated with the gene sequence or each partition of the gene sequence;

determine a third sketch based on the selected second respective subset of hash values associated with the gene sequence or each partition of the gene sequence; and

send the third sketch associated with the gene sequence or each partition of the gene sequence over the network.

10 . The system of claim 9 , wherein the selected second respective subset of the hash values associated with the gene sequence or each partition of the gene sequence comprises a subset of smallest hash values.

11 . The system of claim 9 , wherein the keys comprising subsequences of hash values comprise first keys comprising first subsequences of hash values, wherein the key comprises a first key, wherein the second one or more processors are further configured to determine that the third sketch and a fourth sketch corresponding to a fourth file at least partially overlap comprises to:

determine second keys comprising second subsequences of hash values;

group the third sketch and the fourth sketch based on the third sketch and the fourth sketch both matching a second key;

perform a pairwise comparison between the third sketch and the fourth sketch; and

determine that the third sketch and the fourth sketch are related based at least in part on the pairwise comparison.

12 . The system of claim 11 , wherein the pairwise comparison comprises a determination of a Jaccard similarity coefficient between the third sketch and the fourth sketch.

13 . The system of claim 11 , wherein the second keys are determined by applying an M-hash value length sliding window to at least one of the third sketch and the fourth sketch.

14 . The system of claim 11 , wherein the first one or more processors are further configured to: in response to the determination that the third sketch and the fourth sketch are related, present a visual presentation describing that the third file and the fourth file are related.

15 . A method, comprising:

applying, using first one or more processors, a k-length sliding window to a linguistic unit associated with a document data sequence to generate a corresponding hash value for each sliding window, wherein the document data sequence is associated with a first file;

selecting, using the first one or more processors, a respective subset of hash values associated with the linguistic unit;

determining, using the first one or more processors, a first sketch associated with the document data sequence based at least in part on the respective subset of hash values associated with the linguistic unit;

sending, using the first one or more processors, the first sketch associated with the document data sequence over a network;

receiving, over the network, the first sketch corresponding to the first file, wherein the first sketch was determined from hash values generated from a data sequence associated with the first file;

determining, using second one or more processors, that the first sketch and a second sketch corresponding to a second file at least partially overlap, wherein to determine that the first sketch and the second sketch corresponding to the second file at least partially overlap comprises:

determining keys comprising subsequences of hash values;

grouping the first sketch and the second sketch based on the first sketch and the second sketch both matching a key;

determining whether a count of matching sketches to the key meets or is greater than a threshold count; and

in response to a determination that the count of the matching sketches to the key does not meet or exceed the threshold count, determining that the first sketch and the second sketch are related; and

in response to a determination that a data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap, modifying a security setting associated with the first file.

16 . A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

applying, using first one or more processors, a k-length sliding window to a linguistic unit associated with a document data sequence to generate a corresponding hash value for each sliding window, wherein the document data sequence is associated with a first file;

selecting, using the first one or more processors, a respective subset of hash values associated with the linguistic unit;

determining, using the first one or more processors, a first sketch associated with the document data sequence based at least in part on the respective subset of hash values associated with the linguistic unit; and

sending, using the first one or more processors, the first sketch associated with the document data sequence over a network;

receiving, over the network, the first sketch corresponding to the first file, wherein the first sketch was determined from hash values generated from a data sequence associated with the first file;

determining, using second one or more processors, that the first sketch and a second sketch corresponding to a second file at least partially overlap, wherein to determine that the first sketch and the second sketch corresponding to the second file at least partially overlap comprises:

determining keys comprising subsequences of hash values;

grouping the first sketch and the second sketch based on the first sketch and the second sketch both matching a key;

determining whether a count of matching sketches to the key meets or is greater than a threshold count; and

in response to a determination that the count of the matching sketches to the key does not meet or exceed the threshold count, determining that the first sketch and the second sketch are related; and

in response to a determination that a data security policy is violated based at least in part on the determination that the first sketch and the second sketch at least partially overlap, modifying a security setting associated with the first file.