# US 12,007,996 B2 · Management of distributed computing framework components

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,007,996 B2
- Document ID: US12007996B2
- Status: Granted
- Kind: B2
- Application number: 18/051,481
- Filed: 2022-10-31
- Published: 2023-05-11
- Granted: 2024-06-11
- Earliest claimed: 2019-10-18
- Assignees: Splunk Inc.
- Applicants: Splunk Inc.
- Inventors: Balaji Rao; Jindrich Dinga; Kieran Cairney; Manuel Martinez; Nitilaksha Halakatti; Ningxuan He; Arindam Bhattacharjee; Sourav Pal; Alexandros Batsakis
- Web page: https://patentgrep.com/patent/US12007996B2

## CPC

- G06F 16/24547: {Optimisations to support specific applications; Extensibility of optimisers}
- G06F 8/60: Software deployment
- G06F 8/61: Installation
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 16/2465: {Query processing support for facilitating data mining operations in structured databases}
- G06F 16/2471: {Distributed queries}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 43/028: by filtering
- H04L 43/106: using time related information in packets, e.g. by adding timestamps
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1031: Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 41/142: using statistical or mathematical methods
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 43/16: Threshold monitoring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods are described for establishing and managing components of a distributed computing framework implemented in a data intake and query system. The distributed computing framework may include a master and a plurality of worker nodes. The master may selectively operate on a search head captain that is chosen from the search heads of the data intake and query system. The search head captain may distribute configuration information for the master and the distributed computing framework to the other search heads, which in turn, may distribute that configuration information to indexers of the data intake and query system. Worker nodes may be selectively activated for operation on the indexers based on the configuration information, and the worker nodes may additionally use the configuration information to contact the master and join the distributed computing framework. This approach may provide numerous benefits, including improved security, flexibility in the selection of worker nodes, and redundancy for failures of physical components of the data intake and query system.

## Claims

### Claim 1

A method, comprising:
receiving one or more identifiers for one or more computing devices associated with operation of one or more worker nodes of a distributed computing framework associated with a data intake and query system;
determining a computing device of the one or more computing devices to operate a worker node of the one or more worker nodes based at least in part on the one or more identifiers; and
activating the worker node on the computing device based at least in part on determining the computing device to operate the worker node, wherein the worker node is configured to execute at least a portion of one or more queries.

### Claim 2 (depends on 1)

The method of claim 1, wherein the one or more computing devices comprise one or more computing devices of the data intake and query system.

### Claim 3 (depends on 1)

The method of claim 1, further comprising receiving a search command from a search head of the data intake and query system, wherein the one or more identifiers are associated with the search command.

### Claim 4 (depends on 3)

The method of claim 3, wherein the search head receives the one or more identifiers.

### Claim 5 (depends on 1)

The method of claim 1, further comprising receiving a configuration file, wherein the configuration file comprises the one or more identifiers.

### Claim 6 (depends on 5)

The method of claim 5, wherein a search head of the data intake and query system distributes the configuration file to other search heads of the data intake and query system.

### Claim 7 (depends on 5)

The method of claim 5, wherein the configuration file includes a secret key generated by a master of the distributed computing framework, wherein activating the worker node comprises communicating, by the worker node, to the master, the secret key.

### Claim 8 (depends on 1)

The method of claim 1, wherein a master of the distributed computing framework is in communication with a plurality of worker nodes of the distributed computing framework, wherein the plurality of worker nodes are operating in different geographical locations, and wherein the master is configured to, in response to a query, use worker nodes of the plurality of worker nodes operating in a same geographical location as data for the query.

### Claim 9 (depends on 1)

The method of claim 1, wherein activating the worker node comprises configuring the worker node to communicate with a master of the distributed computing framework.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving information regarding the distributed computing framework;
determining that the information does not identify the computing device to operate the worker node; and
deactivating the worker node on the computing device.

### Claim 11 (depends on 1)

The method of claim 1, further comprising activating an additional worker node of the one or more worker nodes on one or more second computing devices, wherein the one or more second computing devices are configured to dedicate resources for operating the additional worker node.

### Claim 12 (depends on 1)

The method of claim 1, wherein the worker node is further configured to receive a search command associated with the at least a portion of the one or more queries and obtain results of the at least a portion of the one or more queries based on the received search command.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
installing worker node software on the computing device; and
executing the worker node software on the computing device to launch the worker node on the computing device.

### Claim 14 (depends on 1)

The method of claim 1, further comprising receiving a configuration file comprising communication information and the one or more identifiers, wherein activating the worker node comprises establishing communication, between the worker node and a master, using the communication information.

### Claim 15 (depends on 1)

The method of claim 1, further comprising receiving a configuration file comprising communication information and the one or more identifiers, wherein activating the worker node comprises establishing communication, between the worker node and a master, using the communication information, wherein the master operates on a search head.

### Claim 16 (depends on 1)

The method of claim 1, further comprising:
receiving a configuration file; and
checking the configuration file for the one or more identifiers.

### Claim 17 (depends on 1)

The method of claim 1, wherein the one or more identifiers comprise a global unique identifier (GUID) or an IP address for the one or more computing devices.

### Claim 18 (depends on 1)

The method of claim 1, further comprising:
receiving a search command from a search head of the data intake and query system;
installing master software on the search head; and
executing the master software on the search head to launch a master of the distributed computing framework on the search head.

### Claim 19

A computing system, comprising:
memory; and
one or more processing devices coupled to the memory and configured to:
receive one or more identifiers for one or more computing devices associated with operation of one or more worker nodes of a distributed computing framework associated with a data intake and query system;
determine a computing device of the one or more computing devices to operate a worker node of the one or more worker nodes based at least in part on the one or more identifiers ; and
activate the worker node on the computing device based at least in part on determining the computing device to operate the worker node, wherein the worker node is configured to execute at least a portion of one or more queries.

### Claim 20

Non-transitory computer readable media comprising computer-executable instructions that, when executed by a computing system, cause the computing system to:
receive one or more identifiers for one or more computing devices associated with operation of one or more worker nodes of a distributed computing framework associated with a data intake and query system;
determine a computing device of the one or more computing devices to operate a worker node of the one or more worker nodes based at least in part on the one or more identifiers ; and
activate the worker node on the computing device based at least in part on determining the computing device to operate the worker node, wherein the worker node is configured to execute at least a portion of one or more queries.
