IP Library Granted Patent US 11,868,748
Granted Patent B2
US 11,868,748 · App. 17/521,855 · Granted Jan 9, 2024

Method, apparatus, and computer-readable medium for intelligent execution of a solution on a computer network

Inventor: Hemshankar Sahu (Bangalore, IN)
Assignee: Informatica LLC
G06F8/47G06F8/447G06F9/541
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,868,748
App. No.
17/521,855
Granted
Jan 9, 2024
Kind
B2
Abstract

A deployment platform, computer-readable medium, and computer-implemented method for intelligent execution of a solution on a computer network, including receiving an instruction to execute a solution in a local runtime environment on the deployment platform, the solution including solution code written in a solution language, determining, by a helper program on the deployment platform, whether the solution is executable on the deployment platform based on the solution language and either launching, by the helper program, the solution on the deployment platform when the solution is executable on the deployment platform or launching, by the helper program, the solution on a remote platform on the computer network that is configured to execute the solution when the solution is not executable on the deployment platform, the helper program being configured to communicate with the launched solution to enable the launched solution to interface with the local runtime environment on the deployment platform.

Claims (65)

1. A method executed by one or more computing devices of a deployment platform for intelligent execution of a solution on a computer network, the method comprising:

receiving, by the deployment platform, an instruction to execute a solution in a local runtime environment on the deployment platform, the solution comprising solution code written in a solution language;

determining, by a helper program on the deployment platform, whether the solution is executable on the deployment platform by:

determining whether the solution language is compatible with the local runtime environment;

determining whether the deployment platform includes a runtime environment compatible with solution language based at least in part on a determination that the solution language is not compatible with the local runtime environment; and

determining whether the deployment platform comprises containerization software compatible with the solution language based at least in part on a determination that the solution language is not compatible with the local runtime environment and a determination that the deployment platform does not include a runtime environment compatible with solution language; and

launching, by the helper program on the deployment platform, the solution by either:

launching the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform; or

launching the solution on a remote platform on the computer network that is configured to execute the solution based at least in part on a determination that the solution is not executable on the deployment platform;

wherein the helper program is configured to communicate with the launched solution to enable the launched solution to interface with the local runtime environment on the deployment platform.

2. The method of claim 1 , wherein the solution is part of a solution object and wherein the solution object further comprises one or more wrapper objects, the one or more wrapper objects exposing the solution to the helper program.

3. The method of claim 1 , wherein the solution is part of a solution object and wherein the solution object comprises a plurality of helper programs, each helper program being directed to a different runtime environment, and further comprising:

selecting the helper program from the plurality of helper programs based at least in part on the local runtime environment.

4. The method of claim 1 , wherein the solution is part of a solution object and wherein launching the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform comprises:

launching the solution within the local runtime environment based at least in part on a determination that the solution language is compatible with the local runtime environment, wherein the helper program communicates with the launched solution via intra-process communication through one or more wrapper objects within the solution object.

5. The method of claim 1 , wherein launching the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform comprises:

launching the solution as a separate process on the deployment platform based at least in part on a determination that that the solution language is not compatible with the local runtime environment and a determination that the deployment platform includes a runtime environment compatible with solution language, wherein the helper program communicates with the launched solution via inter process communication.

6. The method of claim 1 , wherein launching the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform comprises:

launching the solution within a container on the deployment platform based at least in part on a determination that that the solution language is not compatible with the local runtime environment, a determination that the deployment platform does not include a runtime environment compatible with solution language, and a determination that the deployment platform comprises containerization software compatible with the solution language, wherein the helper program communicates with the launched solution via inter process communication.

7. The method of claim 1 , wherein launching the solution on a remote platform on the computer network that is configured to execute the solution based at least in part on a determination that the solution is not executable on the deployment platform comprises:

transmitting instructions to the remote platform to launch the solution; and

exposing a RESTful endpoint of the launched solution;

wherein the helper program communicates with the launched solution via requests and responses over hypertext transfer protocol (HTTP).

8. A deployment platform for intelligent execution of a solution on a computer network, the deployment platform comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to:

receive an instruction to execute a solution in a local runtime environment on the deployment platform, the solution comprising solution code written in a solution language;

determine, by a helper program on the deployment platform, whether the solution is executable on the deployment platform by:

determining whether the solution language is compatible with the local runtime environment;

determining whether the deployment platform includes a runtime environment compatible with solution language based at least in part on a determination that the solution language is not compatible with the local runtime environment; and

determining whether the deployment platform comprises containerization software compatible with the solution language based at least in part on a determination that the solution language is not compatible with the local runtime environment and a determination that the deployment platform does not include a runtime environment compatible with solution language; and

launch, by the helper program on the deployment platform, the solution by either:

launching the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform; or

launching the solution on a remote platform on the computer network that is configured to execute the solution based at least in part on a determination that the solution is not executable on the deployment platform;

wherein the helper program is configured to communicate with the launched solution to enable the launched solution to interface with the local runtime environment on the deployment platform.

9. The deployment platform of claim 8 , wherein the solution is part of a solution object and wherein the solution object comprises a plurality of helper programs, each helper program being directed to a different runtime environment and wherein at least one of the one or more memories has further instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to:

select the helper program from the plurality of helper programs based at least in part on the local runtime environment.

10. The deployment platform of claim 8 , wherein the solution is part of a solution object and wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to launch the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform further cause at least one of the one or more processors to perform one of:

launch the solution within the local runtime environment based at least in part on a determination that the solution language is compatible with the local runtime environment, wherein the helper program communicates with the launched solution via intra-process communication through one or more wrapper objects within the solution object;

launch the solution as a separate process on the deployment platform based at least in part on a determination that that the solution language is not compatible with the local runtime environment and a determination that the deployment platform includes a runtime environment compatible with solution language, wherein the helper program communicates with the launched solution via inter process communication; or

launch the solution within a container on the deployment platform based at least in part on a determination that that the solution language is not compatible with the local runtime environment, a determination that the deployment platform does not include a runtime environment compatible with solution language, and a determination that the deployment platform comprises containerization software compatible with the solution language, wherein the helper program communicates with the launched solution via inter process communication.

11. The deployment platform of claim 8 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to launch the solution on a remote platform configured to execute the solution further cause at least one of the one or more processors to:

transmit instructions to the remote platform to launch the solution; and

expose a RESTful endpoint of the launched solution;

wherein the helper program communicates with the launched solution via requests and responses over hypertext transfer protocol (HTTP).

12. At least one non-transitory computer-readable medium storing computer-readable instructions for intelligent execution of a solution on a computer network that, when executed by one or more computing devices of a deployment platform, cause the deployment platform to:

receive an instruction to execute a solution in a local runtime environment on the deployment platform, the solution comprising solution code written in a solution language;

determine, by a helper program on the deployment platform, whether the solution is executable on the deployment platform by:

determining whether the solution language is compatible with the local runtime environment;

determining whether the deployment platform includes a runtime environment compatible with solution language based at least in part on a determination that the solution language is not compatible with the local runtime environment; and

determining whether the deployment platform comprises containerization software compatible with the solution language based at least in part on a determination that the solution language is not compatible with the local runtime environment and a determination that the deployment platform does not include a runtime environment compatible with solution language; and

launch, by the helper program on the deployment platform, the solution by either:

launching the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform; or

launching the solution on a remote platform on the computer network that is configured to execute the solution based at least in part on a determination that the solution is not executable on the deployment platform;

wherein the helper program is configured to communicate with the launched solution to enable the launched solution to interface with the local runtime environment on the deployment platform.

13. The at least one non-transitory computer-readable medium of claim 12 , wherein the solution is part of a solution object and wherein the solution object comprises a plurality of helper programs, each helper program being directed to a different runtime environment and further storing computer-readable instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to:

select the helper program from the plurality of helper programs based at least in part on the local runtime environment.

14. The at least one non-transitory computer-readable medium of claim 12 , wherein the solution is part of a solution object and wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to launch the solution on the deployment platform based at least in part on a determination that the solution is executable on the deployment platform further cause at least one of the one or more computing devices to perform one of:

launch the solution within the local runtime environment based at least in part on a determination that the solution language is compatible with the local runtime environment, wherein the helper program communicates with the launched solution via intra-process communication through one or more wrapper objects within the solution object;

launch the solution as a separate process on the deployment platform based at least in part on a determination that that the solution language is not compatible with the local runtime environment and a determination that the deployment platform includes a runtime environment compatible with solution language, wherein the helper program communicates with the launched solution via inter process communication; or

launch the solution within a container on the deployment platform based at least in part on a determination that that the solution language is not compatible with the local runtime environment, a determination that the deployment platform does not include a runtime environment compatible with solution language, and a determination that the deployment platform comprises containerization software compatible with the solution language, wherein the helper program communicates with the launched solution via inter process communication.

15. The at least one non-transitory computer-readable medium of claim 12 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to launch the solution on a remote platform configured to execute the solution further cause at least one of the one or more computing devices to:

transmit instructions to the remote platform to launch the solution; and

expose a RESTful endpoint of the launched solution;

wherein the helper program communicates with the launched solution via requests and responses over hypertext transfer protocol (HTTP).

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: JPMORGAN CHASE BANK, N.A.
To: INFORMATICA LLC
Reel/Frame 073597/0722 →
SECURITY INTEREST Recorded Jun 12, 2024
From: INFORMATICA LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067706/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2023
From: SAHU, HEMSHANKAR
To: INFORMATICA LLC
Reel/Frame 063280/0952 →