BR-112018075550-B1 - METHOD FOR REPAIRING BYTE RANGE FILES, COMPUTING DEVICES AND MEMORY
Abstract
The systems, methods, and devices of the various modalities allow signaling one or more server capabilities, 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), for computing devices to repair files by byte range.
Inventors
- CARLOS MARCELO DIAS PAZOS
- Nagaraju Naik
- RALPH AKRAM GHOLMIEH
Assignees
- QUALCOMM INCORPORATED
Dates
- Publication Date
- 20260317
- Application Date
- 20170605
- Priority Date
- 20170602
Claims (9)
- 1. Method for byte-range file repair, characterized in that it comprises: determining (652), on a computing device, whether a service description includes an entity tag value, ETag, for a file in response to the determination (606) that byte-range file repair is required to repair the file by the computing device, wherein the service description is a fragment of Associated Delivery Procedure Description, ADPD metadata; determine (656), on the computing device, whether an attribute of the ADPD metadata fragment indicates that a server supports the use of an MD5 hash value as the ETag value in response to the determination that the ADPD metadata fragment does not include the ETag value; generate (654), on the computing device, a partial Hypertext Transfer Protocol, HTTP, GET request for byte range file repair, including the ETag value in an If-Match header element in response to the determination (652) that the service description includes the ETag value; generate (658), on the computing device, a partial HTTP GET request for byte range file repair, including the MD5 hash value as the ETag value in an If-Match header element in response to the determination (656) that the ADPD metadata fragment attribute indicates that the server supports use of the MD5 hash value as the ETag.
- 2. Method, according to claim 1, characterized in that it further comprises: generating (660), on the computing device, a partial HTTP GET request for byte range file repair without including an If-Match header element in response to the determination that the ADPD metadata fragment attribute does not indicate that the server supports use of MD5 hash value as ETag.
- 3. Method, according to claim 2, characterized in that the service is an evolved Multimedia Broadcast Multicast Service, eMBMS.
- 4. Computing device (800), characterized in that it comprises: means for determining (652) whether a service description includes an entity tag value, ETag, for a file in response to the determination (606) that byte-range file repair is required to repair the file, wherein the service description is an Associated Delivery Procedure Description, ADPD, metadata fragment; and means for determining (656) whether an attribute of the ADPD metadata fragment indicates that a server supports the use of an MD5 hash value as the ETag value in response to the determination that the ADPD metadata fragment does not include the ETag value; means for generating (654) a partial Hypertext Transfer Protocol, HTTP, GET request for byte-range file repair, including the ETag value in an If-Match header element in response to the determination (652) that the service description includes the ETag value; means to generate (658) a partial HTTP GET request for byte range file repair, including the MD5 hash value as the ETag value in an If-Match header element in response to the determination (656) that the ADPD metadata fragment attribute indicates that the server supports use of the MD5 hash value as the ETag value.
- 5. Computing device according to claim 4, characterized in that it further comprises: means for generating (658) a partial HTTP GET request for byte range file repair without including an If-Match header element in response to the determination that the ADPD metadata fragment attribute does not indicate that the server supports use of MD5 hash value as the ETag value.
- 6. Computing device according to claim 5, characterized in that the service is an evolved Multimedia Broadcast Multicast Service, eMBMS.
- 7. Memory characterized in that it comprises instructions stored therein configured to cause a processor of a computing device to perform operations, comprising: determining whether a service description includes an entity tag value, ETag, for a file in response to the determination (606) that byte-range file repair is required to repair the file, wherein the service description is an Associated Delivery Procedure Description, ADPD, metadata fragment; determining whether an attribute of the ADPD metadata fragment indicates that a server supports the use of an MD5 hash value as the ETag value in response to the determination that the ADPD metadata fragment does not include the ETag value; generating a partial Hypertext Transfer Protocol, HTTP, GET request for byte-range file repair, including the ETag value in an If-Match header element in response to the determination that the service description includes the ETag value; Generate a partial HTTP GET request for byte-range file repair, including the MD5 hash value as the ETag value in an If-Match header element in response to the determination that the ADPD metadata fragment attribute indicates that the server supports using the MD5 hash value as the ETag value.
- 8. Memory, according to claim 7, characterized in that the instructions are configured to cause a processor of a computing device to perform operations that additionally comprise: generating a partial HTTP GET request for byte-range file repair without including an If-Match header element in response to the determination that the ADPD metadata fragment attribute does not indicate that the server supports use of the MD5 hash value as the ETag value.
- 9. Memory, according to claim 8, characterized in that the instructions are configured to cause a processor of a computing device to perform operations such that the service is an evolved Multicast Broadcast Multimedia Service, eMBMS.
Description
RELATED ORDERS [0001] This application claims priority to Provisional Patent Application No. US 62/351,979 entitled “Signaling Which Version Information To Use On Byte-Range File Repair” filed on June 19, 2016, the entire content of which is incorporated herein by reference. BACKGROUND [0002] During network transport of digital files, such as video fragments or chunks that are sent in individual files called segments, various events or errors (e.g., loss of tuning, radio channel errors, etc.) can occur that result in only partial files being received. For example, the evolved Broadcast Multimedia Service (eMBMS) middleware currently on a computing device may receive only a partial file due to transmission errors between the Broadcast Multimedia Service Center (BMSC) sending the file and the computing device receiving the file. In some networks, byte-range file repair can be used to attempt to repair a file when only a partial file is received by a computing device. Information about the version of the file being requested can allow a server to distinguish between multiple versions of a file hosted by the server and return missing source symbols to the computing device corresponding to the requested file version. SUMMARY [0003] The systems, methods, and devices of the various modalities allow signaling one or more server capabilities, 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. Various modalities may include determining whether a service description includes an ETag value for a file in response to the determination that byte-range file repair is required to repair the file by a computing device, and to generate a partial Hypertext Transfer Protocol (HTTP) request for byte-range file repair, including the ETag value in an If-Match header element in response to the determination that the service description includes the ETag value. [0004] Various methods may include generating a description of a service that provides a file indicating a capability of a server hosting the file to use an ETag value and sending the service description to a computing device so that the computing device determines whether the service description includes the ETag value in response to the determination that byte-range file repair is needed and the computing device generates a partial HTTP GET request for byte-range file repair including the ETag value in an If-Match header element in response to the determination that the service description includes the ETag value. [0005] Other embodiments include a computing device having a processor configured with executable processor instructions to perform operations of the methods summarized above. Other embodiments include a computing device including means to perform functions of the methods summarized above. Additional embodiments may include a non-transient processor-readable storage medium that has stored on it executable processor instructions configured to cause a processor of the computing device to perform the operations of the methods summarized above. Other embodiments include a server configured with executable processor instructions to perform operations of the methods summarized above. Other embodiments include a server including means to perform functions of the methods summarized above. Several embodiments may include a non-transient processor-readable storage medium that has stored on it executable processor instructions configured to cause the processor of a server to perform the operations of one or more of the methods of the embodiment described above. BRIEF DESCRIPTION OF THE DRAWINGS [0006] The attached drawings, which are incorporated herein and form part of this specification, illustrate exemplary embodiments of the invention, and together with the general description given above and the detailed description given below, serve to explain the features of the claims. [0007] FIG. 1 is a communication system block diagram of a network suitable for use with various modes. [0008] FIG. 2 is a process flow diagram illustrating a modality method for signaling a server capability. [0009] FIG. 3 illustrates an exemplary File Delivery Table (FDT) scheme according to a modality. [00010] FIG. 4 illustrates an exemplary FDT scheme according to a modality. [00011] FIG. 5 illustrates an exemplary Associated Delivery Procedure Description (ADPS) scheme according to a modality. [00012] FIG. 6A is a process flow diagram illustrating a modality method for byte range file repair support. [00013] FIG. 6B is a process flow diagram illustrating an alternative method for byte-range file repair support. [00014] FIG. 7 illustrates exemplary diagrams of partial Hypertext Transfer Protocol (HTTP) GET request headers. [00015] FIG. 8 is a component diagram of an exemplary computing device suitable for use with the