Storage Driver Quota Enforcement in Cloud Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud services face difficulties in scaling applications and managing storage quotas for external storage systems that do not provide per-folder or per-tenant quota enforcement, leading to unawareness of available storage space and potential quota exceedance.

Innovation Solution

A distributed computing system with a quota database, activation service, and remote storage driver that tracks usage information, enforces quotas by restricting access when limits are exceeded, and periodically updates the storage usage to maintain accurate tracking and compliance with quotas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If external storage systems provide limited quota enforcement (only at root level), then device complexity is reduced, but storage management precision deteriorates (cannot track per-folder or per-tenant usage)

Engineering Contradiction:
Improvequota enforcement mechanismVSAvoidstorage usage tracking
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent introduces a storage driver as an intermediary component between the application and the external storage system. This driver intercepts storage operations (read, write, delete) and maintains a local cache of usage information, enabling precise tracking of storage consumption at the application level without requiring the external storage system to provide complex per-folder or per-tenant quota enforcement capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If cloud service tracks storage usage by scanning external storage, then storage usage accuracy is improved, but processing time increases

Engineering Contradiction:
Improvestorage usage accuracyVSAvoidquota tracking time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The storage driver performs preliminary actions by maintaining a local cache of usage information and updating it proactively as storage operations occur. This allows the system to have usage data ready before it is needed for quota checks, eliminating the need for time-consuming scans at the moment of quota verification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the storage driver continuously monitors storage operations and updates the usage cache in real-time. The activation service periodically checks this cached information and provides feedback to update the database, creating an efficient closed-loop system that maintains accuracy without continuous scanning.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple processes access external storage independently, then processing speed is improved, but quota management reliability deteriorates (cannot enforce shared quotas)

Engineering Contradiction:
Improveprocessing speedVSAvoidquota enforcement
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges the quota enforcement functionality into a shared storage driver component that all processes use. The driver maintains a centralized usage cache that aggregates storage consumption from multiple processes, enabling reliable quota enforcement across all processes while allowing them to access storage independently and concurrently.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10218569B2Distributed storage quota enforcement
Publication Date: 2019.02.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10218569B2 patent drawing
  • US10218569B2 patent drawing
  • US10218569B2 patent drawing

AI summary

Embodiments are directed to client-side enforcement of storage quotas in a cloud service or distributed computing environment. A storage driver is configured to monitor access to an external storage system by a cloud process and to enforce storage limits for the external storage system. The storage driver intercepts reads and writes from the process to the external storage system and updates a local state to track the process's usage of the external storage system. A storage quota database is periodically checked for an updated storage usage and, if the updated storage usage is not present, then the external storage is scanned to obtain the updated storage usage. The updated storage usage is provided to the storage driver, which overwriting the local state. The storage driver continues to update the local state based upon the intercepted reads and writes.