Client Cache Map Authentication via Test Fingerprints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current client cache systems lack efficient methods to determine whether documents are already stored in a client cache, leading to potential resource wastage and suboptimal web browsing experiences due to unnecessary document uploads.

Innovation Solution

A server computer uses a client cache map, potentially implemented as a Bloom filter, to verify the presence of documents in a client cache before uploading, ensuring that documents are only uploaded if they are not already cached and fresh, thereby optimizing network bandwidth and user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server preloads documents to the client cache without knowing whether they already exist, then the client cache may be populated with duplicate documents, but network bandwidth is wasted due to unnecessary uploads

Engineering Contradiction:
Improvecache accuracyVSAvoidnetwork bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The server performs preliminary actions by obtaining client cache information (such as cache maps or Bloom filters) before initiating document uploads. This allows the server to check which documents already exist in the client cache and avoid uploading duplicates, thus preventing network bandwidth waste while ensuring accurate cache population

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the client provides cache status information (cache map or Bloom filter) back to the server. The server uses this feedback to make informed decisions about which documents to upload, avoiding unnecessary transmissions of documents that already exist in the client cache

Inventive Principle:
Principle #23Feedback

2Reliability

If the server queries the client device with multiple fingerprints including test fingerprints, then authentication reliability is improved, but communication overhead increases

Engineering Contradiction:
Improveauthentication reliabilityVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The server performs a limited number of queries with fingerprints (including test fingerprints) rather than exhaustive verification. This partial action approach provides sufficient authentication reliability while keeping communication overhead manageable by not performing unnecessary additional queries

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The Bloom filter acts as an intermediary data structure that allows the server to efficiently verify client identity without requiring extensive back-and-forth communication. The Bloom filter enables the server to check multiple fingerprints simultaneously, reducing communication overhead while maintaining authentication reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8996653B1Systems and methods for client authentication
Publication Date: 2015.03.31 GOOGLE LLC
  • US8996653B1 patent drawing
  • US8996653B1 patent drawing
  • US8996653B1 patent drawing

AI summary

A server computer queries a client device using a test fingerprint that does not correspond to any document stored in the client device, and restricts access by the client device to the server computer if the query result is incorrect. In some implementations, the server selects a set of first fingerprints associated with documents stored in the client device, generates a set of test fingerprints, none of which are associated with any document stored in the client device, and queries the client device using fingerprints from the set of first fingerprints and the set of test fingerprints to produce query results. The server computer restricts access by the client device to the server computer if at least one of the query results is incorrect, and enables the client device to access the server computer if at least a predefined number of the query results are correct and none are incorrect.