IP Library Granted Patent US 9,489,140
Granted Patent B2
US 9,489,140 · App. 14/966,388 · Granted Nov 8, 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/0604G06F3/0659G06F3/0661G06F3/0664G06F3/0667G06F3/0673G06F3/0674G06F9/45545G06F9/45558G06F17/30076G06F17/30233G06F17/30569G06F2009/45579G06F2009/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,489,140
App. No.
14/966,388
Granted
Nov 8, 2016
Kind
B2
Abstract

Exposing proprietary data to a hypervisor as native hypervisor data. In one example embodiment, one or more non-transitory computer-readable media store 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 may include identifying a proprietary disk file having a proprietary file format, identifying a plugin file corresponding to the proprietary disk file with the plugin file having a plugin file format which is different from a native hypervisor disk file format, and intercepting read requests directed to the plugin file. The method may further include, in response to each read request, gathering data gathered from the proprietary disk file, restructuring the data to cause the data to appear to be gathered from a native hypervisor disk file, and responding with the restructured data.

Claims (63)

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;

identifying a plugin file corresponding to the proprietary 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

in response to each read request:

gathering data gathered from the proprietary disk file;

restructuring the data to cause the data to appear to be gathered from a native hypervisor disk file due to being structured in the native hypervisor disk file format; and

responding with the restructured data.

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;

identifying a plugin file corresponding to the proprietary 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

in response to each read request:

gathering data gathered from the proprietary disk file;

restructuring the data to cause the data to appear to be gathered from a native hypervisor disk file due to being structured in the native hypervisor disk file format; and

responding with the restructured data.

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 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

in response to each read request:

gathering data gathered from the proprietary disk file;

restructuring the data to cause the data to appear to be gathered from a native hypervisor disk file due to being structured in the native hypervisor disk file format; and

responding with the restructured data.

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 a 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 with the data structured in the native hypervisor disk file format;

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 appearing to be gathered from the native hypervisor disk file due to being structured 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 a location external to the plugin file with the data structured in the native hypervisor disk file format; 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 11, 2015
From: BUSHMAN, NATHAN S.; SHATSKIKH, MAXIM S.
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 037272/0212 →
Continuity (3)
Continuation 14569330 · Dec 12, 2014
Continuation 14293122 · Jun 2, 2014
Related Publication 20160098204A1 · Apr 7, 2016