IP Library Granted Patent US 11,797,285
Granted Patent B2
US 11,797,285 · App. 17/536,784 · Granted Oct 24, 2023

Systems and/or methods for facilitating software-based deployments into potentially complex heterogeneous computing environments

Inventor: John Carter (Paris, FR)
Assignee: SOFTWARE AG
G06F8/61H04L41/0806H04L67/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 11,797,285
App. No.
17/536,784
Granted
Oct 24, 2023
Kind
B2
Abstract

Techniques enable an application for execution in a heterogeneous computing environment including an on-premise server and a Software-as-a-Service (SaaS) provider. A scaffold defining assets usable by the application and configuration details therefor is developed. At least one scaffold map is generated. Each specifies target servers where individual assets are located and/or to be located. Different scaffold maps are generated for different user-specifiable environments to which the application is deployable. An application manager helps generate agent manifests based on the scaffold and one or more scaffold maps. The agent manifests are usable to configure respective target servers. A package manager helps provision the target servers based on the agent manifests. The provisioning includes distributing to corresponding target servers, and processing thereon, the agent manifests. The processing includes rolling back the distribution responsive to an occurrence of a defined exception case. The application is enabled following successful provisioning.

Claims (36)

1. A method of enabling an application for execution in a heterogeneous computing environment, the heterogeneous computing environment including different runtime environments distributed across at least one on-premise server and at least one Software-as-a-Service (SaaS) provider such that the at least one on-premise server is configured to provide at least one first service of the application and the at least one SaaS provider is configured to provide at least one second service of the application, the method comprising:

developing a scaffold for the application, the scaffold defining a set of assets usable by the application as well as configuration details for the assets;

generating at least one scaffold map, each scaffold map specifying target servers in the heterogeneous computing environment where individual assets in the set of assets are located or where individual assets in the set of assets are to be located, wherein different scaffold maps are generated for different user-specifiable environments to which the application is deployable;

automatically and programmatically generating, via an application manager, agent manifests based on the scaffold and one or more of the at least one scaffold maps, the agent manifests being usable to configure respective target servers associated with the respective scaffold maps;

automatically and programmatically provisioning, via a package manager, the target servers of heterogeneous computing environment based on the agent manifests, the provisioning including distributing to corresponding target servers, and processing thereon, the agent manifests, wherein the processing includes rolling back the distribution responsive to an occurrence of a defined exception case; and

enabling the application following successful provisioning.

2. The method of claim 1 , wherein application manager instances and package manager instances are deployable to different runtimes on different target servers.

3. The method of claim 2 , wherein the application manager instances are configured to assist in local scaffold creation.

4. The method of claim 2 , wherein the package manager instances are configured to assist in processing local package deployments for the application.

5. The method of claim 2 , wherein the method is operable in first and second modes, the first mode employing the application manager and the package manger to centrally manage deployment and configuration of the application, the second mode employing the application manager instances and the package manager instances to locally manage deployment and configuration of the application independent of the Software-as-a-Service (SaaS) provider.

6. The method of claim 1 , wherein different packages are deployable to different target servers in the heterogeneous computing environment, each package having one of a plurality of different types, and further comprising enforcing rules defining where different packages can be deployed in the heterogeneous computing environment based on the types of the respective packages.

7. The method of claim 6 , wherein one of the types indicates that the package(s) associated therewith are open source.

8. The method of claim 1 , further comprising enabling sandboxing on a level more granular than an individual runtime.

9. The method of claim 8 , wherein the sandboxing is practiced for individual packages or individual assets.

10. The method of claim 8 , wherein the sandboxing is practiced for a given package based on whether the given package was provided by a public repository.

11. The method of claim 1 , further comprising running the method in one of first and second modes, the first mode enabling hot deployment across platforms at a level more granular than an individual runtime and the second mode enabling cold deployment across platforms at the level more granular than an individual runtime.

12. The method of claim 1 , wherein packages are distributable to multiple different runtimes with respective configurations appropriate for the different respective runtimes, rather than being deployed to a container.

13. The method of claim 1 , wherein the scaffold is developed based on user-specified information received via a user interface.

14. The method of claim 1 , wherein the scaffold includes data specifying a test harness, and further comprising, after the provisioning, automatically testing the application using the test harness.

15. The method of claim 1 , wherein each agent manifest is associated with one target server.

16. The method of claim 1 , wherein for a given target server, multiple agent manifests are generated provided that the given target server includes multiple different runtime platforms.

17. At least one non-transitory computer readable storage medium comprising code that, when executed by at least one processor, perform operations that enable an application to be executed in a heterogeneous computing environment, the heterogeneous computing environment including different runtime environments distributed across at least one on-premise server and at least one Software-as-a-Service (SaaS) provider such that the at least one on-premise server is configured to provide at least one first service of the application and the at least one SaaS provider is configured to provide at least one second service of the application, the operations comprising:

developing a scaffold for the application, the scaffold defining a set of assets usable by the application as well as configuration details for the assets;

generating at least one scaffold map, each scaffold map specifying target servers in the heterogeneous computing environment where individual assets in the set of assets are located or where individual assets in the set of assets are to be located, wherein different scaffold maps are generated for different user-specifiable environments to which the application is deployable;

automatically and programmatically generating, via an application manager, agent manifests based on the scaffold and one or more of the at least one scaffold maps, the agent manifests being usable to configure respective target servers associated with the respective scaffold maps;

automatically and programmatically provisioning, via a package manager, the target servers of heterogeneous computing environment based on the agent manifests, the provisioning including distributing to corresponding target servers, and processing thereon, the agent manifests, wherein the processing includes rolling back the distribution responsive to an occurrence of a defined exception case; and

enabling the application following successful provisioning.

18. A system configured to enable an application to be executed in a heterogeneous computing environment, the heterogeneous computing environment including different runtime environments distributed across at least one on-premise server and at least one Software-as-a-Service (SaaS) provider such that the at least one on-premise server is configured to provide at least one first service of the application and the at least one SaaS provider is configured to provide at least one second service of the application, the system comprising:

at least one processor and a memory coupled thereto, the at least one processor being configured to at least:

present a user interface enabling a user to develop a scaffold for the application, the scaffold defining a set of assets usable by the application as well as configuration details for the assets;

generate at least one scaffold map, each scaffold map specifying target servers in the heterogeneous computing environment where individual assets in the set of assets are located or where individual assets in the set of assets are to be located, wherein different scaffold maps are generated for different user-specifiable environments to which the application is deployable;

cause an application manager software module to automatically and programmatically generate agent manifests based on the scaffold and one or more of the at least one scaffold maps, the agent manifests being usable to configure respective target servers associated with the respective scaffold maps;

cause a package manager software module to automatically and programmatically provision the target servers of heterogeneous computing environment based on the agent manifests, the provisioning including distributing to corresponding target servers, and processing thereon, the agent manifests, wherein the processing includes rolling back the distribution responsive to an occurrence of a defined exception case; and

enable the application following successful provisioning.

19. The system of claim 18 , wherein the application manager software module and the package manager software module run in the system.

20. The system of claim 18 , wherein the system is operably connected to the at least one on-premise server and wherein Software-as-a-Service (SaaS) servers of the SaaS provider are parts of the system.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2024
From: IBM SUPER IPAAS INTEGRATION DEUTSCHLAND GMBH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069654/0889 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM IBM SUPER IPAAS INTEGRATION TO IBM SUPER IPAAS INTEGRATION DEUTSCHLAND GMBH PREVIOUSLY RECORDED ON REEL 69381 FRAME 97. ASSIGNOR(S) HEREBY CONFIRMS THE NAME CHANGE. Recorded Dec 12, 2024
From: SAG INTEGRATION GMBH
To: IBM SUPER IPAAS INTEGRATION DEUTSCHLAND GMBH
Reel/Frame 069631/0360 →
CHANGE OF NAME Recorded Nov 14, 2024
From: SAG INTEGRATION GMBH
To: IBM SUPER IPAAS INTEGRATION
Reel/Frame 069381/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2024
From: SAG DEUTSCHLAND GMBH
To: SAG INTEGRATION GMBH
Reel/Frame 068712/0520 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2024
From: SOFTWARE AG
To: SAG DEUTSCHLAND GMBH
Reel/Frame 068694/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2021
From: CARTER, JOHN
To: SOFTWARE AG
Reel/Frame 058229/0501 →
Continuity (1)
Related Publication 20230168875A1 · Jun 1, 2023