Mobile and remote runtime integration
AssigneeAmazon Technologies, Inc.
InventorsMarco Argenti, Khawaja Salman Shams
Life of this patent
Estimating the term…
Abstract
An application program may be analyzed to identify candidate classes or methods that may be executed using a remote computing node. Candidate classes or methods may be translocated to the remote computing node based on performance characteristics of the device on which the application program is running, the environment in which the device operates, and on the performance and availability of the remote computing node. An application program publisher may be assigned instances of virtual machines that may be dedicated to hosting translocated classes and methods.
Claims20
A system, comprising:
- at least one processor;
- at least one memory having stored thereon instructions that, upon execution by the at least one processor, cause the system at least to:
- determine to execute a first portion of an application program remotely, based at least in part on analyzing a chain of dependencies of the first portion of the application program, the chain of dependencies comprising dependencies on other portions of the application program and dependencies external to the application program, wherein at least a second portion of the application program is executed on the system;
- synchronize, with a computing node, to reconcile state changes of data referenced during execution of the first portion;
- and
- cause the first portion of the application program to be executed on the computing node and not on the system.
A method, comprising:
- providing copies of an application program to a plurality of devices, wherein a plurality of portions of the application program are candidates for remote execution;
- reserving computing resources for remotely executing the plurality of portions of the application program, based at least in part on a proportion of a first type of device, of the plurality of devices, to a second type of device;
- and
- executing a portion, of the plurality of portions of the application program, on the reserved computing resources, wherein the portion is selected at runtime of the application program on one of the plurality of devices, the portion selected based at least in part on an analysis of a chain of dependencies on the portion of the application program.
A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:
- determine to execute a portion of an application program remotely, based at least in part on analyzing a chain of dependencies of the portion of the application program, the chain of dependencies comprising dependencies on other portions of the application program and dependencies external to the application program;
- synchronize, with a computing node, the state of data referenced during execution of the portion;
- and
- receive information indicative of a result of executing the portion of the application program on the computing node;
- and
- continue execution of the application program after the portion has been remotely executed based on the state of the synchronized state of the data.
Dependencies are inferred from the claim text.