Read Weight Affinities for Block Cache Server Load Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for distributing read requests across multiple software repository servers often lead to inefficient data retrieval due to uneven load distribution and resource competition, resulting in suboptimal performance and increased costs for caching and server resources.

Innovation Solution

A system that assigns weights to repository servers based on their performance and load, using a weight table to determine the optimal server for read requests and distribute load across multiple servers, thereby optimizing read operations and reducing resource competition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If read requests are distributed equally across all servers, then load distribution appears balanced, but read performance deteriorates due to ignoring server-specific cache effectiveness and affinity

Engineering Contradiction:
Improveread performanceVSAvoidload distribution simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies local quality by assigning different read weights to different servers based on their individual cache performance characteristics. Each server is evaluated for its affinity to specific data sets, and read requests are routed proportionally to servers that have demonstrated better cache performance for particular data types, rather than distributing requests uniformly across all servers.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts the read weight parameter for each server based on observed cache performance metrics. By monitoring which servers effectively serve data from cache versus requiring disk reads, the system modifies the probability weights assigned to each server, thereby optimizing read performance through parameter adaptation rather than static equal distribution.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If read requests are directed to a single server, then cache efficiency improves for that server, but system reliability deteriorates due to single point of failure risk

Engineering Contradiction:
Improvecache efficiencyVSAvoidsystem availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the read request traffic by data set, directing different portions of traffic to different servers based on their specialized cache performance for specific data types. This segmentation allows each server to maintain optimized cache efficiency for its preferred data sets while the overall system maintains reliability through distributed architecture where no single server is a mandatory single point of failure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts read weights based on real-time or near-real-time performance monitoring. If a server becomes unavailable or performance degrades, the read weights are automatically recalibrated to redirect traffic to alternative servers, thereby maintaining both cache efficiency where possible and system reliability through adaptive load redistribution.

Inventive Principle:
Principle #15Dynamics

3Productivity

If more servers are added to distribute load, then system capacity increases, but resource competition intensifies and performance optimization becomes more complex

Engineering Contradiction:
Improvesystem capacityVSAvoidweight management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically monitoring cache performance metrics and adjusting read weights without manual intervention. The weight calculation and redistribution logic is embedded in the system itself, allowing it to autonomously optimize the complex multi-server environment by evaluating performance data and recalibrating traffic distribution based on observed affinity patterns.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback loops where read performance metrics from each server are continuously monitored and fed back into the weight calculation algorithm. This feedback mechanism allows the system to automatically adapt to changing conditions, optimizing the distribution across an increasing number of servers without requiring proportional increases in management complexity, as the system self-regulates based on performance feedback.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10666719B2Using read weight affinities to optimize the reading of block cache data
Publication Date: 2020.05.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10666719B2 patent drawing
  • US10666719B2 patent drawing
  • US10666719B2 patent drawing

AI summary

A system for directing reads includes an input interface and a processor. The input interface is to receive a request to read from a plurality of servers. The processor is to determine a set of weights for a set of healthy servers of the plurality of servers and determine a server to receive the request based at least in part on the set of weights.