Application Code Injection for Selective Hardware Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization methods for computer systems lead to performance degradation due to unnecessary resource consumption, as all hardware resources are virtualized, even if not needed, resulting in increased overhead and slower application execution.
Innovation Solution
A method where an executable piece of code is injected into each application to selectively virtualize only the required hardware resources, intercepting API calls to manage data flow and generate virtualized resources on demand, reducing unnecessary virtualization and resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all hardware resources are virtualized to enable concurrent execution of multiple operating systems, then system versatility is improved, but system performance deteriorates due to increased overhead and resource consumption
Solution Approach 1:
The patent segments the virtualization process by injecting separate code modules into individual applications rather than virtualizing the entire system. Each application receives only the specific hardware resource virtualization it needs, dividing the monolithic virtualization approach into fine-grained, application-specific segments that reduce overall system overhead while maintaining versatility.
2Adaptability or versatility
If virtualization software is installed to emulate hardware resources for multiple operating systems, then adaptability is improved, but device complexity increases due to the additional virtualization layer
Solution Approach 1:
The patent extracts the virtualization functionality from a separate virtualization software layer and integrates it directly into individual applications through code injection. This removes the need for a comprehensive virtualization software installation, reducing system complexity while maintaining the adaptability to support multiple operating systems through application-specific virtualization.
3Productivity
If code is injected into each application to selectively virtualize hardware resources, then productivity is improved by reducing overhead, but device complexity increases due to the injection mechanism
Solution Approach 1:
The patent implements self-service virtualization where each application receives code injection that enables it to selectively virtualize only the hardware resources it specifically requires. This self-service approach allows applications to autonomously manage their own virtualization needs, improving execution speed by eliminating unnecessary virtualization overhead while the injection mechanism complexity is managed through automated, application-specific code insertion.
Data Source
Figure 1
Figure 2
AI summary
The invention relates to a method for the virtualization of a hardware resource associated with a computer system by an executable piece of code adapted for being injected into a process belonging to an application that is executed on an operating system comprising at least one API that is executed on the computer system. The method comprises: intercepting a call from the process to an API service related with the management of the data flow produced between the process and the hardware resource; and managing the data flow produced between the process and the hardware resource by the piece of code on the basis of the interception of the call from the process to the API service related with the management of the data flow produced between the process and the hardware resource.