Dynamic deployment of custom code
First Claim
1. A computer system for, upon request of a requestor of a host application, downloading custom code for execution within the host application, the host application for execution within a host process and the custom code for execution as managed code with the host process, the computer system comprising:
- a memory storing computer-executable instructions of;
a unmanaged custom code loader that, when requested by the requestor, starts execution of a managed code runtime environment and invokes managed code of the managed code runtime environment to download the custom code;
a managed custom code loader that executes within the managed code runtime environment and when invoked by the unmanaged custom code loader component,downloads a manifest for the custom code that specifies components of the custom code and includes information describing how the custom code is to be used;
reports to the requestor progress during the download of the manifest so that additional processing can be performed by the requestor when downloading the manifest;
downloads the custom code in accordance with the downloaded manifest;
verifies trust of the custom code by invoking functionality provided by the requestor;
reports to the requestor progress during the download of the custom code so that additional processing can be performed by the requestor when downloading the custom code; and
launches execution of the custom code as managed code executing within the managed code runtime environment within the host process; and
a component that uninstalls the custom code when requested by the requestor; and
a processor that executes the computer-executable instructions stored in the memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for dynamically downloading custom code for execution within a host application is provided. A deployment system augments the manifest used for deploying managed applications to include information describing how the host application is to use the custom code, referred to as host manifest information. The deployment system reports the progress of the downloading of the manifest and the custom code to the host application. The host application can then perform appropriate host-specific processing. The host application may provide to the deployment system an interface for verifying the trust of the custom code. The deployment system also allows the host application to control the uninstalling of the custom code.
-
Citations
19 Claims
-
1. A computer system for, upon request of a requestor of a host application, downloading custom code for execution within the host application, the host application for execution within a host process and the custom code for execution as managed code with the host process, the computer system comprising:
-
a memory storing computer-executable instructions of; a unmanaged custom code loader that, when requested by the requestor, starts execution of a managed code runtime environment and invokes managed code of the managed code runtime environment to download the custom code; a managed custom code loader that executes within the managed code runtime environment and when invoked by the unmanaged custom code loader component, downloads a manifest for the custom code that specifies components of the custom code and includes information describing how the custom code is to be used; reports to the requestor progress during the download of the manifest so that additional processing can be performed by the requestor when downloading the manifest; downloads the custom code in accordance with the downloaded manifest; verifies trust of the custom code by invoking functionality provided by the requestor; reports to the requestor progress during the download of the custom code so that additional processing can be performed by the requestor when downloading the custom code; and launches execution of the custom code as managed code executing within the managed code runtime environment within the host process; and a component that uninstalls the custom code when requested by the requestor; and a processor that executes the computer-executable instructions stored in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system for downloading custom code for execution within a host application, the host application for execution within a host process and the custom code for execution as managed code within the host process, the computer system comprising:
-
a memory storing computer-executable instructions of; a unmanaged custom code loader that receives from the host application an identification of the custom code, a verify trust interface, and a report progress interface, starts execution of a common language runtime environment for execution of managed code, and invokes the managed code for execution within the common language runtime environment to download the custom code; a managed custom code loader executing as managed code for installing the custom code that receives from the unmanaged custom code loader the identification of the custom code, the verify trust interface, and the report progress interface, downloads a manifest for the identified custom code, the downloaded manifest specifies components of the custom code and includes information describing how the custom code is to be used, reports progress to the host process during the download of the manifest using the report progress interface so that additional processing can be performed by the host process when downloading the manifest, downloads the custom code in accordance with the downloaded manifest, verifies trust of the custom code using the verify trust interface, and reports progress to the host process during the downloading of the custom code using the report progress interface so that additional processing can be performed when downloading the custom code; and launches execution of the custom code as managed code within the common language runtime environment to execute within the host process; and a component that uninstalls custom code that has been previously installed; and a processor that executes the computer-executable instructions stored in the memory. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method in a computer system of downloading custom code for execution within a host application, the host application for execution within a host process and the custom code for execution as managed code within the host process, the method comprising:
-
instantiating within the host process a host custom code deployment manager object (hostCCDM) that provides a verify trust interface and a report progress interface; instantiating within the host process a custom code deployment manager object (CCDM) that is provided with an identification of the custom code, the verify trust interface, and the report progress interface; and controlling by the custom code deployment manager object (CCDM), starting a common language runtime environment for execution of managed code within the host process; downloading a manifest for the custom code, the downloaded manifest specifies components for the custom code and includes information describing how the custom code is to be used, reporting to the custom code deployment manager object (CCDM) progress of the downloading the manifest during the downloading of the manifest using the report progress interface so that additional processing can be performed by the custom code deployment manager object (CCDM) when downloading the manifest, downloading the custom code in accordance with the manifest, reporting to the custom code deployment manager object (CCDM) progress of the downloading the custom code during the downloading of the custom code using the report progress interface so that additional processing can be performed by the custom code deployment manager object (CCDM) when downloading the custom code; and launching execution of the downloaded custom code as managed code within the common language runtime environment within the host process. - View Dependent Claims (18, 19)
-
Specification