ESI Cache Segmentation for A/B Test Interface Templates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

A/B testing systems face challenges in maintaining cached versions of numerous interface variations, leading to exponential growth in potential page variations, which overwhelms caching systems and results in inefficiencies and increased lag in interface generation.

Innovation Solution

The system optimizes cache management by generating an interface key and element keys from a user key, allowing for the loading of interface templates and elements only when necessary, thereby reducing the number of cached elements and data stored.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the caching system maintains cached versions of all possible interface variations to support A/B testing, then the system can provide fast response times for user interface requests, but the storage requirements and system complexity grow exponentially with the number of experiments

Engineering Contradiction:
Improveresponse timeVSAvoidstorage requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The interface is segmented into a template portion and multiple element portions. The template is cached separately, and only specific elements are cached based on experiment assignments. This segmentation allows the system to cache the common template once while storing only the varying elements needed for different experiments, dramatically reducing storage requirements while maintaining fast response times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cached template serves as a universal base for all interface variations. Instead of caching complete different versions of each interface variation, the single template can be combined with different cached elements to serve multiple experiment variants, making the caching system multi-functional and reducing overall storage needs.

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

2Loss of time

If the caching system stores all possible interface variations, then complete user interfaces can be served immediately without generation lag, but the device complexity and memory consumption become unmanageable

Engineering Contradiction:
Improveinterface generation lagVSAvoidcaching system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

By dividing the interface into template and element segments, the system reduces complexity. The template is cached once and reused, while elements are cached separately and selectively. This segmentation simplifies the caching structure compared to managing exponentially growing complete interface variations, making the system more manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The template is pre-cached in advance, and elements are pre-cached based on experiment assignments. This preliminary action allows the system to assemble complete interfaces quickly during runtime without generating them from scratch, reducing interface generation lag while avoiding the need to cache all possible complete variations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system caches complete user interface variations for each experiment, then all interfaces are readily available for immediate serving, but the amount of data to be cached becomes prohibitively large

Engineering Contradiction:
Improveinterface availabilityVSAvoiddata volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The interface data is segmented into a shared template and experiment-specific elements. Only the necessary elements for each experiment are cached separately, while the template is cached once. This ensures reliable interface availability by having all components cached, while dramatically reducing the total data volume compared to caching complete interface variations for each experiment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of caching complete copies of each interface variation, the system caches a single template copy and multiple element copies. These copies are then assembled to create the needed interface variations, reducing data volume while ensuring all required components are available for reliable serving.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11714874B2Cache optimization for web sites running A/B test
Publication Date: 2023.08.01 WALMART APOLLO LLC
  • US11714874B2 patent drawing
  • US11714874B2 patent drawing
  • US11714874B2 patent drawing

AI summary

Systems and methods for cache optimization are disclosed. A request for a user interface is received from a first user device. The request includes a user key. An interface key corresponding to an interface template of the requested user interface is generated from the user key. The interface template of the requested user interface is loaded. The interface template includes one or more edge side include (ESI) identifiers in the interface template. An element key corresponding to a first ESI element associated with a first of the one or more ESI identifiers is generated from the user key. The first ESI element is loaded and positioned at a location within the interface template identified by the first of the one or more ESI identifiers. A complete user interface is provided to the first user device. The complete user interface includes the interface template having the first ESI element positioned therein.