Virtualized I/O Power Manager for Shared Device Suspension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized execution environments with multiple virtual machines or containers, existing power management systems for I/O devices, such as USB devices, face challenges in efficiently managing power consumption and preventing data loss or corruption due to incorrect Link Power Management (LPM) practices, especially when devices are shared among multiple operating systems.
Innovation Solution
A power management system that includes a power manager within the virtualization service to receive requests from guest operating systems to suspend or resume virtualized I/O devices, ensuring that devices are only powered down when not in use by any OS, and broadcasting these changes to all affected OSes, thereby optimizing power usage and preventing data issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If I/O devices are virtualized for shared usage by multiple OSes in a VEE, then device utilization and system versatility are improved, but power management complexity and risk of data loss increase
Solution Approach 1:
The patent introduces a power manager as an intermediary component that mediates between multiple guest OSes and the physical I/O devices. This power manager tracks usage states of devices across different OSes and makes coordinated power management decisions, preventing direct conflicts while enabling shared device access. The intermediary resolves the complexity by centralizing the decision-making logic.
Solution Approach 2:
The patent implements feedback mechanisms where the power manager continuously monitors device usage states reported by guest OSes. When an OS releases a device, the power manager receives feedback about this state change and uses it to determine when it's safe to suspend the device. This closed-loop feedback system enables dynamic power management in shared environments.
2Loss of energy
If I/O devices are suspended to save power, then energy consumption is reduced, but data loss or corruption may occur due to incorrect LPM practices
Solution Approach 1:
The patent applies preliminary action by having the power manager verify device usage status before initiating suspension. The system checks whether any guest OS currently holds the device or expects to use it soon. This preliminary verification prevents premature suspension that could cause data loss, ensuring power saving actions are taken only when safe.
Solution Approach 2:
The power manager receives feedback from guest OSes about device usage states and uses this information to make informed suspension decisions. When an OS indicates it is using a device or expects to use it, the power manager receives feedback that prevents suspension. This feedback mechanism ensures data integrity is maintained while enabling power saving when appropriate.
3Loss of energy
If centralized power management is implemented in VEE, then power consumption optimization is improved, but system complexity and overhead increase
Solution Approach 1:
The patent merges power management functionality into the virtualization service layer, combining device tracking, usage monitoring, and suspension/resume decisions in a single integrated power manager. This consolidation optimizes platform-wide power consumption by coordinating decisions across multiple guest OSes while avoiding the complexity of separate power management systems in each OS.
Solution Approach 2:
The power manager serves multiple functions: it tracks device usage states from different guest OSes, makes suspension decisions, communicates with both host and guest systems, and coordinates resume operations. This multi-functional design optimizes power consumption across the entire platform while implementing a single unified management system rather than multiple specialized components.
Data Source
AI summary
In embodiments, at least one computer-readable medium (CRM) includes a plurality of instructions to cause a computing device, in response to execution of the instructions, to operate a power manager to: receive a request from a first operating system (OS) of a virtualized execution environment (VEE) of the computing device to suspend a first input/output (I/O) device of the computing device. The computing device has a plurality of I/O ports for receiving a plurality of I/O devices including the first I/O device. The plurality of I/O ports are virtualized for a plurality of OSes of the VEE, including the first OS. In response to the receipt, the power manager conditionally suspends the first I/O device if no other guest OS of the VEE is using the first I/O device. Other embodiments are also described and claimed.


