HTTP HEAD Prefetching for Proxy Cache Latency and Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional disk-based caching techniques for accelerating network traffic over wide area networks (WANs) face issues such as high memory consumption, inaccurate freshness values leading to stale data transmission, and security risks due to unauthenticated proxy servers, while prefetching often exacerbates delays by competing with actual requests.

Innovation Solution

The solution involves a method of optimizing network traffic using HTTP-based techniques, including multi-tiered caching, improved domain name resolution, and security measures, such as storing objects in cache based on size, using cooperating intermediaries to reduce latency, and ensuring secure data transmission by authenticating user requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional disk-based caching techniques are used to accelerate network traffic, then network traffic acceleration is achieved, but memory consumption increases significantly

Engineering Contradiction:
Improvenetwork traffic accelerationVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The cache is segmented into two distinct parts: a disk-based cache for storing cached objects and an in-memory cache for storing only cache index entries. This segmentation allows the system to maintain a large cache capacity on disk while consuming minimal memory, resolving the contradiction between cache size and memory consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from a single-dimensional cache architecture (either disk-based or memory-based) to a two-dimensional hierarchical architecture combining disk and memory. The disk provides large-capacity storage while memory provides fast indexing, creating a multi-layered cache system that optimizes both speed and resource usage.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If freshness values are used to determine cache validity, then cache transmission efficiency is improved, but data accuracy deteriorates due to stale information

Engineering Contradiction:
Improvecache transmission efficiencyVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation by sending a validation request (such as an HTTP HEAD request) to the origin server before transmitting the cached object to the client. This preliminary action ensures the cached data is still valid and not stale, maintaining data accuracy while preserving cache efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the origin server responds to validation requests with status information about the cached object's freshness. This feedback loop allows the cache to accurately determine whether cached data is still valid, preventing transmission of stale information while maintaining high cache hit rates.

Inventive Principle:
Principle #23Feedback

3Loss of energy

If prefetching is used to identify and request files before actual requests, then network traffic is reduced, but user experience deteriorates due to competing traffic

Engineering Contradiction:
Improvenetwork traffic reductionVSAvoiduser experience delay
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

Instead of aggressively prefetching all potentially needed files, the system uses a more conservative approach by validating cache freshness only when necessary and using validation requests that compete minimally with user traffic. This partial action approach reduces network traffic without significantly impacting user experience.

Inventive Principle:
Principle #16Partial or excessive action

4Loss of time

If proxy servers are deployed to respond to user requests from cache, then network delays are reduced, but security risks increase due to lack of authentication

Engineering Contradiction:
Improvenetwork delay reductionVSAvoidsecurity risks
Core Design Contradiction:
Loss of timeVSObject-affected harmful factors

Solution Approach 1:

The system introduces an intermediary validation mechanism where the proxy server acts as a mediator between the client and origin server. The proxy validates cache freshness by communicating with the origin server and only serves cached objects when validation confirms they are still valid, maintaining security while reducing network delays.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7809818B2Systems and method of using HTTP head command for prefetching
Publication Date: 2010.10.05 CITRIX SYSTEMS INC
  • US7809818B2 patent drawing
  • US7809818B2 patent drawing
  • US7809818B2 patent drawing

AI summary

The present solution provides a variety of techniques for accelerating and optimizing network traffic, such as HTTP based network traffic. The solution described herein provides techniques in the areas of proxy caching, protocol acceleration, domain name resolution acceleration as well as compression improvements. In some cases, the present solution provides various prefetching and/or prefreshening techniques to improve intermediary or proxy caching, such as HTTP proxy caching. In other cases, the present solution provides techniques for accelerating a protocol by improving the efficiency of obtaining and servicing data from an originating server to server to clients. In another cases, the present solution accelerates domain name resolution more quickly. As every HTTP access starts with a URL that includes a hostname that must be resolved via domain name resolution into an IP address, the present solution helps accelerate HTTP access. In some cases, the present solution improves compression techniques by prefetching non-cacheable and cacheable content to use for compressing network traffic, such as HTTP. The acceleration and optimization techniques described herein may be deployed on the client as a client agent or as part of a browser, as well as on any type and form of intermediary device, such as an appliance, proxying device or any type of interception caching and/or proxying device.