IP Library Granted Patent US 10,366,079
Granted Patent B1
US 10,366,079 · App. 15/006,655 · Granted Jul 30, 2019

Enterprise connectivity

Inventors: Baoxuan Xiao (Vienna, VA); Cezary Raczko (Vienna, VA); Rixin Liao (Herndon, VA); Jing Li (McLean, VA); Naveen Jayanchandran (Vienna, 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 10,366,079
App. No.
15/006,655
Granted
Jul 30, 2019
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 (70)

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 stored in a data storage device;

based on the request to generate the dashboard interface that provides the visualization of the data stored in the data storage device, generating, by the data analysis server, queries to request the data stored in the data storage device;

based on receiving the data stored in the data storage device in response to the queries, generating, by the data analysis server, a schema that includes a mapping of objects to the data stored in the data storage device;

generating, by the data analysis server, the dashboard interface based on the objects in the schema;

receiving, by the data analysis server, a request to export the dashboard interface;

in response to receiving the request to export the dashboard interface, generating, by the data analysis server, a dashboard file that is viewable outside of the web application and that includes a first portion of the objects in the schema from which a first portion of the visualization is derived;

transmitting, by the data analysis server and to a second device that includes a data analysis application that is configured to read the dashboard file and generate a representation of the dashboard interface that is editable without accessing the data analysis server, the dashboard file;

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 while the second device was not in communication with the data analysis server;

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 interface; and

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

2. The method of claim 1 , wherein the data analysis server is configured to generate SQL queries based on natural language user input.

3. The method of claim 1 , wherein the dashboard file is configured to provide the visualization of the objects in the schema without requiring the second device to connect to the data storage device.

4. The method of claim 1 , wherein receiving the request to generate the dashboard interface that provides the visualization of the objects in the schema comprises receiving one or more user identifiers of users who are authorized to receive the dashboard file.

5. The method of claim 1 , wherein receiving the request to export the dashboard interface comprises receiving a request to export the dashboard interface to a format that is viewable by the data analysis application.

6. The method of claim 1 , comprising:

receiving, by the data analysis server, a user defined data set and a request to store the user defined data set locally on the data analysis server, wherein in the user defined data set is data identified by a user;

receiving, by the data analysis server and from the data analysis application running on the second device, a request to generate another dashboard interface that provides a visualization of the user defined data set; and

generating, by the data analysis server, the other dashboard interface and a corresponding other dashboard file that is viewable outside of the data analysis application.

7. The method of claim 1 , wherein the first portion of the data specified by a user.

8. The method of claim 1 , wherein generating the dashboard file that is viewable outside of the web application comprises:

based on the queries to the data storage device, identifying the first portion of the data.

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

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 stored in a data storage device;

based on the request to generate the dashboard interface that provides the visualization of the data stored in the data storage device, generating, by the data analysis server, queries to request the data stored in the data storage device;

based on receiving the data stored in the data storage device in response to the queries, generating, by the data analysis server, a schema that includes a mapping of objects to the data stored in the data storage device;

generating, by the data analysis server, the dashboard interface based on the objects in the schema;

receiving, by the data analysis server, a request to export the dashboard interface;

in response to receiving the request to export the dashboard interface, generating, by the data analysis server, a dashboard file that is viewable outside of the web application and that includes a first portion of the objects in the schema from which a first portion of the visualization is derived;

transmitting, by the data analysis server and to a second device that includes a data analysis application that is configured to read the dashboard file and generate a representation of the dashboard interface that is editable without accessing the data analysis server, the dashboard file;

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 while the second device was not in communication with the data analysis server;

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 interface; and

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

10. The system of claim 9 , wherein the data analysis server generates SQL queries based on natural language user input.

11. The system of claim 9 , wherein the dashboard file provides the visualization of the objects in the schema without requiring the second device to connect to the data storage device.

12. The system of claim 9 , wherein receiving the request to generate the dashboard interface that provides the visualization of the objects in the schema comprises receiving one or more user identifiers of users who are authorized to receive the dashboard file.

13. The system of claim 9 , wherein receiving the request to export the dashboard interface comprises receiving a request to export the dashboard interface to a format that is viewable by the data analysis application.

14. The system of claim 9 , comprising:

receiving, by the data analysis server, a user defined data set and a request to store the user defined data set locally on the data analysis server, wherein in the user defined data set is data identified by a user;

receiving, by the data analysis server and from the data analysis application running on the second device, a request to generate another dashboard interface that provides a visualization of the user defined data set; and

generating, by the data analysis server, the other dashboard interface and a corresponding other dashboard file that is viewable outside of the data analysis application.

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 stored in a data storage device;

based on the request to generate the dashboard interface that provides the visualization of the data stored in the data storage device, generating, by the data analysis server, queries to request the data stored in the data storage device;

based on receiving the data stored in the data storage device in response to the queries, generating, by the data analysis server, a schema that includes a mapping of objects to the data stored in the data storage device;

generating, by the data analysis server, the dashboard interface based on the objects in the schema;

receiving, by the data analysis server, a request to export the dashboard interface;

in response to receiving the request to export the dashboard interface, generating, by the data analysis server, a dashboard file that is viewable outside of the web application and that includes a first portion of the objects in the schema from which a first portion of the visualization is derived;

transmitting, by the data analysis server and to a second device that includes a data analysis application that is configured to read the dashboard file and generate a representation of the dashboard interface that is editable without accessing the data analysis server, the dashboard file;

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 while the second device was not in communication with the data analysis server;

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 interface; and

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

16. The method of claim 1 , wherein:

receiving data indicating edits made to the dashboard interface of the dashboard file by the user of the second device while the second device was not in communication with the data analysis server comprises:

receiving the data indicating edits made to the first portion of the visualization, and

generating the updated dashboard interface comprises:

determining, by the data analysis server, that the first portion of the objects in the schema has been updated, and

generating the updated dashboard interface further based on determining that the first portion of the objects in the schema has been updated.

17. The method of claim 1 , wherein:

generating the a dashboard file that is viewable outside of the web application and that includes the first portion of the objects in the schema from which a first portion of the visualization is derived comprises:

generating the dashboard file that does not include a second portion of the objects in the schema from which the second portion of the visualization is derived and that includes data source definitions that describe a type of data included in the second portion of the objects in the schema,

receiving data indicating edits made to the dashboard interface of the dashboard file by the user of the second device while the second device was not in communication with the data analysis server comprises:

receiving the data indicating edits made to the second portion of the dashboard interface of the dashboard file, wherein the edits indicate which of the data source definitions are associated with the edits, and

generating the updated dashboard interface comprises:

accessing a portion of the second portion of the data associated with the data source definitions associated with the edits; and

generating the updated dashboard further based on the portion of the second portion of the data associated with the data source definitions associated with the edits.

Assignments (4)
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 →
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 Jun 4, 2019
From: XIAO, BAOXUAN; RACZKO, CEZARY; LIAO, RIXIN; LI, JING; JAYANCHANDRAN, NAVEEN; SHARMA, ATUL; EVERHART, L. DOUGLAS
To: MICROSTRATEGY INCORPORATED
Reel/Frame 049361/0459 →
Continuity (1)
Provisional Application 62108027 · Jan 26, 2015