Distributed App Sync via Dynamic Packet Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for synchronizing distributed applications over communication networks face challenges due to network load and connection instability, leading to jitter in synchronization request packets and reduced synchronicity.

Innovation Solution

A method where a scheduler detects the communication network's state and adapts the transmission of synchronization request packets by varying their intervals, prioritizing them, and adjusting the data stream's rate and size to ensure timely delivery, even under heavy network loads or insufficient conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If synchronization request packets are transmitted periodically in a data stream, then the distributed application can be synchronized, but network load and connection instability cause jitter in packet delivery

Engineering Contradiction:
Improvesynchronization precisionVSAvoidpacket delivery reliability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent applies dynamics by making the transmission interval of synchronization request packets variable rather than fixed. The scheduler dynamically adjusts the interval between consecutive synchronization request packets based on the detected actual state of the communication connection (such as network load, bandwidth availability, and transmission quality). This allows the system to adapt to changing network conditions, transmitting more frequently when conditions are good and less frequently when network load is high, thereby reducing jitter while maintaining synchronization precision.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of transmission interval from a constant value to a variable parameter that is adjusted based on network conditions. The scheduler detects parameters such as network load, bandwidth, and transmission quality, and uses these to determine the optimal interval for transmitting synchronization request packets. This parameter change allows the system to optimize synchronization precision under varying network conditions while avoiding the jitter caused by fixed periodic transmission.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If synchronization request packets are prioritized and transmitted separately, then jitter is reduced, but device complexity and communication overhead increase

Engineering Contradiction:
Improvesynchronization precisionVSAvoidscheduler complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by separating synchronization request packets from application data packets into different communication channels or queues. The scheduler manages these separate channels, allowing synchronization packets to be transmitted with higher priority and more predictable timing. This segmentation reduces the jitter caused by variable network conditions affecting application data, while the added complexity is confined to the scheduler's packet management logic rather than the entire system.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If transmission interval of synchronization request packets is reduced, then synchronicity is improved, but network load increases causing more jitter

Engineering Contradiction:
Improvesynchronization precisionVSAvoidnetwork throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent uses dynamics to adjust the transmission interval of synchronization request packets based on real-time network conditions. When network conditions are favorable (low load, high bandwidth), the interval is reduced to improve synchronization precision. When network load increases, the interval is automatically increased to prevent network congestion and the resulting jitter. This dynamic adjustment optimizes both synchronization precision and network throughput under varying conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The transmission interval parameter is changed from a fixed value to a dynamically adjusted parameter based on network throughput and load conditions. The scheduler monitors network parameters such as available bandwidth, current load, and transmission quality, and adjusts the synchronization packet interval accordingly. This allows the system to achieve high synchronization precision when network conditions permit while avoiding the throughput degradation that would result from consistently high-frequency transmission.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4072042B1Synchronizing a distributed application via a communication network
Publication Date: 2024.10.23 DEUTSCHE TELEKOM AG
  • EP4072042B1 patent drawingFigure 1

AI summary

A method for synchronizing a distributed application (12 32), comprising the steps: an application backend (12) of a distributed application executed by a server (10) transmits application data packets (14) to an application frontend (32) of the distributed application executed by a terminal device (30) via a communication connection (22) provided by a communication network (20); the application backend (12) transmits a synchronization request packet (15) to the application frontend (32) via the communication connection (22); the application backend (12) retrieves a backend timestamp from a clock (11) of the server (10); the application frontend (32), upon receipt of the synchronization request packet (15), retrieves a frontend timestamp from a clock (31) of the terminal device (30) and transmits the retrieved frontend timestamp to the application backend (12) via the communication connection (22); and the application backend (12) calculates a time offset of the transmitted frontend timestamp from the retrieved backend timestamp and uses the calculated time offset as a synchronizing means; and a distributed application (12, 32) and a computer program product.