Multiqueued Cloud Storage Access via Union Virtual Block Device

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Single-threaded client-side software for cloud storage access limits performance and scalability due to resource utilization of only one CPU core, leading to inefficient file system request processing under load.

Innovation Solution

Implementing a multiqueued system by creating multiple mount points, instantiating block devices, and creating a union virtual block device that splits and delegates requests across multiple block devices, allowing for parallel processing and merging of results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single-threaded client-side software is used for cloud storage access, then the code execution is simple and easy to implement, but the performance is limited due to utilization of only one CPU core

Engineering Contradiction:
Improvefile system request processing throughputVSAvoidsoftware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the single-threaded file system into multiple independent single-threaded file systems, each handling a specific queue of requests. This segmentation allows parallel processing across multiple CPU cores while maintaining the simplicity of single-threaded architecture within each file system instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtualization layer that acts as an intermediary between the client and the multiple single-threaded file systems. This virtualization layer manages request routing and coordination, enabling parallel processing without requiring complex multi-threaded synchronization logic in the file system code itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a single-queued file system is used, then the implementation is simpler, but the scalability is poor when the system is under load

Engineering Contradiction:
Improvesystem scalabilityVSAvoidqueue management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The single queue is segmented into multiple independent queues, with each queue handled by a separate single-threaded file system instance. This allows the system to scale horizontally by adding more queue instances, improving adaptability under load while keeping individual queue management simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional queue structure to a multi-dimensional architecture where multiple queues operate in parallel across different CPU cores. This dimensional expansion enables better scalability without increasing the complexity of individual queue management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If a single process handles all file system requests, then the code execution is straightforward, but the number of requests processed per second is limited

Engineering Contradiction:
Improverequests per secondVSAvoidprocess architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The single request-handling process is segmented into multiple independent process instances, each capable of handling file system requests in parallel. This segmentation increases throughput by utilizing multiple CPU cores while maintaining straightforward process execution logic within each instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates multiple copies of the single-threaded file system process, each running independently on different CPU cores. This copying approach multiplies the request processing capacity while preserving the simplicity of the original single-process implementation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11029869B1System and method for multiqueued access to cloud storage
Publication Date: 2021.06.08 VIRTUOZZO INT GMBH
  • US11029869B1 patent drawing
  • US11029869B1 patent drawing
  • US11029869B1 patent drawing

AI summary

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.