IP Library Granted Patent US 10,509,794
Granted Patent B2
US 10,509,794 · App. 15/582,387 · Granted Dec 17, 2019

Dynamically-generated files for visualization sharing

Inventors: Nicholas J. Filippi (San Francisco, CA); Siegfried Puchbauer (San Francisco, CA); Ruyuan Ge (San Mateo, CA)
Assignee: Splunk Inc.
G06F16/248G06F16/164G06F16/2455G06F16/27
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,509,794
App. No.
15/582,387
Filed
Apr 28, 2017
Granted
Dec 17, 2019
Kind
B2
Examiner
LY, ANH
Art Unit
2162
USPC
707/722
Abstract

Systems and methods are disclosed for generating one or more files to visualize query results. The systems and methods can include parsing one or more files that include one or more queries and computer-executable instructions for displaying results of the one or more queries. The one or more queries can identify a set of data to be processed and a manner of processing the set of data. The systems and methods can further include generating one or more files that include the results of the queries and computer-executable instructions for displaying one or more visualizations of the results.

Claims (86)

1. A method, comprising:

parsing a first set of one or more source dashboard files to identify a query, the first set of one or more source dashboard files comprising:

the identified query, identifying a set of data to be processed and including computer-executable instructions for processing the set of data, and

first visualization code, wherein the first visualization code is computer-executable instructions that when executed cause one or more processors to display a graphical user interface including a visualization of results of the query;

initiating the query;

receiving the results of the query from a data intake and query system;

generating a first set of one or more dynamically-generated dashboard files comprising:

the results of the query, and

second visualization code, wherein the second visualization code is computer-executable instructions that when executed cause one or more processors to display the graphical user interface including the visualization using the results of the query in the first set of one or more dynamically-generated dashboard files, wherein the second visualization code is generated based on the first visualization code; and

storing the first set of one or more dynamically-generated dashboard files at a data store accessible to a user.

2. The method of claim 1 , wherein initiating the query to obtain the results of the query requires access to the data intake and query system.

3. The method of claim 1 , wherein initiating the query to obtain the results of the query requires access to the data intake and query system, wherein the data intake and query system is not accessible to the user.

4. The method of claim 1 , wherein each time the first set of one or more source dashboard files is accessed the query is executed by the data intake and query system.

5. The method of claim 1 , further comprising, following a predetermined time period:

generating a second set of one or more dynamically-generated dashboard files comprising:

updated results of the query, and

third visualization code, wherein the third visualization code is computer-executable instructions that when executed cause one or more processors to display the graphical user interface including the visualization using the updated results of the query in the second set of one or more dynamically-generated dashboard files; and

storing the second set of one or more dynamically-generated dashboard files at the data store accessible to the user.

6. The method of claim 1 , wherein the first visualization code references computer-executable instructions in one or more distinct files that are used to generate the second visualization code.

7. The method of claim 1 , wherein the first visualization code references computer-executable instructions that when executed cause one or more processors to implement interactive functionality with the visualization.

8. The method of claim 1 , wherein the first visualization code includes computer-executable instructions that when executed cause the one or more processors to implement interactive functionality with the visualization.

9. The method of claim 1 , wherein the second visualization code includes computer-executable instructions that when executed cause the one or more processors to implement zoom-in functionality for at least a portion of the visualization.

10. The method of claim 1 , wherein the second visualization code includes computer-executable instructions that when executed cause the one or more processors to implement tooltip functionality for at least a portion of the visualization.

11. The method of claim 1 , wherein the first visualization code includes interactivity code that references one or more files comprising computer-executable instructions that when executed cause the one or more processors to implement interactive functionality with the visualization,

wherein the parsing comprises identifying certain interactive functionality for discarding, and

wherein generating the first set of one or more dynamically-generated dashboard files comprises generating the second visualization code without computer-executable instructions for implementing the certain interactive functionality.

12. The method of claim 1 , wherein the first visualization code includes interactivity code that references one or more files comprising computer-executable instructions that when executed cause the one or more processors to implement interactive functionality with the visualization,

wherein the parsing comprises identifying certain interactive functionality for discarding based on a determination that the certain interactive functionality requires access to the data intake and query system, and

wherein generating the first set of one or more dynamically-generated dashboard files comprises generating the second visualization code without computer-executable instructions for implementing the certain interactive functionality.

13. The method of claim 1 , wherein the first visualization code includes first interactivity code that references one or more files comprising computer-executable instructions that when executed cause the one or more processors to implement interactive functionality with the visualization, and

wherein the second visualization code includes the computer-executable instructions referenced in the one or more files.

14. The method of claim 1 , wherein the first visualization code includes first interactivity code that references one or more files comprising computer-executable instructions that when executed cause the one or more processors to implement interactive functionality with the visualization, and

wherein the second visualization code includes second interactivity code that is generated based on the computer-executable instructions referenced by the first interactivity code.

15. The method of claim 1 , wherein the query is a first query, the set of data is a first set of data, the visualization is a first visualization, the graphical user interface is a first graphical user interface, and the first set of one or more source dashboard files comprises a reference to a second set of one or more source dashboard files, the second set of one or more source dashboard files comprising:

a second query identifying a second set of data to be processed and including computer-executable instructions for processing the second set of data, and

third visualization code, wherein the third visualization code is computer-executable instructions that when executed cause one or more processors to display a second graphical user interface including a second visualization of results of the second query, the method further comprising:

parsing the second set of one or more source dashboard files to identify the second query;

initiating the second query;

generating a second set of one or more dynamically-generated dashboard files comprising:

the results of the second query, and

fourth visualization code, wherein the fourth visualization code is computer-executable instructions that when executed cause one or more processors to display the second graphical user interface including the second visualization using the results of the second query in the second set of one or more dynamically-generated dashboard files, wherein the fourth visualization code is generated based on the third visualization code; and

storing the second set of one or more dynamically-generated dashboard files at the data store accessible to the user.

16. The method of claim 1 , wherein the first set of one or more source dashboard files further comprises query initiation code comprising computer-executable instructions that when executed further cause the one or more processors to initiate the query.

17. The method of claim 1 , wherein the first set of one or more source dashboard files further comprises computer-executable instructions that when executed further cause the one or more processors to initiate the query, and wherein the first set of one or more dynamically-generated dashboard files does not include computer-executable instructions that when executed further cause the one or more processors to initiate the query.

18. The method of claim 1 , wherein accessing the first set of one or more dynamically-generated dashboard files causes the graphical user interface including the visualization using the results of the query to be displayed without executing the query.

19. The method of claim 1 , wherein the first set of one or more dynamically-generated dashboard files enable the user to filter the results of the query.

20. The method of claim 1 , wherein the first set of one or more dynamically-generated dashboard files enable the user to process the results of the query.

21. The method of claim 1 , wherein a first file of the second set of one or more dynamically-generated dashboard files stores the results of the query and a second file of the first set of one or more dynamically-generated dashboard files stores the second visualization code.

22. The method of claim 1 , wherein the computer-executable instructions of the second visualization code are in a different computer language than computer-executable instructions of the first visualization code.

23. The method of claim 1 , wherein the first set of one or more dynamically-generated dashboard files includes an HTML file comprising inlined computer-executable instructions in a different computer language.

24. The method of claim 1 , wherein the first set of one or more dynamically-generated dashboard files includes an HTML file comprising the results of the query inlined.

25. The method of claim 1 , wherein the query is a first query and the visualization is a first visualization,

wherein the first set of one or more source dashboard files further comprise a second query identifying the set of data to be processed and including computer-executable instructions for processing the set of data, and the first visualization code further comprises computer-executable instructions that when executed cause one or more processors to display a second graphical user interface including a second visualization of results of the second query,

wherein the first set of one or more source dashboard files are further parsed to identify the second query, the method further comprising:

determining not to initiate the second query based on a determination that the second query matches the first query,

wherein the second visualization code further comprises computer-executable instructions that when executed cause one or more processors to display the second graphical user interface including the second visualization based on the results of the first query.

26. The method of claim 1 , wherein the query is a first query and the visualization is a first visualization,

wherein the first set of one or more source dashboard files further comprise a second query identifying the set of data to be processed and including computer-executable instructions for processing the set of data, and the first visualization code further comprises computer-executable instructions that when executed cause one or more processors to display a second graphical user interface including a second visualization of results of the second query,

wherein the first set of one or more source dashboard files are further parsed to identify the second query, the method further comprising:

initiating the second query,

wherein the first set of one or more dynamically-generated dashboard files further comprises:

the results of the second query, and wherein

the second visualization code further comprises computer-executable instructions that when executed cause one or more processors to display the second graphical user interface including the second visualization using the results of the second query in the first set of one or more dynamically-generated dashboard files.

27. The method of claim 1 , wherein the visualization is a first visualization, and the first visualization code further comprises computer-executable instructions that when executed cause one or more processors to display a second graphical user interface including a second visualization of the results of the query, and

wherein the second visualization code further comprises computer-executable instructions that when executed cause one or more processors to display the second graphical user interface including the second visualization.

28. A computing system, comprising:

one or more processing devices configured to:

parse a first set of one or more source dashboard files to identify a query, the first set of one or more source dashboard files comprising:

the identified query, identifying a set of data to be processed and including computer-executable instructions for processing the set of data, and

first visualization code, wherein the first visualization code is computer-executable instructions that when executed cause one or more processors to display a graphical user interface including a visualization of results of the query;

initiate the query;

receive the results of the query from a data intake and query system;

generate a first set of one or more dynamically-generated dashboard files comprising:

the results of the query, and

second visualization code, wherein the second visualization code is computer-executable instructions that when executed cause one or more processors to display the graphical user interface including the visualization using the results of the query in the first set of one or more dynamically-generated dashboard files, wherein the second visualization code is generated based on the first visualization code; and

store the second set of one or more dynamically-generated dashboard files at a data store accessible to a user.

29. Non-transitory computer readable storage media comprising computer-executable instructions that, when executed by a computing system, cause the computing system to:

parse a first set of one or more source dashboard files to identify a query, the first set of one or more source dashboard files comprising:

the identified query, identifying a set of data to be processed and including computer-executable instructions for processing the set of data, and

first visualization code, wherein the first visualization code is computer-executable instructions that when executed cause one or more processors to display a graphical user interface including a visualization of results of the query;

initiate the query;

receive the results of the query from a data intake and query system;

generate a first set of one or more dynamically-generated dashboard files comprising:

the results of the query, and

second visualization code, wherein the second visualization code is computer-executable instructions that when executed cause one or more processors to display the graphical user interface including the visualization using the results of the query in the first set of one or more dynamically-generated dashboard files, wherein the second visualization code is generated based on the first visualization code; and

store the first set of one or more dynamically-generated dashboard files at a data store accessible to a user.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2017
From: FILIPPI, NICHOLAS J.; PUCHBAUER, SIEGFRIED; GE, RUYUAN
To: SPLUNK INC.
Reel/Frame 042224/0984 →
Continuity (1)
Related Publication 20180314745A1 · Nov 1, 2018
Cited By (6)
US 12,197,451 US 12,242,495 US 12,271,428 US 12,298,981 US 12,670,152 US 12,724,854