IP Library › Granted Patent US 12,141,595
Granted Patent B1
US 12,141,595 · App. 18/179,610 · Granted Nov 12, 2024

Systems and methods for execution in dynamic application runtime environments

Inventors: Andrew Radcliffe (McLean, VA); Antonio Andrade Garcia (McLean, VA); Marco Pescosolido (McLean, VA); Matt Hilliard (McLean, VA)
Assignee: Appian Corporation
G06F9/45508G06F8/60G06F9/45516
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,141,595
App. No.
18/179,610
Granted
Nov 12, 2024
Kind
B1
Abstract

Described herein are methods, systems, and computer-readable storage media for automatic selection of a runtime environment for execution of an application. Techniques include identifying the application at a server for execution in a runtime environment and then accessing a state portion and a logic portion of the application. Techniques further include selecting the runtime environment by determining a location scenario of the state portion and the logic portion of the application. Techniques to determining the location scenario is at least one of: the state portion and the logic portion of the application are present on the server, the state portion is sent to a client device by the server and the logic portion is present on the server, the logic portion is sent to the client device by the server and the state portion is present on the server, the state portion and the logic portion of the application are sent to the client device by the server.

Claims (36)

1. A non-transitory computer readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for automatic selection of a runtime environment for execution of an application, the operations comprising:

identifying the application at a server for execution in the runtime environment;

accessing a state portion and a logic portion of the application;

selecting the runtime environment by determining a location scenario of the state portion and the logic portion of the application, wherein the location scenario is at least one of:

the state portion and the logic portion of the application are present on the server;

the state portion is sent to a client device by the server and the logic portion is present on the server;

the logic portion is sent to the client device by the server and the state portion is present on the server; or

the state portion and the logic portion of the application are sent to the client device by the server; and

determining a plurality of runtime environments in which to execute the application at different times, wherein determining the plurality of runtime environments in which to execute the application at different times further comprises copying the state portion and the logic portion of the application from the server to the client device to enable execution of the application without requiring a network connection between the server and the client device.

2. The non-transitory computer readable medium of claim 1 , wherein selecting the runtime environment further comprises:

determining the state portion of the application will exceed a resources threshold.

3. The non-transitory computer readable medium of claim 1 , wherein determining the location scenario further comprises:

identifying a connectivity status of the application over a time period.

4. The non-transitory computer readable medium of claim 1 , wherein the plurality of runtime environments includes a runtime environment where the state portion and the logic portion of the application are present on the server.

5. The non-transitory computer readable medium of claim 1 , wherein the plurality of runtime environments includes a runtime environment where the state portion is present on the server and the logic portion is present on the client device.

6. The non-transitory computer readable medium of claim 1 , wherein the plurality of runtime environments includes a runtime environment where the state portion is present on the client device and the logic portion is present on the server.

7. The non-transitory computer readable medium of claim 1 , wherein the plurality of runtime environments includes a runtime environment where the state portion and the logic portion of the application are present on the client device.

8. The non-transitory computer readable medium of claim 1 , wherein determining the plurality of runtime environments is based on scalability requirements received by the server along with the application.

9. A computer implemented method for automatic selection of a runtime environment for execution of an application, the method comprising:

identifying the application at a server for execution in the runtime environment;

accessing a state portion and a logic portion of the application;

selecting the runtime environment by determining a location scenario of the state portion and the logic portion of the application, wherein the location scenario is at least one of:

the state portion and the logic portion of the application are present on the server;

the state portion is sent to a client device by the server and the logic portion is present on the server;

the logic portion is sent to the client device by the server and the state portion is present on the server; or

the state portion and the logic portion of the application are sent to the client device by the server; and

determining a plurality of runtime environments in which to execute the application at different times, wherein determining the plurality of runtime environments in which to execute the application at different times further comprises copying the state portion and the logic portion of the application from the server to the client device to enable execution of the application without requiring a network connection between the server and the client device.

10. The computer implemented method of claim 9 , wherein selecting the runtime environment further comprises:

determining the state portion of the application will exceed a resources threshold.

11. The computer implemented method of claim 9 , wherein determining the location scenario further comprises:

identifying a connectivity status of the application.

12. The computer implemented method of claim 9 , wherein the plurality of runtime environments includes a runtime environment where the state portion and the logic portion of the application are present on the server.

13. The computer implemented method of claim 9 , wherein the plurality of runtime environments includes a runtime environment where the state portion is present on the server and the logic portion is present on the client device.

14. The computer implemented method of claim 9 , wherein the plurality of runtime environments includes a runtime environment where the state portion is present on the client device and the logic portion is present on the server.

15. The computer implemented method of claim 9 , wherein the plurality of runtime environments includes a runtime environment where the state portion and the logic portion of the application are present on the client device.

16. The computer implemented method of claim 9 , wherein determining the plurality of runtime environments is based on scalability requirements received by the server along with the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2023
From: RADCLIFFE, ANDREW; GARCIA, ANTONIO ANDRADE; PESCOSOLIDO, MARCO; HILLIARD, MATT
To: APPIAN CORPORATION
Reel/Frame 064950/0641 →
Cited By (2)
US 12,393,461 US 12,724,718