IP Library Granted Patent US 12,511,272
Granted Patent B2
US 12,511,272 · App. 18/908,588 · Granted Dec 30, 2025

Automatic data store architecture detection

Inventors: Guy Shaked (Be'er Sheva, IL); Vladimir Braverman (Los Angeles, CA); Marina Sadetsky (Kfar Saba, IL)
Assignee: TAMIRAS PER PTE. LTD., LLC
G06F16/217G06F16/213G06F16/9535
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,511,272
App. No.
18/908,588
Granted
Dec 30, 2025
Kind
B2
Abstract

A system is configured for automatic recognition of data store architecture and tracking dynamic changes and evolution in data store architecture. The system is a complementary system, which can be added onto an existing data store system using the existing interfaces or can be integrated with a data store system. The system comprises three main components that are configured to compose an approximation of the data store architecture. The first of these components is adapted to execute an analysis of the architecture of the data store; the second of the components is adapted to collect and compile statistics from said data store; and the third of the components is adapted to compose an approximation of the architecture of said data store.

Claims (56)

1 . A computerized method comprising:

determining a first approximation of a data store architecture of data store tables of a data store, the data store including objects, the first approximation including an estimate of attributes of the objects, the attributes including relationships between the objects;

receiving a user query;

responsive to the received user query, determining a second approximation, the second approximation including an update of the determined first approximation;

determining that the data store has changed;

determining a data store table insertion, a data store table modification, or a data store table removal detected; and

output a notification of the data store table insertion, the data store table modification, or the data store table removal.

2 . The computerized method of claim 1 , further comprising:

in response to determining that the data store has changed, analyzing an impact of the data store changes to the data store architecture based, at least in part, on a content of a query repository.

3 . An apparatus comprising:

a processor;

a data store communicatively coupled to the processor, the data store having at least one data store table; and

a memory coupled to the processor and storing instructions that, when executed by the processor, causes the apparatus to perform operations including:

determine a first approximation of a data store architecture of the data store, the first approximation including an estimate of attributes of objects of the data store, the attributes including relationships between the objects;

responsive to a received user query, determine a second approximation, the second approximation including an update of the determined first approximation;

determine that the data store has changed; and

in response to determining a data store table insertion, a data store table modification, or a data store table removal is detected, output a notification about the data store table insertion, the data store table modification, or the data store table removal.

4 . The apparatus according to claim 3 , wherein the first approximation or the second approximation includes a collection of statistics constructed from data extracted from the data store and stored as separate entities.

5 . The apparatus according to claim 3 , wherein the first approximation or the second approximation is used as an input to a data arrangement application, or wherein the first approximation or the second approximation is configured to be used by a data store administrator to change the data store architecture or another data store architecture.

6 . The apparatus according to claim 3 , wherein the operations further include:

check designated resources of a system associated with the data store, by:

tracking indicators of a performance of the system, and

determining resources of the system are available for use by the apparatus to carry out another cycle of data store architecture approximation improvement or if the system is too busy or does not have enough available memory, disc space, or processing available for use by the apparatus to carry out another cycle of data store architecture approximation improvement;

analyzing system resources limits, and

generating and provide a resources analysis report.

7 . The apparatus according to claim 3 , wherein the operations further include:

check designated resources of a system associated with the data store;

analyze data store system resources limits; and

generate and provide a resources analysis report.

8 . The apparatus according to claim 3 , wherein the apparatus is configured to work with a subset of the data store, the subset identified by volume reduction.

9 . The apparatus according to claim 3 , wherein the apparatus is configured to work with a mirrored data store, wherein the data store comprises the mirrored data store or is associated with the mirrored data store.

10 . The apparatus according to claim 3 , wherein the apparatus is configured to work with a data warehouse to improve performance by modifying an aggregation layer.

11 . The apparatus according to claim 3 , wherein the first approximation is performed independently of user queries.

12 . A system comprising:

a processor;

a data store communicatively coupled to the processor, the data store having at least one data store table; and

a memory coupled to the processor and storing instructions that, when executed by the processor, causes the system to perform operations including:

determine a first approximation of a data store architecture, the first approximation including attributes of objects of the data store, the attributes including relationships between the objects;

determine if one or more user queries are available;

execute a syntactic analysis of available user queries;

use the syntactic analysis of available user queries to generate statistics related to query content;

use the statistics related to query content to determine a second approximation of the data store, the second approximation of the data store including an update of the determined first approximation;

determine that the data store has changed based at least in part on detecting a data store table insertion, a data store table modification, or a data store table removable by automatically carrying out data store architecture analysis comprising comparing successive approximations of the architecture of the data store;

wherein the successive approximations include the first and second approximations; and

output a notification about the data store changes.

13 . The system according to claim 12 , wherein the syntactic analysis used to generate query content related statistics comprises usage information corresponding to the at least one table, filter(s) used, strength of filter(s), query complexity, user priority, query execution time, or frequency of same query template usage.

14 . The system according to claim 12 , wherein the determination as to whether one or more user queries are available comprises determining if one or more user queries are available in a queries repository, a query log, or a query stream.

15 . The system according to claim 12 , wherein the data store architecture comprises a relationship between a plurality of columns of the at least one data store table.

16 . The system according to claim 12 , wherein the operations further include:

identify columns that appear in a given query; and

determine if a first column of the identified columns and a second column of the identified columns are treated as equivalents in the given query.

17 . The system according to claim 12 , wherein the operations further include:

determine size of columns that appear in a given query; and

determine total size of the columns that appear in the given query.

18 . The system according to claim 12 , wherein the system is configured to limit syntactic query analysis to queries that do not alter the data store.

19 . The system according to claim 12 , wherein the operations further include perform syntactic query analysis on nested queries that comprise a sub-query, wherein sub-queries are processed recursively in a bottom-up way.

Assignments (1)
MERGER Recorded Oct 7, 2024
From: YANICKLO TECHNOLOGY, L.L.C.
To: TAMIRAS PER PTE. LTD., LLC
Reel/Frame 068819/0102 →
Priority Claims (1)
IL 195956 · Dec 15, 2008 · national
Continuity (5)
Continuation 18160969 · Jan 27, 2023
Continuation 16280507 · Feb 20, 2019
Continuation 15466430 · Mar 22, 2017
Continuation 13139718
Related Publication 20250028695A1 · Jan 23, 2025
References Cited (52)
US 5675785A · Hall et al. · 1997 [cited by applicant]
US 5926810A · Noble et al. · 1999 [cited by applicant]
US 6408292B1 · Bakalash et al. · 2002 [cited by applicant]
US 7139778B2 · Chaudhuri · 2006 [cited by examiner]
US 7194451B2 · Chaudhuri et al. · 2007 [cited by applicant]
US 7526508B2 · Tan · 2009 [cited by examiner]
US 8117221B2 · Elteto · 2012 [cited by examiner]
US 8688658B2 · Chowdhary · 2014 [cited by examiner]
US 11593333B2 · Shaked et al. · 2023 [cited by applicant]
US 20020087587A1 · Vos et al. · 2002 [cited by applicant]
US 20030105658A1 · Chen et al. · 2003 [cited by applicant]
US 20040133552A1 · Greenfield et al. · 2004 [cited by applicant]
US 20050044102A1 · Gupta et al. · 2005 [cited by applicant]
US 20060173926A1 · Komelson et al. · 2006 [cited by applicant]
US 20060190432A1 · Wang et al. · 2006 [cited by applicant]
US 20060242102A1 · Bruno et al. · 2006 [cited by applicant]
US 20070005297A1 · Beresniewicz et al. · 2007 [cited by applicant]
US 20070191688A1 · Lynn · 2007 [cited by applicant]
US 20080126408A1 · Middleton · 2008 [cited by applicant]
US 20080133454A1 · Markl et al. · 2008 [cited by applicant]
US 20090006310A1 · Tanaka et al. · 2009 [cited by applicant]
US 20090018996A1 · Hunt et al. · 2009 [cited by applicant]
US 20120066264A1 · Shaked et al. · 2012 [cited by applicant]
US 20120290588A1 · Egan · 2012 [cited by examiner]
US 20170193018A1 · Shaked et al. · 2017 [cited by applicant]
US 20190370234A1 · Shaked et al. · 2019 [cited by applicant]
JP 62290948 · 1987 [cited by applicant]
JP 20070272518 · 2007 [cited by applicant]
WO 200135256A2 · 2001 [cited by applicant]
WO 2010070638A1 · 2010 [cited by applicant]
International Patent Office—International Search Report and Written Opiniion mailed Apr. 12, 2010. [cited by applicant]
International Patent Office—International Preliminary Report on Patentability mailed Jun. 21, 2011. [cited by applicant]
European Patent Office—European Search Report dated Sep. 16, 2013, Application No. 09833059.0-1951/2377021 PCT/IL209/001187, 11 pp. 47-52. [cited by applicant]
Fabien De Marchi et al.; “Analysis of existing databases at the logical level”, ACM Sigmod Record, vol. 32, No. 1, Mar. 1, 2003, pp. 47/52. [cited by applicant]
Surajit Chaudhuri et al.; “Self-Tuning Database Systems: A Decade of Progress”; Proceedings of the 33rd International Conference on Very Large Data Bases, Sep. 23, 2007-Sep. 28, 2007, pp. 3-14. [cited by applicant]
Canadian Patent Office—Office Action dated Oct. 24, 2013 in Application No. 2,746,724 (3 pages). [cited by applicant]
Japanese Patent Office—Office Action for Application No. 2011-540324 dated Nov. 5, 2013. [cited by applicant]
United States Patent Office—Office Action mailed Apr. 1, 2015 from U.S. Appl. No. 13/139,718, 15 pages. [cited by applicant]
“Self-tuning Database Technology and Information Services: from Wishful Thinking to Viable Engineering,” Weikum et al.; University of Saarland, Saarbruecken, Germany; Published in VLDB '02 Proceedings of the 28th intern… [cited by applicant]
European Patent Office—Office Action dated Oct. 20, 2015; Application No. 09 833 059.0-1951, 8 pp. [cited by applicant]
Stephens, Ryan, et al: “Working with the System Catalog” in: “Sams Teach Yourself SQL in 24 Hours, Fourth Edition,” May 30, 2008 (May 30, 2008) Sams, XP055220 187, ISBN: 978-0-7686-8277, 329-339, 11pp. [cited by applicant]
United States Patent Office—Final Office Action mailed Dec. 23, 2015 from U.S. Appl. No. 13/139,718, 16 pages. [cited by applicant]
Chaudhuri et al., “Self-Tuning Database Systems: A Decade of Progress,” VLDB '07, Sep. 23-28, 2007, 12 pages. [cited by applicant]
United States Patent Office—Final Office Action mailed Jul. 15, 2015 from U.S. Appl. No. 13/139,718, 20 pages. [cited by applicant]
United States Patent Office—Notice of Allowance mailed Nov. 10, 2015 from U.S. Appl. No. 13/139,718, 17 pages. [cited by applicant]
Petit, et al., “Using Queries to Improve Database Reverse Engineering,” Proceeding ER '94 Proceedings of the 13th International Conference on the Entity-Relationship Approach, pp. 369-386, Dec. 13-16, 1994, 18pp. [cited by applicant]
United States Patent Office—Notice of Allowance mailed Nov. 1, 2018 from U.S. Appl. No. 15/466,4308, 57 pages. [cited by applicant]
United States Patent Office—Office Action mailed Jun. 25, 2021 from U.S. Appl. No. 16/280,507, 20 pages. [cited by applicant]
United States Patent Office—Final Office Action mailed Jan. 7, 2022 from U.S. Appl. No. 16/280,507, 24 pages. [cited by applicant]
United States Patent Office—Notice of Allowance mailed Oct. 4, 2022 from U.S. Appl. No. 16/280,507, 12 pages. [cited by applicant]
United States Patent Office—Office Action mailed Dec. 21, 2023, from U.S. Appl. No. 18/160,969, 13 pages. [cited by applicant]
United States Patent Office—Notice of Allowance mailed May 24, 2024, from U.S. Appl. No. 18/160,969, 10 pages. [cited by applicant]