Bookkeeping Engine Quota Enforcement for Object Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata access controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If quota thresholds are enforced for each control entity, then resource overutilization is prevented, but read/write overhead increases

Engineering Contradiction:
Improveresource allocationVSAvoidread/write overhead
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If multiple bookkeeping engines are used for different control entities, then quota enforcement accuracy is improved, but processing time increases

Engineering Contradiction:
Improvequota enforcement accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11157205B2Object storage system with control entity quota enforcement
Publication Date: 2021.10.26 WESTERN DIGITAL TECHNOLOGIES INC
  • US11157205B2 patent drawing
  • US11157205B2 patent drawing
  • US11157205B2 patent drawing

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.