IP Library Granted Patent US 11,086,855
Granted Patent B1
US 11,086,855 · App. 16/505,003 · Granted Aug 10, 2021

Enterprise connectivity

Inventors: Baoxuan Xiao (Vienna, VA); Cezary Raczko (Ashburn, VA); Rixin Liao (Herndon, VA); Jing Li (McLean, VA); Naveen Jayanchandran (Herndon, VA); Atul Sharma (Vienna, VA); L. Douglas Everhart (Vienna, VA)
Assignee: MicroStrategy Incorporated
G06F16/2423G06F16/243G06F16/248H04L67/02
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,086,855
App. No.
16/505,003
Granted
Aug 10, 2021
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for enterprise connectivity are described. In one aspect, a method includes the actions of receiving, by a data analysis server and from a web client running on a first device, a request to begin a web session, where the data analysis server is configured to generate queries to a data storage device based on user input to the web client. The actions further include receiving a request to generate a dashboard interface that provides a visualization of a portion of data in the data storage device. The actions further include generating the dashboard interface and a corresponding dashboard file that is viewable outside of the web client. The actions further include transmitting the dashboard file to a second device that includes a data analysis application that is configured to view the dashboard file.

Claims (61)

1. A computer-implemented method comprising:

receiving, by a data analysis server and from a web application accessed through a browser running on a first device, a request to begin a web session between the data analysis server and the web application;

receiving, by the data analysis server and from the web application, a request to generate a dashboard interface that provides a visualization of data from a dataset stored in a data storage device, wherein the request to generate the dashboard interface includes a label specified by user input and a visual format specified by user input, and the data analysis server includes a schema that maps labels to respective portions of the dataset stored in the data storage device;

based on the request to generate the dashboard interface, generating, by the data analysis server, one or more queries that request the portions of the dataset that are mapped to the label by the schema;

receiving, from the data storage device, a subset of the dataset including the portions of the dataset that are mapped to the label by the schema;

generating, by the data analysis server, a dashboard file including the subset of the dataset and data indicating the visual format specified by user input, wherein the dashboard file enables a client device to generate the dashboard interface that provides a visualization of the subset of the dataset in the visual format specified by user input; and

transmitting, by the data analysis server, the dashboard file to a second device for presentation.

2. The method of claim 1 , wherein the second device includes a data analysis application that is configured to present the dashboard file.

3. The method of claim 2 , wherein the data analysis application is configured to view the dashboard interface by opening the dashboard file and bypassing accessing the data storage device.

4. The method of claim 1 , wherein the dashboard file includes the data stored in the data storage device.

5. The method of claim 1 , comprising:

receiving, by the data analysis server, data indicating edits made to the dashboard interface of the dashboard file by a user of the second device, wherein the second device was not in communication with the data analysis server during editing of the dashboard interface;

based on receiving the data indicating the edits made to the dashboard interface of the dashboard file, generating, by the data analysis server, an updated dashboard file that enables a client device to generate an updated dashboard interface; and

providing, by the data analysis server and to the second device, the updated dashboard file.

6. The method of claim 1 , comprising:

receiving, by the data analysis server and from the web application, a natural language query,

wherein generating the one or more queries that request the portions of the dataset that are mapped to the label by the schema comprises generating one or more SQL queries based on the natural language query.

7. The method of claim 1 , wherein:

receiving the request to generate the dashboard interface that provides the visualization of the data from the dataset stored in the data storage device comprises receiving an identifier of a user who is authorized to receive the dashboard file, and

generating the dashboard file that enables a client device to generate the dashboard interface comprises generating the dashboard file with permissions that prevent users other than the user from viewing the dashboard interface.

8. A system comprising:

one or more computers; and

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:

receiving, by a data analysis server and from a web application accessed through a browser running on a first device, a request to begin a web session between the data analysis server and the web application;

receiving, by the data analysis server and from the web application, a request to generate a dashboard interface that provides a visualization of data from a dataset stored in a data storage device, wherein the request to generate the dashboard interface includes a label specified by user input and a visual format specified by user input, and the data analysis server includes a schema that maps labels to respective portions of the dataset stored in the data storage device;

based on the request to generate the dashboard interface, generating, by the data analysis server, one or more queries that request the portions of the dataset that are mapped to the label by the schema;

receiving, from the data storage device, a subset of the dataset including the portions of the dataset that are mapped to the label by the schema;

generating, by the data analysis server, a dashboard file including the subset of the dataset and data indicating the visual format specified by user input, wherein the dashboard file enables a client device to generate the dashboard interface that provides a visualization of the subset of the dataset in the visual format specified by user input; and

transmitting, by the data analysis server, the dashboard file to a second device for presentation.

9. The system of claim 8 , wherein the second device includes a data analysis application that is configured to present the dashboard file.

10. The system of claim 9 , wherein the data analysis application is configured to view the dashboard interface by opening the dashboard file and bypassing accessing the data storage device.

11. The system of claim 8 , wherein the dashboard file includes the data stored in the data storage device.

12. The system of claim 8 , wherein the operations comprise:

receiving, by the data analysis server, data indicating edits made to the dashboard interface of the dashboard file by a user of the second device, wherein the second device was not in communication with the data analysis server during editing of the dashboard interface;

based on receiving the data indicating the edits made to the dashboard interface of the dashboard file, generating, by the data analysis server, an updated dashboard file that enables a client device to generate an updated dashboard interface; and

providing, by the data analysis server and to the second device, the updated dashboard file.

13. The system of claim 8 , wherein the operations comprise:

receiving, by the data analysis server and from the web application, a natural language query,

wherein generating the one or more queries that request the portions of the dataset that are mapped to the label by the schema comprises generating one or more SQL queries based on the natural language query.

14. The system of claim 8 , wherein:

receiving the request to generate the dashboard interface that provides the visualization of the data from the dataset stored in the data storage device comprises receiving an identifier of a user who is authorized to receive the dashboard file, and

generating the dashboard file that enables a client device to generate the dashboard interface comprises generating the dashboard file with permissions that prevent users other than the user from viewing the dashboard interface.

15. 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:

receiving, by a data analysis server and from a web application accessed through a browser running on a first device, a request to begin a web session between the data analysis server and the web application;

receiving, by the data analysis server and from the web application, a request to generate a dashboard interface that provides a visualization of data from a dataset stored in a data storage device, wherein the request to generate the dashboard interface includes a label specified by user input and a visual format specified by user input, and the data analysis server includes a schema that maps labels to respective portions of the dataset stored in the data storage device;

based on the request to generate the dashboard interface, generating, by the data analysis server, one or more queries that request the portions of the dataset that are mapped to the label by the schema;

receiving, from the data storage device, a subset of the dataset including the portions of the dataset that are mapped to the label by the schema;

generating, by the data analysis server, a dashboard file including the subset of the dataset and data indicating the visual format specified by user input, wherein the dashboard file enables a client device to generate the dashboard interface that provides a visualization of the subset of the dataset in the visual format specified by user input; and

transmitting, by the data analysis server, the dashboard file to a second device for presentation.

16. The medium of claim 15 , wherein the second device includes a data analysis application that is configured to present the dashboard file.

17. The medium of claim 15 , wherein the dashboard file includes the data stored in the data storage device.

18. The medium of claim 15 , wherein the operations comprise:

receiving, by the data analysis server, data indicating edits made to the dashboard interface of the dashboard file by a user of the second device, wherein the second device was not in communication with the data analysis server during editing of the dashboard interface;

based on receiving the data indicating the edits made to the dashboard interface of the dashboard file, generating, by the data analysis server, an updated dashboard file that enables a client device to generate an updated dashboard interface; and

providing, by the data analysis server and to the second device, the updated dashboard file.

19. The medium of claim 15 , wherein the operations comprise:

receiving, by the data analysis server and from the web application, a natural language query,

wherein generating the one or more queries that request the portions of the dataset that are mapped to the label by the schema comprises generating one or more SQL queries based on the natural language query.

20. The medium of claim 15 , wherein:

receiving the request to generate the dashboard interface that provides the visualization of the data from the dataset stored in the data storage device comprises receiving an identifier of a user who is authorized to receive the dashboard file, and

generating the dashboard file that enables a client device to generate the dashboard interface comprises generating the dashboard file with permissions that prevent users other than the user from viewing the dashboard interface.

Assignments (5)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072910/0511 →
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 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: XIAO, BAOXUAN; RACZKO, CEZARY; LIAO, RIXIN; LI, JING; JAYANCHANDRAN, NAVEEN; SHARMA, ATUL; EVERHART, L. DOUGLAS
To: MICROSTRATEGY INCORPORATED
Reel/Frame 049779/0340 →
Continuity (2)
Continuation 15006655 · Jan 26, 2016
Provisional Application 62108027 · Jan 26, 2015