Headend Caching Strategies for Mobile Content Delivery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content delivery systems face challenges in efficiently delivering data to mobile platforms with limited bandwidth while ensuring security and reducing piracy, particularly in delivering multimedia content such as sports scores and programming guides.

Innovation Solution

A two-stage caching strategy where the entire data set is retrieved and sorted by categories, with data objects cached and responses generated based on client requests, allowing for direct retrieval and periodic refreshment, and optionally compressing data for efficient transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is delivered directly from backend server to mobile client without caching, then data freshness is maintained, but data transfer volume and network bandwidth consumption increase

Engineering Contradiction:
Improvedata freshnessVSAvoiddata transfer volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements a two-stage caching strategy where data is pre-fetched from the backend server and stored in an object cache before client requests arrive. This preliminary action allows the system to serve subsequent requests from the cache, reducing data transfer volume while maintaining data freshness through periodic refreshes of the cached content.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If data is cached at the headend to reduce transfer volume, then network bandwidth is conserved, but system complexity increases

Engineering Contradiction:
Improvedata transfer volumeVSAvoidcaching system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the caching system into two distinct stages: an object cache that stores individual data objects and a response cache that stores complete client responses. This segmentation allows each cache to be optimized for its specific purpose and managed independently, reducing overall system complexity while achieving efficient data delivery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a headend server as an intermediary component between the backend web service and mobile clients. This intermediary implements the caching logic and manages the two-stage caching strategy, simplifying the overall system architecture by centralizing the caching functionality in a dedicated component rather than distributing complexity across multiple elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If entire data set is cached to improve response time, then client response time is reduced, but memory usage increases

Engineering Contradiction:
Improveclient response timeVSAvoidcache memory usage
Core Design Contradiction:
Loss of timeVSVolume of stationary object

Solution Approach 1:

The patent extracts only the necessary data objects from the complete data set based on specific client requests. Rather than caching entire data sets, the system selectively retrieves and caches only the relevant objects needed to fulfill particular client requests, reducing memory usage while maintaining fast response times for requested data.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9854054B2MSS headend caching strategies
Publication Date: 2017.12.26 DIRECTV LLC
  • US9854054B2 patent drawing
  • US9854054B2 patent drawing
  • US9854054B2 patent drawing

AI summary

Systems and methods for caching data and generating responses to data requests are disclosed. A content delivery system for sending requested data to a client based on a client request in accordance with one or more embodiments of the present invention comprises a server for compiling data into a data cache, and a headend, coupled to the server, for obtaining the data, categorizing and storing the data in groups in an object cache, receiving a client request, picking data from the object cache and generating a response, and returning the response while caching the response in a response cache that is used to directly respond to future client requests.