Hierarchical Virtual Storage VMs for High Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual server environments face reliability issues due to the susceptibility of virtual machines (VMs) executing storage operating systems, which can introduce single points of failure and affect overall storage system reliability and availability.
Innovation Solution
Implementing a redundant array of storage access servers (RASAS) with mirroring, striping, or erasure coding configurations to ensure data reliability and high-availability, where storage transaction servers route sub-requests to multiple storage access servers for data redundancy and automatic failure recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a VM executes a storage operating system, then storage functions can be rapidly cloned and deployed, but the VM becomes a single point of failure affecting all storage functions
Solution Approach 1:
The patent segments the storage operating system functionality into multiple separate VMs, each responsible for a specific storage function (storage function VMs) rather than consolidating all functions in a single VM. This segmentation allows individual functions to fail independently without causing system-wide failure, while maintaining the rapid deployment benefits of virtualization.
Solution Approach 2:
The patent introduces a hierarchical dimension to the storage architecture by organizing VMs into different levels: storage function VMs at the functional level and storage management VMs at the management level. This dimensional organization allows for granular failure isolation at the functional level while maintaining centralized management capabilities.
2Device complexity
If storage functions are consolidated in a single VM, then system complexity is reduced, but failure of one function causes failure of all storage functions
Solution Approach 1:
The patent divides the consolidated storage operating system into multiple segmented VMs, each handling a specific storage function. This segmentation increases structural complexity slightly but dramatically improves reliability by ensuring that failures are isolated to individual function VMs rather than propagating across all storage functions.
Solution Approach 2:
The patent introduces storage management VMs as intermediary components that coordinate between the segmented storage function VMs and the external environment. These intermediary VMs provide a layer of abstraction that manages the increased complexity while enabling independent failure domains.
3Reliability
If multiple VMs are used for storage functions, then failure isolation is improved, but system complexity and coordination overhead increase
Solution Approach 1:
The patent merges the coordination and management functions into dedicated storage management VMs that handle multiple storage function VMs. This merging approach consolidates the coordination overhead into specialized management components rather than distributing complex coordination logic across all VMs, thereby improving failure isolation while managing system complexity.
Solution Approach 2:
The storage management VMs are designed with multi-functionality, capable of managing multiple different storage function VMs and handling various storage operations. This universality reduces the need for specialized coordination mechanisms for each individual storage function, thereby reducing overall system complexity while maintaining reliable failure isolation.
Data Source
AI summary
Described herein is a high-availability storage system having hierarchical levels of storage functions. The storage system may comprise one or more hierarchical levels, each hierarchical level comprising physical servers and be assigned to perform a particular set of storage functions. Each physical server may implement one or more VMs configured to perform only the set of storage functions assigned to the hierarchical level on which the VM executes. VMs of a first hierarchical level may be configured to organize the VMs of a second hierarchical level into a redundant array of storage access servers for providing data reliability and high-availability of the storage system. VMs of a first hierarchical level are configured to produce and route sub-requests to the VMs of a second hierarchical level. Failure of a sub-request is detected and remedied by a VM of the first hierarchical level.


