CN104067594A - Content delivery system with allocation of source data and repair data among http servers - Google Patents

Content delivery system with allocation of source data and repair data among http servers Download PDF

Info

Publication number
CN104067594A
CN104067594A CN201280062414.6A CN201280062414A CN104067594A CN 104067594 A CN104067594 A CN 104067594A CN 201280062414 A CN201280062414 A CN 201280062414A CN 104067594 A CN104067594 A CN 104067594A
Authority
CN
China
Prior art keywords
symbol
source
request
file
http
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201280062414.6A
Other languages
Chinese (zh)
Inventor
M·G·卢比
N·K·利昂
R·A·戈尔米
T·施托克哈默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/563,590 external-priority patent/US9015564B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104067594A publication Critical patent/CN104067594A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Error Detection And Correction (AREA)

Abstract

Data objects are delivered over a packet switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Requesting and broadcasting might be done by different entities. A broadcast server can generate and store repair symbols while a source server can store content in source form. A request can be a unicast HTTP byte-range request, such as a URL, starting position and length. Requests might be aligned with starting positions of files. A receiver can calculate starting and ending byte positions of symbols or sub-symbols in a file and get indications that conventional HTTP servers are usable for file repair.; Repair servers can request broadcast of repair data when byte-range requests from multiple receivers overlap.

Description

The content distribution system that distributes source data and repair data between http server
The cross reference of related application
The application requires the priority of following patent application, and be its non-provisional application: the U.S. Provisional Patent Application No.61/554 that on November 1st, 2011 submits to, exercise question is " Unicast Repair Service and Server Augmenting BroadcastFile Delivery System ", 434 (acting on behalf of case number is No.121519P1); On January 23rd, 2012 submits to, exercise question is the temporary patent application No.61/589 of " Unicast Repair Service andServer Augmenting Broadcast File Delivery System ", 855 (acting on behalf of case number is No.121519P2); On March 22nd, 2012 submits to, exercise question is the temporary patent application No.61/614 of " Unicast Repair Service and Server Augmenting Broadcast File DeliverySystem ", 408 (acting on behalf of case number is No.121519P3); On May 10th, 2012 submits to, exercise question is the U.S. Provisional Patent Application No.61/645 of " Content Delivery System with Allocation ofSource Data and Repair Data Among HTTP Servers ", 562 (acting on behalf of case number is No.121519P4); And on May 15th, 2012 submit to, exercise question is the U.S. Provisional Patent Application No.61/647 of " Content Delivery System with Allocation of Source Data and RepairData Among HTTP Servers ", 414 (acting on behalf of case number is No.121519P5), therefore be incorporated to the full content of above-mentioned provisional application herein with way of reference for all objects.
Present disclosure can relate to patent or the application of following common transfer, therefore for all objects, the full content of each with way of reference by these patents or in applying for is incorporated to herein:
1) authorize U.S. Patent No. 6,307,487 (hereinafter referred to as " Luby I ") Michael G.Luby, that exercise question is " Information Additive Code Generatorand Decoder for Communication Systems ";
2) authorize U.S. Patent No. 6 Michael G.Luby, that exercise question is " Information Additive Group CodeGenerator and Decoder for Communication Systems ", 320,520 (hereinafter referred to as " Luby II ");
3) authorize U.S. Patent No. 6 M.Amin Shokrollahi, that exercise question is " Systems and Processes forDecoding a Chain Reaction Code Through Inactivation ", 856,263 (hereinafter referred to as " Shokrollahi I ");
4) authorize M.Amin Shokrollahi, exercise question is for " Systematic Encoding andDecoding of Chain Reaction Codes " (U.S. Patent No. 6 of hereinafter " Shokrollahi II ", 909,383 (hereinafter referred to as " Shokrollahi II ");
5) authorize U.S. Patent No. 7 M.Amin Shokrollahi, that exercise question is " Multi-Stage Code Generator andDecoder for Communication Systems ", 068,729 (hereinafter referred to as " Shokrollahi III ");
6) authorize U.S. Patent No. 7,418,651 (hereinafter referred to as " Luby III ") Michael G.Luby, M.Amin Shokrollahi and Mark Watson, that exercise question is " File Download and Streaming System ";
7) patent people is the open No.2006/0280254 (hereinafter referred to as " Luby IV ") of United States Patent (USP) Michael G.Luby and M.Amin Shokrollahi, that exercise question is " In-PlaceTransformations with Applications to Encoding and Decoding Various Classesof Codes ";
8) patent people is the open No.2007/0195894 (hereinafter referred to as " Shokrollahi IV ") of United States Patent (USP) M.Amin Shokrollahi, that exercise question is " Multiple-Field Based CodeGenerator and Decoder for Communications Systems ";
9) take the people's such as M.Amin Shokrollahi name at U.S. Patent application No.12/604 that submit to, that exercise question is " Method and Apparatus Employing FEC Codes with PermanentInactivation of Symbols for Encoding and Decoding Processes " on October 23rd, 2009,773 (hereinafter referred to as " Shokrollahi V ");
10) take the name of Michael G.Luby at U.S. Provisional Application No.61/235 that submit to, that exercise question is " Methods and Apparatus Employing FEC Codes with Permanent Inactivationof Symbols for Encoding and Decoding Processes " on August 19th, 2009,285 (hereinafter referred to as " Luby V ");
11) take the name of Michael G.Luby, M.Amin Shokrollahi at U.S. Patent application No.12/859 that submit to, that exercise question is " Methods and Apparatus Employing FEC Codes withPermanent Inactivation of Symbols for Encoding and Decoding Processes " on August 18th, 2010,161 (hereinafter referred to as " Shokrollahi VI ");
12) take the name of Michael G.Luby, Thadi M.Nagaraj at U.S. Patent application No.13/206 that submit to, that exercise question is " Broadcast Multimedia Storage and Access Using Page Mapswhen Asymmetric Memory is Used " on August 9th, 2011,418 (hereinafter referred to as " Luby VI ");
13) take the name of Michael G.Luby, Nikolai Leung, Ralph Gholmieh, ThomasStockhammer at U.S. Patent application No.61/645 that submit to, that exercise question is " Content DeliverySystem with Allocation of Source Data and Repair Data Among HTTP Servers " on May 10th, 2012,562 (hereinafter referred to as " Luby VII ");
list of references
For all objects, with way of reference, each the full content in following list of references is incorporated to herein:
[Albanese96] or [PET], " Priority Encoding Transmission ", AndresAlbanese, Johannes Blomer, Jeff Edmonds, Michael Luby and Madhu Sudan, IEEE Transactions on Information Theory, vol.42, no.6 (in November, 1996);
[Albanese97] or [PET-Patent], authorize A.Albanese, M.Luby, J.Blomer, J.Edmonds, exercise question is the U.S. Patent No. 5 of " System for Packetizing Data Encoded Corresponding toPriority Levels Where Reconstructed Data Corresponds to FractionalizedPriority Level and Received Fractionalized Packets ", 617,541 (issues on April 1st, 1997);
[ALC], Luby, M.Watson, M.Vicisano, L., " Asynchronous Layered Coding (ALC) Protocol Instantiation ", IETF RFC5775 (in April, 2010);
[FEC BB], Watson, M., Luby, M., and L.Vicisano, " Forward ErrorCorrection (FEC) Building Block ", IETF RFC5052 (in August, 2007);
[FLUTE], Paila, T., Luby, M., Lehtonen, R., Roca, V., Walsh, R., " FLUTE--File Delivery over Unidirectional Transport ", IETF RFC3926 (in October, 2004);
[LCT], Luby, M., Watson, M., Vicisano, L., " Layered Coding Transport (LCT) Building Block ", IETF RFC5651 (in October, 2009);
[Luby2007] or [Raptor-RFC-5053], M.Luby, A.Shokrollahi, M.Watson, T.Stockhammer, " Raptor Forward Error Correction Scheme for Object Delivery ", IETF RFC5053 (in September, 2007);
[Luby2002], Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M., and J.Crowcroft, " The Use of Forward Error Correction (FEC) in ReliableMulticast ", IETF RFC3453 (in December, 2002);
[Matsuoka] or [LDPC-Extensions], " Low-Density Parity-Check CodeExtensions Applied for Broadcast-Communication Integrated Content Delivery ", Hosei Matsuoka, Akira Yamada and Tomoyuki Ohya, Research Laboratories, NTTDOCOMO, Inc., 3-6, Hikari-No-Oka, Yokosuka, Kanagawa, 239-8536, Japan; And
[RaptorQ-RFC-6330], M.Luby, A.Shokrollahi, M.Watson, T.Stockhammer, L.Minder, " RaptorQ Forward Error Correction Scheme forObject Delivery ", IETF RFC6330, Reliable Multicast Transport (in August, 2011);
[Roca] or [LDPC-RFC-5170], V.Roca, C.Neumann, D.Furodet, " LowDensity Parity Check (LDPC) Staircase and Triangle Forward ErrorCorrection (FEC) Schemes ", IETF RFC5170 (in June, 2008).
Technical field
Put it briefly, the present invention relates to the Code And Decode to data in communication system, more particularly, relate to data are carried out to Code And Decode, so that mistake and the gap in the data of considering to communicate by letter and the communication system of processing different file transmitting methods in an efficient way.
Background technology
For the technology by communication channel transfer files between transmit leg and recipient, it is the theme of many documents.Preferably, recipient expects with certain definite degree, receives the accurate copy of the data that sent by channel by transmit leg.In the situation that channel does not have perfect fidelity (this contains nearly all physically realizable system), the problem of a consideration is how to process in transmission to lose or the data of mess code.Compare with the data (mistake) of damaging, the data of loss (wiping) are more easily processed conventionally, and this is to be the wrong data that receive because recipient cannot always inform the data of damage.Having developed many error correction codings corrects and wipes and/or mistake.
Typically, the essence of relevant some information of the distortion of channel based on send data by it and the data that send is carried out the specific coding of choice for use.For example, in the situation that known channel has the distortion of longer period of time, burst error coding may be best suited for this application.And in distortion be only of short duration in the situation that, pre-in respect of rare mistake, simple parity check code may be best.
" source data " refers to can obtain and use at one or more transmit legs place receiver to obtain the data of (recovering the sequence by the transmission from having or do not have mistake and/or wiping etc.) as used herein.As used herein " encoded data " refer to be transmitted and can be for recovering or obtain the data of source data.In simple situation, encoded data are copies of source data, if but the encoded data that receive not identical with the encoded data of transmission (due to mistake and/or wipe), in this simple scenario, due to the excessive data lacking about source data, so this source data possibly cannot intactly be recovered.Transmission can be passed through space or time.Under complex situations more, based on source data, conversion generates encoded data, and sends to recipient from one or more transmit legs.If find that source data is a part for encoded data, can be called coding " systematized ".In the simple examples of systematization coding, the redundant information about source data is appended to the afterbody of this source data to form encoded data.
In addition, " input data " point out the data of the input of present FEC (forward error correction) encoder apparatus or FEC coder module, assembly, step etc. as used herein, and " output data " point out the data of the output of present FEC encoder.Correspondingly, desired output data appear at the input of fec decoder device, and the output data of expectation fec decoder device based on its processing are exported these input data (or its corresponding data).In some cases, input data are (or comprising) source datas, and in some cases, output data are (or comprising) encoded data.For example, if do not processed before the input of FEC encoder, inputting data is source datas.Yet, in some cases, source data is processed into different form (for example, static coding device, contrary encoder or another kind of processing), to generate intermediate data rather than the source data that offers FEC encoder.
In some cases, transmit leg equipment or transmit leg program code can comprise more than one FEC encoder,, in a series of a plurality of FEC encoders, convert source data to encoded data that is.Similarly, at receiver place, can there is more than one fec decoder device, for generating source data according to received encoded data.
Data can be considered to be divided into symbol.Encoder is to come the symbol of generating encoded or the computer system of output symbol, equipment, electronic circuit etc. according to the sequence of source symbol or incoming symbol, and decoder is the counterparty who recovers the sequence of source symbol or incoming symbol according to the encoded symbol receiving or recover or output symbol.Encoder is separated by interchannel on time and/or space, and the encoded symbol of any reception may not be just the same with the encoded symbol of corresponding transmission, its may be not as its be sent out and be received with identical sequence." size " of symbol can be measured with bit, and no matter whether this symbol is actual is broken down into a bit stream, wherein, and when a symbol is from 2 min the alphabet of individual symbol, select time, this symbol has the size of M bit.In a lot of examples herein, with eight bit byte, measure symbol, and code may be crossed over 256 kinds of possible fields (in each eight bit byte, there are 256 kinds of 8 possible bit modes), but should be understood that, can use the not DATA REASONING of commensurate, and be well known that measurement data in every way.In general document, term " byte " sometimes exchanges and uses with term " eight bit byte ", in order to indicate 8 bit values, although in some contexts, " byte " indication X bit value, wherein X is not equal to 8 (for example, X=7).In this article, term " eight bit byte " and " byte " can be exchanged use.Example unless otherwise noted, otherwise is herein not limited to bit or the non-integral bit that each symbol has specific integer.
Luby I has described for mode efficient to calculate, that store efficient and bandwidth-efficient, solves the use of the coding (for example, chain reaction code) of error correction.A kind of attribute of the encoded symbol that chain reaction encoder produces is: as long as receive enough encoded symbols, receiver just can recover original document.Particularly, for the probability with higher recovers K original source symbol, receiver need to be similar to K+A encoded symbol.
For " definitely receiving expense " of given situation, use value A represents, and " relatively receiving expense " can be calculated to be ratio A/K.Definitely receive expense and refer to except the minimum data quantity of information theory, also need to receive the measured value of how many excessive datas, it depends on the reliability of decoder, according to the quantity of source symbol (K), changes.Similarly, relatively receiving expense (A/K) refers to: with respect to the size of the source data that will recover, except the minimum data quantity of information theory, also need to receive the measured value of how many excessive datas, it also depends on the reliability of decoder, and changes according to the quantity of source symbol (K).
For the communication on packet-based network, chain reaction code is very useful.But it is that amount of calculation is considerably large sometimes.If before the dynamic coding device that uses chain reaction code or another kind of no-rate codes to encode, use static coding device to source encoding symbols, decoder may be able to more frequently or more easily be decoded.For example, these decoders have been shown in Shokrollahi I.In its shown example, source symbol is the incoming symbol of static coding device, static coding device produces the output symbol for the incoming symbol of dynamic coding device, dynamic coding device produces the output symbol as encoded symbol, wherein this dynamic coding device is without rate coding device, without rate coding device, can not there is the quantity of fixing speed according to the quantity with respect to incoming symbol, generate a plurality of output symbols.Static coding device can comprise more than one fixed-rate coding device.For example, static coding device can comprise Hamming encoder, low-density checksum (" LDPC ") encoder, high density parity check (" HDPC ") encoder etc.
Chain reaction code has attribute below: because some symbols are that decoder recovers according to received symbol, so these symbols can be used in recovery additional symbols, and these additional symbols subsequently can be for recovering more symbol.Preferably, the chain reaction of the symbol solving at decoder place can be proceeded, and makes, before using receiving symbol pond, to recover the symbol of all expectations.Preferably, the computation complexity that execution chain reaction Code And Decode is processed is lower.Desired symbol can be that all original source symbols are recovered to needed all symbols, or the integrated degree of certain expectation (it compares lower with all original source symbols).
The recovery process at decoder place can relate to: determine to receive which symbol, generate for these original incoming symbols being mapped to the matrix of those encoded symbols of reception, subsequently this matrix inverted, carried out the vectorial matrix multiple of the encoded symbol of this inverse matrix and reception.In typical system, the brute force of this process is implemented to consume too much evaluation work and memory requirement.Certainly, for the encoded glossary of symbols of specific reception, may not recover all original incoming symbols, even if can recover, may also need very large amount of calculation to calculate this result.
forward error correction (" FEC ") object transfer information (" OTI ") or " FEC OTI "
The FEC OTI (or can infer) receiving based on receiver, this receiver can be determined source piece and the sub-block structure of file transfer.In [Raptor-RFC-5053] and [RaptorQ-RFC-6330], FEC payload ID is (SBN, ESI), wherein, in [Raptor-RFC-5053], source block number (SBN) is 16 bits, and encoded symbol ID (ESI) is 16 bits, and in [RaptorQ-RFC-6330], SBN is 8 bits, and ESI is 24 bits, shown in Fig. 1 of the application.A kind of shortcoming of this FEC payload ID form is: must pre-determine the quantity for the bit to SBN and the FEC payload ID that distributes to ESI, sometimes be difficult to determine enough the suitable mixing for All Files transformation parameter.
For example, when using [Raptor-RFC-5053], only have 2 16=65,536 available ESI may be limited in some cases, this is due in some cases, may there is the source piece with 8,192 source symbols, therefore, the quantity of encoded symbol is 8 larger factors, for operable, may code rate limit, so that in this case, be limited to and do not drop to lower than 1/8.In this example, can be to have 2 16=65,536 available source pieces, it can be to be greater than that used (for example, each has 1,8,192 source symbols of 024 byte), the size of the file that can support is 524GB, in a lot of application, to compare with needed, it is the twice magnitude of amplitude.
Give one example again, when using [RaptorQ-RFC-6330], only have 2 8=256 available SBN, may be limited in some cases, this is due to for 4GB file, if each source piece is limited to 8MB, and (it can be this situation: if maximum sub-block size is 256KB, minimum subsymbol size is 32 bytes, and then symbol size is 1,024 byte), by the restricted number of source piece in 256, by file size limitation, be 2GB.In this example, it can be, with used comparing, and available 2 24=16,777,216 possible encoded symbols are more, for example, have 8,192 source symbols, and larger 2,048 times of the quantity of possible encoded symbol in some applications, does not need to use these encoded symbols.
The attribute of another kind of expectation is to provide between the different piece of file, and to the ability of the transmission division order of priority of coding, (it is sometimes referred to as unequal error protection (" UEP ").For example, may expect, compare with remaining 90%, to front 10% of file, carry out the stronger protection that prevents packet loss.For example, [LDPC-Extensions] described and how [LDPC-RFC-5170] expanded, to the support of UEP is provided.In this case, actual FEC coding self is modified, to for the different piece of file, provide parity check in various degree.But the method exists some defects.For example, may not expect to encode and self to modify to provide UEP FEC, this is self to become complicated because it makes to realize and test FEC coding.In addition, as the result shown in the Fig. 6 of [LDPC-Extensions], what with regard to the different piece for file, provide resists with regard to packet loss, and the performance that the method obtains is far from best.
For a kind of mode (described in [PET] and [PET-Patent]) of UEP file transfer ability is provided, be according to the priority of the different piece of file and size, for the different piece of this document is distributed the different piece of each grouping.But, what pay close attention to is how in the following manner these UEP methods to be carried out comprehensively: the other parts that are independent of file, each different piece of file is divided into some source piece and sub-blocks, for example, to support the little internal memory decoding of each part of this document, in each grouping, provide FEC payload ID, this makes to receive what symbol that function is determined each part that comprises this document in each grouping simultaneously.Using form (SBN, ESI) FEC payload ID supports that this ability is very difficult, each part as for file, for corresponding SBN and the ESI of the symbol of the grouping of the first of file, can be not identical with SBN and the ESI of the symbol of the grouping of second portion for this document.
In some cases, needing special-purpose server, with more general, traditional hardware system, realize, support and maintain this private server, is more expensive to support content to transmit.Therefore, expectation has not too complicated, the method for transmitting content and repairing symbol of implementing.
Summary of the invention
In the embodiment of document transmission method and device, content is offered to document transmission system, make to represent that the source piece of this content and symbol can use with mode of unicast, to broadcast or multicast mode provides and repairs piece and symbol.Other approach and redundancy can be provided.The clean culture that can realize source piece and symbol by an entity is supplied, in the situation that have or do not have the particular procedure that first instance is carried out, broadcast or multicast part is provided by another entity.
In certain embodiments, make one group of content (data, image, audio frequency, video etc.) can be used for a large number of end user device (" UE ") that operates or use by a large number of user, to present this content to these users, conventionally after given user asks this content asynchronously soon, just start to present to this user, and preferably continue this and present until it finishes (unless user stops it).In this embodiment, content is stored in to one or more unicast server with source form, for the reparation symbol of this content, at broadcasting server place, generates and storage, and to a plurality of UE, carry out broadcast or multicast from it.Alternatively, do not store, as long as generated reparation symbol, just this content is broadcasted.Subsequently, UE receives the reparation symbol of some quantity from broadcasting server, determine and in this process, whether have the symbol of reparation to lose, determine that (at least approx) is in order fully to recover this content according to additional symbols and the reparation symbol receiving, and needed a plurality of other symbol, subsequently from the symbol of this quantity of unicast server request.Give one example again, from broadcasting server broadcast or at least some source symbols of multicast, determine that (at least approx) is in order fully to recover the needed a plurality of other symbols of a part (part that this UE will play) of this content, subsequently from symbol or the subsymbol (it can be to repair subsymbol or repair symbol) of this quantity of unicast server request.
The form for the request of unicast server in some cases, with the request of HTTP bytes range.When the length of the URL of HTTP bytes range request specified file, original position in this document and this request (for example, the quantity of the subsymbol of the quantity of the symbol of request or request or subsymbol or the symbol corresponding bytes range request continuous with a group) time, can be configured these requests, make whole or most of in these requests that the initial position of this document is used as to original position.This will allow downstream high-speed cache fulfillment request more continually, once this is because it is about given file, maximum request has been carried out to high-speed cache, its will provide all are just provided must data (this is a subset due to all less requests bytes range that is these high-speed caches).
In certain embodiments, unicast server is to serve as simple, traditional HTTP web server of bytes range request.Therefore, can, have any specific broadcast to be performed without understanding in the situation that, these unicast server be designed.
Below in conjunction with the detailed description of accompanying drawing by the better understanding providing for essence of the present invention and advantage.
Accompanying drawing explanation
Fig. 1 is the figure that traditional F EC payload ID is shown; Figure 1A shows the FEC payload ID for Raptor-RFC5053, and Figure 1B shows the FEC payload ID for RaptorQ-RFC-6330.
Fig. 2 is the figure illustrating for the FEC payload ID of basic general file transmission (" UFD ") method.
Fig. 3 is the flow chart that the basic UFD method of transmit leg is shown.
Fig. 4 is the flow chart that the basic UFD method of recipient is shown.
Fig. 5 A-Fig. 5 B is (SBN, ESI) sign that the symbol of file is shown, and being mapped to and shining upon the example from corresponding general file symbolic identifier (" UFSI ") of the symbol of file.
Fig. 6 illustrates the transmission of transmit leg general file, unequal error protection (" UFD-UEP ") method.
Fig. 7 is the flow chart that recipient UFD-UEP method is shown.
Fig. 8 A-8B shows the example of (SBN, ESI) sign of the file that comprises two parts, and wherein each part has different priority.
That Fig. 9 shows is corresponding with Fig. 8 A and Fig. 8 B, the example of the mapping between (SBN, ESI) identifier of the encoded symbol of two parts from file, and these groupings comprise encoded symbol for these parts together with the UFSI comprising in each grouping.
Figure 10 shows the performance of the simple UEP document transmission method of use [RaptorQ-RFC-6330].
Figure 11 shows the example performance comparison between simple UEP document transmission method and UFD-UEP document transmission method, and wherein these two kinds of methods are all used [RaptorQ-RFC-6330].
Figure 12 shows the file transfer of a file, the example performance comparison between the file transfer of a plurality of files and the document transmission method of UFD binding, and wherein all these methods are all used [RaptorQ-RFC-6330].
Figure 13 is can be for generating, sending and receiving Raptor, RaptorQ or as the block diagram of the communication system of other grouping of the part of file transfer.
Figure 14 is a kind of view that can carry out the communication system of file transfer, and one of them receiver receives output symbol from a plurality of transmit legs (its normally independently).
Figure 15 is a kind of view that can carry out the communication system of file transfer, wherein a plurality of receivers (it can be independently) receive output symbol from a plurality of transmit legs (its normally independently), so that with only use a receiver and/or only use a transmit leg to compare, receive incoming symbol with time still less.
Figure 16 has described can be for providing the example of the piece request stream media system of file transfer with HTTP streaming media server.
Figure 17 shows the unit of the piece request stream media system of Figure 16, it shows the more details in the unit of FTP client FTP, described FTP client FTP is coupled to piece service infrastructure (" BST ") to receive by the handled data of content capturing system, as can be for file transfer.
Figure 18 shows and can realize for preparing to carry out the hardware/software of capturing system of the file of file transfer.
Figure 19 shows the hardware/software of FTP client FTP and realizes, and wherein this FTP client FTP can be for receiving the file transmitting to this FTP client FTP.
Figure 20 shows a kind of example of general FEC OTI element format.
Figure 21 shows a kind of example of the FEC OTI element format specific to scheme.
Figure 22 shows basic FLUTE file transfer.
Figure 23 shows basic FLUTE packet format.
Figure 24 shows the subblock coding occurring at the transmit leg place that uses sub-block.
Figure 25 shows the sub-block decoding occurring at the receiver place that uses sub-block.
Figure 26 shows the file transfer of using sub-block.
Figure 27 shows the processing of a plurality of sources piece.
Figure 28 shows the workflow of using FEC and FLUTE.
Figure 29 shows broadcast/reparation, the configuration of clean culture/source.
Figure 30 shows system and how in MBMS carrying, only to broadcast and to repair symbol.
Figure 31 shows by the request of HTTP bytes range, uses clean culture reparation.
Figure 32 shows the example of calculating for the sub-block range of requests of the first source piece.
Figure 33 shows the example of calculating for the sub-block range of requests of the second source piece.
Figure 34 shows the example of original order HTTP file format and partitioned organization.
Figure 35 shows the example of the source symbol with UOSI order.
Figure 36 shows the example of the reparation symbol with UOSI order.
Figure 37 shows the example of expansion original order HTTP file format.
Figure 38 shows another example of expansion original order HTTP file format.
Figure 39 shows the example of calculating for not having the bytes range of the original order HTTP file format of sub-block.
Figure 40 shows the example of calculating for not having the bytes range of the expansion original order HTTP file format of sub-block.
Figure 41 shows the example of calculating for having the bytes range of the expansion original order HTTP file format of sub-block.
Embodiment
In the application's embodiment, file transfer is carried out by the encoder/transmitter system for Transmit message with for receiving the receiver/decoder system of file.Form to the transmission of carrying out is coordinated, and makes decoder understand encoder and how to encode.As shown in each example below, unless otherwise noted, otherwise file transfer is an example of general object transmission, by these examples, it is evident that, object handles can be become to file, vice versa.
In packet delivery system, organize data into some groupings, and send composition group.Each grouping has and allows receiver to determine to have in this grouping what content, with and the element of layout how.Use the described technology of the application, provide for when using forward error correction (" FEC "), send the flexibility of grouping.
Use these technology, can provide and not wait FEC protection, and the binding of file transmission.Be well known that, and a plurality of files be joined together to form to larger file, and protect this larger file to compare when transmission, when a plurality of files are transmitted into independent file, the elasticity that packet loss occurs during transmission is less.But, need conduct compared with the signaling of the structure of this mass file of the combination of small documents, receiver need to recover whole large file conventionally, recover in this large file compared with any one in small documents, even if receiver is just interested in recovering these subsets compared with small documents.
Therefore, preferred document transmission system or method should allow any flexible combination of a plurality of encoded symbol of a plurality of sources piece and each source piece, and this combination is as the file transfer structure of a file.In typical realization, a source piece is the scope of FEC operation (for example, generate and repair symbol).For example, can, according to all from one or more sources symbol of a source piece, generate reparation symbol.In these cases, each source piece can independently be decoded.This is useful at decoder place (if before receiving all data, need to some decoding datas and the processing that are transmitted).Pass through the disclosure of invention, should it is evident that, if very little of source piece, the reparation symbol receiving will can be used for recovering the source symbol of lesser amt, but, its source piece is very large, and this makes receiver decoding and/or processing and/or uses any source symbol in this source piece all will spend the more time, and this is because it will spend the longer time to decode to larger source piece.
Document transmission method should provide the efficient protection that prevents packet loss; in the situation that carry out the different piece of protected file according to different priority; the transmission of supporting document, wherein each part of file can have different source block structures and sub-block structure from the other parts of this document.Equally, in some cases, file is regarded as to the particular example of object, but in the application, should be understood that, the example of transmission and processing for description document used in this application, can also be for not perhaps being called the data object of file, for example, come from a large amount of data of database, a part for video sequence etc.
File/object transfer system or method are below on the basis of ability; provide the transmission of a plurality of small files/objects: protection simple signaling and the receiver efficient, small files/object structure of mass file/object on the basis of all these small files/objects, are recovering the ability of a subset of these small files/objects without recovering independently.
Document transmission system can comprise broadcast segment and clean culture part.For the purpose of legibility, " broadcast " can be to mean " broadcast, multicast and/or for serve other mechanism of corporate data to a plurality of users "." clean culture " refers to data and moves to a destination from a source, but a logical source can comprise a plurality of parts, and a logic destination can comprise a plurality of parts.In clean culture configuration, conventionally there is a source server and a destination client, wherein source server is waited for the request from client, and the data (if allowance) by asking to the client transmission of request specially, respond the request receiving.As known in the art, for the unicast transmission of a large amount of destinations, compare with the broadcasting transmitting of destination for these equal numbers, may produce more scalability challenge.Conventionally, for HTTP transmission, run through the server of a plurality of high-speed caches of whole network design, to increase the flexible ability of server transmission.But this method also not necessarily increases network capacity, network capacity is for transmit the common bottleneck of content to mobile device.
The example of the system of the quality with these expectations is described now.
basic general file transmission (" UFD ") method and system
Describe now basic general file transmission (" UFD ") method and corresponding system, wherein UFD compares with existing document transmission method, has significant advantage.Forward error correction (" FEC ") payload ID for basic UFD method comprises general file symbolic identifier (" UFSI ") field, and for example, it can be 32 bit fields.Transmit leg and recipient's method for basic UFD method described now.Equally, when file is called object, " UFSI " can alternatively be called " UOSI " (general object symbolic identifier).
Fig. 1 is the figure that traditional F EC payload ID is shown; Figure 1A shows the FEC payload ID for Raptor-RFC5053, and Figure 1B shows the FEC payload ID for RaptorQ-RFC-6330.
Fig. 2 is the figure illustrating for the FEC payload ID of basic general file transmission (" UFD ") method.A kind of rear method can be more flexibly.
Fig. 3 shows the basic UFD method of transmit leg.Transmit leg can generate FEC object transfer information (" OTI ") by existing method, for example, as described in [Raptor-RFC-5053] or [RaptorQ-RFC-6330] (for example, the 4.3rd joint referring to [RaptorQ-RFC-6330]), with this FEC OTI, determine while sending this document source piece and the sub-block structure used, determine (SBN, ESI) to and the encoded symbol of this document between relation the 4.4th joint of (for example, referring to [RaptorQ-RFC-6330]).
For example, described in [RaptorQ-RFC-6330], the FEC OTI generating can be (F, Al, T, Z, N), wherein F is the size of the file that will send, Al is that wherein stored boundary is the multiple of Al for guaranteeing that subsymbol is in the alignment factor of stored boundary alignment, and T is the size of symbol generation and that send in this transmission, Z is the quantity of the source piece that is divided into for this document is transmitted, and N is the quantity of the component piece that each source piece is divided in order to transmit.Shown in the step 300 of Fig. 3.
Transmit leg can form the encoded symbol that will send with grouping, based on source piece, by existing method, generates SBN and the ESI for these encoded symbols, if use partition, also use sub-block structure, for example, described in [RaptorQ-RFC-6330].Sending encoded symbol each time, transmit leg is all determined SBN A and the ESI B that will generate for this encoded symbol, as shown in the step 310 of Fig. 3, transmit leg (for example can be used existing technology subsequently, those technology described in [RaptorQ-RFC-6330]), based on (SBN, ESI)=(A, B) generate the value of this encoded symbol, as shown in the step 320 of Fig. 3.Subsequently, the UFSI C for this encoded symbol is calculated to be to C=B*Z+A, as shown in the step 330 of Fig. 3.
Transmit leg can send this encoded symbol in grouping, and wherein the FEC payload ID of this grouping is set to the UFSI C of this encoded symbol, as shown in the step 340 of Fig. 3.Subsequently, transmit leg can determine whether that more encoded symbol will send, as shown in the step 350 of Fig. 3, if words, transmit leg can generate other encoded symbol and sends, as it is shown to go to the "Yes" branch of step 310 of Fig. 3, if do not had, transmit leg can complete operation, as it is shown to go to the "No" branch of step 360 of Fig. 3.
There is the multiple modification of the basic UFD method of transmit leg.For example, transmit leg can be at least some groupings, send more than one encoded symbol, in this case, the UFSI of the first encoded symbol that can FEC payload ID is set to comprise in this grouping, can select other symbol comprising in this grouping, it is continuous making its corresponding UFSI value.For example, if carry three encoded symbols in this grouping, first this symbol has UFSI=4, and 234, other two encoded symbols can be to have respectively UFSI4,235 and 4,236 so.Lift some other alternative examples, transmit leg can pre-determine will generate how many encoded symbols, before any one in generating these encoded symbols, is identified for (SBN, ESI) value of all encoded symbol that will generate.Give one example again, can be in the situation that without the intermediate steps that generates (SBN, ESI) value, directly generate UFSI value.
Lift again a kind of example of modification, can generate the FEC OTI of other form.For example, base UFSI BU can be included in to the FEC OTI for this document, it can use as described below: FEC transmit leg and receiver are directed to the encoded symbol comprising in a grouping and the UFSI using is U+BU, and wherein U is UFSI entrained in carrying the grouping of this encoded symbol.Therefore, for example, if U=1 is carried in a grouping, 045, the base UFSI in FEC OTI is BU=2,000,000, this encoded symbol is 2,001 so, 045.The use of base UFSI has some advantages.The first, the protocol family of describing in [FLUTE], [ALC], [LCT], [FEC BB] carries out associated by connection object identifier (it is also called TOI) with the FEC OTI of the file that will transmit or object.Can be in the different time, or in different sessions, send the encoded symbol of identical file, these encoded symbols can be associated from different TOI.In addition, advantageously, the grouping being associated for the TOI different from each, can send the initial coding groups with UFSI=0.By thering is the ability that base UFSI is designated as to a part of FEC OTI, different base UFSI can with for this document, each TOI of the encoded symbol sending is associated, and without the TOI for different, send the encoded symbol repeating.For example, can, in the grouping being associated with TOI=1 and the grouping being associated with TOI=2, send the encoded symbol of identical file, the base UFSI being wherein associated with TOI=1 is set to 0, the base UFSI being associated with TOI=2 is set to 1,000,000.Subsequently, the coding groups of TOI=1 and TOI=2, can comprise UFSI0,1,2 etc. sequence, as long as for the file with TOI=1, transmission is less than 1,000,000 encoded symbol, among the encoded symbol of the transmission being associated with these two TOI, there is not the encoded symbol of repetition so.
With reference to Fig. 4, the basic UFD method of receiver has been described.Receiver can use existing technology, come to determine have with above for the FEC OTI (F, Al, T, Z, N) of the described same format of transmit leg, as shown in the step 400 of Fig. 4.For example, FEC OTI can be embedded in FLUTE conversation description, or FEC OTI can be encoded in URL, or can obtain FEC OTI by SDP message.In step 410, receiver checks whether receive more encoded symbol, it can rest on this step, until meet condition below: receiver receives another encoded symbol (in this case, receiver forwards step 430 to), or receiver is determined will receive more encoded symbol, in this case, receiver forwards step 420 to, and trial makes otherwise to recover this document, for example use the HTTP request for file repair server, or receiver can be waited for another session, to receive more encoded symbol in time after a while, or receiver can determine that this document can not be resumed.
When another encoded symbol is available, in step 430, receiver is determined the UFSI C of the symbol that this is encoded, receives the value of this encoded symbol.In step 440, quantity Z and the UFSI C of receiver based on source piece, calculates A=C mould Z, and B=floor (C/Z), in step 450, receiver is set to (A, B) by (SBN, ESI) for this encoded symbol, in step 460, receiver is stored value and (A, the B) of this encoded symbol, for use in file, recovers.In step 470, receiver determines whether to receive enough encoded symbols and recovers this document, if so, forwards step 480 to and recovers this document, otherwise, forwards step 410 to and receives more encoded symbol.
There is the multiple modification of the basic UFD method of receiver.For example, receiver can, at least some groupings, receive more than one encoded symbol, in this case, the UFSI of the first encoded symbol that can FEC payload ID is set to comprise in this grouping, other symbol in this grouping can have continuous corresponding UFSI value.For example, if carry three encoded symbols in this grouping, first this symbol has UFSI=4,234, other two encoded symbols can be to have respectively UFSI4,235 and 4,236 so, the UFSI carrying in this grouping can be the UFSI=4 of the first encoded symbol, 234.Lift some other alternative examples, receiver can, before attempting recovery, pre-determine and will receive how many encoded symbols.Give one example, receiver can be done some specific to the processing of FEC coding again, and it is for determining whether that receiving enough encoded symbols recovers this document.Give one example again, in recovery process, can be in the situation that without the intermediate steps that generates (SBN, ESI) value, directly use UFSI value.Give one example, the recovery of file can side by side occur with the reception of encoded symbol again.Give one example again, can use the FEC OTI information of other form.
Basic UFD method and the technology of describing in [RaptorQ-RFC-6330] are combined, to determine that source piece and sub-block structure provide a variety of interests.For example, the source symbol (for Transmit message, its combination by SBN and ESI identifies) that previous method is alleged, can be regarded as the file symbol (when using basic UFD method) identifying by UFSI.Make the indicate size of calculating with byte of the file that sends of F, T is illustrated in while sending this document, for the symbol size of FEC coding/decoding object, so KT=ceil (F/T) is the sum of the symbol in this document, and wherein ceil (x) is the smallest positive integral that is more than or equal to x.
When definite source block structure and sub-block structure, (for example, described at [RaptorQ-RFC-6330]), is used basic UFD method described above, the sign of symbol is become to UFSI form and becomes (SBN, ESI) form from UFSI format conversion from (SBN, ESI) format conversion, the scope that is used for the UFSI of file symbol is 0,1,2 ... KT-1, the any reparation symbol generating according to this document will have scope KT, KT+1, the UFSI in KT+2 etc.This attribute allows by simply the value of the UFSI of a symbol and KT being compared, and determines that this symbol is a part for original document, or the reparation symbol generating according to this document.For example, this can be for making not support the receiver of fec decoder, UFSI value that can be based on carrying in grouping, and the value of the KT based on for this document, determine which symbol be original document a part (with and position in this document), which symbol can be ignored into reparation symbol.
Fig. 5 A and Fig. 5 B show a kind of example, and in this case, file size is F=28,669 bytes, and symbol size is T=1,024 byte, so KT=ceil (F/T)=28.In these two accompanying drawings, the quantity of source piece is Z=5.In Fig. 5 A and Fig. 5 B, at top and/or side, show (SBN, ESI) label of the symbol of file, wherein every a line is corresponding to a source piece, and each is listed as corresponding to the symbol with identical ESI value.In bottom, show the corresponding UFSI label of these symbols.In this case, the symbol of UFSI=27 (, the 28th symbol about UFSI label) there is the object for FEC Code And Decode, and with its last (KT*T)-F=3 byte of zero padding, still do not send the byte of these last three fillings of this symbol.In this example, the any encoded symbol with UFSI28 or larger value is to repair symbol, the encoded symbol wherein with UFSI28 is to generate according to the source piece of SBN=3, the encoded symbol with UFSI29 is to generate according to the source piece of SBN=4, the encoded symbol with UFSI30 be according to the source piece of SBN=0, generate etc.This attribute have advantages of multiple other, as of ordinary skill in the art recognize.
Another kind of advantage based on UFD method is: if according to the order of its UFSI (, with UFSI order 0,1,2,3,4 ...) send encoded symbol, encoded symbol for Z source piece sends with interleaved order so,, first send Z the encoded symbol in each in this Z source piece with ESI0, then send the individual encoded symbol of Z etc. in each in this Z source piece with ESI1.For major part transmission, this simple sending order is enough and preferred.But, if packet loss experiences certain periodically (its may with the quantity Z synchronised of source piece), potential better sending order is before sending these symbols, and the continuous encoded symbol of the Z of each a group UFSI is replaced randomly,, with the order of random permutation, send and there is UFSI0 ..., the front Z of a Z-1 encoded symbol, subsequently, with the order of random permutation, send and there is UFSI Z ..., Z the encoded symbol below of 2*Z-1 etc.Should be understood that, run through this specification, unless otherwise noted, otherwise " at random " can comprise pseudorandom.
Than the method for previously known, use basic UFD method that multiple other advantage can be provided.For example, when use comprises the SBN of pre-sizing and the FEC payload ID of ESI field, what have independent predetermined quantity can energy piece, or each source piece has a plurality of possible encoded symbols.For example, cause 8 bit SBN and the 24 bit ESI of 32 bit FEC payload ID, by the restricted number of possible source piece in 256, by the restricted number of the possible encoded symbol of each source piece in 16,777,216.On the contrary, comprise that the FEC payload ID of UFSI field only limits the sum for the possible encoded symbol of a file, and be independent of the source block structure of this document.For example, when use causes the 32 bit UFSI of 32 bit FEC payload ID, the sum of the encoded symbol that can generate for a file is 4,294,967,296, be independent of this document and be divided into how many source pieces, and be independent of the sub-block structure (if using partition) of this document.Therefore, if the size of symbol is 1,024 byte, so in this example, file size can be to reach 4GB, the quantity of encoded symbol can be 1,024 is multiplied by this document size, and it is independent of this document is to be divided into a source piece, 16,384 source pieces, or 4,194,304 source pieces.Give one example, file size can be 2TB again, and the quantity of encoded symbol can be the twice of this document size.In all cases, the quantity of the encoded symbol generating for this document, is all independent of the sub-block structure (if use sub-block structured words) of this document.
general file transmission method for unequal error protection file transfer services
Most previous document transmission method is not supported unequal error protection (" UEP ") file transfer.Exist some by changing actual FEC coding (wherein this actual FEC coding is for encoding to the different piece of file), support the existing method of UEP, for example, current those methods specified in ISDB-Tmm (land mobile multimedia) standard, the method shown in use [LDPC-Extensions].Except when using UEP, must change outside the shortcoming of actual FEC coding, other shortcoming is: protection and ideal that these methods provide have a long way to go.
For example, consider the example in its result shown in the Fig. 6 of [LDPC-Extensions].In this example; by take the size of dividing into groups to send, be 1; the file of 000KB has two parts; each grouping comprises 1KB symbol: the first of this document has the size of 30KB; by 100 parity checks or repair grouping and protect, the second portion of this document has the size of 970KB, for this document, has sent altogether 1; 000 source grouping and 1,000 parity packets.The protection providing due to two kinds former thereby have a long way to go with ideal.A kind of reason is: based on [LDPC-RFC-5170], the FEC of use coding needs the significant expense that receives to recover source piece conventionally, that is, compare with the source grouping existing in a file, needs to receive more grouping and recovers this document.The second problem is: the method use in essence with for sending and protecting the set of packets that the second portion of this document is not identical, send and protect the first of this document.For the second problem, variance during 30 groupings outside 130 groupings that send in the first receiving for this document may be very large, and this is that the first due to this document is that grouping by this lesser amt sends.
Can improve the UEP document transmission method described in [LDPC-Extensions] by a kind of expansion, the application is called " simple UEP " document transmission method.This simple UEP document transmission method is used the prior art for file transfer; and based on priority; each part for this document; use the protection of varying number; the each several part of this document is transmitted as individual files; the logic that can send subsequently between the each several part of this document connects, and makes receiver know that transmitted file is a part for identical file.For example, this simple UEP document transmission method can be used [RaptorQ-RFC-6330] in example above, by sending altogether 130 groupings, transmit the front 30KB part of this document, it is 1 that its each grouping comprises the size generating according to this first, the encoded symbol of 024 byte, subsequently can be by sending 1870 groupings altogether, the second portion 970KB of this document is transmitted into independent file, its each grouping comprises the encoded symbol that the size generating according to this second portion is 1,024 byte.Therefore,, for two parts that send into this document of individual files, 2,000 groupings have altogether been sent.This simple UEP document transmission method is the improvement with respect to the method for describing in [LDPC-Extensions], this is owing to FEC coding self not being modified, and due to comparing shown in the Fig. 6 with [LDPC-Extensions], the performance of two parts of transmitting this document under different packet loss condition is more outstanding, shown in Figure 10 of the application.
It is due to the FEC coding describing in detail in [RaptorQ-RFC-6330] that this difference a kind of may originate, and compares the FEC coding describing in detail have more excellent recovery attribute in [LDPC-RFC-5170].But this simple UEP document transmission method still bears the second problem described above.
[PET] and [PET-Patent] provides for providing the potential of UEP file transfer services to improve one's methods, and wherein each grouping comprises: the priority of each part based on this document, comes from the encoded data of the specified quantity of this part.The direct merging of [PET] will comprise the encoded symbol for the suitable size of each part of this document in each grouping, comprise subsequently independent FEC payload ID, it is right that it comprises for (SBN, the ESI) of each part of this document.But the method is due to several former thereby do not have an advantage.
For example, when using FEC payload ID when (it comprises for the SBN of the pre-sizing of each part and ESI field), for each source piece of each part of this document, what have an independent predetermined quantity can energy piece or a plurality of possible encoded symbol.For example, each part for d part has the SBN of 8 bits and the ESI of 24 bits, the FEC payload ID that causes (32*d) bit, its possible source number of blocks by every part is limited to 256, by the restricted number of the possible encoded symbol of each source piece in 16,777,216.In addition, if each part for d part, FEC payload ID size is 32 bits, this means so in each grouping, for all parts, there is the FEC payload ID of 32*d bit altogether, for example, if d=10, so only, for the FEC payload ID header in each grouping, this will be 320 bits, or 40 bytes equally.
Basic UFD method for file transfer can be expanded, to unequal error protection (UEP) file transfer services is provided, described in detail as follows, it,, with respect to previous UEP document transmission method, provides significant advantage.Here, the method for these expansions is called " UFD-UEP " document transmission method.These UFD-UEP document transmission methods can be used some in the method described in [PET] and [PET-Patent].
A kind of exemplary UFD-UEP document transmission method is described now in more detail.In the method, the Divide File that transmit leg is F by size becomes size for F 0, F 1..., F d-1d>1 part, so F equals the F about i isum.Transmit leg is divided into size for T by packet size T 0, T 1..., T d-1d part, so T equals the T about i isum.The division of this T is based on F 0, F 1..., F d-1priority with corresponding file part.Ratio F i/ T idetermine in order to recover the i part of this document, need to receive how many groupings (its supposition is used desirable FEC coding that the i of this document is partly protected into a source piece), so ratio F i/ T iless, the priority of the i of file part is higher.When realizing, may need to compare F i/ T ia little more grouping, recover the i part of this document, for example, because FEC coding is faulty, and present certain and receive expense, or because this part of this document is divided into a plurality of sources piece, lose according to compare higher ratio with other source piece for the encoded symbol of some source pieces, or due to F i/ T iit not integer.For the example of a UEP, suppose F=1MB, T=1,024octets, d=2, F 0=32KB, F 1=F-F 0=992KB, andT 0=64octets, T 1=T-T 0=960 bytes.In this example, F 0/ T 0=512, therefore the ideal of 512 groupings receives the recovery of the 0th part that allows this document, and F 1/ T 1=1,058.13, therefore the ideal of 1,059 grouping receives the recovery of the part 1 that allows this document.Therefore, in this example, can, according to the needed a plurality of groupings of part 1 only about half of that recovers this document, recover the 0th part of this document.
It should be noted that in this example, if do not use UEP (that is, d=1, so F 0=F=1MB, T 0=T=1,024 byte), need so F 0/ T 0=1,024 grouping recovers this document.Therefore, in the UEP example described in paragraph above, compare when not using UEP, the recovery of the part 1 of file needs a little more grouping, and this is because the priority of the 0th part of this document is higher.Can in find the analysis and research of this basic balance.
Exist transmit leg UFD-UEP method based on F 0, F 1..., F d-1with the priority of different file part, generate the division T of T 0, T 1..., T d-1various ways.It should be noted that if select T i, make F i/ T i≈ F/T, thinks that the i of this document partly has average priority so, and basis is F respectively i/ T i<F/T, or F i/ T i>F/T, the priority of i part can be relatively higher or lower.
Referring now to Fig. 6, describe for generating the transmit leg UFD-UEP method of FEC OTI.Given d, F 0, F 1..., F d-1, T 0, T 1..., T d-1, Al, WS value, can be independent of the existing method of using, for example, use the method for [RaptorQ-RFC-6330] the inner description in the 4.3rd, FEC OTI is calculated to be in d the part that is applied to this document each, namely, for each i=0 ..., d-1, transmit leg can generate the FEC OTI for file i part, it determines method how to use [RaptorQ-RFC-6330] the inner description in the 4.3rd, is divided into source piece and sub-block, by F ibe processed into file size, by T ibe processed into for carrying the symbol size for the information of i part in each grouping.Therefore, be independent of the other parts of file, transmit leg generates the FEC OTI for the i part of this document.In the step 600 of Fig. 6 of the application, show this process.
In addition, transmit leg can also generate the i part of this document to the division of source piece and sub-block, and for (the SBN of the encoded symbol of the i part of this document, ESI) mapping between, how to use existing method (for example, the method for [RaptorQ-RFC-6330] the inner description in the 4.4th joint and the 5th joint) according to the i of this document, partly to carry out the symbol of generating encoded.Be independent of the other parts of this document, these UFD-UEP methods are applied to the i part of this document, therefore the different piece of this document can have different source pieces and sub-block structure, particularly, can there is the source symbol of varying number in each source piece, between the different piece of this document, have the source piece of varying number, this is owing to these methods being applied to independently to each part of this document.
Preferably, alignment factors A l is identical for all parts of file, particularly, preferably, for each part i, T ivalue be the multiple of Al.In addition, for example, if use the method for describing in the 4.5th joint of [RaptorQ-RFC-6330], derive FEC OTI, preferably, when leading-out needle is during to the source piece of each part of this document and sub-block structure, use the value of identical Al and WS.For Al, use identical value, guarantee at receiver place, on the memory of the multiple byte-aligned according to Al, decode, for WS, use identical value, the largest block size of guaranteeing need to decode in random access memory (RAM) at receiver place is identical for all parts of this document.But, do not need the described method of the application here, that is, if different A1 values is used for to different files, these methods are applied without modification in the situation that, as further described below.Existing some application, in these application, for the different piece of file, use different WS values, is preferred for deriving FEC OTI, for example, if expectation recovers the higher priority part of this document with memory still less.
Have some application, in these application, it is favourable for different parts, using the different alignment factors.For example, there is the low side receiver and the high-end receiver with the memory of 8 byte-aligned of the memory of 4 byte-aligned, can partly decode to high priority, and low priority part can only be decoded by high-end receiver.In this example, advantageously, for high priority, partly use Al=4, low side receiver can be decoded efficiently to these parts, advantageously, for low priority, partly use Al=8, make to compare with the part with Al=4, high-end receiver can be for decoding more efficiently to having these parts of Al=8.
The corresponding FEC OTI generating specific to file i transmit leg UFD-UEP method partly, comprises F i, T i, Z i, N i, Z wherein ithe quantity of source piece that the i part of this document is divided into, N ithe quantity of sub-block that each source piece of the i part of this document is divided into.Therefore, on the whole, the FEC OTI that transmit leg UFD-UEP method generates for this document can comprise: (d, Al, F 0, T 0, Z 0, N 0, F 1, T 1, Z 1, N 1..., F d-1, T d-1, Z d-1, N d-1).Therefore the FEC OTI of other version is also available, for example, and when d fixes, and need in FEC OTI, explicitly is not listed time, or when indicating source block structure and sub-block structure by other method (if you are using).
The transmit leg that uses UFD-UEP method, combines one of each part for this document encoded symbol, to send in a grouping, for the FEC payload ID of this grouping, comprises UFSI value C.In the time will sending a grouping, transmit leg is definite will use the UFSI value C of the FEC payload ID that acts on this grouping, shown in the step 610 of Fig. 6.For example, by the UFSI value of use, can be continuous, for example, UFSI value 0,1,2,3 ..., etc.For given UFSI value C, in the grouping of the i part for file, by the size being placed in the i part of grouping, be T iencoded symbol, there is SBN A iwith ESI B i, it is calculated to be A i=C mould Z i, B i=floor (C/Z i), shown in the step 620 of Fig. 6.For, for grouping d part in each, generate these d encoded symbols, subsequently UFSI C is sent together with big or small these d for T of polymerization encoded symbol in grouping, shown in the step 630 of Fig. 6,640 and 650.Transmit leg UFD-UEP method continues to generate and send coding groups, as definite shown in what carry out in the step 660 at Fig. 6.
With reference to Fig. 7, receiver UFD-UEP method is described.Receiver can use existing technology, come to determine have with above about FEC OTI (d, Al, the F of the described same format of transmit leg 0, T 0, Z 0, N 0, F 1, T 1, Z 1, N 1..., F d-1, T d-1, Z d-1, N d-1), shown in the step 700 of Fig. 7.For example, FEC OTI can be embedded in FLUTE conversation description, or FEC OTI can be embedded in URL, or can obtain FEC OTI by SDP message.In step 710, receiver checks whether receive more grouping, it can rest on this step, until meet condition below: receiver receives another grouping (in this case, receiver forwards step 730 to), or receiver is determined will can not receive more grouping, in this case, receiver forwards step 720 to, and determined whether to recover enough parts of this document and stopped, or attempt making otherwise to recover the other parts of this document, for example use the HTTP request for file repair server, or receiver can be waited for another session, so that in the more grouping of time reception after a while.
When another divides into groups when available, in step 730, receiver is determined the UFSI C of the grouping receiving, for each i=0 ..., d-1, from for each i=0 ..., d-1 grouping in to extract size be T iencoded symbol.In step 740, for each i=0 ..., d-1, the quantity Z of receiver based on source piece iwith UFSI C, calculate A i=C mould Z i, and B i=floor (C/Z i), in step 750, receiver is set to (A by (SBN, the ESI) of the encoded symbol for i part i, B i), in step 760, receiver storage is for value and the (A of the encoded symbol of i part i, B i), for use in the recovery of the i part of this document.In step 770, for each i=0 ..., d-1, receiver determines whether to receive the i part that enough encoded symbols recover this document, if, forward step 780 to and recover the i part of this document, otherwise, forward step 710 to and receive more grouping.
There is the multiple modification of receiver UFD-UEP method.For example, transmit leg can be at least some groupings, transmission is for the more than one encoded symbol of each part of file, receiver can be at least some groupings, reception is for the more than one encoded symbol of each part of file, in this case, can FEC payload ID be set to in this grouping, comprise for the corresponding UFSI of first of each part the encoded symbol, for other symbol of each part in this grouping, can there is continuous corresponding UFSI value.For example, if carry three encoded symbols for each part of this document in this grouping, the first symbol and UFSI=4 for each part, 234 is corresponding, so for other two encoded symbols of each part can be respectively with UFSI4,235 and 4,236 is corresponding, the UFSI carrying in this grouping can be UFSI=4,234.
Lift some other alternative examples, receiver can pre-determine and will receive how many encoded symbols before attempting recovery, or can calculate the packet loss statistics during this session, and decided to attempt recovering which part of this document based on this.Give one example, receiver can be done some specific to the processing of FEC coding again, and it is for determining whether to receive the various piece that enough encoded symbols recover this document.Give one example again, in the recovery process for each file part, can be in the situation that without the intermediate steps that generates (SBN, ESI) value, directly use UFSI value.Give one example, the recovery of a part for file can side by side occur with the reception of encoded symbol again.
Give one example again, can use the FEC OTI information of other form.For example, can be independent of other parts, by base UFSI BU ispecify in the FEC OTI for i part, it can use as described below: FEC transmit leg and receiver are directed to the encoded symbol of the i part comprising in a grouping and the UFSI that uses is U+BU i, wherein U is UFSI entrained in carrying the grouping of this encoded symbol.Therefore, for example, if U=1 is carried in a grouping, 045, the base UFSI in the FEC OTI for i part is BU i=2,000,000, this encoded symbol is 2,001 so, 045.
The use of base UFSI has some advantages.For example, be directed to different parts, only sending in a situation of repairing symbol (due to the reason of describing after a while), BU is being set i=KT ifavourable, KT wherein ithe quantity of the file symbol in i part.In this case, no matter the UFSI sequence in the packet sequence sending can be 0,1,2,3 etc., and for each part, only sends the reparation symbol generating according to this part in grouping.
The another kind of exemplary advantage of the use of this section of description base UFSI.The protocol family of describing in [FLUTE], [ALC], [LCT], [FEC BB] carries out associated by connection object identifier (it is also called TOI) with the FEC OTI of the file that will transmit or object.Can be in the different time, or in different sessions, send the encoded symbol for same section, these encoded symbols can be associated from different TOI.In addition, advantageously, the grouping being associated for the TOI different from each, can send the initial coding groups with UFSI=0.By having for each part, can independently base UFSI be designated as to the ability of a part of FEC OTI, for the different base UFSI of various piece can with for this document, each TOI of the encoded symbol sending is associated, and without the TOI for different, send the encoded symbol repeating.For example, can be in the grouping being associated with TOI=1 and the grouping being associated with TOI=2, transmission is for the encoded symbol of same section, the base UFSI for this part being wherein associated with TOI=1 is set to 0, the base UFSI for same section being associated with TOI=2 is set to 1,000,000.Subsequently, the coding groups of TOI=1 and TOI=2, can comprise UFSI0,1,2 etc. sequence, as long as for this part with TOI=1, transmission is less than 1,000,000 encoded symbol, among the encoded symbol of the transmission being associated with these two TOI, there is not the encoded symbol of the repetition of this part so.In addition, also advantageously, have the base UFSI all being used by all parts in FEC OTI, rather than for each part, specify different base UFSI, this is because this can reduce the needed byte quantity of transmission FEC OTI, share for each part in this FEC OTI simultaneously, specify the multiple advantage of independent base UFSI, particularly for example, when the FEC coding using in conjunction with the method is that the FEC that information increases (encodes, at the FEC coding described in Luby I) time, this is due in this case, for the effective range of the UFSI of all parts, can be very large.
Basic UFD-UEP method and the technology of describing in [RaptorQ-RFC-6330] are combined, to determine that source piece and sub-block structure provide a variety of interests.Particularly, all advantages of basic UFD method are still held in UFD-UEP method.For example, the source symbol (in the UEP part of Transmit message, its combination by SBN and ESI identifies) that previous method is alleged, can be regarded as the file symbol (when using UFD-UEP method) identifying by UFSI.It should be noted that KT=ceil (F/T) is the sum of the file symbol in the i part of this document.When each part for file, while determining source block structure and sub-block structure, (for example, described at [RaptorQ-RFC-6330]), is used UFD-UEP method described above, by the sign of symbol of a part that is directed to file from (SBN, ESI) format conversion becomes UFSI form and becomes (SBN, ESI) form from UFSI format conversion, for the scope of the UFSI of file symbol, is 0,1,2 ..., KT i-1, any reparation symbol generating according to this document will have scope KT i, KT i+ 1, KT iuFSI in+2 grades.This attribute allows to pass through simply by the UFSI of symbol and KT ivalue compare, determine that this symbol is a part for the original i part of file, or the reparation symbol generating according to the i part of this document.For example, this can be for making not support the receiver of fec decoder, UFSI value that can be based on carrying in grouping, and the T of each the part i based on for this document iand KT ivalue, determine grouping which partly comprise original document part (with and position in this document), which of grouping partly comprises negligible reparation symbol.
Fig. 8 A and Fig. 8 B show a kind of example, and in this case, this document comprises two parts.First is divided into 5 source pieces, wherein each of first 3 in these source pieces has 6 source symbols, each in remaining 2 source pieces has 5 source symbols, wherein the size of each in these symbols is 48 bytes for example, therefore the size of first is 28*48=1,344 bytes.Second portion is divided into 4 source pieces, wherein each of first 3 in these source pieces has 4 source symbols, remaining 1 source piece has 3 source symbols, wherein the size of each in these symbols is 256 bytes for example, therefore the size of second portion is 15*256=3,840 bytes.
Fig. 9 shows may information block for a kind of of the file structure shown in Fig. 8 A and Fig. 8 B.In this example, each grouping comprises that UFSI C, the size generating according to the first of the file structure shown in Fig. 8 A and Fig. 8 B based on C are T 1the first encoded symbol (as previous described with reference to Fig. 6) of=48 bytes and be T according to the size that second portion generated of the file structure as shown in Fig. 8 A and Fig. 8 B based on C 2the second encoded symbol (as previous described with reference to Fig. 6) of=256 bytes.The shadow-free of these groupings partly carries the source symbol of the appropriate section of this document, and shaded portion carries the reparation symbol generating according to the appropriate section of this document.In this example, in order to recover the grouping of the needed minimum number of first of this document, be 28, and be 15 in order to recover the grouping of the needed minimum number of second portion of this document.
Fig. 9 has described has UFSIs0 ..., 28 groupings of 27, all encoded symbols of the first for file of therefore carrying in these groupings are source symbols.Any other grouping that the UFSI value of use at least 28 generates, carries the reparation symbol for the first of this document.
Another kind of advantage based on UFD-UEP method is: if according to the order of its UFSI (that is, with UFSI order 0,1,2,3,4 ...) send encoded symbol, so for the Z of the i part of file ithe encoded symbol of individual source piece sends with interleaved order,, first sends this Z that is ithe Z in each in the piece of individual source with ESI0 iindividual encoded symbol, then sends this Z ithe Z in each in the piece of individual source with ESI1 iindividual encoded symbol etc.This attribute is all set up for all parts of file, even if each part has independently source block structure.For major part transmission, this simple sending order is enough and preferred.But, if packet loss experience certain periodically (its may with the quantity Z of source piece isynchronised), potential better sending order is before sending these symbols, the continuous encoded symbol of the Z of each a group UFSI is replaced randomly to (wherein, Z is all Z iminimum value among value, i=0 ..., d-1), that is, with the order of random permutation, send and there is UFSI0 ..., the front Z of a Z-1 encoded symbol, subsequently, with the order of random permutation, send and there is UFSI Z ..., Z the encoded symbol below of 2*Z-1 etc.Another kind of potential sending order is: before sending encoded symbol, all encoded symbol that send is replaced randomly.
Than the method for previously known or the previous simple extension of method, use UFD-UEP method that multiple other advantage can be provided.For example, use comprises the UFD-UEP method of the FEC payload id field of UFSI field, for the sum of the possible encoded symbol of each part of file, be only subject to the big or small restriction of UFSI field, it is independent of the source block structure of the various piece of this document.In addition, the use of UFSI field provides a kind of general and succinct FEC payload ID, and its permission side by side identifies the symbol generating according to the completely not identical source block structure of the various piece of file.For example, when use causes the 32 bit UFSI of 32 bit FEC payload ID, the sum of the encoded symbol that can generate for a file is 4,294,967,296, be independent of this document and be divided into how many source pieces, and be independent of the sub-block structure (if using partition) for this document of the various piece of this document.Therefore, if the size for the symbol of the first of file is 256 bytes, size for the symbol of the second portion of file is 1,024 byte, so in this example, the size of the first of file can be 1GB, the size of the second portion of file is 4GB, then the quantity of encoded symbol can be 1,024 is multiplied by the quantity of the source symbol of each file part, and it is independent of each file part is to be divided into a source piece, 16,384 source pieces, or 4,194,304 source pieces.
Figure 10 shows the performance of the simple UEP document transmission method of use [RaptorQ-RFC-6330].In this example, UEP file transfer is aimed at 30 source groupings (100 of its uses are repaired grouping and protected) and 970 source groupings (it uses 900 reparation groupings to protect).
Figure 11 shows the simple UEP document transmission method with respect to Figure 10, the improved example that UFD-UEP document transmission method provides.In this example, the Divide File of 1MB is become to the first of 32KB and the second portion of 992KB.For these two kinds of methods, use FEC coding specified in [RaptorQ-RFC-6330], for carrying the size of each grouping of encoded symbol, be 1,024 byte, sent 2,048 groupings altogether.
For the simple UEP document transmission method example shown in Figure 11, the second portion of the first of file and file is processed independently and transmitted, wherein in both cases, in each grouping, carry the encoded symbol exactly that size is 1,024 byte.Carry 32 groupings in the source that is used for the first of this document, sends 128 groupings altogether that comprise encoded symbol.Carry 992 groupings in the source that is used for the second portion of this document, sends 1,920 grouping altogether that comprises encoded symbol.
For the UFD-UEP document transmission method shown in Figure 11, mode with combination is processed and transmits the second portion of the first of file and file,, each grouping sending comprises for each the encoded symbol in these two parts, wherein for first, the size of encoded symbol is 64 bytes, and for second portion, the size of encoded symbol is 960 bytes.Carry 512 groupings in the source that is used for the first of this document, and all 2,048 groupings all comprise the encoded symbol for first.(the encoded symbol in last grouping in source is carried in the source that is used for the second portion of this document 1059 groupings, with zero, fill to reach the encoded symbol that whole symbol size are the second portion of 992 bytes), all 2,048 groupings all comprise the encoded symbol for second portion.
As viewed in Figure 11, according to packet loss, second portion for file, the restorability of simple UEP document transmission method and UFD-UEP document transmission method is actually identical,, in both cases, the second portion of file is recovered liberally, as one man to reach the packet loss that approaches 48%.On the other hand, for the first of file, the restorability of UFD-UEP document transmission method is better than simple UEP document transmission method significantly: simple UEP document transmission method can come the first of recovery file consistently to be less than 65% packet loss, and UFD-UEP document transmission method can come the first of recovery file consistently to approach 75% packet loss.
general file transmission method and system for the file transfer services of binding
Most previous document transmission method is not supported the file transfer of binding,, a plurality of file transfer is become to single binding file that is.A kind of simple and clear method of transmitting several files is exactly to transmit independently each file.But this simple and clear method has some shortcomings.For example, if these files are very little, the protection providing and desirable gap are far, this be due to: when comprising quantity for the grouping of the encoded symbol of each file when very little, there is larger variance in packet loss statistics.
Figure 12 shows this problem.In Figure 12, according to during the transmission, the percentage of the packet loss in network, illustrates the reliability of the file transfer of 32KB file.In this document transmission example, the size of symbol is 1,024, uses FEC coding specified in [RaptorQ-RFC-6330], 32 source symbolic codings of this document are become to 64 encoded symbols, and each encoded symbol sends with an independent grouping.As observed in Figure 12, due to this variation, at the packet loss percentage that can realize in the transmitting situation of file, be far smaller than 50%.
In addition,, if a lot of less files are encoded independently and sent, the packet loss percentage in the situation that receiving All Files is reliably even less so.Figure 12 shows this behavior for the transmission of 32 files, and wherein the size of each file is 32KB, uses and the identical parameters described in previous paragraph, is independent of coding and transmission that other file is carried out each file.As observed, when packet loss is during lower than about 25% (it is far smaller than 50%), just can realize reliably the transmission of whole 32 files.
Can to UFD-UEP document transmission method, expand as described below, to a kind of document transmission method of UFD binding is provided.The document transmission method of this UFD binding can be used the method identical with UFD-UEP document transmission method, but not the transmission that sends d part of identical file, but alternatively send: each part is an independent file, and d file transfer become to a binding.Suppose that transmitter is desirable to provide size and is respectively F 0, F 1..., F d-1the binding transmission of d file.The method of this transmitter UFD binding is divided into size for T by packet size T 0, T 1..., T d-1d part, so T equals the T about i isum.This division of T is based on F 0, F 1..., F d-1, and the priority of corresponding document.
Ratio F i/ T idetermine in order to recover i file, need to receive how many groupings (its supposition is encoded the i of this document is partly protected into a source piece with desirable FEC), so ratio F i/ T iless, the priority of the i of file part is higher.When realizing, may need to compare F i/ T ia little more grouping, recover the i part of this document, for example, because FEC coding is faulty, and present certain and receive expense, or because this part of this document is divided into a plurality of sources piece, lose according to compare higher ratio with other source piece for the encoded symbol of some source pieces, or due to F i/ T iit not integer.If the priority of the All Files that expectation will be transmitted is identical, T is set so i, make F i/ T i≈ F/T.For transmit leg and receiver, a lot of details of the document transmission method of this UFD binding are almost identical with UFD-UEP document transmission method, therefore omit.
Can expand the document transmission method of this UFD binding, to file transfer and the UEP file transfer of binding are side by side provided, that is, the priority of each file in this binding can be set differentially.In addition, the document transmission method of this UFD binding can have on the basis of suitable signaling, supports the transmission with priority of a plurality of files and a part for a file to have the transmission of priority.For example, if use the document transmission method of UFD binding, three objects are encoded and sent, the first two object can be the different piece with the identical file of different priorities so, and the 3rd object can be the different files with different priorities.Receiver can decide it interested for which file or file part in the file of this binding of recovery based on many factors, and is independent of the other parts of other file or file, only the part of these files or file is recovered.As those of ordinary skills will be appreciated that, after reading the disclosure of invention, there is the multiple possible alternate version of the document transmission method of this UFD binding.
Lift the simple examples of the file transfer of a UFD binding, suppose the binding that will transmit 32 files, the size of each file is 32KB, and each file has identical priority.Suppose T=1,024 byte.In this case, for each i=0 ..., 31, T ivalue=32 byte.Each grouping comprises: for the encoded symbol of 32 bytes of each file in these 32 files, and for identifying the UFSI of 32 encoded symbols of this grouping.In this example, there is 1,024 grouping, the source symbol that it comprises each file in the file that comes from 32 formed objects, these are that UFSI scope is 0 to 1,023 grouping.Suppose in this example, for each file, generate 1,024 other reparation symbol, and in UFSI scope, be to send in other 1,024 grouping of 1,024 to 2,047.
Figure 12, according to packet loss, shows the recovery attribute of the file transfer example of this UFD binding.In this example, can approach 50% with packet loss, with the document transmission method of this UFD binding, recover reliably all 32 files, it is with respect to the packet loss that is similar to 25%, realized a kind of improvement of essence, this allows to use independent coding and the transmission of each file, carries out the transmitting of all 32 files.
UFD and UEP document transmission method can have multiple other application.For example, can for example,, by multicast or radio network (, according to the network of 3GPP eMBMS standard), transmit the segmentation of the content of DASH form.In this case, each segmentation of the content of DASH form can comprise: the video content of 8 seconds of encoding according to 1Mbps, that is, the size of each segmentation is 1MB.
When the content of this DASH form is finally play by the terminal use on mobile device, this broadcasting (that is, do not there is artifact or skip or cushion) of expectation full fidelity, terminal use may only expect to play a part for the content being transmitted.For example, in order (to obtain efficiency and flexibility when transmitting and play, content once format can be changed into DASH form, on the basis of reformatting, by multiple transmission means, transmit not carrying out), expectation becomes an independent file by each segment transmissions.
For network efficiency, expectation, each DASH segmentation is FEC protection, and transmits completely with other segmentation with interweaving, wherein, preferably can use interweaving that UFD and UEP transmission method provide in grouping.For example, suppose and will transmit 150 segmentations, the size of the DASH content that therefore will transmit is to comprise the 150MB of 1200 seconds, or the broadcasting presentative time of 20 minutes equally.Suppose that the payload in each grouping is in the grouping of 1200 bytes, send this content.So, use the described UFD of the application and UEP transmission method, can give each in 150 segmentations by 8 byte allocation of each grouping, that is, 8 byte symbols of each segmentation in these 150 DASH segmentations are carried in each grouping.So, be independent of packet loss pattern, can be after arriving approximate 131,072 groupings of mobile receiving device, that is, each segmentation in these 150 segmentations recovers each DASH segmentation after arriving the data of 1MB.In this example, receiving mobile device place, can be without other DASH segmentation be decoded in the situation that, each in these 150 DASH segmentations is decoded and play alternatively.
Lift again the example of a described UFD of the application and UEP document transmission method, suppose that transmission by multicast or radio network (for example, according to the network of 3GPP eMBMS standard) content of the DASH form that transmits, wherein DASH content comprises video segmentation and audio parsing sequence, according to 8 seconds video contents of 1Mbps coding (each video segmentation comprises, the size of each video segmentation is 1MB), according to the respective audio content of 8 seconds of 32Kbps coding (each audio parsing comprises, the size of each audio parsing is 32KB), the content of the presentative time that wherein video segmentation and corresponding audio parsing comprise the time interval that is mainly used in identical 8 seconds.
In this example, DASH content will be by streamlined, that is, each video segmentation and corresponding audio parsing, by according to the order of its presentative time, transmit according to priority.Suppose that payload in each grouping is to send this content in the grouping of 1200 bytes.So, use the described UFD of the application and UEP transmission method, can give a video segmentation by 1160 byte allocation of each grouping, by the residue of each grouping 40 byte allocation, give corresponding audio parsing, that is, 1160 byte symbols of video segmentation and 40 byte symbols of corresponding audio parsing are carried in each grouping.So, be independent of packet loss pattern, can comprise approximate 905 groupings for video segmentation by reception, recover this video segmentation, can, from comprising approximate 820 groupings for the symbol of corresponding audio parsing, recover this corresponding audio parsing.
Therefore, on the whole, the reception of any 820 groupings (it exist corresponding video segmentation and audio parsing) corresponding with the presentative time of 8 second period, allow mobile receiving device to recover this audio parsing, the reception of other 85 groupings (or 905 groupings altogether) also allows the recovery of corresponding video segmentation.In this example; compare with video; audio frequency is more protected; this is preferred in most situation, and for example, it is that the timing due to video playback is that the timing of playing by audio frequency is indicated; in most situation; preferably, if do not receive enough data come audio plays and video the two, at least can play audio frequency.
the method that is used for the local HTTP support of clean culture reparation request
Can organize and may be configured as " the HTTP file " with the URL being associated to file or file part, the access of receiver for this document or file part be stored and be provided to standard HTTP web cache server can with this URL.This file or file part may be configured as HTTP file according to its original order, are called " original order HTTP file ".Conventionally, a kind of method of supporting for the local HTTP of clean culture reparation request, can be based on SBN and ESI, by the reparation request of the symbol of the source piece for HTTP file and subsymbol, in HTTP file, convert standard HTTP (for example, local HTTP/1.1) bytes range request (it is commonly referred to the HTTP part GET request of the HTTP of the bytes range with appointment) to.This makes standard HTTP web cache server can serve these and repairs request, avoid the needs of the HTTP web cache server of deployment-specific on a large scale, wherein these special-purpose HTTP web cache servers understand how a HTTP Divide File is become to Kuai Zhong source, Kuai He source, source symbol.
In these scenes, when system FEC encodes in use, conventionally advantageously, symbol is repaired in the inner transmission of only some sessions in these sessions (for example, broadcast/multi broadcast session), because this allows receiver request source symbol in clean culture reparation request.This has advantages of below: only need HTTP file, or the simple rearrangement conversion (as described in more detail below) of this HTTP file is provided for clean culture remediation server (it can be standard HTTP web cache server), make regulation HTTP file and the simpler logic of this HTTP file of distribution, because these logics are independent of FEC coding.Another kind of advantage is: if there is no transmission source symbol in session, due to all source symbols all " loss ", therefore receiver can be asked the source symbol of any order in clean culture reparation request, because this allows the reparation request for the source symbol of continuous sequence, so it is preferred.For example, suppose and use the FEC coding with desirable recovery attribute, the source piece of a part comprises 1,000 source symbol, repair symbol (even if some in these reparation symbols are lost in transmitting procedure, the pattern of the ESI of the reparation symbol therefore receiving may be far from continuous) for 700 that receive this source piece.Subsequently, receiver can be asked front 300 continuous source symbols of this source piece in clean culture reparation request, these source symbols and described 700 reparation symbols is combined, to recover this source piece.If these source symbols are continuous in HTTP file, can ask and receive all 300 continuous source symbols with the request of single HTTP bytes range so.
Receiver does not need to carry out prefix request (, the request with the first byte byte initial, magnitude setting for file), but need to carry out prefix request by all UE, along with the request obtaining from UE occurs greatly overlapping, improve significantly the cache efficient in http server, even when there being a lot of receiving equipments, different receiving equipment experience is different packet loss patterns (when obtaining grouping by broadcast or multicast session) arbitrarily.
Based on some in described these interests, technology described above can be conducive to network or the network equipment is only being broadcasted reparation symbol to receiver explanation.When sending this indication, receiver does not need to follow the tracks of it and receives what source symbol, the quantity that only need to follow the tracks of the symbol of its reception.For example, the total number of symbols based on receiving, receiver can be determined subsequently will be from the how many more symbols of remediation server request.In order to improve cache efficient, receiver can be configured to: the understanding based on it for the indication of only having reparation symbol to be broadcasted, the source symbol for losing quantity, carries out prefix request.
Alternatively, can give independent signaling indication to the receiver that carries out prefix request.In another embodiment, can be configured receiver, make as long as receiver has the flexibility of selecting between the different subsets of the source piece of losing, it has the source symbol (that is, the source symbol of the beginning of the most close source piece or sub-block) of the loss of minimum notation index value with regard to selection all the time.This can be the situation of being carried out transmission source symbol and being repaired symbol by broadcast channel.
In another embodiment, symbolic identifier, ESI that receiving equipment follow the tracks of to receive, and based on for example FEC OTI or the FEC payload ID that carries, determine whether it receives the ESI corresponding with only repairing symbol in receiving grouping.If this is the case, these receivers can carry out prefix request.In this embodiment, without using explicit signaling, receiver will, in the request of repairing, send the request (repairing symbol if it only receives) for the prefix of source piece and sub-block.Even in the situation that receiving equipment receives reparation symbol from broadcast channel, according to the pattern of the symbol receiving, and carry out simple request and receive potentially the balance between the redundant data received by broadcast channel, these requests of repairing remain very greatly or prefix request completely.
When sending, only repair the information that symbol is broadcasted, and transmitter-receiver is while carrying out the information of prefix request, when using HTTP bytes range file reparation request or the file reparation request based on symbol, has some advantages.Therefore, these methods can be applied to support receiver and the networks of any one or this two kinds of request forms.
Be used to indicate and only repair the signaling that symbol is broadcasted, can outside band, send in (by clean culture) or band and send (by broadcasting).According to the granularity rank of expectation, this indication can be applicable to service class, session-level, media rank or file-level even.For example, this signaling can be increased in user's service describing (" USD ").USD can indicate: in order to transmit the service of all identification, only repair symbol and be broadcasted.In addition, this signaling can also be increased in to media and present in description (" MPD "), wherein which media MPD indication broadcasts with only repairing symbol.This signaling can be increased in Session Description Protocol (" SDP "), to indicate its transmission that is applied to whole session, still be applied to the media part in this session.In addition, this signaling can also be increased in file description table (" FDT "), to indicate, repair the broadcast of symbol and only in file-level, apply.
For needing receiver to carry out the signaling for the prefix request of repair data, can also transmit to transmit by band and out-of-band.In addition,, according to the granularity rank of expectation, this indication can also be applied to service class, session-level, media rank or file-level even.
Therefore, exist for several different methods and the device of this indication are provided, receiver can be programmed and/or be configured to: in the situation that receiving this indication and not receiving this indication, carry out differential response.
This request can be aimed at byte or the symbol of specific quantity.In some cases, receiver is the quantity of the reparation symbol based on receiving, and the quantity of the source symbol that comprises in the file that will receive or object of expection, determines the quantity of the source symbol that will ask.In other cases, receiver can operate by operation dispatching, and wherein the definite only reparation symbol how to have received with it of receiver is decoded, and therefore can notice the source symbol of the more specifically quantity needing.For example, some of repairing in symbol are other redundancies of repairing symbol, in this case, may need more source symbol.In other example, perhaps can find need to be still less source symbol.
Receiver can be based on FEC OTI, will for specific (SBN, ESI) request to the source symbol of corresponding original order HTTP file, convert the request of HTTP bytes range to.For example, suppose that the FEC OTI for a file is (F, Al, T, Z, N), the SBN of the source symbol that ask is A, for the ESI of source symbol, is B, for simplicity, supposes N=1,, in the file structure of this example, no longer source piece is divided into sub-block.Subsequently, receiver can use for example method described in the 4.4th joint of [RaptorQ-RFC-6330] to determine (KL, KS, ZL, ZS), and wherein a ZL source piece has KL source symbol, and remaining ZS source piece has KS source symbol.Subsequently, based on A, B and symbol size T, receiver can determine that the start byte index SI of the source symbol in this document is suc as formula shown in 1, and the end byte index of the source symbol in this document is EI=SI+T-1.Subsequently, receiver can use the standard HTTP bytes range request that is directed to source symbol, comes request byte SI to EI.
SI=T* (KL*min{A, ZL}+KS*max{A-ZL, 0}+B) (formula 1)
Existence is for multiple expansion and the improvement of these methods, as of ordinary skill in the art recognize.For example, if in the situation that not using partition, from a plurality of continuous source symbols of original order HTTP file request, can carry out the request of single HTTP bytes range.Give one example again, HTTP web cache server except have or alternative original order HTTP file, can also have and comprise the file of repairing symbol, or original order HTTP file can be extended to and comprise reparation symbol, receiver can use and be similar to described those the method for the application, carries out for the HTTP bytes range request of repairing symbol.Lift again the example of an enhancing, these methods can be expanded to the situation of using partition, use similar method, as of ordinary skill in the art recognize.For example, receiver can use for example method described in the 4.4th joint of [RaptorQ-RFC-6330] to determine (TL, TS, NL, NS), and wherein the size of the front NL sub-block of source piece is TL*Al, and the size of the residue NS of a source piece sub-block is TS*Al.So, based on A, B and symbol size T, receiver can be determined the starting and ending byte index of the N corresponding with source symbol subsymbol in this document, uses the request of standard HTTP bytes range, carries out the request for these bytes.
Give one example, receiver can will be directed to the request of the source symbol of the file corresponding with specific UFSI or file part based on FEC OTI, converts the request of HTTP bytes range to again.
Method below can be recovered by receiver the symbol of HTTP file, transmits the bytes range request of asking with standard HTTP web cache server to receiver simultaneously, greatly strengthens the efficiency of use standard HTTP bytes range request.
For supporting a simple and clear method for HTTP bytes range as above request, be to use original order HTTP file.The method has advantages of below: do not need the conversion of original document or file part, generate the original order HTTP file for HTTP web cache server, but may need multiple different HTTP bytes range request to carry out request source symbol, even when for each source piece, only ask continuous source symbol.For this reason, there are at least two reasons: (1) may exist a plurality of sources piece, have the source symbol of the loss that comes from each source piece, in this case, for each source piece, may need independent bytes range request; (2) may there are a plurality of sub-blocks by each source piece, therefore even from a source symbol that source piece request is single, also need to be for a plurality of HTTP bytes range request that comprises described a plurality of subsymbols of source symbol, this is that the subsymbol due to a source symbol is discrete in original order HTTP file.
A kind of for supporting the favorable method of HTTP bytes range described above request, first the FEC OTI based on original document or file part, is reorganized into a kind of format (the application is called " UFSI order HTTP file ") by this document or file part.When existing a plurality of sources piece and/or each source piece to have a plurality of sub-block, the method is useful.The order of the data in UFSI order HTTP file is: the file symbol of the file symbol of UFSI0, the file symbol of UFSI1, UFSI2 etc.,, the der group of the data in UFSI order HTTP file is made into, the file symbol sorting according to the continuous UFSI increasing, as determined in FEC OTI.URL can be associated with UFSI order HTTP file, URL can be offered to HTTP web cache systems.Subsequently, receiver can use the request of HTTP bytes range as required, asks a part for UFSI order HTTP file.A kind of advantage of UFSI order HTTP file is: if receiver receives the reparation symbol of approximate equal number from each source piece, obtain so that enough source symbols recover original document or file part and the quantity of needed HTTP bytes range request can be minimum, for example, if receive the reparation symbol of the accurate equal number of each source piece, the request of a HTTP bytes range can be enough so.For example, for the request of front L*T*Z successive byte of UFSI order HTTP file, for L size each source piece reception of the Z from original document or file part source piece, be enough the source symbol of T.If receive K-L in each the one or more sessions for Z source symbol, repair symbol, and FEC coding has desirable recovery attribute, so from L*T*Z byte of this HTTP bytes range request receiving, enough for this HTTP file is carried out to fec decoder, wherein in this example, infer that K is the quantity of each Kuai Li source, the source symbol in Z source piece.
Another kind of for supporting the favorable method of HTTP bytes range described above request, first the FEC OTI based on original document or file part, is reorganized into a kind of different format (the application is called " SS order HTTP file ") by this document or file part.When there is a plurality of sub-block in each source piece, the method is useful, this is due in this case, each source symbol may not be a continuous part of this original document or file part,, the subsymbol of a source symbol can sort according to original document, is dispersed among the piece of whole source.The order of the data in SS order HTTP file is the orders that have below: the active symbol of institute of the first source piece, be then the second source piece active symbol, be then the 3rd source piece active symbol etc.,, the der group of the data in SS order HTTP file is made into, the source symbol sorting according to the continuous ESI of the increase in the piece of source, it is according to the series connection of the source piece of the continuous SBN order increasing, as determined in FEC OTI.URL can be associated with SS order HTTP file, URL can be offered to HTTP web cache systems.Subsequently, receiver can use the request of HTTP bytes range as required, asks a part for SS order HTTP file.If receiver receives the reparation symbol of varying number from each source piece, SS order HTTP file is particularly advantageous.For example, if there are two source pieces, each source piece has 1, 000 source symbol, if receiver receives 900 reparation symbols of the first source piece from one or more sessions, repair symbol for 100 of the second source piece, receiver can be carried out one for the request of front T*100 byte of SS order HTTP file so, and receive 100 source symbols of the first source piece, receiver can carry out another byte T*100 for SS order HTTP file to T*1, the request of 900 – 1, receive 900 source symbols of the second source piece, wherein in this example, T is the symbol size for the byte of these two source pieces.
In addition, can also use the just combination of described two methods,, by the different URL for receiver, UFSI order HTTP file and SS order HTTP file are available, then receiver can, to the HTTP file of two different forms, use the combination of HTTP byte requests.For example, if there are 10 source pieces, each source piece has 1, 000 source symbol, and if in one or more sessions, each 800 that receive in front 8 source pieces repair symbols, repair symbol for 820 that receive the 9th source piece, repair symbol for 500 that receive the 10th source piece, receiver can carry out the request of HTTP bytes range to UFSI order HTTP file so, to receive 200 source symbols of each the source piece in 10 source pieces, to SS order HTTP file, carry out other HTTP bytes range request, to receive other 300 source symbols of the 10th source piece.In this example, receiver can receive unwanted 20 source symbols (its supposition has the desirable FEC coding that recovers attribute) of the 9th source piece, but in some cases, from ask exactly the source symbol different HTTP bytes range requests of larger quantity (its need) of the needed quantity of each source piece and compare, the byte needing more than minimum of asking some source pieces with the HTTP bytes range request of smaller amounts can be more efficient.
Advantageously, the time that transmitter-receiver can be repaired file with this HTTP bytes range request.This realize by this feature be incorporated into gradually current for file reparation use in the on-premise network of other request message.Plan is transformed into its network operation the system operator of traditional file repair server based on HTTP, can, before this feature is fully supported on affiliate's network of its whole network or roaming, start to dispose the receiver that can carry out the request of HTTP bytes range.Subsequently, along with the quantity that HTTP can relay receiver that has of disposing increases, operator can start to dispose http server, to match with the request payload of estimation from these terminals.In specific network, can to receiver, indicate by signaling: it can use the request of HTTP bytes range in this network.
For send the another kind of method of the support of HTTP bytes range request to network, except remediation server URI is provided, the descriptor (for example, server URI label being become to " byteRangeServiceURI " type object) that also provides this server of indication only to support the request of HTTP bytes range.In having disposed the network of the remediation server of only accepting the request based on symbol, this method is useful, and it identifies with " serviceURI " descriptor conventionally.The regulation of this new " byteRangeServiceURI ", make new receiver can use the bytes range request with these servers, prevent that traditional receiver of not being familiar with this descriptor from carrying out the request based on symbol mistakenly from these http servers simultaneously.
For send another embodiment of the support of HTTP bytes range request to network, except remediation server URI is provided, it is only to support the request of HTTP bytes range that this server of indication is also provided, still support the descriptor of the request of HTTP bytes range and other request form (for example, the request based on symbol).In another embodiment, three kinds of this descriptor indications may in a kind of: whether (1) this remediation server only supports the request of HTTP bytes range; (2) whether this remediation server only supports the request form (for example, the request based on symbol) of another kind of type; (3) whether this remediation server supports the request of HTTP bytes range and other request form simultaneously.In addition, it is preferred that this descriptor is also indicated any in forms of these requests, or need to use (if this receiver is supported).This descriptor of the request form that server can be supported, sends together with the list of remediation server URI.
In addition, can also (for example send another descriptor to receiver, " useFileURI " element), it indicates it can use the request of HTTP bytes range, directly for example, from the content server (, the position on the Internet) of storage file, obtain the whole of the part of this document or this document.This has realized a kind of architecture, and in this architecture, Virtual network operator (for example, Mobile Network Operator) does not need the file repair server of deployment-specific, and the content server that can depend on these files provides the source data of repair process.When by broadcast channel download file, can use the filec descriptor table of the URI (for example, www.<news providersite>.com/latest_news.3gp) that comprises file to send these files.The existence of " useFileURI " element will indicate it can use the request of HTTP bytes range to terminal, from www.<news providersite>.com/latest_news.3gp, obtain source data.Therefore, not to point out www.<mobile-oper-cached-file-server-of-news >.com/newsfile_003.3gp to receiver, but receiver can directly enter available website of this content, it is generally used for using traditional http protocol to visit the browser of this content.Can there is the another kind of element of Transmit message form, for example the original order HTTP file format of original order or UFSI order or SS order or expansion.
Be independent of special-purpose repair process, except the content of broadcast, content transmission system can comprise for the device to receiver transmitted signal, and the some or all of the content of file are that clean culture can be used.This signaling can be to provide into the data of a part for broadcast, and wherein these data are pointed to clean culture position.For example, this broadcast data can comprise the indication of file availability and for the URL of this document.Different embodiment can be used these available files differentially.For example, the indicated file of URL being broadcasted, can be the file for repair process, and it downloads and/or support initially to broadcast faster for accelerating.
In certain embodiments, file is present in more than one network or physical location.For this reason, the signaling on broadcast channel can comprise: the url list of indicating a plurality of positions of addressable this document.In certain embodiments, there is the actual Same Physical position of pointing to, therefore point to a plurality of URL of identical file or object.
The indicated source of URL can be restricted, for example, and only for time of limited quantity.Useful, realize object (it specifies by identifier in broadcast distribution) to the mapping of possible a plurality of URL.For each in these URL, other information can be provided, for example, a file can physically be accessed with http protocol a position, in other position or the indication that can use other agreement to visit of identical position.Other example of this other information comprises: this resource can be in time of specific URL place access and/or for example, about accessing the rule (, priority list or depend on the priority list of access network availability) etc. of the priority select a URL between a plurality of URL of this resource time.
Can also send another kind of descriptor together with server URI list, to provide when receiver request repair data, first it should attempt the priority in which server or territory.In a preferred embodiment, " priorityURI " can be associated with some URI, so that indication: receiver is when selecting server, and it should have priority.This priority that has realized two kinds of levels is divided, thereby first receiver attempts having the server of " priorityURI ", only, when the server with priority is during without response, just to other server, sends request.In another embodiment, the group of server URI can be structured into " priortyGroups " having according to the listed group of the order of priority decline.This points out that to receiver first it should select from highest priority group.If for all failures of the request of all these servers, receiver forwards to and from the server of next group, selects etc., thereby the priority that realizes a plurality of levels is divided.
Description now can send to receiver two kinds of universal methods of descriptor and server URI list.In one approach, this signaling is the broadcast channel (in band) by being directed to all receivers, and in another approach, this signaling is by the unicast tunnel for each receiver (band is outer).This information can be increased at file and repair the multiple existing type of message using in feature, for example, association process is described (configuration file), user's service describing (" USD "), media present description (" MPD "), Session Description Protocol (" SDP ") or file description table (" FDT ").
When server is configured to send FDT and USD, to distribute this information, when receiver is configured to read and understands these FDT and USD, this provides for sending the instrument of various useful informations.
For example, this information can comprise " replacement position " by the document element in FLUTE, and it can comprise a plurality of alternative URL for same file.Can expand this element, for example, to also increase other parameter (, the designator of Resource Availability, its available form, its available time, priority etc.).
Give one example again, " BaseURL " element can be included in FDT element to (and therefore in document element, not needing), to can resolve each file in FDT according to any one in these BaseURL elements to receiver indication.Also can there is sign and timing as above.This can cover multiple deployment option.In a kind of modification, on USD level rather than FLUTE, present this BaseURL element.Therefore, USD can be provided as for carrying out the BaseURL of MBMS and resolve, simultaneously with FLUTE compatible mode mutually.
In another embodiment, some optional elements (for example, " replacement position 1 " element and " replacement position 2 " element) are incorporated in the document element of file transfer table (FDT).Each element in these elements can be on content server or the URL of file is provided in public private server.In one embodiment, during any one in there are these elements, before asking from the file repair server based on symbol, terminal is to these URL prioritization.In addition, also possibly, when these two elements exist, before " replacement position 2 " element, select " replacement position 1 " element.These URL are absolute URL or as relatively quoting described in RFC3986.
In another embodiment, optional when available " " element is associated with each in " replacement position x " attribute above, to indicate up duration (if knowing).
In another embodiment, can in file transfer table, use optional element " Base-URL-1 " and " Base-URL-2 ".When existing, " Base-URL-1 " is provided for any " replacement position 1 " element of FDT document element to comprise quotes the base URL resolving relatively.When existing, " Base-URL-2 " is provided for any " replacement position 2 " element of FDT document element to comprise quotes the base URL resolving relatively.
Can consider other option, also can consider the combination of option above.For example, file format type is embedded according to can with other URL of combining of file format in.
Along with the terminal in the network of operator produces automatically, more receiver can carry out the request of HTTP bytes range, and operator can repair file the major part of capacity and transfer to traditional http server, and indicates its ability by this Signalling method.
After receiving the indication of some remediation server support HTTP bytes range request, support the terminal of HTTP bytes range request can use this bytes range message, carry out a request msg from back-level server.
(in this embodiment, the preferred or requirement of the request form that descriptor indication will be used) in another embodiment, receiver is followed this indicated preferred or requirement.
Another kind method is to send to receiver: remediation server is supported the request of HTTP bytes range, and has this ability without which concrete server of sign.This signaling indicates all remediation servers can both only carry out bytes range request or allly can both carry out the request of HTTP bytes range and other request message format (for example, the request based on symbol).
In another embodiment, this signal designation as above listed three kinds may in a kind of: whether (1) all remediation servers only support the request of HTTP bytes range; (2) whether this remediation server only supports the request form (for example, the request based on symbol) of another kind of type; (3) whether this remediation server supports the request of HTTP bytes range and other request form simultaneously.When using the signaling of this simplification, operator can upgrade to all file repair server before sending this information to receiver, to support indicated request form.In addition, all right Transmit message Format Type, for example, original order, UFSI order, SS order, the original order of expansion or the HTTP file format of other type.If there is no explicitly Transmit message Format Type, can there is default file format type, for example, in the situation that there is no Transmit message Format Type, original order HTTP file format can be default file Format Type.
Be similar to descriptor and server URI information, also can to receiver, send this signaling by two kinds of universal methods.In one approach, this signaling is the broadcast channel (in band) by being directed to all receivers, and in another approach, this signaling is by the unicast tunnel for each receiver (band is outer).This indication can be increased at file and repair in the multiple existing type of message using in feature, for example, association process is described (configuration file), user's service describing (" USD "), media present description (" MPD "), Session Description Protocol (" SDP ") or file description table (" FDT ").
Description now can send to receiver two kinds of universal methods of the list of descriptor and server URI.
As of ordinary skill in the art recognize, there is the multiple modification of these methods.For example, original order HTTP file, UFSI sequential file and SS order HTTP file all can be used for request.Give one example, can cut apart SS order HTTP file, and may be configured as a plurality of HTTP files, a this HTTP file is corresponding to each source piece.Lift other example of some modification, can use the method that is different from based on HTTP and method and the agreement (for example, the method based on RTP/UDP) of agreement, or can use the proprietary protocol being based upon on UDP.
hardware system and example
Method and system described above can and/or comprise program code or the computer-readable medium of the suitable tissue of other instruction is realized with hardware, software.Program code can be provided on non-provisional medium, or sends into download etc., to carry out on suitable hardware platform.The application provides some examples of the system that can use content above.
Figure 13 is the block diagram that uses the communication system 1300 of multistage coding, as sent grouping for the part as document transmission system, as described in the application.Certainly, also can use other coding and/or hardware.
In communication system 1300, input file 1301 or inlet flow 1305 are offered to incoming symbol maker 1310.Incoming symbol maker 1310 is according to this input file or stream, generate one or more incoming symbols sequence (IS (0), IS (1), IS (2) ...), wherein each incoming symbol has a value and a position (being described as the integer bracketing with bracket in Figure 13).As explained above, for the probable value (that is, its alphabet) of incoming symbol normally 2 mthe alphabet of individual symbol, makes each incoming symbol coding corresponding to M bit of input file.Conventionally, the value of M is by determining by communication system 1300, but general-purpose system can comprise the symbol size input for incoming symbol maker 1310, and M can be changed between using.The output of incoming symbol maker 1310 is offered to encoder 1315.
Static keys maker 1330 produces the stream S of static keys 0, S 1...The quantity of the static keys generating is normally limited, and it depends on the specific embodiment of encoder 1315.Subsequently, will the generation of static keys be described in more detail.Dynamic key production device 1320, for each output symbol that will be generated by encoder 1315, generates dynamic key.Each dynamic key is dynamically generated, and it is unique making the very major part for the dynamic key of identical input file.Random number generator 1335 can provide input to maker 1320 and/or maker 1330.For example, Luby I has described the embodiment of operable key generator.The output of dynamic key production device 1320 and static keys maker 1330 is offered to encoder 1315.
Each the key I providing according to dynamic key production device 1320, the incoming symbol that encoder 1315 provides from incoming symbol maker, generates the output symbol with value B (I).Below by the operation of description encoding device 1315 in more detail.The value of each output symbol is to generate based on its key, certain the one or more function based in incoming symbol and possible one or more redundant symbols of calculating according to incoming symbol.Cause the set of incoming symbol and the redundant symbol of specific output symbol, the application is called " associated symbol " of output symbol or only its " association ".This function (" value function ") and associated selection are according to processing in greater detail to carry out below.Conventionally (but not being all the time), M is identical for incoming symbol and output symbol, that is, it is all corresponding to the coding of the bit of equal number.
In certain embodiments, the quantity K of encoder 1315 use incoming symbols selects described association.If K is unknown in advance, for example, when this input is files in stream media, K can be certain estimator.In addition, encoder 1315 can also use value K, for any intermediate symbols that incoming symbol and encoder 1315 generate is come memory allocated space.
Encoder 1315 provides output symbol to sending module 1340.In addition, also from dynamic key generator 1320, to sending module 1340, provide the key of each this output symbol.Sending module 1340 sends output symbol, and according to the encryption key method using, certain data that sending module 1340 can also send about the key of sent output symbol to receiver module 1350 by channel 1345.Suppose that channel 1345 is erasing type channels, but for the proper handling of communication system 1300, this is not necessary.
Module 1340,1345 and 1350 can be any suitable nextport hardware component NextPort, component software, physical medium or its combination in any, as long as sending module 1340 is for sending output symbols to channel 1345 and about any essential data of its key, receiver module 1350 is for from channel 1345 receiving symbols with about potential certain data of its key.The value of K (if determining described association with it) can send by channel 1345, or it can arrange in advance by the negotiation of encoder 1315 and decoder 1355.At shown other element of Figure 13 (with other place of the application) (no matter it is described as module, step, processing etc.), also can realize with hardware, software and/or the program code of storing on electronically readable medium.
As explained above, channel 1345 can be Real-time Channel, for example, by the Internet or broadcasting link, path or the phone from a point to another point from television transmitter to television reception person connects, or channel 1345 can be the memory channel such as CD-ROM, disc driver, Web website etc.Channel 1345 can be even the combination of Real-time Channel and memory channel, for example, when a people formed channel when (ISP) sends input file from personal computer to ISP by telephone wire, this input file is stored on Web server, and by the Internet, sends to recipient subsequently.
Because supposition channel 1345 is erasing type channels, so communication system 1300 is not supposed the one between the output symbol that leaves the output symbol of receiver module 1350 and enter sending module 1340.In fact, when channel 1345 comprises packet network, communication system 1300 even can not supposed when sending by channel 1345, keeps the relative order of any two or more groupings.Therefore, the key of output symbol, by determining with one or more in cipher key scheme described above, does not need the order of leaving receiver module 1350 by these output symbols to determine.
Receiver module 1350 provides output symbol to decoder 1355, and any data reception module 1350 receives about regenerate the key of these output symbols that device 1360 provides to dynamic key.Dynamic key regenerates device 1360 and regenerates the dynamic key for received output symbol, and these dynamic key are offered to decoder 1355.Static keys maker 1363 regenerates static keys S 0, S 1..., and provide it to decoder 1355.The random number generator 1335 that the access of static keys maker is used during Code And Decode is processed.This can have the form (if random number is to generate on this equipment) of the identical physical equipment of access, or has access for generating random number to realize the form of the identical algorithms of identical behavior.Decoder 1355 is used dynamic key to regenerate key and corresponding output symbol that device 1360 and static keys maker 1363 provide, recover incoming symbol (same IS (0), IS (1), IS (2) ...).Decoder provides recovered incoming symbol to input file reformer 1365, and reformer 1365 generates the copy 1370 of input file 1301 or inlet flow 1305.
Can carry out file transfer with a plurality of receivers and/or a plurality of transmit leg.In these concepts shown in Figure 14-15.
Figure 14 shows a receiver 2402 by three channels 2406, receives the layout of data from three transmitters 2404 (it is expressed as " A ", " B " and " C " respectively).Can use this layout to can be used for the bandwidth triplication of receiver, or processing transmitter does not have sufficiently long up duration to obtain complete file from any one transmitter.As mentioned above, the stream of each transmitter 2404 sending value S ().Each S () value represents output symbol B (I) and key I, has explained its use above.For example, value S (A, n a) be " n in the sequence of the output symbol that generates in transmitter 2402 (A) place a" individual output symbol and " n a" individual key.The key sequence that comes from a transmitter, preferably not identical with the key sequence from other transmitter, make the transmitter can repeated work.According to sequence S (), be the fact of the function of transmitter, figure 14 illustrates this content.
It should be noted that transmitter 2402 need to be in order not carry out repeated work, and carry out synchronous or coordinate.In fact, do not having on coordinated basis diverse location (that is, the n that each transmitter may be in its sequence a≠ n b≠ n c).
In Figure 15, the copy of an input file 2502 is offered to a plurality of transmitters 2504 (showing in the drawings wherein two).Transmitter 2504 sends the output symbol generating according to the content of input file 2502 independently to receiver 2508 by channel 2506.Before the decoder of receiver can recover whole input file, each transmitter in shown two transmitters can only need to send (K+A)/2 output symbol.
Use two receivers and two transmitters, the total amount of the information that receiver unit 2510 receives can be four times of information available on a channel 2506.This amount of information can be less than four times (for example,, if transmitter is broadcasted identical data to two receivers) of single channel information.In this case, the amount of the information at receiver unit 2510 places is at least twice (normally more multiples, if loses and have data in any channel).Even if it should be noted in the discussion above that these transmitters only broadcast a signal, but the visual angle of receiver in the different time, advantageously more than one receiver is monitored each transmitter.In Figure 15, receiver module 1350, decoder 1355, the dynamic key shown in receiver unit 2510 execution and Figure 13 regenerates the similar function of function of device 1360 and input file reformer 1365.
In certain embodiments, in thering is a computing equipment of two encoders, input file 2502 is encoded, make computing equipment to provide an output for a transmitter, for another transmitter provides another output.After having read the present invention, other modification of these examples should be apparent.
Should be understood that, the described code device of the application and method also can be for other communication scenario, and are not limited to the communication network such as the Internet.For example, optical disc also processes by erasing type and error correction coding the problem that scratches disk, while storing information thereon, and will be by benefiting with chain reaction code.Give one example, satellite system can be used erasing type coding again, so that the power demand of balance for transmitting on purpose allows more mistake by reducing power, it is useful that chain reaction is coded under this application scenarios.In addition, with erasing type, encode to develop RAID (Redundant Array of Independent Disks (RAID)) system, to carry out reliably information storage.Therefore, in other application the example such as above of the present invention's proof, be useful, wherein, under these situations, with coding, process the potential problem that damages data or misdata.
In some preferred embodiments, to two or more many objects computing machines, be provided for carrying out the instruction set (or software) of communication process described above, wherein these computing machines communicate by the possible communication media that damages.The quantity of machine can change to the transmission of any amount and/or the machine of reception from a transmit leg and a recipient.The communication media that connects these machines can be wired, optical fiber, wireless etc.Communication system described above serves many purposes, and these will be apparent according to the application's description.
Use the piece request stream media system of HTTP streaming server, as described above transfer files.Below, will an exemplary realization of this system be described.Use HTTP Streaming Media, source can be web server and the content delivery network (CDN) of standard, can use the HTTP of standard.
In client, can use HTTP, for each segmentation, to ask, client can seamlessly be stitched together these segmentations.The advantage of HTTP Streaming Media comprises: use standardization and existing infrastructure.
Figure 16 shows the reduced graph of the piece request stream media system that can transmit file.In Figure 16, show piece streaming system 1600, it comprises piece service infrastructure (" BST ") 1601, this piece service infrastructure (" BST ") 1601 then comprise capturing system 1603, this capturing system 1603 is for absorbing content 1602, preparing this content, by being stored into, this content can, by the content memorizer 1610 of capturing system 1603 and 1604 access of HTTP streaming server, this content be encapsulated to served by HTTP streaming server 1604.As shown in the figure, system 1600 can also comprise HTTP high-speed cache 1606.In operation, the client 1608 such as HTTP stream client sends request 1612 and receive response 1614 from HTTP streaming server 1604 or HTTP high-speed cache 1606 to HTTP streaming server 1604.In all cases, the element shown in Figure 16 can be realized with software at least in part, and wherein said software is included in the program code of carrying out on processor or other electronic device.
As shown in Figure 17, media block can be stored in piece service infrastructure 1601 (1), this piece service infrastructure 1601 (1) can be for example http server, content distribution network equipment, HTTP Proxy, FTP agency or server or certain other media server or system.Piece service infrastructure 1601 (1) is connected to network 1722, and this network 1722 can be Internet protocol (" IP ") network (for example, the Internet) for example.Piece request streaming system client is depicted as and has six functional units, also be called: piece selector 1723, it is provided with metadata described above, and carry out will be from the piece selecting to ask in the indicated a plurality of available block of metadata or the function of partial block; Piece requester 1724, it receives request instruction from piece selector 1723, and by network 1722, carry out to piece service infrastructure 1601 (1) and send for the piece of defined, a part for a piece or a plurality of necessary operation of request, and then receive the data that comprise piece; And block buffer 1725, buffer monitor 1726, media decoder 1727 and one or more medium converters 1728 of contributing to media consumption.
The blocks of data that piece requester 1724 is received is sent to the block buffer 1725 for medium data, to store temporarily.Alternatively, can directly store received blocks of data into block buffer 1725.Block buffer 1725 provides media data to media decoder 1727,1727 pairs of these data of media decoder are carried out in order to provide suitable input necessary these conversions to medium converter 1728, and this medium converter 1728 is presented to user or other consumption with suitable form by media.The example of medium converter comprises visual display device (for example, those that set up in mobile phone, computer system or TV), and can comprise the audio frequency display device such as loud speaker or earphone.
Buffer monitor 1726 receives the information of the content that relates to block buffer 1725, and based on this information and possible out of Memory, input to piece selector 1723 is provided, and this piece selector 1723 is for determining the selection of the piece that will ask, as described in the application.
Piece request streaming system (BRSS) comprises one or more clients that one or more content servers (for example, http server, ftp server etc.) are asked.Capturing system comprises one or more ingest process devices, wherein ingest process device receives content (in real time or in non real-time), for the content of being used by BRSS, process, and by this content and also likely together with the metadata store being generated by ingest process device to can be in the memory of content server access.
BRSS can also comprise the VPN Content cache of coordinating with content server.Content server and VPN Content cache can be traditional http server and the HTTP high-speed caches receiving for having the HTTP request file of form or the request of segmentation, wherein said HTTP request comprises URL and can comprise bytes range, so that content is still less compared in request All Files or the segmentation indicated with this URL.Client can comprise traditional HTTP client, this tradition HTTP client is carried out the request of http server and is processed the response to these requests, wherein HTTP client is driven by novel FTP client FTP, this novel FTP client FTP forms request, these requests are sent to HTTP client, from HTTP client, obtain response, these responses are processed to (or storage, conversion etc.) to these responses are offered present player, to play by client device.Generally, FTP client FTP is not known in advance by which media of needs (this is because the variation that these Dependent Demands are inputted in user's input, user etc.), so it is called as " stream " system, in described " stream " system, one receive media or after receiving media soon, " consumption " these media just.As a result, operating lag and bandwidth constraint may cause the delay presenting, and for example, cause the time-out that presents (because stream is caught up with user this is presented residing place in consumption).
In order to provide to aware, there is presenting of good quality, can be in BRSS (at client terminal place, in picked-up end or the two) realize a plurality of details.In some cases, the details of realization is in the situation that consider or process the client-server interface that is positioned at network to complete.In certain embodiments, FTP client FTP and capturing system are all recognized enhancing, and in other embodiments, only a side recognizes enhancing.In these cases, whole system benefits (even if a side does not recognize this situation) from strengthen, and in other cases, just produces this benefit while only having both sides all to recognize, but when a side does not recognize, it still operates and can be not failed.
As shown in Figure 18, can, according to various embodiment, capturing system be embodied as to the combination of hardware and software component.This capturing system can comprise and can be performed so that system is carried out any one or more the instruction set in the method that the application discusses.This system can be embodied as to the particular machine with form of computers.This system can be server computer, personal computer (PC) or any system that can carry out instruction set (serial or alternate manner), and wherein this instruction set has been stipulated the action that will be taked by this system.In addition,, although only show individual system, term " system " should also comprise: carry out individually or jointly (or a plurality of) instruction set to carry out any system set of any one or more methods in the method that the application was discussed.
Capturing system (for example can comprise ingest process device 1802, CPU (CPU)), memory 1804 and magnetic disc store 1806, wherein memory 1804 can the term of execution program code stored, all these parts by bus 1800 with intercom mutually.This system can also comprise video display unit 1808 (for example, liquid crystal display (LCD) or cathode ray tube (CRT)).This system can also comprise Alphanumeric Entry Device 1810 (for example, keyboard) and the Network Interface Unit 1812 of storing for receiving content source and transferring content.
Magnetic disc store 1806 can comprise machine readable media, wherein on this machine readable media, can store any one or more one or more instruction set (for example, software) that embody in the described method of the application or function.These instructions can also be fully or are arranged at least in part memory 1804 and/or the term of execution of system, are arranged in ingest process device 1802, and wherein memory 1804 and ingest process device 1802 also form machine readable media.
As shown in Figure 19, can, according to various embodiment, FTP client FTP be embodied as to the combination of hardware and software component.FTP client FTP can comprise and can be performed so that system is carried out any one or more the instruction set in the method that the application discusses.This system can be embodied as to the particular machine with form of computers.This system can be server computer, personal computer (PC) or any system that can carry out instruction set (order or alternate manner), the action that wherein this instruction set regulation will be taked by this system.In addition,, although only show individual system, term " system " also should comprise: carry out separately or jointly (or a plurality of) instruction set to carry out any one or more any system set in the described method of the application.
FTP client FTP (for example can comprise client end processor 1902, CPU (CPU)), memory 1904 and disk storage 1906, wherein memory 1904 can the term of execution program code stored, all these parts intercom mutually by bus 1900.This system can also comprise video display unit 1908 (for example, liquid crystal display (LCD) or cathode ray tube (CRT)).This system can also comprise Alphanumeric Entry Device 1910 (for example, keyboard) and for sending request and receive the Network Interface Unit 1912 of response.
Disk storage 1906 can comprise machine readable media, wherein on this machine readable media, can store any one or more one or more instruction set (for example, software) that embody in the described method of the application or function.These instructions can also be fully or are arranged at least in part memory 1904 and/or are being arranged in client end processor 1902 by system to it the term of execution, and wherein memory 1904 and client end processor 1902 also form machine readable media.
the example of specific embodiment
The RaptorQ FEC scheme that use describes in detail in [RaptorQ-RFC-6330], in the FEC scheme of the detailed description for general object transmission of this joint, shows a specific embodiment.UOSI FEC payload ID can be used to (the application is called " UOD-RaptorQ FEC scheme ") with together with RaptorQ FEC scheme in [RaptorQ-RFC-6330], so as simplification to be provided with the object transfer ability strengthening.Particularly, provide for the supporting more flexibly and more simply of basic object transmission, provide in addition for unequal error protection (UEP) object transfer, for the object transfer of binding with for the support of the combination of the object transfer of UEP and binding.Should be understood that, can realize " the UOD-RaptorQ FEC scheme " between communication equipment with suitable hardware and/or software.
FEC payload ID form is 4 byte field as shown in Figure 2, wherein in this specific realization, the general file symbolic identifier (UFSI) of 32 bits, signless integer, by being also that the general object symbolic identifier (UOSI) of 32 bits, signless integer is summarized.This UOSI is nonnegative number integer, the encoded symbol that its grouping of carrying this payload ID in conjunction with FEC OTI for being identified at comprises.
In order to transmit single object or a plurality of object or to be divided into the single object of the part with different priorities or these combination in any, FEC OTI is as described below.It should be noted in the discussion above that what FEC OTI can be specified with RaptorQ FEC scheme is identical for each object of transmission.Transmission can comprise a d object, and wherein d is certain positive integer.Each object can comprise different piece or different file or its combination of identical file.The big or small F of object i ibig or small T with encoded symbol for object i ibetween relation, can be for determining the priority of object i in this transmission.
Figure 20 shows a kind of example of general FEC OTI field.As used in this application,, there is 8 bits, signless integer in a plurality of (d) object for transmitting, and shown example is corresponding to d=2.Default value can be d=1.Other son field comprises: in this d object each (that is, and i=1 ..., d), specific to the general FEC OTI element of object i, comprise: for symbol size T i16 bit unsigned integer, it is to be less than 2 16positive integer (its take byte indicate the size for the symbol of object i as unit); Transmission length F for object i i40 bit unsigned integer, it is nonnegative integer at the most, the byte of take is carried out the transmission length of denoted object i as unit.Suitable filling is provided.
Compare with general FEC OTI field, can have the FEC OTI element specific to scheme, for example, as shown in Figure 21.As shown in the figure, in this example, FEC OTI element specific to scheme comprises: symbol aligned parameter (Al) (8 bits, signless integer), for the FEC OTI element specific to scheme of each object, (it comprises the quantity Z for the source piece of object i i(12 bits, signless integer)) and for the quantity N of the sub-block of object i i.The object transfer information specific to scheme of this coding is (1+3*d) byte field.Example in Figure 21 is corresponding to d=2.Then the FEC OTI of this coding can be (2+10*d) byte field, it comprises the series connection of the general FEC OTI of coding and the FEC OTI element specific to scheme of coding.
Use the content delivery of the FEC OTI of coding to relate to: use UOD-RaptorQ FEC scheme and utilize UOD-RaptorQ FEC scheme to carry out the content delivery agreement of object transfer (" CDP "), between the equipment of system, computer, program, carrying out the exchange of information.CDP should provide d, Al to encoder device and decoder apparatus, and for each object, F i, T i(multiple of Al), Z iand N i.Each object that carries out index by i is provided to encoder.Use the encoder device of UOD-RaptorQ encoder scheme that CDP will be provided, for each grouping that will send, the UOSI of this grouping and for the encoded symbol of this d object.
the example that parameter is selected
In one example, can use the exemplary parameter described in the 4.3rd joint of [RaptorQ-RFC-6330] to derive, it is applied to each in d object independently.For example, Al=4 byte, SS=8 (it means that each subsymbol is at least SS*Al=32 byte), the Ti of object i is at least SS*Al byte, wherein T preferably ibe the multiple of Al, and the payload size of each coding groups preferably has at least size of T, wherein T is T iabout i=1 ..., d sum.
For source piece structure, the process in the 4.4.1 node of [RaptorQ-RFC-6330] can be applied to each in d object independently.
For coding groups structure, each coding groups comprises UOSI and for the encoded symbol of d object.In order to realize (SBN, ESI) form of the FEC payload ID that the RaptorQ FEC scheme of [RaptorQ-RFC-6330] used, and the compatibility between the UOSI form that uses of UOD-RaptorQ FEC scheme, it can be specific form.For example, for each object, the mapping from UOSI value C to corresponding (SBN, the ESI) value (A, B) for object i, can be B=floor (C/Z i), A=C – B*Z i.Similarly, for each object, from object i (SBN, ESI), being worth (A, B) to the mapping of corresponding UOSI value C, will be C=A+B*Z i.
For each object i=1 ..., d, from 0 to KT i-1 UOSI value is come the source symbol of the object i in identification sources piece, wherein KT with the order of source block interleaving i=ceil (F i/ T i).From KT iuOSI value sign is upwards used RaptorQ encoder, the reparation symbol generating according to the source symbol of object i.
Coding groups can comprise source symbol, repair the combination of symbol or source symbol and reparation symbol.A grouping can comprise the symbol of any amount of the same source piece that comes from object i.When the opisthogenesis symbol of the source grouping for object i comprises the byte of padding increasing for FEC coding object, these bytes should be included in this grouping, make to only include complete symbol in each divides into groups.
The general object symbolic identifier (C) carrying in each coding groups is the UOSI for first of each object the encoded symbol carrying in this grouping.In this grouping for the follow-up encoded symbol of each object, have serial order, be numbered the UOSI from C+1 to C+G-1, be wherein for the quantity of the encoded symbol of each object in this grouping.In other embodiments, can, for each object i, there is the base UOSI U of a part that is designated as FEC OTI information i, in this case, the UOSI for the first symbol of object i in this grouping is C+U i.
In preferred realization, in each coding groups, corresponding to each in d object, there is an encoded symbol.In preferred realization, according to process below, generate and send coding groups.For each UOSI value C=0,1,2,3, ..., encoder generates and sends coding groups as described below, and wherein the value of the FEC payload ID of this coding groups is set to UOSI value (C), for each object i (i=1 wherein, ..., d), encoder is determined (SBN, the ESI) value (A corresponding with UOSI value C i, B i), according to the process of RaptorQ FEC scheme [RaptorQ-RFC-6330], generate (SBN, the ESI) value (A with object i i, B i) corresponding size is T iencoded symbol E i, by encoded symbol E ibe increased in the payload of coding groups, and send this coding groups.It should be noted that the sum that does not need receiver to know coding groups.
clean culture source server and broadcast remediation server
In the described most of embodiment of this section, with broadcast mode, send reparation symbol, the UE request in response to some set for source symbol, carrys out transmission source symbol with mode of unicast.There are some other embodiment, more described and other local more described (wherein at least some source symbols send with broadcast mode) of the application at this joint, also there is the request in response to UE, with mode of unicast, send some embodiment that at least some repair symbol.
A kind of exemplary broadcast files transmission system is eMBMS document transmission system.A kind of exemplary clean culture document transmission system is the system that possesses HTTP bytes range request ability.But, can use the unicast system that can only ask and provide whole file, but will lose a lot of interests.The application's more early part shows some example system.
In the example of this joint, in broadcast session, send repair data, in clean culture, repair a transmission source data in session.Clean culture reparation request is aimed at the standard HTTP1.1 bytes range request of a part for original document.Because broadcast session only has reparation symbol, therefore between two sessions, do not there are overlapping data.It should be noted in the discussion above that in some implementations, the system of previously described system and this joint can coexist and/or combine.
As explained above, UE (for example, end user device such as mobile subscriber equipment) can be configured to: determine which source symbol this UE has lost, its conversion is from source block number, the symbol ID of the source symbol of loss is encoded into the request of standard HTTP1.1 bytes range, and carries out these requests.
By sending, repair symbol in broadcast session, clean culture remediation server only needs the original copy of this document, these requests are aimed at the simple request of the source symbol of successive range, or be directed to the request of continuous wider successive byte, rather than be directed to the request of each symbol or be directed to the request of a plurality of bytes more among a small circle.UE can receive how many symbols and need how many symbols based on adding up simply, or based on operation decoding scheduling, determine the prefix quantity of source symbol for example (it allows the decoding of source piece) or the source of permission sub-block decoding source subsymbol prefix quantity or allow the prefix byte range size of the decoding of sub-block or source piece, come definitely will ask how many symbols.It should be noted that, in other context of this context and the application, " prefix " means appointment " prefix of the part of the file corresponding with sub-block " or " with the prefix of the part of the corresponding file of source piece ",, " prefix " can not refer to the prefix of whole file, but refer to the prefix of the relative section of this document, wherein this relative section can be according to using the context of " prefix " infer.
When not using partition, can, by the request of the continuous source symbol for a source piece, convert the request for a continuous byte sequence to.When using partition, can, by the request of the source subsymbol of the continuous quantity for a sub-block, convert the request for the continuous byte sequence of this document to.
As the application explains, UE can, according to the request of the source subsymbol of the continuous quantity for a sub-block, derive the bytes range request in this document.
In some implementations, different broadcasting servers has different reparation glossary of symbols, and it is perhaps the geography based on different.This is for move to another geographical position from a geographical position during broadcasting transmitting, to guarantee that it is useful not having the UE that repeats to receive for same equipment.
UE asks the bytes range prefix of a sub-block (or piece, in the situation that not using sub-block) in HTTP request, and (symbol, in the situation that not used sub-block to be greatly independent of its reparation subsymbol receiving in broadcast session; This implication also applied in bracket below), it only depends on that it receives how many reparation symbols in broadcast session.For example, for some codings (, the Reed-Solomon coding describing in detail in IETF RFC5510), the bytes range prefix of asking can be totally independent of the reparation symbol receiving in broadcast session.For example, for other coding (, the RaptorQ coding describing in detail in IETF RFC6330), the size of bytes range prefix only depends on which in broadcast session, receives repairs symbol very weakly.For example, if there is K source subsymbol in a source sub-block, and repair subsymbol for K-L that receives this sub-block, request and front L the bytes range prefix that source subsymbol is corresponding, by allowing, with at least 99% probability, decode, ask L+1 subsymbol, by allowing, with at least 99.99% probability, decode, ask L+2 subsymbol, by allowing, with at least 99.9999% probability, decode.Whether can be the pattern that depend on subsymbol for decode, receiving equipment, before carrying out this request, determines whether concrete reception sub-symbol allows to decode if decoding, therefore determine which will carry out asks to guarantee decoding.Therefore,, for the size of repairing the prefix of asking, may only depend on the pattern of the reception subsymbol in broadcast session very weakly.
But, for simplicity, receiving equipment can be asked for L+2 subsymbol, in this case, request size is independent of in broadcast session, to receive which subsymbol, the expense that receives 2 potential redundancy subsymbols of take is cost, and with small probability very can not be decoded as cost,, in order to recover K source subsymbol, altogether receive K+2 subsymbol, wherein K-L subsymbol comes from broadcast session, and L+2 subsymbol comes from this reparation request.Be independent of and receive which data, carry out some reasons of the request of this size and pattern, only depend on and in broadcast session, receive how many data, it comprises:
(a) UE request can be simple, all the time from source sub-block (piece) start ask, a bytes range request is (in some cases at the most for each source sub-block (piece), if receive enough reparation subsymbols (symbol) in broadcast session, do not need so other HTTP request).
(b) UE can be when downloading from remediation server by HTTP, start to broadcast the content of this sub-block (piece), once then it has downloaded enough contents, just can recover with the reparation subsymbol having received by broadcast the remainder (size that remains sub-block is the size of the reparation subsymbol (symbol) for this sub-block (piece) that receives in essence) of this sub-block in broadcast session.
Even possible situation is, receiver is during simultaneously by broadcast reception repair data, attempt at one time playing this content, by HTTP, download each enough sub-block, until after combined with the content having received by broadcast, enough for the remainder of this sub-block is decoded and recovered.In this case, along with broadcast is proceeded, along with UE arrives the increasing reparation subsymbol (symbol) for all sub-blocks (piece) by broadcast reception, for the amount of the HTTP of the required download of each sub-block (piece), start to become less.
(c) because UE is just in the prefix of request source sub-block, be directed to overlapping high as much as possible between the UE request of a part of file, for example, reception is directed to two UE of reparation subsymbol (symbol) of the equal number of a source sub-block (piece), for this source sub-block (source piece), carry out exactly identical bytes range request, even when the pattern of the reparation symbol receiving is independently, and can be diverse.
When different UE receives the reparation subsymbol of varying number from the broadcast session for a sub-block, receive the UE of the reparation subsymbol of minimum number, conventionally for this source sub-block, carry out maximum prefix byte range of requests, come from all requests of other UE by a subset that is this request.Therefore, if a UE has been obtained and served to http server for the bytes range request of a sub-block (piece), this http server can carry out high-speed cache to this response so, makes it can be used for the next UE for identical sub-block (piece) request of repairing.That asks with UE compares, the server of HTTP high-speed cache can be on one's own initiative from the larger bytes range of upstream server request, therefore reduces the time that the data outside the size of this request become available (if existing from identical UE or other UE for the other request that exceeds the data division outside current request).Therefore, if UE is from the relative section of file, carry out the request for the prefix of data, so when the identical relative section of follow-up UE from file, while carrying out the request for the larger prefix of data, HTTP cache server may have this high-speed cache, and the corresponding prefix of usage data responds this request immediately.
For example, if HTTP remediation server for a plurality of requests of overlapping bytes range (receives, surpass certain thresholding), server can also be configured to so: determine a request to be transmitted to the BMSC of the broadcast of the data of asking this bytes range, to avoid that these unicast tunnels are loaded into these receivers redundantly.Remediation server only need to be to each receiver clean culture by the source data that can not broadcasted by BMSC.BMSC can be transformed into this bytes range request needed essential source symbol, broadcasts subsequently these source symbols, or more preferably, broadcasts these more new symbols of repairing.This makes terminal can receive enough nonredundancy symbols, so that in the situation that being seldom loaded into unicast tunnel, its file is repaired.
In some cases, advantageously, when UE prepares to play the content being associated with a source piece (sub-block), UE only carries out unitcast request for the source symbol (subsymbol) of this source piece (sub-block), that is, use " stream mode " to ask.A kind of reason is: UE only asks the repair data of its actual content that will play, if for a certain reason, it no longer plays some in this content, and it no longer asks the data for this piece (sub-block) so, with this unicast networks resource that avoids waste.
For example, UE can start to play a content (file) from middle position, only play 1/4th of this content.In this example, only when this broadcasting closes on, just carry out these requests, by unicast networks a resource shrinkage to: if while carrying out clean culture reparation request in order to recover whole content file before playing about 1/4th of needed content.Certainly, once receive enough source symbols (subsymbol) of a source piece (sub-block), do not need so this UE for this source piece (sub-block), from the other data of clean culture remediation server request.
System operator can be benefited from these methods.For example, can make the deployment of clean culture remediation server simplify, and make expense more reasonable.In addition, also eliminated and needed to buy, disposed and operate special-purpose remediation server, rather than more more cheaply and more easily depended on and dispose and the demand of management HTTP web server.Give one example again, operator can dispose a kind of service, by this service, capturing internet content file pellucidly, to be broadcast to UE for its FEC repair data, UE comprises certain methods to use the FEC repair data receiving of broadcasting to it subsequently, determine in conjunction with the FEC repair data receiving by broadcast and carry out what HTTP1.1 bytes range request, to can recover the part of this document that will play, for the part of the content file that can use in the Internet of existing CDN high speed buffer memory, (it need to not operated by operator, neither by operator the content that must produce), by the Internet, carry out suitable HTTP1.1 bytes range request.
By such operation, operator can provide valuable service, provide better user to experience (this is because file can be more reliable and available more rapidly), reduce the needed overall network traffic carrying capacity on its network of these files of transmission (this is because broadcast data is all useful for all UE simultaneously, being connected to send data with a lot of indivedual clean cultures by for each UE compares, when sending data, take Internet resources still less), operator can avoid disposing the expense that any clean culture remediation server is supported its service simultaneously, this is that the standard HTTP web server that can provide from other side due to this content is available, and it is for supporting clean culture reparation.
System operator can also reset the purposes of existing HTTP web server, generates new service opportunity, for example, intercept and capture and broadcast the reparation symbol of the file for transmitting from other content supplier to UE by HTTP web server.
In addition, the method can be preserved carrier network bandwidth capacity.This cost is the amount of the broadcast data that sends on network, and interests are the benefit sums of all UE, and wherein these UE play the content of the amount of the broadcast data receiving on this UE.This can provide better user to experience on carrier network, and the more fast and more transmitting of content.
Conversation description and MBMS download host-host protocol (FLUTE) and (that is, UE) provide enough information, determine the source piece of each file and encoded symbolic construction to client.Accordingly, client can be determined request and which source symbol to recover this document with.Therefore, MBMS client can have been identified the reconstruction of (file) source piece and the quantity of needed source symbol.
When using MBMS FEC scheme, as described in detail in 3GPP TS26.346, MBMS client can, when determining needed other source symbol, be considered the reparation symbol having received.In this case, client should be identified (this document) each source number of blocks (r), for front r the source symbol that allows this source piece of MBMS fec decoder device recovery this document, the request of repairing.
Once identify the file data of loss, MBMS client just sends one or more message to file repair server, and these message request transmission can recover the data of the file data of loss.All Files reparation request and repair response for specific MBMS transmission, can be used http protocol to occur in single TCP session.Alternatively, bytes range request can be divided into different potential overlapping HTTP/TCP connections or a plurality of requests in FTP connection or RTP connection etc.Can be according to network availability, and the busy extent of receiving equipment with and ability, according to very slow or high bit rate, transmit the response for the request of repairing.The request of repairing can be routed to according to selected " serviceURI " and resolve the file repair server IP address obtaining.Open the time being connected with the TCP of server, and the request of reparation for the first time of specific MBMS client, can randomization on certain time window, make not all UE all side by side carry out its unitcast request.
When MBMS UE is identified in the symbol that will ask in the request of reparation, answer can be identified respective symbol, and it should be included in all symbols of the relevant source piece identifying in this request.When using partition, MBMS UE is the subsymbol of request source sub-block alternatively.Alternatively, as described in the application, can carry out bytes range request, to ask symbol or subsymbol.
MBMS UE can combine the method and other method.For example, MBMS UE can receive data in broadcast session, in the situation that original source file not being carried out to deinterleaving or decoding, is stored in long-term memory, described at Luby VI.A part (for example, when source file is video file) of asking to play this source file in response to terminal use, MBMS UE can trigger deinterleaving and the decoding of these parts of original source file.If MBMS UE does not receive enough data from broadcast session, recover the requested part of playing of this original source file, the relative section of this source file that MBMS UE can play for terminal use's request so, carries out reparation request as described in the application.Therefore, only when not receiving enough data recover this part in broadcast session, MBMS UE just can ask, to receive the excessive data for some sub-block or source piece, according to or approach time of the part that terminal use expects broadcast source file (it intersects with sub-block or the source piece of request), just carry out these requests.This embodiment reduces to minimum by Internet resources, this is due to only when terminal use asks to play these parts, just ask the repair data of these parts of this source file, if therefore a part for file is played never, so just never carry out the reparation request for these parts.In addition, this embodiment will be from long-term memory reading out data, and these data are carried out to deinterleaving and decoding to recover sub-block or source piece, and needed device resource reduces to minimum, this is due to only when terminal use asks these parts of broadcast source file, just carries out these operations.
Alternatively, when MBMS UE has that suitable network connects and idle capacity is carried out and repaired while asking, MBMS UE can be for do not receive sub-block or the source piece that enough data realize recovery from broadcast session, carry out the request of reparation, MBMS UE, except the data for these sub-blocks or source piece that storage receives from broadcast session, also stores this response data into long-term memory for use in the recovery after a while of these sub-blocks or source piece subsequently.When user asks to play original document a part of, what MBMS UE can read back and receive from broadcast session from long-term memory is interleaved and encoded data and the combination that comes from the data (part of this document that itself and user ask intersects) for these sub-blocks or source piece, recover these sub-blocks or source piece, it is directly offered to video player for broadcasting.This alternative has advantages of below: when MBMS UE is connected to the request of repairing of suitable network and receives response, can ask repair data, and when user asks to play, MBMS UE may not be connected to suitable network.In addition, be directed to user less for the broadcasting response time of the request of playing, this is owing to carrying out the time of user's request on this equipment, is all local storage, rather than need to transmits by network for playing needed all data.
Give one example, MBMS UE can be for the other data of needs so that all sub-blocks of recovering or source piece be asked repair data again, and recover the whole of this document, are stored in long-term memory to play after a while or use.MBMS UE can be according to any order, carry out at any time these operations,, in some cases, can, before receiving data from broadcast session, repair data be asked, for example, if known, by broadcast session, do not send these sub-blocks or the source piece that enough data are intactly recovered this document, if or terminal use be desirably in broadcast session finish before (and potentially before this broadcast session starts), just start play content.
In certain embodiments, exist the UE (source symbol that therefore would rather be all, and do not need to repair symbol) that does not carry out FEC.In these cases, UE will be used " without coding FEC ", reception sources symbol in broadcast session and any reparation request response, but because a plurality of different UE experience different missing mode, so carry out different source symbol reparation requests, therefore this mode is not extendible.
In certain embodiments, repair broadcast session is used the broadcast data shown in Luby VI part rearrangement at UE place.Here, can, by using the combination of the clean culture reparation service of HTTP as above, combine with the method for describing in Luby VI.Can be by the symbol/subsymbol receiving in broadcasting transmitting, store into as in flash memory or other memory described in Luby VI.In some cases, preferably, only in broadcast session, just send and repair symbol, but in other cases, preferably, at least some in broadcast session in transmission source symbol (if not all).When by thering is bytes range request or thering is the HTTP of other MBMS method, while asking symbol or subsymbol in the service of repairing, there are two kinds of different possibilities (the two can side by side use):
(1) can use the method for describing in Luby VI, the symbol receiving from broadcast session or subsymbol are written in flash memory, subsequently in the time will recovering source piece or sub-block, can use the method for describing in LubyVI, symbol or the subsymbol for this source piece or sub-block in flash memory, stored that come from broadcast session are read in RAM.Subsequently, itself and the symbol or the subsymbol that by HTTP, are received and directly stored in RAM can be combined, use the combination of these symbols or subsymbol, in RAM, this source piece or sub-block are decoded, then can directly provide recovered source piece or sub-block for playing.
(2) can use the certain methods of describing in Luby VI, the symbol receiving by HTTP or subsymbol are written in flash memory, for the symbol receiving by broadcast session or subsymbol, carry out identical operation, point at any time subsequently, can be by being stored in source piece in flash memory or symbol or the subsymbol of sub-block based on HTTP request, with come from broadcast session in flash memory, store for this source piece or the symbol of sub-block or the combination of subsymbol, from flash memory, be read into RAM, recover in time source piece or sub-block.
In the above embodiments, preferably, the symbol receiving by broadcast session or subsymbol, and the symbol or the subsymbol that in repairing session, receive, be extremely different symbol or subsymbol collection.
Figure 22 shows basic FLUTE file transfer.It should be noted that FEC payload ID can alternatively comprise the described UOSI of the application or UOFI.
Figure 23 shows the some parts of basic FLUTE packet format.
Figure 24 shows the subblock coding occurring at the transmit leg place that uses sub-block.As mentioned above, a file group can be made into one or more sources piece (in this example, being organized into a source piece), and be divided into some sub-blocks, wherein these sub-blocks be arranged to form symbol according to subsymbol.
Figure 25 shows the sub-block decoding occurring at the receiver place that uses sub-block.In some cases, before receiver place stores, there is the rearrangement of part.This may be use, for example, in the memory cell between reading and writing, exists when asymmetric.
Figure 26 shows the file transfer of using sub-block.In typical situation, receiver, in each sub-block, is observed identical missing mode.From the angle of transmission, a file can be a source piece, and each grouping can comprise a symbol.From the angle of decoding, for all sub-blocks, the scheduling of decode operation can be identical, and the subsymbol of each sub-block has identical loss or receiving mode, and receiver once calculates this scheduling for all sub-blocks.Subsequently, the scheduling of decode operation is applied to each sub-block individually, subsymbol is operated, and apply identical scheduling to all sub-blocks.Even very large source piece is operated, the CPU of decoder also can carry out well, and the scuffing RAM memory that its use is seldom measured allows access and the decoding (when it is played) of the sub-block of media.
Figure 27 shows the example of the processing of a plurality of sources piece.In some cases, in order to realize good network efficiency, send in a looping fashion these symbols, wherein each takes turns the symbol sending from each source piece.In other cases, for client more easily, recover or the reason of end-to-end time delay, send in a sequential manner these symbols, that is, for each source piece, with continuous order, send all symbols, and do not insert the symbol from other source piece.In all cases, can use partition.
Figure 28 shows the workflow of using FEC and FLUTE.In step 1, file is stipulated, to carry in FLUTE session.In step 2, this document can be divided into some pieces.According to the manageable full-size of FEC scheme, derive the demand for segmentation.
In step 3, FEC is applied to a piece, each piece is divided into the system symbol of K formed objects, generates R 1+ R 2individual reparation FEC symbol.In step 4, K+R 1individual symbol, on broadcasting transmitting, sends by FLUTE, or alternatively, with UDP, by clean culture, sends, or sends by clean culture with HTTP.According to symbol size, one or more symbols are carried in each IP/UDP/LCT grouping.In step 5, receiver is collected enough groupings, has made a K+ δ symbol can be used for fec decoder.In certain embodiments, use RaptorQ, δ=2.But other value is also fine, for example, δ=0 or δ=0.01*K.The other R generating in step 3 2individual symbol, can offer http server, to be the receiver that the not transmission from step 4 receives a K+ δ symbol, provides the service of the reparation based on HTTP.
Figure 29 shows broadcast/reparation described above, the configuration of clean culture/source.Can generate a large number of reparation symbol.In order successfully to carry out fec decoder, UE needs any K+ δ in these symbols.In shown embodiment, N different Raptor that each broadcast BM-SC sends a file repairs symbol, and each BM-SC only sends reparation symbol, that is, ESI scope K, K+1 ... among those symbols.
A kind of advantage of embodiment is above: when UE roams between the overlay area of different BM-SC, UE can be used the symbol from different B S-SC, does not worry the reception that repeats of symbol, and this allows more efficient fec decoder.UE can be for source symbol, carry out the simple request (but this may need special-purpose reparation request server) of repairing, but can also use traditional HTTP web server (wherein traditional HTTP web server only has the original source file in greater detail as other the local institute in the application), carry out the request of HTTP bytes range.This allows the Internet/MBMS solution of cost effective integration more.
Figure 30 shows system and how in MBMS carrying, only to broadcast and to repair symbol, and UE only asks one group of continuous source symbol.Conventionally, UE needs a K+ δ symbol to come successfully source piece to be decoded, but it is carried and received only K+ δ-R reparation symbol by MBMS.In order to recover this source piece, UE asks front R (or K, when R>K) the individual source symbol of this source piece.It can ask some other R source symbol, if but all UE ask overlapping source assemble of symbol, and downstream high-speed cache more may can be by asked source symbol from its local cache transfers to more receiver so.
This provides at remediation server place, realizes simple and efficient high-speed cache.Owing to only sending reparation symbol by broadcast channel, the symbol that the source symbol of source piece has received from UE is fully different.Therefore, remediation server only need to be stored the source symbol of source piece, does not need storage or generates new reparation symbol.This allows simpler remediation server, and this simpler remediation server does not need to realize FEC scheme or store new reparation symbol.
Can carry out simple UE processing to the symbol receiving.UE only need to follow the tracks of the quantity of its reparation symbol receiving, then the quantity of its source symbol needing of calculating (R, when R is less than or equal to K, or K, when R is greater than K).Which concrete source symbol UE does not need to follow the tracks of has been lost, and for the source symbol of these loss, generates request subsequently.
In addition, UE can be used initial ESI+ (value of R), from one group of continuous source symbol of remediation server request.This makes these requests keep very simple and brief.In addition, this can also simplify server response structure, and this is because server does not need to obtain and adds discrete source assemble of symbol.Because server only need to be processed continuous source symbol request, so this is highly beneficial in the deployment of not using " without coding " FEC scheme.
Figure 31 shows when using partition, by the request of HTTP bytes range, uses clean culture reparation.
Use HTTP bytes range reparation request, UE can be for each sub-block of same source piece, the byte of request equal number.When there is no transmission source symbol in broadcast session, can, in most of environment, use each sub-block corresponding to the request of a bytes range.
Can, on the basis of " as required ", carry out HTTP request.When arriving the time of playing the content in each sub-block, UE can carry out the request for this sub-block.UE can ask and play the content for sub-block on HTTP, until the subsymbol for example, receiving by other delivering path (, broadcast session) in conjunction with receiver, it is upper having that enough subsymbols decode and recover this sub-block.Once enough subsymbols are received the decode, UE just can, from the sub-block of local recovery, seamlessly proceed to play.UE need to, for never played sub-block, not carry out HTTP request.
the example that bytes range is calculated
Receiver can be carried out the calculating of explaining in this section, to determine to ask what bytes range.This calculating can depend on FEC structure.Subsequently, receiver can send request to server, to obtain this receiver based on the needed symbol of bytes range request.
In a preferred embodiment, receiver uses FEC object transfer information (" FEC OTI ") to be familiar with it and does not receive which symbol.FEC OTI determines source piece, sub-block, symbol and the subsymbol structure of file, and it comprises the quantity N of object transfer size F, alignment factors A l, symbol size T, the quantity Z of source piece and the sub-block of each source piece.Receiver uses the attribute of all these information and FEC coding self, determine that exactly it needs how many symbols and needs what symbol, wherein each symbol or subsymbol identify by SBN, ESI and SuBN (being respectively source number of blocks, encoded symbolic identifier, sub-block quantity).In this embodiment, source symbol or source subsymbol are asked.Receiver calculates bytes range corresponding with these symbols or subsymbol in this document by FEC OTI information, as described below.
When not using partition (, when N=1), for given SBN and ESI, receiver can calculate (SBN, ESI) to identified respective sources symbol the numbering of the start byte in this document and end byte number.
Computational process is described now.This can carry out by program in receiver or the logical block in receiver.Making KT=ceil (F/T) is the quantity (the nearest integer that rounds up, wherein last source symbol can be considered to the complete source symbol becoming with zero padding) of the source symbol in file.
Make KL=ceil (KT/Z) and KS=floor (KT/Z), ZL=KT-KS*Z and ZS=Z – ZL, wherein KL is the quantity of Kuai Zhong source, front ZL source symbol, KS is the quantity of Kuai Zhong source, remaining ZS source symbol.
For each i=0 ..., Z-1, makes K ithe quantity of the source symbol in the piece i of source, that is, and K i=KL, i=0 wherein ..., ZL-1, K i=KS, i=ZL wherein ..., Z-1.
Subsequently, the start byte that the symbol identifying with SBN and ESI is associated, can calculate suc as formula shown in 2.Can, by T-1 being increased to start byte position, calculate the end byte position of this subsymbol.
&Sigma; i < SBN K i &CenterDot; T + ESI &CenterDot; T (formula 2)
When using partition (, when N>1), for given SBN, SuBN and ESI, receiver can calculate respective sources subsymbol that this tlv triple identifies start byte numbering and the end byte in this document and number.For KT, KL, KS, ZL, ZS and K icalculating, the calculating of the situation when not using partition (N=1) is identical, i=0 wherein ..., Z-1.
For identifying other calculating of sub-block byte location, can carry out as described below.
Make TL=ceil (T/ (N*Al)) and TS=floor (T/ (N*Al)), NL=T/Al-TS*N and NS=N-NL, wherein TL*Al is the size of the subsymbol in a front NL sub-block, and TS*Al is the size of the sub-block in a remaining NS sub-block.
For each i=0 ..., Z-1, makes T jthe size of the subsymbol in sub-block j, that is, and T j=TL*Al, j=0 wherein ..., NL-1, T j=TS*Al, j=NL wherein ..., N-1.
Subsequently, the start byte being associated with the symbol identifying by SBN, ESI and SuBN, can calculate suc as formula shown in 3.The end byte position of this subsymbol can be passed through T suBN-1 is increased to start byte position calculates.
&Sigma; i < SBN K i &CenterDot; T + &Sigma; j < SuBN T j &CenterDot; K SBN + ESI &CenterDot; I SuBN (formula 3)
These of symbol based on for request or the starting and ending byte location of subsymbol calculate, and receiver can be determined the bytes range request that it need to send to server.In the situation that there is continuous loss symbol or subsymbol, receiver can be from the start byte position of symbol or the subsymbol of the first loss, start this bytes range request, the symbol of in the end losing or the end byte position of subsymbol, finish this scope.
While using partition in order to be illustrated in, how to carry out calculating above, suppose that receiver has a broadcast download session, attempt obtaining and will use object size F=20, the URI that the FEC OTI that the quantity of 000,000 byte, alignment factors A l=4 byte, symbol size T=1320 byte, the quantity Z=2 of source piece and the sub-block of each source piece is N=12 transmits is the 3gp file of www.<mobile-operator>.com/new s/weather.3gp.In this example, the sum of the source symbol in this document is KT=15, and the first source piece of 152, SBN=0 and the second source piece of SBN=1 all have 7,576 source symbols.In this case, further each source piece is divided into 12 sub-blocks, each has 7,576 source subsymbols, and wherein front 6 sub-blocks have the subsymbol that size is 112 bytes, and remaining 6 sub-blocks have the subsymbol that size is 108 bytes.After this broadcast download session, suppose that receiver recognizes 18 continuous source symbols that its ESI that does not receive the first source piece that comes from SBN=0 is 12-29, and the ESI that comes from the second source piece of SBN=1 18 the continuous source symbols that are 12-29, for these source pieces are decoded, they at least need to be from more symbols of each the source piece in these source pieces.
For the first source piece of SBN=0, the start byte position (first in the source symbol of 18 loss) of 12 subsymbols of the source symbol of formation ESI=12, can calculate as shown in Figure 32.In addition, Figure 32 also shows and how the end byte position (last in the source symbol of 18 loss) of 12 subsymbols of the source symbol of formation ESI=29 is calculated.
Similarly, Figure 33 shows: how to be directed to the second source piece of SBN=1, the start byte position of 12 subsymbols of the symbol of formation ESI=12 is calculated.In addition, Figure 33 also shows and how the end byte position of 12 subsymbols of the source symbol of formation ESI=29 is calculated.
If selected remediation server URI is http://mbmsrepair2.<mobile-operator> .com, HTTP GET request can be as described below:
GET www.<mobile-operator>.com/news/weather.3gp HTTP/1.1
Range:
bytes=1344-3359,849856-851871,1698368-1700383,2546880-2548895,3395392-3397407,4243904-4245919,5092368-5094311,5910576-5912519,6728784-6730727,7546992-7548935,8365200-8367143,9183408-9185351,10001664-10003679,10850176-10852191,11698688-11700703,12547200-12549215,13395712-13397727,14244224-14246239,15092688-15094631,15910896-15912839,16729104-16731047,17547312-17549255,18365520-18367463,19183728-19185671
Host:mbmsrepair2.<mobile-operator>.com
head: statistical information is collected
In certain embodiments, statistical information is collected, this is because it is relevant with the various requests of carrying out for content.These statistics can be useful, for example, for system operator, can inform that how many files are not the broadcast that fully stems from content.This can be by only checking that the HTTP daily record of remediation server carries out, and wherein remediation server provides repair data with mode of unicast.But, for example, if the direct source that remediation server is also served into content (, according to coming from, do not attempt receiving broadcast symbols, or simply remediation server regarded as to the request of equipment in the main HTTP source of this content), statistical information will surpass these requests on number.System operator can have the equipment of himself reporting broadcast/clean culture statistics (and not reporting the only clean culture of request), but this depends on these equipment, and is cumbersome.In a solution, HTTP remediation server is collected these statistical informations, and can to due to broadcast misses for the request of repair data, and it is to distinguish for the direct unitcast request of content.
In a kind of specific method, remediation server is determined the type (the request contrast of reparation is request directly) of request, and which terminal is being carried out this request.First is for distinguishing two kinds of requests below: what it was receiving asks for repairing the HTTP of the file receiving by broadcast channel; Come from the request of only asking or repairing the terminal of its file receiving by clean culture.Terminal iidentification can shine upon to the request from same terminal server, and the detailed receiving and counting for each terminal is also provided.This can be for reducing dual statistics, also for more preferably shining upon reparation pattern.
This ability of determining described type and terminal in order to realize server, exists the mode that some are done like this.
The URL of server URL or file, can be for distinguish direct unicast type request specific to repairing type requests.For example, these URL can only provide in the associated transmitting procedure of broadcast service, also can in the file transfer table of the file being broadcasted, provide.To terminal, do not provide these URL, directly download the file not being broadcasted.Server can determine that the request for specific URL is for repairing the file of broadcast, and asks to collect reparation statistical information based on these.In order to identify the request that comes from same terminal, server can be used the source IP address of HTTP GET request.
Server can be used the IP address of terminal, to identify which terminal, is carrying out this request.In addition, if http server is known IP, address belongs to broadcast terminal, and server can also determine whether this request comes from broadcast terminal with this IP address.It should be noted that for collecting broadcast statistical information, the method is insecure so if allow its data of the file by broadcast reception not of terminal request.So can, for directly from the broadcast terminal of these server request files, some restrictive conditions be set.
In another approach, the HTTP GET request that can use terminal is expanded, so that from http server request msg.This expansion is for repairing the file of broadcast by this request of identification.In addition, unique ID of all right identification terminal of this expansion, for example, mobile directory number, MDN or IMSI International Mobile Subscriber Identity (IMSI).Another example of extended head is to use as " the X-3GPP-Intended-Identity extension-header " of defined in 3GPP TS24.109.If for privacy or security purpose, operator does not wish directly to send these ID, can be to these ID application Hash or encryption.
All methods above all need the customization of remediation server, and are therefore difficult to the http server of use standard.Support that the server of process above can be optional feature.Use this mode, be ready to depend on the system operator from the reception report of UE (that is, terminal), still use the http server of standard.
source symbol and the broad sense distribution of repairing symbol
In the above in described example, content transmission system can comprise client and the server such as MBMS broadcasting server and/or http server such as UE, preferably, it,, except supporting URL file request, also supports bytes range request.In the method, can only to repairing symbol, broadcast, only source symbol can obtain by being directed to the request of http server.But, the in the situation that of broad sense more, can be to repairing and/or source symbol be broadcasted, repair and/or source symbol can obtain from http server.
The UOSI value (alternatively, it is called UOFI value) of a scope is expressed and/or sent into the essence that can obtain from http server in one example.When the scope of UOSI value is identical with the UOSI value corresponding with original document (, UOSI value 0 to ceil (F/T)-1, wherein F is the file size of byte representation, T is the symbol size of byte representation), it is the original document of the unprocessed form (that is, original order HTTP file format) that can obtain from HTTP remediation server.When the scope of UOSI value changes on the UOSI of reparation symbol or reparation and source symbol, these symbols are also that obtainable (it has the form of the natural expansion of original order HTTP file format so, below this is further described, hereinafter referred to as " the original order HTTP file format of expansion ").This allows the request of a type to process various types of symbols, and seamlessly carries out.For example, http server can be only by sending UOSI scope or certain other signaling, be equal to only to have and repair the reparation file of symbol or there is the reparation file (mixed format) of repairing symbol and source symbol, treat the reparation file only with source symbol.Even if it should be noted that when changing between the not homology piece of block size at file, this scheme also can be carried out work when using partition.
In the UOSI of symbol sequence, only comprise the reparation file of source symbol by the UOSI scope with 0 to KT-1, wherein KT is the sum of the source symbol in original document.This is the scope that can send.For example,, if a file is 20,000,000 byte, symbol size is 1,000 byte, then KT=20,000, therefore send [0,19,999] UOSI scope, indicating this reparation file is original source file (it is independent of the quantity of the source piece in original document),, in this case, the original order HTTP file of expansion is identical with original order HTTP file.
Suppose that content transmission system wants to send this reparation file and only carry the signal of repairing symbol.The UOSI scope that can use so [20,000, X], wherein x is more than or equal to 20,000.Suppose that in addition this source file is divided into Z=19 source piece, as sent in FEC object transfer information (" OTI "), because 12 source pieces before this have 1053 source symbols, remaining 7 source pieces have 1052 source symbols.Then, in order to send this reparation file, only carry reparation symbol, compare with the quantity of each Kuai Zhong source, source symbol, at least more 3 of the quantity of the reparation symbol of this source piece, UOSI scope can be sent into [20 so, 000,40,063],, at this, repair in file, have 1056 reparation symbols for each the source piece in 19 source pieces.
In addition, if use partition, the subsymbol of each sub-block has the order in each source piece so,, in the repair data for a source piece, first be 1056 subsymbols for the first sub-block, then be 1056 subsymbols for the second sub-block etc., be that it needs not be situation below: repair symbol is continuous in the repair data for this source piece, and therefore there is identical tissue (that is, the original order HTTP file format of expansion is the natural expansion of original order HTTP file format) with the source data in original source file.For example, supposing that each in 19 source pieces is divided into N=3 sub-block, is respectively 336,332 and 332 bytes for the subsymbol size of these sub-blocks.Making (J, L) is the identifier for the sub-block of this document, and wherein J is source block number, and L is the sub-block numbering in this source piece.So, this document will comprise: for sub-block (0, 0) 1056 subsymbols, the size of each subsymbol is 336 bytes, then be for sub-block (0, 1) 1056 subsymbols, the size of each subsymbol is 332 bytes, then be for sub-block (0, 2) 1056 subsymbols, the size of each subsymbol is 332 bytes, then be for sub-block (1, 0) 1056 subsymbols, the size of each subsymbol is 336 bytes, then be for sub-block (1, 1) 1056 subsymbols, the size of each subsymbol is 332 bytes, then be for sub-block (1, 2) 1056 subsymbols, the size of each subsymbol is 332 bytes etc.In this example, source piece J=0 ..., the sub-block in 11 starts with ESI1053, with ESI2108, finish, source piece J=12 ..., the sub-block in 18 starts with ESI1052, with ESI2107, finish.
Give one example again, suppose that this service means: when having lost when recovering needed 20% the data at the most of this document, only support receiver to turn back to from HTTP remediation server and seek repair data.So, the reparation file that comprises repair data can be less, for example, corresponding to the UOSI scope of [20,000,24,027], that is, is directed to each in 19 source pieces in this reparation file, has 212 available reparation symbols.In this example, for the ESI scope of subsymbol that is arranged in the sub-block of front 11 source pieces, be 1053 to 1264, for the ESI scope of subsymbol that is arranged in the sub-block of remaining 8 source pieces, be 1052 to 1263.
Conventionally, original source file format is order, and for example, data are in order below: for from starting end up play content, and the order of the byte of this document that will consume, it is original order HTTP file format.Due to many reasons, this is a kind of form easily, and it comprises for holding in HTTP web server to transmit to be stored in the medium natural form of file system.This can be the form for source file, and no matter it is to transmit by eMBMS, or transmits by clean culture.If only send reparation symbol by eMBMS channel, the any part of the source file of sending order form not so, so the request from HTTP web server is unduplicated, can carry out the request for the continuous initial part of source piece (or sub-block), to combine with the content receiving by eMBMS, thereby recover this document in useful mode.
In the situation that expectation is passed through eMBMS channel to receiver transmission source symbol and is repaired symbol, make that only original source file is available in HTTP web server can not carry out work, this is owing to receiving the some parts of source file by eMBMS, therefore for the request mode for HTTP web server of the some parts of request source file, can finish the request (skipping the part receiving by eMBMS) for a lot of smaller portions of source file, thereby with regard to the capacity of HTTP bytes range request, cause potentially sizable poor efficiency, non-continuous data part in access HTTP web server, reduce the cache efficient come from the different data of the request of different receiver (the wherein different packet loss pattern of these receivers experience eMBMS channel).
As the application explains, this the original order HTTP file format that can expand by use solves, wherein the original order HTTP file format of expansion expands to original source file format to comprise reparation symbol, or in natural mode, only includes in some cases reparation symbol.Use this new file format, this document can obtain in traditional HTTP web server, and for the service of fusion is provided, wherein in this service, can use bytes range request, in conjunction with carrying out transmission sources symbol by eMBMS and repairing symbol, carry out the reparation request for traditional HTTP web server, make cache efficient higher, it is minimum that the request of HTTP bytes range is reduced to, and be to be independent of the missing mode experience of different receivers in eMBMS session, be directed to the request of the data (wherein these data are initial with the identical point in file) of continuous part.
Technical, file X can have the FEC OTI parameter (F, Al, T, Z, N) being associated.In the original order HTTP file format of expansion, the scope of the data in file can represent according to general object symbolic identifier (" UOSI "), and it is alternatively called UOSI.The UOSI of a symbol is corresponding with source block number (" SBN ") and its encoded symbolic identifier (" ESI ") of this symbol, that is, for SBN, be the symbol that A and ESI are B, and UOSI can be C=A+B*Z.Inverse mapping is: for the symbol with the UOSI value of C, ESI value is B=floor (C/Z), and SBN is A=C-B*Z.When sending UOSI scope, can express this scope by [SU, EU] form, wherein SU is the initial UOSI value of this document, EU is the end UOSI value of this document.It should be noted that SU is less than or equal to EU.Then the scope of the symbol comprising is hereof UOSI scope those symbols from SU to EU, so the sum of the symbol in file is EU-SU+1.A special case of this new file format is SU=0, EU=ceil (F/T)-1, in this case, this document is identical with original document exactly,, in this case, the original order HTTP file format of expansion conflict mutually with original order HTTP file format (if the file size F multiple of is-symbol size T not, delivery may be filled last symbol with zero padding).
This document can be by comprising that the URL of FEC OTI parameter identifies, and the starting and ending UOSI by the symbol in this document identifies.In the original order HTTP of this new expansion file format, data in file are: all symbols that are associated with the ESI of the source piece of SBN=0, be then all symbols of being associated with the ESI of the source piece of SBN=1 etc., until all symbols that are associated with the ESI of the source piece of SBN=Z-1.In the piece of source, tissue has the order of sub-block, that is all subsymbols that, are associated with the first sub-block of this source piece, be then that all subsymbols of being associated with the second sub-block of this source piece etc. are until all subsymbols that are associated with last (N-1) sub-block of this source piece.
Be positioned at UOSI scope SU to the ESI of Kuai Zhong source, the source symbol of the SBN=J of EU, can calculate as described below.Make SESI (J) be UOSI scope (SU ..., between the symbol in EU), for the initial ESI of source piece J, make EESI (J) be UOSI scope (SU ..., between the symbol in EU), for the end ESI of source piece J.Then, can calculate as described below SESI (J):
SESI(J)=floor(SU/Z)
If((SU-Z*floor(SU/Z))>J)then SESI(J)=SESI(J)+1.
Similarly, can calculate as described below EESI (J):
EESI(J)=floor(EU/Z)
If((EU-Z*floor(EU/Z))<J)then EESI(J)=EESI(J)-1.
Then, come from UOSI scope (SU ..., the sum of the symbol of the source piece J in EU) is NK (J)=EESI (J) – SESI (J)+1.It should be noted that a plurality of symbols for the not homology piece of this document, be independent of the scope of value (SU, EU), all fall among each other one.
Can be as shown in the application, the big or small TS (L) of the subsymbol in calculating sub-block L.In formula below, TS (L ') is the size of the subsymbol in sub-block L '.
By (SBN, SuBN, the ESI) tlv triple (J in file, L, I) come the start byte position of the subsymbol of index, can calculate as described below, wherein, SESI (J) <=I<=EESI (J):
T*(Sum{J′=0,…,J-1}NK(J′))+NK(J)*(Sum{L′=0,…,L-1}TS(L′))+TS(L)*(I-SESI(J)).
By (J, L, I), coming hereof the end byte position of the subsymbol of index, is that start byte position adds TS (L) – 1.
For example, suppose by SU=ceil (F/T) and EU=SU+Z*M-1 are set and form file, wherein M is the maximum symbol amount lost of desired each the source piece of any reception client, therefore in this case, for each in Z source piece, there is hereof accurately M symbol, this document forms by repairing symbol individually, in this document, there is the reparation symbol of minimum ESI value among reparation symbol, there is minimum possible ESI value.In original eMBMS broadcast, if transmission source symbol only can upload on HTTPweb server by repairing this document that symbol forms so individually, and be used by the client of sending bytes range request, to the reparation service for eMBMS is provided.In certain more general meaning, if the maximum UOSI sending in eMBMS session is X, so for the file of repairing can pass through UOSI scope (X ', Y ') specify, X ' >X wherein, (Y '-X ')/Z is that any client is in order to recover the upper limit of a source piece or the symbol of the required request of source sub-block or the quantity of subsymbol.
Figure 34 shows the file in its original order, wherein in this example, this document is divided into a source piece, each source piece is become N=2 sub-block by Further Division, in each in the piece of the first two source, there are 4 source symbols, in the 3rd source piece, have 3 source symbols.In Figure 34, each source symbol is used (J, L, I) to carry out mark, and wherein J is SBN, and L is SuBN, and I is the ESI of this subsymbol.
Figure 35 shows the source symbol for the file corresponding with Figure 34, wherein with UOSI order, lists these source symbols.Therefore, the source symbol of UOSI=0 comprises two subsymbols that are labeled as (0,0,0) and (0,1,0), and the source symbol of UOSI=5 comprises two subsymbols that are labeled as (2,0,1) and (2,1,1).
Figure 36, for the file shown in Figure 34, shows the reparation symbol of UOSI scope from 11 to 19.Can generate these according to original document (that is, according to the source symbol shown in Figure 35) and repair symbol.Each is repaired symbol and comprises: use identical ESI, for example, according to each two subsymbol that generate in two sub-blocks of given source piece,, the reparation symbol of UOSI=16 comprises and is labeled as (1,0,5) and (1,1,5) two subsymbols.
Figure 37, for the file shown in Figure 34, shows the expansion original order HTTP file format corresponding with UOSI scope 11 to 19.In this sequence, comprise the subsymbol of the symbol in specified UOSI scope, first according to SBN, sort, then according to SuBN, sort, then according to ESI, sort.Therefore, all subsymbols for given sub-block are continuous in the original order HTTP file format of expansion.It should be noted that in this example, for the subsymbol of sub-block that comprises the source piece of SBN=0 and SBN=1, ESI scope is 4 to 6, and for the subsymbol of sub-block that comprises the source piece of SBN=2, ESI scope is 3 to 5.One word adjusting range is used in the original order HTTP file format support that it should be noted that expansion, from the subsymbol of single sub-block request any amount, until in file for the quantity of the subsymbol of this sub-block.
In addition, the original order HTTP file format of expansion can also be for generating the file that comprises source symbol and repair the mixing of symbol.For example, Figure 38 is directed to the file shown in Figure 34, shows the expansion original order HTTP file format of UOSI scope 8 to 12.It should be noted that in this example, UOSI8,9 and 10 is corresponding to source symbol, and UOSI11 and 12 is corresponding to repairing symbol.In addition, shall also be noted that in this example, for some in the piece of source, have the symbol of varying number, for example, for the source piece of SBN=0 and SBN=2, have 2 symbols, and for the source piece of SBN=1, have 1 symbol.
In some cases, may expect, for given source file, to provide more than one extended order HTTP file.For example, at different CDN or in different regions, there is different files to use by off-line.For example, can there is the file that the UOSI scope corresponding with original source file is [0,19,999], can exist UOSI scope to be respectively three other files of [20,000,22,000], [22,001,26,354] and [45,651,64,356].Alternatively, can have a plurality of files corresponding with original source file, for example, for the source file with individual source symbol, UOSI scope is respectively three files of [0,7,000], [7,001,14,000], [14,000,19,999].Give one example, can have 2 files with available overlapping UOSI scope, for example, UOSI scope is respectively [0,15,000] and [10,000,30,000].In some cases, the symbol in the original order HTTP file of expansion can be source symbol and the mixing of repairing symbol, and for example, UOSI scope is [10,000,30,000], and the quantity of source symbol in source file is 20,000.
example for the HTTP bytes range request of original order HTTP file
MBMS UE can be used as traditional HTTP/1.1GET of defined in RFC2616 or part GET request, asks respectively the source symbol of resource or the whole or subset of subsymbol quoted.If MBMS UE is from supporting the file repair server request symbol of bytes range request, use these message formats,, its URI row are become to " byteRangeServiceURI " or " priorityByteRangeServiceURI ", or when the server URI part of direct " Content-Location (content-position) " attribute from FLUTE FDT example, during request source data.
For original order HTTP file, during the institute active symbol of the resource that will send when MBMS UE request, it uses HTTP GET request.If during the transmission of a subset of MBMS UE request source symbol or subsymbol, this UE can be used the HTTP part GET request with range of requests head, as defined in the 14.35.2 of RFC2626.MBMS UE indicates into the bytes range standard (byte-range-spec) as defined in the 14.35.1 of RFC2616 by these specific source symbols or subsymbol.
For message efficiency, HTTP GET method makes UE comprise a plurality of bytes range requests in single part GET request.If UE comprises a plurality of bytes range in single request, HTTP GET request should be no more than 2048 bytes in length, to avoid by http server brachymemma.
If MBMS UE determines that it can select among a plurality of subsets of source symbol or subsymbol, MBMS UE should ask to have the subset of available minimum ESI value, that is, from the beginning of source piece or source sub-block, select source symbol or the subsymbol lost respectively.This has improved the cache efficient of HTTP file repair server.Other strategy is also fine, and for example, MBMS UE request has the subset of the highest available ESI value.
If download more than one file in specific MBMS download session, and if the repair data of the more than one file that MBMS client need to receive in this session, MBMS client can send the independent HTTP GET request for each file so.
For example, suppose in MBMS download session, " Content-Location " attribute in FLUTE FDT example is set to the 3gp file of www.example.com/news/sports.3gp, to use object size F=20, the FEC OTI that the quantity of 000,000 byte, alignment factors A l=4 byte, symbol size T=1320 byte, the quantity Z=2 of source piece and the sub-block of each source piece is N=1 transmits.In this example, the sum of the source symbol in this document is KT=15, and front 12 source pieces of 152, SBN=0-11 have 758 source symbols, and 8 source pieces of residue of SBN12-19 have 757 source symbols.
After this MBMS download session, suppose that MBMS client recognizes 18 continuous source symbols that its ESI that does not receive the source piece that comes from SBN=5 is 12-29, and the ESI that comes from the opisthogenesis piece of SBN=19 10 the continuous source symbols that are 27-36, for these source pieces are decoded, they at least need to be from more symbols of each the source piece in these source pieces.For the source piece of SBN=5, the start byte position of the first source symbol of losing of ESI=12, can calculate as shown in Figure 39.In addition, Figure 39 also shows and how the end byte position of the last loss symbol of ESI=29 is calculated.Last column in the table of Figure 39, also shows the starting and ending byte location for the loss symbol of the source piece of SBN=19.
For example, if selected remediation server (is accepted bytes range request, server URI is used " byteRangeServiceURI " unit in the transmitting procedure metadata segmentation being associated usually to identify), its server URI is http://httprepair1.example.com, and the HTTPGET request for remediation server is as described below:
GET/www.example.com/news/sports.3gp HTTP/1.1
Range:bytes=5018640-5042399,19037040-19050239
Host:httprepair1.example.com
Can pass through multiple diverse ways or embodiment, the UOSI scope of this document of the original order HTTP file format of expansion is sent to UE.In one embodiment, for example, by increasing new attribute " Start-UOSI " and " End-UOSI ", can be sent into a part for the file description table in the FLUTE example being associated with this document.In another embodiment, can be by UOSI scope direct coding in the URL of file, for example, by insert to URL/additional " start_uosi=xxx " and " end_uosi=yyy " attribute.Alternatively, can present by Session Description Protocol (SDP), the media that are associated with the transmission session of file description (MPD) or user's service describing (USD), carry out the UOSI scope of Transmit message, for example,, by the new attribute of " Start-UOSI " and " End-UOSI " being increased in these descriptions.
Except UOSI scope, can also send UE for needed auxiliary file format parameter that this document form is suitably decoded.The example of the parameter that these are other comprises some FEC object transfer information.In addition, can also, by being given for the attribute of these auxiliary file format parameters, in the file description table (FDT) of FLUTE example, send these parameters.In another embodiment, can be directly by auxiliary file format parameter coding in the URL of file.Alternatively, can present by Session Description Protocol (SDP), the media that are associated with the transmission session of file description (MPD) or user's service describing (USD), send auxiliary file format parameter, for example,, by the new attribute for these parameters being increased in these of describing.
In one embodiment, FEC OTI information, UOSI scope or any general auxiliary file format information can be sent into mime type.For example, can be according to RFC6381, use character string " application/mp4profiles=' flut ' fec-oti=' XYZ ' " to send FEC OTI parameter, indicate FLUTE symbol to be included to have in the MP4 file of FEC OTI value of appointment.In another embodiment, stipulate a kind of new file format, the parameter such as " fec-oti " is increased in mime type registration.An example of this signaling is character string " application/flut fec-oti=' XYZ ' ".
In certain embodiments, although and do not require, be stored in the auxiliary file format parameter of the file on http server, with identical by the auxiliary file format parameter of the file that sends of broadcast.In alternative embodiment, for the file being broadcasted be stored on http server the file of repairing for realizing, some in these auxiliary file format parameters can be different.
For example, be directed to the FEC OTI of the file format of storing on http server, can be with not identical for the FEC OTI that broadcast is formatd.A kind of actual example is: when in different regions, when broadcast data is encoded by different FEC OTI parameters, the equipment moving between different overlay areas, can have oneself the clean culture reparation request that is routed to different servers, wherein these different servers carry out the coded file of service differentiation according to the current location of this equipment.In order to distinguish these different set of parameter values, can directly parameter value be encoded in the filename or URI of storing on remediation server, as mentioned above.Alternatively, when the part as FDT, SDP, MPD or USD sends to terminal, can use different title (for example, " FEC_OTI_bcast " and " FEC_OTI_file ") to stipulate its attribute.Subsequently, terminal (for example, UE terminal) can be identified for the suitable process to decoding from the file of broadcasting or http server obtains.In one embodiment, when the file format with different configures to present a plurality of file, terminal can be used secondary file parameter to decide which the file acquisition data from http server.In other embodiments, the HTTP request for file can comprise the actual instruction that is used to indicate needed OTI parameter; Subsequently, http server can be used the instruction of embedding, serves, or refuse this request (if there is no this available coded file) to coming from the request of the file of correct coding.
In another embodiment, can need terminal to ask repair data according to URL, wherein this URL can not change or be formatted into transmission auxiliary file format parameter, and for example, source file is positioned on the server with the Internet URL.Another kind method is to have the ability that sends optional parameter in URL, and when explicitly does not send these parameters in URL, supposes default parameter value.For example, the potential parameter of supposing transmission is Format Type (for example, the original order HTTP file format of SS order HTTP file format or expansion), FEC OTI parameter and UOSI scope.
Suppose that having URL is the clean culture file of www.example.com,, does not send any one in these parameters that is in URL.In this example, the default parameter of client supposition by be expansion original order HTTP file format, UOSI scope=0 ..., FEC OTI=broadcasts FECOTI, that is, it is only the original source file with original order.
On the contrary, if sent UOSI scope, for example, the URL providing to client is www.example.UOSI=X_to_Y.com, so this client will observe UOSI scope be X to Y, and use this scope, owing to not sending FEC OTI, therefore it is defaultly identical with the FEC OTI of the broadcast version of this document, and the original order HTTP file format of supposition expansion.
In the 3rd example, if sent UOSI scope and FEC OTI in URL, www.example.FEC_OTI=(F for example, Al, T, Z, N) .UOSI=X_to_Y.com, in the situation that there is given FEC OTI and UOSI scope, suppose the original order HTTP file format of expansion so.
In the 4th example, if sent this form in URL, be www.example.Format=SS.FEC_OTI=(F, Al, T, Z, N) .com, this illustrates that to client this form is the HTTP file format of SS order so, and provides FEC OTI (if FEC OTI is not provided, in this example, suppose that it is identical with broadcast FEC OTI).
Therefore, by comprise these optional parameters that can send in URL, people can realize operation below: allow the file with URL associated with it not revise its URL (guaranteeing that the default value of parameter and the form of this document for not sending match), or allow to send the some or all URL in these parameters.Key advantage is: unmodified URL can be for by the file available having existed of the Internet or Over-The-Top, and this is due in this case, and to indicate this document be original source file to the parameter not sending by default.For example, then for the file with the URL that sends these parameters, these files are likely specifically created (, produce the repair data of the part of this document, or the form of this document is reorganized).Therefore because these files are not original source files, it is acceptable in URL, sending other parameter, and this is owing to being specifically created when these files, need to be formed for the URL of these files.
For the original order HTTP file of expansion, when MBMS UE needs all symbols of the resource that will send, it uses HTTP GET request.If MBMS UE only asks the transmission of a subset of symbol or subsymbol, this UE can be used the HTTP part GET request with range of requests head, as defined in the 14.35.2 of RFC2626.MBMS UE indicates into the bytes range standard (byte-range-spec) as defined in the 14.35.1 of RFC2616 by these specific symbols or subsymbol.
For example, suppose in MBMS download session, " Content-Location " attribute in FLUTE FDT example is set to the 3gp file of www.example.com/news/sports.3gp, to use object size F=20, the FEC OTI that the quantity of 000,000 byte, alignment factors A l=4 byte, symbol size T=1320 byte, the quantity Z=20 of source piece and the sub-block of each source piece is N=1 transmits.In this example, the sum of the source symbol in this document is KT=15, and front 12 source pieces of 152, SBN=0-11 have 758 source symbols, and 8 source pieces of residue of SBN12-19 have 757 source symbols.Suppose in this example, transmission source symbol in MBMS download session, with by HTTP can with the UOSI scope that is associated of reparation file be [15,152,17,151], that is, this reparation file comprises: for each first 100 in 20 source pieces of expansion original order HTTP file format, repair symbols.
After this MBMS download session, suppose that MBMS client recognizes for these source pieces are decoded, it needs other 18 symbols of the source piece of SBN=5, and other 10 symbols of the opisthogenesis piece of SBN=19.For the source piece of SBN=5, the start byte position of the first symbol of the ESI=758 in file, can calculate as shown in Figure 40.In addition, Figure 40 also shows and how the end byte position of the last symbol of ESI=775 is calculated.Last column in the table of Figure 40, also shows the starting and ending byte location for the symbol of the source piece of SBN=19.
For example, if selected remediation server (is accepted bytes range request, server URI is used " byteRangeServiceURI " unit in the transmitting procedure metadata segmentation being associated usually to identify), its server URI is http://httprepair1.example.com, and the HTTPGET request for remediation server is as described below:
GET/www.example.com/news/sports.3gp HTTP/1.1
Range:bytes=5002800-5026559,19001400-19014599
Host:httprepair1.example.com
In using another example of partition, suppose in MBMS download session, " Content-Location " attribute in FLUTEFDT example is set to the 3gp file of www.example.com/news/international.3gp, to use object size F=20, the FEC OTI that the quantity of 000,000 byte, alignment factors A l=4 byte, symbol size T=1320 byte, the quantity Z=2 of source piece and the sub-block of each source piece is N=12 transmits.In this example, the sum of the source symbol in this document is KT=15, and the first source piece of 152, SBN=0 and the second source piece of SBN=1 have 7,576 source symbols.In this example, each source piece is become 12 sub-blocks by Further Division, and each sub-block has 7,576 source subsymbols, and wherein front 6 sub-blocks have the subsymbol that size is 112 bytes, and remaining 6 sub-blocks have the subsymbol that size is 108 bytes.Suppose in this example, transmission source symbol in MBMS download session, with by HTTP can with the UOSI scope that is associated of reparation file be [15,152,17,151], that is, this reparation file comprises: for each first 1000 in 2 source pieces of expansion original order HTTP file format, repair symbols.
Suppose after this MBMS download session, MBMS client recognizes for these source pieces are decoded, and it needs other 18 symbols of the first source piece of SBN=0, with and need other 18 symbols of the second source piece of SBN=1.
For the first source piece of SBN=0, form the start byte position of 12 subsymbols of the symbol (in this reparation file available the first symbol) with ESI=7576, can calculate as shown in Figure 41.In addition, Figure 41 also shows and how the end byte position of 12 subsymbols of the symbol (last in 18 symbols) of formation ESI=7593 is calculated.In the table of Figure 41, " SuBN " refers to sub-block numbering.
There is various other embodiments and the modification of embodiment described above.As the example of a kind of modification of the described all forms of the application, except situation below, can use identical form: with the reverse sequence of ESI sort symbol and the subsymbol of source piece.For example, if a file is divided into two source pieces, each has two sub-blocks, each sub-block has three subsymbols, and the original order HTTP form of this document can be expressed as (0,0 so, 0), (0,0,1), (0,0,2), (0,1,0), (0,1,1), (0,1,2), (1,0,0), (1,0,1), (1,0,2), (1,1,0), (1,1,1), (1,1,2), wherein each tlv triple is indicated SBN, SuBN and the ESI of each subsymbol.This document in reverse sequence, can be expressed as (0,0,2), (0,0,1), (0,0,0), (0,1,2), (0,1,1), (0,1,0), (1,0,2), (1,0,1), (1,0,0), (1,1,2), (1,1,1), (1,1,0).Similarly oppositely modification keeps described all other file formats of the application.Can be for to the data of rebuilding from the content of two different servers if client is being downloaded, the reverse modification of this document can be useful, wherein the data that can rebuild for the content to from first server (it is with a kind of stored in file format) are being downloaded or received to this client, and the file that can rebuild for the content to from second server (it is with a kind of reverse form storage) is being downloaded or received to this client.If the transmission speed from the data of two servers is different, or uncertain, client can be waited for simply so, until the data that combine from these two servers enough reach content are rebuild, client can stop this connection subsequently, or stops simply receiving other data from these two servers.Because a kind of form is the reverse sequence of another kind of form, being therefore independent of client receives these how many data from each server, and client is to the seldom redundant data that allows this client to rebuild content.
There is multiple other modification of the form (or described multiple other form of the application) of the original order HTTP formatted file of specifying expansion.For example, can data be appointed as by bytes range to the original order HTTP formatted file of expansion rather than UOSI scope.For example, if UOSI scope is (X, Y), symbol size is T, specifies so the bytes range of same format, can be bytes range initial at byte X*T place and that finish at byte (Y+1) * T-1 place.Specify other modification of this form to comprise: for each source piece of file, to specify the explicit list of ESI scope.For example, if a file has 5 source symbols, the detailed description of the form of this document can be SBN=0, ESI=20-50, SBN=1, ESI=30-40, SBN=2, ESI=10-19, SBN=3, ESI=0-50, SBN=4, ESI=17-37 so.In this example, identical source piece can be listed by the different range of ESI repeatedly, for example, SBN=4, ESI=55-65 can be increased in list above, in the file of this form, for the source piece of SBN=4, has the ESI of two scopes subsequently.Alternatively, ESI scope can substitute by bytes range, and wherein in this case, each bytes range is all with respect to source piece.For example, in the above example, if symbol size is 1,000 byte, bytes range 30,000 – 40,999 will be equal to ESI scope 30-40 so.The modification of the standard of these forms and the previous described all forms of the application can be combined.
As described above, there are some specific examples.Those of ordinary skills, after reading the application's disclosure, it will also be appreciated that other embodiment.In other embodiments, advantageously, can realize combination or the sub-portfolio of disclosed invention above.For illustration purpose, show the exemplary arrangement of part, should be understood that, in alternate embodiment of the present invention, can expect to the combination of these parts, supplement, rearrange etc.Therefore, although described the present invention for exemplary embodiment, those of ordinary skills will be appreciated that, numerous modifications are possible.
For example, the described process of the application can realize by nextport hardware component NextPort, component software and/or its combination in any.Therefore, specification and accompanying drawing should be regarded as exemplary, rather than limited significance.But; obviously; can to the present invention, make various modifications and change not departing from the basis of the of the present invention wider spiritual and protection range of being set forth as claims, the present invention is intended to cover all modifications and the equivalent within the protection range that falls into appended claims.

Claims (53)

1. the electronic equipment of packet switching network or the method that system receives one or more data objects are coupled in a use, wherein, the source data of described one or more data objects is to represent by the encoded symbol in grouping, described source data can be recovered according to described encoded symbol at least approx, and described method comprises:
A) by broadcast channel, receive encoded symbol, wherein, the value of encoded symbol is according to the value of source symbol, to derive at least in part;
B) determine the quantity to the needed additional symbols of integrated degree of expectation by content recovery;
C) determine the corresponding set of one or more bytes range of one or more files, wherein, described corresponding set is corresponding with the needed additional symbols of the described content of recovery;
D) use the request of pointing to corresponding set server, that specify described one or more bytes range, generate the request for the additional symbols of at least described quantity;
E) send described request;
F) receive at least some in the additional symbols of asking; And
G), when recovering described content, use the additional symbols receiving in conjunction with the described encoded symbol receiving by described broadcast channel.
2. method according to claim 1, wherein, the integrated degree of described expectation is the recovery completely of described content.
3. method according to claim 1, wherein, described request is the request of HTTP bytes range, and at least one request in a plurality of request is the request of HTTP bytes range, is aimed at discontinuous bytes range.
4. method according to claim 1, wherein, described request is aimed at the continuous collection of additional symbols.
5. method according to claim 4, wherein, the continuous collection of described additional symbols is initial with source symbol, and described source symbol is for the identical primary sign that remotely receives each equipment in a plurality of equipment of content.
6. method according to claim 1, wherein, described request is the request of clean culture HTTP bytes range.
7. method according to claim 1, wherein, described additional symbols is source symbol.
8. method according to claim 1, wherein, described additional symbols is source symbol and repairs symbol.
9. method according to claim 1, wherein, described encoded symbol is all to repair symbol, and described additional symbols is all source symbol.
10. method according to claim 1, wherein, described source data comprises the set in a organized way of the source piece of source symbol, and is further organized into the set of source sub-block and source subsymbol.
11. methods according to claim 10, wherein, described request is aimed at the bytes range of subsymbol.
12. methods according to claim 10, wherein, described request is aimed at the continuous collection of extra subsymbol.
13. methods according to claim 12, wherein, described continuous collection is initial with source subsymbol, and described source subsymbol is for the identical initial subsymbol that remotely receives each equipment in a plurality of equipment of content.
14. methods according to claim 10, wherein, described request is aimed at source subsymbol.
15. methods according to claim 10, wherein, described request is aimed at source subsymbol and repairs subsymbol.
16. 1 kinds of equipment that present the content of long-range reception, comprising:
Electrical interface, it is for receiving data from broadcast channel;
For receive the logical block of encoded symbol by described broadcast channel, wherein, the value of encoded symbol is according to the value of the corresponding source symbol of the described content with wanting long-range reception, to derive at least in part;
For determining the logical block to the quantity of the needed additional symbols of integrated degree of expectation by content recovery;
For determining the logical block of corresponding set of one or more bytes range of one or more files, wherein, described corresponding set is corresponding with the needed additional symbols of the described content of recovery;
For using the request of pointing to corresponding set server, that specify described one or more bytes range, generation is for the logical block of the request of the additional symbols of at least described quantity;
For sending the interface of described request;
For receiving at least some logical block of asked additional symbols; And
Decoder, it uses the additional symbols receiving in conjunction with the described encoded symbol receiving by described broadcast channel when recovering described content.
17. equipment according to claim 16, wherein, the integrated degree of described expectation is the recovery completely of described content.
18. equipment according to claim 16, wherein, described request is the request of HTTP bytes range, and at least one request in a plurality of request is the request of HTTP bytes range, is aimed at discontinuous bytes range.
19. equipment according to claim 16, wherein, described request is aimed at the continuous collection of additional symbols.
20. equipment according to claim 19, wherein, the continuous collection of described additional symbols is initial with source symbol, and described source symbol is for the identical primary sign that remotely receives each equipment in a plurality of equipment of content.
21. equipment according to claim 16, wherein, described additional symbols is source symbol.
22. equipment according to claim 16, wherein, described additional symbols is source symbol and repairs symbol.
23. equipment according to claim 16, wherein, described encoded symbol is all to repair symbol, and described additional symbols is all source symbol.
24. equipment according to claim 16, wherein, described source data comprises the set in a organized way of the source piece of source symbol, and is further organized into the set of source sub-block and source subsymbol.
25. equipment according to claim 16, wherein, described request is aimed at the bytes range of subsymbol.
26. equipment according to claim 16, wherein, described request is aimed at the continuous collection of extra subsymbol.
27. equipment according to claim 26, wherein, described continuous collection is initial with source subsymbol, and described source subsymbol is for the identical initial subsymbol that remotely receives each equipment in a plurality of equipment of content.
28. equipment according to claim 16, wherein, described request is aimed at source subsymbol.
29. equipment according to claim 16, wherein, described request is aimed at source subsymbol and repairs subsymbol.
30. equipment according to claim 16, also comprise:
For receive the logical block of the indication whether request of HTTP bytes range supported by file server from described network.
31. equipment according to claim 16, also comprise:
For support the logical block of the indication of which form from described network reception server.
32. equipment according to claim 31, also comprise:
For receive the logical block of indication that described equipment should be attempted the order of priority of the server from asking to it from described network.
33. equipment according to claim 16, also comprise:
For when described equipment is supported more than one request form, receive the logical block that indication will be used the preference of which kind of request form to select or require.
34. equipment according to claim 16, also comprise:
For receiving the logical block of only repairing the indication of symbol to described device broadcasts.
35. equipment according to claim 34, wherein, when described equipment receives described indication, described equipment is restricted to the prefix request of using all the time for excessive data.
36. equipment according to claim 16, also comprise:
For receiving, require described equipment use for the logical block of the indication of the prefix request of excessive data.
37. equipment according to claim 16, also comprise:
The start byte position that is used for the file of compute sign or subsymbol, and the logical block of the end byte position in the described file of described symbol or described subsymbol.
38. 1 kinds are transmitted the method for one or more data objects from electronic equipment or system by packet switching network, wherein, the source data of described one or more data objects is to represent by the encoded symbol in grouping, described source data can be recovered according to described encoded symbol at least approx, and described method comprises:
If a) described source data is not yet organized into the source piece of source symbol, described source data is organized into the set in a organized way of the source piece of source symbol;
B) symbol of generating encoded, wherein, the value of encoded symbol is according to the value of source symbol, to derive at least in part, and wherein, is that the encoded symbol of repairing symbol has for carrying out the scope of the generation corresponding with source piece;
C) with broadcast mode, using repairing symbol and/or source symbol, as encoded symbol, offer object equipment, wherein, described in broadcast as object equipment and determine that symbol and the block structure of the data of broadcasting provide enough information,
Wherein, described enough information at least comprises: by the source piece of described source symbol in a organized way set in source sign map to the information that can be used for carrying out to the server of supporting document request and bytes range request the bytes range of bytes range request.
39. according to the method described in claim 38, also comprises:
D), at described object equipment place, determine which source symbol is to decode according to received broadcast symbols;
E), at described object equipment place, determine the set of one or more bytes range of the file that can ask by the file request with bytes range modifier; And
F) use described bytes range modifier to carry out described file request.
40. according to the method described in claim 38, and wherein, described file request is the HTTP client-requested that comprises URL and bytes range.
41. according to the method described in claim 40, and wherein, described bytes range starts at the section start of requested file.
42. according to the method described in claim 38, also comprises:
D), according to the request receiving, determine whether the request receiving is in response to for the repair process of recovery of reparation symbol for stemming from the loss of broadcasting process;
E), according to received request, determine whether the request receive is in response to from the direct request with the irrelevant client of broadcasting process; And
F) result determined in record.
43. according to the method described in claim 42, wherein, by reading in the whole or a part of of the URL that uses in received request, carries out definite.
44. according to the method described in claim 38, wherein, the source piece of described source symbol gather in a organized way the set that is further organized into source sub-block and source subsymbol.
The electronic equipment of packet switching network or the nonvolatile computer program that system receives one or more data objects are coupled in 45. 1 kinds of uses, wherein, the source data of described one or more data objects is to represent by the encoded symbol in grouping, described source data can be recovered according to described encoded symbol at least approx, and described product comprises:
A), for receive the program code of encoded symbol by broadcast channel, wherein, the value of encoded symbol is according to the value of source symbol, to derive at least in part;
B) for determining the program code to the quantity of the needed additional symbols of integrated degree of expectation by content recovery;
C) for determining the program code of corresponding set of one or more bytes range of one or more files, wherein, described corresponding set is corresponding with the needed additional symbols of the described content of recovery;
D) for using the request of pointing to corresponding set server, that specify described one or more bytes range, generation is for the program code of the request of the additional symbols of at least described quantity;
E) for send the program code of described request to described server;
F) for receiving at least some program code of asked additional symbols; And
G) for using received additional symbols in conjunction with the described encoded symbol receiving by described broadcast channel, recover the program code of described content.
46. according to the product described in claim 45, and wherein, the integrated degree of described expectation is the recovery completely of described content.
47. according to the product described in claim 45, and wherein, described request is the request of HTTP bytes range, and at least one request in a plurality of request is the request of HTTP bytes range, is aimed at discontinuous bytes range.
48. according to the product described in claim 45, and wherein, described request is aimed at the continuous collection of additional symbols.
49. according to the product described in claim 48, and wherein, the continuous collection of described additional symbols is initial with source symbol, and described source symbol is for the identical primary sign that remotely receives each equipment in a plurality of equipment of content.
50. according to the product described in claim 45, and wherein, described encoded symbol is all to repair symbol, and described additional symbols is all source symbol.
51. according to the product described in claim 45, and wherein, described source data comprises the set in a organized way of the source piece of source symbol, and is further organized into the set of source sub-block and source subsymbol.
52. according to the product described in claim 51, and wherein, described request is aimed at the bytes range of subsymbol.
53. according to the product described in claim 53, and wherein, described continuous collection is initial with source subsymbol, and described source subsymbol is for the identical initial subsymbol that remotely receives each equipment in a plurality of equipment of content.
CN201280062414.6A 2011-11-01 2012-11-01 Content delivery system with allocation of source data and repair data among http servers Pending CN104067594A (en)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201161554434P 2011-11-01 2011-11-01
US61/554,434 2011-11-01
US201261589855P 2012-01-23 2012-01-23
US61/589,855 2012-01-23
US201261614408P 2012-03-22 2012-03-22
US61/614,408 2012-03-22
US201261645562P 2012-05-10 2012-05-10
US61/645,562 2012-05-10
US201261647414P 2012-05-15 2012-05-15
US61/647,414 2012-05-15
US13/563,590 2012-07-31
US13/563,590 US9015564B2 (en) 2009-08-19 2012-07-31 Content delivery system with allocation of source data and repair data among HTTP servers
PCT/US2012/063115 WO2013067219A2 (en) 2011-11-01 2012-11-01 Content delivery system with allocation of source data and repair data among http servers

Publications (1)

Publication Number Publication Date
CN104067594A true CN104067594A (en) 2014-09-24

Family

ID=51266046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280062414.6A Pending CN104067594A (en) 2011-11-01 2012-11-01 Content delivery system with allocation of source data and repair data among http servers

Country Status (6)

Country Link
EP (1) EP2774347A2 (en)
JP (1) JP5795446B2 (en)
KR (1) KR101591238B1 (en)
CN (1) CN104067594A (en)
IN (1) IN2014CN02992A (en)
WO (1) WO2013067219A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108370289A (en) * 2015-12-16 2018-08-03 高通股份有限公司 Deinterleaving method for high-throughput forward error correction
CN108513701A (en) * 2017-05-18 2018-09-07 深圳市大疆创新科技有限公司 Data transmission method, equipment, machine readable storage medium and system
CN112969089A (en) * 2019-12-03 2021-06-15 华为技术有限公司 HTTP request transmission method and equipment
CN113393547A (en) * 2021-05-25 2021-09-14 上海联影医疗科技股份有限公司 PET (positron emission tomography) coincidence data volume control method, device, equipment and storage medium

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081761A1 (en) * 2013-09-17 2015-03-19 Nvidia Corporation Determining format compatibility across a data processing device and another data processing device prior to transfer of a multimedia file therebetween
US9596281B2 (en) 2014-03-18 2017-03-14 Qualcomm Incorporated Transport accelerator implementing request manager and connection manager functionality
US9350484B2 (en) * 2014-03-18 2016-05-24 Qualcomm Incorporated Transport accelerator implementing selective utilization of redundant encoded content data functionality
US9794311B2 (en) 2014-03-18 2017-10-17 Qualcomm Incorporated Transport accelerator implementing extended transmission control functionality
US9596323B2 (en) 2014-03-18 2017-03-14 Qualcomm Incorporated Transport accelerator implementing client side transmission functionality
EP3073744A4 (en) * 2014-04-30 2017-04-19 LG Electronics Inc. Broadcast signal transmitting device, broadcast signal receiving device, broadcast signal transmitting method, and broadcast signal receiving method
EP3267690B1 (en) * 2015-03-04 2020-05-06 Sony Corporation Receiving apparatus, receiving method, transmitting apparatus, and transmission method
US10599634B2 (en) * 2016-06-19 2020-03-24 Qualcomm Incorporated Signaling which version information to use on byte-range file repair
US10833710B2 (en) 2017-06-29 2020-11-10 Cisco Technology, Inc. Bandwidth efficient FEC scheme supporting uneven levels of protection
US11582125B2 (en) 2019-10-01 2023-02-14 Qualcomm Incorporated Repair mechanism for adaptive bit rate multicast

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422032A (en) * 2001-11-28 2003-06-04 华为技术有限公司 Mixed automatic retransmitting method
WO2003105353A2 (en) * 2002-06-11 2003-12-18 Meshnetworks, Inc. System and method for multicast media access using broadcast transmissions with multiple acknowledgments in an ad-hoc communications network
CN1918841A (en) * 2004-02-13 2007-02-21 诺基亚公司 Identification and re-transmission of missing parts

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
CN100479333C (en) 2002-06-11 2009-04-15 数字方敦股份有限公司 Device and method for decoding of chain reaction codes through inactivation of recovered symbols
EP1552617A2 (en) 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
JP4971144B2 (en) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド File download and streaming system
US7590922B2 (en) * 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2010049585A1 (en) 2008-10-30 2010-05-06 Nokia Corporation Method and apparatus for interleaving a data block
JP4808758B2 (en) * 2008-11-10 2011-11-02 株式会社エヌ・ティ・ティ・ドコモ Data receiving apparatus and data receiving method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422032A (en) * 2001-11-28 2003-06-04 华为技术有限公司 Mixed automatic retransmitting method
WO2003105353A2 (en) * 2002-06-11 2003-12-18 Meshnetworks, Inc. System and method for multicast media access using broadcast transmissions with multiple acknowledgments in an ad-hoc communications network
CN1918841A (en) * 2004-02-13 2007-02-21 诺基亚公司 Identification and re-transmission of missing parts

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108370289A (en) * 2015-12-16 2018-08-03 高通股份有限公司 Deinterleaving method for high-throughput forward error correction
CN108513701A (en) * 2017-05-18 2018-09-07 深圳市大疆创新科技有限公司 Data transmission method, equipment, machine readable storage medium and system
CN108513701B (en) * 2017-05-18 2021-06-11 深圳市大疆创新科技有限公司 Data transmission method, device, machine readable storage medium and system
CN112969089A (en) * 2019-12-03 2021-06-15 华为技术有限公司 HTTP request transmission method and equipment
CN113393547A (en) * 2021-05-25 2021-09-14 上海联影医疗科技股份有限公司 PET (positron emission tomography) coincidence data volume control method, device, equipment and storage medium

Also Published As

Publication number Publication date
KR101591238B1 (en) 2016-02-18
JP2014533045A (en) 2014-12-08
JP5795446B2 (en) 2015-10-14
KR20140089405A (en) 2014-07-14
WO2013067219A3 (en) 2013-07-11
EP2774347A2 (en) 2014-09-10
WO2013067219A2 (en) 2013-05-10
IN2014CN02992A (en) 2015-07-03

Similar Documents

Publication Publication Date Title
CN104067594A (en) Content delivery system with allocation of source data and repair data among http servers
US9350488B2 (en) Content delivery system with allocation of source data and repair data among HTTP servers
JP5788988B2 (en) General file delivery method for providing non-uniform error protection and batch file delivery services
CN101432969B (en) Forward error-correcting (FEC) coding and streaming
CN100539601C (en) Control the apparatus operating and the method for a plurality of communication layers
RU2369971C2 (en) Mechanism of request for restoration of data in &#34;point-point&#34; mode for transfer systems of &#34;point-many points&#34; type
TW200926654A (en) System and method for wireless data multicasting
KR100971052B1 (en) Data storing method, data storing system, data recording control apparatus, data recording instructing apparatus, data receiving apparatus, and information processing terminal
CN102246451A (en) Channel capacity adaptive repeater
CN107948762A (en) The transmission method of live video, device and system
CN102098149A (en) Local cooperation method in wireless multicasting
CN106464677A (en) Method and apparatus for transmitting/receiving broadcast signal
CN110099087A (en) A kind of document transmission method based on fusion Transmission system
CN102088331B (en) Data transmission method and network node
Luby Best practices for mobile broadcast delivery and playback of multimedia content
CN111464880A (en) Digital movie copy transmission system based on IPv4 and IPv9 hybrid network
Gasiba et al. Reliable and efficient download delivery with Raptor codes
CN102571263B (en) Decoding method and device
de Fez et al. Performance evaluation of AL-FEC LDPC codes for push content applications in wireless unidirectional environments
Usman Convolutional fountain distribution over fading wireless channels
Bulut et al. Robust multicast delivery for WLANs: transforming theory into practice
de Fez et al. Evaluation of adaptive LDPC AL-FEC codes for content download services
JP2023549779A (en) METHODS AND SYSTEM FOR CUSTOMIZED AUDIO AND/OR VIDEO CONTENT DELIVERY
Wang et al. An Efficient Transmission Scheme for Media Content Distribution Platform
Neumann Large Scale Content Delivery applied to Files and Videos

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140924