IP Library Granted Patent US 9,031,955
Granted Patent B2
US 9,031,955 · App. 14/168,888 · Granted May 12, 2015

Sampling of events to use for developing a field-extraction rule for a field to use in event searching

Inventors: R. David Carasso (San Rafael, CA); Micah James Delfino (San Francisco, CA)
Assignee: Splunk Inc.
G06F7/24G06F17/30705
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,031,955
App. No.
14/168,888
Granted
May 12, 2015
Kind
B2
Abstract

Embodiments are directed towards generating a representative sampling as a subset from a larger dataset that includes unstructured data. A graphical user interface enables a user to provide various data selection parameters, including specifying a data source and one or more subset types desired, including one or more of latest records, earliest records, diverse records, outlier records, and/or random records. Diverse and/or outlier subset types may be obtained by generating clusters from an initial selection of records obtained from the larger dataset. An iteration analysis is performed to determine whether a sufficient number of clusters and/or cluster types have been generated that exceed at least one threshold and when not exceeded, additional clustering is performed on additional records. From the resultant clusters, and/or other subtype results, a subset of records is obtained as the representative sampling subset.

Claims (55)

1. A computer-implemented method, comprising:

receiving machine data at a computing device;

generating a plurality of events, wherein each event in the plurality of events includes a portion of the machine data;

associating a time with each event in the plurality of events, the time for each event extracted from the machine data included in that event;

storing the plurality of events in a data store such that they are searchable at least by their associated times;

receiving from a user a selection of one or more event selection parameters;

wherein each event selection parameter corresponds to a distinct process for identifying events for inclusion in a set;

wherein the one or more event selection parameters selected by the user include at least one of diverse, outlier, random, earliest, and latest event selection processes;

for each of the received one or more event selection parameters, identifying events for inclusion in the set using the corresponding distinct processes; and

displaying one or more events in the set of events in a graphical user interface that enables development of a field-extraction rule that specifies how to extract, from the machine data included in each of the one or more events, a value for a field that is defined for each of the one or more events, wherein each of the one or more events is searchable using the field.

2. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify diverse events.

3. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify outlier events.

4. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify events associated with earliest events in the plurality of events.

5. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify events associated with latest events in the plurality of events.

6. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process randomly to identify events in the plurality of events.

7. The method of claim 1 , wherein identifying events for inclusion in the set includes using a combination of two or more processes selected from a process to identify diverse events, a process to identify outlier events, a process to identify earliest events in the plurality of events, a process to identify latest events in the plurality of events, and a process randomly to identify events in the plurality of events.

8. The method of claim 1 , identifying events for inclusion in the set includes using a process to identify diverse events, and wherein the process to identify diverse events includes:

performing a clustering algorithm on a group of events from the plurality of events to form a plurality of clusters, the clustering algorithm placing two events into a same cluster based on similarities in the machine data included in each of the two events; and

selecting events from one or more most populous clusters in the plurality of clusters.

9. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify outlier events, and wherein the process to identify outlier events includes:

performing a clustering algorithm on a group of events from the plurality of events to form a plurality of clusters, the clustering algorithm placing two events into a same cluster based on similarities in the machine data included in each of the two events; and

selecting events from one or more least populous clusters in the plurality of clusters.

10. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify diverse events or using a process to identify outlier events, and wherein the process includes:

clustering a group of events in the plurality of events to form a plurality of clusters;

determining that a number of clusters in the plurality of clusters is not big enough; and

clustering a larger group of events in the plurality of events than the group of events.

11. The method of claim 1 , wherein identifying events for inclusion in the set includes using a process to identify diverse events or using a process to identify outlier events, and wherein the process includes:

clustering a group of events in the plurality of events to form a plurality of clusters;

determining that a number of events in one of the clusters in the plurality of clusters is not big enough; and

clustering a larger group of events in the plurality of events than the group of events.

12. The method of claim 1 , wherein receiving from the user the selection of one or more event selection parameters comprises causing display of a graphical interface that provides a plurality of event selection parameters that can be selected, and wherein the selected event selection parameters are received through the graphical interface.

13. A non-transitory, computer-readable medium having computer executable instructions for performing the method of claim 1 .

14. A computer system with one or more processors adapted to perform the method of claim 1 .

15. A computer-implemented method, comprising:

receiving machine data at a computing device;

generating a plurality of events, wherein each event in the plurality of events includes a portion of the machine data;

associating a time with each event in the plurality of events, the time for each event extracted from the machine data included in that event;

storing the plurality of events in a data store such that they are searchable at least by their associated times;

selecting a set of events from the plurality of events using a process to identify diverse events, the process including:

performing a clustering algorithm on a group of events from the plurality of events to form a plurality of clusters, the clustering algorithm placing two events into a same cluster based on similarities in the machine data included in each of the two events; and

selecting events from one or more most populous clusters in the plurality of clusters; and

displaying one or more events in the set of events in a graphical user interface that enables development of a field-extraction rule that specifies how to extract, from the machine data included in each of the one or more events, a value for a field that is defined for each of the one or more events, wherein each of the one or more events is searchable using the field.

16. A non-transitory, computer-readable medium having computer executable instructions for performing the method of claim 15 .

17. A computer system with one or more processors adapted to perform the method of claim 15 .

18. A computer-implemented method, comprising:

receiving machine data at a computing device;

generating a plurality of events, wherein each event in the plurality of events includes a portion of the machine data;

associating a time with each event in the plurality of events, the time for each event extracted from the machine data included in that event;

storing the plurality of events in a data store such that they are searchable at least by their associated times;

selecting a set of events from the plurality of events using a process to identify outlier events, the process including:

performing a clustering algorithm on a group of events from the plurality of events to form a plurality of clusters, the clustering algorithm placing two events into a same cluster based on similarities in the machine data included in each of the two events; and

selecting events from one or more least populous clusters in the plurality of clusters; and

displaying one or more events in the set of events in a graphical user interface that enables development of a field-extraction rule that specifies how to extract, from the machine data included in each of the one or more events, a value for a field that is defined for each of the one or more events, wherein each of the one or more events is searchable using the field.

19. A non-transitory, computer-readable medium having computer executable instructions for performing the method of claim 18 .

20. A computer system with one or more processors adapted to perform the method of claim 18 .

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 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2019
From: CARASSO, R. DAVID; DELFINO, MICAH JAMES
To: SPLUNK INC.
Reel/Frame 048726/0338 →
Continuity (2)
Continuation 13747153 · Jan 22, 2013
Related Publication 20140207784A1 · Jul 24, 2014