Bytecode Insertion for Per-Application Memory Measurement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-function peripherals (MFPs), it is challenging to measure the memory usage of each application when multiple applications are executed on a single process without modifying the existing applications, as the total memory usage is known but individual usage is difficult to determine.
Innovation Solution
An information processing apparatus and method that inserts bytecode into a class file to tally resource usage information for each application, allowing for registration and storage of resource usage data, enabling measurement of memory usage for each application without modifying existing applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If multiple applications are executed on a single process to suppress CPU and memory usage, then resource efficiency is improved, but the ability to measure individual application memory usage deteriorates
Solution Approach 1:
The patent segments the monitoring function by inserting separate bytecode instructions into each application's class file. Each application has its own bytecode that independently tallies memory usage information, allowing individual measurement while running on a shared process. The tallying unit then processes these segmented measurements to provide per-application memory usage data.
2Measurement precision
If existing applications are modified to perform memory usage measurement, then measurement capability is improved, but application complexity and modification requirements worsen
Solution Approach 1:
The patent introduces bytecode as an intermediary layer between the existing applications and the memory measurement function. Instead of modifying application logic directly, bytecode instructions are inserted into class files to act as mediators that automatically tally memory usage. This intermediary approach enables measurement capability without requiring changes to application source code or increasing application complexity.
3Measurement precision
If bytecode is inserted into class files to tally resource usage, then individual application measurement is improved, but system complexity worsens
Solution Approach 1:
The patent performs preliminary action by inserting bytecode into class files before the applications are executed. The bytecode insertion is done in advance during system setup or application loading, so that when applications run, the measurement functionality is already embedded and automatic. This preliminary preparation reduces the complexity of real-time measurement implementation.
Data Source
AI summary
An information processing apparatus comprises: an insertion unit that inserts, into a class file that corresponds to one application, a first bytecode for tallying information about a resource used by an object generated by execution of a bytecode that is included in the class file; and a tallying unit that, if an application generates an object, tallies information about a resource used by the object generated by the application, wherein the one application that has executed the first bytecode is identified by execution of the first bytecode, the one application thus identified and information about a resource used by a generated object are registered to a storage unit in association with each other, and the tallying unit tallies a resource usage amount for each application based on the information registered to the storage unit.


