Distributed Resource Control via Local Counters
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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).