Virtual Machine Wake Management via Host OS Packet Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine hibernation techniques lack flexibility and security in waking mechanisms, relying on special-purpose packets or magic packets, and do not consider packet properties like sender, destination, passwords, or sequence numbers for intelligent waking.
Innovation Solution
A system and method where a host operating system decides to wake a hibernating virtual machine based on message properties such as sender, port number, password, cookie, or sequence number, using existing communication protocols like IP packets, and responds to various wake events including hardware faults and interrupts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If special-purpose packets or magic packets are used to wake hibernating virtual machines, then the waking mechanism is simple to implement, but the security and flexibility are insufficient
Solution Approach 1:
The patent changes the parameters used for wake-up decisions from simple packet presence to multiple packet properties including sender identity, destination, password fields, cookie fields, and sequence numbers. This allows the system to evaluate multiple criteria before waking a virtual machine, significantly improving security while maintaining operational simplicity through automated evaluation.
Solution Approach 2:
The patent implements a feedback mechanism where the host operating system evaluates packet properties and makes intelligent decisions about whether to wake hibernating virtual machines. The system receives packets, analyzes their properties against configured criteria, and provides feedback by selectively waking VMs only when appropriate conditions are met, improving both security and flexibility.
2Loss of energy
If existing hibernation techniques are used, then power consumption is reduced during idle periods, but the ability to respond intelligently to different message types is lost
Solution Approach 1:
The patent makes the hibernation wake-up mechanism dynamic by allowing different evaluation criteria to be applied based on the type of message received. The system can adapt its waking behavior depending on whether the packet is a wake-on-LAN packet, an IP packet with specific properties, or other message types, enabling intelligent response while maintaining power savings during actual hibernation.
Solution Approach 2:
The patent creates a universal wake-up evaluation system that can handle multiple types of messages and packets through a single framework. The host operating system evaluates various packet properties (sender, destination, passwords, cookies, sequence numbers) across different message types, providing versatile response capabilities while maintaining the energy-efficient hibernation state.
3Reliability
If packet properties are evaluated for waking decisions, then security and intelligence are improved, but the complexity of the waking mechanism increases
Solution Approach 1:
The patent introduces the host operating system as an intermediary that manages the complexity of evaluating packet properties. Rather than requiring the virtual machine or lower-level components to handle complex evaluation logic, the host OS acts as a mediator that receives packets, evaluates multiple properties against configured criteria, and makes waking decisions, thereby improving security without requiring complex changes in other system components.
Data Source
AI summary
Implementations of the disclosure describe manageable external wake of virtual machines. In one implementation, a method of the disclosure includes receiving, by a processor of a computer system, a message generated by a hardware device of the computer system while a virtual machine that is hosted by the computer system is asleep. The method further includes determining, by the processor, whether to wake the virtual machine in view of a hardware event of the hardware device that generated the message.


