IP Library Granted Patent US 10,831,522
Granted Patent B1
US 10,831,522 · App. 16/010,760 · Granted Nov 10, 2020

Peripheral device mounting based on file system compatibility

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,831,522
App. No.
16/010,760
Granted
Nov 10, 2020
Kind
B1
Abstract

Systems and methods for managing peripheral devices associated with host computer systems running virtual machines. An example method comprises: detecting, by a host computer system, a plug-in event associated with a peripheral device; identifying a type of a file system of the peripheral device; selecting, among a group of execution environments comprising the host computer system and one or more virtual machines, an execution environment having a highest compatibility metric value associated with the type of the file system; and responsive to determining that the execution environment is provided by a virtual machine, causing a guest agent running on the virtual machine to mount the peripheral device to the virtual machine.

Claims (46)

1. A method, comprising:

detecting, by a host computer system, a plug-in event associated with a peripheral device;

identifying a type of a file system of the peripheral device;

selecting, among a group of execution environments comprising the host computer system and one or more virtual machines, an execution environment having a highest compatibility metric value associated with the type of the file system;

responsive to determining that the execution environment is provided by a virtual machine, causing a guest agent running on the virtual machine to mount the peripheral device to the virtual machine; and

responsive to determining that the execution environment is provided by the host computer system, mounting the peripheral device to the host computer system.

2. The method of claim 1 , further comprising:

responsive to determining that the execution environment is provided by the virtual machine, exporting, by the virtual machine, at least part of the file system of the peripheral device via a file system sharing protocol.

3. The method of claim 1 , further comprising:

responsive to determining that the execution environment is provided by the virtual machine, notifying, by the virtual machine, the host computer system of mounting the peripheral device.

4. The method of claim 1 , further comprising:

responsive to determining that the execution environment is provided by the virtual machine, notifying, by the virtual machine, a second virtual machine running on the host computer system of mounting the peripheral device.

5. The method of claim 1 , further comprising:

responsive to determining that the execution environment is provided by the host computer system, exporting at least part of the file system of the peripheral device via a file system sharing protocol.

6. The method of claim 1 , wherein identifying the type of the file system comprises analyzing metadata of the peripheral device.

7. The method of claim 1 , wherein the peripheral device is provided by one of: a flash memory card, a compact disk, a hard disk drive (HDD) or a solid state drive (SSD).

8. The method of claim 1 , wherein selecting the execution environment having the highest compatibility metric value further comprises:

looking up the type of the file system in a data structure comprising a plurality of records, each record specifying a compatibility rating value between a file system type and an execution environment represented by one of: the host computer system and a virtual machine running on the host computer system.

9. The method of claim 1 , wherein the group of execution environments comprises a local virtual machine running on the host computer system.

10. The method of claim 1 , wherein the group of execution environments comprises a cloud-based execution environment provided by a virtual machine running on a remote host computer system.

11. A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a host computer system, cause the host computer system to:

detect a plug-in event associated with a peripheral device;

identify a type of a file system of the peripheral device;

select, among a group of execution environments comprising the host computer system and one or more virtual machines, an execution environment having a highest compatibility metric value associated with the type of the file system;

responsive to determining that the execution environment is provided by a virtual machine, cause a guest agent running on the virtual machine to mount the peripheral device to the virtual machine; and

responsive to determining that the execution environment is provided by the host computer system, mount the peripheral device to the host computer system.

12. The non-transitory computer-readable storage medium of claim 11 , further comprising executable instructions causing the host computer system to:

responsive to determining that the execution environment is provided by the host computer system, least part of the file system of the peripheral device via a file system sharing protocol.

13. The non-transitory computer-readable storage medium of claim 11 , wherein identifying the type of the file system comprises analyzing metadata of the peripheral device.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the peripheral device is provided by one of: a flash memory card, a compact disk, a hard disk drive (HDD) or a solid state drive (SSD).

15. The non-transitory computer-readable storage medium of claim 11 , wherein selecting the execution environment having the highest compatibility metric value further comprises:

looking up the type of the file system in a data structure comprising a plurality of records, each record specifying a compatibility rating value between a file system type and an execution environment represented by one of: the host computer system and a virtual machine running on the host computer system.

16. A host computer system, comprising:

a memory; and

a processor, coupled to the memory, the processor configured to:

detect a plug-in event associated with a peripheral device;

identify a type of a file system of the peripheral device;

select, among a group of execution environments comprising the host computer system and one or more virtual machines, an execution environment having a highest compatibility metric value associated with the type of the file system;

responsive to determining that the execution environment is provided by a virtual machine, cause a guest agent running on the virtual machine to mount the peripheral device to the virtual machine; and

responsive to determining that the execution environment is provided by the host computer system, mount the peripheral device to the host computer system.

17. The host computer system of claim 16 , wherein the processor is further configured to:

responsive to determining that the execution environment is provided by the host computer system, export at least part of the file system of the peripheral device via a file system sharing protocol.

18. The host computer system of claim 16 , wherein the peripheral device is provided by one of: a flash memory card, a compact disk, a hard disk drive (HDD) or a solid state drive (SSD).

19. The host computer system of claim 16 , wherein selecting the execution environment having the highest compatibility metric value further comprises:

looking up the type of the file system in a data structure comprising a plurality of records, each record specifying a compatibility rating value between a file system type and an execution environment represented by one of: the host computer system and a virtual machine running on the host computer system.

20. The host computer system of claim 16 , wherein the group of execution environments comprises a cloud-based execution environment provided by a virtual machine running on a remote host computer system.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: OZERKOV, KONSTANTIN; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M.
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 046139/0348 →