Adaptive Data Prefetching for Cloud Server Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data prefetch technologies from Cloud servers operate with fixed data amounts, leading to inefficient server interruptions and network congestion, especially in scenarios with varying bandwidth and user reading behavior.

Innovation Solution

An adaptive data prefetch method that dynamically adjusts the amount of data in each prefetch operation based on the averaged data transmission rate and user reading behavior, designating specific data blocks as launch blocks to optimize data transfer and adjust fetching indices accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed data amount is used in each prefetch operation, then the prefetch operation is simple to implement, but the server is frequently interrupted and network congestion occurs

Engineering Contradiction:
Improveprefetch operation complexityVSAvoidserver interruption frequency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the prefetch data amount adjustable rather than fixed. The system dynamically determines the number of data blocks to prefetch based on transmission rate and fetching index, allowing the prefetch operation to adapt to changing network conditions and reduce server interruptions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters by introducing a fetching index that modifies the data amount in each prefetch operation. The system adjusts the fetching index based on transmission rate, enabling flexible control over prefetch quantity to optimize server performance and reduce interruptions.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If all data of entire file is transmitted simultaneously, then the prefetch operation is simple, but network congestion is caused in narrow bandwidth scenarios

Engineering Contradiction:
Improveprefetch operation complexityVSAvoidnetwork congestion
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The patent applies segmentation by dividing the prefetch operation into multiple data blocks rather than transmitting the entire file at once. The system transmits a determined number of data blocks in each prefetch operation, which segments the data flow and prevents network congestion in narrow bandwidth scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses partial action by transmitting only a determined portion of the file data in each prefetch operation rather than all data simultaneously. The fetching index controls the partial amount of data transmitted, preventing network overload while still providing useful prefetching.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If data amount is dynamically adjusted based on transmission rate, then network congestion is avoided and server interruptions are minimized, but the prefetch operation complexity increases

Engineering Contradiction:
Improveprefetch operation efficiencyVSAvoidprefetch operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies feedback by using the transmission rate as input to dynamically adjust the fetching index for subsequent prefetch operations. The system monitors transmission performance and feeds this information back into the data amount determination process, optimizing prefetch efficiency while managing complexity through systematic feedback control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11249650B1Data prefetch method in dynamically adjustable amount
Publication Date: 2022.02.15 QNAP SYST INC
  • US11249650B1 patent drawing
  • US11249650B1 patent drawing
  • US11249650B1 patent drawing

AI summary

A method of prefetching data in a dynamically adjustable amount is executed by: determining a specified number of data blocks according to an averaged data transmission rate and a predetermined fetching index; sending out a data request command to obtain a requested data, wherein the requested data is included in a specified data and consists of the same number of data blocks as the specified number; and receiving and storing the requested data as a prefetch data consisting of the same number of data blocks for prefetch as the specified number. when the specified number is equal to or greater than two, one of the data blocks for prefetch is designated as a launch block for prefetch, and when the launch block for prefetch is read, the fetching index is optionally adjusted according to a predetermined rule.