IP Library › Granted Patent US 12,596,616
Granted Patent B1
US 12,596,616 · App. 19/042,483 · Granted Apr 7, 2026

System and method for generating a digital backup of database applications to allow join operations

Inventors: Orly Amir (Ramat Gan, IL); Assaf Natanzon (Tel Aviv, IL); Ilya Surdin (Ramat Gan, IL); Ron Kimchi (Tel Aviv, IL); Yaniv Ptashnik (Tel Mond, IL); Ofir Ehrlich (Tel Aviv, IL)
Assignee: Eon IO, Ltd.
G06F11/1451G06F16/2456G06F2201/80
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,596,616
App. No.
19/042,483
Granted
Apr 7, 2026
Kind
B1
Abstract

A method system for generating a digital backup of database applications to allow join operations. The method includes accessing a plurality of database applications hosted on a plurality of virtual machines; exporting data stored in the database applications to a plurality of files, each file utilizing a column-oriented storage format; generating a joinable backup by at least computing searchable values for each table in the plurality of database applications; searching for joinable database tables in the joinable backup; and generating a digital backup of the database application based on the plurality of files and the joinable backup, wherein the digital backup includes at least a list of joinable database tables.

Claims (66)

1 . A method for generating a digital backup of database applications to allow join operations, comprising:

accessing a plurality of database applications hosted on a plurality of virtual machines;

exporting data stored in the database applications to a plurality of files, each file utilizing a column-oriented storage format;

generating a joinable backup by at least computing searchable values for each table in the plurality of database applications;

searching for joinable database tables in the joinable backup; and

generating a digital backup of the database application based on the plurality of files and the joinable backup, wherein the digital backup includes at least a list of joinable database tables.

2 . The method of claim 1 , further comprising:

joining, upon a user selection, an input database table with at least one joinable database table specified in the digital backup.

3 . The method of claim 1 , wherein generating the joinable backup further comprises:

for each table in the plurality of database applications:

determining a category for each column;

normalizing column values of each column; and

computing searchable values.

4 . The method of claim 3 , wherein determining the category of each column further comprises:

prompting a large language model (LLM) with at least a set of values of a column; and

saving original column names in metadata of the digital backups.

5 . The method of claim 3 , wherein normalizing the column values of each column further comprises:

applying a normalization function selected based on the category of a respective column;

saving the normalized column values in digital backups; and

saving a reverse normalization function in metadata of the digital backups.

6 . The method of claim 5 , further comprising:

generating searchable values by applying a MinHash function on normalized values in each column of each database table in the digital backups; and

calculating a set of ‘n’ minimal hash values on all rows of each database table, wherein a parameter ‘n’ is preconfigured.

7 . The method of claim 6 , wherein searching for joinable columns further comprises:

searching for columns having a number of ‘k’ identical searchable values; wherein ‘k’ is a number smaller than the number of ‘n’.

8 . The method of claim 7 , wherein searching for joinable columns further comprises:

identifying candidate joinable columns based on a hash map; and

determining if each candidate joinable column includes a set of ‘k’ identical searchable values; wherein ‘k’ is a number smaller than the number of ‘n’.

9 . The method of claim 1 , wherein the joinable database tables are of different database applications.

10 . A non-transitory computer-readable medium storing a set of instructions for generating a digital backup of database applications to allow join operations, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

access a plurality of database applications hosted on a plurality of virtual machines;

export data stored in the database applications to a plurality of files, each file utilizing a column-oriented storage format;

generate a joinable backup by at least computing searchable values for each table in the plurality of database applications;

search for joinable database tables in the joinable backup; and

generate a digital backup of the database application based on the plurality of files and the joinable backup, wherein the digital backup includes at least a list of joinable database tables.

11 . A system for generating a digital backup of database applications to allow join operations comprising:

one or more processors; and a memory to store instructions, the instructions are executed by the one or more processors to:

access a plurality of database applications hosted on a plurality of virtual machines;

export data stored in the database applications to a plurality of files, each file utilizing a column-oriented storage format;

generate a joinable backup by at least computing searchable values for each table in the plurality of database applications;

search for joinable database tables in the joinable backup; and

generate a digital backup of the database application based on the plurality of files and the joinable backup, wherein the digital backup includes at least a list of joinable database tables.

12 . The system of claim 11 , wherein the one or more processors are further configured to:

join, upon a user selection, an input database table with at least one joinable database table specified in the digital backup.

13 . The system of claim 11 , wherein the one or more processors, when generating the joinable backup, are configured to:

for each table in the plurality of database applications:

determine a category for each column;

normalize column values of each column; and

compute searchable values.

14 . The system of claim 13 , wherein the one or more processors, when determining the category of each column, are configured to:

prompt a large language model (LLM) with at least a set of values of a column; and

save original column names in metadata of the digital backups.

15 . The system of claim 13 , wherein the one or more processors, when normalizing the column values of each column, are configured to:

apply a normalization function selected based on the category of a respective column;

save the normalized column values in digital backups; and

save a reverse normalization function in metadata of the digital backups.

16 . The system of claim 15 , wherein the one or more processors are further configured to:

generate searchable values by applying a MinHash function on normalized values in each column of each database table in the digital backups; and

calculate a set of ‘n’ minimal hash values on all rows of each database table, wherein a parameter n′ is preconfigured.

17 . The system of claim 16 , wherein the one or more processors, when searching for joinable columns, are configured to:

search for columns having a number of k′ identical searchable values; wherein k′ is a number smaller than the number of n′.

18 . The system of claim 17 , wherein the one or more processors, when searching for joinable columns, are configured to:

identify candidate joinable columns based on a hash map; and

determine if each candidate joinable column includes a set of k′ identical searchable values; wherein k′ is a number smaller than the number of n′.

19 . The system of claim 11 , wherein the joinable database tables are of different database applications.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2025
From: AMIR, ORLY; NATANZON, ASSAF; SURDIN, ILYA; KIMCHI, RON; PTASHNIK, YANIV; EHRLICH, OFIR
To: EON IO, LTD.
Reel/Frame 070079/0323 →
References Cited (22)
US 6553366B1 · Miller et al. · 2003 [cited by applicant]
US 7162464B1 · Miller et al. · 2007 [cited by applicant]
US 10922303B1 · Bruck · 2021 [cited by examiner]
US 11087054B2 · Austern et al. · 2021 [cited by applicant]
US 20160078085A1 · Hu · 2016 [cited by examiner]
US 20220156238A1 · Kunzle · 2022 [cited by examiner]
US 20230222038A1 · Kunzle · 2023 [cited by examiner]
US 20230252233A1 · Gutierrez et al. · 2023 [cited by applicant]
US 20230306061A1 · Bui et al. · 2023 [cited by applicant]
US 20240070448A1 · Sagar et al. · 2024 [cited by applicant]
US 20240252154A1 · Vermeulen et al. · 2024 [cited by applicant]
US 20240362278A1 · PerezLeon et al. · 2024 [cited by applicant]
US 20240394249A1 · Cunningham et al. · 2024 [cited by applicant]
US 20240419706A1 · Gutierrez · 2024 [cited by applicant]
US 20250013649A1 · Gladwin et al. · 2025 [cited by applicant]
US 20250021148A1 · Gladwin et al. · 2025 [cited by applicant]
US 20250021560A1 · Gladwin et al. · 2025 [cited by applicant]
US 20250021566A1 · Gladwin et al. · 2025 [cited by applicant]
US 20250077511A1 · Zhao et al. · 2025 [cited by applicant]
US 20250110948A1 · Nguyen et al. · 2025 [cited by applicant]
US 20250152337A1 · Bruchman et al. · 2025 [cited by applicant]
US 20250156413A1 · Barkan et al. · 2025 [cited by applicant]