Web Cache Content Negotiation via Request Attribute Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content negotiation schemes in web servers often cache only the first requested variant of a resource, leading to incorrect responses for subsequent requests, and require complex URL structures and client cooperation, which complicates search engine optimization and user experience.

Innovation Solution

A system that caches different versions of web content based on HTTP request attributes, such as headers, cookies, and session attributes, using metadata to determine the appropriate version for each request, allowing for transparent content negotiation and simplifying URL structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If content negotiation schemes cache only the first requested variant, then caching simplicity is maintained, but response accuracy for subsequent requests deteriorates

Engineering Contradiction:
Improvecaching mechanism complexityVSAvoidcontent delivery accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The cache entry is segmented into multiple variant copies, each stored separately with unique identifiers. Instead of caching only one variant, the system caches all possible variants (e.g., different languages, versions) of a resource, allowing accurate retrieval based on the specific request attributes while maintaining a structured and manageable cache organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a variant identifier or metadata field as an intermediary element within the cache entry structure. This intermediary component enables the cache to distinguish between different variants of the same resource and select the appropriate one based on request attributes, resolving the conflict between simple caching and accurate content delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If URL structures are used to encode variation dimensions, then content differentiation is achieved, but URL structure complexity and search engine optimization deteriorate

Engineering Contradiction:
Improvecontent variation capabilityVSAvoidURL structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The variation information is extracted from the URL structure and placed into separate cache metadata fields or headers. Instead of encoding language, version, or other variation dimensions directly in the URL path or query string, the system uses the cache infrastructure to store and manage these variations, keeping URLs clean and search-engine-friendly while maintaining full content differentiation capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cache system serves multiple functions: it stores the actual content, manages variation identification, handles content negotiation, and provides selective retrieval. By making the cache infrastructure multi-functional, the system eliminates the need for complex URL encodings and achieves content differentiation through a single universal mechanism rather than multiple URL-based approaches.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8463998B1System and method for managing page variations in a page delivery cache
Publication Date: 2013.06.11 OPEN TEXT SA ULC
  • US8463998B1 patent drawing
  • US8463998B1 patent drawing
  • US8463998B1 patent drawing

AI summary

Embodiments disclosed herein provide a high performance content delivery system in which versions of content are cached for servicing web site requests containing the same uniform resource locator (URL). When a page is cached, certain metadata is also stored along with the page. That metadata includes a description of what extra attributes, if any, must be consulted to determine what version of content to serve in response to a request. When a request is fielded, a cache reader consults this metadata at a primary cache address, then extracts the values of attributes, if any are specified, and uses them in conjunction with the URL to search for an appropriate response at a secondary cache address. These attributes may include HTTP request headers, cookies, query string, and session variables. If no entry exists at the secondary address, the request is forwarded to a page generator at the back-end.