IP Library Granted Patent US 8,943,105
Granted Patent B1
US 8,943,105 · App. 14/293,122 · Granted Jan 27, 2015

Exposing a proprietary disk file to a hypervisor as a native hypervisor disk file

Inventors: Nathan S. Bushman (Pleasant Grove, UT); Maxim Shatskikh (Moscow, RU)
Assignee: StorageCraft Technology Corporation
G06F9/45533G06F2009/45562
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,943,105
App. No.
14/293,122
Granted
Jan 27, 2015
Kind
B1
Abstract

Exposing a proprietary disk file to a hypervisor as a native hypervisor disk file. In one example embodiment, a method includes various steps. For example, the method includes creating a plugin file corresponding to a proprietary disk file having a proprietary file format. The method also includes intercepting, using a file system filter driver that sits between the hypervisor and a file system where the plugin file is stored, file read requests directed to the plugin file. The method further includes responding, using the file system filter driver, to each of the file read requests with data gathered from the plugin file and/or the proprietary disk file, where the data is structured such that the data appears to be gathered from a native hypervisor disk file due to being formatted in a native file format of the hypervisor.

Claims (41)

1. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform a method of exposing a proprietary disk file to a hypervisor as a native hypervisor disk file, the method comprising:

creating a plugin file corresponding to a proprietary disk file, the proprietary disk file having a proprietary file format;

intercepting, using a file system filter driver that sits between a hypervisor and a file system where the plugin file is stored, file read requests directed to the plugin file; and

responding, using the file system filter driver, to each of the file read requests with data gathered from the plugin file and/or the proprietary disk file, the data structured to cause the data to appear to be gathered from a native hypervisor disk file due to being formatted in a native file format of the hypervisor.

2. The one or more non-transitory computer-readable media as recited in claim 1 , wherein a portion of a name attribute of the plugin file falsely identifies the plugin file as having the native file format of the hypervisor.

3. The one or more non-transitory computer-readable media as recited in claim 2 , wherein the portion of the name attribute of the plugin file is a file extension of the name attribute of the plugin file.

4. The one or more non-transitory computer-readable media as recited in claim 1 , wherein the plugin file includes metadata that identifies the plugin file as having a plugin file format.

5. The one or more non-transitory computer-readable media as recited in claim 1 , wherein a data storage system external to the plugin file identifies the plugin file as having a plugin file format.

6. The one or more non-transitory computer-readable media as recited in claim 1 , wherein the plugin file is a sparse file with a size attribute set to an expected size of a corresponding file having the native file format of the hypervisor.

7. The one or more non-transitory computer-readable media as recited in claim 1 , wherein the method further comprises:

creating, using the hypervisor, a differencing disk file associated with the plugin file;

receiving, at the hypervisor, write requests; and

directing, using the hypervisor, the write requests to the differencing disk file.

8. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform a method of exposing a proprietary disk file to a hypervisor as a native hypervisor disk file, the method comprising:

creating a plugin file corresponding to a proprietary disk file, the proprietary disk file having a proprietary file format;

intercepting, using a file system filter driver that sits between a hypervisor and a file system where the plugin file is stored, a file open request directed to the plugin file;

determining that the plugin file has a plugin file format;

responding, using the file system filter driver, to the file open request with a report that the plugin file was opened successfully;

intercepting, using the file system filter driver, file read requests directed to the plugin file; and

responding, using the file system filter driver, to each of the file read requests with data gathered from the plugin file and/or the proprietary disk file, the data being structured to cause the data to appear to be gathered from a native hypervisor disk file due to being formatted in a native file format of the hypervisor.

9. The one or more non-transitory computer-readable media as recited in claim 8 , wherein a file extension of a name attribute of the plugin file falsely identifies the plugin file as having the native file format of the hypervisor.

10. The one or more non-transitory computer-readable media as recited in claim 8 , wherein the determining that the plugin file has the plugin file format includes determining that metadata that identifies the plugin file as having the plugin file format is present in the plugin file.

11. The one or more non-transitory computer-readable media as recited in claim 8 , wherein the determining that the plugin file has the plugin file format includes determining that the plugin file is present in a list of files that have the plugin file format this is stored in a data storage system that is external to the plugin file.

12. The one or more non-transitory computer-readable media as recited in claim 8 , wherein the plugin file is a sparse file with a size attribute set to an expected size of a corresponding file having the native file format of the hypervisor.

13. The one or more non-transitory computer-readable media as recited in claim 12 , wherein the method further comprises:

intercepting, using the file system filter driver, a file size attribute request directed to the plugin file; and

allowing the file size attribute request to pass through the file system filter driver unaltered and the corresponding response to pass through the file system filter driver unaltered.

14. The one or more non-transitory computer-readable media as recited in claim 8 , wherein the method further comprises:

intercepting, using the file system filter driver, a file size attribute request directed to the plugin file;

determining an expected size of a file corresponding to the plugin file having the native file format of the hypervisor; and

responding, using the file system filter driver, to the file size attribute request with the expected size.

15. The one or more non-transitory computer-readable media as recited in claim 8 , wherein the method further comprises:

intercepting, using the file system filter driver, a file write request directed to a particular location in the plugin file;

executing the file write request by storing data from the file write request in a location in the plugin file or in a location external to the plugin file;

responding, using the file system filter driver, to the file write request with a report that the file write request was executed successfully;

intercepting, using the file system filter driver, a subsequent file read request directed to the particular location in the plugin file; and

responding, using the file system filter driver, to the subsequent file read request with second data gathered from the location where the data from the file write request was previously stored, the second data being structured to cause the second data to appear to be gathered from a native hypervisor disk file due to being formatted in the native file format of the hypervisor.

16. The one or more non-transitory computer-readable media as recited in claim 8 , wherein the method further comprises:

intercepting, using the hypervisor, file write requests directed to the plugin file;

executing each of the file write requests by storing data from the file write request in the native file format of the hypervisor and in a location external to the plugin file; and

responding, using the hypervisor, to each of the file write requests with a report that the file write request was executed successfully.

Assignments (6)
CHANGE OF NAME Recorded Aug 16, 2024
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: STORAGECRAFT TECHNOLOGY LLC
Reel/Frame 068660/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC; ARCSTOR MIDCO LLC; ARCSERVE ACQUISITION COMPANY LLC; ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY, LLC
To: STORAGECRAFT, LLC
Reel/Frame 068660/0208 →
SECURITY INTEREST Recorded Mar 16, 2021
From: ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY LLC; ZETTA, LLC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 055603/0219 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 16, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 055614/0607 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 038449/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BUSHMAN, NATHAN S.; SHATSKIKH, MAXIM
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 033006/0966 →