Distributed API Accounting for Edge Server Limit Enforcement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems face challenges in efficiently tracking and enforcing API request limits across distributed edge servers due to high computational costs and potential losses in notification processing, leading to inconsistencies in service delivery.

Innovation Solution

Implementing a distributed API accounting system with a master counter server that aggregates local counter values from agents on edge servers, allowing asynchronous updates and agent replacement to ensure continuous tracking and enforcement of API request limits without disrupting service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a central counter tracks every API request notification in real-time, then accurate API request limit enforcement is achieved, but computational cost and processing time increase significantly

Engineering Contradiction:
ImproveAPI request limit enforcement accuracyVSAvoidcentral server computational cost
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent divides the centralized counter into distributed local counters at each edge server. Each edge server independently tracks its own API request count, eliminating the need for the central server to process every individual request notification. This segmentation reduces computational load on the central server while maintaining accurate tracking through periodic aggregation of local counter values.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having edge servers pre-calculate and maintain local counter values before the central server needs to aggregate them. Edge servers continuously update their local counters as requests are serviced, so when the central server requests aggregation, the data is already prepared and available immediately, reducing processing time and computational overhead.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If the central server processes all notification data, then complete tracking of serviced API requests is achieved, but system complexity and processing overhead increase

Engineering Contradiction:
Improvenotification tracking completenessVSAvoidcentral server processing complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the tracking function by distributing local counters to each edge server. Each edge server independently maintains its own counter, reducing the complexity of centralized processing. The central server only performs simple aggregation of these segmented local values, significantly reducing overall system complexity while maintaining complete tracking through the sum of all local counters.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service by enabling edge servers to autonomously maintain their own local counters without requiring continuous central server intervention. Each edge server independently tracks its requests and only communicates with the central server when aggregation is needed, reducing the processing complexity burden on the central server while ensuring complete tracking information is maintained at the source.

Inventive Principle:
Principle #25Self-service

3Reliability

If connection between central server and edge servers is maintained, then real-time notification reception is achieved, but vulnerability to connection losses and service disruptions increases

Engineering Contradiction:
Improvenotification delivery reliabilityVSAvoidconnection loss impact
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary action by having edge servers pre-calculate and continuously maintain local counter values independently of central server connectivity. This ensures that even when connections are lost, the edge servers can continue tracking requests locally. When connectivity is restored, the pre-maintained local values can be aggregated without interruption, reducing the impact of connection losses on overall system reliability.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If every serviced API request is notified in real-time, then accurate counting is achieved, but processing time and system response latency increase

Engineering Contradiction:
ImproveAPI request count accuracyVSAvoidnotification processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the counting process into independent local counter operations at each edge server, which update immediately without waiting for central server processing. This maintains precise local tracking while eliminating the time delay associated with real-time centralized processing. The central server performs aggregation only when needed, significantly reducing overall processing time while maintaining count accuracy through the segmented approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having edge servers continuously update their local counters in advance of any aggregation request. This pre-calculation ensures that when the central server needs the total count, the data is already prepared and available immediately, eliminating processing delays while maintaining accurate measurement through the pre-maintained local values.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11687383B1Distributed API accounting
Publication Date: 2023.06.27 GOOGLE LLC
  • US11687383B1 patent drawing
  • US11687383B1 patent drawing
  • US11687383B1 patent drawing

AI summary

Distributed API accounting is disclosed, including: receiving from respective ones of a plurality of agents, a plurality of local counter values corresponding to an application programming interface (API) service counter identifier; logging the plurality of local counter values corresponding to the API service counter identifier; receiving a request for an aggregated counter value associated with the API service counter identifier; combining at least some of the logged plurality of local counter values associated with the API service counter identifier to determine the aggregated counter value corresponding to the API service counter identifier; and storing the aggregated counter value corresponding to the API service counter identifier.