Dynamic Flow Control for Cross-Cloud Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cross-cloud migration of virtual machines and data often fails due to buffer overflow in WAN optimizers, causing non-linearity in data transfer and violating progress requirements, leading to aborts in migration processes.

Innovation Solution

Implementing a method to throttle data transfer based on computed average transfer rates, using statistics to prevent buffer overflow by controlling the data flow between local and remote computing systems, ensuring continuous migration without aborts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If WAN optimizers perform compression and deduplication to improve data transfer efficiency, then throughput is improved, but the data buffer fills faster causing non-linearity and transfer interruptions

Engineering Contradiction:
Improvedata transfer throughputVSAvoidcontinuous data transfer
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by having the receiving WAN optimizer send buffer status information back to the sending WAN optimizer. This allows the sending side to adjust its data transmission rate based on the current buffer state, preventing buffer overflow while maintaining high throughput through dynamic rate adaptation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies dynamics by making the data transmission rate variable rather than constant. The sending WAN optimizer dynamically adjusts the transmission rate based on feedback from the receiving side, allowing the system to adapt to changing buffer conditions and maintain continuous operation without fixed rate limitations.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If the receiving WAN optimizer processes more data due to compression and deduplication, then data integrity is improved, but the buffer fills faster causing transfer pauses

Engineering Contradiction:
Improvedata volume processedVSAvoidtransfer pause duration
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary action by having the receiving WAN optimizer proactively send buffer status feedback to the sending side before the buffer becomes full. This allows the sending side to pre-adjust its transmission rate and prevent buffer overflow, avoiding transfer pauses entirely rather than reacting after the buffer fills.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If constant data flow is maintained to meet progress requirements, then migration completion is ensured, but buffer overflow occurs due to non-linear processing

Engineering Contradiction:
Improvemigration progress rateVSAvoidbuffer overflow
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the data transmission rate parameter based on buffer status feedback. Instead of maintaining a constant high rate that causes overflow, the system varies the transmission rate parameter to match the receiving side's processing capacity, ensuring both progress requirements and buffer constraints are satisfied.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10754577B2Dynamic flow control for transferring data efficiently and effectively over non-linear buffered network paths
Publication Date: 2020.08.25 VMWARE INC
  • US10754577B2 patent drawing
  • US10754577B2 patent drawing
  • US10754577B2 patent drawing

AI summary

A method of transferring data between local and remote computing systems includes the step of transferring data between the local and remote computing systems via a local buffer in the local computing system and a series of steps carried out during transferring of data from the local to the remote computing system. The steps include receiving a statistic from the remote computing system, computing an average transfer rate of the data transfer between the local and remote computing systems based on the statistic, determining whether or not a throttle condition is in effect based on the computed average transfer rate, and upon determining that the throttle condition is in effect, throttling the transferring of data into the local buffer.