Live Origin Server Read-Write Separation for Traffic Surges
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Live origin servers are overwhelmed during traffic surges when CDN servers fail to serve media content, leading to incomplete media content items and inability to handle write requests.
Innovation Solution
Separate read and write paths in the live origin server, prioritize important requests over less important ones, and use caching to manage traffic surges by ensuring read-after-write consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If CDN servers are used to cache media content items, then delivery speed is improved and traffic to the live origin server is reduced, but when CDN servers fail to serve requests, traffic surge occurs at the live origin server overwhelming it
Solution Approach 1:
The patent segments the request handling into two independent paths: a read path that serves requests from the CDN cache and a write path that handles requests to the live origin server. This segmentation allows the read path to protect the write path from traffic surges by serving cached content, while ensuring that write operations to the datastore are not overwhelmed by read traffic.
Solution Approach 2:
The patent introduces a read path as an intermediary between CDN servers and the live origin server. This read path can serve requests from the CDN cache without forwarding them to the live origin server, effectively acting as a mediator that reduces traffic surge to the live origin server while maintaining delivery speed through cached content.
2Reliability
If the live origin server handles all requests directly, then read-after-write consistency is maintained, but the server becomes overwhelmed during traffic surges and cannot handle write requests
Solution Approach 1:
The patent segments request handling into separate read and write paths, allowing the write path to focus exclusively on write operations to the datastore while the read path handles read requests from the cache. This segmentation ensures that read traffic does not interfere with write operations, maintaining the server's ability to handle both types of requests simultaneously during traffic surges.
Solution Approach 2:
The patent uses a CDN cache as a copy of the media content items. Instead of all requests going directly to the live origin server, the cache provides copies of the content for read requests, reducing the load on the live origin server while maintaining consistency through the read-after-write mechanism that ensures writes are reflected in the cache.
3Loss of information
If the live origin server processes all read requests, then data freshness is ensured, but the datastore becomes overwhelmed during traffic surges
Solution Approach 1:
The patent introduces a CDN cache as an intermediary that stores copies of media content items. The read path serves requests from this cache intermediary, reducing the number of requests that reach the live origin server's datastore. This maintains data freshness because the cache is updated through the write path, while protecting the datastore from traffic surges.
Solution Approach 2:
The patent performs preliminary action by caching media content items in the CDN before they are requested. This preliminary storage in the cache allows the system to serve requests from the cache rather than from the datastore during traffic surges, protecting the datastore while ensuring data freshness through the read-after-write consistency mechanism.
Data Source
AI summary
One embodiment of a method for responding to requests for media content includes receiving a first request from a first client for at least one segment of a media content item, retrieving, from a datastore, a reference to each segment included in the at least one segment, retrieving, from a cache, the at least one segment of the media content item based on the reference to each segment included in the at least one segment, and transmitting the at least one segment of the media content item to the first client.


