Distributed App Sync via Dynamic Packet Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If synchronization request packets are prioritized and transmitted separately, then jitter is reduced, but device complexity and communication overhead increase
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.
3Measurement precision
If transmission interval of synchronization request packets is reduced, then synchronicity is improved, but network load increases causing more jitter
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.
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.
Data Source
Figure 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.