Virtual Server Adapter for Unvirtualized Hardware Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, applications cannot access un-virtualized physical hardware due to the lack of a unified common interface for different types of virtual servers, requiring source code changes to be compatible with various APIs, leading to increased design and implementation effort and potential errors.

Innovation Solution

A software module is provided that enables applications to communicate with multiple types of virtual servers without source code changes, using a virtual server adapting module that detects the underlying virtual server type and loads corresponding sub-modules to facilitate communication through a unified interface, allowing access to un-virtualized hardware such as iSCSI or FCP HBAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications use vendor-specific APIs to access un-virtualized hardware in different virtual servers, then hardware accessibility is achieved, but source code compatibility and adaptability deteriorate

Engineering Contradiction:
Improvehardware accessibilityVSAvoidsource code compatibility
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a hardware abstraction layer (HAL) as an intermediary between applications and virtual servers. This HAL provides a unified interface that translates hardware access requests into virtual server-specific API calls, eliminating the need for applications to directly interact with vendor-specific APIs. The intermediary layer absorbs the complexity of different virtual server implementations while presenting a consistent interface to applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The hardware abstraction layer implements a universal interface that works across multiple virtual server types (VMware, Microsoft Virtual Server, Xen, etc.). Instead of requiring separate application code for each virtual server vendor, the single HAL interface serves all virtual server types, providing multi-functionality and broad compatibility without requiring application-specific implementations.

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

2Adaptability or versatility

If applications modify source code to be compatible with different virtual server APIs, then adaptability to different virtual servers is improved, but development time and error rate increase

Engineering Contradiction:
Improvevirtual server compatibilityVSAvoiddesign and implementation effort
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The hardware abstraction layer is pre-implemented and pre-configured with support for multiple virtual server types before applications are developed. Developers can install the HAL on their virtual servers without modifying application source code, as the abstraction layer is already in place to handle the compatibility requirements. This preliminary preparation eliminates the need for developers to spend time adapting applications to different virtual server APIs.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a unified interface is implemented for all virtual servers, then application compatibility is improved, but the interface must accommodate heterogeneous hardware access methods

Engineering Contradiction:
Improveinterface uniformityVSAvoidhardware access capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The hardware abstraction layer segments the hardware access functionality into separate driver modules, each responsible for a specific virtual server type or hardware type. These segmented drivers communicate through a standardized internal interface within the HAL, allowing the system to maintain a uniform external interface while accommodating heterogeneous hardware access methods through modular, interchangeable drivers.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8555275B1Method and system for enabling an application in a virtualized environment to communicate with multiple types of virtual servers
Publication Date: 2013.10.08 NETAPP INC
  • US8555275B1 patent drawing
  • US8555275B1 patent drawing
  • US8555275B1 patent drawing

AI summary

A method and system are introduced to enable an application in a virtualized environment to communicate with multiple types of virtual servers (e.g., VMware ESX server, Microsoft Virtual Server, etc.), yet without making any source code change to the application. An interface is provided so that an application (e.g., a storage management application) running in a virtual machine is able to communicate with the underlying virtual server to receive information regarding some physical hardware that are not virtualized by the virtual server. For example, such physical hardware may be an iSCSI Host Bus Adapter (iSCSI HBA) or a Fiber Channel Protocol Host Bus Adapter (Fcp HBA). After receiving such information, the application can access the physical hardware to provide services to other applications, such as storage management services.