IP Library Granted Patent US 11,429,608
Granted Patent B2
US 11,429,608 · App. 16/527,719 · Granted Aug 30, 2022

Optimizing search of an accelerated data model by enabling emitting of structured and unstructured fields from the data model

Inventors: Karthikeyan Sabhanatarajan (San Francisco, CA); David Ryan Marquardt (San Francisco, CA); Steve Zhang (San Francisco, CA); Nicholas Romito (Cambridge, MA); Sophia Zhu (San Francisco, CA)
Assignee: Splunk Inc.
G06F16/24542G06F16/90335
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 11,429,608
App. No.
16/527,719
Granted
Aug 30, 2022
Kind
B2
Abstract

Embodiments of the present disclosure provide techniques for emitting structured and dynamic fields from an accelerated data model. The method comprises evaluating a query to search a data model, wherein the data model is defined by a set of events and at least one structured field from fields associated with the set of events. Each event comprises a time-stamped portion of raw machine data and is stored in a field searchable data store. A summarization table is associated with the data model and comprises a plurality of entries comprising reference values, wherein a respective summarization table entry comprises: the at least one structured field; a respective field value; and a reference value. The method further comprises accessing the set of events from the field searchable data store using the reference values in the summarization table and annotating the set of events with the at least one structured field and with at least one dynamic field from the fields associated with the set of events, wherein the at least one dynamic field is not defined in the data model.

Claims (44)

1. A method for searching data, the method comprising:

evaluating a query to search a data model, wherein the query is a pipelined search query comprising a predicate,

wherein the data model corresponds to a set of data and is defined by a set of events and at least one structured field from fields associated with the set of events, wherein the at least one structured field is explicitly defined as part of the data model, wherein each event comprises a time-stamped portion of raw machine data and is stored in a field searchable data store, wherein the data model is associated with a summarization table that comprises a plurality of entries including reference values for identifying respective locations in the field searchable data store for the set of events, wherein the plurality of entries identify a respective value for the at least one structured field associated with the data model,

wherein the evaluating comprises: partitioning the pipelined search query into blocks corresponding to a plurality of commands, extracting semantic information from the plurality of commands in the pipelined search Query, constructing an abstract semantic tree with the semantic information, and performing optimization operations for the pipelined search query using the semantic information, wherein the optimization operations comprise evaluating the predicate earlier than other commands from the plurality of commands in the pipelined search query;

accessing the set of events in the field searchable data store using the reference values; and

annotating the set of events with the at least one structured field and with at least one dynamic field from the fields associated with the set of events, and wherein the at least one dynamic field is a field that occurs in the set of events but is not defined as part of the data model during data model creation, wherein the annotating comprises extracting the at least one structured field and a respective field value from the summarization table and extracting the at least one dynamic field and a respective field value from the set of events responsive to the accessing.

2. The method of claim 1 , wherein a respective summarization table entry comprises: the at least one structured field; a respective field value; and a reference value.

3. The method of claim 1 , further comprising:

displaying the set of events as annotated with the at least one structured field and the at least one dynamic field in a user-interface.

4. The method of claim 1 , wherein the annotating further comprises:

extracting the at least one structured field and a respective field value from the set of events responsive to the accessing.

5. The method of claim 1 , wherein the evaluating further comprises determining if the predicate comprises a dynamic field, and responsive to a determination that the predicate comprises a dynamic field, the accessing comprises:

retrieving the set of events from the field searchable data store using the reference values in the summarization table;

evaluating the predicate against the set of events; and

filtering the set of events in accordance with results from the evaluating of the predicate to extract a subset of the set of the events.

6. The method of claim 1 , wherein the evaluating further comprises determining if the predicate comprises a dynamic field, and responsive to a determination that the predicate does not comprise a dynamic field, the accessing comprises:

evaluating the predicate against the at least one structured field indexed in the summarization table;

responsive to the evaluating of the predicate, determining reference values in the summarization table corresponding to a subset of the set of events; and

retrieving the subset of the set of events from the field searchable data store.

7. The method of claim 1 , wherein the query comprises a flag that if set enables the annotating the set of events with the at least one dynamic field.

8. The method of claim 1 , and wherein the evaluating further comprises:

determining if the predicate comprises a dynamic field; and

responsive to a determination that the pipelined search query comprises a dynamic field, automatically invoking an option to annotate the set of events with the at least one dynamic field.

9. The method of claim 1 , wherein the annotating further comprises:

annotating the set of events with statistical information pertaining to the at least one structured field and the at least one dynamic field.

10. The method of claim 1 , wherein the evaluating further comprises determining if the predicate comprises a dynamic field and if the pipelined search query can be optimized by evaluating the predicate earlier than other commands from the commands in the pipelined search query, and responsive to a determination that the predicate does not comprise a dynamic field and that the predicate can be evaluated earlier, the accessing comprises:

evaluating the predicate against the at least one structured field indexed in the summarization table;

responsive to the evaluating of the predicate, determining reference values in the summarization table corresponding to a subset of the set of events; and

retrieving the subset of the set of events from the field searchable data store.

11. The method of claim 1 , wherein the at least one dynamic field is a new field that began to be populated in the set of events subsequent to a creation of the data model.

12. A network device operative for searching data, the network device comprising:

a memory operative to store instructions; and

a processor device that is operative to execute instructions that enable actions, the actions comprising:

evaluating a query to search a data model, wherein the query is a pipelined search query comprising a predicate,

wherein the data model corresponds to a set of data and is defined by a set of events and at least one structured field from fields associated with the set of events, wherein the at least one structured field is explicitly defined as part of the data model, wherein each event comprises a time-stamped portion of raw machine data and is stored in a field searchable data store, wherein the data model is associated with a summarization table that comprises a plurality of entries including reference values for identifying respective locations in the field searchable data store for the set of events, wherein the plurality of entries identify a respective value for the at least one structured field associated with the data model,

wherein the evaluating comprises: partitioning the pipelined search query into blocks corresponding to a plurality of commands, extracting semantic information from the plurality of commands in the pipelined search query, constructing an abstract semantic tree with the semantic information, and performing optimization operations for the pipelined search query using the semantic information, wherein the optimization operations comprise evaluating the predicate earlier than other commands from the plurality of commands in the pipelined search query;

accessing the set of events in the field searchable data store using the reference values; and

annotating the set of events with the at least one structured field and with at least one dynamic field from the fields associated with the set of events, and wherein the at least one dynamic field is a field that occurs in the set of events but is not defined as part of the data model during data model creation, wherein the annotating comprises extracting the at least one structured field and a respective field value from the summarization table and extracting the at least one dynamic field and a respective field value from the set of events responsive to the accessing.

13. A processor readable non-transitive storage media that includes instructions and wherein execution of the instructions by a processor device enables actions, wherein the actions comprise:

evaluating a query to search a data model, wherein the query is a pipelined search query comprising a predicate,

wherein the data model corresponds to a set of data and is defined by a set of events and at least one structured field from fields associated with the set of events, wherein the at least one structured field is explicitly defined as part of the data model, wherein each event comprises a time-stamped portion of raw machine data and is stored in a field searchable data store, wherein the data model is associated with a summarization table that comprises a plurality of entries including reference values for identifying respective locations in the field searchable data store for the set of events, wherein the plurality of entries identify a respective value for the at least one structured field associated with the data model,

wherein the evaluating comprises: partitioning the pipelined search query into blocks corresponding to a plurality of commands, extracting semantic information from the plurality of commands in the pipelined search query, constructing an abstract semantic tree with the semantic information, and performing optimization operations for the pipelined search query using the semantic information, wherein the optimization operations comprise evaluating the predicate earlier than other commands from the plurality of commands in the pipelined search query;

accessing the set of events in the field searchable data store using the reference values; and

annotating the set of events with the at least one structured field and with at least one dynamic field from the fields associated with the set of events, and wherein the at least one dynamic field is a field that occurs in the set of events but is not defined as part of the data model during data model creation, wherein the annotating comprises extracting the at least one structured field and a respective field value from the summarization table and extracting the at least one dynamic field and a respective field value from the set of events responsive to the accessing.

Assignments (4)
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 Feb 5, 2020
From: SABHANATARAJAN, KARTHIKEYAN; ROMITO, NICHOLAS
To: SPLUNK INC.
Reel/Frame 051731/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2019
From: MARQUARDT, DAVID RYAN; ZHANG, STEVE; ZHU, SOPHIA
To: SPLUNK INC.
Reel/Frame 049918/0888 →
Continuity (1)
Related Publication 20210034623A1 · Feb 4, 2021