IP Library Granted Patent US 12,461,995
Granted Patent B2
US 12,461,995 · App. 18/930,059 · Granted Nov 4, 2025

Clustering-based data object classification

Inventors: Yotam Segev (New York, NY); Itamar Bar-Ilan (New York, NY); Yonatan Itai (Tel Aviv, IL); Shiran Bareli (Tel Aviv, IL); Guye Vered (Rishon Letzion, IL); Tomer Mesika (Tel Aviv, IL); Itay Fainshtein (Tel Aviv, IL); Ofir Talmor (Tel Aviv, IL)
Assignee: Cyera, Ltd.
G06F18/2415
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 12,461,995
App. No.
18/930,059
Granted
Nov 4, 2025
Kind
B2
Abstract

Techniques for data classification using clustering. A method includes replacing a plurality of portions of metadata for a plurality of data objects with a plurality of replacement characters in order to generate a plurality of replaced strings; clustering the plurality of data objects into a plurality of clusters based on commonalities between the plurality of replaced strings of data objects of the plurality of data objects; classifying a subset of the data objects in each cluster into at least one class; and aggregating classes within at least one cluster of the plurality of clusters, wherein aggregating classes within each of the at least one cluster includes applying the at least one class for the subset of the data objects in each cluster to each other data object within the cluster.

Claims (49)

1 . A method for data classification using clustering, comprising:

replacing a plurality of portions of metadata for a plurality of data objects with a plurality of replacement characters in order to generate a plurality of replaced strings;

clustering the plurality of data objects into a plurality of clusters based on commonalities between the plurality of replaced strings of data objects of the plurality of data objects such that data objects among the plurality of data objects having the same replaced strings among the plurality of replaced strings are grouped into the same clusters among the plurality of clusters;

classifying a subset of the data objects in each cluster into at least one class; and

aggregating classes within at least one cluster of the plurality of clusters, wherein aggregating classes within each of the at least one cluster includes applying the at least one class for the subset of the data objects in each cluster to each other data object within the cluster.

2 . The method of claim 1 , wherein the metadata for each data object includes a plurality of metadata parameters, wherein the plurality of data objects is clustered into the plurality of clusters based on the plurality of metadata parameters of each data object.

3 . The method of claim 2 , wherein the plurality of data objects is clustered over a plurality of iterations, wherein at least one iteration of the plurality of iterations includes comparing plurality of metadata parameters between clusters.

4 . The method of claim 3 , wherein the at least one iteration further includes replacing at least one metadata parameter of the plurality of metadata parameters for at least one of the plurality of data objects, wherein subsequent iterations of the plurality of iterations are performed based on replaced metadata parameters from prior iterations of the plurality of iterations.

5 . The method of claim 1 , wherein each of at least one first replaced portion of the replaced plurality of portions is a numerical value, wherein each of the at least one first replaced portion is replaced with a respective range including the numerical value.

6 . The method of claim 1 , wherein each of at least one second replaced portion of the replaced plurality of portions is a textual parameter, wherein each of the at least one second replaced portion demonstrates a pattern and is replaced with a set of predefined replacement characters that corresponds to the pattern.

7 . The method of claim 1 , wherein each of at least one third replaced portion of the replaced plurality of portions is a textual parameter, further comprising:

splitting each of the at least one third replaced portion into a plurality of substrings, wherein the plurality of data objects is clustered based further on each plurality of substrings.

8 . The method of claim 7 , further comprising:

filtering out at least one substring from the plurality of substrings in order to yield at least one filtered list of substrings, wherein the clustering is performed based further on the at least one filtered list of substrings.

9 . The method of claim 1 , clustering the plurality of data objects into a plurality of clusters further comprises:

optimizing the plurality of clusters based on at least one random sequence identified in the metadata of the plurality of data objects, wherein each random sequence is a string of characters having a length over a predetermined threshold which does not meet at least one replacement criterion.

10 . The method of claim 1 , further comprising:

sampling each of the plurality of clusters in order to obtain a plurality of samples, wherein each sample is one of the data objects in one of the plurality of clusters; and

determining the at least one cluster for which classes are to be aggregated based on the plurality of samples.

11 . The method of claim 1 , further comprising:

performing at least one action to secure a computing environment including the plurality of data objects based on the classes determined for the plurality of data objects.

12 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

replacing a plurality of portions of metadata for a plurality of data objects with a plurality of replacement characters in order to generate a plurality of replaced strings;

clustering the plurality of data objects into a plurality of clusters based on commonalities between the plurality of replaced strings of data objects of the plurality of data objects such that data objects among the plurality of data objects having the same replaced strings among the plurality of replaced strings are grouped into the same clusters among the plurality of clusters;

classifying a subset of the data objects in each cluster into at least one class; and

aggregating classes within at least one cluster of the plurality of clusters, wherein aggregating classes within each of the at least one cluster includes applying the at least one class for the subset of the data objects in each cluster to each other data object within the cluster.

13 . A system for classifying data in cloud computing environments, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

replace a plurality of portions of metadata for a plurality of data objects with a plurality of replacement characters in order to generate a plurality of replaced strings;

cluster the plurality of data objects into a plurality of clusters based on commonalities between the plurality of replaced strings of data objects of the plurality of data objects such that data objects among the plurality of data objects having the same replaced strings among the plurality of replaced strings are grouped into the same clusters among the plurality of clusters;

classify a subset of the data objects in each cluster into at least one class; and

aggregate classes within at least one cluster of the plurality of clusters, wherein aggregating classes within each of the at least one cluster includes applying the at least one class for the subset of the data objects in each cluster to each other data object within the cluster.

14 . The system of claim 13 , wherein the metadata for each data object includes a plurality of metadata parameters, wherein the plurality of data objects is clustered into the plurality of clusters based on the plurality of metadata parameters of each data object.

15 . The system of claim 14 , wherein the plurality of data objects is clustered over a plurality of iterations, wherein at least one iteration of the plurality of iterations includes comparing plurality of metadata parameters between clusters.

16 . The system of claim 15 , wherein the at least one iteration further includes replacing at least one metadata parameter of the plurality of metadata parameters for at least one of the plurality of data objects, wherein subsequent iterations of the plurality of iterations are performed based on replaced metadata parameters from prior iterations of the plurality of iterations.

17 . The system of claim 13 , wherein each of at least one first replaced portion of the replaced plurality of portions is a numerical value, wherein each of the at least one first replaced portion is replaced with a respective range including the numerical value.

18 . The system of claim 13 , wherein each of at least one second replaced portion of the replaced plurality of portions is a textual parameter, wherein each of the at least one second replaced portion demonstrates a pattern and is replaced with a set of predefined replacement characters that corresponds to the pattern.

19 . The system of claim 13 , wherein each of at least one third replaced portion of the replaced plurality of portions is a textual parameter, wherein the system is further configured to:

split each of the at least one third replaced portion into a plurality of substrings, wherein the plurality of data objects is clustered based further on each plurality of substrings.

20 . The system of claim 19 , wherein the system is further configured to:

filter out at least one substring from the plurality of substrings in order to yield at least one filtered list of substrings, wherein the clustering is performed based further on the at least one filtered list of substrings.

21 . The system of claim 13 , wherein the system is further configured to:

optimize the plurality of clusters based on at least one random sequence identified in the metadata of the plurality of data objects, wherein each random sequence is a string of characters having a length over a predetermined threshold which does not meet at least one replacement criterion.

22 . The system of claim 13 , wherein the system is further configured to:

sample each of the plurality of clusters in order to obtain a plurality of samples, wherein each sample is one of the data objects in one of the plurality of clusters; and

determine the at least one cluster for which classes are to be aggregated based on the plurality of samples.

23 . The system of claim 13 , wherein the system is further configured to:

perform at least one action to secure a computing environment including the plurality of data objects based on the classes determined for the plurality of data objects.

Continuity (2)
Continuation 18308204 · Apr 27, 2023
Related Publication 20250068701A1 · Feb 27, 2025
References Cited (40)
US 7813561B2 · Jia et al. · 2010 [cited by applicant]
US 9165051B2 · Masud et al. · 2015 [cited by applicant]
US 9753906B2 · Partridge et al. · 2017 [cited by applicant]
US 10769503B1 · Buhler et al. · 2020 [cited by applicant]
US 11106703B1 · Enuka et al. · 2021 [cited by applicant]
US 11120220B2 · Chaudhri et al. · 2021 [cited by applicant]
US 11146573B2 · Shtar et al. · 2021 [cited by applicant]
US 11750627B2 · Shtar et al. · 2023 [cited by applicant]
US 11868852B1 · Watson · 2024 [cited by applicant]
US 11899132B2 · John Wilson et al. · 2024 [cited by applicant]
US 11928425B2 · Eshghi et al. · 2024 [cited by applicant]
US 11954605B2 · Portisch et al. · 2024 [cited by applicant]
US 12210594B2 · Segev · 2025 [cited by examiner]
US 20120117474A1 · Miki et al. · 2012 [cited by applicant]
US 20120265761A1 · Atsmon · 2012 [cited by examiner]
US 20160275173A1 · Gomes et al. · 2016 [cited by applicant]
US 20180322404A1 · Wang et al. · 2018 [cited by applicant]
US 20190158513A1 · Shtar et al. · 2019 [cited by applicant]
US 20200311414A1 · Enuka et al. · 2020 [cited by applicant]
US 20210400062A1 · Shtar et al. · 2021 [cited by applicant]
US 20220101151A1 · Portisch et al. · 2022 [cited by applicant]
US 20230107263A1 · Kashiwagi et al. · 2023 [cited by applicant]
US 20230359706A1 · Yang et al. · 2023 [cited by applicant]
US 20230417912A1 · Xu · 2023 [cited by applicant]
US 20240062514A1 · Ling et al. · 2024 [cited by applicant]
US 20240126918A1 · Segev et al. · 2024 [cited by applicant]
US 20240134883A1 · Buchmann · 2024 [cited by applicant]
US 20240168810A1 · Adhya · 2024 [cited by examiner]
US 20240168854A1 · Padia · 2024 [cited by examiner]
US 20240184610A1 · Yang · 2024 [cited by examiner]
US 20240232227A9 · Buchmann · 2024 [cited by applicant]
US 20240362301A1 · Segev · 2024 [cited by examiner]
US 20250068701A1 · Segev · 2025 [cited by examiner]
US 20250209121A1 · Xiao · 2025 [cited by examiner]
CN 115525759A · 2022 [cited by applicant]
EP 1057269A1 · 2000 [cited by applicant]
Cleaning by Clustering: methodology for addressing data quality issues in biomedical metadata (Year: 2017). [cited by examiner]
Effective Clustering of Complex Objects in Object Oriented Databases (Year: 1991). [cited by examiner]
International Search Report for PCT/IB2024/054101, dated Jul. 14, 2024. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2024/054101, dated Jul. 14, 2024. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]