Bookkeeping Engine Quota Enforcement for Object Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed object storage systems face challenges in effectively managing and enforcing quotas across multiple control entities, such as accounts, users, and buckets, to ensure data access control and prevent resource overutilization, which is crucial for billing and resource allocation.
Innovation Solution
A system with an object data store and a bookkeeping engine that determines quota thresholds and usage values for each control entity, denying access requests when thresholds are exceeded, and includes features like quota notifications and adjustments to manage storage resources efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If quota enforcement is implemented for multiple control entities, then data access control and resource allocation are improved, but system complexity and overhead increase
Solution Approach 1:
The system segments quota management into separate bookkeeping engines for different control entity types (account bookkeeping engine, user bookkeeping engine, bucket bookkeeping engine). Each engine independently manages quotas for its specific entity type, dividing the complex quota enforcement task into manageable segments that can operate autonomously.
Solution Approach 2:
The bookkeeping engines act as intermediary components between storage requests and the object data store. They intercept requests, evaluate quota conditions, and only allow access when quotas are satisfied, thereby enforcing access control without requiring modifications to the core storage system.
2Reliability
If quota thresholds are enforced for each control entity, then resource overutilization is prevented, but read/write overhead increases
Solution Approach 1:
The system performs preliminary quota evaluation by determining usage values and comparing them against thresholds before allowing storage operations to proceed. The bookkeeping engines calculate usage values in advance and make access decisions based on predetermined quota conditions, preventing unauthorized resource consumption.
Solution Approach 2:
The bookkeeping engines autonomously manage quota enforcement without requiring external intervention. They automatically determine usage values, compare against thresholds, and make access decisions independently, reducing the need for manual quota management and external control mechanisms.
3Measurement precision
If multiple bookkeeping engines are used for different control entities, then quota enforcement accuracy is improved, but processing time increases
Solution Approach 1:
The system divides bookkeeping functionality into specialized engines for different control entity types (account, user, bucket). Each engine focuses on a specific entity type, improving measurement precision for that entity while avoiding the overhead of a single general-purpose engine that would need to handle all entity types.
Solution Approach 2:
The bookkeeping engines are integrated into a unified system architecture where they work together through standardized interfaces. The account bookkeeping engine, user bookkeeping engine, and bucket bookkeeping engine coordinate their operations, combining their individual capabilities into a cohesive quota enforcement mechanism.
Data Source
AI summary
Example object storage systems, bookkeeping engines, and methods provide quota enforcement for control entities, such as accounts, users, and buckets. An object data store is configured to enable control entities to access data objects associated with each control entity. Quota thresholds associated with requesting control entities are determined. Object usage values corresponding to the quota thresholds are determined. Data object access requests are denied responsive to object usage values exceeding quota thresholds for the requesting control entities.


