CDN Cache Key Architecture for Live Embed Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for live updates of embeddable units on web pages fail to achieve scalability, low cost, and fast, reliable change propagation simultaneously, leading to inefficiencies and high costs when dealing with large volumes of updates.

Innovation Solution

A system utilizing commodity servers for dynamic content and global caches (content delivery networks) with a complex cache key comprising identity and version data, enabling rapid updates by directing client requests through HTTP redirects and populating caches with the latest data, allowing for independent changes in key components to trigger updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional live update solutions are used to update embeddable units across multiple web pages, then the updates can be propagated to all sites, but the server processing cost and bandwidth requirements increase significantly

Engineering Contradiction:
Improveupdate propagation reliabilityVSAvoidserver processing cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent introduces a CDN (Content Delivery Network) as an intermediary between the origin server and end users. The CDN caches embeddable unit content at edge locations globally, so updates are propagated through the CDN infrastructure rather than directly from the origin server to all clients. This mediator approach maintains reliable update propagation while dramatically reducing origin server processing costs and bandwidth consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-caching embeddable unit content in the CDN before it is needed by end users. The complex cache key including version information allows the CDN to proactively store and manage multiple versions of content, enabling fast delivery without requiring the origin server to handle every request. This preliminary caching action reduces real-time server processing requirements.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If embeddable units are updated frequently across thousands of web pages, then the information remains dynamic and relevant, but the complexity of managing updates and replacing embed tags increases

Engineering Contradiction:
Improvecontent dynamicsVSAvoidupdate management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the version information and identity components from the embeddable unit content and embeds them directly into the cache key. This separation allows the system to manage updates by simply changing the cache key parameters rather than managing complex embed tag replacements across thousands of web pages. The extraction of version data into the caching mechanism simplifies update management while maintaining content adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The complex cache key serves multiple functions simultaneously: it identifies the specific version of the embeddable unit, enables caching at CDN edges, facilitates update propagation, and allows for content validation. This multi-functional cache key approach reduces update management complexity by consolidating what would otherwise require separate mechanisms for version control, caching, and distribution.

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

3Speed

If changes are propagated quickly to all embed sites, then the live update reliability improves, but the server bandwidth requirements and processing load increase

Engineering Contradiction:
Improvechange propagation speedVSAvoidbandwidth consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent distributes content delivery across multiple dimensional layers: the origin server dimension for content generation, the CDN edge dimension for caching and local delivery, and the client dimension for consumption. By moving content to the CDN edge dimension, the system achieves fast local propagation at CDN nodes while reducing the bandwidth burden on the origin server. The complex cache key enables this multi-dimensional distribution strategy.

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

Solution Approach 2:

The system creates copies of embeddable unit content at CDN edge locations around the globe using the complex cache key for identification. These copies enable fast local delivery to users without requiring continuous bandwidth consumption from the origin server. When updates occur, new copies are created at the CDN level rather than requiring the origin server to push updates to every client directly, reducing processing load while maintaining fast propagation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9117221B2System and method for the transmission of live updates of embeddable units
Publication Date: 2015.08.25 SNAP INC
  • US9117221B2 patent drawing
  • US9117221B2 patent drawing
  • US9117221B2 patent drawing

AI summary

A delivery method and system of dynamic embedded web output on a web page in a browser on a client device is provided. A web page contains an embed code for an embeddable unit. A content delivery network provides an embedded URL specified in the embed code. The URL contains executable static runtime code using a unit ID. The unit ID is passed to a dynamic server which performs a lookup to convert the unit ID into a cache key URL. The cache key URL points to a location on the content delivery network and encodes a cache key containing information for the embeddable unit. The client device loads the cache key URL, which targets the content delivery network to make a request for the embeddable unit. The content delivery network serves the embeddable unit to the client device on which the embeddable unit is displayed or updated.