IP Library Granted Patent US 12,008,020
Granted Patent B2
US 12,008,020 · App. 17/384,857 · Granted Jun 11, 2024

Lookup and relationship caches for dynamic fetching

Inventors: Yuliyan Kiryakov (McLean, VA); Bingbing Ji (Centreville, VA); Ananya Ojha (Dunn Loring, VA)
Assignee: MICROSTRATEGY INCORPORATED
G06F16/283G06F16/2264G06F16/24552G06F16/254G06N5/04G06N20/00
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,008,020
App. No.
17/384,857
Granted
Jun 11, 2024
Kind
B2
Abstract

Disclosed are methods, systems, and computer-readable medium for providing report results. Viscous attributes and non-viscous may be identified. A smart cube may be received and may include viscous values for the viscous attributes. The smart cube may be stored at a local cache. A report associated with an organization may be initiated. A runtime generation of the report may be generated based on initiating the report. The report may call a viscous attribute from the viscous attributes and call a non-viscous attribute from the non-viscous attributes. The runtime generation may be modified to remove the viscous attribute from the runtime generation. A viscous value for the viscous attribute may be retrieved from the smart cube at the local cache. The modified runtime generation may be executed to retrieve a non-viscous value for the non-viscous attribute from a remote database and a report result may be provided.

Claims (61)

1. A method for decreasing report result times, the method comprising:

receiving a trained machine learning model trained using training data including, item attributes, attributes having a frequency of change for a respective attribute value below a threshold frequency, and attributes having the frequency of change for the respective attribute value not below the threshold frequency, in which the attributes having the frequency of change for the respective attribute value below the threshold frequency are identified;

applying the trained machine learning model to automatically identify, among a plurality of item attributes associated with an organization, an attribute having the frequency of change for a respective attribute value below the threshold frequency;

receiving, at a first time, a first smart cube comprising a value for the attribute having the frequency of change for the respective attribute value below the threshold frequency;

storing the first smart cube at a local cache;

initiating a report associated with the organization;

generating a database query for the report based on initiating the report;

determining that the report requires the attribute having the frequency of change for the respective attribute value below the threshold frequency and requires another attribute among the plurality of item attributes other than the attribute having the frequency of change for the respective attribute value below the threshold frequency;

modifying the database query to remove the attribute having the frequency of change for the respective attribute value below the threshold frequency from the database query;

retrieving a value for the attribute having the frequency of change for the respective attribute value below the threshold frequency from the first smart cube at the local cache;

executing the modified database query to retrieve a value for the other attribute from a remote database; and

providing a report result.

2. The method of claim 1 , further comprising receiving, at a second time, an updated first smart cube comprising an updated value for the attribute having the frequency of change for the respective attribute value below the threshold frequency.

3. The method of claim 2 , wherein the second time is one of a pre-determined time or a dynamically determined time.

4. The method of claim 3 , wherein the dynamically determined time is based on the frequency of change for the attribute having the frequency of change for the respective attribute value below the threshold frequency.

5. The method of claim 1 , further comprising receiving, at a second time, a second smart cube comprising a value for a second attribute having a frequency of change for a respective attribute value below the threshold frequency.

6. The method of claim 1 , further comprising:

receiving the plurality of item attributes;

receiving past report data associated with the organization; and

providing the plurality of item attributes and the past report data to a machine learning model trained to identify attributes having a frequency of change for respective attribute values below the threshold frequency, wherein automatically identifying the attributes having the frequency of change for the respective attribute values below the threshold frequency comprises receiving an output from the machine learning model.

7. The method of claim 1 , wherein the first smart cube is one of a lookup cube or a relationship cube.

8. The method of claim 1 , wherein the other attribute is retrieved from the remote database after the remote database joins the other attribute in a table.

9. The method of claim 1 , wherein the report is extracted from metadata.

10. The method of claim 1 , wherein modifying the database query comprises removing the attribute having the frequency of change for the respective attribute value below the threshold frequency from the database query that have a value in the first smart cube.

11. A system for decreasing report result times, the system comprising:

at least one memory storing instructions; and

at least one processor executing the instructions to perform operations, the operations comprising:

receiving a trained machine learning model trained using training data including, item attributes, attributes having a frequency of change for a respective attribute value below a threshold frequency, and attributes having the frequency of change for the respective attribute value not below the threshold frequency, in which the attributes having the frequency of change for the respective attribute value below the threshold frequency are identified;

applying the trained machine learning model to automatically identify, among a plurality of item attributes associated with an organization, an attribute having the frequency of change for a respective attribute value below the threshold frequency;

receiving, at a first time, a first smart cube comprising a value for the attribute having the frequency of change for the respective attribute value below the threshold frequency;

storing the first smart cube at a local cache;

initiating a report associated with the organization;

generating a database query for the report based on initiating the report;

determining that the report requires the attribute having the frequency of change for the respective attribute value below the threshold frequency and requires another attribute among the plurality of item attributes other than the attribute having the frequency of change for the respective attribute value below the threshold frequency;

modifying the database query to remove the attribute having the frequency of change for the respective attribute value below the threshold frequency from the database query;

retrieving a value for the attribute having the frequency of change for the respective attribute value below the threshold frequency from the first smart cube at the local cache;

executing the modified database query to retrieve a value for the other attribute from a remote database; and

providing a report result.

12. The system of claim 11 , wherein the operations further comprise receiving, at a second time, an updated first smart cube comprising an updated value for the attribute having the frequency of change for the respective attribute value below the threshold frequency.

13. The system of claim 12 , wherein the second time is one of a pre-determined time or a dynamically determined time.

14. The system of claim 13 , wherein the dynamically determined time is based on the frequency of change for the attribute having the frequency of change for the respective attribute value below the threshold frequency.

15. The system of claim 11 , wherein the operations further comprise receiving, at a second time, a second smart cube comprising a value for a second attribute having a frequency of change for a respective attribute value below the threshold frequency.

16. The system of claim 11 , wherein the operations further comprise:

receiving the plurality of item attributes;

receiving past report data associated with the organization; and

providing the plurality of item attributes and the past report data to a machine learning model trained to identify attributes having a frequency of change for respective attribute values below the threshold frequency, wherein automatically identifying the attributes having the frequency of change for the respective attribute values below the threshold frequency comprises receiving an output from the machine learning model.

17. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations, the operations comprising:

receiving a trained machine learning model trained using training data including, item attributes, attributes having a frequency of change for a respective attribute value below a threshold frequency, and attributes having the frequency of change for the respective attribute value not below the threshold frequency, in which the attributes having the frequency of change for the respective attribute value below the threshold frequency are identified;

applying the trained machine learning model to automatically identify, among a plurality of item attributes associated with an organization, an attribute having the frequency of change for a respective attribute value below the threshold frequency;

receiving, at a first time, a first smart cube comprising a value for the attribute having the frequency of change for the respective attribute value below the threshold frequency;

storing the first smart cube at a local cache;

initiating a report associated with the organization;

generating a database query for the report based on initiating the report;

determining that the report requires the attribute having the frequency of change for the respective attribute value below the threshold frequency and requires another attribute among the plurality of item attributes other than the attribute having the frequency of change for the respective attribute value below the threshold frequency;

modifying the database query to remove the attribute having the frequency of change for the respective attribute value below the threshold frequency from the database query;

retrieving a value for the attribute having the frequency of change for the respective attribute value below the threshold frequency from the first smart cube at the local cache;

executing the modified database query to retrieve a value for the other attribute from a remote database; and

providing a report result.

18. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise receiving, at a second time, an updated first smart cube comprising an updated value for the attribute having the frequency of change for the respective attribute value below the threshold frequency.

19. The non-transitory computer-readable medium of claim 18 , wherein the second time is one of a pre-determined time or a dynamically determined time.

20. The non-transitory computer-readable medium of claim 19 , wherein the dynamically determined time is based on the frequency of change for the attribute having the frequency of change for the respective attribute value below the threshold frequency.

Assignments (5)
CHANGE OF NAME Recorded Aug 19, 2025
From: MICROSTRATEGY INCOPORATED
To: STRATEGY INC
Reel/Frame 072518/0669 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SUPPLEMENTARY PATENT SECURITY AGREEMENT Recorded Feb 18, 2022
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 059256/0247 →
SUPPLEMENTARY PATENT SECURITY AGREEMENT Recorded Sep 2, 2021
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 057435/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2021
From: KIRYAKOV, YULIYAN; JI, BINGBING; OJHA, ANANYA
To: MICROSTRATEGY INCORPORATED
Reel/Frame 056973/0504 →
Continuity (1)
Related Publication 20230023134A1 · Jan 26, 2023
Cited By (1)
US 12,242,994