HTTP Time Synchronization via Date and Age Fields
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional live media streaming services face challenges in synchronization between client and server times due to the lack of intelligence in simple file servers, leading to increased server load and bandwidth consumption in HTTP streaming, where frequent updates of media fragment indices are necessary for accurate timing.
Innovation Solution
An HTTP-based synchronization method that determines the server time using the Date and Age fields in HTTP responses and sets up a synchronization relationship between client and server times without additional communication overhead, utilizing existing HTTP protocol mechanisms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a dynamically updated media data index is used to achieve time synchronization between client and server, then synchronization accuracy is improved, but server load and bandwidth consumption increase
Solution Approach 1:
The patent extracts the time synchronization function from the media data index update process. Instead of updating the index for every media fragment generation, the system uses HTTP protocol time fields (Date, Age, If-Modified-Since) to carry timing information separately, allowing the index to remain static or be updated less frequently while still achieving accurate client-server time synchronization.
Solution Approach 2:
The patent makes the HTTP protocol fields serve multiple functions: the Date field not only indicates file generation time for caching purposes but also provides the server's reference time for synchronization. The Age field similarly serves both cache validity indication and time offset calculation purposes. This multi-functionality eliminates the need for separate synchronization mechanisms.
2Measurement precision
If a dynamically updated media data index is used to achieve time synchronization between client and server, then synchronization accuracy is improved, but bandwidth consumption increases
Solution Approach 1:
The patent separates the time synchronization information from the media data index updates. Timing information is extracted and transmitted through existing HTTP protocol fields (Date, Age, If-Modified-Since) that are already part of every HTTP response, eliminating the need for additional bandwidth consumption dedicated to synchronization data transmission.
Solution Approach 2:
The HTTP protocol itself provides the synchronization mechanism through its existing time fields. Every HTTP response automatically includes Date and Age fields that can be used for time synchronization without requiring separate synchronization requests or additional data transmission, making the system self-sufficient for timing needs.
3Measurement precision
If a dynamically updated media data index is used to achieve time synchronization between client and server, then synchronization accuracy is improved, but communication overhead increases
Solution Approach 1:
The patent leverages the existing HTTP protocol fields (Date, Age, If-Modified-Since) to serve dual purposes: cache management and time synchronization. These fields are already mandatory parts of HTTP responses, so using them for synchronization adds no additional communication overhead while providing accurate time reference for client-server synchronization.
Solution Approach 2:
The HTTP protocol automatically provides time reference information through its standard fields without requiring any additional synchronization mechanism. The Date field gives the server's reference time, and the Age field provides the time offset, allowing the client to synchronize its clock using the existing communication infrastructure.
Data Source
AI summary
An HTTP-based synchronization method includes obtaining a first response sent by a source server or a cache in response to an HTTP request for obtaining a file; determining a time when the first response is sent in local time at the source server, according to a value of a Date field and a value of an Age field in the first response; determining a time when the first response is sent in local time at a client, according to the client time of an event related to the first response; and determining a time offset between the source server time and the client time according to: the time when the first response is sent in local time at the source server and the time when the first response is sent in local time at the client, and setting up a synchronization relationship between the client time and the source server time.


