IP Library Granted Patent US 12,013,895
Granted Patent B2
US 12,013,895 · App. 18/328,607 · Granted Jun 18, 2024

Processing data using containerized nodes in a containerized scalable environment

Inventors: Alexandros Batsakis (San Francisco, CA); Ashish Mathew (San Mateo, CA); Christopher Madden Pride (Oakland, CA); Bharath Kishore Reddy Aleti (San Ramon, CA); Sourav Pal (Foster City, CA); Arindam Bhattacharjee (Fremont, CA); James Monschke (San Francisco, CA)
Assignee: Splunk Inc.
G06F16/901G06F3/0604G06F3/0644G06F3/065G06F3/0652G06F3/0653G06F3/0656G06F3/067G06F16/23G06F16/27G06F16/903
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 12,013,895
App. No.
18/328,607
Granted
Jun 18, 2024
Kind
B2
Abstract

Systems and methods are disclosed for processing and executing queries in a data intake and query system. The data intake and query system receives raw machine data at an indexing system, and stores at least a portion of the raw machine data in buckets using containerized indexing nodes instantiated in a containerized environment. The data intake and query system stores the buckets in a shared storage system.

Claims (39)

1. A method comprising:

monitoring a status of containerized search nodes in a containerized environment, wherein a particular containerized search node of the containerized search nodes is instantiated as one or more containers on a hosted computing device in the containerized environment;

based on said monitoring the status of the containerized search nodes, identifying a plurality of containerized search nodes of the containerized search nodes;

receiving, by a computing device of a data intake and query system, a first query and a second query, each of the first query and the second query identifying a particular set of data to be processed and a particular manner of processing the particular set of data, each particular set of data stored in one or more buckets, each bucket of the one or more buckets storing raw machine data associated with a timestamp;

in response to receiving the first query and the second query, dynamically identifying, by the computing device of the data intake and query system, a first set of containerized search nodes of the plurality of containerized search nodes to execute the first query and a second set of containerized search nodes of the plurality of containerized search nodes to execute the second query based on the status of the containerized search nodes;

executing the first query, wherein said executing the first query comprises assigning a first containerized search node of the first set of containerized search nodes to search a particular bucket of the one or more buckets; and

executing the second query, wherein said executing the second query comprises assigning a second containerized search node of the second set of containerized search nodes to search the particular bucket.

2. The method of claim 1 , wherein the raw machine data reflects activity in an information processing environment and is produced by a component of the information processing environment.

3. The method of claim 1 , wherein the one or more buckets are field-searchable time series buckets.

4. The method of claim 1 , wherein said executing the first query further comprises assigning the first containerized search node to search the particular bucket using a late binding schema.

5. The method of claim 1 , wherein each bucket of the one or more buckets comprises a plurality of events and an inverted index corresponding to the plurality of events.

6. The method of claim 1 , further comprising determining the plurality of containerized search nodes are available.

7. The method of claim 1 , wherein said identifying the plurality of containerized search nodes is based at least in part on determining the plurality of containerized search nodes are available.

8. The method of claim 1 , wherein said dynamically identifying the first set of containerized search nodes and the second set of containerized search nodes is based at least in part on a search node catalog.

9. The method of claim 1 , wherein said dynamically identifying the first set of containerized search nodes and the second set of containerized search nodes is based at least in part on a search node catalog, the method further comprising, based at least in part on said monitoring the status of the containerized search nodes, updating the search node catalog with the status of the containerized search nodes.

10. The method of claim 1 , further comprising determining that the one or more buckets stores the first set of data based on a data store catalog that includes an identifier for each bucket of the one or more buckets.

11. The method of claim 1 , further comprising determining that the one or more buckets stores the first set of data based on a data store catalog that includes an identifier and location information in a shared storage system for each bucket of the one or more buckets.

12. The method of claim 1 , further comprising determining that the one or more buckets stores the first set of data based on a data store catalog that includes an identifier for, a time range associated with, a tenant associated with, a partition associated with, and location information in a shared storage system for each bucket of the one or more buckets.

13. The method of claim 1 , further comprising determining that the one or more buckets stores the first set of data based on a data store catalog that stores information about buckets stored in a shared storage system and is updated over time by an indexing system as buckets are stored in the shared storage system by the indexing system.

14. The method of claim 1 , wherein said executing the first query further comprises assigning the first containerized search node to search a subset of the one or more buckets based on a search node mapping policy.

15. The method of claim 1 , wherein said executing the first query further comprises assigning the first containerized search node to search a subset of the one or more buckets based on a hash of a bucket identifier of the subset of the one or more buckets received from a data store catalog, wherein the data store catalog includes a bucket identifier for each bucket of the one or more buckets.

16. The method of claim 1 , wherein said executing the first query further comprises assigning the first containerized search node to search the particular bucket based on a determination that the first containerized search node was assigned to search the particular bucket as part of a previous query.

17. The method of claim 1 , wherein said executing the first query further comprises assigning the first containerized search node to search the particular bucket based on a determination that the first containerized search node includes a copy of the particular bucket on a local or shared data store.

18. The method of claim 1 , wherein said executing the first query further comprises assigning the first containerized search node to search the particular bucket based on a determination that a local or shared data store associated with the first containerized search node includes a copy of the particular bucket.

19. Non-transitory computer-readable media comprising computer-executable instructions that, when executed by a computing system of a data intake and query system, cause the computing system to:

monitor a status of containerized search nodes in a containerized environment, wherein a particular containerized search node of the containerized search nodes is instantiated as one or more containers on a hosted computing device in the containerized environment;

based at least in part on monitoring the status of the containerized search nodes, identify a plurality of containerized search nodes of the containerized search nodes;

receive a first query and a second query, each of the first query and the second query identifying a particular set of data to be processed and a particular manner of processing the particular set of data, each particular set of data stored in one or more buckets, each bucket of the one or more buckets storing raw machine data associated with a timestamp;

in response to receiving the first query and the second query, dynamically identify a first set of containerized search nodes of the plurality of containerized search nodes to execute the first query and a second set of containerized search nodes of the plurality of containerized search nodes to execute the second query based at least in part on the status of the containerized search nodes;

execute the first query, wherein, to execute the first query, the computer-executable instructions further cause the computing system to assign a first containerized search node of the first set of containerized search nodes to search a particular bucket of the one or more buckets; and

execute the second query, wherein, to execute the second query, the computer-executable instructions further cause the computing system to assign a second containerized search node of the second set of containerized search nodes to search the particular bucket.

20. A computing system, comprising:

a memory; and one or more processing devices coupled to the memory and configured to:

monitor a status of containerized search nodes in a containerized environment, wherein a particular containerized search node of the containerized search nodes is instantiated as one or more containers on a hosted computing device in the containerized environment;

based on monitoring the status of the containerized search nodes, identify a plurality of containerized search nodes of the containerized search nodes;

receive a first query and a second query, each of the first query and the second query identifying a particular set of data to be processed and a particular manner of processing the particular set of data, each particular set of data stored in one or more buckets, each bucket of the one or more buckets storing raw machine data associated with a timestamp;

in response to receiving the first query and the second query, dynamically identify a first set of containerized search nodes of the plurality of containerized search nodes to execute the first query and a second set of containerized search nodes of the plurality of containerized search nodes to execute the second query based on the status of the containerized search nodes;

execute the first query, wherein, to execute the first query, the one or more processing devices are further configured to assign a first containerized search node of the first set of containerized search nodes to search a particular bucket of the one or more buckets; and

execute the second query, wherein, to execute the second query, the one or more processing devices are further configured to assign a second containerized search node of the second set of containerized search nodes to search the particular bucket.

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 Oct 31, 2023
From: MONSCHKE, JAMES
To: SPLUNK INC.
Reel/Frame 065409/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2023
From: BATSAKIS, ALEXANDROS; MATHEW, ASHISH; PRIDE, CHRISTOPHER MADDEN; ALETI, BHARATH KISHORE REDDY; PAL, SOURAV; BHATTACHARJEE, ARINDAM
To: SPLUNK INC.
Reel/Frame 065409/0361 →
Continuity (43)
Continuation 17646841 · Jan 3, 2022
Continuation 15967588 · Apr 30, 2018
Continuation In Part 15665159 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665148 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665187 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665248 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665197 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665279 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665302 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665339 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 17233193 · Apr 16, 2021
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665159 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665148 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665187 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665248 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665197 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665279 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation 15967590 · Apr 30, 2018
Continuation In Part 15665302 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15665339 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Related Publication 20230315785A1 · Oct 5, 2023
Cited By (13)
US 12,204,536 US 12,204,593 US 12,248,484 US 12,265,525 US 12,271,389 US 12,287,790 US 12,393,631 US 12,436,963 US 12,585,638 US 12,613,864 US 12,639,379 US 12,650,965 US 12,670,152