Time series search in primary and secondary memory

US9594789B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9594789-B2
Application numberUS-201514611170-A
CountryUS
Kind codeB2
Filing dateJan 30, 2015
Priority dateOct 5, 2006
Publication dateMar 14, 2017
Grant dateMar 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and apparatus consistent with the invention provide the ability to organize, index, search, and present time series data based on searches. Time series data are sequences of time stamped records occurring in one or more usually continuous streams, representing some type of activity. In one embodiment, time series data is organized into discrete events with normalized time stamps and the events are indexed by time and keyword. A search is received and relevant event information is retrieved based in whole or in part on the time indexing mechanism, keyword indexing mechanism, or statistical indices calculated at the time of the search.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for building a searchable data store, comprising: electronically receiving machine data produced by devices in an information processing environment; segmenting the machine data into a plurality of events by determining a beginning and ending of each event in the plurality of events in the machine data; associating a time stamp with each event in the plurality of events by applying an extraction rule to the machine data segmented for each event in order to extract time information to use as the time stamp for that event; repeatedly generating buckets in volatile, random access memory; designating a time span for each bucket of the generated buckets; inserting a time stamped event in the plurality of events into a particular bucket in the generated buckets based at least in part on the associated time stamp and the time span of the particular bucket; advancing a full bucket to full bucket status that does not accept further events; transferring the full bucket into non-volatile storage, the full bucket is available for searching; determining that a full bucket in non-volatile storage has expired; and based on determining that the full bucket has expired, moving the full bucket out of active status. 2. The method of claim 1 , further comprising indexing events in the particular bucket. 3. The method of claim 1 , further comprising creating a speculative index for the events in at least one of the generated buckets based on the full bucket. 4. The method of claim 1 , further comprising indexing keywords in the events in the particular bucket. 5. The method of claim 1 , further comprising indexing keywords in the events in the full bucket. 6. A system that builds a searchable data store, comprising: a processor and memory coupled to the processor, the memory storing program instructions that when executed cause: electronically receiving machine data produced by devices in an information processing environment; segmenting the machine data into a plurality of events by determining a beginning and ending of each event in the plurality of events in the machine data; associating a time stamp with each event in the plurality of events by applying an extraction rule to the machine data segmented for each event in order to extract time information to use as the time stamp for that event; repeatedly generating buckets in volatile, random access memory; designating a time span for each bucket of the generated buckets; inserting a time stamped event in the plurality of events into a particular bucket in the generated buckets based at least in part on the associated time stamp and the time span of the particular bucket; advancing a full bucket to full bucket status that does not accept further events; transferring the full bucket into non-volatile storage, the full bucket is available for searching; determining that a full bucket in non-volatile storage has expired; and based on determining that the full bucket has expired, moving the full bucket out of active status. 7. The system of claim 6 , further configured to index events in the particular bucket. 8. The system of claim 6 , further configured to create a speculative index for the events in at least one of the generated buckets based on the full bucket. 9. The system of claim 6 , further configured to index keywords in the events in the particular bucket. 10. The system of claim 6 , further configured to index keywords in the events in the full bucket. 11. A computer program product including memory that stores program instructions that, when executed on a computer, cause: electronically receiving machine data produced by devices in an information processing environment; segmenting the machine data into a plurality of events by determining a beginning and ending of each event in the plurality of events in the machine data; associating a time stamp with each event in the plurality of events by applying an extraction rule to the machine data segmented for each event in order to extract time information to use as the time stamp for that event; repeatedly generating buckets in volatile, random access memory; designating a time span for each bucket of the generated buckets; inserting a time stamped event in the plurality of events into a particular bucket in the generated buckets based at least in part on the associated time stamp and the time span of the particular bucket; advancing a full bucket to full bucket status that does not accept further events; transferring the full bucket into non-volatile storage, the full bucket is available for searching; determining that a full bucket in non-volatile storage has expired; and based on determining that the full bucket has expired, moving the full bucket out of active status. 12. The computer program product of claim 11 , further configured to index events in the particular bucket. 13. The computer program product of claim 11 , further configured to create a speculative index for the events in at least one of the generated buckets based on the full bucket. 14. The computer program product of claim 11 , further configured to index keywords in the events in the particular bucket. 15. The computer program product of claim 11 , further configured to index keywords in the events in the full bucket.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9594789B2 cover?
Methods and apparatus consistent with the invention provide the ability to organize, index, search, and present time series data based on searches. Time series data are sequences of time stamped records occurring in one or more usually continuous streams, representing some type of activity. In one embodiment, time series data is organized into discrete events with normalized time stamps and the…
Who is the assignee on this patent?
Splunk Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2272. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).