IP Library Granted Patent US 10,198,285
Granted Patent B2
US 10,198,285 · App. 15/730,198 · Granted Feb 5, 2019

System and method for creating virtual disk images for use with remote computer

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 10,198,285
App. No.
15/730,198
Granted
Feb 5, 2019
Kind
B2
Abstract

A system and method is disclosed for creating and exposing virtual disk images to a host server, during a KVM session, using an HTML5 KVM/virtual media client running in a Chrome™ Web browser of a user's device (e.g., PC workstation). The host server is able to select all or specific portions of the virtual disk image for use, whereupon the bytes representing the selected data content are packaged by the HTML5 KVM/virtual media client using a persistent sandbox and transmitted to the host server. Using the HTML5 KVM/virtual media client to create and expose virtual disk images from the persistent sandbox of the Chrome™ Web Browser eliminates the problem of the Web browser not being able to directly access physical media (e.g., disks) on the user's device, and further significantly reduces data size limitations on the size of the virtual disk images that may be created.

Claims (42)

1. A method for creating and exposing virtual disk images to a host server, during a KVM session, using an HTML5 KVM/virtual media client running in a Web browser of a user's device, the Web browser having both a temporary sandbox and a persistent sandbox, the method comprising:

sending a selection to the host server of a specific virtual media device to be mapped on the host server;

using the HTML5 KVM/virtual media client to package selected content using a selected format, and using the persistent sandbox of the Web browser into which the selected content is written, to create a disk image of the selected content in the persistent sandbox of the Web browser;

notifying the host server of an available virtual disk image and exposing the virtual disk image present in the persistent sandbox for use to the host server;

using the host server to obtain the virtual disk image from the persistent sandbox;

using the host server to send a request to the HTML5 KVM/virtual media client for a portion of the data of the virtual disk image to retrieve;

using the HTML5 KVM/virtual media client to translate the request into at least one specific file that makes up the virtual disk image, and to send bytes of data corresponding to the at least one specific file to the host server; and

using the host server to receive the bytes of data corresponding to the at least one specific file.

2. The method of claim 1 , further comprising:

using the host server to request additional bytes of data;

making a determination if the additional bytes of data can be presented to a USB device associated with the host server; and

using the HTML5 KVM/virtual media client to send the additional bytes of data to the host server.

3. The method of claim 1 , further comprising responding to a command from the user device to unmap the virtual disk image from the HTML5 KVM/virtual media client .

4. The method of claim 1 , further comprising responding to a command from the user device to eject the virtual disk image from the host server.

5. The method of claim 1 , further comprising sending a status update message from the HTML5 KVM/virtual media client to the host server regarding the number of bytes transferred to the host server.

6. The method of claim 1 , further comprising using the HTML5 KVM/virtual media client to package the selected content using at least one of:

an FAT32 format; and

an ISO9660 format.

7. The method of claim 1 , wherein creating the virtual disk image further comprises creating structural elements of a virtual disk image including a boot sector and FAT tables.

8. The method of claim 1 , further comprising using the HTML5 KVM/virtual media client to maintain references to specific files that correspond to at least one of a specific data block or set of data blocks, and using a reverse lookup operation to determine which specific ones of the files of the disk image correspond to the requested blocks of data.

9. The method of claim 8 , further comprising transmitting only those portions of files stored on the user's device that correspond to requested blocks of data into a sandbox of the Web browser of the user's device.

10. The method of claim 1 , wherein said using the HTML5 KVM/virtual media client to package selected content using a selected format comprises calculating an expected total virtual disk size (Vdisk Total ) which includes a total size of the selected content and extra space for a table of contents for the virtual disk image.

11. The method of claim 10 , further comprising using the HTML5 KVM/virtual media client to obtain a persistent file storage requested quota size and a user size for a current origin.

12. The method of claim 11 , further comprising summing the Vdisk Total size with a used persistent file storage size.

13. The method of claim 12 , further comprising using the HTML KVM/virtual media client to call an application programming interface (API) of the user's Web browser and request permission to create the virtual disk image, and when permission is received from the user, then creating the virtual disk image.

14. The method of claim 1 , wherein the Web browser comprises a CHROME™ web browser.

15. A system for creating and exposing virtual disk images to a host server, during a KVM session, using an HTML5 KVM/virtual media client running in the Web browser of a user's device, wherein the Web browser has a temporary sandbox and a persistent sandbox each configured for use for storage of data, the system comprising:

a user device having the Web browser running thereon;

an HTML5 KVM/virtual media client running in the Web browser, the HTML5 KVM/virtual media client configured to:

package selected content using a selected format to create a disk image of the selected content in the persistent sandbox of the Web browser;

notify the host server of an available virtual disk image and exposing the virtual disk image in the persistent sandbox for use to the host server;

respond to a request from the host server for data corresponding to a portion of the virtual disk image; and

use the HTML5 KVM/virtual media client to implement a reverse lookup operation to translate the request for data into at least a portion of at least one specific file that makes up the virtual disk image, and to send bytes of data corresponding to the at least a portion of one specific file to the host server for use.

16. The system of claim 15 , wherein the lookup operation implemented by the HTML5 KVM/virtual media client comprises using the HTML5 KVM/virtual media client to maintain references to specific files that correspond to at least one of a specific data block or set of data blocks requested by the host server, and using determining which specific ones of the files of the disk image correspond to the requested data.

17. The system of claim 15 , wherein the HTML5 KVM/virtual media client is further configured to at least one of:

unmap the virtual disk image from the HTML5 KVM/virtual media client; and

eject the virtual disk image from the host server.

18. The system of claim 15 , wherein said the HTML5 KVM/virtual media client packages selected content using a selected format comprises calculating an expected total virtual disk size (Vdisk Total ) which includes a total size of the selected content and extra space for a table of contents for the virtual disk image.

19. The system of claim 15 , further comprising configuring the HTML5 KVM/virtual media client to obtain a persistent file storage requested quota size and a user size for a current domain.

20. The system of claim 18 , further comprising summing the Vdisk Total size with a used persistent file storage size.

21. The system of claim 20 , further comprising configuring the HTML KVM/virtual media client to call an application programming interface (API) of the user's Web browser and request permission to create the virtual disk image, and when permission is received from the user, then creating the virtual disk image.

22. The system of claim 15 , wherein the Web browser comprises a CHROME™ Web browser.

Assignments (16)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2024
From: VERTIV IT SYSTEMS, INC.
To: VERTIV CORPORATION
Reel/Frame 069695/0620 →
SECURITY INTEREST Recorded Oct 26, 2021
From: VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.; ELECTRICAL RELIABILITY SERVICES, INC.; ENERGY LABS, INC.
To: UMB BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 057923/0782 →
ABL SECURITY AGREEMENT Recorded Mar 3, 2020
From: ENERGY LABS, INC.; VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052075/0497 →
SECURITY AGREEMENT Recorded Mar 3, 2020
From: ELECTRICAL RELIABILITY SERVICES, INC.; ENERGY LABS, INC.; VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.
To: CITIBANK, N.A.
Reel/Frame 052076/0874 →
RELEASE OF SECURITY INTEREST Recorded Mar 2, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A.
To: VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.; ELECTRICAL RELIABILITY SERVICES, INC.
Reel/Frame 052071/0913 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED AT REEL: 048245 FRAME: 0783. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jun 14, 2019
From: AVOCENT CORPORATION
To: VERTIV IT SYSTEMS, INC.
Reel/Frame 051692/0965 →
SECOND LIEN SECURITY AGREEMENT Recorded Jun 10, 2019
From: VERTIV IT SYSTEMS, INC.; VERTIV CORPORATION; VERTIV NORTH AMERICA, INC.; ELECTRICAL RELIABILITY SERVICES, INC.; VERTIV ENERGY SYSTEMS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049415/0262 →
CHANGE OF NAME Recorded Feb 4, 2019
From: AVOCENT CORPORATION
To: AVOCENT HUNTSVILLE, LLC; VERTIV IT SYSTEMS, INC.
Reel/Frame 048245/0783 →
MERGER Recorded Jan 30, 2019
From: AVOCENT HUNTSVILLE, LLC
To: AVOCENT CORPORATION
Reel/Frame 048191/0640 →
CHANGE OF NAME Recorded Dec 13, 2018
From: AVOCENT CORPORATION
To: VERTIV IT SYSTEMS, INC.
Reel/Frame 047826/0531 →
MERGER Recorded Dec 10, 2018
From: AVOCENT HUNTSVILLE, LLC
To: AVOCENT CORPORATION
Reel/Frame 047726/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: AVOCENT REDMOND CORP.
To: AVOCENT HUNTSVILLE, LLC
Reel/Frame 046651/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2018
From: SIEGMAN, CRAIG S.
To: APEX INC.
Reel/Frame 045690/0268 →
CHANGE OF NAME Recorded May 2, 2018
From: APEX INC.
To: AVOCENT REDMOND CORP.
Reel/Frame 046053/0892 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S DOCUMENT DATE PREVIOUSLY RECORDED ON REEL 045284 FRAME 0947. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Apr 18, 2018
From: AMIRTHASAMY, JOSEPH
To: AVOCENT HUNTSVILLE, LLC
Reel/Frame 045969/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2018
From: AMIRTHASAMY, JOSEPH
To: AVOCENT HUNTSVILLE, LLC
Reel/Frame 045284/0947 →