Persistent Duplex Connection for Asynchronous Content Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content delivery systems face inefficiencies in network resource utilization and data transmission, particularly over wireless networks, due to the need for frequent connection establishment and retransmission of content, which leads to increased latency and resource consumption.

Innovation Solution

Implementing a persistent duplex network connection between content management systems and user devices, allowing for asynchronous communication and proactive synchronization of content state using probabilistic data structures like Bloom filters to avoid retransmitting already received content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frequent connection establishment and retransmission are used to ensure content delivery, then content availability is improved, but network resource consumption and latency increase

Engineering Contradiction:
Improvecontent availabilityVSAvoidnetwork resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by establishing persistent connections before content delivery is needed, and by proactively synchronizing content state information. The client device sends Bloom filters ahead of time to indicate locally cached content, allowing the server to prepare appropriate content responses without waiting for actual content requests, thereby reducing subsequent retransmissions and resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the client device continuously provides Bloom filter representations of its local content cache to the server. This feedback enables the server to adapt its content delivery strategy by identifying which content items are already cached and which need to be transmitted, reducing unnecessary retransmissions and optimizing network resource usage.

Inventive Principle:
Principle #23Feedback

2Loss of time

If persistent connections are maintained to reduce latency, then response time is improved, but connection management complexity increases

Engineering Contradiction:
Improveresponse timeVSAvoidconnection management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system employs self-service mechanisms where the client device autonomously generates and sends Bloom filters to represent its local content state, and the server automatically processes these filters to determine optimal content delivery. This automation reduces the need for complex manual connection management while maintaining persistent connections for efficient content synchronization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The Bloom filter acts as an intermediary data structure that simplifies communication between client and server. Instead of managing complex direct content state exchanges, the system uses Bloom filters as a compact representation that enables efficient content synchronization over persistent connections, reducing the complexity of connection management while maintaining low latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If content state synchronization is performed to avoid retransmission, then bandwidth efficiency is improved, but data transmission overhead increases

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoiddata transmission overhead
Core Design Contradiction:
Loss of energyVSQuantity of substance

Solution Approach 1:

The system uses Bloom filters as compact copies or representations of the actual content cache state. Instead of transmitting full content metadata or complete content lists, the system transmits these compressed probabilistic data structures that occupy minimal space but convey sufficient information for the server to determine content delivery decisions, thereby reducing data transmission overhead while improving bandwidth efficiency.

Inventive Principle:
Principle #26Copying

4Productivity

If probabilistic data structures like Bloom filters are used for content state representation, then synchronization efficiency is improved, but memory usage increases

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The system adjusts parameters of the Bloom filter structure to optimize the balance between synchronization efficiency and memory usage. By tuning parameters such as filter size, number of hash functions, and false positive rates, the system can adapt the memory requirements to match available resources while maintaining effective content state synchronization and avoiding unnecessary content retransmission.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10154116B1Efficient synchronization of locally-available content
Publication Date: 2018.12.11 AMAZON TECH INC
  • US10154116B1 patent drawing
  • US10154116B1 patent drawing
  • US10154116B1 patent drawing

AI summary

Features are provided for the use of persistent connections and efficient content synchronization in content delivery environments. A content management system may provide content feeds to user devices using a persistent duplex connection over which the content management system and user devices may communicate asynchronously. By using a persistent duplex connection to asynchronously communicate with user devices, the content management system can provide content for the content feeds while, in parallel, receiving requests and commands from the user devices, responding to the requests and commands, and transmitting other requests and commands to the user devices. In addition, the content management system and a particular user device can exchange information regarding the content items that the user device has or should have already received.