IP Library Granted Patent US 12681754
Granted Patent B1
US 12681754 · App. 19/300,117 · Granted Jul 14, 2026

Handling workload interruptions in cloud computing platforms

Inventors: Mark Philpott (London, GB); Dominic Burgan (London, GB); Steven Readett (London, GB); Krzysztof Jastrzebski (Warsaw, PL); Isaac Kilis (London, GB)
Assignee: Citibank, N.A.
G06F9/4812G06F9/5072G06F11/1407
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 12681754
App. No.
19/300,117
Granted
Jul 14, 2026
Kind
B1
Abstract

A system for handling interrupts in a cloud computing environment is disclosed. The system may include a controller process that receives an interrupt indicator from a worker process, signaling a potential interruption. The controller may determine if the worker process is expected to be halted and removed within a predetermined time period. If so, the controller may transmit a status request to the worker process. In response, the controller may receive completed task results and determine uncompleted tasks. The controller may generate a checkpoint data structure indicating completed and uncompleted tasks. A computational payload comprising the completed results and checkpoint data structure may be transmitted for recording within the cloud computing system. This approach may enable efficient management of computational resources and task continuity in cloud environments subject to periodic process halting and removal.

Claims (90)

1 . A system for handling interrupts, the system comprising:

one or more processors; and

one or more memories configured to store instructions that when executed by the one or more processors perform operations comprising:

receiving, using a controller process of a plurality of controller processes within a cloud computing system, an interrupt indicator from a worker process of a plurality of worker processes, wherein the interrupt indicator signals a potential interruption to the worker process, wherein each worker process of the plurality of worker processes is associated with a corresponding controller process of the plurality of controller processes, and wherein each controller process manages a corresponding worker process;

determining, based on the interrupt indicator, whether the worker process is expected to be halted and removed by the cloud computing system within a predetermined time period, wherein the cloud computing system periodically halts and removes processes to manage assigned computing resources;

based on determining that the worker process is expected to be halted and removed by the cloud computing system, transmitting a status request to the worker process;

in response to the status request, receiving, from the worker process, a first set of computational results for a first set of tasks that have been completed by the worker process;

determining, based on the first set of computational results, a second set of tasks that have not been completed the worker process, wherein the first set of tasks and the second set of tasks have been assigned to the worker process;

generating, for the worker process, a checkpoint data structure that indicates task completion status;

inputting, into the checkpoint data structure, the first set of tasks and the second set of tasks;

assigning, within the checkpoint data structure a corresponding computational result to each task in the first set of tasks;

generating, within the checkpoint data structure, a corresponding flag for each task in the second set of tasks, wherein the corresponding flag indicates that a corresponding task has not been completed; and

transmitting, to be recorded within the cloud computing system, a computational payload comprising the first set of computational results and the checkpoint data structure.

2 . The system of claim 1 , wherein the status request requests one or more computational results for the first set of tasks that have been completed.

3 . The system of claim 1 , wherein the instructions further cause the one or more processors to perform operations comprising:

receiving, using the controller process, a task completion message indicating that a subsequent task of the second set of tasks has been completed by the worker process, wherein the task completion message comprises the corresponding computational result;

updating the checkpoint data structure to remove the subsequent task from the second set of tasks and add the subsequent task to the first set of tasks with the corresponding computational result to generate an updated checkpoint data structure; and

transmitting the updated checkpoint data structure to be recorded within the cloud computing system.

4 . The system of claim 1 , wherein the instructions further cause the one or more processors to perform operations comprising:

receiving, at the controller process, a controller interrupt, wherein the controller interrupt indicates that the controller process will be halted and removed by the cloud computing system; and

based on receiving the controller interrupt, signaling, to the worker process, to stop further processing.

5 . The system of claim 1 , wherein the instructions further cause the one or more processors to perform operations comprising:

initiating, within the cloud computing system, a new controller process and a new worker process;

assigning a new task list to the worker process via the new controller process;

assigning a first removal priority to the new worker process, the cloud computing system halts and removes worker processes and controller processes based on an assigned removal priority;

subsequently to assigning the first removal priority, determining that the new worker process has been executing for a given time period; and

based on determining that the new worker process has been executing for the given time period, raising the first removal priority to indicate that the new worker process has become more important than when the first removal priority has been assigned.

6 . The system of claim 5 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining that one or more operations within the new task list have been completed by the new worker process;

generating a new checkpoint data structure for the new worker process; and

assigning a second removal priority to a lower value indicating that the new worker process is less important than when the first removal priority has been raised.

7 . The system of claim 5 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining that a predetermined amount of time has passed; and

raising a plurality of removal priorities for one or more worker processes that have not completed execution.

8 . A method for handling interrupts, the method comprising:

receiving, using a controller process of a plurality of controller processes within a cloud computing system, an interrupt indicator from a worker process of a plurality of worker processes, wherein the interrupt indicator signals a potential interruption to the worker process, wherein each worker process of the plurality of worker processes is associated with a corresponding controller process of the plurality of controller processes, and wherein each controller process manages a corresponding worker process;

determining, based on the interrupt indicator, whether the worker process is expected to be halted and removed by the cloud computing system within a predetermined time period, wherein the cloud computing system periodically halts and removes processes to manage assigned computing resources;

based on determining that the worker process is expected to be halted and removed by the cloud computing system, transmitting a status request to the worker process;

in response to the status request, receiving, from the worker process, a first set of computational results for a first set of tasks that have been completed by the worker process;

determining, based on the first set of computational results, a second set of tasks that have not been completed the worker process, wherein the first set of tasks and the second set of tasks have been assigned to the worker process;

generating, for the worker process, a checkpoint data structure that indicates that the first set of tasks has been completed and that the second set of tasks has not been completed;

transmitting, to be recorded within the cloud computing system, a computational payload comprising the first set of computational results and the checkpoint data structure;

receiving, using the controller process, a task completion message indicating that a subsequent task of the second set of tasks has been completed by the worker process, wherein the task completion message comprises a corresponding computational result;

updating the checkpoint data structure to remove the subsequent task from the second set of tasks and add the subsequent task to the first set of tasks with the corresponding computational result to generate an updated checkpoint data structure; and

transmitting the updated checkpoint data structure to be recorded within the cloud computing system.

9 . The method of claim 8 , wherein the status request requests one or more computational results for the first set of tasks that have been completed.

10 . The method of claim 8 , wherein generating the checkpoint data structure further comprises:

inputting, into the checkpoint data structure, the first set of tasks;

assigning, within the checkpoint data structure the corresponding computational result to each task in the first set of tasks;

inputting, into the checkpoint data structure, the second set of tasks; and

generating, within the checkpoint data structure, a corresponding flag for each task in the second set of tasks, wherein the corresponding flag indicates that a corresponding task has not been completed.

11 . The method of claim 8 , further comprising:

receiving, at the controller process, a controller interrupt, wherein the controller interrupt indicates that the controller process will be halted and removed by the cloud computing system; and

based on receiving the controller interrupt, signaling, to the worker process, to stop further processing.

12 . The method of claim 8 , further comprising:

initiating, within the cloud computing system, a new controller process and a new worker process;

assigning a new task list to the worker process via the new controller process;

assigning a first removal priority to the new worker process, the cloud computing system halts and removes worker processes and controller processes based on an assigned removal priority;

subsequently to assigning the first removal priority, determining that the new worker process has been executing for a given time period; and

based on determining that the new worker process has been executing for the given time period, raising the first removal priority to indicate that the new worker process has become more important than when the first removal priority has been assigned.

13 . The method of claim 12 , further comprising:

determining that one or more operations within the new task list have been completed by the new worker process;

generating a new checkpoint data structure for the new worker process; and

assigning a second removal priority to a lower value indicating that the new worker process is less important than when the first removal priority has been raised.

14 . The method of claim 12 , further comprising:

determining that a predetermined amount of time has passed; and

raising a plurality of removal priorities for one or more worker processes that have not completed execution.

15 . One or more non-transitory, computer-readable media storing instructions thereon that when executed by one or more processors perform operations comprising:

receiving, using a controller process of a plurality of controller processes within a cloud computing system, an interrupt indicator from a worker process of a plurality of worker processes, wherein the interrupt indicator signals a potential interruption to the worker process, wherein each worker process of the plurality of worker processes is associated with a corresponding controller process of the plurality of controller processes, and wherein each controller process manages a corresponding worker process;

determining, based on the interrupt indicator, whether the worker process is expected to be halted and removed by the cloud computing system within a predetermined time period, wherein the cloud computing system periodically halts and removes processes to manage assigned computing resources;

based on determining that the worker process is expected to be halted and removed by the cloud computing system, transmitting a status request to the worker process;

in response to the status request, receiving, from the worker process, a first set of computational results for a first set of tasks that have been completed by the worker process;

determining, based on the first set of computational results, a second set of tasks that have not been completed the worker process, wherein the first set of tasks and the second set of tasks have been assigned to the worker process;

generating, for the worker process, a checkpoint data structure that indicates that the first set of tasks has been completed and that the second set of tasks has not been completed;

transmitting, to be recorded within the cloud computing system, a computational payload comprising the first set of computational results and the checkpoint data structure;

initiating, within the cloud computing system, a new controller process and a new worker process;

assigning a new task list to the worker process via the new controller process;

assigning a first removal priority to the new worker process, the cloud computing system halts and removes worker processes and controller processes based on an assigned removal priority;

subsequently to assigning the first removal priority, determining that the new worker process has been executing for a given time period; and

based on determining that the new worker process has been executing for the given time period, raising the first removal priority to indicate that the new worker process has become more important than when the first removal priority has been assigned.

16 . The one or more non-transitory, computer-readable media of claim 15 , wherein the status request requests one or more computational results for the first set of tasks that have been completed.

17 . The one or more non-transitory, computer-readable media of claim 15 , wherein the instructions for generating the checkpoint data structure further cause the one or more processors to perform operations comprising:

inputting, into the checkpoint data structure, the first set of tasks;

assigning, within the checkpoint data structure a corresponding computational result to each task in the first set of tasks;

inputting, into the checkpoint data structure, the second set of tasks; and

generating, within the checkpoint data structure, a corresponding flag for each task in the second set of tasks, wherein the corresponding flag indicates that a corresponding task has not been completed.

18 . The one or more non-transitory, computer-readable media of claim 15 , wherein the instructions further cause the one or more processors to perform operations comprising:

receiving, using the controller process, a task completion message indicating that a subsequent task of the second set of tasks has been completed by the worker process, wherein the task completion message comprises a corresponding computational result;

updating the checkpoint data structure to remove the subsequent task from the second set of tasks and add the subsequent task to the first set of tasks with the corresponding computational result to generate an updated checkpoint data structure; and

transmitting the updated checkpoint data structure to be recorded within the cloud computing system.