Virtual Storage Controller Failover via Protocol Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization environments, existing systems lack efficient mechanisms to handle I/O commands when a local service virtual machine becomes unresponsive, leading to potential data access failures and performance degradation.

Innovation Solution

A virtual storage controller that translates I/O commands from a native drive communications protocol to an IP-based storage communications protocol, allowing the transfer of these commands to a remote service virtual machine for processing and response, ensuring continuous data access even if the local service virtual machine is unresponsive.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the system uses a local service virtual machine to handle I/O commands, then data access speed is improved, but system reliability deteriorates when the local service becomes unresponsive

Engineering Contradiction:
Improvedata access speedVSAvoidsystem reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a virtual storage controller as an intermediary component between the user virtual machine and the local service virtual machine. When the local service becomes unresponsive, the virtual storage controller detects the failure and redirects I/O commands through a remote service virtual machine, ensuring continuous data access while maintaining the performance benefits of local storage when available.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements failover mechanisms in advance by establishing remote service virtual machines as backup resources. When local service failure occurs, the pre-configured remote services can immediately take over, cushioning the impact of failure and maintaining system reliability without requiring complex real-time decision-making.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If the system redirects I/O commands to a remote service virtual machine, then system reliability is improved, but data access performance deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddata access performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The virtual storage controller dynamically adjusts the data access path based on the responsiveness of the local service virtual machine. When the local service is responsive, I/O commands are routed locally for high performance. When the local service becomes unresponsive, the system dynamically switches to remote service routing, accepting the performance trade-off to maintain reliability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the virtual storage controller implements protocol translation capabilities, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidcontroller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The virtual storage controller is designed with multi-functionality, serving both as a protocol translator and a failover management component. By combining protocol translation capabilities with failure detection and command routing functions in a single component, the system achieves broad adaptability without proportionally increasing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10656877B2Virtual storage controller
Publication Date: 2020.05.19 NUTANIX INC
  • US10656877B2 patent drawing
  • US10656877B2 patent drawing
  • US10656877B2 patent drawing

AI summary

An exemplary embodiment disclosed herein is a method including a virtual storage controller receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine; determining whether a local service virtual machine is unresponsive to the virtual storage controller; translating the I/O command from the native drive communications protocol to an IP-based storage communications protocol to create a translated I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the translated I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the translated I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine.