Server Rate Limiting for Software Update Bandwidth Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software update download methods face challenges with large installer packages and insufficient bandwidth, leading to bottlenecks and overcommitment of bandwidth during updates to multiple computer systems.

Innovation Solution

Implementing a double-gated rate limit control system where a server splits software updates into smaller parts and only allows downloads if the number of requests is within a predetermined limit, ensuring efficient bandwidth usage and preventing overcommitment by controlling download permissions and rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the server allows all download requests without rate limiting, then all client computers can download updates simultaneously, but bandwidth is overcommitted and bottlenecks occur

Engineering Contradiction:
Improvedownload speedVSAvoidbandwidth availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The server performs preliminary rate limit checks before allowing downloads to proceed. By evaluating the number of active download requests against a predetermined threshold before initiating the download, the server prevents bandwidth overcommitment before it occurs, ensuring reliable bandwidth availability while still allowing maximum productive download rates within limits.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the server splits software packages into smaller parts, then bandwidth usage is optimized and download reliability improves, but the download process becomes more complex

Engineering Contradiction:
Improvedownload completionVSAvoiddownload process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The software package is divided into multiple smaller parts or chunks that can be downloaded independently. This segmentation allows the server to manage bandwidth more effectively by controlling the rate of individual parts, improves reliability through partial downloads and retries, and enables parallel downloading across multiple connections, though it does increase the complexity of the download process.

Inventive Principle:
Principle #1Segmentation

3Reliability

If rate limiting is applied to control download requests, then bandwidth overcommitment is prevented, but some client computers may experience delayed downloads

Engineering Contradiction:
Improvebandwidth managementVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The rate limiting mechanism dynamically adjusts based on current server load and bandwidth availability. When bandwidth is abundant, more download requests are permitted; when bandwidth is constrained, the limit tightens. This dynamic approach prevents bandwidth overcommitment while minimizing download delays by allowing maximum throughput when resources are available.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11409511B2Method and system for downloading information
Publication Date: 2022.08.09 BEIJING DIDI INFINITY TECH & DEV CO LTD
  • US11409511B2 patent drawing
  • US11409511B2 patent drawing
  • US11409511B2 patent drawing

AI summary

Methods and systems for downloading software information are disclosed herein. In one example embodiment, the method includes performing a first determination as to whether a first number of inquiries or download requests received by a server computer is or has been excessive and, if the first determination is that the first number of inquiries or download requests is not or has not been excessive, sending a signal including a first permission to download a software package. Also, the method includes performing a second determination as to whether either the first number or a second number of inquiries or download requests received by the server computer is or has been excessive and, if the second determination is that the first or second number of inquiries or download requests is not or has not been excessive, sending a first part of the software package for receipt by a first client computer.