Version-resilient loader for custom code runtimes
First Claim
1. A computing system for dynamically identifying and loading a version of a runtime for custom code, the custom code for execution within a host process of a host application, the computing system comprising:
- a memory storing computer-executable instructions of;
a host application that hosts custom code for execution within the host process; and
a loader component for execution within the host process that;
receives from the host application executing within the host process a request to load custom code identified by a custom code identifier;
executes an algorithm that identifies a version of a runtime for the custom code, the algorithmcollects system information including information relating to different versions of the runtime that are available to be loaded and executed within the host process; and
identifies, based on the system information, a version of the runtime to load;
loads the identified version of the runtime for execution within the host process;
requests a load component of the loaded version of the runtime to load the custom code identified by the custom code identifier; and
invokes the loaded custom code for execution within the host process of the host application as hosted custom code so that different runtimes are loaded into the hosted application depending of the version of the runtime needed by each custom code;
wherein the loader component is dynamically linked to the host application so that the algorithm that identifies the version of the runtime can be modified without modifying the host application andwherein the components are stored in a dynamic-link library anda processor that executes the computer-executable instructions stored in the memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.
-
Citations
14 Claims
-
1. A computing system for dynamically identifying and loading a version of a runtime for custom code, the custom code for execution within a host process of a host application, the computing system comprising:
-
a memory storing computer-executable instructions of; a host application that hosts custom code for execution within the host process; and a loader component for execution within the host process that; receives from the host application executing within the host process a request to load custom code identified by a custom code identifier; executes an algorithm that identifies a version of a runtime for the custom code, the algorithm collects system information including information relating to different versions of the runtime that are available to be loaded and executed within the host process; and identifies, based on the system information, a version of the runtime to load; loads the identified version of the runtime for execution within the host process; requests a load component of the loaded version of the runtime to load the custom code identified by the custom code identifier; and invokes the loaded custom code for execution within the host process of the host application as hosted custom code so that different runtimes are loaded into the hosted application depending of the version of the runtime needed by each custom code; wherein the loader component is dynamically linked to the host application so that the algorithm that identifies the version of the runtime can be modified without modifying the host application and wherein the components are stored in a dynamic-link library and a processor that executes the computer-executable instructions stored in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable memory embedded with computer-readable instructions for controlling a computing system to load custom code, the custom code for providing customization of a host application, the custom code using a runtime that supports the customization of the host application, by a method comprising:
-
under control of the host application executing within a host process as unmanaged code, loading a custom code loader proxy for execution within the host process of the host application as unmanaged code, wherein the custom code loader proxy is stored in a dynamic-link library; and requesting the loaded custom code loader proxy to load the custom code; under control of the custom code loader proxy executing within the host process, identifying a version of the runtime that is compatible with the host application and the custom code to be loaded; loading the identified version of the runtime for execution within the host process; and requesting an unmanaged custom code loader of the loaded runtime to load the custom code; under control the unmanaged custom code loader of the runtime executing within the host process as unmanaged code, starting execution of the runtime for execution of managed code; requesting a managed custom code loader of the runtime to load the custom code; under control of the managed custom code loader of the loaded runtime executing within the host process as managed code, loading the custom code for execution with the host process as managed code; and under control of the custom code executing within the host process as managed code, using services provided by the runtime to effect customization of the host application. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification