# US 9,519,530 B2 · Detecting conflicting operations and providing resolution in a tasking system

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

- Number: US 9,519,530 B2
- Document ID: US9519530B2
- Status: Granted
- Kind: B2
- Application number: 13/483,706
- Filed: 2012-05-30
- Published: 2013-12-05
- Granted: 2016-12-13
- Earliest claimed: 2012-05-30
- Assignees: Red Hat, Inc.
- Applicants: Jason L. Connor
- Inventors: Jason L. Connor
- Web page: https://patentgrep.com/patent/US9519530B2

## CPC

- G06F 11/0715: {in a system implementing multitasking (multitasking per se G06F9/46)}
- G06F 11/0766: {Error or fault reporting or storing}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 2209/484: Precedence
- G06F 2209/485: Resource constraint
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A mechanism for detecting conflicting operations and providing resolutions in a tasking system is disclosed. A method includes receiving, by a processing device in a tasking system, a request for a call including at least one operation to be executed on at least one resource of a plurality of resources that are managed by the tasking system. The method also includes detecting an occurrence of a conflict between the at least one operation on the call request and queued operations associated with the plurality of resources. The method also includes generating at least one of a task or an error report for the at least one operation in the call request based on the conflict. The method further includes identifying task dependencies associated with the at least one task and executing the at least one task only after execution of the task dependencies.

## Claims

### Claim 1

A method, comprising:
receiving, by a processing device, a request for an operation to be executed on a resource among a plurality of resources;
detecting, by the processing device, an occurrence of a conflict between the operation and a queued operation among a plurality of queued operations associated with the resource among the plurality of resources, the plurality of queued operations maintained in a task queue, wherein the detecting comprises matching the resource for the operation with the resource for the queued operation and determining that the queued operation is currently being executed on the resource for the operation, wherein the conflict occurs in response to the operation comprising updating of the matched resource;
generating, by the processing device, a first task for the operation in view of the conflict;
placing, by the processing device, the first task in the task queue for postponement of execution of the first task for the operation;
identifying, by the processing device, a task dependency associated with the first task for the operation, wherein the task dependency comprises a second task to be executed prior to execution of the first task for the operation, wherein the second task is different from the first task; and
executing, by the processing device, the first task for the operation after execution of the task dependency.

### Claim 2 (depends on 1)

The method of claim 1 further comprising rejecting the request for the execution of the operation and generating an error report of the rejected request.

### Claim 3 (depends on 1)

The method of claim 1 further comprising executing the operation upon completion of the execution of the queued operation on the matched resource.

### Claim 4 (depends on 1)

The method of claim 1 further comprising in response to determining that the conflict does not exist:
generating the first task for the operation;
storing the first task in the task queue; and
passing the first task to the tasking system for execution of the operation.

### Claim 5 (depends on 1)

The method of claim 1, wherein the conflict occurs in response to the operation comprising deleting of the matched resource.

### Claim 6 (depends on 1)

The method of claim 1 wherein the conflict occurs in response to the operation comprising updating the resource that has been deleted from a repository.

### Claim 7

A system comprising:
a memory; and
a processing device, operatively coupled to the memory, to:
receive a request for an operation to be executed on a resource among a plurality of resources;
detect an occurrence of a conflict between the operation and a queued operation among a plurality of queued operations associated with the resource among the plurality of resources, the plurality of queued operations maintained in a task queue, wherein to detect, the processing device is to match the resource for the operation with the resource for the queued operation and to determine that the queued operation is currently being executed on the resource for the operation, wherein the conflict occurs in response to the operation comprising updating of the matched resource;
generate a first task for the operation in view of the conflict;
place the first task in the task queue for postponement of execution of the first task for the operation;
identify a task dependency associated with the first task for the operation, wherein the task dependency comprises a second task to be executed prior to execution of the first task for the operation; and
execute the first task for the operation after execution of the task dependency.

### Claim 8 (depends on 7)

The system of claim 7 wherein the processing device to:
reject the request for the execution of the operation and generate an error report of the rejected request.

### Claim 9 (depends on 7)

The system of claim 7 wherein the processing device to:
execute the operation upon completion of the execution of the queued operation on the matched resource.

### Claim 10 (depends on 8)

The system of claim 8 wherein the processing device to:
reject the request for the execution of the operation and generate an error report of the rejected request.

### Claim 11 (depends on 7)

The system of claim 7 wherein the conflict occurs in response to the operation comprising updating the resource that has been deleted from a repository.

### Claim 12

A non-transitory machine-readable storage medium comprising data that, when accessed by a processing device, cause the processing device:
receive, by the processing device, a request for an operation to be executed on a resource among a plurality of resources;
detect, by the processing device, an occurrence of a conflict between the operation and a queued operation among a plurality of queued operations associated with the resource among the plurality of resources, the plurality of queued operations maintained in a task queue, wherein to detect, the processing device is to match the resource for the operation with the resource for the queued operation and to determine that the queued operation is currently being executed on the resource for the operation, wherein the conflict occurs in response to the operation comprising updating of the matched resource;
generate, by the processing device, a first task for the operation in view of the conflict;
place, by the processing device, the first task in the task queue for postponement of execution of the first task for the operation;
identify, by the processing device, a task dependency associated with the first task for the operation, wherein the task dependency comprises a second task to be executed prior to execution of the first task for the operation; and
execute, by the processing device, the first task for the operation after execution of the task dependency.

### Claim 13 (depends on 12)

The non-transitory machine-readable storage medium of claim 12 wherein the processing device is to:
reject the request for the execution of the operation and generating an error report of the rejected request.

### Claim 14 (depends on 12)

The non-transitory machine-readable storage medium of claim 12 wherein the processing device is to:
execute the operation upon completion of the execution of the queued operation on the matched resource.

### Claim 15 (depends on 12)

The non-transitory machine-readable storage medium of claim 12 wherein the processing device is to:
in response to determining that the conflict does not exist:
generate the first task for the operation;
store the first task in the task queue; and
pass the first task to the tasking system for execution of the operation.

### Claim 16 (depends on 12)

The non-transitory machine-readable storage medium of claim 12, wherein the conflict occurs in response to the operation comprising deleting of the matched resource.

### Claim 17 (depends on 12)

The non-transitory machine-readable storage medium of claim 12 wherein the conflict occurs in response to the operation comprising updating the resource that has been deleted from a repository.
