Server Push Cache Tracking via Cookie Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content delivery networks face inefficiencies in server push mechanisms, particularly when pushing resources to clients that already have them cached, leading to wasted bandwidth and delayed page load times due to incorrect predictions or resource availability checks.

Innovation Solution

A method where a web server maintains a list of 'pushable resources' with associated time-to-live values and sets cookies to track which resources have been pushed to clients, allowing for efficient server-side push of resources without client requests, thereby avoiding the push of already cached resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the server pushes resources to clients without checking cache status, then the server can proactively deliver resources before client requests, but bandwidth is wasted pushing resources clients already have cached

Engineering Contradiction:
Improveresource delivery speedVSAvoidbandwidth waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The server performs preliminary actions by pushing resources to clients before the clients would normally request them. The system identifies resources that are likely to be needed and proactively delivers them, achieving faster resource availability while the cookie-based tracking prevents waste by avoiding pushes of already-cached resources

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where clients send cookies to the server indicating which resources they have cached. The server uses this feedback information to make intelligent decisions about which resources to push, avoiding bandwidth waste on resources that are already present at the client side

Inventive Principle:
Principle #23Feedback

2Loss of energy

If the server checks client cache status before pushing resources, then bandwidth waste is avoided, but additional communication overhead and delays are introduced

Engineering Contradiction:
Improvebandwidth wasteVSAvoidpage load time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The cookie tracking mechanism is set up in advance during initial resource delivery. This preliminary action enables the server to recognize cached resources in future push decisions without requiring real-time cache status checks, thus avoiding additional communication delays while preventing bandwidth waste

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the server uses prediction algorithms to determine which resources to push, then proactive resource delivery is improved, but incorrect predictions lead to wasted bandwidth on already-cached resources

Engineering Contradiction:
Improveresource push efficiencyVSAvoidbandwidth waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system combines prediction algorithms with cookie-based feedback from clients. The feedback provides ground truth information about which resources are already cached, allowing the server to correct prediction errors and avoid pushing resources that clients already have, thus eliminating bandwidth waste while maintaining proactive delivery efficiency

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10791190B2Systems and methods for avoiding server push of objects already cached at a client
Publication Date: 2020.09.29 AKAMAI TECHNOLOGIES INC
  • US10791190B2 patent drawing
  • US10791190B2 patent drawing
  • US10791190B2 patent drawing

AI summary

This patent document describes, among other things, methods, apparatus, and systems for tracking those resources that a server has pushed to a client, e.g., using the HTTP 2.0 or other server push mechanism. Pushed resources may be cached at the client. By tracking such pushed resources, a server can avoid pushing such cached resources in response to subsequent requests from that client; doing so would be wasteful if the client already has the resource cached. Among other things, techniques for storing, encoding, organizing, and managing data about pushed resources in cookies are disclosed.