IP Library › Granted Patent US 11,106,734
Granted Patent B1
US 11,106,734 · App. 15/967,587 · Granted Aug 31, 2021

Query execution using containerized state-free search 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/0652G06F3/0653G06F3/0656G06F16/903G06F16/907
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,106,734
App. No.
15/967,587
Filed
Apr 30, 2018
Granted
Aug 31, 2021
Kind
B1
Examiner
LY, CHEYNE D
Art Unit
2152
USPC
707/722
Abstract

Systems and methods are disclosed for processing and executing queries in a data intake and query system. The query identifies a set of data to be processed and a manner of processing the set of data. The data intake and query system dynamically identifies a plurality of containerized search nodes instantiated on one or more computing devices in a containerized environment to execute the query. The data intake and query system executes the query using the containerized search nodes.

Claims (70)

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, determining that a plurality of containerized search nodes of the containerized search nodes are available;

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

in response to receiving the first 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, based on a search node catalog, to execute the first query;

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

receiving, by the computing device of the data intake and query system, a second query identifying a second set of data to be processed and a second manner of processing the second set of data;

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

executing the second query, wherein executing the second query comprises assigning a second containerized search node of the second set of containerized search nodes of the plurality 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 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: based on said monitoring the status of the containerized search nodes, updating the search node catalog with the status of the containerized search nodes.

7. The method of claim 1 , wherein the one or more buckets include raw machine data that satisfies a time range identified by the first query.

8. The method of claim 1 , wherein the one or more buckets include raw machine data associated with a partition identified by the first query.

9. The method of claim 1 , wherein the one or more buckets include raw machine data associated with a tenant identified by the first query.

10. The method of claim 1 , further comprising:

monitoring a status of the plurality of containerized search nodes; and

based on said monitoring the status of the plurality of containerized search nodes, instantiating an additional containerized search node.

11. The method of claim 1 , wherein the one or more buckets are stored in a shared storage system.

12. The method of claim 1 , wherein the one or more buckets are stored in cloud storage.

13. The method of claim 1 , wherein the one or more buckets are stored in S3 storage.

14. The method of claim 1 , wherein multiple copies of the one or more buckets are stored in a shared storage system.

15. 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 of the one or more buckets.

16. 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 of the one or more buckets.

17. 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 of the one or more buckets.

18. 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.

19. 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.

20. 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 of the one or more buckets.

21. 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.

22. 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.

23. 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.

24. 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;

determining that at least one bucket of the subset of the one or more buckets assigned to the first containerized search node is not located on the first containerized search node; and

based on said determining that at least one bucket of the subset of the one or more buckets assigned to the first containerized search node is not located on the first containerized search node, retrieving the at least one bucket from a shared storage system.

25. A computing system, comprising:

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 said monitoring the status of the containerized search nodes, determine that a plurality of containerized search nodes of the containerized search nodes are available;

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

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

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

receive a second query identifying a second set of data to be processed and a second manner of processing the second set of data;

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

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

26. The system of claim 25 , wherein the one or more processing devices are further configured to determine that the one or more buckets stores the first set of data based on a data store catalog that includes an identifier for each of the one or more buckets.

27. The system of claim 25 , wherein the one or more processing devices are further configured to determine 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 of the one or more buckets.

28. The system of claim 25 , wherein the one or more processing devices are further configured to determine 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 of the one or more buckets.

29. The system of claim 25 , wherein the one or more processing devices are further configured to determine 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.

30. The system of claim 25 , wherein to execute the first query, the one or more processing devices are further configured to assign the first containerized search node to search a subset of the one or more buckets based on a search node mapping policy.

31. 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 on said monitoring the status of the containerized search nodes, determine that a plurality of containerized search nodes of the containerized search nodes are available;

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

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

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

receive a second query identifying a second set of data to be processed and a second manner of processing the second set of data;

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

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

32. The non-transitory computer-readable media of claim 31 , wherein the raw machine data reflects activity in an information processing environment and is produced by a component of the information processing environment.

33. The non-transitory computer-readable media of claim 31 , wherein the one or more buckets are field-searchable time series buckets.

34. The non-transitory computer-readable media of claim 31 , wherein each of the one or more buckets comprises a plurality of events and an inverted index corresponding to the plurality of events.

35. The non-transitory computer-readable media of claim 31 , wherein the one or more buckets are stored in a shared storage system.

36. The non-transitory computer-readable media of claim 31 , wherein the one or more buckets are stored in cloud storage.

37. The non-transitory computer-readable media of claim 31 , wherein the one or more buckets are stored in S3 storage.

38. The non-transitory computer-readable media of claim 31 , wherein multiple copies of the one or more buckets are stored in a shared storage system.

39. The non-transitory computer-readable media of claim 31 , wherein the computer-executable instructions, when executed, further cause the computing system to: based on the status, update the search node catalog with the status.

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 May 7, 2019
From: MONSCHKE, JAMES
To: SPLUNK INC.
Reel/Frame 049106/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2019
From: BATSAKIS, ALEXANDROS; MATHEW, ASHISH; PRIDE, CHRISTOPHER MADDEN; ALETI, BHARATH KISHORE REDDY; PAL, SOURAV; BHATTACHARJEE, ARINDAM
To: SPLUNK INC.
Reel/Frame 048460/0242 →
Continuity (16)
Continuation In Part 15665248 · Jul 31, 2017
Continuation In Part 15665339 · Jul 31, 2017
Continuation In Part 15665197 · Jul 31, 2017
Continuation In Part 15665279 · Jul 31, 2017
Continuation In Part 15665148 · Jul 31, 2017
Continuation In Part 15665159 · Jul 31, 2017
Continuation In Part 15665302 · Jul 31, 2017
Continuation In Part 15665187 · Jul 31, 2017
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Continuation In Part 15276717 · Sep 26, 2016
Cited By (26)
US 12,197,976 US 12,204,536 US 12,204,593 US 12,205,022 US 12,238,015 US 12,242,892 US 12,248,484 US 12,265,525 US 12,271,389 US 12,287,790 US 12,379,867 US 12,393,631 US 12,423,309 US 12,436,693 US 12,436,963 US 12,481,531 US 12,566,758 US 12,585,638 US 12,613,864 US 12,639,379 US 12,645,704 US 12,650,965 US 12,651,001 US 12,670,152 US 12,695,681 US 12,710,981