JIT Compilation Offloading to Trusted Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Resource-constrained wireless devices face performance issues due to the resource-intensive JIT compilation of platform-independent code, which consumes limited resources such as memory and processing power, leading to lag times and inefficient execution of applications.
Innovation Solution
Offloading the JIT compilation of bytecode from resource-constrained devices to more capable devices like trusted servers, utilizing Ahead-of-Time compilation, and transporting the resulting native code back to the handheld device for execution via RDMA/SOAP, thereby freeing up device resources and optimizing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If JIT compilation is performed on resource-constrained wireless devices, then platform-independent code can be executed on the device, but device resources (memory and processing power) are consumed and execution performance deteriorates
Solution Approach 1:
The patent extracts the JIT compilation function from the resource-constrained wireless device and relocates it to a server environment. The device's runtime environment sends bytecode to a server, which performs the compilation and returns native code to the device for execution. This separation removes the resource-intensive compilation process from the mobile device while maintaining the ability to execute platform-independent code.
Solution Approach 2:
The patent introduces a server as an intermediary between the wireless device and the code execution environment. The server acts as a mediator that receives bytecode from the device, performs JIT compilation, and returns optimized native code. This intermediary handles the resource-intensive tasks that would otherwise burden the mobile device's limited resources.
2Extent of automation
If JIT compilation is performed on wireless devices, then code can be compiled at load time, but resource constraints lead to lag times
Solution Approach 1:
The patent implements preliminary action by having the server perform JIT compilation in advance before the code is executed on the wireless device. The compilation process is completed beforehand on the server, and the resulting native code is transmitted to the device ready for immediate execution, eliminating compilation-related lag times during device operation.
Solution Approach 2:
The server intermediary accelerates the compilation process by performing it in a high-performance environment with adequate resources. This mediator handles the time-consuming compilation task efficiently and returns the results quickly to the device, reducing the perceived lag time for the user.
3Ease of operation
If device resources are used for JIT compilation, then code generation can be performed locally, but device memory and processing power are depleted
Solution Approach 1:
The patent extracts the code generation function from the wireless device and relocates it to a server. The device's runtime environment maintains the ability to initiate and receive compiled code, but the actual compilation process is performed externally on the server where resources are abundant, preserving the device's limited memory and processing power for other tasks.
Solution Approach 2:
The patent uses copying by transmitting bytecode from the device to the server, having the server create the native code copy, and then transferring the compiled result back to the device for execution. This copying approach allows the device to benefit from server-side compilation without permanently hosting the compilation infrastructure.
Data Source
AI summary
A method for off loading resource intensive compilations is disclosed. The method may include enabling a user of a wireless handheld device to request a platform independent application. The wireless handheld device may be enabled to assess a resource on the wireless handheld device and to determine whether to request native code for the platform independent application. The method may also include enabling the requested platform independent application to be routed to a trusted server. The trusted server may compile the platform independent application into native code for the wireless handheld device and may transport the native code to the wireless handheld device for execution.


