# US 2014/0157038 A1 · Using separate processes to handle short-lived and long-lived jobs to reduce failure of processes

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

- Number: US 2014/0157038 A1
- Document ID: US20140157038A1
- Status: Published application
- Kind: A1
- Application number: 13/693,456
- Filed: 2012-12-04
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Rohith K. Ashok; Roy F. Brabson; Michael J. Burr; Hugh E. Hockett; Kristin R. Whetstone
- Web page: https://patentgrep.com/patent/US20140157038A1

## CPC

- G06F 9/44: Arrangements for executing specific programs
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 11/0715: {in a system implementing multitasking (multitasking per se G06F9/46)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 2209/5018: Thread allocation
- G06F 2209/508: Monitor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, system and computer program product for reducing the failure of processes. After a job is received, a determination is made as whether the received job is a “short-lived job” or a “long-lived job.” A short-lived job refers to a job who accomplishes a given task in less than a threshold period of time. A long-lived job refers to a job who accomplishes a given task in greater than a threshold period of time. For an identified long-lived job, the long-lived job is executed on a single process apart from other processes; whereas, the short-lived job is executed on at least one process separate from the processes executing long-lived jobs. As a result of executing the long-lived jobs on separate processes from the short-lived jobs, the likelihood of having a process fail is lessened since the duration of time that the process is running will be lessened.

## Claims

### Claim 1

A method for reducing the failure of processes, the method comprising:
identifying a first job as being a short-lived job, wherein a time duration of said short-lived job to be completed is less than a first threshold period of time;
identifying a second job being a first long-lived job, wherein a time duration of said first long-lived job to be completed is greater than said first threshold period of time;
executing said first long-lived job on a first process; and
executing, by a processor, said short-lived job on at least one process separated from said first process executing said first long-lived job.

### Claim 2 (depends on 1)

The method as recited in claim 1 further comprising:
creating a second long-lived job in response to a time to complete a segment of work in said short-lived job exceeding a second threshold period of time; and
executing said second long-lived job in a second process separated from other processes.

### Claim 3 (depends on 2)

The method as recited in claim 2 further comprising:
returning said short-lived job to a user.

### Claim 4 (depends on 1)

The method as recited in claim 1 further comprising:
terminating said first process upon completion of said first long-lived job; and
terminating one of said at least one process in response to no other jobs executing within said one of said at least one process.

### Claim 5 (depends on 1)

The method as recited in claim 1 further comprising:
monitoring said first long-lived job executing on said first process by a first job manager; and
terminating said first process in response to not receiving a heartbeat message from said first long-lived job within a second threshold period of time.

### Claim 6 (depends on 5)

The method as recited in claim 5 further comprising:
restarting said first job manager in response to said first job manager failing.

### Claim 7 (depends on 5)

The method as recited in claim 5 further comprising:
providing a second job manager to take over monitoring jobs said first job manager was responsible for monitoring in response to said first job manager failing.

### Claim 8

A computer program product embodied in a computer readable storage medium for reducing the failure of processes, the computer program product comprising the programming instructions for:
identifying a first job as being a short-lived job, wherein a time duration of said short-lived job to be completed is less than a first threshold period of time;
identifying a second job being a first long-lived job, wherein a time duration of said first long-lived job to be completed is greater than said first threshold period of time;
executing said first long-lived job on a first process; and
executing said short-lived job on at least one process separated from said first process executing said first long-lived job.

### Claim 9 (depends on 8)

The computer program product as recited in claim 8 further comprising the programming instructions for:
creating a second long-lived job in response to a time to complete a segment of work in said short-lived job exceeding a second threshold period of time; and
executing said second long-lived job in a second process separated from other processes.

### Claim 10 (depends on 9)

The computer program product as recited in claim 9 further comprising the programming instructions for:
returning said short-lived job to a user.

### Claim 11 (depends on 8)

The computer program product as recited in claim 8 further comprising the programming instructions for:
terminating said first process upon completion of said first long-lived job; and
terminating one of said at least one process in response to no other jobs executing within said one of said at least one process.

### Claim 12 (depends on 8)

The computer program product as recited in claim 8 further comprising the programming instructions for:
monitoring said first long-lived job executing on said first process by a first job manager; and
terminating said first process in response to not receiving a heartbeat message from said first long-lived job within a second threshold period of time.

### Claim 13 (depends on 12)

The computer program product as recited in claim 12 further comprising the programming instructions for:
restarting said first job manager in response to said first job manager failing.

### Claim 14 (depends on 12)

The computer program product as recited in claim 12 further comprising the programming instructions for:
providing a second job manager to take over monitoring jobs said first job manager was responsible for monitoring in response to said first job manager failing.

### Claim 15

A system, comprising:
a memory unit for storing a computer program for reducing the failure of processes; and
a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises:
circuitry for identifying a first job as being a short-lived job, wherein a time duration of said short-lived job to be completed is less than a first threshold period of time;
circuitry for identifying a second job being a first long-lived job, wherein a time duration of said first long-lived job to be completed is greater than said first threshold period of time;
circuitry for executing said first long-lived job on a first process; and
circuitry for executing said short-lived job on at least one process separated from said first process executing said first long-lived job.

### Claim 16 (depends on 15)

The system as recited in claim 15, wherein said processor further comprises:
circuitry for creating a second long-lived job in response to a time to complete a segment of work in said short-lived job exceeding a second threshold period of time; and
circuitry for executing said second long-lived job in a second process separated from other processes.

### Claim 17 (depends on 15)

The system as recited in claim 15, wherein said processor further comprises:
circuitry for terminating said first process upon completion of said first long-lived job; and
circuitry for terminating one of said at least one process in response to no other jobs executing within said one of said at least one process.

### Claim 18 (depends on 15)

The system as recited in claim 15, wherein said processor further comprises:
circuitry for monitoring said first long-lived job executing on said first process by a first job manager; and
circuitry for terminating said first process in response to not receiving a heartbeat message from said first long-lived job within a second threshold period of time.

### Claim 19 (depends on 18)

The system as recited in claim 18, wherein said processor further comprises:
circuitry for restarting said first job manager in response to said first job manager failing.

### Claim 20 (depends on 18)

The system as recited in claim 18, wherein said processor further comprises:
circuitry for providing a second job manager to take over monitoring jobs said first job manager was responsible for monitoring in response to said first job manager failing.
