Enabling Filter-Level Access to Virtual Disks
First Claim
1. A method for enabling filter-level access to a virtual disk (VMDK), the method comprising:
- invoking, by an application running on a computer system, 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;
coordinating, by the application, with a target filter in the ordered group of filters to establish a communication channel between the application and the target filter;
receiving, by the application from the target filter, a handle to the target filter via the communication channel; and
issuing, by the application, 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.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
21 Claims
-
1. A method for enabling filter-level access to a virtual disk (VMDK), the method comprising:
-
invoking, by an application running on a computer system, 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; coordinating, by the application, with a target filter in the ordered group of filters to establish a communication channel between the application and the target filter; receiving, by the application from the target filter, a handle to the target filter via the communication channel; and issuing, by the application, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium having stored thereon program code executable by computer system, the program code embodying a method for enabling filter-level access to a VMDK, the method comprising:
-
invoking, by an application running on the computer system, a first API for opening the VMDK, the invoking of the first API causing an ordered group of filters associated with the VMDK to be instantiated; coordinating, by the application, with a target filter in the ordered group of filters to establish a communication channel between the application and the target filter; receiving, by the application from the target filter, a handle to the target filter via the communication channel; and issuing, by the application, 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
a processor; and an application running on the processor, wherein the application is configured to; invoke a first API for opening a VMDK, the invoking of the first API causing an ordered group of filters associated with the VMDK to be instantiated; coordinate with a target filter in the ordered group of filters to establish a communication channel between the application and the target filter; receive, from the target filter, a handle to the target filter via the communication channel; and 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. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification