IP Library Granted Patent US 10,049,473
Granted Patent B2
US 10,049,473 · App. 14/697,283 · Granted Aug 14, 2018

Systems and methods for providing for third party visualizations

Inventors: Nicholas Filippi (Atherton, CA); Simon Fishel (San Francisco, CA); Siegfried Puchbauer-Schnabel (Sunnyvale, CA); Mathew Elting (San Francisco, CA); Carl Yestrau (San Francisco, CA)
Assignee: SPLUNK INC
G06T11/206G06F17/30991G06T2200/24
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,049,473
App. No.
14/697,283
Filed
Apr 27, 2015
Granted
Aug 14, 2018
Kind
B2
Art Unit
2141
USPC
715/781
Abstract

Embodiments of the disclosure are systems and methods for providing third party visualizations. In one embodiment, a method is provided that includes receiving, via an API, computer-executable instructions configured to render a visualization using events and a variable field; rendering the visualization using the events; causing displaying of a graphical user interface (GUI) comprising a visualization panel and a variable element; receiving, via the variable element of the GUI, an indication of a first change in the value of the variable field to a first value; re-rendering the visualization using the events and the first value; and causing display of the GUI with an updated visualization panel and the variable element.

Claims (90)

1. A method comprising:

receiving, via an application programming interface (API), a variable field and computer-executable instructions configured to render a visualization based on events, wherein a change in a value of the variable field results in a change in the visualization, and wherein each event of the events is raw machine-generated data associated with a respective timestamp;

rendering the visualization; and

causing display of a graphical user interface (GUI) comprising a visualization panel and a variable graphical element,

wherein the visualization panel displays the visualization; and

wherein the variable graphical element comprises a GUI element corresponding to the variable field.

2. The method of claim 1 , wherein the GUI further comprises a menu panel that comprises a menu element corresponding to the visualization, and further comprising:

receiving, via the variable graphical element of the GUI, an indication of the value of the variable field;

re-rendering the visualization based on the events and the value; and

causing display of the GUI with an updated visualization panel and the variable graphical element;

receiving, via the menu panel of the GUI, an indication of a selection of the menu element.

3. The method of claim 1 , wherein the rendering the visualization further comprises:

receiving the events from a plurality of searches; and

rendering the visualization using the events from the plurality of searches.

4. The method of claim 1 , further comprising:

registering the visualization as part of a framework for visualizations of events.

5. The method of claim 1 , further comprising:

receiving visualization editor options for the visualization; and

storing the computer-executable instructions, the variable field, and the visualization editor options.

6. The method of claim 1 , further comprising:

displaying the visualization in a dashboard GUI.

7. The method of claim 1 , further comprising:

transferring the computer-executable instructions and the variable field to a specified device.

8. The method of claim 1 , wherein the computer-executable instructions configured to render the visualization are in a JavaScript syntax.

9. The method of claim 1 , further comprising:

receiving, via the variable graphical element of the GUI, an indication of the value of the variable field;

re-rendering the visualization based on the events and the value; and

causing display of the GUI with an updated visualization panel and the variable graphical element;

receiving, via the variable graphical element of the GUI, an indication of a change in the value of the variable field to a second value;

rendering a second visualization based on the events and the second value; and

causing display of the GUI the updated visualization panel using the second visualization and the variable graphical element.

10. The method of claim 1 , further comprising:

receiving the events from one or more indexers.

11. The method of claim 1 , wherein the variable graphical element is one of: a slider; a checkbox; a text field; a drop down menu; a dial element; a spinner; or a combination box.

12. The method of claim 1 , further comprising:

receiving, via the API, a second variable field, wherein a change in a value of the second variable field results in the change in the visualization; and

wherein the GUI further comprises a second variable graphical element, wherein the second variable graphical element comprises a second GUI element corresponding to the second variable field.

13. The method of claim 1 , further comprising:

determining that the computer-executable instructions do not render an existing visualization.

14. The method of claim 1 , further comprising:

rendering the visualization using events obtained using a predefined search criteria for searching the machine-generated data.

15. The method of claim 1 , wherein the events are obtained from at least one of: activity logs; error logs; configuration files; network packets; application data; virtual machine data; or database records.

16. The method of claim 1 , wherein rendering the visualization further comprises:

extracting field values from the events using one or more extraction rules of a late-binding schema; and

rendering the visualization using the field values.

17. The method of claim 1 , wherein the events comprise aggregated heterogeneous machine-generated data generated by at least one of a server, a database, an application, or a network.

18. The method of claim 1 , wherein the events are extracted from machine-generated data based at least in part on a search query.

19. The method of claim 1 , further comprising:

rendering the visualization panel and the variable graphical element using data received with the computer-executable instructions to render the visualization.

20. The method of claim 1 , further comprising:

generating a search query using one or more values associated with the visualization and the value of the variable field;

submitting the search query to a search system; and

receiving the events from the search system, wherein the search system obtained the events using the search query.

21. The method of claim 1 , further comprising:

transmitting the computer-executable instructions configured to render the visualization to a different user.

22. The method of claim 1 , further comprising:

causing display of an updated GUI comprising the visualization and one or more additional third party visualizations.

23. The method of claim 1 , further comprising:

rendering the visualization using two or more data sets of events of machine-generated data; and

causing display of an updated GUI comprising the visualization depicting the two or more data sets.

24. A system comprising:

at least one memory storing computer-executable instructions; and

at least one processor, wherein the at least one processor is configured to access the at least one memory and to execute the computer-executable instructions to:

receive, via an application programming interface (API), a variable field and computer-executable instructions configured to render a visualization based on events, wherein a change in a value of the variable field results in a change in the visualization, and wherein each event of the events is raw machine-generated data associated with a respective timestamp;

render the visualization; and

cause displaying of a graphical user interface (GUI) comprising a visualization panel and a variable graphical element,

wherein the visualization panel displays the visualization; and

wherein the variable graphical element comprises a GUI element corresponding to the variable field.

25. The system of claim 24 , wherein the GUI further comprises a menu panel that comprises a menu element corresponding to the visualization, and wherein the at least one processor is configured to access the at least one memory and to execute the computer-executable instructions to:

receive, via the variable graphical element of the GUI, an indication of the value of the variable field;

re-render the visualization based on the events and the value;

cause display of the GUI with an updated visualization panel and the variable graphical element; and

receive, via the menu panel of the GUI, an indication of a selection of the menu element.

26. The system of claim 24 , wherein, to render the visualization, the at least one processor is configured to access the at least one memory and to execute the computer-executable instructions to:

receive the events from a plurality of searches; and

render the visualization using the events from the plurality of searches.

27. The system of claim 24 , wherein the at least one processor is configured to access the at least one memory and to execute the computer-executable instructions to:

register the visualization as part of a framework for visualizations of events.

28. A non-transitory computer-readable medium storing computer-executable instructions which, when executed by a processor, cause the processor to perform operations comprising:

receiving, via an application programming interface (API), a variable field and computer-executable instructions configured to render a visualization based on events, wherein a change in a value of the variable field results in a change in the visualization, and wherein each event of the events is raw machine-generated data associated with a respective timestamp;

rendering the visualization; and

causing displaying of a graphical user interface (GUI) comprising a visualization panel and a variable graphical element,

wherein the visualization panel displays the visualization; and

wherein the variable graphical element comprises a GUI element corresponding to the variable field.

29. The non-transitory computer-readable medium of claim 28 , wherein the operations further comprise:

receiving, via the variable element of the GUI, an indication of a change in the value of the variable field to a first value;

rendering a first visualization based on the events and the first value; and

causing display of the GUI the updated visualization panel using the first visualization and the variable element.

30. The non-transitory computer-readable medium of claim 28 , wherein the operations further comprise:

receiving the events from one or more indexers.

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 Apr 27, 2015
From: FILIPPI, NICHOLAS; FISHEL, SIMON; PUCHBAUER-SCHNABEL, SIEGFRIED; ELTING, MATHEW; YESTRAU, CARL
To: SPLUNK INC
Reel/Frame 035505/0434 →
Continuity (1)
Related Publication 20160314605A1 · Oct 27, 2016