Hierarchical Quota Allocation for Cloud Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud storage systems face inefficiencies in enforcing resource quotas due to lock contention and the need for expensive two-phase commits, leading to compromised accuracy and performance limitations in quota tracking.
Innovation Solution
Implement a hierarchical quota allocation method where chunks of quota are allocated from a tenant to cloud folders in coarse granularity, allowing for parallel storage operations and reducing the frequency of locking the tenant quota usage counter, while maintaining folder quota usage counters to ensure precise quota enforcement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a single quota counter is used per tenant with locking mechanisms, then quota accuracy is maintained, but system performance and scalability deteriorate due to lock contention and expensive two-phase commits
Solution Approach 1:
The patent divides the single tenant quota counter into multiple folder-level quota counters. Each folder maintains its own usage counter, allowing parallel updates without locking the entire tenant quota. This segmentation enables concurrent storage operations while maintaining accurate tracking of total quota usage through periodic aggregation of folder-level counters.
2Reliability
If frequent locking of tenant quota usage counter is performed, then precise quota enforcement is achieved, but scalability and parallel operation capability worsen
Solution Approach 1:
The system segments quota enforcement into folder-level operations rather than tenant-level operations. Each folder's quota counter can be updated independently without locking other folders, enabling parallel storage operations across multiple folders while maintaining reliable quota enforcement at each folder level.
Solution Approach 2:
The system performs preliminary allocation of quota chunks to folders in advance. When storage operations occur, the pre-allocated folder quotas are used immediately without requiring locks on the parent tenant quota, enabling parallel operations while maintaining enforcement accuracy through periodic reconciliation.
3Stability of the object's composition
If expensive two-phase commit operations are used for each storage operation, then transaction consistency is maintained, but operation speed and efficiency deteriorate
Solution Approach 1:
The patent segments the transactional scope from tenant-level to folder-level operations. Each folder maintains its own quota counter that can be updated independently without requiring two-phase commit transactions with the metadata database, dramatically improving operation speed while maintaining consistency through periodic aggregation.
Solution Approach 2:
The system performs preliminary quota allocation to folders in advance, storing quota chunks that can be consumed immediately without transactional overhead. This preliminary action eliminates the need for expensive two-phase commits during routine storage operations, improving speed while maintaining consistency through periodic reconciliation.
Data Source
AI summary
A method and system for enforcing resource quotas in cloud storage systems are provided. The method comprises receiving a request to write an object to a target folder of a tenant, wherein the tenant is initially configured with a tenant quota limit and each of a plurality of folders of the tenant initially is configured with a folder quota limit, wherein the tenant quota limit is then dynamically allocated to the plurality of folders of the tenant; determining whether the folder quota limit of the target folder of the tenant is sufficient for storage of the object; upon determining that the folder quota limit of the target folder is sufficient, increasing a folder quota usage of the target folder by a delta value; and storing the object in the target folder.


