IP Library › Granted Patent US 12,670,031
Granted Patent B2
US 12,670,031 · App. 17/934,249 · Granted Jun 30, 2026

Efficient placement of serverless workloads on transient infrastructure on policy-driven re-location

Inventors: Enrico Regge (Stuttgart, DE); Michael Beck (Bad Teinach-Zavelstein, DE); Werner Schuetz (Nufringen, DE); Peter Gerstl (Holzgerlingen, DE); Simon Daniel Moser (Gärtringen, DE); Sugandha Agrawal (Stuttgart, DE)
Assignee: International Business Machines Corporation
G06F9/505G06F9/5038H04L67/568G06F2209/503G06F2209/506
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 12,670,031
App. No.
17/934,249
Filed
Sep 22, 2022
Granted
Jun 30, 2026
Kind
B2
Art Unit
2192
USPC
718/104
Abstract

A computer-implemented method for executing a serverless workload on a transient infrastructure is disclosed. The method comprises receiving a request for executing a workload and at least one policy, selecting an infrastructure component of the transient infrastructure for an execution of the workload, wherein the transient infrastructure is implemented utilizing a plurality of geographically distributed computing nodes, and executing the workload on the transient infrastructure. Furthermore, the method comprises upon receiving an interfering event during the execution of the workload causing a stop of the workload execution, freezing the execution of the workload, storing intermediate results and statuses of the workload execution in a cross-domain storage system, terminating the execution of the workload, and continuing the workload execution using the intermediate results and under a constraint defined by the at least one policy.

Claims (61)

1 . A computer implemented method (CIM) for use with a temporary infrastructure including a plurality of infrastructure components, the CIM comprising:

implementing the temporary infrastructure by a plurality of geographically distributed computing nodes respectively representing the plurality of infrastructure components;

maintaining a set of policies associated with geographical regions of the computing nodes;

receiving a request for executing a first workload;

receiving a policy definition including at least one policy associated with the first workload;

selecting a first computing node from the plurality of geographically distributed computing nodes for executing the first workload, wherein the first computing node is in a first geographical region, and wherein the selecting the first computing node comprises determining, based on the set of policies, that the at least one policy does not include a mandatory policy that cannot be fulfilled in the first geographical region;

executing the first workload on a first temporary infrastructure component corresponding to the first computing node;

during the execution of the first workload, detecting an occurrence of an interfering event that is causing a stop of the execution of the first workload;

responsive to the detection of the occurrence of the interfering event, freezing the execution of the first workload, storing a state of the first workload in a regional data store of the first geographical region, and replicating the state of the first workload to a cross-domain in-flight storage;

selecting, based on the policy definition and the set of policies, at least one additional computing node from the plurality of geographically distributed computing nodes, wherein the at least one additional computing node comprises a second computing node in a second geographical region; and

in response to determining that the second computing node is not in the first geographical region, pulling the state of the first workload from the cross-domain in-flight storage to resume the first workload on the second computing node.

2 . The CIM of claim 1 , wherein the storing comprises:

storing an execution status data set including information indicative of a plurality of intermediate results and statuses of the execution of the first workload.

3 . The CIM of claim 2 , further comprising:

subsequent to the pulling the state of the first workload, continuing execution of the first workload on the second computing node using the execution status data set and under a constraint defined by the at least one policy.

4 . The CIM of claim 1 , wherein the temporary infrastructure is implemented as part of a cloud computing environment.

5 . The CIM of claim 1 , further comprising continuing the execution of the first workload on a temporary infrastructure component corresponding to the second computing node.

6 . The CIM of claim 1 , wherein the at least one additional computing node further comprises a third computing node in the first geographical region.

7 . The CIM of claim 6 , further comprising, in response to determining that the third computing node is in the first geographical region, pulling the state of the first workload from the regional data store.

8 . The CIM of claim 1 , wherein the maintaining the set of policies comprises updating the set of policies in response to detecting policy updates in the geographical regions.

9 . The CIM of claim 8 , wherein the interfering event is a policy update in the first geographical region.

10 . The CIM of claim 1 , further comprising executing the workload in parallel on at least two computing nodes selected from the first computing node and the at least one additional computing node.

11 . The CIM of claim 1 , wherein the interfering event is a price change for at least one of the geographically distributed computing nodes.

12 . A computer program product (CPP) for use with a first workload and a temporary infrastructure including a plurality of infrastructure components, the CPP comprising:

at least one storage device; and

computer code stored collectively in the at least one storage device, with the computer code including data and instructions to cause one or more processors to perform operations comprising:

implementing the temporary infrastructure by a plurality of geographically distributed computing nodes respectively representing the plurality of infrastructure components;

maintaining a set of policies associated with geographical regions of the computing nodes;

receiving a request for executing the first workload;

receiving a policy definition including at least one policy associated with the first workload;

selecting a first computing node from the plurality of geographically distributed computing nodes for executing the first workload, wherein the first computing node is in a first geographical region, and wherein the selecting the first computing node comprises determining that the at least one policy does not include a mandatory policy that cannot be fulfilled in the first geographical region;

executing the first workload on a first temporary infrastructure component corresponding to the first computing node;

during the execution of the first workload, detecting an occurrence of an interfering event that is causing a stop of the execution of the first workload;

responsive to the detection of the occurrence of the interfering event, freezing the execution of the first workload, storing a state of the first workload in a regional data store of the first geographical region, and replicating the state of the first workload to an in-flight storage that is accessible to more than one geographical region;

selecting, based on the policy definition and the set of policies, at least one additional computing node from the plurality of geographically distributed computing nodes, wherein the at least one additional computing node comprises a second computing node from the plurality of geographically distributed computing nodes, wherein the second computing node is in a second geographical region; and

in response to determining that the second computing node is not in the first geographical region, pulling the state of the first workload from the in-flight storage that is accessible to more than one geographical region to resume the first workload on the second computing node.

13 . The CPP of claim 12 , wherein the storing the state comprises:

storing an execution status data set including information indicative of a plurality of intermediate results and statuses of the execution of the first workload.

14 . The CPP of claim 13 , wherein the computer code further includes instructions for causing the one or more processors to perform operations comprising:

subsequent to the pulling the state of the first workload, continuing execution of the first workload on the second computing node using the execution status data set and under a constraint defined by the at least one policy.

15 . The CPP of claim 12 , wherein the temporary infrastructure is implemented as part of a cloud computing environment.

16 . A computer system (CS) for use with a first workload and a temporary infrastructure including a plurality of infrastructure components, the CS comprising:

one or more processors;

at least one storage device; and

computer code stored collectively in the at least one storage device, with the computer code including data and instructions to cause the one or more processors to perform operations comprising:

implementing the temporary infrastructure by a plurality of geographically distributed computing nodes respectively representing the plurality of infrastructure components;

maintaining a set of policies associated with geographical regions of the computing nodes;

receiving a request for executing the first workload;

receiving a policy definition including at least one policy associated with the first workload;

selecting a first computing node from the plurality of geographically distributed computing nodes for executing the first workload, wherein the first computing node is in a first geographical region, and wherein the selecting the first computing node comprises determining that the at least one policy does not include a mandatory policy that cannot be fulfilled in the first geographical region;

executing the first workload on a first temporary infrastructure component corresponding to the first computing node;

during the execution of the first workload, detecting an occurrence of an interfering event that is causing a stop of the execution of the first workload;

responsive to the detection of the occurrence of the interfering event, freezing the execution of the first workload, storing a state of the first workload in a regional data store of the first geographical region, and replicating the state of the first workload to an in-flight storage that is accessible to more than one geographical region;

selecting, based on the policy definition and the set of policies, at least one additional computing node from the plurality of geographically distributed computing nodes, wherein the at least one additional computing node comprises a second computing node in a second geographical region; and

in response to determining that the second computing node is not in the first geographical region, sending pulling the state of the first workload from the in-flight storage that is accessible to more than one geographical region to resume the first workload on the second computing node.

17 . The CS of claim 16 , wherein the storing the state comprises:

storing an execution status data set including information indicative of a plurality of intermediate results and statuses of the execution of the first workload.

18 . The CS of claim 17 , wherein the computer code further includes instructions for causing the one or more processors to perform operations comprising:

subsequent to the pulling the state of the first workload, continuing execution of the first workload on the second computing node using the execution status data set and under a constraint defined by the at least one policy.

19 . The CS of claim 16 , wherein the temporary infrastructure is implemented as part of a cloud computing environment.

20 . The CS of claim 16 , further comprising, in response to determining that the at least one additional computing node further comprises a third computing node in the first geographical region, pulling the state of the first workload from the regional data store.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2022
From: REGGE, ENRICO; BECK, MICHAEL; SCHUETZ, WERNER; GERSTL, PETER; MOSER, SIMON DANIEL; AGRAWAL, SUGANDHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061179/0101 →
Continuity (1)
Related Publication 20240103923A1 · Mar 28, 2024
References Cited (24)
US 10534655B1 · Kinney, Jr · 2020 [cited by examiner]
US 11082333B1 · Lam · 2021 [cited by applicant]
US 20110153824A1 · Chikando · 2011 [cited by examiner]
US 20160224367A1 · Raghu · 2016 [cited by examiner]
US 20190028552A1 · Johnson, II · 2019 [cited by applicant]
US 20190230189A1 · Keller · 2019 [cited by examiner]
US 20200225983A1 · Jung · 2020 [cited by applicant]
US 20200382519A1 · Barton · 2020 [cited by examiner]
US 20210200527A1 · Sanchez · 2021 [cited by applicant]
US 20210218644A1 · Mestery · 2021 [cited by applicant]
US 20210357271A1 · Widebrant · 2021 [cited by examiner]
US 20220114032A1 · Guim Bernat · 2022 [cited by applicant]
US 20220179684A1 · Tsirkin · 2022 [cited by examiner]
US 20220229704A1 · Guchhait · 2022 [cited by examiner]
US 20220374276A1 · Mitra · 2022 [cited by examiner]
US 20220398515A1 · McGuire · 2022 [cited by examiner]
US 20240012931A1 · Yannuzzi · 2024 [cited by examiner]
CN 112579193A · 2021 [cited by applicant]
“Transient Virtual Servers”, IBM Cloud, Last Updated on May 19, 2021, 6 pgs.<https://cloud.ibm.com/docs/virtual-servers?topic=virtual-servers-about-vs-transient>. [cited by applicant]
Hui, K., “Migrating Workloads Across AWS Regions with CloudEndure Migration”, Advanced (300), Amazon EC2, CloudEndure Migration, Migration & Transfer Services, Technical How-To, Aug. 28, 2020, 11 pgs. [cited by applicant]
Mell, et al., “The NIST Definition of Cloud Computing”, National Institute of Standards and Technology, Special Publication 800-145, Sep. 2011, 7 pages. [cited by applicant]
Yu, et al., “FaaSRank: Learning to Schedule Functions in Serverless Platforms”, 2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS), Sep. 2021, 10 pgs., doi: 10.1109/ACSOS52086.… [cited by applicant]
Patent Cooperation Treaty, “Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration”, International application No. PCT/EP2023/… [cited by applicant]
Office Action Response to examiner's observations in the communication dated Jun. 30, 2025, Application No. 23772499.2, 5 pages. [cited by applicant]