IP Library Granted Patent US 10,901,774
Granted Patent B2
US 10,901,774 · App. 16/396,333 · Granted Jan 26, 2021

Virtual module-based ultra-lazy installation for modular systems

Inventors: Graham C. Charters (Southampton, GB); David J. Vines (Romsey, GB); Timothy J. Ward (Southampton, GB)
Assignee: International Business Machines Corporation
G06F9/45558G06F8/36G06F8/61G06F8/65G06F2009/45562
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 10,901,774
App. No.
16/396,333
Granted
Jan 26, 2021
Kind
B2
Abstract

A virtual runtime module that omits an internal functional implementation of an associated executable module and that includes a runtime-resolvable public interface of the associated executable module is obtained using a processor within a module-based system. The virtual runtime module within the module-based system is resolved, using the runtime-resolvable public interface of the virtual runtime module, to satisfy dependencies associated with the executable module within the module-based system. At least a portion of the internal functional implementation of the associated executable module within the module-based system is installed during runtime using the resolved virtual runtime module.

Claims (57)

1. A method, comprising:

creating, via a processor within a module-based system, a virtual runtime module that omits an internal functional implementation of an associated executable module and that comprises a runtime-resolvable public interface of the associated executable module, wherein the virtual runtime module is created as soon as metadata that defines the runtime-resolvable public interface is downloaded from the associated executable module;

resolving, using the runtime-resolvable public interface of the virtual runtime module, the virtual runtime module within the module-based system to satisfy dependencies associated with the executable module within the module-based system; and

installing, during runtime using the resolved virtual runtime module, at least a portion of the internal functional implementation of the associated executable module within the module-based system.

2. The method of claim 1 , where the resolved virtual runtime module is within the module-based system instead of the executable module upon resolution of the virtual runtime module within the module-based system.

3. The method of claim 1 , where installing, during runtime using the resolved virtual runtime module, at least the portion of the internal functional implementation of the associated executable module within the module-based system comprises:

downloading the executable module as a background operation during runtime; and

replacing the virtual runtime module with the downloaded executable module during runtime.

4. The method of claim 1 , where installing, during runtime using the resolved virtual runtime module, at least the portion of the internal functional implementation of the associated executable module within the module-based system comprises:

receiving, in association with the virtual runtime module, a system-level request to access at least one portion of the internal functional implementation of the executable module;

determining which internal resources of the internal functional implementation of the executable module are accessed by the system-level request;

downloading the determined internal resources of the internal functional implementation of the executable module; and

adding the internal resources of the internal functional implementation of the executable module associated with the request to the virtual runtime module.

5. The method of claim 4 , where the virtual runtime module further comprises a proxy layer that communicates with a module repository and where:

downloading the determined internal resources of the internal functional implementation of the executable module comprises initiating, via the proxy layer of the virtual runtime module, the download of the determined internal resources of the internal functional implementation of the executable module from the module repository; and

adding the internal resources of the internal functional implementation of the executable module associated with the request to the virtual runtime module comprises:

receiving, at the proxy layer of the virtual runtime module, the internal resources of the internal functional implementation of the executable module; and

adding, via the proxy layer, the internal resources of the internal functional implementation of the executable module to the virtual runtime module.

6. A system, comprising:

a memory; and

a processor programmed to:

create, within a module-based system, a virtual runtime module that omits an internal functional implementation of an associated executable module and that comprises a runtime-resolvable public interface of the associated executable module wherein the virtual runtime module is created as soon as metadata that defines the runtime-resolvable public interface is downloaded from the associated executable module;

resolve, using the runtime-resolvable public interface of the virtual runtime module, the virtual runtime module within the module-based system to satisfy dependencies associated with the executable module within the module-based system; and

install, within the memory during runtime using the resolved virtual runtime module, at least a portion of the internal functional implementation of the associated executable module within the module-based system.

7. The system of claim 6 , where the resolved virtual runtime module is within the module-based system instead of the executable module upon resolution of the virtual runtime module within the module-based system.

8. The system of claim 6 , where in being programmed to install, within the memory during runtime using the resolved virtual runtime module, at least the portion of the internal functional implementation of the associated executable module within the module-based system, the processor is programmed to:

download the executable module as a background operation during runtime; and

replace the virtual runtime module with the downloaded executable module during runtime.

9. The system of claim 6 , where in being programmed to install, within the memory during runtime using the resolved virtual runtime module, at least the portion of the internal functional implementation of the associated executable module within the module-based system, the processor is programmed to:

receive, in association with the virtual runtime module, a system-level request to access at least one portion of the internal functional implementation of the executable module;

determine which internal resources of the internal functional implementation of the executable module are accessed by the system-level request;

download the determined internal resources of the internal functional implementation of the executable module; and

add the internal resources of the internal functional implementation of the executable module associated with the request to the virtual runtime module.

10. The system of claim 9 , where the virtual runtime module further comprises a proxy layer that communicates with a module repository and where, in being programmed to:

download the determined internal resources of the internal functional implementation of the executable module, the processor is programmed to initiate, via the proxy layer of the virtual runtime module, the download of the determined internal resources of the internal functional implementation of the executable module from the module repository; and

add the internal resources of the internal functional implementation of the executable module associated with the request to the virtual runtime module, the processor is programmed to:

receive, at the proxy layer of the virtual runtime module, the internal resources of the internal functional implementation of the executable module; and

add, via the proxy layer, the internal resources of the internal functional implementation of the executable module to the virtual runtime module.

11. A computer program product, comprising:

a computer readable storage medium having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to:

create, within a module-based system, a virtual runtime module that omits an internal functional implementation of an associated executable module and that comprises a runtime-resolvable public interface of the associated executable module wherein the virtual runtime module is created as soon as metadata that defines the runtime-resolvable public interface is downloaded from the associated executable module;

resolve, using the runtime-resolvable public interface of the virtual runtime module, the virtual runtime module within the module-based system to satisfy dependencies associated with the executable module within the module-based system; and

install, during runtime using the resolved virtual runtime module, at least a portion of the internal functional implementation of the associated executable module within the module-based system.

12. The computer program product of claim 11 , where the resolved virtual runtime module is within the module-based system instead of the executable module upon resolution of the virtual runtime module within the module-based system.

13. The computer program product of claim 11 , where in causing the computer to install, during runtime using the resolved virtual runtime module, at least the portion of the internal functional implementation of the associated executable module within the module-based system, the computer readable program code when executed on the computer causes the computer to:

download the executable module as a background operation during runtime; and

replace the virtual runtime module with the downloaded executable module during runtime.

14. The computer program product of claim 11 , where in causing the computer to install, during runtime using the resolved virtual runtime module, at least the portion of the internal functional implementation of the associated executable module within the module-based system, the computer readable program code when executed on the computer causes the computer to:

receive, in association with the virtual runtime module, a system-level request to access at least one portion of the internal functional implementation of the executable module;

determine which internal resources of the internal functional implementation of the executable module are accessed by the system-level request;

download the determined internal resources of the internal functional implementation of the executable module; and

add the internal resources of the internal functional implementation of the executable module associated with the request to the virtual runtime module.

15. The computer program product of claim 14 , where the virtual runtime module further comprises a proxy layer that communicates with a module repository and where in causing the computer to:

download the determined internal resources of the internal functional implementation of the executable module, the computer readable program code when executed on the computer causes the computer to initiate, via the proxy layer of the virtual runtime module, the download of the determined internal resources of the internal functional implementation of the executable module from the module repository; and

add the internal resources of the internal functional implementation of the executable module associated with the request to the virtual runtime module, the computer readable program code when executed on the computer causes the computer to:

receive, at the proxy layer of the virtual runtime module, the internal resources of the internal functional implementation of the executable module; and

add, via the proxy layer, the internal resources of the internal functional implementation of the executable module to the virtual runtime module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2019
From: CHARTERS, GRAHAM C.; VINES, DAVID J.; WARD, TIMOTHY J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049010/0815 →
Continuity (3)
Continuation 15131858 · Apr 18, 2016
Continuation 13661820 · Oct 26, 2012
Related Publication 20190250943A1 · Aug 15, 2019