Virtual Machine Code Memory Optimization via Extraneous Data Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine code requires significant memory resources, especially in memory-constrained devices like PDAs and smartphones, necessitating efficient memory optimization techniques to enhance software performance.
Innovation Solution
The method involves partitioning extraneous information from executable code, storing it separately, and using a key to lazily load it only when needed, thereby reducing memory footprint while maintaining accessibility for debugging and other processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If extraneous information is included in virtual machine code, then debugging and other processes can access the information, but memory footprint increases
Solution Approach 1:
The patent segments virtual machine code into two distinct parts: executable code and extraneous information (such as debug symbols, source code, and metadata). This segmentation allows the system to load only the essential executable code into memory, while storing extraneous information separately. When debugging or other processes require access to extraneous information, the system can retrieve it from external storage without permanently loading it into memory, thus resolving the contradiction between maintaining debuggability and reducing memory footprint.
Solution Approach 2:
The patent extracts extraneous information from the virtual machine code package and stores it separately in external storage. The executable code retains only minimal references to the extraneous information. This extraction enables the system to eliminate unnecessary data from the memory-resident code, significantly reducing the memory footprint while preserving the ability to access extraneous information when needed for debugging or analysis purposes.
2Adaptability or versatility
If all code information is loaded into memory, then complete functionality is available, but performance degrades in memory-constrained systems
Solution Approach 1:
The patent implements a dynamic memory management strategy where the system adapts its memory usage based on runtime requirements. Essential executable code remains permanently loaded in memory for continuous execution, while extraneous information is dynamically loaded from external storage only when required by debugging tools or analysis processes. This dynamic approach ensures that the system maintains complete functionality when needed while optimizing memory usage during normal execution, thereby improving performance in memory-constrained environments.
Solution Approach 2:
The patent applies local quality by differentiating between code sections that require constant memory residency (executable instructions) and those that can be stored externally (extraneous information). By assigning different storage characteristics to different parts of the code based on their specific requirements, the system achieves both complete functionality and improved performance, as only the critical executable portion occupies precious memory resources while extraneous information resides in external storage.
Data Source
AI summary
A method, computer program product, and system for memory optimization by partitioning extraneous information from executable virtual machine code or interpreted code. The extraneous information may be stored separately, or accessed from the original code if needed for debugging or servicing the code in the field. This approach optimizes memory usage by reducing memory footprint while maintaining accessibility of the non-executable information for debugging and other processes necessary for servicing code in the field.


