Byte-Range File Repair via Server Capability Signaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network transport systems, such as eMBMS, face challenges in byte-range file repair due to transmission errors, where servers that do not support MD5 as an ETag return a 'Precondition Failed' reply, rendering partial HTTP GET requests ineffective for file repair.
Innovation Solution
The system enables servers to signal their capabilities regarding MD5 and ETag usage, allowing computing devices to generate tailored partial HTTP GET requests for byte-range file repair, including MD5 hash values or ETags in the If-Match header, based on server-specific metadata, to avoid 'Precondition Failed' responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a computing device sends a partial HTTP GET request with MD5 hash value as ETag for byte-range file repair, then file repair can be performed when server supports MD5, but the request fails with 'Precondition Failed' reply when server does not support MD5 as ETag
Solution Approach 1:
The system dynamically adapts the ETag format (MD5 hash or other formats) based on the server's capabilities. The computing device determines whether the server supports MD5 as ETag and adjusts the partial HTTP GET request accordingly, switching between different ETag formats to maintain compatibility while enabling file repair functionality.
Solution Approach 2:
The system changes the ETag parameter format in the If-Match header of the partial HTTP GET request based on server support. When the server supports MD5, the request includes MD5 hash as ETag; when not supported, it uses alternative ETag formats, thereby adapting the request parameters to match server capabilities and avoid 'Precondition Failed' responses.
2Loss of information
If the system uses version information (ETag/MD5) for byte-range file repair, then servers can distinguish between multiple file versions and return correct source symbols, but servers that do not support MD5 as ETag cannot process the repair requests
Solution Approach 1:
The system performs preliminary determination of server capabilities before sending the partial HTTP GET request. The computing device checks whether the server supports MD5 as ETag in advance and prepares the appropriate request format, ensuring that the version information is correctly formatted and the server can process it without complexity.
3Measurement precision
If the computing device always includes MD5 hash in the If-Match header for byte-range file repair, then file version identification is precise, but servers without MD5 support return 'Precondition Failed' replies
Solution Approach 1:
The system applies different ETag formats to different servers based on their local capabilities. Instead of using a universal MD5 format for all servers, the computing device tailors the ETag format to match each server's supported formats, ensuring both precise file version identification and successful request processing for each specific server.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, methods, and devices of various embodiments enable signaling one or more capabilities of servers, such as web servers or content delivery network (CDN) servers, to use file version information, such as MD5s (message digest 5 (MD5) algorithm hash values) and/or entity tags (ETags), to computing devices for byte-range file repair.