Distributed Resource Control via Local Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing environments face challenges in real-time resource consumption control due to excessive synchronization between server instances, leading to delays, especially in large-scale systems like SaaS and real-time communication services.

Innovation Solution

A method and system that utilize a global resource consumption counter and proxy servers with a receiver module, resource consumption decision module, queue, local resource consumption counter, and synchronization module to manage resource requests, allowing for local decision-making without excessive synchronization, using a projection of global resource consumption based on locally available data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a global resource consumption counter is synchronized across all server instances in real-time, then resource allocation accuracy is improved, but system performance deteriorates due to excessive synchronization overhead

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the centralized resource counter into multiple local resource counters distributed across different server instances. Each server maintains its own local counter for tracking resource consumption, eliminating the need for continuous synchronization with a central counter. This segmentation allows independent operation of each server while still achieving accurate resource tracking through periodic synchronization only when necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having each server instance pre-calculate and store resource consumption data locally before synchronization is needed. Local resource counters are updated continuously based on actual consumption, and only the net changes are synchronized periodically. This preliminary local tracking eliminates the need for real-time centralized coordination, improving system performance while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If frequent synchronization of resource counters is performed across server instances, then resource consumption tracking accuracy is improved, but response time deteriorates due to synchronization delays

Engineering Contradiction:
Improveresource consumption tracking accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements periodic action by synchronizing resource counters at predetermined intervals rather than continuously. Each server instance updates its local resource counter continuously, but synchronization with other instances occurs only at scheduled periods. This approach maintains accurate tracking while minimizing synchronization overhead and preserving real-time response capabilities between synchronization points.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses copying by creating local copies of the resource counter data structure on each server instance. Each server maintains a local copy that mirrors the global counter state, updated through periodic synchronization. This copying approach allows servers to operate independently using their local copies without blocking waits for centralized updates, eliminating synchronization delays while maintaining data consistency.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If a centralized resource management system is used, then resource allocation consistency is improved, but system complexity increases due to coordination overhead

Engineering Contradiction:
Improveresource allocation consistencyVSAvoidsystem complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent segments the centralized resource management system into distributed local resource managers on each server instance. Each local manager handles resource allocation independently using its local counter, eliminating the need for complex centralized coordination logic. This segmentation reduces system complexity while maintaining consistency through simple periodic counter synchronization rather than complex inter-process communication protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service by enabling each server instance to autonomously manage its own resource allocation using local counters and predetermined synchronization intervals. Each server independently tracks its resource consumption, makes allocation decisions, and only engages in synchronization when needed. This self-service approach eliminates complex centralized coordination overhead while maintaining resource allocation consistency across the distributed system.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3218807B1Method and system for real-time resource consumption control in a distributed computing environment
Publication Date: 2020.12.02 UNIFY GMBH & CO KG
  • EP3218807B1 patent drawingFigure 1
  • EP3218807B1 patent drawingFigure 2
  • EP3218807B1 patent drawingFigure 3

AI summary

The invention refers to a system for real-time resource consumption control in a distributed environment and a corresponding method, the system comprising: a multitude of server instances (Sx) having access to shared resources, whereby each request for a shared resource issued by a client application (CA) is handled by one of the server instances (Sx); a global resource consumption counter (G), representing the overall resource consumption of the multitude of server instances (Sx) at a given time; and a multitude of proxy servers (Lx), each proxy server comprising — a receiver module (R) for receiving resource consumption requests issued from a client application (CA), — a resource consumption decision module (Dm) for accepting or rejecting a resource consumption request, — a queue (Q) for collecting resource consumption requests that have been locally accepted by the respective proxy server (Lx), — a local resource consumption counter (L), representing the global resource consumption as seen by the respective proxy server (Lx), said local resource consumption counter (L) being updated every time a resource consumption request is accepted by the decision module (Dm), the updated value being provided in turn as an input to the decision module (Dm), and — a synchronization module (S) for synchronizing the global resource consumption counter (G) by interfacing with all other server instances (Sx).