IP Library Granted Patent US 9,311,003
Granted Patent B2
US 9,311,003 · App. 14/569,330 · Granted Apr 12, 2016

Exposing proprietary data to a hypervisor as native hypervisor data

Inventors: Nathan S. Bushman (Pleasant Grove, UT); Maxim Shatskikh (Moscow, RU)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F3/061G06F3/0667G06F3/0674G06F9/45558G06F17/30569G06F2009/45583
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 9,311,003
App. No.
14/569,330
Granted
Apr 12, 2016
Kind
B2
Abstract

Exposing a proprietary disk file to a hypervisor as a native hypervisor disk file. In one example embodiment, a method of exposing a proprietary disk file to a hypervisor as a native hypervisor disk file includes various acts. For example, the method includes identifying a proprietary disk file having a proprietary format. The method further includes creating a plugin file corresponding to the proprietary disk file. The method also includes intercepting read requests directed to the plugin file. The method further includes responding to each of the 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 format of the hypervisor.

Claims (54)

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 proprietary data to a hypervisor as native hypervisor data, the method comprising:

identifying a proprietary disk file having a proprietary file format;

creating a plugin file corresponding to the proprietary disk file, the hypervisor falsely recognizing the plugin file to be a native hypervisor disk file, the plugin file having a plugin file format which is different from a native hypervisor disk file format;

intercepting read requests directed to the plugin file; and

responding to each of the read requests with data gathered from at least one of the plugin file and the proprietary disk file based on a determination of where the requested data is stored, the data structured to cause the data to appear to be gathered from a native hypervisor disk file due to being formatted in the native hypervisor disk file format.

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 hypervisor disk file format.

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 the 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 the 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 hypervisor disk file format.

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

creating a differencing disk file associated with the plugin file;

receiving write requests directed to the plugin file; and

redirecting 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 proprietary data to a hypervisor as native hypervisor data, the method comprising:

identifying a proprietary disk file having a proprietary file format;

creating a plugin file corresponding to the proprietary disk file, the hypervisor falsely recognizing the plugin file to be a native hypervisor disk file, the plugin file having a plugin file format which is different from a native hypervisor disk file format;

creating a differencing disk file associated with the plugin file;

receiving write requests directed to the plugin file; and

redirecting the write requests to the differencing disk file.

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

intercepting read requests directed to the plugin file; and

responding to each of the read requests with data gathered from at least one of the plugin file and the proprietary disk file based on a determination of where the requested data is stored, the data structured to cause the data to appear to be gathered from a native hypervisor disk file due to being formatted in the native hypervisor disk file format.

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

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

12. 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 proprietary data to a hypervisor as native hypervisor data, the method comprising:

identifying a proprietary disk file having a proprietary file format;

creating a plugin file corresponding to the proprietary disk file, the hypervisor recognizing the plugin file to be a native hypervisor disk file, the plugin file having a plugin file format which is different from a native hypervisor disk file format;

intercepting a file open request directed to the plugin file;

determining that the plugin file has the plugin file format;

responding to the file open request with a report that the plugin file was opened successfully;

intercepting read requests directed to the plugin file; and

responding to each of the read requests with data gathered from at least one of the plugin file and the proprietary disk file based on a determination of where the requested data is stored, the data being structured to cause the data to appear to be gathered from a native hypervisor disk file due to being formatted in the native hypervisor disk file format.

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

14. The one or more non-transitory computer-readable media as recited in claim 12 , 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.

15. The one or more non-transitory computer-readable media as recited in claim 12 , 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 that is stored in a data storage system that is external to the plugin file.

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

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

intercepting a file size attribute request directed to the plugin file; and

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

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

intercepting 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 hypervisor disk file format; and

responding to the file size attribute request with the expected size.

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

intercepting a write request directed to a particular location in the plugin file;

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

responding to the write request with a report that the write request was executed successfully;

intercepting a subsequent read request directed to the particular location in the plugin file; and

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

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

intercepting write requests directed to the plugin file;

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

responding to each of the write requests with a report that the 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 Dec 12, 2014
From: BUSHMAN, NATHAN S.; SHATSKIKH, MAXIM
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 034498/0731 →
Continuity (2)
Continuation 14293122 · Jun 2, 2014
Related Publication 20150347014A1 · Dec 3, 2015