IP Library Granted Patent US 11,423,343
Granted Patent B2
US 11,423,343 · App. 14/667,914 · Granted Aug 23, 2022

Dynamic construction of cloud services

Inventors: Michael M. Behrendt (Sindelfingen-Maichingen, DE); Simon D. Moser (Stuttgart, DE); Ruediger Schulze (Boeblingen, DE); Thomas Spatzier (Holzgerlingen, DE); Natalie Speiser (Stuttgart, DE)
Assignee: KYNDRYL, INC.
G06Q10/06313G06Q10/0633G06F11/1425G06F11/1471H04L41/5045H04L41/5054
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 11,423,343
App. No.
14/667,914
Granted
Aug 23, 2022
Kind
B2
Abstract

Embodiments of the present invention provide systems and methods for constructing a plan for creating a cloud service. In one embodiment, a configurator receives a request for one or more services making up a cloud service, and a preliminary plan for the requested services is generated. A service provider determines that it is able to fulfill a requested service, and inserts a sub plan for fulfilling the requested service into the preliminary plan. A final plan is generated, which includes a sub plan from each service provider inserted into the preliminary plan.

Claims (86)

1. A method for constructing a plan for creating a cloud service, the method comprising the steps of:

receiving, at a configurator which comprises a first processor, a request for a cloud service, wherein the configurator is connected to a bus, wherein the cloud service comprises one or more services, and wherein one or more service providers comprise a second processor and are configured to perform the one or more services;

generating, by the configurator, a first plan comprising a plurality of nodes, wherein each node of the plurality of nodes corresponds to a workflow step topic of a plurality of workflow step topics;

sending, by the configurator, the first plan comprising a message associated with a first workflow step topic to the bus, wherein the message includes content for updating each workflow step topic of the plurality of workflow step topics at specific execution points with a sub plan associated with a respective service provider that executes one or more services that satisfies the request while maintaining the first plan;

determining whether a first service provider is able to execute the first workflow step topic;

responsive to determining that the first service provider is able to execute the first workflow step topic, replacing a node of the plurality of nodes with a sub plan of the first service provider, wherein the sub plan comprises obtaining a network configuration, creating a disk, and creating a virtual machine (VM);

generating the final plan, wherein the final plan comprises one or more sub plans inserted into the plurality of nodes of the first plan;

optimizing the generated final plan before the final plan is executed by combining multiple sub plans by issuing a call to each service provider and receiving a corresponding sub plan from each service provider to inject into the multiple sub plans;

during execution of the optimized final plan, inserting one or more transitions that serves as a checkpoint between service providers listed, and for each inserted transition, logging traceability information;

identifying execution failures associated with the checkpoints, wherein the execution failures decrease a performance of the cloud service; and

responsive to identifying the execution failures associated with the checkpoints, correcting the identified execution failures that decrease the performance of the cloud service by:

removing sub plans associated with a service that caused an execution failure of the execution failures;

selecting another service having sub plans that satisfies that requests; and

inserting sub plans of the selected service into the generated final plan.

2. The method of claim 1 , further comprising:

enabling multiple executions of the final plan by caching the final plan; and

requesting, by an orchestrator which comprises a third processor, execution of the final plan by at least one of the one or more service providers associated with the one or more services,

wherein the orchestrator comprises a specialized service provider which is registered against a topic of complete construction of the final plan.

3. The method of claim 2 , wherein the final plan is unknown prior to execution of the final plan by at least one of the one or more service providers associated with the one or more services, and the one or more service providers and the one or more sub plans are updated without the cloud service being updated.

4. The method of claim 1 , further comprising:

inserting, by an orchestrator which comprises a third processor, traceability information between at least two of the workflow step topics representing the one or more services of the final plan.

5. The method of claim 4 , wherein the orchestrator is configured to locate an error or a failure during execution of the final plan in the traceability information which acts as a per-thread-storage of the final plan.

6. The method of claim 1 , further comprising:

determining whether a second service provider is able to execute a second workflow step topic;

responsive to determining that the second service provider is able to execute the second workflow step topic, inserting, by the second service provider, another sub plan into the second workflow step topic; and

sending, by the second service provider, a message to the bus, wherein the message comprises another workflow step topic associated with the plurality of nodes.

7. The method of claim 1 , further comprising:

receiving, by a last service provider from the one or more service providers, an end message, wherein the end message indicates complete construction of the final plan.

8. A computer program product comprising:

a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising:

program instructions to receive, at a configurator which comprises a first processor, a request for a cloud service, wherein the configurator is connected to a bus, wherein the cloud service comprises one or more services, and wherein one or more service providers which comprise a second processor and are configured to perform the one or more services;

program instructions to generate, by the configurator, a first plan comprising a plurality of nodes, wherein each node of the plurality of nodes corresponds to a workflow step topic of a plurality of workflow step topics;

program instructions to send, by the configurator, the first plan comprising a message associated with a first workflow step topic to the bus, wherein the message includes content for updating each workflow step topic of the plurality of workflow step topics at specific execution points with a sub plan associated with a respective service provider that executes one or more services that satisfies the request while maintaining the first plan;

program instructions to determine whether a first service provider is able to execute the first workflow step topic;

program instructions, to responsive to determining that the first service provider is able to execute the first workflow step topic, replace a node of the plurality of nodes with a sub plan of the first service provider, wherein the node comprises a compute service node and the sub plan comprises obtaining a network configuration, creating a disk, and creating a virtual machine (VM);

program instructions to generate the final plan, wherein the final plan comprises one or more sub plans inserted into the plurality of nodes of the first plan;

program instructions to optimize the generated final plan before the final plan is executed by combining multiple sub plans by issuing a call to each service provider and receiving a corresponding sub plan from each service provider to inject into the multiple sub plans;

program instructions, to during execution of the optimized final plan, insert one or more transitions that serves as a checkpoint between service providers listed, and for each inserted transition, logging traceability information;

program instructions to identify execution failures associated with the checkpoints, wherein the execution failures decrease a performance of the cloud service; and

program instructions to, responsive to identifying the execution failures associated with the checkpoints, correct the identified execution failures that decrease the performance of the cloud service by:

removing sub plans associated with a service that caused an execution failure of the execution failures;

selecting another service having sub plans that satisfies that requests; and

inserting sub plans of the selected service into the generated final plan.

9. The computer program product of claim 8 , further comprising:

program instructions to enable multiple executions of the final plan by caching the final plan; and

program instructions to request, by an orchestrator which comprises a third processor, execution of the final plan by at least one of the one or more service providers associated with the one or more services,

wherein the orchestrator comprises a specialized service provider which is registered against a topic of complete construction of the final plan.

10. The computer program product of claim 9 , wherein the final plan is unknown prior to execution of the final plan by at least one of the one or more service providers associated with the one or more services, and the one or more service providers and the one or more sub plans are updated without the cloud service being updated.

11. The computer program product of claim 8 , further comprising:

program instructions to insert, by an orchestrator which comprises a third processor, traceability information between at least two of the workflow step topics representing the one or more services of the final plan.

12. The computer program product of claim 11 , wherein the orchestrator is configured to locate an error or a failure during execution of the final plan in the traceability information which acts as a per-thread-storage of the final plan.

13. The computer program product of claim 8 , further comprising:

program instructions to determine whether a second service provider is able to execute a second workflow step topic;

program instructions to, responsive to determining that the second service provider is able to execute the second workflow step topic, insert, by the second service provider, another sub plan into the second workflow step topic; and

program instructions to send, by the second service provider, a message to the bus, wherein the message comprises another workflow step topic associated with the plurality of nodes.

14. A computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to receive, at a configurator which comprises a first processor of the one or more processors, a request for a cloud service, wherein the configurator is connected to a bus, wherein the cloud service comprises one or more services which comprise a second processor of the one or more processors, and wherein one or more service providers are configured to perform the one or more services;

program instructions to generate, by the configurator, a first plan comprising a plurality of nodes, wherein each node of the plurality of nodes corresponds to a workflow step topic of a plurality of workflow step topics;

program instructions to send, by the configurator, the first plan comprising a message associated with a first workflow step topic to the bus, wherein the message includes content for updating each workflow step topic of the plurality of workflow step topics at specific execution points with a sub plan associated with a respective service provider that executes one or more services that satisfies the request while maintaining the first plan wherein the message comprises a topic of compute service required and relevant information for each workflow step;

program instructions to determine whether a first service provider is able to execute the first workflow step topic;

program instructions, to responsive to determining that the first service provider is able to execute the first workflow step topic, replace a node of the plurality of nodes with a sub plan of the first service provider, wherein the sub plan comprises obtaining a network configuration, creating a disk, and creating a virtual machine (VM);

program instructions to generate the final plan, wherein the final plan comprises one or more sub plans inserted into the plurality of nodes of the first plan;

program instructions to optimize the generated final plan before the final plan is executed by combining multiple sub plans by issuing a call to each service provider and receiving a corresponding sub plan from each service provider to inject into the multiple sub plans;

program instructions, to during execution of the optimized final plan, insert one or more transitions that serves as a checkpoint between service providers listed, and for each inserted transition, logging traceability information;

program instructions to identify execution failures associated with the checkpoints, wherein the execution failures decrease a performance of the cloud service; and

program instructions to, responsive to identifying the execution failures associated with the checkpoints, correct the identified execution failures that decrease the performance of the cloud service by:

removing sub plans associated with a service that caused an execution failure of the execution failures;

selecting another service having sub plans that satisfies that requests; and

inserting sub plans of the selected service into the generated final plan.

15. The computer system of claim 14 , further comprising:

program instructions to enable multiple executions of the final plan by caching the final plan; and

program instructions to request, by an orchestrator which comprises a third processor of the one or more processors, execution of the final plan by at least one of the one or more service providers associated with the one or more services,

wherein the orchestrator comprises a specialized service provider which is registered against a topic of complete construction of the final plan.

16. The computer system of claim 15 , wherein the final plan is unknown prior to execution of the final plan by at least one of the one or more service providers associated with the one or more services, and the one or more service providers and the one or more sub plans are updated without the cloud service being updated.

17. The computer system of claim 14 , further comprising:

program instructions to insert, by an orchestrator which comprises a third processor of the one or more processors, traceability information between at least two of the workflow step topics representing the one or more services of the final plan.

18. The computer system of claim 17 , wherein the orchestrator is configured to locate an error or a failure during execution of the final plan in the traceability information which acts as a per-thread-storage of the final plan.

19. The computer system of claim 14 , further comprising:

program instructions to determine whether a second service provider is able to execute a second workflow step topic;

program instructions to, responsive to determining that the second service provider is able to execute the second workflow step topic, insert, by the second service provider, another sub plan into the second workflow step topic; and

program instructions to send, by the second service provider, a message to the bus, wherein the message comprises another workflow step topic associated with the plurality of nodes.

20. The computer system of claim 14 , further comprising:

program instructions to receive, by a last service provider from the one or more service providers, an end message, wherein the end message indicates complete construction of the final plan.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 058213/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2015
From: BEHRENDT, MICHAEL M.; MOSER, SIMON D.; SCHULZE, RUEDIGER; SPATZIER, THOMAS; SPEISER, NATALIE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035250/0169 →
Continuity (1)
Related Publication 20160283879A1 · Sep 29, 2016