IP Library Granted Patent US 9,983,774
Granted Patent B2
US 9,983,774 · App. 14/976,237 · Granted May 29, 2018

Authoring and consuming offline an interactive data analysis document

Inventors: Christopher Disdero (Everett, WA); Kim Petter Ake Ahlberg (Seattle, WA); William J. Bernhard (Seattle, WA)
Assignee: TIBCO Software Inc.
G06F3/04847G06F3/0482G06F17/30554
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 9,983,774
App. No.
14/976,237
Filed
Dec 21, 2015
Granted
May 29, 2018
Kind
B2
Art Unit
2145
USPC
715/747
Abstract

One or more user interactions, selected from a plurality of user interactions, and one or more visualization types, selected from a plurality of visualization types are received. Predetermined visualization data associated with displaying an interactive data analysis document is determined based at least in part on the selected user interactions and the selected visualization types. The predetermined visualization data is output.

Claims (76)

1. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive one or more user interactions, selected from a plurality of user interactions, and one or more visualization types, selected from a plurality of visualization types, including by:

displaying one or more recommended user interactions and one or more recommended visualization types, including by:

analyzing historic usage information associated with an interactive data analysis document, supported using predetermined visualization data, in order to determine utilization metrics associated with a most unpopular user interaction and a most unpopular visualization type;

determining if the utilization metric associated with the most unpopular user interaction is less than a first threshold;

in the event it is determined that the utilization metric associated with the most unpopular user interaction is less than the first threshold, excluding the most unpopular user interaction from the recommended user interactions;

in the event it is determined that the utilization metric associated with the most unpopular user interaction is greater than the first threshold, keeping the most unpopular user interaction in the recommended user interactions;

determining if the utilization metric associated with the most unpopular visualization type is less than a second threshold;

in the event it is determined that the utilization metric associated with the most unpopular visualization type is less than the second threshold, excluding the most unpopular visualization type from the recommended visualization types; and

in the event it is determined that the utilization metric associated with the most unpopular visualization type is greater than the second threshold, keeping the most unpopular visualization type in the recommended visualization types; and

receiving zero or more changes to the recommended user interactions and recommended visualization types in order to obtain the selected user interactions and the selected visualization types;

determine, based at least in part on the selected user interactions and the selected visualization types, the predetermined visualization data associated with displaying the interactive data analysis document, wherein the determination of the predetermined visualization data is performed on a data analysis server;

store the predetermined visualization data determined by the data analysis server on a computing device; and

display the interactive data analysis document on the computing device, including by accessing the predetermined visualization data stored on the computing device such that the computing device is able to display the interactive data analysis document without communicating with the data analysis server in response to a decision that a connection to the data analysis server is too slow or is unavailable.

2. The system recited in claim 1 , wherein the predetermined visualization data is output to one or more of the following: a smartphone, a tablet, a smartwatch, a smart TV, a laptop, or desktop computer.

3. The system recited in claim 1 , wherein the selected visualization types includes one or more of the following: a map, a scatter plot, a grid of same visualization types, a grid of different visualization types, a tree map, a parallel coordinate plot, a line chart, a table plot, a bar graph, a pie chart, a donut chart, or a KPI tile grid.

4. The system recited in claim 1 , wherein displaying the recommended user interactions and the recommended visualization types includes:

analyzing historic usage information associated with a full-featured interactive data analysis document, not supported using the predetermined visualization data, in order to determine one or more popular user interactions and one or more popular visualization types; and

making at least one of the popular user interactions a recommended user interaction and at least one of the popular visualization types a recommended visualization type.

5. The system recited in claim 1 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

receive one or more of the following: (1) an additional user interaction, not included in the selected user interactions, for which there is no predetermined visualization data or (2) an additional visualization type, not included in the selected visualization types, for which there is no predetermined visualization data;

determine requested, additional visualization data using one or more of the following: the additional user interaction or the additional visualization type;

determine anticipatory, additional visualization data using one or more of the following: (1) a user interaction, other than the selected user interactions or the additional user interaction, for which there is no predetermined visualization data or (2) a visualization type, other than the selected visualization types and the additional visualization type, for which there is no predetermined visualization data; and

output the requested, additional visualization data and the anticipatory, additional visualization data.

6. A method, comprising:

receiving one or more user interactions, selected from a plurality of user interactions, and one or more visualization types, selected from a plurality of visualization types, including by:

displaying one or more recommended user interactions and one or more recommended visualization types, including by:

analyzing historic usage information associated with an interactive data analysis document, supported using predetermined visualization data, in order to determine utilization metrics associated with a most unpopular user interaction and a most unpopular visualization type;

determining if the utilization metric associated with the most unpopular user interaction is less than a first threshold;

in the event it is determined that the utilization metric associated with the most unpopular user interaction is less than the first threshold, excluding the most unpopular user interaction from the recommended user interactions;

in the event it is determined that the utilization metric associated with the most unpopular user interaction is greater than the first threshold, keeping the most unpopular user interaction in the recommended user interactions;

determining if the utilization metric associated with the most unpopular visualization type is less than a second threshold;

in the event it is determined that the utilization metric associated with the most unpopular visualization type is less than the second threshold, excluding the most unpopular visualization type from the recommended visualization types; and

in the event it is determined that the utilization metric associated with the most unpopular visualization type is greater than the second threshold, keeping the most unpopular visualization type in the recommended visualization types; and

receiving zero or more changes to the recommended user interactions and recommended visualization types in order to obtain the selected user interactions and the selected visualization types;

determining, based at least in part on the selected user interactions and the selected visualization types, the predetermined visualization data associated with displaying the interactive data analysis document, wherein the determination of the predetermined visualization data is performed on a data analysis server;

storing the predetermined visualization data determined by the data analysis server on a computing device; and

displaying the interactive data analysis document on the computing device, including by accessing the predetermined visualization data stored on the computing device such that the computing device is able to display the interactive data analysis document without communicating with the data analysis server in response to a decision that a connection to the data analysis server is too slow or is unavailable.

7. The method recited in claim 6 , wherein the predetermined visualization data is output to one or more of the following: a smartphone, a tablet, a smartwatch, a smart TV, a laptop, or desktop computer.

8. The method recited in claim 6 , wherein the selected visualization types includes one or more of the following: a map, a scatter plot, a grid of same visualization types, a grid of different visualization types, a tree map, a parallel coordinate plot, a line chart, a table plot, a bar graph, a pie chart, a donut chart, or a KPI tile grid.

9. The method recited in claim 6 , wherein displaying the recommended user interactions and the recommended visualization types includes:

analyzing historic usage information associated with a full-featured interactive data analysis document, not supported using the predetermined visualization data, in order to determine one or more popular user interactions and one or more popular visualization types; and

making at least one of the popular user interactions a recommended user interaction and at least one of the popular visualization types a recommended visualization type.

10. The method recited in claim 6 further comprising:

receiving one or more of the following: (1) an additional user interaction, not included in the selected user interactions, for which there is no predetermined visualization data or (2) an additional visualization type, not included in the selected visualization types, for which there is no predetermined visualization data;

determining requested, additional visualization data using one or more of the following:

the additional user interaction or the additional visualization type;

determining anticipatory, additional visualization data using one or more of the following: (1) a user interaction, other than the selected user interactions or the additional user interaction, for which there is no predetermined visualization data or (2) a visualization type, other than the selected visualization types and the additional visualization type, for which there is no predetermined visualization data; and

outputting the requested, additional visualization data and the anticipatory, additional visualization data.

11. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving one or more user interactions, selected from a plurality of user interactions, and one or more visualization types, selected from a plurality of visualization types, including by:

displaying one or more recommended user interactions and one or more recommended visualization types, including by:

analyzing historic usage information associated with an interactive data analysis document, supported using predetermined visualization data, in order to determine utilization metrics associated with a most unpopular user interaction and a most unpopular visualization type;

determining if the utilization metric associated with the most unpopular user interaction is less than a first threshold;

in the event it is determined that the utilization metric associated with the most unpopular user interaction is less than the first threshold, excluding the most unpopular user interaction from the recommended user interactions;

in the event it is determined that the utilization metric associated with the most unpopular user interaction is greater than the first threshold, keeping the most unpopular user interaction in the recommended user interactions;

determining if the utilization metric associated with the most unpopular visualization type is less than a second threshold;

in the event it is determined that the utilization metric associated with the most unpopular visualization type is less than the second threshold, excluding the most unpopular visualization type from the recommended visualization types; and

in the event it is determined that the utilization metric associated with the most unpopular visualization type is greater than the second threshold, keeping the most unpopular visualization type in the recommended visualization types;

and

receiving zero or more changes to the recommended user interactions and recommended visualization types in order to obtain the selected user interactions and the selected visualization types;

determining, based at least in part on the selected user interactions and the selected visualization types, the predetermined visualization data associated with displaying the interactive data analysis document, wherein the determination of the predetermined visualization data is performed on a data analysis server;

storing the predetermined visualization data determined by the data analysis server on a computing device; and

displaying the interactive data analysis document on the computing device, including by accessing the predetermined visualization data stored on the computing device such that the computing device is able to display the interactive data analysis document without communicating with the data analysis server in response to a decision that a connection to the data analysis server is too slow or is unavailable.

12. The computer program product recited in claim 11 , wherein the predetermined visualization data is output to one or more of the following: a smartphone, a tablet, a smartwatch, a smart TV, a laptop, or desktop computer.

13. The computer program product recited in claim 11 , wherein the selected visualization types includes one or more of the following: a map, a scatter plot, a grid of same visualization types, a grid of different visualization types, a tree map, a parallel coordinate plot, a line chart, a table plot, a bar graph, a pie chart, a donut chart, or a KPI tile grid.

14. The computer program product recited in claim 11 , wherein displaying the recommended user interactions and the recommended visualization types includes:

analyzing historic usage information associated with a full-featured interactive data analysis document, not supported using the predetermined visualization data, in order to determine one or more popular user interactions and one or more popular visualization types; and

making at least one of the popular user interactions a recommended user interaction and at least one of the popular visualization types a recommended visualization type.

15. The computer program product recited in claim 11 further comprising computer instructions for:

receiving one or more of the following: (1) an additional user interaction, not included in the selected user interactions, for which there is no predetermined visualization data or (2) an additional visualization type, not included in the selected visualization types, for which there is no predetermined visualization data;

determining requested, additional visualization data using one or more of the following: the additional user interaction or the additional visualization type;

determining anticipatory, additional visualization data using one or more of the following: (1) a user interaction, other than the selected user interactions or the additional user interaction, for which there is no predetermined visualization data or (2) a visualization type, other than the selected visualization types and the additional visualization type, for which there is no predetermined visualization data; and

outputting the requested, additional visualization data and the anticipatory, additional visualization data.

Assignments (16)
CHANGE OF NAME Recorded Jul 1, 2026
From: CLOUD SOFTWARE GROUP, INC.
To: CLOUD SOFTWARE GROUP, LLC
Reel/Frame 075874/0220 →
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 038754 / FRAME 0649) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061575/0179 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY AGREEMENT Recorded May 19, 2016
From: TIBCO SOFTWARE INC., AS PLEDGOR
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038754/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2016
From: DISDERO, CHRISTOPHER; AHLBERG, KIM PETTER AKE; BERNHARD, WILLIAM J.
To: TIBCO SOFTWARE INC.
Reel/Frame 037895/0879 →
Continuity (1)
Related Publication 20170177201A1 · Jun 22, 2017