CN106134150B - Realize the delivery acceleration device and transmission method of the selective use of redundancy encoding content-data function - Google Patents

Realize the delivery acceleration device and transmission method of the selective use of redundancy encoding content-data function Download PDF

Info

Publication number
CN106134150B
CN106134150B CN201580014340.2A CN201580014340A CN106134150B CN 106134150 B CN106134150 B CN 106134150B CN 201580014340 A CN201580014340 A CN 201580014340A CN 106134150 B CN106134150 B CN 106134150B
Authority
CN
China
Prior art keywords
data
request
content
segment
fragment
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.)
Expired - Fee Related
Application number
CN201580014340.2A
Other languages
Chinese (zh)
Other versions
CN106134150A (en
Inventor
M·G·卢比
S·库纳马拉
L·C·明德
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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106134150A publication Critical patent/CN106134150A/en
Application granted granted Critical
Publication of CN106134150B publication Critical patent/CN106134150B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/353Adaptation to the channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

According to embodiment in the present disclosure, a kind of be used for delivery acceleration device (TA) system and method for the user agent (UA) of content delivery to client device is provided.Embodiment receives the fragment request that the UA is provided by the request manager (RM) of the TA, for from content server request content;And determine the amount for the redundancy encoding content-data to be asked of a fragment request being directed in the fragment request, to be used by the RM when recovering the segment.

Description

Realize the delivery acceleration device and biography of the selective use of redundancy encoding content-data function Transmission method
Priority and statement of related applications
This application claims entitled " the TRANSPORT ACCELERATOR submitted on March 18th, 2014 IMPLEMENTING SELECTIVE UTILIZATION OF REDUNDANT ENCODED CONTENT DATA It the U.S. Provisional Patent Application No. 61/954,987 of the co-pending of FUNCTIONALITY " and is submitted on May 28th, 2014 Entitled " TRANSPORT ACCELERATOR IMPLEMENTING SELECTIVE UTILIZATION OF The U.S. Patent Application Serial Number 14/289,458 of REDUNDANT ENCODED CONTENT DATA FUNCTIONALITY " Priority;The disclosure of above-mentioned application is incorporated herein accordingly by the mode of reference.This application involves following applications:In Entitled " the TRANSPORT ACCELERATOR IMPLEMENTING EXTENDED submitted on May 28th, 2014 The commonly assigned U.S. Patent Application Serial Number 14/289,016 of TRANSMISSION CONTROL FUNCTIONALITY "; Entitled " the TRANSPORT ACCELERATOR IMPLEMENTING EXTENDED submitted on May 28th, 2014 The sequence number 14/289,181 of TRANSMISSION CONTROL FUNCTIONALITY ";In the name submitted on May 28th, 2014 The referred to as sequence number 14/289 of " TRANSPORT ACCELERATOR IMPLEMENTING ENHANCED SIGNALING ", 348;Entitled " the TRANSPORT ACCELERATOR IMPLEMENTING REQUEST submitted on May 28th, 2014 The sequence number 14/289,403 of MANAGER AND CONNECTION MANAGER FUNCTIONALITY ";May 28 in 2014 Entitled " the TRANSPORT ACCELERATOR IMPLEMENTING A MULTIPLE INTERFACE that day submits The sequence number 14/289,476 of ARCHITECTURE ";And entitled " the TRANSPORT submitted on May 28th, 2014 The sequence number 14/ of ACCELERATOR IMPLEMENTING CLIENT SIDE TRANSMISSION FUNCTIONALITY " 289,499;Each in above-mentioned application is submitted simultaneously with the application herein, and by reference by above-mentioned application Disclosure is all expressly incorporated herein.
Technical field
More and more contents are transmitted by available communication network.In general, the content includes the data of many types, E.g., including voice data, video data, image data etc..Video content (especially high-definition video content) often wraps Include relatively large data file or other data acquisition systems.Therefore, the consumption on end-user device or other client devices this The user agent (UA) of kind content often asks and receives the sequence for the contents fragment for including desired video content.For example, UA It can include the client application or process that perform on a user device, request data (often multi-medium data) and connect Requested data are received, to be further processed and may be shown on a user device.
Nowadays, the application of many types carries out the delivering of foregoing teachings by hypertext transfer protocol (HTTP).Permitted In more such applications, the performance of HTTP transmission is crucial for the application experience of user.For example, live stream transmission has Several constraints of the performance of stream video client can be interfered.Two constraints are especially prominent.First, media segment is at any time Become one by one available.The constraint prevents the major part of client continuously downloading data, this then influences to download speed The accuracy of rate estimation.Due to most of streaming clients " request-download-estimation " cycle on operate, so its It generally can not be carried out well when downloading estimation inaccuracy.Second, when watching live activity stream transmission, user is usually not desired to It will be by the long delay from actual live activity timeline.Such behavior prevents streaming client from building large-scale buffering Device, this may then cause more to buffer again.
In streaming client, by transmission control protocol (TCP), to operate, (such as most of dynamics based on HTTP are certainly It is the same to adapt to stream transmission (DASH) client) in the case of, the availability that client will be typically based on estimation dispatches to ask Segment.In the case where not receiving the grouping of segment, existing Transmission Control Protocol is used to slow down the transmission to data and again please Seek the loss data carried in a packet.For example, recipient will only confirm (ACK) until next expectation byte (NextByteExpected), wherein the first word of the data of next segment it is expected byte reference and carried in lost packets Section.After that, carried if received beyond next expectation byte but not including that one it is expected byte under the byte of segment The out-of-order packet of data, then recipient will send out repeat ACK corresponding with next expectation byte, and sender will incite somebody to action Such repeat ACK is construed to the sign of network congestion, therefore slows down transmission rate by way of reducing congestion window.Cause This, the recovery of loss or decay part to content-data may be problematic, this is not only due to retransmit in such data The delay being related to, due also to often slowing down transmission rate in response to the associated detection of network congestion.
Although it come proactive solves to fail by Redundant coded data technology (for example, forward error correction (FEC) encodes) objective The content-data at least some rank that family end receives is possible, but (is passed when using these technologies when being applied to streaming During defeated content) when must be careful.Depending on the design of agreement, additional band can be consumed by sending Redundant coded data proactively Width, this is because for supporting potentially to lose the redundancy of the data encoding of the recovery of data.However, the stream without these redundancies Formula transferring content can suffer from undesirable end-to-end delay, especially when being applied to live transmit as a stream and use TCP During as bottom delivering protocol.Foregoing teachings are operated (for example, being used as DASH clients) in streaming client by TCP In the case of especially in this way, this is because agreement for ensuring that the deliverings of data may still have delay or reduction speed Delivering operation.
The content of the invention
According to embodiment in the present disclosure, provide a kind of for being added by the delivery acceleration device (TA) of client device Speed is by the method for the user agent (UA) of content delivery to the client device.Embodiment the described method includes:By described The request manager (RM) of TA receives the fragment request that the UA is provided, for from content server request content;With And determine the amount for the redundancy encoding content-data to be asked of a fragment request being directed in the fragment request, with by the RM It is used when recovering the segment.
According to embodiment in the present disclosure, provide a kind of for being added by the delivery acceleration device (TA) of client device Speed is by the device of the user agent (UA) of content delivery to the client device.The described device of embodiment includes:For by The request manager (RM) of the TA receives the fragment request that the UA is provided, in being asked from content server The unit of appearance;And for determining for the redundancy encoding content-data to be asked of a fragment request in the fragment request Amount, with the unit used by the RM when recovering the segment.
According to embodiment in the present disclosure, provide a kind of for being added by the delivery acceleration device (TA) of client device Speed is by the computer program product of the user agent (UA) of content delivery to the client device.The computer program product Including non-transitory computer-readable medium, the non-transitory computer-readable medium has the program generation of record on it Code.The said program code of embodiment includes:For what is provided by the request manager of the TA (RM) to receive the UA Fragment request, for from the program code of content server request content;And for determining in the fragment request The redundancy encoding content-data to be asked of a fragment request amount, with what is used by the RM when recovering the segment Program code.
According to embodiment in the present disclosure, a kind of delivery acceleration device being arranged to by client device is provided (TA) accelerate the device of the user agent (UA) of content delivery to the client device.Described device includes at least one Processor and the memory for being coupled at least one processor.At least one processor of embodiment is configured For:The fragment request that the UA is provided is received by the request manager (RM) of the TA, for being asked from content server Seek content;And determine the amount for the redundancy encoding content-data to be asked of a fragment request being directed in the fragment request, To be used by the RM when recovering the segment.
Description of the drawings
Fig. 1 is shown according to embodiment in the present disclosure suitable for by the selectivity of realization redundancy encoding content-data profit Delivery acceleration device provides the system of content transmission.
Fig. 2 shows the fixation redundancy encoding content-data configuration for the delivery acceleration device for describing embodiment in the present disclosure The flow chart of the operation of request manager.
Fig. 3 shows the automatic redundancy encoding content-data configuration for the delivery acceleration device for describing embodiment in the present disclosure The flow chart of the operation of request manager.
Fig. 4 according to embodiment in the present disclosure, show describe data accepted, suspension data and late data when Top-stitching.
Fig. 5 is shown should as what can be realized between the request manager of embodiment in the present disclosure and user agent Use programming interface.
Fig. 6 is shown according to embodiment in the present disclosure suitable for by the selectivity of realization redundancy encoding content-data profit Delivery acceleration device provides the system of content transmission, wherein, redundancy encoding content-data is by individual source or supplier Come what is provided.
Specific embodiment
Word " exemplary " used herein means " as example, example or explanation ".Here depicted as " example Any aspect of property " is not necessarily to be construed as being preferable over other aspects or more advantageous than other aspects.
In this description, term " application " can also include having executable content (such as:Object identification code, script, byte Code, making language document and patch) file.In addition, " application " cited herein can also be included substantially not Executable file (may such as need the document being opened or need accessed other data files).
As used in this description, term " content " can include the combination with video, audio, video and audio Data or other data at one or more credit ratings, credit rating are true by bit rate, resolution ratio or other factors It is fixed.Content can also include executable content (such as:Object identification code, script, syllabified code, making language document and benefit Fourth).In addition, " content ", which can also include substantially not executable file, (may such as need the document or needs that are opened Accessed other data files).
As used in this description, term " segment " refer to can by user equipment requests and/or in user equipment Locate one or more parts of the content received.
As used in this description, term " stream content " refer to can according to realize real-time content transmission or One or more standards of content transmission in a period of time, send from server apparatus and receive at the user equipment in Hold.The example of stream content standard includes supporting those standards for deinterleaving (or multiple) channel and does not support to deinterleave Those standards of (or multiple) channel.
As used in this description, term " component ", " database ", " module ", " system " etc. are intended to refer to calculate The relevant entity of machine or it is hardware, firmware, the combination of hardware and software, software or is software in execution.For example, group Part, which may be, but not limited to, is:Process, processor, object, executable file, the thread of execution, the journey run on a processor Sequence and/or computer.By way of explanation, both application and computing device in computing device operation can be components. One or more assemblies can reside in the thread of process and/or execution, and component can be located at computer neutralize/ Or it is distributed between two or more computers.In addition, these components can be from the various data structures being stored thereon Various computer-readable mediums in perform.Component can such as according to have one or more packets (for example, from Another component in local system, distributed system interacts and/or the network across such as internet passes through signal The data for the component that mode is interacted with other systems) signal communicated by locally and/or remotely process.
As it is used herein, term " user equipment ", " user apparatus " and " client device " includes:It can be from network Server asks the equipment that information is sent with reception content and to network server.Such equipment can be fixed equipment or Mobile equipment.Term " user equipment ", " user apparatus " and " client device " can be interchangeably used.
As used herein, term " user " refer on user equipment or client device reception content and to Website sends the individual of information.
Fig. 1 show according to the concept of this paper be suitable for by communication network provide content (such as can including voice data, Video data, image data, file data etc.) transmission system 100.Therefore, client device 110 is illustrated as via network 150 communicate with server 130, and accordingly according to concept in the present disclosure, server 130 can be passed to client device 110 The defeated various contents being stored in database 140.Although it is set it is to be appreciated that illustrating only single client in Fig. 1 Standby and individual server and database, but system 100 can include these multiple any equipment or all these equipment.Example Such as, server 130 can include the server in server zone, wherein it is possible to intensively and/or in decentralized configuration place Multiple servers, to service the high level demand to content transmission.Alternatively, server 130 can be with delivery acceleration device 120 It is co-located in identical equipment (for example, being directly connected to delivery acceleration device 120 by I/O elements 113 rather than passing through network 150), such as equally it is co-located in equipment and is provided by server 130 when some or all of content content is located at During in the database 140 (cache) of delivery acceleration device 120.Equally, user can possess multiple client equipment and/ Or multiple user equipmenies can possess one or more client devices, and according to the concepts herein, the client device In it is any or all of be suitable for content transmission.
Client device 110 can include can be used to setting for the various configurations transmitted via 150 reception content of network It is standby.For example, client device 110 can include wireline equipment, wireless device, personal computing devices, tablet or plate computing device, Portable cell phone, the equipment for enabling WiFi, the equipment for enabling bluetooth, television set, a pair of glasses with display, a pair Augmented reality glasses or be connected to network 105 can using any methods availalbe or infrastructure come with server 130 into Any other communication, calculating or the interface equipment of row communication.Client device 110 is referred to as " client device ", this is because It, which can be operated, is or is connected to the client as server 130 equipment that operates.
The client device 110 of shown embodiment include multiple functional blocks, here shown as including processor 111, Memory 112 and input/output (I/O) element 113.Although for simplicity without being shown in expression in Fig. 1, Client device 110 can include additional functional block, such as user interface, radio frequency (RF) module, camera, sensor array, Display, video player, browser etc., some or all of which can be utilized according to the operation of this paper concepts.Before Stating functional block can be operably connected by one or more buses (such as bus 114).Bus 114 can include logic And physical connection, connected element, module and component to be allowed to be communicated and interoperated.
Memory 112 can be any kind of volatibility or nonvolatile memory, and in one embodiment, it can To include flash memory.Memory 112 can be permanently mounted in client device 110 or can be removable memory member Part, such as removable memory card.Although illustrated as discrete component, but memory 112 can include multiple discrete storages Device and/or type of memory.
Memory 112 can store or include various computer-readable code sections in other ways, and can such as be formed should With, operating system, file, electronic document, content etc..For example, the memory 112 of shown embodiment is included to delivery acceleration The computer-readable code section that device (TA) 120 and UA 129 are defined, the computer-readable code section is by processor (example Such as, processor 111) logic circuit that can operate as described herein is provided when performing.The code that memory 112 is stored Section can provide the application in addition to foregoing TA 120 and UA 129.For example, according to embodiment hereof, memory 112 can be deposited The application of such as browser is stored up, for accessing content from access server 130.Such browser can be web browser, Such as hypertext transfer protocol (HTTP) web browser, be used to access and watch web page contents and for via HTTP with Server 130 communicates (by connection 151 and 152 via network 150), if server 130 is web page server. As one example, can by HTTP request from the browser in client device 110 by connection 151 and 152 via network 150 are sent to server 130.Http response can be sent to from server 130 by connection 152 and 151 via network 150 Browser in client device 110.
UA 129 can be used to from server (such as server 130) request and/or reception content.For example, UA 129 It can include request data (such as multi-medium data) and receive requested data to be further processed and can The client application or process that can be shown on the display of client device 110, such as browser, DASH clients, HTTP stream transmission (HLS) clients etc..For example, client device 110 can perform code, including being used for playback media UA 129, such as independent media's playback application or the media based on browser for being configured as running in Internet-browser are broadcast Put device.In operation according to the embodiment, UA 129 determines that the Each point in time in stream content ession for telecommunication asks to pass Which segment or fragment sequence of defeated content file.For example, the DASH clients configuration of UA 129 can operate and be used for such as base Which in nearest download, determine to represent (for example, high-resolution represents, medium resolution from content at every point of time Rate represents, low resolution represents etc.) which segment asked.Equally, the variety of web-browser configurations of UA 129 can operate to make Go out the request for webpage or part thereof etc..Typically, UA asks such segment using HTTP request.
According to this paper concepts, TA 120 is adapted to provide for that (segment or fragment sequence are for example, foregoing such as can be with to it is expected content For providing the contents fragment of stream video, file download, web-based application, generic web pages etc.) enhancing pass It send.The TA 120 of embodiment be adapted to allow for general or traditional UA (that is, the UA for not yet being preprogrammed to interact with TA, Only support to make the standard interface of fragment request, such as realize 1.1 interfaces of HTTP of standardization TCP transmission agreement) still It benefits from using the TA for performing those requests.Additionally or alternatively, the TA 120 of embodiment provides enhanced interface to contribute to Further benefit is provided to the UA being designed to using the function of enhanced interface.The TA 120 of embodiment is suitable for according to existing Content transmission agreement perform fragment request, such as using TCP by realizing the HTTP interface of standardization TCP transmission agreement, Thus general or conventional media server (that is, the media server for not yet being preprogrammed to interact with TA) is allowed to asking It asks and is serviced, while the delivering of enhancing of the segment to UA and client device is provided.
During the segment delivery functions of foregoing enhancing are provided, the TA 120 of embodiment hereof includes such as being described herein Infrastructure component and agreement.For example, the TA 120 of embodiment shown in FIG. 1 includes request manager (RM) 121 and connection Manager (CM) 122, they cooperate to provide the segment delivery functions of various enhancings, as described further below.
In addition to being previously formed the code snippet of application, operating system, file, electronic document, content etc., memory 112 can also include or provide the various registers used by the functional block of client device 110 in other ways, buffer and Storage unit.For example, memory 112 can include transmission buffer, data for spool segment can be such as provided First in first out (FIFO) memory, for being transmitted as a stream by server 130 and being played back by client device 110.
The processor 111 of embodiment can be able to carry out instruction to control operation and the function of client device 110 Any universal or special processor.Although illustrated as discrete component, but processor 111 can include multiple processors or Distributed processing framework.
I/O elements 113 can include and/or be coupled to various input output assemblies.For example, I/O elements 113 can wrap Include and/or be coupled to display, loud speaker, microphone, keyboard, sensing equipment, touch sensitive display, user interface control element, And user is allowed to provide input order and any other equipment or system from 110 Rreceive output of client device.It is any or Component as whole may be used to provide the user interface of client device 110.Additionally or alternatively, I/O elements 113 can be with Including and/or be coupled to Magnetic Disk Controler, network interface card (NIC), radio frequency (RF) transceiver and promote client device 110 input and/or any other equipment or system of output function.
In the operation with played streaming transferring content is accessed, client device 110 uses link 151 via network 150 Communicate with 152 with server 130, to obtain content-data (for example, as foregoing segments), when the content-data by The current playback that content is provided.Therefore, UA 129 can include content player application, by processor 111 perform for Content playback environment is established in client device 110.When initiating the playback of particular content file, UA 129 can be with server 130 content delivery platform communicates, to obtain content designator (for example, one or more lists, inventory, configuration file Or the media segment of content or other identifiers of segment and its timing boundary it is expected in identification).On media segment and its timing Information is directed to the segment of content playback by the stream content logic unit of UA 129 for control data.
Server 130 includes can be used to provide the one or more systems for it is expected content to client device.For example, Server 130 can include the standard that can be used to content being streamed to each client device via network 150 HTTP web page servers.Server 130 can include content delivery platform, including can be by content delivery to user equipment 110 any system or method.It can store content in one or more databases communicated with server 130, it is all The database 140 of embodiment as shown.Database 140 can be stored on server 130 or can be stored in communicatedly It is coupled on one or more servers of server 130.The content of database 140 can include various forms of data, all Such as video, audio, stream transmission text and can be whithin a period of time as server 130 is transferred to client device 110 Any other content, such as live network broadcasted content and the media content of storage.
Database 140 can include the multiple and different of multiple and different sources or content file and/or any specific content It represents (for example, high-resolution represents, intermediate resolution represents, low resolution represents etc.).For example, content file 141 can wrap The high-resolution for including the compiling of specific multimedia represents, and therefore the bit rate when being transmitted represents, and content file 142 low resolution that can include identical specific multimedia compiling represent, and the therefore low bit speed when being transmitted Rate represents.Additionally or alternatively, the different of any specific content represent that can include forward error correction (FEC) represents (e.g., including The expression of the redundancy encoding of content-data), it can such as be provided by content file 143.According to embodiment hereof, unified resource In whole in finger URL (URL), uniform resource identifier (URI) and/or uniform resource name (URN) and these content files Holding file is associated, and therefore such URL, URI and/or URN (may be together with the other information of such as bytes range) It can be used for the data of mark and access request.
Network 150 can be wireless network, cable network, wide area network (WAN), LAN (LAN) or suitable for such as retouching herein Any other network for the content transmission stated.In one embodiment, network 150 can include at least a portion of internet. Client device 110 can be connected to network 150 by being bi-directionally connected and (such as being represented by network connection 151).Alternatively, Client device 110 (can such as be provided via unidirectional connection by the network for enabling Multimedia Broadcast Multimedia system (MBMS) Connection) to connect, (for example, connection 151,152 and network 150 can include MBMS networks, and server 130 can include Broadcast/multicast service center (BM-SC) server).Connection can be wired connection or can be wireless connection.In a reality It applies in example, connection 151 can be wireless connection, such as honeycomb 4G connections, Wireless Fidelity (WiFi) connection, bluetooth connection or another Kind wireless connection.Server 130 can be connected to network 150 by being bi-directionally connected and (such as being represented by network connection 152). Server 130 can be by unidirectionally connecting (for example, using the MBMS such as the agreement described in 3GPP TS.26.346 and service Network or ATSC 3.0 network) it is connected to network 150.Connection can be wired connection or can be wireless connection.
The client device 110 of embodiment shown in FIG. 1 includes TA 120, can be used to provide according to herein The delivering of the enhancing of the segment or fragment sequence to expectation content of concept.As described above, the TA 120 of shown embodiment Including RM 121 and CM 122, they cooperate to provide the segment delivery functions of various enhancings.The UA 129 and RM of embodiment Interface 123 between interface 124 and RM 121 and CM 122 between 121 provides the similar connections of HTTP.It is for example, foregoing Standard HTTP may be employed and including additional signaling (for example, using similar with those signaling technologies of HTTP in interface Signaling technology provide) come in terms of supporting some functions of being delivered according to the segment of the enhancing of embodiment hereof.
In operation according to the embodiment, RM 121 receives the request for segment from UA 129 and determines from CM 122 Any data is asked to reliably receive the segment with recovery request.According to embodiment hereof, RM 121 is suitable for from general or biography System UA receives fragment request (that is, not yet by the UA that is preprogrammed to interact with RM) and responds thereto, and thus carries The compatibility with such tradition UA is supplied.Therefore, RM 121 can be operated for the biography by UA 129 from the extension of TA 120 Defeated agreement operation isolation.However, as will be more fully appreciated from next discussion, UA 129 may be adapted to extension Transport protocol operations, accordingly RM 121 and UA 129 cooperate with realize extension transport protocol operations one or more features, Such feature is such as realized by using the signaling between RM 121 and UA 129.
The request of data made from the RM 121 of embodiment to CM 122 (herein referred to as " block request ", wherein, is asked The data asked include " block ") size can be much smaller than UA 129 requested segments (and it is recovering for RM 121 Segment) size.Therefore, each fragment request from UA 129 can trigger RM 121 and generate and be made to CM 122 multiple Block is asked, to recover the segment.
From some blocks requests of the RM 121 into the request of block that CM 122 makes may be for have requested that but not yet to The data reached, and RM 122 is it had been thought that the data may be reached never or may reached too late.In addition or Alternatively, some blocks request from RM 121 into the block request that CM 122 makes may be to be directed to be generated according to original segments FEC coded datas, RM 121 can carry out fec decoder to the data that are received from CM 122 accordingly, to recover segment or its certain A combination.The segment recovered is delivered to UA 129 by RM 121.Therefore, according to embodiment, there may be the various of RM and match somebody with somebody It puts, can such as include:Basic RM configurations (RM- is basic), without using FEC data and therefore only from original source fragment request The part of data;And FEC RM configurations (RM-FEC), it can be from the part of original source fragment request data and according to original The matching FEC segments of segment generation.
The RM 121 of embodiment may be unaware that timing and/or bandwidth constraint, thereby assist in RM 121 and CM Relatively simple docking between 122, and therefore RM 121 can operate in RM 121 without considering such constraint In the case of make block request.Alternatively, RM 121 may be adapted to know timing and/or bandwidth constraint, can such as lead to The other modules crossed in CM 122 or client device 110 are supplied to RM 121, and therefore RM 121 can be operated for base Block request is made in such constraint.
The RM 121 of embodiment is suitable for the operation configured with multiple and different CM.In addition, the RM 121 of some embodiments Can dock simultaneously with more than one CM, such as with from the data block of multiple CM identical segments of request or fragment sequence.Example Such as, each such CM can support different network interfaces (for example, the first CM can have the sheet to cache in equipment Ground interface, the 2nd CM can use the HTTP/TCP connections to 3G network interface, and the 3rd CM can be used to 4G/LTE networks The HTTP/TCP connections of interface, the 4th CM can use HTTP/TCP connections for arriving WiFi network interface etc.).
In operation according to the embodiment, CM 122 is docked with RM 121 to be asked with receiving block, and is sent out by network 150 Give those requests.CM 122, which receives the response to block request and transfers response, is back to RM 121, wherein, according to what is received Block solves 129 requested segments of UA.When the feature operation of CM 122 asks the block made by RM 121 for decision The data of request.According to the embodiments herein, CM 122 is suitable for (that is, being not yet preprogrammed to from general or traditional server The server interacted with TA) request and receiving block.For example, CM 122 can include mark from the server of its request data Quasi- HTTP web page servers.Alternatively, CM 122 receive from it data server can be included in MBMS service deployment in make BM-SC servers.
According to embodiment, as discussed above for RM 121, there may be the various configurations of CM.For example, it can carry (for example, CM-mHTTP) is configured for multi-link CM, thus CM is suitable for using HTTP by multiple TCP connections.Multi-link CM matches somebody with somebody Putting can operate to connect (for example, TCP to dynamically change according to Network status, to demand, congestion window of data etc. Connection) quantity.Another example is lifted, the transport protocol CM configurations (for example, CM-xTCP) of extension can be provided, wherein, CM exists HTTP is used on the TCP connection (herein referred to as xTCP) of extension form.The transport protocol of this extension can provide root According to the operation for being suitable for promoting by TA 120 delivering of the enhancing of segment of this paper concepts.For example, the embodiment of xTCP will be true Recognize when being provided back to server or even the packet loss when transmission (opposite with the duplicate acknowledgment mechanism of TCP when packets are lost). This xTCP packets affirmation mechanism can avoid server in response to determining that packet is being lost by TA 120 And reduce the rate for sending packet.Another example is lifted again, and proprietary protocol CM configurations (for example, CM-rUDP) can be provided, Wherein, CM uses privately owned User Datagram Protocol (UDP) agreement, and the rate for sending the response data from server can To be with constant preconfigured rate or can there are rate management to ensure transmission rate as far as possible in agreement Height, without undesirably congested network.This proprietary protocol CM can be with the private services device cooperation of support proprietary protocol To operate.
Although it should be appreciated that from server 130 data from source file is asked to discuss on CM 122 Shown embodiment, but source file can be available on the server or can be locally stored in client and set Standby upper, this depends on the interface type for being used to access data that CM has.
In addition, according to embodiment, client device 110 is connectable to one or more of the other equipment (for example, being placed in The equipment of neighbouring various configurations), they are referred to herein as ancillary equipment (for example, by WiFi or blue tooth interface), In, this ancillary equipment can have through 3G or LTE connections (for different ancillary equipments, potentially through different loads Ripple) to the connection of one or more servers (such as server 130).Therefore, client 110 can use the company of ancillary equipment It fetches and is asked to one or more servers (such as server 130) transmission block.In this case, it is possible in 120 memories of TA Each ancillary equipment in ancillary equipment is connected to and the CM that response is asked and received to each ancillary equipment transmission block. In such embodiment, the different block requests for identical segment can be sent to identical or different clothes by ancillary equipment Device be engaged in (for example, identical segment can be available for the ancillary equipment on multiple servers, wherein for example, different clothes Business device is provided by identical or different content delivery network provider).
In some embodiments, can also become redundancy encoding content data file (for example, FEC encoded data files) Available (for example, on one or more content servers), the redundancy encoding content data file are included and compiled using redundancy The reparation symbol that code technology is generated according to matching source file.For example, for each source file, there may be a this text Part, wherein, each redundancy encoding content data file is that (such as FEC encodes skill using redundancy encoding technology known in the art Art) it is generated according to source file.In such embodiments, for example, content file 141 can be (low including low bit speed rate Resolution ratio) version content, content file 142 can include the content and content of bit rate (high-resolution) version File 143 can include the content file 142 through FEC version of code.Although for some stream transmission service conditions, redundancy is compiled The realization of code data transmission (wherein being encoded for error correction to the data all sent) may not provide significant benefit, But according to this paper concepts, for many stream transmission service conditions, using this redundancy encoding content-data (for example, being used for Accelerate the transmission for the content-data lost in precedent transmission) may be advantageous.For example, it is transmitted as a stream for fact, warp Often requirement, which exists, to be generated in content, can be used for playing back on client device 110 with identical content as can use, be created Small time interval between viewing.For example, time interval can be 1 second or shorter.Therefore, following article is further retouched in detail It states, may be for redundancy encoding content-data from some blocks requests of the RM 121 into the block request that CM 122 makes.
It is consistent with the above, according to embodiment, there may be the RM of various configurations, can such as include:Basic RM matches somebody with somebody (RM- is basic) is put, without using redundancy encoding content-data, and therefore only asks the portion of the data from original source segment Point;And redundancy encoding content-data RM configuration (RM-FEC), can ask the part of the data from original source segment with And the matching redundancy encoding content-data segment generated according to source segment.Suitable for the implementation of the RM 121 of redundancy encoding content-data Therefore example can decode (for example, fec decoder) technology come to being received from CM 122 using appropriate redundancy encoding content-data Such data are decoded, to recover segment or its some part.The segment recovered can be then delivered to by RM 121 UA 129。
As will be more fully appreciated according to following discussion, the TA 120 of embodiment utilizes redundancy encoding content-data Request helps to recover segment, wherein, total amount for the requested data of any segment and when please for any segment Ask redundancy encoding content-data that can change, and depending on how many data and which data such as had received that for segment Factor.That is, in the case that the data cell (for example, segment, block, grouping etc.) in request is lost or is postponed, embodiment Accelerate the recovery to the segment of request using Redundant coded data as extra data rather than as typically compiled using redundancy Code data correct the data damaged as caused by data transmission.In operation according to the embodiment, on any specific fragment The amount (or whether asking any Redundant coded data) of requested Redundant coded data is based on to such redundancy encoding number According to demand control, to accelerate delivering and recovery to segment.For example, if in response to fragment request is there is no connecing The high-caliber late data received, then in addition to the request of non-redundancy codes data for being directed to fragment request, can also ask A small amount of Redundant coded data.
The logic unit of TA 120 can will use how many redundancy encoding content numbers for any segment to automatically determine According to (including there is no redundancy encoding content-data).For example, RM 121 can be automatically by requested redundancy encoding content-data Amount be adjusted to recover in time the amount of the required redundancy encoding content-data of each segment.In operation according to the embodiment, RM 121 can be depended on for the amount of any specific requested Redundant coded data of block during the process of segment is downloaded The total amount of the late data of experience.Because the logic unit for asking and decoding redundancy encoding content-data is by embodiment What delivery acceleration device (for example, RM 121) was realized, so any configuration of UA 129 (that is, is not adapted in use to redundancy encoding even Those configurations of content-data) the automatic RM FEC sides for not having any redundancy encoding content-data semanteme or logic can be used (for example, UA is required no knowledge about, whether FEC data are available to be used for so that automatic RM FEC methods is enable to operate when FEC data are used method When use such FEC data).The delivery acceleration device (for example, cooperation by its RM and CM) of embodiment, which can operate, to be used for Such as automatically decide whether to use, when use and use in how many redundancy encoding for each segment or fragment sequence Hold data.
Provided hereinafter on redundancy encoding content-data is adapted in use to according to this paper concepts come provide the acceleration of content pass The details of the embodiment of defeated system.Although it is to be appreciated that in order to provide the tool being easier to understand for reader Body example quotes FEC coded datas as exemplary redundant coded content data, but this paper concepts can be on any number of Appropriate redundancy encoding content data type is applied.For example, the forward error correction used in application layer other places can be replaced or removed Outside the forward error correction used in application layer other places error correction is used to come to Powdering resistance.Another example is lifted, can be made each Segment can be used for reverse sequence come ask rather than only with common forward direction order, in this case, except from start to Outside the common request order of ending, block request can also be made to since the ending of segment, and then with reversely suitable The segment recovery one of sequence, which is run into, recovers (may have the one of the data of request in two kinds of request orders with the segment of forward direction order A little overlappings), segment is exactly recoverable.
The embodiment of TA 120 can operate any or all of segment for the content on request to utilize FEC numbers According to.According to embodiment, it can ask the extra data for how much exceeding clip size F that can be provided as predetermined amount for segment (for example, for whole segments or for the silent of those segments for not yet having specified the amount of extra data targeted in other ways The amount of recognizing), it can be dynamically determined (for example, depending on current network conditions) etc..In operation according to the embodiment, UA can be with The information of corresponding FEC segments on the amount for the FEC data that be used for each segment and comprising FEC data is supplied to RM.Therefore, may be adapted to utilize FEC according to embodiment in the present disclosure, UA 129 and/or TA 120 (for example, RM 121) Data.
As can be according to being recognized foregoing teachings, in the replacement configured to basic RM, the RM 121 of embodiment can be with FEC data are adapted in use to help to recover segment.For example, the configuration of RM 121 can realize that herein referred to as RM fixes FEC FEC data technique, accordingly UA will be used for the amount of the FEC data of each segment and the corresponding FEC pieces comprising FEC data Section is supplied to RM.
Therefore, according to embodiment, can utilize between UA 129 and RM 121 signaling (such as provide on quilt The information of the FEC segments of the original source fragment match of request), the signaling of urgency factor (X) etc..FEC numbers are adapted in use in basis According to TA 120 embodiment operation in, UA 129 to RM 121 provide source fragment request, matching FEC fragment requests and Mostly energetically request exceeds needed for recovery resource segment to RM by urgency factor X (for example, with designated value), the urgency factor X The minimal data wanted are controlled, what following article was described more fully.In response, the RM 121 of embodiment only will Source fragment data is supplied to UA 129 without that will match FEC fragment datas.The UA 129 of such embodiment is provided to RM 121 Match FEC fragment requests and urgency factor so that RM can use the information to help speed up the delivering of source fragment request.Right In the modification of foregoing teachings, the UA 129 that can be operated together with the TA 120 for being adapted in use to FEC data can be provided to RM 121 Only source fragment request, and RM can automatically derive corresponding matching FEC fragment requests, and RM can automatically calculate pin How many FEC will be asked to each segment, what following article was described more fully.It is to be appreciated that in aforementioned arrangements In any configuration, RM 121 is the only one of client device 110 it is understood that FEC semantic (including providing fec decoder) Component.
The operation that RM according to the embodiment is fixed to FEC technologies in fig. 2 is shown as stream 200.Consolidate in the RM for understanding embodiment When determining the operation of FEC technologies, it is assumed that the request (frame 201) for segment F just has been made in UA, and therefore F is initially Activity and qualified.The UA 129 of shown embodiment also provides to ask associated with fragment request to RM 121 The information (frame 202) of the amount of FEC data.Such information can include FEC corresponding with the content-data of requested segment The mark in the source of data and the other information for using FEC data by RM 121.
It is to be appreciated that segment is what and how it to be identified typically specific to UA.However, Segment be typically media file or binary file or such file bytes range (its by source identification information (for example, URL, URI or URN) and may be identified by bytes range), it can such as be asked using http protocol or similar agreement It asks.Therefore, in operation according to the embodiment, UA 129 is to 121 supply resource identification informations (for example, URL) of RM, associated Bytes range and clip size.Similarly, UA 129 can supply the resource identification information for corresponding FEC segments, Associated bytes range, clip size and symbol size.For example, UA 129 is provided and asking for segment F to RM 121 Associated matching FEC segments R and symbol size T (in units of byte) is sought, and UA 129 can also be provided to RM 121 The size RB of the size FB (in units of byte) and FEC segments R of segment F (in units of byte).The data of embodiment please It seeks size preferably but is not limited to the bytes several again of T, except when for the last part of F when FB is not the multiple of T Request.In some cases, for example, when to make request before the value of known T, possibly can not make be T multiple The request of data of a byte.In these cases, as described herein, the value of T is typically selected so that by not in Signed Edge The request alignd in boundary causes the response of request to receive the sub-fraction that partial symbols are only received datas.
When UA 129 is DASH clients, can use such as in entitled " ENHANCED BLOCK-REQUEST Show in the U.S. Patent Application Serial Number 12/887,495 of STREAMING USING COOPERATIVE PARALLEL HTTP " Go out and the technology that describes provides the generation of FEC files, be incorporated to the disclosure of above-mentioned application accordingly by the mode of reference Herein.In such embodiments, the logic for how generating these FEC files is specific for DASH clients.Therefore, implement The UA 129 of example can be supplied to RM 121 on for generating the information of the logic of FEC files, and RM 121 need not be single accordingly Solely understand the logic.For example, UA 129 can be wrapped to the resource identification information for matching FEC segments that RM 121 is provided The URL included for segment adds suffix " .raptorq. $ T $ ", wherein, " raptorQ " instruction FEC code is appointed in Internet Engineering The RAPTORQ codes specified in business group (IETF) RFC 6330, and the value of " T " is for encoding the matching FEC from segment The symbol size of segment.Another example is lifted, each segment can be directed to, size FB based on segment automatically determines T's Value.
In the operation for fixing FEC technologies in RM according to the embodiment, UA 129 additionally or alternatively provides aforementioned emergency Factor X, be used to determining (frame 206) RM 121 for segment to ask how much the size more than requested segment F it is additional Data (equally at frame 202).The value of urgency factor can determine in many ways, and can be true simultaneously with fragment request It is fixed, definite, definite etc. before the targeted stream content session of fragment request is made before fragment request.For example, X Predetermined default value (for example, X=0.1) can be used for some segments (for example, not providing the value of X in other ways for it Segment) or for whole segments.In operation according to the embodiment, the logic unit of UA 129 is suitable on some or all Fragment request determines the value of the urgency factor X used.It is, for example, possible to use such as in entitled " FEC BASED Algorithm described in the U.S. Patent number 7,447,235 of RELIABILITY CONTROL PROTOCOLS " determines such as according to this The disclosure of above-mentioned application is incorporated to by the value for the urgency factor that the embodiment of disclosure utilizes accordingly by the mode of reference Herein.
RM 121 can ask the FEC data of the appropriate amount of the data beyond requested segment with aforementioned emergency factor X (frame 203).For example, RM 121 can it is all as in response to CM 122 for another request signaling it is ready, in RM 121 Think to be suitble to requesting time point etc., make one or more block requests, one or more of pieces of requests have and it Associated requested extra data.Equally, RM 121 can be all as in response to CM 122 asks signaling for another It is ready, think to be suitble to requesting time point etc. in RM 121, made to CM 122 for some in extra data Or whole extra datas separately are requested.
It is to be appreciated that when RM 121 makes fragment request to CM 122 and/or when CM 122 is to server 130 when making fragment request, and 129 requested segments of UA can be separated into smaller request (for example, aforementioned blocks request). Amount accordingly, with respect to the requested extra data of specific fragment can be the extra data of the block request on the fragment request Total amount (i.e., it is possible to asking certain part with any or all of piece of associated extra data of request for segment).Equally, In addition to the block for being directed to the data from original content clip is asked or substitute for the data from original content clip Block is asked, and requested extra data can also include one or more requests for FEC data.For example, total data please It can be only for FEC data to ask, and no matter the amount of overall data request is that the size of segment is also greater than the size of segment.
For example, realizing the embodiment of the RM 121 of RM fixation FEC technologies can ask (1+X) in total for segment F FB bytes.Therefore, the data of additional XFB bytes can be asked from FEC segments R (for example, all being from having requested that After the data of segment F).In the case where RM 121 is without using FEC, embodiment can set T=1 and X=0 to consolidate RM It is invalid to determine FEC technical operations.
In the operation of embodiment of FEC technologies is fixed according to the RM of this paper, such as current network conditions it can carry out dynamic Ground changes the extra data (for example, as determined at frame 206) how much request exceeds the size of segment F.For example, according to implementation Example, additional data volume can be the function of bandwidth-delay product.For example, if current downloading rate is DR and ought go to It is RTT to return the time, then the additional data volume beyond F asked can be XDRRTT, wherein according to this embodiment, X can To be fixed fraction (for example, X=1/2 or X=0.29).When CM 122 uses TCP as its bottom transport protocol, as preceding The approximation of content is stated, the additional data volume for allowing request can be arranged to XRecwindow, wherein Recwindow is to work as The TCP that preceding TCP reception windows size or average how many eight bit byte (byte) or data are resided at client device is received Measurement in buffer or in the case where using multiple TCP connections, Recwindow is the total of whole TCP reception windows sizes And/or TCP receives the average total byte occupancy of buffer.In such embodiments, CM 122 can believe these parameters RM 121 number is sent to (for example, CM can provide the current estimation to DR and RTT to RM or the current of Recwindow is estimated Meter).
It is to be appreciated that in the case where not departing from this paper concepts, various replacements may be used to provide RM and fix FEC Technology.It is determined for example, although wherein UA operations are hereinbefore described for the segment on request (for example, in frame 206 Place) FEC data to be used amount (for example, using the aforementioned emergency factor) embodiment, but according to this paper concepts be suitable for make It can operate to determine to use to provide the other components for the system that the acceleration of content is transmitted with redundancy encoding content-data FEC data amount.The other components wherein in addition to UA are lifted to operate to determine the amount of FEC data to be used The example of realization method, the CM of embodiment can determine and be sent with signal the schunk asked for each block, wherein Schunk is adapted for the target data block request size of CM.CM can make schunk ask it in receiving block based on TCP senders The data volume once sent is allowed to afterwards, wherein, in this case, the value of schunk can be based on will be by TCP in block request Estimation when sender receives to the current TCP congestion windows size for being directed to the TCP connection.Therefore, the value of schunk can be by RM For establishing the size for each data block associated with fragment request that can be asked.
It it is to be appreciated that can be another for one or more parameters of the information of appropriate redundancy encoding content-data (for example, by RM 121) will ask how many data beyond the segments asked for definite outside or alternatively.Therefore, in fig. 2 The embodiment of the stream 200 shown includes the optional data path between frame 202 and 206, and such information can be passed accordingly It is determined for one or more, as described herein.
Provided hereinafter according to embodiment hereof, display is used for using FEC segments R, using such as can be by UA 129 and CM 122 are supplied to the parameter of RM 121 to realize the pseudocode of the details of the RM fixation FEC technologies for the robust of segment F:
The data volume (frame 206) beyond fragment data is being determined and is making segment and extra data request (frame 203) such as appropriate after, fixing FEC technologies according to the RM of this paper can receive come the RM 121 operated in requested segment Hold data and the FEC data (frame 204) beyond requested segment.It is to be appreciated that the operation described in fig. 2 Potentially it is related to:Part steps associated with a frame are performed to hand over the other parts step from other frames in time It knits.For example, performing the part sub-step of frame 206 can hand over performing the part sub-step of frame 203,204 and 205 in time It knits.
Although request may increase the data volume by network transmission beyond the FEC data of the data of requested segment, But each grouping of data can (for example, some packets may be delayed by, and other data be divided in different time arrival Group is delivered more in time).Each combination of requested fragment data and FEC data can be used for recovering segment.Therefore, Realize that the embodiment of the RM 121 of RM fixation FEC technologies can be using the recovery being enough to provide to segment received earliest herein Data (the either combinations of fragment data or fragment data and FEC data) recover segment.Therefore RM 121 can be rapid Recover segment and provide it to consumption (frame 205) of the UA 129 for content in ground.
Additionally or alternatively, the RM of embodiment may be adapted on requested segment come automatically determine will use how much FEC data.Therefore, in the replacement for fixing FEC configurations in RM, the RM 121 of embodiment may be adapted to using only FEC data not come Help recovers segment, and how many FEC used to automatically determine on segment, thus provides realization and is claimed herein For the configuration of the RM 121 of the FEC data techniques of the automatic FEC of RM.In some cases, for a variety of reasons, the automatic FEC of RM The realization of technology may be more more desirable than RM fixations FEC technologies.Particularly, the automatic FEC technologies of the RM of embodiment are by request The amount of FEC data is automatically adjusted to recover the amount of the required FEC data of each segment.Therefore, make what is downloaded for segment Data volume minimizes, this usually require that on average than RM fix FEC (when the amount of FEC to be used by UA come when determining) it is less Whole downloading data.The timely delivering to requested segment can be maximized using the automatic FEC of RM, while usually carried For good as fixing FEC with RM or preferably delivering in time.In addition, because the FEC data to be asked amount be by RM automatically Definite, so UA need not specify the amount of FEC to be used or be incorporated to any FEC logic units.This simplifies and reduces pair The requirement of UA, and usually make the automatic FEC methods of RM that can broadly be applied to different UA and configure (e.g., including not comprising nothing The UA of any FEC logic units of FEC data configurations are asked or decode by being).
The operation of the automatic FEC technologies of RM according to the embodiment is shown as stream 300 in figure 3.It is real herein in order to help to understand The concept of the automatic FEC technologies of RM of example is applied, the automatic FEC technologies of RM are described as fixing RM provided above to the opinion of FEC technologies The extension stated.Therefore, such as to fix FEC technologies above for RM described, for the automatic FEC technologies of RM described herein, Assuming that the request (frame 301) for segment F just has been made in UA 129, and therefore F is initially movable and qualified 's.
In the operation according to shown embodiment, RM 121 obtains associated with fragment request suitable for use The information (frame 302) of the redundancy encoding content-data of equivalent.Such information can include the content number with requested segment According to the mark in the source of corresponding FEC data and for the other information by RM 121 using FEC data.For example, working as will be directed to When the request of segment F is supplied to RM 121, on matching FEC segments R and symbol size T information can be it is available or It can determine in other ways.Although UA 129 can provide (for example, at frame 301) on using FEC data to RM 121 It is some useful information, but the RM 21 of embodiment can operate to determine or obtain in other ways to be used to utilize FEC The information of data.For example, UA 129 can provide FB (it is the size in units of byte of segment F), and RM can basis FB automatically derives the size RB in units of byte of corresponding FEC segments R (for example, using such as entitled The United States Patent (USP) of " ENHANCED BLOCK-REQUEST STREAMING USING COOPERATIVE PARALLEL HTTP " The technology for showing and describing in patent application serial numbers 12/887,495, accordingly by the mode of reference by the disclosure of above-mentioned application It is incorporated herein.)
Alternatively, the value of FB can be obtained in response to being directed at least part of request of F or R.It can be according to the big of F Small FB automatically determines to carry out F the size T of the symbol of FEC codings and fec decoder.For example, in FEC encoder and Both DEC decoders places, which derive T as the maximum in T={ 4, floor (FB/2048) }, ensures identical symbol size It is used to code and decode and if FB is at least 8 kilobytes, the quantity for the source symbol that F is divided into be at least 2048.This may insure most 0.1% waste that there are the data received in each response to receiving data, institute State waste be as receive may be partial symbols useless for fec decoder caused by.For example, to being directed to bytes range The response of the block request of F can include most two partial symbols in the response, and (one at the beginning of response, one at the end of Place, wherein, whole intermediate response data include complete symbols), if wherein these parts symbol is not received in other responses Number remainder, then described two partial symbols may be useless for fec decoder, and if FB is at least 8 K words Section, the then partial symbols for often responding 2 wastes include up to the 2/2048=0.1% of segment F.
According to embodiment, RM 121 can need not automatically generated in the case of any input from UA 129 The URL of FEC segments R or the other information suitable for identifying and accessing FEC data.Such as in embodiments discussed above, it can make Request of data size is the bytes several again of T, the request of the last part except being directed to F (when FB is not the multiple of T or Until person's up-to symbol size T is known, for example, once in response to FB is determined for the request of data transmitted by segment F, Can T be determined based on FB).In the case where RM 121 is without using FEC, embodiment can set T=1, until T value Until knowing.Alternatively, all requests can be made all to be not based on T byte-aligneds, i.e. actually T=1 please for total data It asks, and then for the purpose (if fec decoder for recover segment) of fec decoder, RM 121 will be received in the response Data are internally divided into symbol.
In the operation of the automatic FEC technologies of RM according to this paper, the operations of RM 121 are wanted for dynamically and automatically definite How much request exceeds the data (frame 303) of the segment of request.Fragment request or close to fragment request time make it is such It determines, is determined with thus dynamically providing on extra data, it is described to determine on being relatively simultaneous net with fragment request Network situation and/or other situations are timely.It is used at other times (such as however, embodiment can be operated additionally or alternatively It is determined as the desired time) make such determine.It is to be appreciated that for appropriate redundancy encoding content-data Information one or more parameters can by RM 121 be used for dynamically determine to ask how much beyond request segments numbers According to.
The embodiment of the automatic FEC technologies of RM of this paper is realized to determine the data that ask how much to exceed the segment of request One or more processes, fix FEC technologies (for example, predetermined using changing according to Network status with RM discussed above Default value (factor X)) realize those processes it is same or like.The automatic FEC technologies of RM according to the embodiment, for segment by what When request as extra data condition may be different from RM fix FEC technologies.Particularly, RM fixes the implementation of FEC technologies Example operation exceeds the data of requested segment for equably request (for example, request is for the such additional of each segment Data), and the operation of the embodiment of the automatic FEC technologies of RM is for dynamically determining when will ask and how much ask beyond asking The data (for example, such extra data is asked based on Network status) for the segment asked.
The RM 121 of embodiment can be using request fragments data (for example, asking) as one or more blocks, and works as true Surely it is where appropriate, RM 121 can ask the extra data (frame 303) beyond fragment data from CM 122.According to the embodiment In the operation of the automatic FEC technologies of RM, on by when ask and ask how much the data in addition to requested segment really Surely Network status is based at least partially on (for example, by the amount of the requested late data of network and/or the late degree of data Amount).
It is dynamically and automatically determined on any specific according to the example process of the RM 121 for embodiment It is appropriate that when segment, which asks extra data, and asks how many such data.It please to the data of CM 122 from RM 121 The sequence asked is defined for packet that is identification delay or being late.It for example, can to the sequence of the request of data of CM from RM To be defined as RM from the order of CM request datas, the data block more early asked accordingly will be earlier than for data in sequence The subsequent request of block.In such embodiments, sequence of the data in block request can be defined as natural ordering (that is, block First byte of request is in sequence earlier than block request with postbyte).
Using foregoing data sorting, the RM 121 of embodiment, which can be operated, to be used for:If RM has requested that data First portion, but when RM is when the second portion for the data asked after requesting the first portion of data is received, still Not yet receive the first portion of data, then it is assumed that the first portion of data is late (and may lose).For example, for RM A part for the data being received through request but not yet:If the data asked after the part of data are not yet connect by RM It receives, is then defined as " hanging up " by the part of data;And if there is it is being asked after the part of data, connect by RM The part of data then is defined as being confirmed to be " late " by the data of receipts.
It, herein can (it be to be directed to defined variable PK in addition to the variable of FEC technical definitions is fixed above for RM The data volume that segment is hung up) and LK (it is the data volume being late for segment), come with the automatic FEC technologies of RM on embodiment It uses.According to foregoing teachings it can be appreciated that can by UK (its be for segment is requested but the number of not confirmed According to total amount) be expressed as UK=PK+LK.It can (it be for segment received data amount (such as gynophore with defined variable RK Receive accurate identical data twice to segment, then it is only designated as once in RK)), with the automatic FEC of RM on embodiment Technology uses.For provided herein is example, whole aforementioned quantities are assumed to be in units of symbol to measure, although root Other units (for example, with byte or eight bit byte come measurement data amount) can be utilized according to embodiment.
In addition, the RM 121 of embodiment can track the maximum for the late data for segment seen at any point in time Amount is (for example, variable maxLK can be initialized to zero, and when then can change every time for the value of the LK of segment, again Calculate the maximum in maxLK={ LK, maxLK }).For example, according to embodiment, the maximum late data variable of such segment can Essence for making the potential alterable height of late variables L K mitigates.Alternatively, maxLK can be defined as in piece The maximum of the late data of any time point in the first front window of some of the S of section, wherein S is configurable parameter, for example, S= 10.As another modification, calculated in it maximum window can in the configurable duration in previous time or Configurable number within the duration for depending on other measurements (such as RTT) of previous time or in the request of previous block In amount.As another replacement, the value of LK can be safeguarded independently of bottom fragment structure, for example, based on RM independently of from its The segment of middle generation each block request is come the sequence of block request made.
In operation according to the embodiment, when each RM 121 receives the data for segment, the value increase of RK receives Data amount (as long as its be not previously for identical segment received by accurate identical data), the value of UK is reduced should Amount, the value reduction of PK is previously the amount of the data of hang-up, and the value reduction of LK is previously the amount of the late data.Together Sample, when RM 121 receives data, if there is the data still hung up of previous Request, then by the data of the previous Request from It is late that hang-up, which reclassifies, and the size of the data of the previous Request is subtracted and is added in LK from PK.
Fig. 4, which is shown, describes data accepted, suspension data and the time of late data and the respective value of foregoing variables Line.In the timeline of Fig. 4, RM 121 makes the request of the data block for segment to CM 122, is made first for data The request of block 1 (C1), then makes the request for data block 2 (C2), and then makes asking for data block 3 (C3) It asks.In shown example, the size of data each data block in the block is 8KB, and it is being 4 that each data block, which is, (symbol Ci.j is used to indicate the jth part of data block i) received in two separate sections of KB.Under it is to be appreciated that When the value of information portrayal shown in the timeline of texts and pictures 4 RK, PK, LK and maxLK are because RM is to being directed to the new request of data block Or RM changes to being directed to the reception of the data of the block of previous Request.
As shown in the scene represented in Fig. 4, as 121 requested data block 1 (C1) of RM, RK=0 is (because data are not yet It is received), PK=8KB (because the data block 1 that size is 8KB is hung up now), LK=0 (because data are not yet late), and MaxLK=0.At point after the first portion (C1.1) of data block 1 is received just by RM 121 on the time line, RK=4KB (because C1.1 has been received), PK=4KB (because C1.2 is hung up now), LK=0 (because data are not yet late), and MaxLK=0.As 121 requested data block 2 (C2) of RM, RK=4KB (because C1.1 has been received), PK=12KB (because C1.2, C2.1 and C2.2 are hung up now), LK=0 (because data are not yet late), and maxLK=0.Data on the time line The first portion (C2.1) of block 2 received just by RM 121 after point at, RK=8KB is (because C1.1 and C2.1 connect Receive), PK=4KB (because C2.2 is still hung up), LK=4KB (because the arrival triggering C1.2 of C2.2 is late), and maxLK =4KB.As 121 requested data block 3 (C3) of RM, RK=8KB (because C1.1 and C2.1 has been received), PK=12KB (because Still hung up for C2.2, and C3.1 and C3.2 is also hung up now), LK=4KB (because C1.2 is still late), and maxLK =4KB.At point after the first portion (C3.1) of data block 3 is received just by RM 121 on the time line, RK=12KB (because C1.1, C2.1 and C3.1 have been received), PK=4KB (because C3.2 is hung up), LK=8KB (because present C1.1 and C2.2 is late), and maxLK=8KB.The second portion (C1.2) of data block 1 is received just by RM 121 on the time line At point afterwards, RK=16KB (because C1.1, C1.2, C2.1 and C3.1 have been received), PK=4KB is (because C3.2 is hung Rise), LK=4KB (because present only C2.2 is late), and maxLK=8KB.The second portion of data block 2 on the time line (C2.2) at the point after being received just by RM 121, RK=20 KB are (because C1.1, C1.2, C2.1, C2.2 and C3.1 are It is received), PK=4KB (because C3.2 is still hung up), LK=0KB are (because C2.2 has arrived at now and there is no other Late data), and maxLK=8KB.The second portion (C3.2) of data block 3 receives it by RM 121 just on the time line At point afterwards, RK=24KB (because C1.1, C1.2, C2.1, C3.1 and C3.2 have been received), PK=0KB is not (because deposit In suspension data), LK=0KB (because there is no late data), and maxLK=0KB.
Although it is to be appreciated that in example above, all data blocks are both for individual chip, institute's table The concept shown is suitable for multiple segments.For example, when there are during multiple segments, can RK, UK, PK, LK and maxLK be safeguarded with every segment Value or can alternatively independently of from wherein generate block request segment, based on block request come safeguard these values (for example, In the window of the configurable quantity of previous block or the window of configurable quantity of previous byte or matching somebody with somebody for previous time It is calculated in the window for the duration put).However, if RM requests are directed to the first data block of the first segment and then RM Request is directed to the second data block of the second segment, then the arrival of the part of the second data block can make not yet arriving for the first data block The part reached is classified as late by RM.
Using aforementioned parameters, can make on when request data is (for example, the data of requested segment and exceed The data of requested segment) determine and ask how many data.It is to be appreciated that it can combine for fragment data Request (for example, as block request a part or associated with block request, either for block number evidence original block ask and also Repetitive requests) or as it is for data separately be requested (for example, as extra data individual requests or as ring Should in late or lose the individual requests of data) ask extra data.However, whenever RM 121 makes asking for data block When asking, it is understood that there may be the minimal size data block (for example, 4KB, 8KB etc.) specified, the size that this may for example depending on segment Or the value of schunk (schunk is adapted for the target data block request size of CM 122).
In the operation according to the automatic FEC realization methods of basic RM, as long as meeting RK+PK<The condition of K+XK is (as long as i.e., The size that data volume received for segment and hang-up is no more than segment adds XK, it is possible to which making another data block please Ask), RM 121 can (for example, in frame 303 of Fig. 3) ask more to be directed to particular patch according to aforementioned network condition parameter The data of section.For example, RM 121 can set the value of XK and CM 122 to deliver data to RM 121 independently of Network status One-piece pattern.For the automatic FEC technologies of the RM of embodiment, the value of XK can be automatically set to small value (for example, XK can by RM With the reckling being arranged in { 4KB, 0.004K }, XK can be configured to schunk, and XK can be configured to 0 etc.).
In the operation according to the automatic FEC realization methods of more robust RM, LK is added on every one side of foregoing inequality (recalling UK=PK+LK), condition can be written as RK+UK<K+XK+LK for segment (as long as, receiving and request Data volume is no more than the size K of segment, in addition the additive constant quantity XK of the byte of the size of segment, in addition for the late of segment The amount LK of data, it is possible to make another data block request), the value of LK is provided because of the requested data being late accordingly It measures and allows (for example, in frame 303) how many extra data asked.In the modification of foregoing teachings, the automatic FEC realization methods of RM Embodiment can be provided in wherein allow RM 121 ask for segment extra data operation, as long as meeting RK+UK<K+ The condition of XK+ α LK, wherein α are the constants (for example, α=0.5, α=1 or α=3) suitably selected.Using at any point in time The maximum for the late data for segment seen, in aforementioned condition, maxLK may be used to the potential of late variables L K The essence mitigation of ground alterable height.In such embodiments, as long as meeting RK+UK<The condition of K+XK+ α maxLK, so that it may To allow the requests of RM 121, for the extra data of segment, wherein α is the constant suitably selected (for example, α=0.5, α=1 or α =1.5).Alternatively, as long as meeting RK+UK<The condition of K+XK+ α FBmaxLK/W, it is possible to RM 121 be allowed to ask pin To the extra data of segment, wherein FB is the size of segment and W is the byte window of measurement maxLK in it.
On foregoing teachings, it is to be appreciated that be classified as late data and (and number be therefore included in LK According to size) be substantially temporarily can be regarded as lose data data.When suspension data becomes late, by the big of the data It is small to subtract and be added in LK from PK, according to the specified conditions being described above, this can potentially allow for for the segment come Ask more data.As soon as however, receive the data being late of any request, its size is added in RK and from LK In subtract, and be therefore classified as late any data in a short period of time will be only in the short time period from RK+PK It loses (only contributing LK in the short time period).According to the aforementioned condition for using LK, the only slightly late data of reception will only Contribute in a short period of time LK (if for example, first data are determined as being late in some time t, and then data when Between t+X reach, then the data contribute LK during being all in the period between t and t+X).If for example, X=RTT, wherein RTT is current round trip time, then data will only contribute LK in RTT.Therefore, if DR is the present rate for receiving data, and And data are unordered receptions only in an at most RTT, then LK is at most DRRTT at any point in time.Therefore, according to reality Example is applied, the value of LK quantifies to allow how many extra data asked due to late data at any time.Particularly, make in foregoing realization In embodiment with the condition of LK, the value of LK is to fix FEC technologies using the automatic FEC technologies comparison RM of RM and how much allow request Difference between extra data, this is as caused by the adjust automatically of the amount of the data being late for request.
If the data of request are only late in a short period of time, even if most of data are at least some period It is inside classified as being late, until it is received (if it is once received), and therefore slightly disorderly be received.Root According to embodiment, the additional data volume asked due to late data is typically small (that is, the value of LK will be typically small).So And as the data of request are still the increase of late time quantum, there will be more unsolved requests at every point of time But late data, and therefore the value of LK will usually increase it is (that is, more significant when the order that there are the data received During difference, the then usual bigger of the value of LK), and therefore, because be late data due to allow the amount of data of request that will increase.In basis In the operation of embodiment, the arrival of late data more postpones, and late data are to allowing the influences of the data of the additional request of request It is bigger.According to embodiment, if the data of request are permanently lost, the size of the data will be from it be classified as being late Remain the contribution to LK (or will keep, LK is in above-mentioned window in time window or byte window or block window or segment window Calculate), and hereafter will allow to ask extra data for the loss data.
Compared with RM fixes FEC technologies, the value of XK is arranged to much smaller value generally directed to RM automatic FEC technologies, this Be because its for different purposes.FEC technologies are fixed for the RM of embodiment, what the value of XK determined to ask exceeds The amount of the extra data of (UK) is not yet received through being received (RK) or having requested that.Therefore, FEC is fixed for this RM Technology, generally according to the following value for considering to set XK:Such as it is expected that how many non-ordered data received, some data in data will It how slowly is reached compared with other data, how many data etc. is lost.Therefore, typically the one of FEC technologies is fixed using for RM A little extraneous informations (as shown in pseudocode above) set the value of XK.However, for the automatic FEC technologies of RM of embodiment, LK Value (value of the PK value smaller LK than the value of UK) provide to non-ordered data, some data are more slowly reached than other data, with And lose the explanation of data.Therefore, the role for the XK of the automatic FEC technologies of RM of embodiment is to ensure that request beyond real Need to recover some data of segment, to ensure if some data in the data for segment of last-minute plea are delayed It is slow to reach, then these data are classified as late.That is, by the last XK bytes of request data, when it is reached, then any elder generation The slow data for reaching or losing of preceding request will be classified as being late, therefore potentially triggering is directed to the slow arrival or loss The additional request of data.For this reason, automatically the value of XK can be set for the automatic FEC technologies of RM of embodiment For small fixed value.
In the wherein situation of RM request fragments sequence, the RM 121 of embodiment can calculate the statistics to multiple segments, It can determine how many data asked for each segment by RM.For example, it is in multiple continuous fragments to make avgmaxLK Window in per segment average maximum late data.In operation according to the embodiment, as long as meeting RK+UK<K+XK+α· The condition of avgmaxLK, it is possible to which allowing the requests of RM 121, wherein α is the constant suitably selected for the extra data of segment (for example, α=0.5, α=1 or α=1.5).According to embodiment, can be updated using the weighted moving average of maxLK The value of avgmaxLK, wherein maxLK are the values for current clip (for example, avgmaxLK is updated to avgmaxLK=β AvgmaxLK+ (1-β) maxLK, wherein β is the constant suitably selected (for example, β<1)).Alternatively, embodiment is updated The value of avgmaxLK can realize logic, wherein, if maxLK>AvgmaxLK, then avgmaxLK=β 1avgmaxLK+ (1-β 1) maxLK, and if maxLK≤avgmaxLK, avgmaxLK=β 2avgmaxLK+ (1-β 2) maxLK, In 0<β2<β1<1.The other examples for the average logical that can be realized according to embodiment hereof are will be in past continuous fragment The 95th percentile (or any other appropriate percentile) of the value of maxLK in Moving Window is used for current clip.
Another example of the operation of the amounts of data that RM 121 determines when to ask and ask is lifted, for late data, RM can track the late of the data, and decision-making can be based on by RM accordingly:Whether data late can be based at least partially on To be directed to the more data of fragment request.For example, the late of data can be calculated as being classified as the late time in data The byte quantity for the data that point receives afterwards.Another example is lifted, the late of data can be calculated as having been connect in data Receive the byte quantity for the data asked afterwards.Can based on each part of late data it is late come calculate its weight because Son.For example, if the late of a part of late data is LB bytes, the weight of the late part of data can be counted It calculates as 1+LB/K.Another example is lifted, the weight of the late part of data can be calculated as eLB/K.Again as one example, The weight of the late part of data can be calculated as 2-e-LB/UK.Regardless of for calculating the particular technology of weight, always weigh Weight wtL can be calculated as the summation of all weights of late data.In operation according to the embodiment, as long as meeting RK+UK <The condition of K+XK+wtL, it is possible to allow extra data of the requests of RM 121 for segment.It, can be with according to alternative embodiment With the wtL at present in the maximum replacement aforementioned condition of the wtL of segment.
The certain logic of amount regardless of the data that is used to determine when to ask and ask, according to being shown in Fig. 3 In the operation of the automatic FEC technologies of RM of the embodiment of stream 300, RM 121 is asked in response to segment and extra data request to receive The content-data for the segment asked and the FEC data (frame 304) beyond requested segment.FEC technologies are fixed with RM above Equally, realizing the embodiment of the RM 121 of the automatic FEC technologies of RM herein can use what is received earliest to be enough to provide to segment The data (the either combinations of fragment data or fragment data and FEC data) of recovery recover segment.In addition, by being based on Network status (for example, the amount of late data and the data of request is late) is on any specific fragment to dynamically adjust No request and how many FEC data are asked, can made by the way that the increase of the data volume of network transmission is minimized or optimization.RM 121 because This can promptly recover segment in the case of with the minimum influence to network congestion, and provide it to UA 129 with For the consumption (frame 305) of content.
In the modification of the automatic FEC configurations of RM, the RM 121 of embodiment may be adapted to not only automatically determine on segment How many FEC are used, and operate to automatically determine the URL of FEC segments, realization is thus provided and is claimed herein For the configuration of the RM 121 of the FEC data techniques of the automatic FEC+URL of RM.In the embodiment according to the automatic FEC+URL technologies of RM In operation, RM 121 determines the URL of FEC segments automatically according to the URL of the UA source segments provided.The RM of embodiment is automatic FEC+URL technologies further include:RM 121 determines the size for the symbol of FEC coding and decodings (for example, RM is based on the big of segment Small to automatically determine symbol size to be used, RM reads the first portion of FEC segments, wherein, symbol size is in FEC pieces It is obtainable etc. in the lead code of section).It is to be appreciated that any UA configurations can use the automatic FEC+URL skills of RM Art, the UA including any FEC semantemes not used by UA or logic is (as long as example, FEC segments can be used for the requested sources of UA Segment).It is shown in FIG. 5 as that can be arranged between the UA 129 and RM 121 of the automatic FEC+URL operations of RM in fact Existing basic API.
The RM 121 that the modification of the automatic FEC+URL configurations of RM provides wherein embodiment is further adapted for automatically determining whether to make With the configuration of Redundant coded data, the RM for realizing and being referred to herein as the full automatic FEC data techniques of RM is thus provided 121 configuration.In the operation of the embodiment according to RM fully automatic techniques, the operations of RM 121 of embodiment hereof are for automatically Determine whether to use FEC data.In operation, RM 121 and CM 122 can cooperate to automatically determine (for example, for every A segment or fragment sequence) whether FEC segments be available.For example, CM 122 can send one or more for FEC segments A request, accordingly RM 121 determine its availability (for example, the HTTP request of the part to being directed to FEC segments according to response It is that the response of " not finding 404 " can serve to indicate that FEC segments are unavailable).If FEC segments are unavailable, 121 Hes of RM CM 122 can be worked on according to the technology without using FEC data.However, if it is determined that FEC segments can use, then According to this paper concepts, RM 121 and CM 122 can utilize FEC data techniques associated with fragment request (for example, realizing The automatic FEC+URL technologies of RM).Therefore, when FEC data can be used for requested segment, FEC data can be automatically by RM 121 and CM 122 is used, and when FEC data are unavailable, RM 121 and CM 122 can be in the situations without using FEC data Under still carry out operation.Therefore, any configuration of UA 129 can be in any FEC semantemes or the feelings of logic not used by UA Using RM full-automatic methods under condition, no matter whether FEC segments can use.
A kind of potential service condition of the realization method of the automatic FEC technologies of RM as described herein is to combine to be configured to use The RM 121 for being arranged to the automatic FEC of RM and operating is realized in the CM 122 of multi-link operation (for example, CM-mHTTP is configured), For using DASH or HLS, to carry out, low latency is live to transmit as a stream.
In such live streaming scenario, should make when activity is captured by video camera with corresponding activity quilt End-to-end delay between when being shown on end-user device minimizes.Live stream is encoded into the sequence of video segment, In for example each segment include the video flowing of one second.With each video segment is generated, it can be used for HTTP web page servers, DASH clients or HLS clients can be using standard HTTP/TCP come from the HTTP web page servers access fragment.More In challenging Network status, DASH or HLS clients is made to be connected using multiple HTTP/TCP, so as to providing than using Single HTTP/TCP connection carry out foradownloaded video segment and can obtainable more high quality video flowing be good.
One measurement of importance is the delay of recipient side, is defined as that video can be obtained on HTTP web page servers Time of the segment between video segment is ready to play back in final equipment.Typically, recipient side delay is end-to-end The significant contributor of delay.Therefore, it can be crucial for making end-to-end delay minimum to make recipient side delay minimization. In the realization method of embodiment hereof, DASH clients or HLS clients are UA 129, and UA using TA 120 (including RM 121 and CM 122) it is played back to provide segment, FEC data can be dynamically asked using multiple connections accordingly, with Just one receive to recover enough data (either individual fragment data or fragment datas and extra data of segment Combination), just promote recovery to segment.
From foregoing teachings it can be appreciated that outside source contents data (that is, non-redundancy codes data), transmission The embodiment of accelerator also helps speed up the delivering to source fragment request using Redundant coded data (such as FEC data).It can Such redundancy encoding is generated to use to generate any one of a variety of known technologies of Redundant coded data file Data.For example, according to the embodiments herein, well known FEC Generating Data Files technology can be utilized.For example, include in UA In the case of DASH clients, it can use such as in entitled " ENHANCED BLOCK-REQUEST STREAMING USING The technology for showing and describing in the U.S. Patent Application Serial Number 12/887,495 of COOPERATIVE PARALLEL HTTP " is come Appropriate FEC data files are generated, are incorporated herein the disclosure of above-mentioned application accordingly by the mode of reference.
It is to be appreciated that although wherein source clip file and corresponding redundancy encoding number is described herein According to the embodiment that file is sent out by identical server or server zone (for example, server 130) source, but this paper concepts are unrestricted In such embodiment.For example, the TA 120 of embodiment hereof may be adapted on Redundant coded data independent source or carry Donor operates, and is transmitted with the acceleration provided according to the data of this paper concepts.For example, content provider may not have to carry Expectation or resource for the FEC data that are directed to its content.In this case, the embodiment of RM 121 may be adapted to it is independent Third party FEC suppliers operate.The configuration for the system 600 being shown in FIG. 6 describes the concept, wherein, FEC servers 630 provide the corresponding Redundant coded data of content provided with server 130.
Herein, the configuration (such as system 600) of the independent source using Redundant coded data or supplier can be with Various ways are operated with transferring content.For example, the RM 121 of embodiment operates to send out to content provider's (server 130) Go out source request and send FEC requests to FEC suppliers (FEC servers 630).In such embodiments, FEC suppliers can Therefore independently to fetch content from content provider, FEC codings are carried out to it and send back the symbol encoded through FEC RM 121.Therefore, RM 121 can operate to immediately begin to the FEC data for fetching any resource for its request, without It is to fetch whole resource datas first, therefore avoids the delay as caused by following operation:FEC suppliers are firstly the need of the source of fetching Then segment in itself, and needs to encode data before encoded symbol is sent to source.
In using another example of the independent source of Redundant coded data or the configuration of supplier, the operations of RM 121 are used In fetching both source data and extra data via FEC suppliers (for example, FEC servers 630).In such embodiments, Therefore FEC suppliers can operate as agency, source data is fetched in itself from source supplier (for example, server 130), and Operationally calculate FEC data.The advantages of embodiment, is:Content provider need not be dealt with by FEC data is used to cause Increased business (for example, in example above, wherein, RM 121 is being carried from content provider requests' source data and from FEC Donor asks extra data, and each data segment is sent to FEC servers 630 (being encoded for FEC) and UA by content provider Both 129).
In operation according to the embodiment, FEC suppliers (for example, FEC servers 630) can provide the superfluous of simple general-purpose Remaining coding.For example, positive data encoded unit (for example, segment) only can be fixed and determined by content.Equally, FEC is accorded with Number size can be fixed and determined by content.Such embodiment can be used for reducing FEC suppliers for different clients End carry out to identical Data duplication FEC codings demand (for example, FEC suppliers can with the welcome content of cache, Therefore memory storage is exchanged for network service and calculating cost).
According to embodiment hereof, FEC suppliers can be general for UA, and UA can specify the content that it is asked accordingly Resource (for example, using URI), bytes range, symbol size etc., and FEC suppliers then can operationally generate institute The FEC codings (for example, aforementioned information can be passed to FEC content provider in URL query strings) of request.According to so Embodiment operation in, it (or so doing is unactual that FEC suppliers, which can accurately provide requested FEC data, In the case of return to error code).The advantages of such embodiment, is:UA is enable to select the ginseng for being most suitable for its service condition Number (for example, compared with being indifferent to the UA of short end-to-end delay, provide the UA of very short end-to-end delay can select it is shorter FEC protective time slots).
According to embodiment, technique described herein may be adapted to following situation:When there is no FEC suppliers, and therefore When can be without using FEC data.For example, UA can use with described same or similar algorithm to identify which is asked " late " such as asks rather than asks to use the information to re-emit the repeatable block for being directed to the late part detected FEC data.Therefore, in operation according to the embodiment, if TCP connection very slowly receives data or stops completely New data are received, then repetitive requests can contribute to obtain lost part.
Such repetitive requests may refer to the section with conventional opposite sequential storage so that acquiescence will be filled from both ends Gap.Alternatively, UA may refer to conventional section, but realize the approximate reverse to the order of response using multiple bytes ranges Turn (if for example, hole from 6KB to 10KB will need to be filled, client can use 9KB to 10KB, 8KB to 9KB, The HTTP bytes ranges of 7KB to 8KB, 6KB to 7KB, and therefore it will carry out receiving block in reverse order).For such The good block size of method will be approximately TCP MSS.
According to embodiment, client can be the block for not asking to be kept completely separate with the added technique applied similar to spirit, But the block of the data portion with overlapping is asked in a manner of proactive.If it for example, to be asked in 2 blocks in stream The part of 200KB, then UA can ask 0 to 100KB in first piece, and in second piece such as 94KB be asked to arrive 200KB, this generates the overlapping of 6KB rather than in first piece request from 0 to 100KB, and in second piece request from 100KB to 200KB.The strategy considers the following fact:In the response, the decline of block than previously is partly easier to meet with Substantial amounts of delay.If any previous TCP Segment is lost, the duplicate acknowledgment that sender is received usually will be touched fairly quickly Hair retransmits.This is not so for the TCP Segment of the ending close to transmission (for example, under those circumstances, sender may not receive Enough repeat ACKs retransmit to trigger, and therefore it will (this be typically long more times) be just heavy only when time-out occurs Pass data).In addition, any delay of the centre of block is equally easy to cause the delay of the reception of the ending to block.
The logic unit of UA can realize the strategy for reducing the lap needed.For example, UA can responded close to block " delayed ACK " is disabled during ending, therefore for last several TCP Segments, increases the possibility that server sees repeat ACK.
Intelligent server can be used for the lap for being further reduced needs.For example, the server of embodiment can be directed to The decline of transmission sends the much smaller TCP Segment of the TCP Segment more usually used than its.
Although being shown specifically and having described the aspect of selection, it is to be understood that can make wherein various It substitutes and changes, without departing from the spirit and scope of the present invention such as limited by following claims.

Claims (48)

1. a kind of be used to be accelerated content delivery to the client device by the delivery acceleration device (TA) of client device The method of user agent (UA), the described method includes:
The fragment request that the UA is provided is received by the request manager (RM) of the TA, for being asked from content server Seek content;
The amount for the redundancy encoding content-data to be asked of a fragment request in the fragment request is determined, with by described RM is used when recovering the content corresponding to the segment of the fragment request;And
It is determined to be directed to when the fragment request will ask the amount of the redundancy encoding content-data by the RM, wherein, it is described It determines when to that the amount of the redundancy encoding content-data is asked to include:As the first data in fruit block have been asked by the RM But be not yet received, and at least some second data are requested and have been received after first data, then First data are classified as by the RM and are late in particular point in time,
Wherein, the amount for the redundancy encoding content-data to be asked of segment is based on connecing in the block for the segment During receipts, for the segment concomitantly be late data it is the maximum amount of.
2. according to the method described in claim 1, wherein, the redundancy encoding content-data is encoded including forward error correction (FEC) Data.
3. according to the method described in claim 2, wherein, the RM to the RM received datas using fec decoder, so as to Recover the content of the fragment request made by the UA and provide the corresponding segment recovered to the UA.
4. according to the method described in claim 1, wherein, hypertext transfer protocol/transmission control protocol (HTTP/TCP) is used for The content and the redundancy encoding content-data are asked, and for being transmitted in response to the request from the content server Content.
5. according to the method described in claim 4, wherein, resource identification information associated with the fragment request is used to determine For the HTTP request of a part for redundancy encoding contents fragment, a part for the redundancy encoding contents fragment is used to provide institute State at least a portion of redundancy encoding content-data.
6. it according to the method described in claim 1, further includes:
Multiple pieces of requests are determined based on one fragment request in the fragment request by the RM, wherein, it is described more At least one block request in a block request includes:For the segment corresponding to the fragment request a part please It asks, and wherein, at least another block request in the multiple piece of request includes:For with corresponding to the fragment request The request of a part for the associated redundancy encoding contents fragment of segment.
7. it according to the method described in claim 6, further includes:
By the RM via multiple connections that the connection manager (CM) of the TA is managed come concurrently from the content service Device asks two or more blocks request in the multiple piece of request.
8. according to the method described in claim 7, wherein, come via the first connection in the multiple connection to content server The request of the part for the requested segments of the UA is made, and via second in the multiple connection It connects to make the request of the part for the redundancy encoding contents fragment to redundancy encoding content data server, Wherein, the content server and the redundancy encoding content data server are separated and independent servers.
9. according to the method described in claim 1, wherein, as long as the total amount of the data for the segment received is plus The amount for the data for the segment that request still not yet receives adds in the additive constant quantity of the byte of the size of the segment On until sometime put for the segment concomitantly be late data the maximum within, the RM is adapted to make pin The additional block of the segment is asked.
It is 10. described to determine for the redundancy encoding content-data to be asked of segment according to the method described in claim 1, wherein Amount include:
Based on the data not received fast enough for the segment previous Request, to determine for the volume to be asked of the segment Outer redundancy encoding content-data, wherein, although when the data of previous Request reach, the amount foot of the data of the previous Request So that the RM recovers the segment completely, and although will all be received by the RM in the data of the previous Request, It also determines to ask the additional redundancy encoding content-data.
It is 11. described to determine for the redundancy encoding content to be asked of fragment request according to the method described in claim 1, wherein The amount of data is at least partially based on current network conditions.
12. according to the method for claim 11, wherein, the current network conditions include:According to current downloading rate (R) The definite bandwidth-delay product with current round trip time (RTT).
It is 13. described to determine for the redundancy encoding content to be asked of fragment request according to the method described in claim 1, wherein The amount of data includes:
Determine the total amount for the data to be asked of the fragment request, the total amount of the data includes the redundancy encoding content The amount of the amount of data and content-data without Error Correction of Coding.
14. it according to the method described in claim 1, further includes:
Redundancy encoding associated with each fragment requests in multiple fragment requests that is being asked is dynamically adjusted by the RM The amount of content-data.
15. it according to the method described in claim 1, further includes:
Determine whether to ask any specific fragment in the fragment request provided with the UA to ask phase by the RM Associated redundancy encoding content-data.
16. according to the method for claim 15, wherein, the request redundancy encoding content-data that determines whether to includes:
Determine that redundancy encoding content-data can be used in the fragment requests that are provided of the UA by the TA one or more A segment.
17. according to the method described in claim 1, wherein, the UA does not include for patrolling using redundancy encoding content-data Collect unit.
18. according to the method for claim 17, wherein, the redundancy encoding content-data is compiled including forward error correction (FEC) Code data.
19. a kind of be arranged to be accelerated content delivery to the client by the delivery acceleration device (TA) of client device The device of the user agent (UA) of equipment, described device include:
For receiving the fragment request that the UA is provided by the request manager of the TA (RM), for from content service The unit of device request content;
For determining the amount for the redundancy encoding content-data to be asked of a fragment request in the fragment request, with by The unit that the RM is used when recovering the content corresponding to the segment of the fragment request;And
For determining the unit of the amount of the redundancy encoding content-data when is asked for the fragment request by the RM, Wherein, the unit of the amount for being used to determine when to ask the redundancy encoding content-data includes:For as in fruit block First data are asked by the RM but are not yet received, and at least some second data are after first data It is requested and has been received, then first data are classified as the unit being late in particular point in time by the RM,
Wherein, the amount for the redundancy encoding content-data to be asked of segment is based on connecing in the block for the segment During receipts, for the segment concomitantly be late data it is the maximum amount of.
20. device according to claim 19, wherein, the redundancy encoding content-data is compiled including forward error correction (FEC) Code data.
21. device according to claim 20, wherein, the RM uses fec decoder to the RM received datas, with Just recover the content of the fragment request made by the UA and recovered segment is provided to the UA.
22. device according to claim 19, wherein, hypertext transfer protocol/transmission control protocol (HTTP/TCP) is used In the request content and the redundancy encoding content-data, and for being passed in response to the request from the content server Defeated content.
23. device according to claim 22, wherein, resource identification information associated with the fragment request is for true Surely the HTTP request of a part for redundancy encoding contents fragment is directed to, a part for the redundancy encoding contents fragment is used to provide At least a portion of the redundancy encoding content-data.
24. device according to claim 19, further includes:
For determining the unit of multiple pieces of requests based on one fragment request in the fragment request by the RM, In, at least one block request in the multiple piece of request includes:For one of the segment corresponding to the fragment request Partial request, and wherein, at least another block request in the multiple piece of request includes:For with corresponding to described The request of a part for the associated redundancy encoding contents fragment of the segment of section request.
25. device according to claim 24, further includes:
For by the RM via multiple connections that the connection manager (CM) of the TA is managed come concurrently from the content Server asks the unit of two or more blocks request in the multiple piece of request.
26. device according to claim 25, wherein, come via the first connection in the multiple connection to content service Device makes the request of the part for the requested segments of the UA, and via in the multiple connection Two connections are asked to be made to redundancy encoding content data server for described in a part for the redundancy encoding contents fragment It asks, wherein, the content server and the redundancy encoding content data server are separated and independent servers.
27. device according to claim 19, wherein, as long as the total amount of the data for the segment received adds The amount for the data for the segment for having requested that but not yet receiving is in the additive constant quantity of the byte of the size of the segment In addition until sometime putting within the maximum of data of being concomitantly late for the segment, the RM is adapted to make It is asked for the additional block of the segment.
28. device according to claim 19, wherein, it is described to be directed to the redundancy encoding content to be asked of segment for definite The unit of the amount of data includes:
For based on the data not received fast enough for the segment previous Request, to be asked to determine to be directed to the segment Additional redundancy encoding content-data unit, wherein, although when previous Request data reach when, the previous Request The amount of data is enough to recover the segment completely for the RM, and although in the data of the previous Request all will be by institute RM receptions are stated, also determine to ask the additional redundancy encoding content-data.
29. device according to claim 19, wherein, it is described to be directed to the redundancy encoding to be asked of fragment request for definite The unit of the amount of content-data includes:
The unit of the amount of redundancy encoding content-data is determined for being based at least partially on current network conditions.
30. device according to claim 29, wherein, the current network conditions include:According to current downloading rate (R) The definite bandwidth-delay product with current round trip time (RTT).
31. device according to claim 19, wherein, it is described to be directed to the redundancy encoding to be asked of fragment request for definite The unit of the amount of content-data includes:
For determining the unit of the total amount for the data to be asked of the fragment request, the total amount of the data is including described superfluous The amount of the amount of remaining coded content data and content-data without Error Correction of Coding.
32. device according to claim 19, further includes:
For dynamically adjusting redundancy associated with each fragment requests in multiple fragment requests that is being asked by the RM The unit of the amount of coded content data.
33. device according to claim 19, further includes:
For determining whether to ask any specific fragment in the fragment request provided with the UA please by the RM Seek the unit of associated redundancy encoding content-data.
34. device according to claim 33, wherein, it is described to be used to determine whether redundancy encoding content-data to be asked Unit includes:
For determine that redundancy encoding content-data can be used in the fragment requests that are provided of the UA by the TA one Or the unit of multiple segments.
35. device according to claim 19, wherein, the UA does not include for patrolling using redundancy encoding content-data Collect unit.
36. device according to claim 35, wherein, the redundancy encoding content-data is compiled including forward error correction (FEC) Code data.
37. a kind of non-transitory computer-readable medium, the non-transitory computer-readable medium, which has, to be recorded on it Program code, said program code make device carry out following operation when executed:
The fragment request that user agent (UA) is provided is received by the request manager (RM) of delivery acceleration device (TA), for From content server request content;
The amount for the redundancy encoding content-data to be asked of a fragment request in the fragment request is determined, with by described RM is used when recovering the content corresponding to the segment of the fragment request;And
It is determined to be directed to when the fragment request will ask the amount of the redundancy encoding content-data by the RM, wherein, it is described It determines when to that the amount of the redundancy encoding content-data is asked to include:
It is received as the first data in fruit block are asked by the RM but not yet, and at least some second data are in institute It states the first data to be requested and be received afterwards, then first data is classified as in particular point in time by the RM Place is late,
Wherein, the amount for the redundancy encoding content-data to be asked of segment is based on connecing in the block for the segment During receipts, for the segment concomitantly be late data it is the maximum amount of.
38. the non-transitory computer-readable medium according to claim 37, wherein, said program code be additionally included in by Device is made to carry out the program code of following operation during execution:
Multiple pieces of requests are determined based on one fragment request in the fragment request by the RM, wherein, it is described more At least one block request in a block request includes:For the segment corresponding to the fragment request a part please It asks, and wherein, at least another block request in the multiple piece of request includes:For with corresponding to the fragment request The request of a part for the associated redundancy encoding contents fragment of segment.
39. the non-transitory computer-readable medium according to claim 37, wherein, it is described to be wanted for definite for segment The program code of the amount of the redundancy encoding content-data of request includes the program generation that device is made to carry out following operation when executed Code:
Based on the data not received fast enough for the segment previous Request, to determine for the volume to be asked of the segment Outer redundancy encoding content-data, wherein, although when the data of previous Request reach, the amount foot of the data of the previous Request So that the RM recovers the segment completely, and although will all be received by the RM in the data of the previous Request, It also determines to ask the additional redundancy encoding content-data.
40. the non-transitory computer-readable medium according to claim 37, wherein, it is superfluous by upon execution determining device The program code of the amount of remaining coded content data is to determine the amount for the redundancy encoding content-data to be asked of fragment request It is based at least partially on current network conditions.
41. the non-transitory computer-readable medium according to claim 37, wherein, said program code be additionally included in by Device is made to carry out the program code of following operation during execution:
Redundancy encoding associated with each fragment requests in multiple fragment requests that is being asked is dynamically adjusted by the RM The amount of content-data.
42. the non-transitory computer-readable medium according to claim 37, wherein, said program code be additionally included in by Device is made to carry out the program code of following operation during execution:
Determine whether to ask any specific fragment in the fragment request provided with the UA to ask phase by the RM Associated redundancy encoding content-data.
43. a kind of be used to be accelerated content delivery to the client device by the delivery acceleration device (TA) of client device The device of user agent (UA), described device include:
At least one processor:And
Memory is coupled at least one processor, wherein, at least one processor is configured as:
The fragment request that the UA is provided is received by the request manager (RM) of the TA, for being asked from content server Seek content;
The amount for the redundancy encoding content-data to be asked of a fragment request in the fragment request is determined, with by described RM is used when recovering the content corresponding to the segment of the fragment request;And
It is determined to be directed to when the fragment request will ask the amount of the redundancy encoding content-data by the RM, wherein, it is described It is configured to determine that at least one processor for the amount that when ask the redundancy encoding content-data is additionally configured to:If The first data in block are asked by the RM but are not yet received, and at least some second data are in the described first number According to being requested and being received afterwards, then first data are classified as by the RM and are late in particular point in time,
Wherein, the amount for the redundancy encoding content-data to be asked of segment is based on connecing in the block for the segment During receipts, for the segment concomitantly be late data it is the maximum amount of.
44. device according to claim 43, wherein, at least one processor is additionally configured to:
Multiple pieces of requests are determined based on one fragment request in the fragment request, wherein, the multiple piece of request In at least one block request include:For the request of a part for the segment corresponding to the fragment request, and its In, at least another block request in the multiple piece of request includes:For with the segment corresponding to the fragment request The request of a part for associated redundancy encoding contents fragment.
45. device according to claim 43, wherein, it is configured as that code is programmed to determine to ask for segment At least one processor of the amount for the redundancy encoding content-data asked is additionally configured to:
Based on the data not received fast enough for the segment previous Request, to determine for the volume to be asked of the segment Outer redundancy encoding content-data, wherein, although when the data of previous Request reach, the amount foot of the data of the previous Request So that the RM recovers the segment completely, and although will all be received by the RM in the data of the previous Request, It also determines to ask the additional redundancy encoding content-data.
46. device according to claim 43, wherein, it determines to want for fragment request by least one processor The amount of the redundancy encoding content-data of request is at least partially based on current network conditions.
47. device according to claim 43, wherein, at least one processor is additionally configured to:
Redundancy encoding associated with each fragment requests in multiple fragment requests that is being asked is dynamically adjusted by the RM The amount of content-data.
48. device according to claim 43, wherein, at least one processor is additionally configured to:
Determine whether to ask any specific fragment in the fragment request provided with the UA to ask phase by the RM Associated redundancy encoding content-data.
CN201580014340.2A 2014-03-18 2015-03-17 Realize the delivery acceleration device and transmission method of the selective use of redundancy encoding content-data function Expired - Fee Related CN106134150B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461954987P 2014-03-18 2014-03-18
US61/954,987 2014-03-18
US14/289,458 US9350484B2 (en) 2014-03-18 2014-05-28 Transport accelerator implementing selective utilization of redundant encoded content data functionality
US14/289,458 2014-05-28
PCT/US2015/021019 WO2015142888A1 (en) 2014-03-18 2015-03-17 Transport accelerator implementing selective utilization of redundant encoded content data functionality

Publications (2)

Publication Number Publication Date
CN106134150A CN106134150A (en) 2016-11-16
CN106134150B true CN106134150B (en) 2018-05-22

Family

ID=54143076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580014340.2A Expired - Fee Related CN106134150B (en) 2014-03-18 2015-03-17 Realize the delivery acceleration device and transmission method of the selective use of redundancy encoding content-data function

Country Status (6)

Country Link
US (1) US9350484B2 (en)
EP (1) EP3120475A1 (en)
JP (1) JP6147939B1 (en)
KR (1) KR101698038B1 (en)
CN (1) CN106134150B (en)
WO (1) WO2015142888A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794311B2 (en) * 2014-03-18 2017-10-17 Qualcomm Incorporated Transport accelerator implementing extended transmission control functionality
US10878457B2 (en) 2014-08-21 2020-12-29 Oracle International Corporation Tunable statistical IDs
US10498368B2 (en) * 2015-11-02 2019-12-03 Mk Systems Usa Inc. Dynamic client-side selection of FEC information
CN106993016B (en) * 2016-07-20 2019-04-02 平安科技(深圳)有限公司 Network request and the treating method and apparatus of response
US11516277B2 (en) 2019-09-14 2022-11-29 Oracle International Corporation Script-based techniques for coordinating content selection across devices
CN112969090A (en) 2019-12-03 2021-06-15 华为技术有限公司 HTTP request transmission method and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038034A1 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel http and forward error correction
WO2013067219A3 (en) * 2011-11-01 2013-07-11 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among http servers
WO2013130473A1 (en) * 2012-02-27 2013-09-06 Qualcomm Incorporated Improved dash client and receiver with a download rate estimator

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990069B1 (en) 1997-02-24 2006-01-24 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
WO2002017637A1 (en) 2000-08-25 2002-02-28 Matsushita Electric Industrial Co., Ltd. Data transmission method and data relay method
US6745364B2 (en) * 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
US7502860B1 (en) 2001-07-09 2009-03-10 Cisco Technology, Inc. Method and apparatus for client-side flow control in a transport protocol
US7515612B1 (en) * 2002-07-19 2009-04-07 Qlogic, Corporation Method and system for processing network data packets
EP1671424B1 (en) 2003-10-08 2012-06-06 Digital Fountain, Inc. Fec-based reliability control protocols
US8296436B2 (en) * 2004-03-22 2012-10-23 Nokia Corporation Conveying parameters for broadcast/multicast sessions via a communication protocol
US8676882B2 (en) 2007-02-27 2014-03-18 Sony Corporation System and method for preloading content segments to client devices in an electronic network
US8929360B2 (en) * 2006-12-07 2015-01-06 Cisco Technology, Inc. Systems, methods, media, and means for hiding network topology
US8667018B2 (en) * 2008-08-08 2014-03-04 Oracle International Corporation Method and system for optimizing row level security in database systems
US8434087B2 (en) * 2008-08-29 2013-04-30 International Business Machines Corporation Distributed acceleration devices management for streams processing
US20100094962A1 (en) 2008-10-15 2010-04-15 Patentvc Ltd. Internet backbone servers with edge compensation
US9369516B2 (en) * 2009-01-13 2016-06-14 Viasat, Inc. Deltacasting
US20140040353A1 (en) * 2009-01-13 2014-02-06 Viasat, Inc. Return-link optimization for file-sharing traffic
US9655003B2 (en) 2009-03-19 2017-05-16 Georgia Tech Research Corporation Systems and methods for improved wireless interface aggregation
JP5389528B2 (en) * 2009-05-19 2014-01-15 株式会社日立国際電気 Network decoder device
US20120327779A1 (en) 2009-06-12 2012-12-27 Cygnus Broadband, Inc. Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
US9015564B2 (en) 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
CN101719809B (en) 2009-11-25 2012-10-10 中兴通讯股份有限公司 Method and system for recovering lost media data packet
EP2362651A1 (en) 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
US8396126B2 (en) 2010-06-18 2013-03-12 Cisco Technology, Inc. Systems and methods for video coding and transmission
US8898324B2 (en) * 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
US8954490B2 (en) * 2010-06-24 2015-02-10 International Business Machines Corporation Speculative and coordinated data access in a hybrid memory server
CN102143137A (en) 2010-09-10 2011-08-03 华为技术有限公司 Method, device and system for transmitting and receiving media streams
US8750188B2 (en) 2010-12-01 2014-06-10 Deutsche Telekom Ag System support for accessing and switching among multiple wireless interfaces on mobile devices
US8873385B2 (en) 2010-12-07 2014-10-28 Microsoft Corporation Incast congestion control in a network
US11025962B2 (en) 2011-02-28 2021-06-01 Adobe Inc. System and method for low-latency content streaming
KR20130005873A (en) 2011-07-07 2013-01-16 삼성전자주식회사 Method and apparatus for receiving contents in broadcast system
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
EP2566172A1 (en) 2011-09-02 2013-03-06 Thomson Licensing Method and apparatus for adaptive transcoding of multimedia stream
US9182935B2 (en) 2011-09-27 2015-11-10 Z124 Secondary single screen mode activation through menu option
US8897753B2 (en) 2011-10-12 2014-11-25 Motorola Mobility Llc Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system
EP2615790A1 (en) 2012-01-12 2013-07-17 Alcatel Lucent Method, system and devices for improved adaptive streaming of media content
US9401968B2 (en) 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US9503490B2 (en) 2012-02-27 2016-11-22 Qualcomm Incorporated Dash client and receiver with buffer water-level decision-making
US20130227102A1 (en) 2012-02-29 2013-08-29 Alcatel-Lucent Usa Inc Chunk Request Scheduler for HTTP Adaptive Streaming
US9009260B2 (en) 2012-05-10 2015-04-14 Blackberry Limited Method, system and apparatus for transferring data via more than one communications interface
US10009445B2 (en) 2012-06-14 2018-06-26 Qualcomm Incorporated Avoiding unwanted TCP retransmissions using optimistic window adjustments
KR102164457B1 (en) 2013-04-25 2020-10-14 삼성전자주식회사 Electronic device for multiple radio access and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038034A1 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel http and forward error correction
WO2013067219A3 (en) * 2011-11-01 2013-07-11 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among http servers
WO2013130473A1 (en) * 2012-02-27 2013-09-06 Qualcomm Incorporated Improved dash client and receiver with a download rate estimator

Also Published As

Publication number Publication date
EP3120475A1 (en) 2017-01-25
JP6147939B1 (en) 2017-06-14
KR20160112009A (en) 2016-09-27
CN106134150A (en) 2016-11-16
US20150270930A1 (en) 2015-09-24
JP2017518654A (en) 2017-07-06
US9350484B2 (en) 2016-05-24
WO2015142888A1 (en) 2015-09-24
KR101698038B1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
CN106134150B (en) Realize the delivery acceleration device and transmission method of the selective use of redundancy encoding content-data function
CN106105141A (en) Realize the delivery acceleration device of extension transmission control function
KR101846382B1 (en) Systems and methods for signaling request acceleration in the transport layer
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
US10313478B2 (en) Redirection in a content delivery network
CN105409174A (en) Method and apparatus for packet transmission supporting downloading and streaming
US20150271226A1 (en) Transport accelerator implementing a multiple interface architecture
CN108737380A (en) The multimedia content of delay with reduction transmits
US20160036883A1 (en) Systems and methods for selective transport accelerator operation
US20190222872A1 (en) Playout buffering in a live content distribution system
CN112437356B (en) Streaming media data processing method and device
CN107438991A (en) Via the method and apparatus of the flexible broadcast service of multicast broadcast multimedia service
Adly Enhanced Congestion Control for Internet Media Traffic
CN115567512A (en) Data transmission method, data transmission device, server, device, medium, and program product
Liu Tcp performance over mobile data networks
Gu The adaptive header compression algorithm of mobile IPv6 Network
Rubenstein et al. Real-Time Reliable Multicast Using Proactive Forward Error Correction TITLE2

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180522

Termination date: 20190317