IP Library Granted Patent US 11,029,869
Granted Patent B1
US 11,029,869 · App. 16/235,579 · Granted Jun 8, 2021

System and method for multiqueued access to cloud storage

Inventors: Maxim Patlasov (Seattle, WA); Alexey Kuznetzov (Moscow, RU); Pavel Emelyanov (Moscow, RU); Alexey Kobets (Seattle, WA)
Assignee: Virtuozzo International GmbH
G06F3/064G06F3/0611G06F3/0617G06F3/0635G06F3/0646G06F3/0667G06F3/0689G06F9/45558G06F9/463G06F9/5077G06F2009/45575G06F2009/45591
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 11,029,869
App. No.
16/235,579
Granted
Jun 8, 2021
Kind
B1
Abstract

Systems and methods are disclosed herein for multithreaded access to cloud storage. An exemplary method comprises creating a plurality of mount points by mounting, by a hardware processor, a plurality of file systems on a computer system, creating an image file on each of the plurality of mount points, instantiating, for each of the plurality of mount points, a block device on the image file, creating a union virtual block device that creates one or more stripes from each block device, delegating a request for accessing the union virtual block device, received from a client, to one or more block devices and merging a result of the request from each of the one or more block devices and providing the result to the client.

Claims (42)

1. A method for multiqueued access to cloud storage comprising:

creating a plurality of mount points by mounting, by a hardware processor, a plurality of file systems on a computer system;

creating an image file on each of the plurality of mount points;

instantiating, for each of the plurality of mount points, a block device on the image file;

creating a union virtual block device that creates one or more stripes from each block device;

receiving, from a client, a request for accessing the union virtual block device;

splitting the request, when the request is larger than a predetermined threshold, into multiple requests;

delegating the multiple requests to a plurality of block devices;

merging a result of the multiple requests from each of the plurality of block devices and providing the result to the client.

2. The method of claim 1 , wherein the client is a file system of a virtual execution environment, and the virtual execution environment is a container or a virtual machine.

3. The method of claim 1 , wherein the client is a virtual machine, and a virtual machine disk image for the virtual machine is stored on the cloud storage.

4. The method of claim 1 , wherein the plurality of file systems are user space file systems.

5. The method of claim 4 , wherein each user space file system is a cloud file system.

6. The method of claim 1 , wherein the image file is in one of a raw format, or an expanding format, wherein the expanding format is qcow2.

7. The method of claim 1 , wherein the union virtual block device is one of a raid-stripe, or raid-N.

8. The method of claim 1 , wherein the computer system is one or more of a chunk server or a metadata server.

9. A system for multiqueued access to cloud storage comprising:

a hardware processor configured to:

create a plurality of mount points by mounting a plurality of file systems on a computer system;

create an image file on each of the plurality of mount points;

instantiate, for each of the plurality of mount points, a block device on the image file;

create a union virtual block device that creates one or more stripes from each block device;

receive, from a client, a request for accessing the union virtual block device;

split the request, when the request is larger than a predetermined threshold, into multiple requests;

delegate the multiple requests to a plurality of block devices;

merge a result of the multiple requests from each of the plurality of block devices and providing the result to the client.

10. The system of claim 9 , wherein the client is a file system of a virtual execution environment, and the virtual execution environment is a container or a virtual machine.

11. The system of claim 9 , wherein the client is a virtual machine, and a virtual machine disk image for the virtual machine is stored on the cloud storage.

12. The system of claim 9 , wherein the plurality of file systems are user space file systems.

13. The system of claim 12 , wherein each user space file system is a cloud file system.

14. The system of claim 9 , wherein the image file is in one of a raw format, or an expanding format, wherein the expanding format is qcow2.

15. The system of claim 9 , wherein the union virtual block device is one of a raid-stripe, or raid-N.

16. The system of claim 9 , wherein the computer system is one or more of a chunk server or a metadata server.

17. A non-transitory computer-readable medium, storing instructions thereon for multiqueued access to cloud storage, the instructions comprising:

creating a plurality of mount points by mounting a plurality of file systems on a computer system;

creating an image file on each of the plurality of mount points;

instantiating, for each of the plurality of mount points, a block device on the image file;

creating a union virtual block device that creates one or more stripes from each block device;

receiving, from a client, a request for accessing the union virtual block device;

splitting the request, when the request is larger than a predetermined threshold, into multiple requests;

delegating the multiple requests to a plurality of block devices;

merging a result of the multiple requests from each of the plurality of block devices and providing the result to the client.

Assignments (7)
SECURITY INTEREST IN TRADEMARK, PATENT, AND COPYRIGHT RIGHTS Recorded Dec 22, 2022
From: VIRTUOZZO INTERNATIONAL GMBH; ONAPP LIMITED
To: WILMINGTON TRUST (LONDON) LIMITED
Reel/Frame 062206/0557 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 057102 FRAME: 0987. ASSIGNOR(S) HEREBY CONFIRMS THE EMPLOYMENT AGREEMENT . Recorded Dec 15, 2022
From: PARALLELS INC.
To: VIRTUOZZO INC
Reel/Frame 062133/0823 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 057050 FRAME: 0538. ASSIGNOR(S) HEREBY CONFIRMS THE EMPLOYMENT AGREEMENT . Recorded Dec 15, 2022
From: KOBETS, ALEXEY
To: PARALLELS INC.
Reel/Frame 062133/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2022
From: VIRTUOZZO INC
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 062100/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2021
From: PARALLELS INC.
To: VIRTUOZZO INC
Reel/Frame 057102/0987 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2021
From: KOBETS, ALEXEY
To: PARALLELS INC.
Reel/Frame 057050/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2021
From: PATLASOV, MAXIM; KUZNETZOV, ALEXEY; EMELYANOV, PAVEL
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 057033/0524 →