IP Library Granted Patent US 10,318,327
Granted Patent B2
US 10,318,327 · App. 15/131,858 · Granted Jun 11, 2019

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,318,327
App. No.
15/131,858
Granted
Jun 11, 2019
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 (64)

1. A method, comprising:

obtaining, via a processor within a module-based system, a virtual runtime module that (i) omits an internal functional implementation of an associated executable module that is configured to be used to install portions of the omitted internal functional implementation into the virtual runtime module during runtime and that (ii) comprises a same runtime-resolvable public interface as 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;

installing, during runtime from the executable module into the resolved virtual runtime module, at least a portion of the omitted internal functional implementation of the executable module to establish at least partial in-system executable functionality of the executable module within the resolved virtual runtime module in the module-based system; and

reverting to a virtual implementation, during the runtime, that again omits at least the portion of the internal functional implementation of the executable module installed into the resolved virtual runtime module during the runtime.

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 a module repository creates virtual modules that omit internal functional implementations of associated executable modules and where obtaining, via the processor within the module-based system, the virtual runtime module comprises:

requesting the virtual runtime module from the module repository; and

receiving the virtual runtime module from the module repository.

4. The method of claim 1 , further comprising:

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

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

5. The method of claim 1 , where installing, during runtime from the executable module into the resolved virtual runtime module, at least the portion of the omitted internal functional implementation of the executable module comprises:

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

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

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

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

6. The method of claim 5 , where the resolved virtual runtime module further comprises a module migration proxy layer that communicates with a module repository to migrate internal functional implementations of executable modules and where:

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

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

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

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

7. A system, comprising:

a memory; and

a processor programmed to:

obtain, within a module-based system, a virtual runtime module that (i) omits an internal functional implementation of an associated executable module that is configured to be used to install portions of the omitted internal functional implementation into the virtual runtime module during runtime and that (ii) comprises a same runtime-resolvable public interface as 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;

install, within the memory during runtime from the executable module into the resolved virtual runtime module, at least a portion of the omitted internal functional implementation of the executable module to establish at least partial in-system executable functionality of the executable module within the resolved virtual runtime module in the module-based system; and

revert to a virtual implementation, during the runtime, that again omits at least the portion of the internal functional implementation of the executable module installed into the resolved virtual runtime module during the runtime.

8. The system of claim 7 , 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.

9. The system of claim 7 , where a module repository creates virtual modules that omit internal functional implementations of associated executable modules and where in being programmed to obtain, within the module-based system, the virtual runtime module, the processor is programmed to:

request the virtual runtime module from the module repository; and

receive the virtual runtime module from the module repository.

10. The system of claim 7 , where the processor is further programmed to:

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

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

11. The system of claim 7 , where in being programmed to install, within the memory during runtime from the executable module into the resolved virtual runtime module, at least the portion of the omitted internal functional implementation of the executable module, the processor is programmed to:

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

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

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

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

12. 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:

obtain, within a module-based system, a virtual runtime module that (i) omits an internal functional implementation of an associated executable module that is configured to be used to install portions of the omitted internal functional implementation into the virtual runtime module during runtime and that (ii) comprises a same runtime-resolvable public interface as 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;

install, during runtime from the executable module into the resolved virtual runtime module, at least a portion of the omitted internal functional implementation of the executable module to establish at least partial in-system executable functionality of the executable module within the resolved virtual runtime module in the module-based system; and

revert to a virtual implementation, during the runtime, that again omits at least the portion of the internal functional implementation of the executable module installed into the resolved virtual runtime module during the runtime.

13. The computer program product of claim 12 , 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.

14. The computer program product of claim 12 , where a module repository creates virtual modules that omit internal functional implementations of associated executable modules and where in causing the computer to obtain, within the module-based system, the virtual runtime module, the computer readable program code when executed on the computer causes the computer to:

request the virtual runtime module from the module repository; and

receive the virtual runtime module from the module repository.

15. The computer program product of claim 12 , where the computer readable program code when executed on the computer further causes the computer to:

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

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

16. The computer program product of claim 12 , where in causing the computer to install, during runtime from the executable module into the resolved virtual runtime module, at least the portion of the omitted internal functional implementation of the executable module, the computer readable program code when executed on the computer causes the computer to:

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

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

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

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

17. The computer program product of claim 16 , where the resolved virtual runtime module further comprises a module migration proxy layer that communicates with a module repository to migrate internal functional implementations of executable modules and where in causing the computer to:

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

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

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

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: CHARTERS, GRAHAM C.; VINES, DAVID J.; WARD, TIMOTHY J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038309/0090 →
Continuity (2)
Continuation 13661820 · Oct 26, 2012
Related Publication 20160232028A1 · Aug 11, 2016