Filter-Level VMDK Access Bypassing Upstream Filters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized environments, offline applications interacting with virtual disks (VMDKs) face data corruption due to destructive filters being inadvertently applied multiple times when using the VMDK-level IOSubmit API, as they pass through all filters associated with the VMDK, including compression and encryption filters.
Innovation Solution
The technique allows applications to access VMDKs at the level of a specific target filter, enabling I/O requests to be issued via the filter-level IOSubmit API, which bypasses upstream filters and prevents re-application of destructive filters, ensuring data integrity by only passing requests through downstream filters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the VMDK-level IOSubmit API is used to allow offline applications to access VMDKs, then offline I/O operations become possible, but destructive filters are inadvertently applied multiple times causing data corruption
Solution Approach 1:
The patent segments the filter application process by introducing filter-level IOSubmit APIs that allow offline applications to access VMDKs at a specific filter level rather than applying all filters. This segmentation enables selective filter application, preventing destructive filters from being applied multiple times while maintaining offline access capability.
Solution Approach 2:
The patent introduces a filter framework component as an intermediary between offline applications and VMDKs. This intermediary manages filter application by instantiating appropriate filters and coordinating their execution, ensuring that destructive filters are not inadvertently applied multiple times while enabling offline I/O operations.
2Reliability
If all filters associated with a VMDK are applied to offline I/O requests, then data protection and compression are ensured, but destructive filters cause re-application and data corruption
Solution Approach 1:
The patent applies local quality by allowing different parts of the filter chain to be applied selectively. Instead of uniformly applying all filters, the system applies only the necessary downstream filters at the filter level where the offline application interacts with the VMDK, preventing harmful re-application of destructive filters while maintaining necessary protection.
3Reliability
If the filter framework component instantiates all filters for a VMDK, then comprehensive filtering is achieved, but offline applications cannot selectively bypass upstream filters
Solution Approach 1:
The patent introduces dynamics by allowing the filter application process to be adaptive rather than static. The filter framework can dynamically determine which filters to instantiate and apply based on the specific operation being performed and the filter level being accessed, enabling offline applications to bypass upstream filters when necessary while maintaining comprehensive filtering capability.
Data Source
AI summary
Techniques for enabling filter-level access to a virtual disk (VMDK) are provided. In one set of embodiments, an application can invoke a first application programming interface (API) for opening the VMDK, the invoking of the first API causing an ordered group of filters associated with the VMDK to be instantiated. The application can further coordinate with a target filter in the ordered group of filters to establish a communication channel with the target filter and can receive, from the target filter, a handle to the target filter via the communication channel. The application can then issue an I/O request to the VMDK via the target filter using the handle, the issuing causing data associated with the I/O request to be filtered by other filters that are downstream from the target filter in the ordered group.


