IP Library Granted Patent US 10,846,102
Granted Patent B2
US 10,846,102 · App. 16/293,621 · Granted Nov 24, 2020

Loading dependency library files from a shared library repository in an application runtime environment

Inventors: Hai Feng Yao (Shanghai, CN); Jun Ming Guan (Shanghai, CN); Tian Qi Han (Shanghai, CN); Jing Hua Zhu (Shanghai, CN); Yi Fei He (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F9/44521G06F8/36G06F8/433
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,846,102
App. No.
16/293,621
Granted
Nov 24, 2020
Kind
B2
Abstract

Provided are computer program product, system, and method for loading dependency library files from a shared library repository in an application runtime environment. A determination is made of a dependency tree of dependency library files for an application to load into an application runtime environment. A determination is made as to whether a shared library repository includes all the dependency library files in the dependency tree. The shared library repository is updated to include any dependency library files not in the dependency tree of the application. Access is provided to the dependency library files in the shared library repository in the dependency tree in the application runtime environment. The application is started in the application runtime environment in response to providing access to the dependency library files in the application runtime environment.

Claims (34)

1. A computer program product for loading dependency library files for an application, wherein the computer program product comprises a non-transitory computer readable storage medium having computer readable program instructions executed by a processor to perform operations, the operations comprising:

determining whether a dependency variable indicates there is a dependency loader in an application package in response to an operation to load the application in the application package;

in response to determining that the dependency variable indicates there is the dependency loader in the application package, using a dependency parse component to determine a dependency tree of dependency library files for an application to load into an application runtime environment;

determining whether a shared library repository includes all the dependency library files in the dependency tree, wherein the shared library repository includes dependency files shared by different applications in different client machines;

updating the shared library repository to include any dependency library files not in the dependency tree of the application;

providing, by the dependency loader, access to the dependency library files in the shared library repository in the dependency tree in the application runtime environment; and

starting the application in the application runtime environment in response to providing access to the dependency library files in the application runtime environment.

2. The computer program product of claim 1 , wherein the access to the dependency library files are provided in response to at least one of updating the shared library repository to include any dependency library files and determining that the shared library repository includes all the dependency library files.

3. The computer program product of claim 1 , wherein access to the dependency library files in the shared library repository are provided in a plurality of client machines for applications deployed in the client machines to use to access dependency library files in dependency trees of the applications.

4. The computer program product of claim 1 , wherein the providing access to the dependency library files in the shared library repository comprises creating links in the application runtime environment to the dependency library files in the shared library repository that are used to access the dependency library files to run in the application runtime environment.

5. The computer program product of claim 1 , wherein the dependency loader provides access to the dependency library files in the dependency tree by loading the dependency library files in the dependency tree into the application runtime environment for use by the application in the application runtime environment.

6. The computer program product of claim 1 , wherein the application includes an application loader having a build component that provides access to the dependency library files in the dependency tree by creating links to the dependency library files in the shared library repository in the application runtime environment in response to determining that the dependency variable does not indicate there is the dependency loader in the application package, wherein the application will load the dependency library files into the application runtime environment when needed by the application.

7. The computer program product of claim 1 , wherein the dependency parse component parses application runtime dependency information to determine the dependency tree of the dependency library files the application requires to run;

a shared library update component to determine whether the shared library repository includes all the dependency library files in the dependency tree and update the shared library repository to include any dependency library files not in the dependency tree of the application; and

wherein the dependency loader provides links to the dependency library files in the dependency tree for the application in the application runtime environment for use by the application to call the dependency library files.

8. The computer program product of claim 1 , wherein the application runtime environment is implemented in a client machine in communication over a network with a shared system including the shared library repository.

9. A system for loading dependency library files for an application, comprising:

a processor; and

a non-transitory computer readable storage medium having computer readable program instructions that when executed by the processor performs operations, the operations comprising:

determining whether a dependency variable indicates there is a dependency loader in an application package in response to an operation to load the application in the application package;

in response to determining that the dependency variable indicates there is the dependency loader in the application package, using a dependency parse component to determine a dependency tree of dependency library files for an application to load into an application runtime environment;

determining whether a shared library repository includes all the dependency library files in the dependency tree, wherein the shared library repository includes dependency files shared by different applications in different client machines;

updating the shared library repository to include any dependency library files not in the dependency tree of the application;

providing, by the dependency loader, access to the dependency library files in the shared library repository in the dependency tree in the application runtime environment; and

starting the application in the application runtime environment in response to providing access to the dependency library files in the application runtime environment.

10. The system of claim 9 , wherein access to the dependency library files in the shared library repository are provided in a plurality of client machines for applications deployed in the client machines to use to access dependency library files in dependency trees of the applications.

11. The system of claim 10 , wherein the providing access to the dependency library files in the shared library repository comprises creating links in the application runtime environment to the dependency library files in the shared library repository that are used to access the dependency library files to run in the application runtime environment.

12. The system of claim 9 , wherein the application includes an application loader having a build component that provides access to the dependency library files in the dependency tree by creating links to the dependency library files in the shared library repository in the application runtime environment in response to determining that the dependency variable does not indicate there is the dependency loader in the application package, wherein the application will load the dependency library files into the application runtime environment when needed by the application.

13. The system of claim 9 , wherein the dependency parse component parses application runtime dependency information to determine the dependency tree of the dependency library files the application requires to run;

a shared library update component to determine whether the shared library repository includes all the dependency library files in the dependency tree and update the shared library repository to include any dependency library files not in the dependency tree of the application; and

wherein the dependency loader provides links to the dependency library files in the dependency tree for the application in the application runtime environment for use by the application to call the dependency library files.

14. The system of claim 9 , wherein the access to the dependency library files are provided in response to at least one of updating the shared library repository to include any dependency library files and determining that the shared library repository includes all the dependency library files.

15. The system of claim 10 , wherein the runtime dependency loader provides access to the dependency library files in the dependency tree by loading the dependency library files in the dependency tree into the application runtime environment for use by the application in the application runtime environment.

16. The system of claim 9 , wherein the application runtime environment is implemented in a client machine in communication over a network with a shared system including the shared library repository.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: YAO, HAI FENG; GUAN, JUN MING; HAN, TIAN QI; ZHU, JING HUA; HE, YI FEI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048548/0900 →
Continuity (1)
Related Publication 20200285487A1 · Sep 10, 2020
Cited By (1)
US 12,572,371