# US 12,003,574 B1 · Processing distributed jobs using multiple connections

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

- Number: US 12,003,574 B1
- Document ID: US12003574B1
- Status: Granted
- Kind: B1
- Application number: 17/571,058
- Filed: 2022-01-07
- Granted: 2024-06-04
- Earliest claimed: 2014-07-31
- Assignees: Splunk Inc.
- Applicants: Splunk Inc.
- Inventors: Denis Gladkikh; Mitchell Blank, Jr.
- Web page: https://patentgrep.com/patent/US12003574B1

## CPC

- G06F 16/2453: Query optimisation
- G06F 9/4806: {Task transfer initiation or dispatching}
- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 9/5005: {to service a request}
- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/5088: {involving task migration}
- G06F 9/52: Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F 9/54: Interprogram communication
- G06F 16/245: Query processing
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/273: {Asynchronous replication or reconciliation}
- H04L 65/65: Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/145: avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
- H04L 69/14: Multichannel or multilink protocols
- 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

A method to assist with processing distributed jobs by retrieving and/or synchronizing supplemental job data. The method includes: transmitting, by a first component of a first execution environment via a first connection to a second component of a second execution environment, a first request associated with a job; receiving, by the first component via a second connection from the second component, a second request associated with the job; transmitting, by the first component via the second connection to the second component, a response to the second request, the response comprising an information associated with the job; and receiving, by the first component via the first connection from the second component, a result of the job.

## Claims

### Claim 1

A method comprising:
transmitting, by a first component of a first execution environment via a first connection to a second component of a second execution environment, a first request associated with a job;
receiving, by the first component via a second connection from the second component, a pull synchronization request;
transmitting, by the first component via the second connection to the second component, a response to the pull synchronization request, the response comprising data associated with the job;
receiving, in response to the first request, by the first component via the first connection from the second component, a result of the job, wherein the result is based on the response to the pull synchronization request; and
responsive to receiving the result, closing the first connection and keeping the second connection open.

### Claim 2 (depends on 1)

The method of claim 1, wherein at least one of the first execution environment and the second execution environment is a virtual machine.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first connection is a non-persistent connection, and wherein the second connection is a persistent connection.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second connection and the first connection are Hyper Text Transfer Protocol (HTTP) connections.

### Claim 5 (depends on 1)

The method of claim 1, wherein the job pertains to a search query, and the result of the job comprises a search result produced using a late-binding schema.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first component comprises a lookup table including an entry storing a mapping of a first data item to a second data item, wherein the pull synchronization request identifies the first data item, and wherein the response to the pull synchronization request identifies the second data item.

### Claim 7 (depends on 1)

The method of claim 1, wherein the second component comprises a plurality of second components of the second execution environment and the second connection with the second component comprises a plurality of persistent connections, each persistent connection being between the first component and one of the plurality of second components.

### Claim 8 (depends on 1)

The method of claim 1, wherein the job pertains to a search query for searching source data that comprises raw machine data.

### Claim 9 (depends on 1)

The method of claim 1, wherein the job pertains to a search query for searching source data that comprises time-stamped events, and wherein each of the time-stamped events includes at least a portion of raw machine data.

### Claim 10

A system, comprising:
a memory; and
one or more processing devices coupled to the memory, the one or more processing devices to implement a first execution environment to:
transmit, by a first component of the first execution environment via a first connection to a second component of a second execution environment, a first request associated with a job;
receive, by the first component via a second connection from the second component, a pull synchronization request associated with the job;
transmit, by the first component via the second connection to the second component, a response to the pull synchronization request, the response comprising data associated with the job;
receive, by the first component via the first connection from the second component, a result of the job, wherein the result is based on the response to the pull synchronization request; and
responsive to receiving the result, close the first connection and keeping the second connection open.

### Claim 11 (depends on 10)

The system of claim 10, wherein the first connection is a non-persistent connection, and wherein the second connection is a persistent connection.

### Claim 12 (depends on 10)

The system of claim 10, wherein the first component comprises a lookup table including an entry storing a mapping of a first data item to a second data item, wherein the pull synchronization request identifies the first data item, and wherein the response to the pull synchronization request identifies the second data item.

### Claim 13

A non-transitory computer readable storage medium encoding instructions thereon, which in response to execution by one or more processing devices cause the one or more processing devices to implement a first execution environment to:
transmit, by a first component of the first execution environment via a first connection to a second component of a second execution environment, a first request associated with a job;
receiving, by the first component via a second connection from the second component, a pull synchronization request;
transmit, by the first component via the second connection to the second component, a response to the pull synchronization request, the response comprising data associated with the job;
receive, by the first component via the first connection from the second component, a result of the job, wherein the result is based on the response to the pull synchronization request; and
responsive to receiving the result, close the first connection and keeping the second connection open.

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the first connection is a non-persistent connection, and wherein the second connection is a persistent connection.

### Claim 15 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the job pertains to a search query, and the result of the job comprises a search result produced using a late-binding schema.

### Claim 16 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the first component comprises a lookup table including an entry storing a mapping of a first data item to a second data item, wherein the pull synchronization request identifies the first data item, and wherein the response to the pull synchronization request identifies the second data item.
