Delta Compression Network Optimizer for Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for reducing network resource transmission size, such as delta encoding and shared dictionary compression, have not been widely adopted due to administrative difficulties and the need for extensive storage and client support, especially for frequently changing resources.

Innovation Solution

A system utilizing a near end network optimizer and a far end network optimizer, which store and manage resource versions and differences, allowing the transmission of deltas between versions instead of entire resources, reducing bandwidth usage and improving performance without requiring extensive client support or storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If delta encoding is used to reduce transmission size, then network bandwidth usage decreases, but the origin server would have to store many versions of the website

Engineering Contradiction:
Improvenetwork bandwidth usageVSAvoidstorage space at origin server
Core Design Contradiction:
Loss of energyVSVolume of stationary object

Solution Approach 1:

The patent introduces a proxy server as an intermediary between the client and origin server. The proxy server stores multiple versions of web resources and performs delta encoding locally, eliminating the need for the origin server to store multiple versions. This resolves the contradiction by transferring the storage burden from the origin server to the proxy server, while still achieving bandwidth reduction through delta encoding.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If shared dictionary compression is used, then transmission size decreases, but it requires support on the client devices and is administratively difficult to maintain

Engineering Contradiction:
Improvetransmission sizeVSAvoidclient device support requirements
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The proxy server acts as an intermediary that performs compression independently of the client device. By implementing the compression logic on the server side rather than requiring client support, the system achieves transmission size reduction without increasing client device complexity or requiring client-side software updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If caching is used for frequently changing resources, then delivery speed improves, but the cached version quickly becomes stale

Engineering Contradiction:
Improvedelivery speedVSAvoidresource freshness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements dynamic versioning where the proxy server maintains multiple versions of resources and can selectively serve different versions based on freshness requirements. For frequently changing resources, the system uses delta encoding to efficiently update cached versions, allowing the cache to remain dynamic and current rather than static and quickly stale.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments resources into different version groups and uses delta encoding to represent only the changes between versions. This allows the proxy server to store multiple versions efficiently and serve the most appropriate version to each client, maintaining both delivery speed and resource freshness by providing updated content without transmitting complete resources.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11044335B2Method and apparatus for reducing network resource transmission size using delta compression
Publication Date: 2021.06.22 CLOUDFLARE INC
  • US11044335B2 patent drawing
  • US11044335B2 patent drawing
  • US11044335B2 patent drawing

AI summary

A near end point of presence (PoP) of a cloud proxy service receives, from a client device, a request for a network resource. A far end PoP from a plurality of PoPs of the cloud proxy service is identified. Responsive to determining that a version of the network resource is stored in the near end PoP, a request for the network resource is transmitted to the far end PoP with a version identifier that identifies that version. The far end PoP receives, from the near end PoP, a response that includes difference(s) between the version of the network resource stored in the near end PoP with a most current version of the network resource. The response does not include the entire network resource. The near end PoP applies the specified difference(s) to the version that it has stored to generate an updated version of the network resource, and transmits it to the client device.