Java Library Integration for File Descriptor Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a Java execution environment, the consumption of file descriptors increases with the number of libraries used, leading to performance issues and instability, especially in embedded devices with limited resources, as conventional techniques fail to manage library usage effectively.
Innovation Solution
An information processing apparatus and method that integrates multiple libraries into a single integrated library, reducing the number of libraries accessed by the class loader, thereby minimizing file descriptor consumption and optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple libraries are used to provide more functions and enhance software, then the functionality and versatility of the system is improved, but the number of file descriptors consumed increases, leading to resource exhaustion and system instability
Solution Approach 1:
The patent merges multiple JAR library files into a single integrated JAR file. The class loader opens this single integrated library instead of multiple separate libraries, reducing file descriptor consumption from N descriptors (one per library) to just one descriptor, while still providing access to all classes from the original multiple libraries
Solution Approach 2:
The integrated JAR file serves as a universal container that consolidates the functionality of multiple separate libraries. A single file descriptor to this integrated library provides access to classes that were previously distributed across multiple libraries, making the system both more versatile and more resource-efficient
2Ease of operation
If libraries are kept separate to maintain modularity and enable direct access, then the ease of operation and flexibility is improved, but the number of opened libraries increases, consuming more file descriptors and affecting processing activation
Solution Approach 1:
Multiple separate library files are merged into a single integrated JAR file, reducing the number of file open operations from multiple to one, thereby improving processing activation while maintaining the ability to access all necessary classes
3Quantity of substance
If libraries are integrated into fewer files to reduce file descriptor consumption, then resource usage is optimized, but the complexity of managing library integration increases
Solution Approach 1:
The library integration is performed in advance during system initialization or deployment, creating a single integrated JAR file that contains all necessary classes. This preliminary action eliminates the need for complex runtime library management, as the class loader simply needs to open and search one pre-integrated file
Data Source
AI summary
As a portion of processing for activation an apparatus or when an application is installed, a Lib management module determines whether there is a plurality of libraries in a setting of a class path, and, in a case of determining that a plurality of libraries are set, expands the set libraries, and after integrating them as a new library, sets the newly generated library as the class path. In addition, the Lib management module deletes libraries that are included in the library after the integration except for those that are directly accessed.


