IP Library Granted Patent US 11,762,870
Granted Patent B1
US 11,762,870 · App. 16/366,265 · Granted Sep 19, 2023

Optimization of memory analytics

Inventor: Scott Cappiello (San Marcos, CA)
Assignee: MicroStrategy Incorporated
G06F16/248G06F16/2372G06F16/252G06F16/26
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 11,762,870
App. No.
16/366,265
Granted
Sep 19, 2023
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for optimization of memory analytics are disclosed. In one aspect, a method includes receiving, by a data storage system, a request to generate a visualization of a portion of data stored in the data storage system. The method includes providing, for display, the visualization of the portion of the data. The method includes accessing historical data that includes data indicating actions performed on previously displayed visualizations and corresponding portions of the data. The method includes generating an action to perform on the visualization and the portion of the data. The method further includes performing, in background, the generated action on the visualization and the portion of the data and suppressing results of the generated action. The method includes receiving a user specified action to perform on the visualization and the portion of the data.

Claims (71)

1 . A computer-implemented method comprising:

generating, by one or more computers, first visualization data;

presenting, by the one or more computers, a first visualization in a user interface using the first visualization data;

identifying, by the one or more computers, a predicted input that a user is likely to provide through the user interface, wherein the predicted input indicates an action to be performed with respect to the first visualization, including:

identifying one or more types of input that the user interface is configured to receive;

identifying, using historical data that indicates actions performed with respect to previous visualizations, sequences of input provided by of one or more previous users; and

determining that the user is likely to provide the predicted input based on determining that the predicted input is a type of input that the user interface is configured to receive and is part of a sequence of input identified using the historical data;

generating, by the one or more computers, second visualization data by performing the action indicated by the predicted input;

after generating the second visualization data, determining, by the one or more computers, that the user provided the predicted input indicating the action to be performed with respect to the first visualization; and

in response to determining that the user provided the predicted input, replacing, by the one or more computers, the first visualization in the user interface with a second visualization using the second visualization data that was generated by performing the action before the user provided the predicted input.

2 . The method of claim 1 , wherein determining that the user provided the predicted input comprises:

receiving user input indicating a requested action to perform with respect to the first visualization;

determining that the requested action matches the action indicated by the predicted input; and

determining that the user provided the predicted input based on determining that the requested action matches the action indicated by the predicted input.

3 . The method of claim 1 , comprising:

after determining that the user provided the predicted input indicating the action be performed with respect to the first visualization, suppressing performance of the action such that action is not performed again in response to the user input.

4 . The method of claim 1 , wherein the actions performed with respect to the previous visualizations comprise actions performed in response to input provided by only the user with respect to the previous visualizations.

5 . The method of claim 1 , wherein the actions performed with respect to the previous visualizations comprise actions performed in response to input provided by the user and/or other users with respect to the previous visualizations.

6 . The method of claim 1 , wherein the previous visualizations comprise visualizations of at least some of the same data represented in the first visualization.

7 . A system comprising:

one or more computers; and

one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

generating, by the one or more computers, first visualization data;

presenting, by the one or more computers, a first visualization in a user interface using the first visualization data;

identifying, by the one or more computers, a predicted input that a user is likely to provide through the user interface, wherein the predicted input indicates an action to be performed with respect to the first visualization, including:

identifying one or more types of input that the user interface is configured to receive;

identifying, using historical data that indicates actions performed with respect to previous visualizations, sequences of input provided by one or more previous users; and

determining that the user is likely to provide the predicted input based on determining that the predicted input is a type of input that the user interface is configured to receive and is part of a sequence of input identified using the historical data;

generating, by the one or more computers, second visualization data by performing the action indicated by the predicted input;

after generating the second visualization data, determining, by the one or more computers, that the user provided the predicted input indicating the action to be performed with respect to the first visualization; and

in response to determining that the user provided the predicted input, replacing, by the one or more computers, the first visualization in the user interface with a second visualization using the second visualization data that was generated by performing the action before the user provided the predicted input.

8 . The system of claim 7 , wherein determining that the user provided the predicted input comprises:

receiving user input indicating a requested action to perform with respect to the first visualization;

determining that the requested action matches the action indicated by the predicted input; and

determining that the user provided the predicted input based on determining that the requested action matches the action indicated by the predicted input.

9 . The system of claim 7 , wherein the operations comprise:

after determining that the user provided the predicted input indicating the action be performed with respect to the first visualization, suppressing performance of the action such that action is not performed again in response to the user input.

10 . The system of claim 7 , wherein the actions performed with respect to the previous visualizations comprise actions performed in response to input provided by only the user with respect to the previous visualizations.

11 . The system of claim 7 , wherein the actions performed with respect to the previous visualizations comprise actions performed in response to input provided by the user and/or other users with respect to the previous visualizations.

12 . A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

generating, by the one or more computers, first visualization data;

presenting, by the one or more computers, a first visualization in a user interface using the first visualization data;

identifying, by the one or more computers, a predicted input that a user is likely to provide through the user interface, wherein the predicted input indicates an action to be performed with respect to the first visualization, including:

identifying one or more types of input that the user interface is configured to receive;

identifying, using historical data that indicates actions performed with respect to previous visualizations, sequences of input provided by of one or more previous users; and

determining that the user is likely to provide the predicted input based on determining that the predicted input is a type of input that the user interface is configured to receive and is part of a sequence of input identified using the historical data;

generating, by the one or more computers, second visualization data by performing the action indicated by the predicted input;

after generating the second visualization data, determining, by the one or more computers, that the user provided the predicted input indicating the action to be performed with respect to the first visualization; and

in response to determining that the user provided the predicted input, replacing, by the one or more computers, the first visualization in the user interface with a second visualization using the second visualization data that was generated by performing the action before the user provided the predicted input.

13 . The medium of claim 12 , wherein determining that the user provided the predicted input comprises:

receiving user input indicating a requested action to perform with respect to the first visualization;

determining that the requested action matches the action indicated by the predicted input; and

determining that the user provided the predicted input based on determining that the requested action matches the action indicated by the predicted input.

14 . The medium of claim 12 , wherein the operations comprise:

after determining that the user provided the predicted input indicating the action be performed with respect to the first visualization, suppressing performance of the action such that action is not performed again in response to the user input.

15 . The medium of claim 12 , wherein the actions performed with respect to the previous visualizations comprise actions performed in response to input provided by only the user with respect to the previous visualizations.

16 . The method of claim 1 , wherein:

generating the first visualization data comprises generating visualization data for a first portion of data stored in a data storage system; and

generating the second visualization data comprises generating visualization data for a second portion of the data stored in the data storage system.

17 . The method of claim 1 , wherein:

the one or more types of input that the user interface is configured to receive includes queries;

the predicted input comprises a query that specifies search criteria; and

performing the action indicated by the predicted input comprises:

before the user provides the query, performing a search on data stored in a data storage system using the search criteria specified by the query.

18 . The method of claim 1 , wherein:

the one or more types of input that the user interface is configured to receive includes selection of one or more filters;

the predicted input comprises a selection of a particular filter of the one or more filters; and

performing the action indicated by the predicted input comprises:

before the user selects the particular filter, determining a result of applying the particular filter to data stored in a data storage system.

19 . The method of claim 1 , comprising determining that the user is likely to provide the predicted input through the user interface based at least in part on determining that a location of the user matches a location of the one or more previous users that provided the sequence of input.

20 . The method of claim 1 , comprising determining that the user is likely to provide the predicted input through the user interface based at least in part on determining that a current time or date matches a time or date of the one or more previous users providing the sequence of input.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072909/0870 →
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 23, 2024
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: 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
Reel/Frame 066663/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2019
From: CAPPIELLO, SCOTT
To: MICROSTRATEGY INCORPORATED
Reel/Frame 048831/0651 →