CDN Asset Rollouts via Lambda Request Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for delivering frontend assets do not support controlled rollouts, targeted beta-testing, or debugging capabilities for web applications, particularly when served by a content-delivery network (CDN), as they lack the ability to selectively serve new versions or custom assets to specific users or subsets of users.

Innovation Solution

Implementing a mechanism using server computing devices within CDNs to invoke viewer or origin request lambdas, which modify requests to serve either current or new versions of assets based on conditions, allowing for controlled rollouts and beta-testing by directing specific percentages of traffic to new versions and enabling debugging through custom version requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current CDN asset serving methods are used, then asset delivery speed is maintained, but controlled rollout capability is lost

Engineering Contradiction:
Improvecontrolled rollout capabilityVSAvoidasset management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the asset delivery process by introducing version identifiers and subset identifiers that divide the user base into different groups (e.g., 10% canary group, 90% stable group). This segmentation enables controlled rollouts without requiring complex infrastructure changes to the CDN itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-configuring version information and subset routing rules in the asset manifest before deployment. This allows the system to automatically route users to appropriate asset versions based on their subset identification, eliminating the need for real-time complex decision-making during asset serving.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional asset swapping is used, then new version deployment is fast, but testing and debugging capability is reduced

Engineering Contradiction:
Improvetesting and debugging capabilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by allowing different subsets of users to access different versions of assets simultaneously. Engineers can be assigned to specific subsets (e.g., internal team subset) to access beta or debugging versions of assets, while other users continue accessing stable versions, enabling targeted testing without affecting overall deployment speed.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If service meshes are used for backend services, then traffic routing to specific instances is enabled, but frontend asset serving complexity increases

Engineering Contradiction:
Improvetraffic routing capabilityVSAvoidfrontend serving architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary asset manifest that acts as a mediator between the CDN and client devices. The manifest contains version information and subset identifiers that enable intelligent routing without requiring complex service mesh infrastructure. The manifest serves as a lightweight intermediary that provides traffic routing capability similar to service meshes but tailored for frontend asset delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12050897B2Controlled rollouts for frontend assets
Publication Date: 2024.07.30 BOLT FINANCIAL INC
  • US12050897B2 patent drawing
  • US12050897B2 patent drawing
  • US12050897B2 patent drawing

AI summary

In one embodiment, a method for providing assets from an asset origin to client devices includes receiving, by a computing system, a request to access a frontend asset from a first client device of the client devices. The method includes determining, by the computing system, an asset selection criteria. The method includes modifying, by the computing system through a dynamic function based on the asset selection criteria, a request for the asset origin to select a particular asset from multiple assets that are responsive to the request to access the frontend asset. The method includes causing, by the computing system, the asset origin to provide the particular asset to the first client device by providing the modified request to the asset origin.