Connection Agent for Virtual Machine Storage Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In traditional virtualization environments, host controllers lack synchronization, leading to disconnect commands being issued despite active virtual machine access, and there is no correlation between logical unit numbers (LUNs) and storage servers, resulting in errors when trying to load virtual machines from unconnected storage servers.
Innovation Solution
A connection agent on the host machine receives configurations from host controllers to manage connections to storage servers, determining when to establish and terminate connections based on usage and rules, ensuring that connections are maintained only when necessary to improve efficiency and user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If host controllers issue disconnect commands to host machines, then storage server connections are terminated, but virtual machines may still be accessing the storage server causing errors
Solution Approach 1:
The system implements feedback mechanisms where host machines report storage access status to host controllers. Before issuing disconnect commands, controllers verify that no virtual machines are actively accessing the storage server. This feedback loop ensures connection termination only occurs when safe, preventing errors while maintaining efficient connection management.
Solution Approach 2:
The patent introduces an intermediary communication protocol between host machines, host controllers, and storage servers. This intermediary layer coordinates disconnect operations by checking access status and sequencing commands appropriately, ensuring that disconnect commands are issued only after confirming no active accesses exist, thus resolving the contradiction between efficient connection management and reliable termination.
2Ease of operation
If host machines establish connections to storage servers for all virtual machines, then virtual machine loading is enabled, but system resource consumption increases
Solution Approach 1:
The system dynamically manages storage connections based on actual virtual machine loading requirements. Instead of maintaining static connections for all virtual machines, the host machine establishes connections only when virtual machines need to be loaded or accessed. This dynamic approach enables full virtual machine loading capability while minimizing system resource consumption by maintaining connections only when necessary.
Solution Approach 2:
The host machine periodically checks for virtual machine loading requirements and establishes connections accordingly. Rather than maintaining continuous connections, the system uses periodic assessment of access needs to determine when connections should be established or terminated, balancing operational capability with resource efficiency.
3Speed
If connections are maintained open for future virtual machine access, then connection establishment time is reduced, but system resources are consumed unnecessarily
Solution Approach 1:
The system performs preliminary checks to determine future access requirements before maintaining connections open. By anticipating virtual machine loading needs based on scheduled operations or access patterns, the system can proactively establish connections in advance when beneficial, while avoiding unnecessary connection maintenance when no future access is planned, thus balancing speed improvement with resource conservation.
Data Source
AI summary
A host machine executing a connection agent receives a configuration identifying a set of connections to a plurality of storage servers. The host machine later receives a command to run a virtual machine. The host machine determines, based on the configuration, a particular connection of the set of connections to a particular storage server of the plurality of storage servers, the particular connection enabling access to data associated with the virtual machine that is stored by the particular storage server. The host machine then establishes the particular connection to the particular storage server without first receiving a command to establish the particular connection.


