IP Library Granted Patent US 9,372,942
Granted Patent B1
US 9,372,942 · App. 13/836,840 · Granted Jun 21, 2016

System and method for facilitating data visualization via a map-reduce framework

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,372,942
App. No.
13/836,840
Granted
Jun 21, 2016
Kind
B1
Abstract

In one embodiment, a method includes receiving a request for data visualization. The request specifies input data, at least one user query, and a data-visualization type. The method further includes inferring at least one additional query based on a user-interface (UI) range of freedom associated with the request. In addition, the method includes causing a map-reduce framework to process the input data according to the at least one user query and the at least one additional query. The causing yields resultant data. Further, the method includes storing in a cache a portion of the resultant data that relates to the at least one additional query. The method also includes generating the requested data visualization based on a portion of the resultant data that relates to the at least one user query.

Claims (73)

1. A method comprising:

on at least one server computer, receiving a request for data visualization;

wherein the request specifies input data, at least one user query, and a data-visualization type;

inferring, by the at least one server computer without user-modification of the request, at least one additional query not specified by the at least one user query based on a user-interface (UI) range of freedom associated with the request, wherein the UI range of freedom encompasses a plurality of modifications collectively enabled by a plurality of UI controls of a visualization interface on which the requested visualization will be served;

the at least one server computer causing a map-reduce framework to process the input data according to the at least one user query and the at least one additional query, the causing yielding resultant data;

the at least one server computer storing in a cache a portion of the resultant data that relates to the at least one additional query;

the at least one server computer generating the requested data visualization based on a portion of the resultant data that relates to the at least one user query; and

serving the requested visualization on the visualization interface.

2. The method of claim 1 , comprising, prior to the causing:

configuring one or more map-reduce filters based on the input data, the at least one user query, and the at least one additional query; and

sequencing the one or more map-reduce filters.

3. The method of claim 2 , wherein the causing comprises applying the one or more map-reduce filters on the map-reduce framework.

4. The method of claim 1 , wherein the UI range of freedom comprises semantic zooming on the data visualization.

5. The method of claim 4 , wherein the inferring comprises:

determining at least one level of granularity beyond the request; and

fashioning at least one query at the at least one level.

6. The method of claim 1 , wherein:

the UI range of freedom comprises at least one additional data operation; and

fashioning at least one query related to the at least one additional data operation.

7. The method of claim 1 , wherein:

the UI range of freedom comprises at least one additional data relationship; and

fashioning at least one query related to the at least one additional data relationship.

8. The method of claim 1 , comprising, as a modification to the request is received via the visualization interface:

determining whether the cache fulfills at least one new user query specified by the modification; and

responsive to a determination that the cache fulfills the at least one new user query:

retrieving data from the cache that fulfills the at least one new user query;

generating an updated data visualization based on the retrieved data; and

serving the updated data visualization on the visualization interface.

9. The method of claim 8 , comprising, as the modification to the request is received via the visualization interface:

inferring at least one new additional query based on a user-interface (UI) range of freedom associated with the modification;

causing the map-reduce framework to perform additional processing of the input data according to the at least one new additional query, the additional processing yielding new resultant data relating to the at least one new additional query; and

generating an updated data visualization based on the new resultant data relating to the at least one new additional query.

10. The method of claim 9 , comprising:

wherein, responsive to a determination that the cache does not fulfill the at least one new user query, the additional processing comprises additional processing of the input data according to the at least one new user query, the causing to perform additional processing yielding new resultant data relating to the at least one new user query; and

generating an updated data visualization based on the new resultant data relating to the at least one new user query.

11. The method of claim 1 , wherein the inferring comprises analyzing the UI range of freedom.

12. The method of claim 1 , wherein the data-visualization type is selected from the group consisting of: a scatterplot, a pie chart, a table, a bar chart, a geospatial representation, a heat map, a chord chart, an interactive graph, a bubble chart, a candlestick chart, a stoplight chart, and a spring graph.

13. An information handling system, comprising:

at least one processor, wherein the at least one processor is operable to perform a method comprising:

receiving a request for data visualization;

wherein the request specifies input data, at least one user query, and a data-visualization type;

inferring, without user-modification of the request, at least one additional query not specified by the at least one user query based on a user-interface (UI) range of freedom associated with the request, wherein the UI range of freedom encompasses a plurality of modifications collectively enabled by a plurality of UI controls of a visualization interface on which the requested visualization will be served;

causing a map-reduce framework to process the input data according to the at least one user query and the at least one additional query, the causing yielding resultant data;

storing in a cache a portion of the resultant data that relates to the at least one additional query;

generating the requested data visualization based on a portion of the resultant data that relates to the at least one user query; and

serving the requested visualization on the visualization interface.

14. The information handling system of claim 13 , comprising:

wherein the UI range of freedom comprises semantic zooming on the data visualization; and

wherein the inferring comprises:

determining at least one level of granularity beyond the request; and

fashioning at least one query at the at least one level.

15. The information handling system of claim 13 ,

wherein the method comprises, as a modification to the request is received via the visualization interface:

determining whether the cache fulfills at least one new user query specified by the modification; and

responsive to a determination that the cache fulfills the at least one new user query:

retrieving data from the cache that fulfills the at least one new user query;

generating an updated data visualization based on the retrieved data; and

serving the updated data visualization on the visualization interface.

16. The information handling system of claim 15 , wherein the method comprises, as the modification to the request is received via the visualization interface:

inferring at least one new additional query based on a user-interface (UI) range of freedom associated with the modification;

causing the map-reduce framework to perform additional processing of the input data according to the at least one new additional query, the additional processing yielding new resultant data relating to the at least one new additional query; and

generating an updated data visualization based on the new resultant data relating to the at least one new additional query.

17. The information handling system of claim 16 , comprising:

wherein, responsive to a determination that the cache does not fulfill the at least one new user query, the additional processing comprises additional processing of the input data according to the at least one new user query, the causing to perform additional processing yielding new resultant data relating to the at least one new user query; and

wherein the method comprises generating an updated data visualization based on the new resultant data relating to the at least one new user query.

18. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

receiving a request for data visualization;

wherein the request specifies input data, at least one user query, and a data-visualization type;

inferring, without user-modification of the request, at least one additional query not specified by the at least one user query based on a user-interface (UI) range of freedom associated with the request, wherein the UI range of freedom encompasses a plurality of modifications collectively enabled by a plurality of UI controls of a visualization interface on which the requested visualization will be served;

causing a map-reduce framework to process the input data according to the at least one user query and the at least one additional query, the causing yielding resultant data;

storing in a cache a portion of the resultant data that relates to the at least one additional query;

generating the requested data visualization based on a portion of the resultant data that relates to the at least one user query; and

serving the requested visualization on the visualization interface.

Assignments (23)
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2013
From: DAVIS, MARK WILLIAM
To: QUEST SOFTWARE, INC.
Reel/Frame 030132/0913 →