Delta Compression Network Optimizer for Bandwidth Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Speed
If caching is used for frequently changing resources, then delivery speed improves, but the cached version quickly becomes stale
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.
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.
Data Source
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.


