Client Cache Resource Notification via Incremental Bloom Filters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the context of SPDY protocol's 'Push' model, efficiently notifying a server device about the availability of resources in a client device's cache memories is challenging due to large cache sizes and the potential for excessive bandwidth usage, especially when incorporating Bloom filters to optimize the push of secondary resources, which can result in unacceptable delays and overhead.
Innovation Solution
A method involving filtering and splitting the list of resources in the client device's cache memories based on relevant criteria to create a restricted list of most important resources, allowing early notification to the server device through data structures like Bloom filters, thereby reducing the amount of data transmitted and optimizing the push of secondary resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the client device sends a complete Bloom filter representing all cached resources to the server device, then the server can accurately determine resource availability, but the notification size and transmission time become excessively large
Solution Approach 1:
The patent segments the complete Bloom filter into multiple incremental Bloom filters based on resource categories (e.g., static resources, dynamic resources, media resources). Each incremental Bloom filter represents a subset of cached resources and is sent separately to the server device, reducing the size of each individual notification while maintaining overall accuracy.
Solution Approach 2:
The client device pre-calculates and prepares multiple incremental Bloom filters in advance, organizing cached resources into different categories before the server requests cache information. This preliminary organization allows the client to send only relevant incremental Bloom filters based on the server's specific resource requests, avoiding transmission of unnecessary data.
2Measurement precision
If the client device sends a complete Bloom filter representing all cached resources, then resource availability can be accurately determined, but the bandwidth consumption becomes excessive
Solution Approach 1:
The patent applies local quality by making different parts of the cache information have different transmission priorities and granularities. Incremental Bloom filters for different resource categories are sent with different levels of detail based on their importance and the server's specific needs, optimizing bandwidth usage while maintaining necessary accuracy for critical resources.
Solution Approach 2:
Instead of sending the complete Bloom filter, the patent sends partial Bloom filters that cover only specific subsets of cached resources. The server receives sufficient information to make accurate decisions about the resources it needs to push, without requiring complete cache information, thus reducing bandwidth consumption while maintaining effectiveness.
3Productivity
If the client device processes and sends complete cache information, then the server can push all necessary secondary resources, but the processing overhead and complexity increase
Solution Approach 1:
The patent segments both the processing and transmission of cache information into multiple incremental Bloom filters organized by resource categories. This segmentation simplifies the processing complexity by breaking down the large-scale operation into smaller, more manageable tasks that can be executed and transmitted incrementally.
4Productivity
If incremental Bloom filters are used to reduce notification size, then transmission efficiency improves, but the complexity of generating and managing multiple filters increases
Solution Approach 1:
The client device performs preliminary organization of cached resources into different categories and pre-generates multiple incremental Bloom filters before the server requests cache information. This preliminary action eliminates the need for complex real-time filter generation and management during the actual resource pushing process, simplifying the overall system complexity while maintaining transmission efficiency.
Data Source
AI summary
The present invention relates to the notification of a server device with the availability of resources in cache memories of a client device and to the serving of digital resources in such a client-server communication system. The notifying method comprises: obtaining a first list of resources available in the cache memories of the client device; filtering the first list according to filtering criteria relating to a resource parameter, to obtain a filtered list of fewer resources available in the client device or splitting the first list according to splitting criteria relating to a resource parameter, to obtain a plurality of sub-lists of resources available in the client device; and notifying the server device with data structures representing the filtered list or sub-lists of resources.


