IP Library › Granted Patent US 10,338,899
Granted Patent B2
US 10,338,899 · App. 15/332,689 · Granted Jul 2, 2019

Dynamically compiled artifact sharing on PaaS clouds

Inventors: Michael H. Dawson (Ottawa, CA); Dayal D. Dilli (Fredericton, CA); Kenneth B. Kent (Fredericton, CA); Panagiotis Patros (Fredericton, CA); Peter D. Shipton (Ottawa, CA)
Assignee: International Business Machines Corporation
G06F8/36H04L67/10H04L67/34
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 10,338,899
App. No.
15/332,689
Granted
Jul 2, 2019
Kind
B2
Abstract

Embodiments disclose systems, methods and computer program products to perform an operation for sharing artifacts between instances of an application deployed in a cloud computing environment. The operation generally includes upon determining, during staging of the application, that a set of artifacts are not available for instances of the application to share in the cloud computing environment, generating the set of artifacts via a first application instance, storing the set of artifacts, and requesting a re-staging of the application. The operation also includes during the re-staging of the application, generating a file for deploying scaled instances of the application and packing the stored set of artifacts into the generated file via a second application instance. The operation further includes executing an instance scale out of the application with the generated file comprising the stored set of artifacts.

Claims (44)

1. A method for sharing artifacts between instances of an application deployed in a cloud computing environment, the method comprising:

upon determining, during staging of the application, that a set of artifacts are not available for instances of the application to share in the cloud computing environment:

generating the set of artifacts via a first application instance by executing the first application instance for a predetermined period of time during a run phase of the staging of the application;

storing, via the first application instance, the set of artifacts in a computing system located in the cloud computing environment based on a hashed value of the application after the predetermined period of time has elapsed; and

requesting a re-staging of the application via the first application instance;

during the re-staging of the application:

generating, via a second application instance, a file for deploying scaled instances of the application;

requesting, via the second application instance, the stored set of artifacts from the computing system located in the cloud computing environment during a compile phase of the re-staging;

verifying, via the second application instance, based on the hashed value of the application, that the stored set of artifacts belong to the application; and

packing the stored set of artifacts into the generated file via the second application instance after verifying that the stored set of artifacts belong to the application; and

executing an instance scale out of the application with the generated file comprising the stored set of artifacts.

2. The method of claim 1 , wherein the determination that the set of artifacts are not available for instances of the application to share is based on either determining that the application has been pushed to the cloud computing environment for a first time, or determining that the application has been updated.

3. The method of claim 1 , wherein the set of artifacts comprise at least one of shared class cache and pre-compiled code.

4. The method of claim 1 , wherein the cloud computing environment comprises a Platform as a Service (PaaS) cloud platform.

5. A system, comprising:

a computer processor; and

a memory containing a program, which when executed by the processor, performs an operation for sharing artifacts between instances of an application deployed in a cloud computing environment, the operation comprising:

upon determining, during staging of the application, that a set of artifacts are not available for instances of the application to share in the cloud computing environment:

generating the set of artifacts via a first application instance by executing the first application instance for a predetermined period of time during a run phase of the staging of the application;

storing, via the first application instance, the set of artifacts in a computing system located in the cloud computing environment based on a hashed value of the application after the predetermined period of time has elapsed; and

requesting a re-staging of the application via the first application instance;

during the re-staging of the application:

generating, via a second application instance, a file for deploying scaled instances of the application;

requesting, via the second application instance, the stored set of artifacts from the computing system located in the cloud computing environment during a compile phase of the re-staging;

verifying, via the second application instance, based on the hashed value of the application, that the stored set of artifacts belong to the application; and

packing the stored set of artifacts into the generated file via a second application instance after verifying that the stored set of artifacts belong to the application; and

executing an instance scale out of the application with the generated file comprising the stored set of artifacts.

6. The system of claim 5 , wherein the determination that the set of artifacts are not available for instances of the application to share is based on either determining that the application has been pushed to the cloud computing environment for a first time, or determining that the application has been updated.

7. The system of claim 5 , wherein the set of artifacts comprise at least one of shared class cache and pre-compiled code.

8. The system of claim 5 , wherein the cloud computing environment comprises a Platform as a Service (PaaS) cloud platform.

9. A computer program product, comprising:

a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to perform an operation for sharing artifacts between instances of an application deployed in a cloud computing environment, the operation comprising:

upon determining, during staging of the application, that a set of artifacts are not available for instances of the application to share in the cloud computing environment:

generating the set of artifacts via a first application instance by executing the first application instance for a predetermined period of time during a run phase of the staging of the application;

storing, via the first application instance, the set of artifacts in a computing system located in the cloud computing environment based on a hashed value of the application after the predetermined period of time has elapsed; and

requesting a re-staging of the application via the first application instance;

during the re-staging of the application:

generating, via a second application instance, a file for deploying scaled instances of the application;

requesting, via the second application instance, the stored set of artifacts from the computing system located in the cloud computing environment during a compile phase of the re-staging;

verifying, via the second application instance, based on the hashed value of the application, that the stored set of artifacts belong to the application; and

packing the stored set of artifacts into the generated file via the second application instance after verifying that the stored set of artifacts belong to the application; and

executing an instance scale out of the application with the generated file comprising the stored set of artifacts.

10. The computer program product of claim 9 , wherein the determination that the set of artifacts are not available for instances of the application to share is based on either determining that the application has been pushed to the cloud computing environment for a first time, or determining that the application has been updated.

11. The computer program product of claim 9 , wherein the set of artifacts comprise at least one of shared class cache and pre-compiled code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2017
From: KENT, KENNETH; PATROS, PANAGIOTIS
To: UNIVERSITY OF NEW BRUNSWICK
Reel/Frame 040965/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2016
From: DAWSON, MICHAEL H.; DILLI, DAYAL D.; SHIPTON, PETER D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040262/0883 →
Continuity (1)
Related Publication 20180113684A1 · Apr 26, 2018