CN109792444B - 实况内容分发系统中的播出缓冲 - Google Patents
实况内容分发系统中的播出缓冲 Download PDFInfo
- Publication number
- CN109792444B CN109792444B CN201780060768.XA CN201780060768A CN109792444B CN 109792444 B CN109792444 B CN 109792444B CN 201780060768 A CN201780060768 A CN 201780060768A CN 109792444 B CN109792444 B CN 109792444B
- Authority
- CN
- China
- Prior art keywords
- data
- client devices
- client
- data stream
- retransmission
- 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.)
- Active
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 25
- 230000003139 buffering effect Effects 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 19
- 239000008186 active pharmaceutical agent Substances 0.000 abstract description 19
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 2
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100288236 Arabidopsis thaliana KRP4 gene Proteins 0.000 description 1
- 101100433979 Bos taurus TNK2 gene Proteins 0.000 description 1
- 101100385394 Zea mays ACK2 gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6408—Unicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
提供了一种用于播出缓冲和重传的方法和相应节点以及系统,其可以处置到大量客户端设备的过顶(OTT)和视频点播(VOD)分发,例如,一个服务器利用例如同一电视频道来服务多个客户端设备。所提出的方法包括将数据流DS从服务器101传输到至少两个客户端设备151至153,其中,该数据流的客户端共享数据的预定部分被缓冲在共享缓冲器中。在从这些客户端设备接收到每客户端的数据重传请求时,从该共享缓冲器检索所请求的数据并将其重传到请求客户端设备。该方法进一步包括基于在缓冲数据的关注时间已经过去的情况下从所述共享缓冲器中移除缓冲数据。本发明构思适用于例如在典型的OTT和VOD中通过单播传送的媒体数据的分发。可选地,媒体数据通过多播分发,但是每客户端都请求重传。
Description
技术领域
本发明涉及用于节点到节点的数据传输的通信网络系统领域,更具体地涉及用于通过互联网在实况内容的分发系统中进行播出缓冲和重传的方法。
背景技术
对于过顶(OTT)分发和视频点播(VOD)系统,通常一个服务器将视频流流送到大量客户端。这意味着在服务器与客户端之间的通信中数据丢失的情况下,服务器需要保持每客户端部分的数据以处置重传。无论是通过使用TCP还是使用具有应用层重传技术的UDP来处置分发和重传,都是如此。与此相关的问题是用来处置重传的每客户端部分的数据的缓冲与所服务的客户端的数量成比例。
在服务器中,性能在很大程度上受到服务器中央处理器单元(CPU)可以对存储器系统实现多大的存储器带宽的影响。服务器中的存储器系统由主存储器和盘组成,其中,主存储器较小且较快。为了实现更高的性能,可以利用更小的存储器,这些存储器甚至比主存储器更快并且定位成更靠近CPU。这些存储器被称为高速缓存。此外,高速缓存还可以按级别组织,第1级高速缓存(小,并且存取非常快)、第2级高速缓存(比第1级高速缓存更大且更慢)等。每个高速缓存存储器通常分为指令高速缓存(持有“程序”)和数据高速缓存(持有正被处理的数据)。因此,如果程序及其相应的数据处于高速缓存中,则执行速度将比在例如盘上执行时的执行速度更快。
对于在OTT和VOD的情况下媒体内容的分发,所分发的数据与其被发送到的每个客户端设备相关联,并且这种类型的分发因此消耗大量数据,从而使得数据可能在较低级别的存储器层级结构(即,第2级高速缓存或主存储器)中进行存储/处理。
而且,当每客户端存储数据时,需要将要发送到许多客户端的传入数据复制到每个客户端。多次复制数据也会降低服务器的性能。
从一个输入接口板到传出端的数据转发并不意味着需要复制数据。未经处理的数据被直接存储器存取(DMA)到存储器,而经处理的头部信息进入数据高速缓存。因此,在所关注的实施方式中,要避免处理尽可能多的数据以避免复制以及高速缓存变“满”。
发明内容
提供用于可以处置到大量客户端设备的OTT和VOD分发的播放缓冲和重传的至少改进且可靠的方法将是有利的,该方法比现有技术解决方案消耗更少的资源。此目的通过根据如权利要求1所限定的本发明构思的方法来实现。
因此,在本发明构思的第一方面,提供了一种用于将数据流从服务器传输到至少两个客户端设备的方法,该方法包括针对至少一个输出数据流:将该数据流传输到该至少两个客户端设备,以及将该数据流的预定部分缓冲在共享缓冲器中。在从该至少两个客户端设备接收到每客户端的数据重传请求时,重传来自该共享缓冲器的所请求数据。本发明构思适用于例如在典型的OTT和VOD中通过单播传送的媒体数据的分发。可选地,媒体数据通过多播分发,但是每客户端都请求重传。对于利用同一电视频道服务多个客户端设备的服务器而言,相比于现有技术的为每客户端提供重传缓冲的TCP式操作,根据本发明构思,对于许多客户端设备数据流,传出数据流在共享缓冲器中缓冲一次,并且然后利用同一缓冲数据来为所有客户端设备提供重传。
根据本发明,该方法进一步包括基于在缓冲数据的关注时间已经过去的情况下从该共享缓冲器中移除缓冲数据。这可以用定时器或通过利用在该数据流中分发的时间戳来指示以指示缓冲数据的关注时间是否已经过去。缓冲数据保持预定时间(指示数据太旧而不再有效),特别是在视频(其中显示数据流的时间已经过去)的情况下,或者直到所有设备可能已经接收到数据,即,当在关注时间内没有检测到丢失分组的重传请求时。以这种方式,客户端不必发送ACK以确认它们已经接收到数据。而是,利用指示数据的关注时间已经过去的定时器。基于定时器的解决方案显著减少了从设备到服务器的上游流量,因为消息仅在下游丢失数据的情况下才向上游发送。
根据该方法的实施例,该方法进一步包括在缓冲步骤之前标识该数据流的客户端设备共享数据。通过标识传出数据流的数据分组中的客户端共享数据,至少标识了用于在共享缓冲器中缓冲的候选数据。客户端设备共享数据将包括有效载荷数据,例如电视频道的媒体内容,但也可以包括客户端共享头部数据、时间戳、副标题、如推文或社交互动数据等应用数据,等等。
根据该方法的实施例,对数据流的有效载荷数据(和/或客户端共用的头部数据)执行缓冲步骤。在使用FEC或任何其他有效载荷数据应用的应用中,整个数据分组将被处理并且因此将进入处理器高速缓存存储器。然而,当有效载荷未被处理时,有效载荷可以保留在主存储器或某一较低级别的高速缓存存储器中,而需要处理的头部信息将因此进入高速缓存。
根据该方法的实施例,对于每个客户端,每客户端头部信息仅被处理一次,并且经处理的每客户端数据被缓冲在所述共享缓冲器中。当发送分组时,对头部进行构造,并且可以指向有效载荷数据的共享缓冲器。对于每个目的地而言,头部将是唯一的,而有效载荷数据是相同的。有效载荷数据的共享缓冲器可以位于高速缓存或主存储器中。在发出发送指令时,它会以各种方式自动传送到接口卡。在本发明构思中,有效载荷数据被存储一次并用于所有客户端,从而节省了主存储器,避免了复制和潜在的高速缓存未命中。这允许服务器处置明显更大量的客户端网络接口。
根据该方法的实施例,在单独的客户端请求重传的情况下,传出数据流通过单播或通过多播来传送,这是有利的。在共享缓冲器中,针对所有客户端,数据存储有公共序列号。因此,当客户端请求重传时,服务器使用该序列号来找到有效载荷数据。因此,一个共享缓冲器用于若干客户端设备的方法可以用于单播和多播两种应用。
根据该方法的实施例,当该方法涉及视频的多播分发(例如使用多播进行视频分发)时,重传步骤作为单播传输或多播传输来执行。对于视频的多播分发,可以选择将重传作为单播或多播来发送。这种选择可能取决于若干方面。
根据该方法的实施例,基于是否存在具有本地第1层或第2层(L1/L2)多播的网络设施或子网络(例如,体育场设施)来选择单播传输或多播传输。如果不论是单播还是多播,分组重传的成本相同,这意味着如果多次请求数据,则多播是有益的。
根据该方法的实施例,如果多播传输在至少一个子网络中使用但在子网络之间不使用L1/L2多播,则选择多播传输。如果来自客户端的重传请求在同一子网络中,则使用多播可能是有益的,但是如果是不同的子网络,则不是有益的。
根据该方法的实施例,如果从多个客户端设备接收到预定阈值数量的请求,则选择多播传输。如果发出大量请求,则选择重传的多播传输是有益的。
根据该方法的实施例,有效载荷数据被缓冲在专用存储器中,而不是缓冲在服务器的高速缓存或主存储器中。如果利用有效载荷数据应用(例如FEC)则这是有利的,该有效载荷数据应用以与对分组执行校验和计算时类似的方式在整个有效载荷和网络接口卡上执行。
根据该方法的实施例,该方法进一步包括构造包括来自共享缓冲器的所请求数据和选自头部唯一目的地数据列表的每客户端(单独客户端)信息的分组。
根据该方法的实施例,可以基于从所有客户端设备接收到的确认来执行移除缓冲数据。
根据本发明构思的第二方面,提供了一种通信网络中的节点,该节点包括用于执行根据本发明构思的方法的装置。该节点可以进一步包括用于传输传出数据流的装置,例如发射器。
在被安排用于进行节点到节点通信的通信系统中,该节点包括:存储器,该存储器存储计算机可读指令;以及处理器,该处理器被配置用于执行这些计算机可读指令以执行根据本发明构思的方法。进一步,根据本发明构思的第三方面,提供了一种存储计算机可读指令的非暂态计算机可读存储介质,这些计算机可读指令可由处理器执行以使该处理器执行本文所提出的方法。
本发明方法的实施例优选地借助于以下各项在分发、媒体内容提供方或通信系统中实施:用于以软件形式发信号和提供数据传送的软件模块,现场可编程门阵列(FPGA),专用集成电路(ASIC),或适于执行本发明的方法、云服务或虚拟机中的实施方式(图表中未示出)的其他合适的设备或可编程单元。软件模块和/或数据传送模块可以集成在包括合适的处理装置和存储器装置的节点中,或者可以实施在包括合适的处理装置和存储器装置并且被安排用于与现有节点互连的外部设备中。该节点优选地被安排在边缘节点处,例如与流式边缘服务器通信,或者集成在流式边缘服务器中/或构成流式边缘服务器。
当研究以下详细披露内容、附图和所附权利要求时,本发明的进一步的目的、特征和优点将变得清楚。本领域技术人员认识到,可以组合本发明的不同特征来创建除了以下描述的实施例之外的实施例。
附图说明
上文将通过以下参照附图对本发明的优选实施例进行的说明性且非限制性的详细说明而更好地得到理解,在附图中相同的附图标记将用于相似的元件,并且在附图中:
图1是展示出服务器-客户端通信系统的示意性框图,其中采用了根据本发明构思的方法和节点的实施例;
图2a至图2c是展示出根据本发明构思的方法的实施例的示意性流程图;以及
图3至图6是展示出服务器-客户端通信系统的示意性框图,其中采用了根据本发明构思的方法的实施例。
所有附图都是示意性的、不一定按比例绘制、并且通常仅示出为了阐明本发明所必需的部件,其中其他部分可以被省略或仅仅是建议。
具体实施方式
现在参考图1,该图是示意性地展示出例如用于媒体内容的实况分发的IP类型的通信网络系统100的框图,鉴于此将描述本发明构思的多个方面。服务器101(其可以是流式边缘服务器或播出服务器,从分发系统(未示出)的入口服务器(未示出)接收数据)被安排用于向一个或多个接收方或客户端设备151、152、153提供媒体内容。媒体内容通过网络200经由相应的通信链路使用单播或多播作为数据流DS发送,并且典型地作为连续分组流提供,该连续分组流可以具有不同的大小、并且可以表示不同类型的分组,其中某一头部或尾部部分对类型进行标识。
在分发网络系统中,数据流DS从入口设备到客户端设备151、152、153的数据传输可以涉及传输例如视频内容或呈视频分组(多播视频分组)形式的其他媒体内容、以及例如音频分组。数据流DS在流式边缘服务器(播出服务器)处被接收,该流式边缘服务器在此由服务器101实施,位于不同观察者位置的多个客户端设备151、152、153从该流式边缘服务器请求用于显示的媒体内容。媒体内容通过相应的通信链路以分开的数据流DS1、DS2和DS3(在图1中展示为DSx)分发给客户端设备151、152、153,可以通过计算机网络(例如,LAN、WAN、互联网)、无线网络(例如,蜂窝数据网络)、或这些网络类型的某种组合(在图1中展示为辅助网络200)提供该通信链路。每个客户端设备151、152、153包括用于处理所接收的媒体内容并且选择要播放的媒体内容的装置。主分发网络和辅助网络200不需要是专用网络,而是可以与其他服务共享。
连接到服务器以请求实况媒体内容的客户端设备151、152、153可以是例如来自不同制造商的不同版本的智能手机、IP可连接的电视机或计算机,并且因此在时钟速度/频率、容差等方面具有不同的性能。因此,客户端设备需要同步以提供对它们各自的媒体流DSx实例的分组的同时播出,即,提供同步播出时间。传输用数据流DSx被表示为数据分组序列,该数据分组序列表示连续信息流,其中,每个数据分组包括有效载荷信息集,该有效载荷信息集表示信息流中与其对应的一段信息流。
为了处置丢失的分组和其他类型的错误,通信和分发系统采用各种技术来处置错误接收的信息。除了其他技术之外,客户端设备还可以通过重传技术来纠正错误接收的信息,重传技术使得错误接收的信息能够例如通过使用自动重传请求(ARQ)或前向纠错(FEC)技术被重新传输到接收器,即,客户端设备。FEC技术包括例如在调制之前对数据进行卷积编码或分组编码。FEC编码涉及使用一定(更大)数量的代码位或代码块表示一定数量的数据位或数据块,从而增加了允许校正某些错误的冗余。
如果在数据传输期间丢失分组,则经历丢失分组的任何(多个)客户端将请求从服务器101重传(RT)丢失分组。除了重传之外,如果存在可用的FEC信息,则客户端可以尝试通过FEC校正并然后通过重传来恢复丢失分组,或者首先通过重传并然后通过对新传输的数据进行FEC校正来恢复丢失分组。
根据本发明的实施例,分发系统进一步包括用于处置向客户端设备重传媒体内容的控制设备,该控制设备可以由单独的控制服务器102实施,该控制服务器被安排成与(流式)服务器101分开并与之通信、或如图1所示集成在服务器101中。当集成在服务器101中时,控制设备102优选地是软件模块和/或数据传送模块。服务器101(或控制设备)进一步包括共享缓冲器102,该共享缓冲器可以构成服务器的存储器资源的一部分、或者可以是专用存储器设备。
现在将参考图2a至图2c、以及上面参考图1描述的例示分发系统来描述根据本发明构思的用于将数据流从服务器传输到至少两个客户端设备的方法的实施例,该方法包括提供分组丢失恢复以便在基于分组的网络中传输数据流DSx。出于说明性目的,传输用数据流DSx被表示为连续数据流的数据分组序列,其中,每个数据分组包括与一个或多个特定数据类型相对应的有效载荷信息集。
在图2a中,在步骤S205中,将数据流DS的客户端共享数据(CSD)的要从服务器101传输到与该服务器相连接的多个客户端设备151、152、153的预定部分缓冲在共享缓冲器102中。在示例中,将数据流的特定量的有效载荷数据缓冲在共享缓冲器中。将数据流DS传输到客户端设备(步骤S210)。在分发中经历数据丢失的客户端设备可以发送由服务器接收(步骤S220)的对重传丢失分组(RRQ)的请求。最后,从共享缓冲器102检索所请求的分组,并将其重传RT到客户端设备(步骤S230)。
根据该方法的实施例,参见图2b,该方法进一步包括基于从所有客户端设备接收到对特定缓冲数据已被客户端设备接收到的确认、或者基于指示缓冲数据的关注时间已经过去的定时器来从共享缓冲器中丢弃缓冲数据(步骤S240),从而避免发送消耗上游通信容量的确认。
根据该方法的实施例,如图2c所展示的,在将数据流DS传输到客户端设备之前,可以创建每个客户端设备的唯一头部数据(UHD)列表(步骤S202)并且将其缓冲在共享缓冲器中或在服务器101的其他存储器中。优选地,每个客户端设备的UHD被构造为连接到该服务器的新设备。如前所述,服务器101可以是从分发系统的入口服务器(未示出)接收数据的流式边缘服务器或播出服务器。随着在服务器101处接收到包含客户端共享数据(CDS)的传入数据流DS(步骤S203),分析所接收的数据流并且标识(预定的)客户端共享数据(CSD)(步骤S204)。随后将客户端共享数据CSD(例如,包含要显示的媒体内容的有效载荷)缓冲在共享缓冲器中(步骤S205)。可选地,在步骤S204中标识并创建所有客户端设备的共享头部数据(SHD)的列表,该SHD可以缓冲在共享缓冲器中(步骤S205)。在数据流DS中要传输的分组由从相应的唯一头部数据UHD和从共享缓冲器检索到的客户端共享数据CSD构成(步骤S207和S209)并且被传输到客户端设备(步骤S210)。随着服务器接收到重传RRQ请求(步骤S220),从共享缓冲器和UHD列表中检索与作出RRQ的客户端设备相对应的所请求的客户端共享数据和UHD(步骤S207),根据该客户端共享数据和UHD来构造用于重传丢失数据的分组数据(步骤S209,并且随后将其重传到客户端设备,步骤S230)。
如图2a至图2c中所展示的本方法的方法步骤可以组合或有条件地排除,并且不必以如图中的虚线框和箭头示意性地展示出的所需顺序呈现。
在每客户端请求重传的情况下,可以使用单播或多播来传输传出数据流(步骤S220)。当使用多播来分发传出数据流DS(例如视频)(步骤220)时,重传步骤(步骤S230)可以作为单播传输或多播传输来执行。
根据该方法的实施例,如图2c中的虚线框S229所展示的,在步骤S229中,重传步骤可以被选择为单播或多播。可以利用若干参数来决定如何对单播传输或多播传输做出决定。在第一种情形下,基于是否存在具有本地第1层或第2层(“L1/L2”)多播的体育场设施来选择单播传输或多播传输。如果不论是单播还是多播,分组重传的成本相同,这意味着如果多次请求数据,则多播是有益的。如果多播在至少一个区域中使用但在区域之间不使用L1/L2多播,则选择多播传输。如果请求在同一区域中,则使用多播可能是有益的,但是如果是不同的区域,则不是有益的。在第二种情形下,单播或多播决定基于是否从多个客户端设备接收到预定阈值数量的请求,在这种情况下,选择多播传输,这是有益的。
现在参考图3,如本文先前所描述的服务器101(或可选地专用控制服务器102)进一步包括网络接口卡(NIC)105,该网络接口卡被安排用于与多个客户端设备151至153通信。根据本发明构思的方法,客户端共享数据CSD(例如包含要在客户端设备151至153中呈现的媒体内容的有效载荷数据P1至P5)被缓冲在服务器101(控制设备102)中的共享缓冲器501中。对于所有客户端设备,共享缓冲器中的有效载荷数据P1至P5存储有公共序列号。当客户端请求重传RRQ时,服务器使用该序列号来定位有效载荷数据。因此,一个共享缓冲器用于若干客户端设备的方法可以用于单播和多播两种应用。进一步地,唯一头部数据UHD500的列表(这里展示为H151、H152和H153)被缓冲/存储在服务器101(或可替代地,控制服务器102)中。当数据流DS被分发到客户端设备151至153时,CSD和UHD从共享缓冲器和UHD列表被检索到NIC 105,如通过图3中的虚线箭头所展示的那样。在NIC中,分组10a和10b被构造并且随后传送到相应的客户端设备151和152。分组10a和10b中的每一个分别包含相同的有效载荷(在例示图示中为P1)但是分别包含它们自己的唯一头部数据H151和H152。
当客户端请求重传时,如图4所展示的,其中客户端设备151将丢失数据P3的RRQ,RRQ:P3,发送到服务器101/102的NIC 105,从唯一头部数据500的列表中检索UHD H151,从共享缓冲器501中检索有效载荷P3,分组10c被构造为包含UHD H151和CSD P3,并且然后将该分组作为单播或多播重传到客户端设备。
当共享缓冲器501中的缓冲CDS不再有用时,根据如图5和图6所展示的方法的实施例,丢弃CDS数据。在图5中,当成功接收到有效载荷数据P1时,从每个客户端设备发送用虚线箭头展示出的确认信号ACK1、ACK2、ACK3。由于所有客户端设备都已成功接收到特定CDS,因此可以将其从共享缓冲器501中丢弃,如用有效载荷P1上的叉所示的。这优选地与定时器或其他定时信息(如下面参考图6描述的定时信息)组合,以决定数据是否仍然有用或者是否太旧并因此应当从共享缓冲器501中丢弃。
在又一实施例中,如图6所展示的,基于服务器101的本地时钟tcl的当前时间/时间戳ts或者指示缓冲数据的关注时间已经过去的定时器,丢弃非有用的CSD。缓冲数据保持预定时间,只要特别是在视频(其中数据流内容的呈现时间已经过去)的情况下数据并没有太旧而不再有效即可。在说明性示例中,本地时钟的时间tcl=14:01:10,并且具有用于显示媒体内容的时间戳ts的任何有效载荷太旧,并且可以从共享缓冲器501中丢弃。
尽管已经参考附图描述了本发明构思的说明性实施例,但应理解的是,本发明并不局限于其确切的实施例,而是本领域技术人员在不违背本发明的范围或精神的情况下可以对这些实施例进行各种改变和修改。
Claims (13)
1.一种用于将数据流从服务器传输到至少两个客户端设备的方法,该方法包括:
针对至少一个传出数据流:
将所述数据流传输到所述至少两个客户端设备;以及
将所述数据流的预定部分缓冲在共享缓冲器中;
其中,在从所述至少两个客户端设备中的一个客户端设备接收到每客户端的数据重传请求时:
从所述共享缓冲器重传所请求的数据到至少两个客户端设备中的每一个,其中,重传作为单播或多播传输来执行,以及其中,如果在不同的区域中从多个客户端设备接收到预定阈值数量的请求,则自动选择单播传输,以及
基于从所述至少两个客户端设备中的一个客户端设备接收到的重传确认从所述共享缓冲器中移除缓冲数据。
2.根据权利要求1所述的方法,其中,所述缓冲步骤是对所述数据流的有效载荷数据和/或客户端共享头部数据执行的。
3.根据权利要求1所述的方法,其中,在单独的客户端请求重传的情况下使用单播或多播来传送所述传出数据流。
4.根据权利要求1所述的方法,其中,所述方法涉及使用多播进行视频分发。
5.根据权利要求4所述的方法,其中,基于是否存在具有本地第1层或第2层、即L1/L2多播的网络设施来自动选择单播传输或多播传输。
6.根据权利要求5所述的方法,进一步包括:
确定所述多播传输在至少一个子网络中使用L1/L2多播;
确定所述多播传输在不同子网络之间不使用L1/L2多播;
确定来自与这些不同子网络相连接的客户端设备的重传请求已被接收;以及
自动选择多播传输。
7.根据权利要求1所述的方法,其中,有效载荷数据被缓冲在专用存储器中,而不是缓冲在所述服务器的高速缓存或主存储器中。
8.根据权利要求1所述的方法,进一步包括构造包括来自所述共享缓冲器的所请求数据和选自头部唯一目的地数据列表的每客户端信息的分组。
9.根据权利要求1所述的方法,其中,所述移除缓冲数据的步骤是在缓冲数据的关注时间已经过去之后来执行的。
10.根据权利要求9所述的方法,其中,利用定时器或在该数据流中分发的时间戳来决定关注时间是否已经过去。
11.一种处于被安排用于进行节点到节点通信的通信系统中的节点,该节点包括:
存储器,该存储器存储计算机可读指令;以及
至少一个处理器,该处理器被配置用于执行这些计算机可读指令以:
针对至少一个传出数据流:
将所述数据流传输到所述至少两个客户端设备;以及
将所述数据流的预定部分缓冲在共享缓冲器中;
其中,在从所述至少两个客户端设备中的一个客户端设备接收到每客户端的数据重传请求时:
确定至少两个客户端设备中的第一组在不同的区域中;
从所述共享缓冲器重传所请求的数据到至第一组中的每一个设备,其中,重传作为单播传输来执行;
确定在同一区域中从多个客户端设备接收到预定阈值数量的请求;使用多播传输重传所请求的数据到同一区域中的设备;以及
基于从所述至少两个客户端设备中的一个客户端设备接收到的重传确认从所述共享缓冲器中移除缓冲数据。
12.根据权利要求11所述的节点,进一步包括用于传输所述传出数据流的装置。
13.一种存储计算机可读指令的非暂态计算机可读存储介质,这些计算机可读指令可由至少一个处理器执行以使该至少一个处理器执行操作包括:
针对至少一个传出数据流:
将所述数据流传输到所述至少两个客户端设备;以及
将所述数据流的预定部分缓冲在共享缓冲器中;
其中,在从所述至少两个客户端设备中的一个客户端设备接收到每客户端的数据重传请求时:
从所述共享缓冲器重传所请求的数据到至少两个客户端设备中的每一个,其中,重传作为单播或多播传输来执行,以及其中,如果在不同的区域中从多个客户端设备接收到预定阈值数量的请求,则自动选择单播传输,以及
基于从所述至少两个客户端设备中的一个客户端设备接收到的重传的确认从所述共享缓冲器中移除缓冲数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1651289 | 2016-09-30 | ||
SE1651289-9 | 2016-09-30 | ||
PCT/EP2017/074816 WO2018060449A1 (en) | 2016-09-30 | 2017-09-29 | Playout buffering in a live content distribution system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109792444A CN109792444A (zh) | 2019-05-21 |
CN109792444B true CN109792444B (zh) | 2022-11-15 |
Family
ID=60001919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780060768.XA Active CN109792444B (zh) | 2016-09-30 | 2017-09-29 | 实况内容分发系统中的播出缓冲 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190222872A1 (zh) |
EP (1) | EP3520353A1 (zh) |
CN (1) | CN109792444B (zh) |
RU (1) | RU2745113C2 (zh) |
WO (1) | WO2018060449A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600944B (zh) * | 2020-05-12 | 2023-02-28 | 北京锐安科技有限公司 | 一种数据处理方法、装置、设备和存储介质 |
US12101532B2 (en) * | 2020-10-27 | 2024-09-24 | Circle Computer Resources, Inc. | Low-latency content delivery over a public network |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004030266A1 (en) * | 2002-09-24 | 2004-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and devices for error tolerant data transmission, wherein retransmission of erroneous data is performed up to the point where the remaining number of errors is acceptable |
CN1645787A (zh) * | 2005-03-01 | 2005-07-27 | 广东省电信有限公司研究院 | 在分布式对等流媒体服务系统中实现可靠组播的方法 |
CN1917639A (zh) * | 2006-09-01 | 2007-02-21 | 北京天地互连信息技术有限公司 | 使用丢包重传的视频信号增强方法 |
WO2008033645A2 (en) * | 2006-09-11 | 2008-03-20 | Cisco Technology, Inc. | Hybrid correction scheme for dropped packets |
CN101822023A (zh) * | 2007-10-19 | 2010-09-01 | 莱贝尔沃克斯有限责任公司 | 多媒体通信方法 |
CN103096183A (zh) * | 2013-02-05 | 2013-05-08 | 清华大学 | 一种高效流媒体传输方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1342375A1 (en) * | 2000-12-13 | 2003-09-10 | The Chinese University Of Hong Kong | Method and system for delivering media selections through a network |
US20050254508A1 (en) * | 2004-05-13 | 2005-11-17 | Nokia Corporation | Cooperation between packetized data bit-rate adaptation and data packet re-transmission |
US7870590B2 (en) * | 2004-10-20 | 2011-01-11 | Cisco Technology, Inc. | System and method for fast start-up of live multicast streams transmitted over a packet network |
US8031701B2 (en) * | 2006-09-11 | 2011-10-04 | Cisco Technology, Inc. | Retransmission-based stream repair and stream join |
US9313800B2 (en) * | 2009-06-23 | 2016-04-12 | Nokia Technologies Oy | Method and apparatus for optimizing energy consumption for wireless connectivity |
JP2013507826A (ja) * | 2009-10-07 | 2013-03-04 | トムソン ライセンシング | ネットワークにおける信頼性の高いリアルタイム・データストリーミングのための効率的なアプリケーションレイヤの自動再送要求の再送信方法 |
US8806050B2 (en) * | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
RU2629001C2 (ru) * | 2012-04-26 | 2017-08-24 | Квэлкомм Инкорпорейтед | Система улучшенной потоковой передачи блоков по запросу для обработки потоковой передачи с малой задержкой |
WO2014147692A1 (ja) * | 2013-03-18 | 2014-09-25 | 株式会社日立製作所 | 監視対象装置、エージェントプログラム及び監視システム |
-
2017
- 2017-09-29 WO PCT/EP2017/074816 patent/WO2018060449A1/en unknown
- 2017-09-29 CN CN201780060768.XA patent/CN109792444B/zh active Active
- 2017-09-29 RU RU2019110771A patent/RU2745113C2/ru active
- 2017-09-29 EP EP17777888.3A patent/EP3520353A1/en active Pending
- 2017-09-29 US US16/336,978 patent/US20190222872A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004030266A1 (en) * | 2002-09-24 | 2004-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and devices for error tolerant data transmission, wherein retransmission of erroneous data is performed up to the point where the remaining number of errors is acceptable |
CN1645787A (zh) * | 2005-03-01 | 2005-07-27 | 广东省电信有限公司研究院 | 在分布式对等流媒体服务系统中实现可靠组播的方法 |
CN1917639A (zh) * | 2006-09-01 | 2007-02-21 | 北京天地互连信息技术有限公司 | 使用丢包重传的视频信号增强方法 |
WO2008033645A2 (en) * | 2006-09-11 | 2008-03-20 | Cisco Technology, Inc. | Hybrid correction scheme for dropped packets |
CN101822023A (zh) * | 2007-10-19 | 2010-09-01 | 莱贝尔沃克斯有限责任公司 | 多媒体通信方法 |
CN103096183A (zh) * | 2013-02-05 | 2013-05-08 | 清华大学 | 一种高效流媒体传输方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190222872A1 (en) | 2019-07-18 |
RU2019110771A (ru) | 2020-10-30 |
WO2018060449A1 (en) | 2018-04-05 |
EP3520353A1 (en) | 2019-08-07 |
RU2019110771A3 (zh) | 2020-10-30 |
RU2745113C2 (ru) | 2021-03-22 |
CN109792444A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111740808B (zh) | 一种数据传输方法及装置 | |
CN113037440B (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
US9312989B2 (en) | Importance-based FEC-aware error-repair scheduling | |
US11949512B2 (en) | Retransmission of data in packet networks | |
US9049050B2 (en) | System and method for equalizing transmission delay in a network | |
CN111567011B (zh) | 使用跨层信息提高视频服务和WEB服务的QoE的方法 | |
CN114765690B (zh) | 数据包传输方法、通信装置及存储介质 | |
US10044482B2 (en) | Apparatus and method for transmitting a message to multiple receivers | |
Dong et al. | In-packet network coding for effective packet wash and packet enrichment | |
US10505677B2 (en) | Fast detection and retransmission of dropped last packet in a flow | |
CN109076062B (zh) | 边缘节点控制 | |
US10334322B1 (en) | System and method for media delivery on broadcast video networks | |
US20110131466A1 (en) | Method for transmitting multimedia data in ad hoc communication networks | |
EP2445162B1 (en) | Method For Adaptive Streaming | |
CN109792444B (zh) | 实况内容分发系统中的播出缓冲 | |
EP3672189B1 (en) | Data transmission method, device and system | |
KR102235671B1 (ko) | 통신 방법 및 장치 | |
CN106130746B (zh) | 一种数据传输方法及装置 | |
US11882340B2 (en) | Content distribution system, unicast multicast converter, content distribution method and content distribution program | |
JP2017092581A (ja) | ゲートウェイ装置、放送受信装置、放送中継方法、放送受信方法、放送中継プログラムおよび放送受信プログラム | |
Li et al. | Network‐coding‐based cache policy for loss recovery enhancement in reliable multicast | |
EP3367613A1 (en) | System and method for improving latency in a wireless building automation network | |
CN115767143A (zh) | 播放卡顿的判断方法、装置、电子设备和可读存储介质 | |
CN117499715A (zh) | 一种音视频流量的传输方法、装置、设备及存储介质 | |
Bortoleto et al. | Large-scale media delivery using a semi-reliable multicast protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |