Distributed Usage Aggregation for Near-Real-Time Tenant Resource Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cluster computing systems face delays in enforcing resource usage limits across tenants due to time delays in data aggregation and messaging, leading to potential disproportionate resource usage.

Innovation Solution

Implementing a method that aggregates tenant usage data locally and then in a distributed cache, providing a cluster-wide view in near real-time, allowing for immediate throttling and reducing latency through local caching and aggregation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized aggregation database is used to collect usage data and run periodic scripts, then data consistency is maintained, but time delays occur between data collection and enforcement

Engineering Contradiction:
Improvedata consistencyVSAvoidenforcement delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the centralized aggregation database into multiple distributed cache nodes across the cluster. Each node maintains local usage data and participates in distributed aggregation, eliminating the single-point bottleneck that caused delays. This segmentation allows parallel processing of usage data across multiple nodes simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a distributed cache as an intermediary layer between resource usage generation and enforcement. This intermediary maintains near-real-time usage data locally at each node, enabling immediate enforcement decisions without waiting for centralized database queries, thus reducing enforcement delay while maintaining consistency through distributed synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If usage data is aggregated centrally in real-time, then enforcement latency is reduced, but network traffic and system complexity increase

Engineering Contradiction:
Improveenforcement latencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements local caching of usage data at each cluster node, where each node maintains and processes its own usage data locally. This local quality approach reduces the need for constant centralized aggregation, as enforcement decisions can be made using locally available data, thereby reducing network traffic and system complexity while maintaining low latency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs partial aggregation locally at each node before sending summarized data to the distributed cache. This partial action reduces the volume of data that needs to be transmitted and processed centrally, lowering network traffic and computational complexity while still achieving near-real-time enforcement capabilities.

Inventive Principle:
Principle #16Partial or excessive action

3Use of energy by moving object

If periodic script execution is used for limit enforcement, then system resources are conserved, but enforcement occurs significantly delayed

Engineering Contradiction:
Improvesystem resource consumptionVSAvoidenforcement delay
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent implements continuous monitoring and aggregation of usage data through the distributed cache, replacing periodic script execution. The distributed cache continuously receives and processes usage data from all nodes, maintaining an up-to-date view of resource consumption across the cluster. This continuous action enables immediate enforcement when limits are exceeded, eliminating the delays inherent in periodic checking while managing resources efficiently through event-driven updates.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8799399B2Near-real time distributed usage aggregation system
Publication Date: 2014.08.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8799399B2 patent drawing
  • US8799399B2 patent drawing
  • US8799399B2 patent drawing

AI summary

Gathering tenant usage data of server resources. A method includes a server in a cluster providing server resources for one or more tenants of the server. Data is stored in a local usage cache at the server. The data characterizes the resources provided to the one or more tenants of the server. At the server, data stored in the local usage cache is aggregated on a tenant basis, such that data is aggregated for given tenants. The aggregated data is sent to a distributed cache. At the server, aggregated data from other servers in the cluster is received from the distributed cache. The aggregated data from other servers in the cluster is globally aggregated and stored at an aggregated usage cache at the server in the globally aggregated form.