CN111886875B - 一种通过网络传送媒体内容的方法及服务器 - Google Patents

一种通过网络传送媒体内容的方法及服务器 Download PDF

Info

Publication number
CN111886875B
CN111886875B CN201980021009.1A CN201980021009A CN111886875B CN 111886875 B CN111886875 B CN 111886875B CN 201980021009 A CN201980021009 A CN 201980021009A CN 111886875 B CN111886875 B CN 111886875B
Authority
CN
China
Prior art keywords
segment
congestion window
content
transmission
rate
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
Application number
CN201980021009.1A
Other languages
English (en)
Other versions
CN111886875A (zh
Inventor
M·尼尔森
S·阿普尔比
Y·胡梅达
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN111886875A publication Critical patent/CN111886875A/zh
Application granted granted Critical
Publication of CN111886875B publication Critical patent/CN111886875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在本发明的示例中,使用初始拥塞窗口来完成内容的片段的传送,优选地,该初始拥塞窗口被选择成给出确保该片段的及时传送的传送速率。然而,在较高程度的分组丢失的情况下,传送速率可能不够。因此,在片段传送期间的任何阶段,都要测量实际传送速率,并将其与先前的拥塞窗口大小、仍待传送的内容片段数据量以及剩余传送时间一起用于计算更新的拥塞窗口。然后,使用该修改后的拥塞窗口来传送该片段的剩余部分。

Description

一种通过网络传送媒体内容的方法及服务器
技术领域
本发明涉及对通过网络传送媒体序列期间的拥塞响应进行管理的方法和装置。
背景技术
对于通过网络传送媒体内容(例如,音频内容和/或视频内容)的需求不断增长。
一种通过网络传送媒体内容流的方法是将媒体内容流分段成多个时间片段。然后,可以将各个片段以一系列数据分组的形式通过网络进行传递。将内容流分段成时间片段的一类技术是自适应比特率传送。
在自适应比特率传送中,分别以多个比特率对媒体内容流进行编码,以产生多个编码流。如果媒体内容包括音频内容和视频内容(以使媒体流包括音频流和视频流),则可以分别以多个比特率对各个音频流和视频流进行编码,以产生多个编码视频流和多个编码音频流。将各个编码媒体流分段成多个时间片段。例如,各个时间片段可以包含介于2秒至15秒之间的已解码的媒体内容。媒体内容的分段可以在对媒体流进行编码之前或之后发生。然后,将媒体内容的片段作为一系列数据分组通过网络传递至接收方设备。
可以从将媒体内容编码的一组比特率中选择被传送至接收方的所述内容的各个片段的比特率。因此,接收方设备可以接收到不同编码比特率的媒体内容的片段。该比特率可以由接收方来请求或由发送方来选择。
与通过网络传送分段后的媒体内容相关联的问题是给定片段的传送时间可能是变化很大的。尽管自适应比特率传送可以工作为实时地调整传送的内容流的质量(即,编码比特率)以考虑到可用的网络资源,但是针对内容的给定片段,仍然经常遭受到不可预测的且变化的传送时间的影响。这种变化可能部分是由传送媒体内容的通信协议的性质引起的。
例如,通过分布式计算机网络(如互联网)传送媒体内容通常会执行将TCP用作传输协议。
TCP被设计为实现通过网络的可靠数据传输,目的是避免对竞争TCP业务流的网络吞吐量产生不利影响。根据TCP协议,在传输中丢失的分组会被重传,以尝试实现可靠的传送。另外,TCP协议实现了拥塞响应方案或拥塞避免方案。作为该方案的一部分,在假定分组丢失是由网络上的拥塞引起的情况下检测到分组丢失之后,通过网络从发送方到接收方的分组的传输速率通常会被降低。
进入网络中的分组的传输速率可以由称为拥塞窗口(在本文中可以表示为 CWND)的参数来控制。拥塞窗口可以表示在任何给定时间已被传递到网络中但尚未被接收方确认的分组的最大允许数。TCP发送方(例如,媒体内容服务器)可以维持针对各个接收方(例如,内容客户端)连接的拥塞窗口。在检测到给定连接上的分组丢失之后,TCP发送方通常会采取快速措施来显著减小拥塞窗口的大小,以便降低该连接的传输速率。这进而导致在内容的给定片段的传送期间分组的传输速率是变化的,并且高度取决于在该片段的传送期间所遭受的分组丢失率。
如果内容片段的传送时间是变化的且不可预测的,则在接收方处的媒体播放性能可能会受到缓冲延迟和播放停顿的不利影响。一种将这些性能缺陷的风险最小化的方法是在接收方中包括大量缓冲。然而,由于充分填充缓冲区所需的时间,该方法可能进而导致较高的端到端时延的性能损失。
发明内容
根据本公开的一个方面,提供了一种通过网络传送媒体内容的方法,所述媒体内容包括多个时间片段,并且各个时间片段包括多个数据分组,所述方法包括:
a)确定片段的传送的时间间隔;
b)计算用于所述片段的所述传送的初始拥塞窗口大小,其中,所述初始拥塞窗口取决于所述时间间隔;
c)使用所述初始拥塞窗口来传送所述片段的第一部分;
d)对所述片段的所述第一部分的所述传送的第一速率进行测量;
e)根据所述初始拥塞窗口大小、所述第一速率、所述片段中的剩余待传送数据量和所述片段的剩余传送时间,计算更新的拥塞窗口大小;
f)使用所述更新的拥塞窗口大小来传送所述片段的另一部分。
所述片段的所述第一部分中的所有数据分组可以是使用所述初始拥塞窗口传送的。
所述第一速率可以是所述第一部分上的平均传送速率。所述第一速率可以是偏向于最近传送的分组的所述传送速率的加权平均值。
所述片段的剩余传送时间可以是所述时间间隔减去传送所述第一部分花费的时间。
所述更新的拥塞窗口大小CWNDtarget可以由下式给出:
Figure BDA0002693765280000031
其中,CWND是所述初始拥塞窗口大小,Rmeasured是所述第一速率,Dremaining是所述片段中的剩余待传送数据量,并且ΔTn是所述片段的剩余传送时间。
根据本公开的第二方面,提供了一种通过网络传送媒体内容的服务器,所述媒体内容包括多个时间片段,并且各个时间片段包括多个数据分组,所述服务器包括:
调度单元,所述调度单元被配置成确定片段的传送的时间间隔;
拥塞窗口单元,所述拥塞窗口单元被配置成计算用于所述片段的所述传送的初始拥塞窗口大小,其中,所述初始拥塞窗口取决于所述时间间隔;
所述调度单元还被配置成使用所述初始拥塞窗口来传送所述片段的第一部分;
传送速率单元,所述传送速率单元被配置成对所述片段的所述第一部分的所述传送的第一速率进行测量;并且
其中,所述拥塞窗口单元还被配置成根据所述初始拥塞窗口大小、所述第一速率、所述片段中的剩余待传送数据量和所述片段的剩余传送时间,计算更新的拥塞窗口大小;并且
其中,所述调度单元还被配置成使用所述更新的拥塞窗口大小来传送所述片段的另一部分。
附图说明
为了更好地理解本发明,现在仅以示例的方式参考以下附图,在附图中:
图1示出了通信网络的示例;
图2示出了形成图1中的网络的一部分的服务器的示例;
图3示出了形成图1中的网络的一部分的客户端的示例;
图4是概述了通过网络传送媒体内容的方法的步骤的流程图。
具体实施方式
现在将参考特定示例来描述本发明。然而,本发明并不限于这些示例。
本发明的示例呈现了一种通过网络传送媒体内容的方法。媒体内容可以是视频内容(例如,以视频序列的形式)、音频内容(例如,以音频序列的形式),或者媒体内容可以包括音频内容和视频内容(即,媒体内容可以是多媒体内容)。媒体内容包括多个时间片段。各个片段可以包含播放时的短暂时长的数据(例如,播放2秒至15 秒的数据)。每媒体内容片段的数据分组的数量取决于时间片段的持续时间、编码比特率和各个数据分组的大小,并且可以在数十个数据分组至数千个数据分组的范围内变化。例如,在10秒持续时间的时间片段、1MBit/s的编码比特率和1500字节的数据分组大小的情况下,各个10秒持续时间的媒体内容片段将包括833个数据分组 (10×1000000/(1500×8))。
在本发明的示例中,使用初始拥塞窗口来完成内容片段的传送,优选地,该初始拥塞窗口被选择成提供确保该片段的及时传送的传送速率。然而,在较高程度的分组丢失的情况下,传送速率可能并不是足够的。因此,在该片段传送期间的任何阶段,都要测量实际传送速率Rmeasured,并将该实际传送速率Rmeasured与原始拥塞窗口大小、片段中仍待传送的数据量以及该片段的剩余传送时间一起用于计算更新的拥塞窗口。然后,使用该更新的拥塞窗口来传送片段的剩余部分。
现在将描述本公开的示例实施方式。出于清楚的目的,在下面的示例中,根据使用自适应比特率传送的HTTP和基础TCP协议,通过网络来传送媒体内容。例如, HTTP协议可以是HTTP自适应流传输协议(诸如HTTP实时流传输(HLS)协议、 MPEG-DASH、SmoothStreaming、Adobe HTTP动态流传输等)。TCP协议可以是任何合适的协议(诸如TCPReno、TCP New Reno、TCP Cubic、TCP Tahoe、TCP Vegas 等)。
图1示出了通信系统100的示例。该系统包括由通信网络106分开的(服务器形式的)内容发送方104以及(内容客户端形式的)多个接收方108、110和112。网络106可以是无线网络、有线网络或有线网络与无线网络的组合。网络106可以是诸如互联网之类的分布式计算网络,或者可以形成该分布式计算网络的一部分。
内容服务器104被示为通信地联接至内容生成器102。内容生成器102可以被配置成对媒体内容进行编码并将该媒体内容传递至内容服务器104。如上所述,媒体内容可以包括视频流和/或音频流。内容生成器102可以被配置成以多个不同比特率分别对视频流进行编码,以生成各自被以不同比特率编码的多个编码视频流。例如可以根据ITU-T H.264标准对视频内容进行编码,尽管也可以使用其它标准。如果媒体内容附加地包括音频内容,则可以仅以单个比特率对其进行编码(以生成单个编码音频流),或者以多个比特率对其进行编码以生成相应的编码音频流。对音频流进行编码的标准的一个示例是MPEG-4HE AAC,但是可以另选地使用其它标准。内容生成器 102还可以被配置成将媒体内容分段成多个离散的时间片段,如上所述,所述时间片段的持续时间通常介于2秒至15秒之间。如果以多个比特率对媒体内容进行编码,则可以对各个编码流进行分段。可以在编码之前或之后对内容流或各个内容流进行分段。即,可以对内容流进行分段,然后以不同比特率对各个所得片段进行编码;或者可以对各个编码的内容流进行分段,以生成多个编码片段。
内容服务器104被配置成从内容生成器102接收媒体内容,并且可以存储所接收的内容。如上所述,可以对内容生成器102接收的媒体内容进行编码和分段。内容服务器可以经由网络106向客户端108、110和112中的一者或更多者传递或传送媒体内容。内容服务器104可以是视频流传输服务器,并且可以根据客户端的请求来传送视频(和/或音频)内容。因此,客户端设备108、110和112可以适配成从服务器104 请求媒体内容。客户端设备可以例如是适当配置的机顶盒、PC、膝上型计算机、智能电话、平板计算机、智能电视等。
图2更详细地示出了服务器104的示例。服务器包括输入接口202、数据存储部 204和输出接口210。服务器还包括拥塞窗口单元212、联接至输出接口210的调度单元214、以及传送速率单元218。内容服务器104可以被配置成在输入接口202处接收来自内容生成器的编码内容片段,并将接收到的编码片段206存储在数据存储部 204中。各个内容片段可以与清单文件208相关联,该清单文件208可以包含关于对相关联的内容片段进行编码的比特率的信息以及关于在服务器的存储部204中存储该相关联的内容片段的位置的指示。可选地,各个清单文件还可以存储被编码在相关联的内容片段中的媒体内容的持续时间的指示。清单文件还可以被存储在存储部204 中。各个内容片段从服务器经由输出接口210作为多个数据分组来发送。即,内容数据的各个片段由多个数据分组形成。构成内容片段的数据分组的数量可以变化并且取决于前面所述的许多因素。内容服务器104还可以经由输出接口210从已被服务器发送了数据分组的一个或更多个内容客户端接收确认分组。通信系统可以被布置成使得内容服务器接收针对已通过网络成功传送至客户端的各个数据分组的确认分组。稍后将参考图4描述拥塞窗口单元212、调度单元214和传送速率计算器218的工作。
图3更详细地示出了内容客户端(在这种情况下是客户端108)的示例。在该示例中,客户端108包括输入接口302、状态处理和状态信息存储部304、客户端判定模块308、内容片段和清单存储部306以及媒体内容解码器(在本示例中是以视频解码器310和音频解码器312的形式)。
客户端108通过经由接口302向服务器104传递对与期望的内容片段相关联的清单文件的请求来发起对内容传送的请求。响应于从服务器104接收到所请求的清单文件,客户端108将该文件存储在内容片段和清单存储部306中。判定模块308对清单文件进行分析,并作为响应发起对来自服务器104的、指定编码比特率的内容片段的请求。该请求从客户端108经由接口302传递至服务器104。响应于接收到请求,服务器104通过网络106以一系列数据分组的形式向客户端108传送所请求的内容片段。客户端108通过其接口302接收(一系列数据分组形式的)内容片段,并将该内容片段传至内容片段和数据存储部306。接收到的内容片段被传递至媒体解码器310和312。解码器310和312对内容片段执行解码操作,并将解码后的媒体内容(即,解码后的音频内容和/或解码后的视频内容)输出,以呈现给用户。一旦内容片段已被解码,则可以将该内容片段从片段存储部306移除。附加地,客户端108可以针对各个接收到的数据分组,通过网络106将确认分组发送回服务器。可以经由客户端的接口302 发送确认分组。
状态处理和信息存储部304可以对一个或更多个状态参数进行监测,该一个或更多个状态参数指示从服务器104传送的媒体内容的状态。这些参数可以包括以下一者或更多者:在接口302处接收内容数据的速率;内容经由媒体解码器解码并呈现给用户的速率;以及在分段和清单存储部306中存储的(尚未被解码的)内容片段数据量。
客户端判定模块308可以根据对下一个请求的内容片段的关联清单文件的分析以及由状态处理存储部304确定的状态参数,确定该片段以及该片段的编码比特率。
客户端108向服务器104发出的媒体内容请求可以是HTTP请求(例如,HTTP GET请求)。可以针对媒体数据的各个片段发出请求。
尽管以上仅更详细地描述了客户端108,但是将理解,客户端110和112可以具有与客户端108相同的部件并且以类似的方式工作。
现在将参考图4的流程图描述根据本发明的服务器104在通过通信网络106传送媒体数据的片段时的工作。在该示例中,服务器正在通过网络向客户端108传送媒体内容。
将参考称为“第一片段”的内容片段来描述以下步骤。该第一片段不必是服务器与客户端之间的流传输会话中的第一个片段,而是指作为流传输会话的一部分而被传递的任何片段。第一片段可以是在所实施的TCP协议已完成其标准慢启动处理或在从服务器到客户端的流传输会话开始时发起的某一其它类似处理时被调度成传送至客户端的任何片段。作为服务器与客户端之间的流传输会话的一部分,客户端中的一者 (例如,客户端108)可能已经以上述方式请求了该片段的传送。
在步骤400,将片段索引n设置成“1”,以指代通过网络106传送至客户端的第一片段。片段可以包括一个或更多个连续部分,并且本发明的示例描述了通过在传送各个片段的一部分之后调整拥塞响应以在指定时间间隔内传送媒体序列的片段的方法。
在步骤402,设置时间间隔ΔTn以通过网络106向客户端108传送片段n。该时间间隔也可以被认为是片段传送的截止期限。截止期限驱动传送(DDD:deadline drivendelivery)的概念在申请人的国际申请WO2014/155031中进行了讨论。可以根据应用的要求来设置传送截止期限。例如,针对内容需要在一定时间内被传送以防止播放停顿的内容流传输应用,传送截止期限可以在将来被设置成相对短的时间(即,短的时间间隔)。相反,针对用户不紧急需要文件的文件下载,可以在将来合适地设置传送截止期限(即,长的时间间隔)。
客户端可以指定用于通过网络106向客户端108传送内容片段的时间间隔。例如,客户端可以将如下时间的指示附加至对内容片段的服务器请求:在该时间之前期望该片段的传送。另选地,可以由服务器104指定用于传送的时间间隔。服务器可以基于以具有最小延迟的及时方式将媒体内容作为整体传送至客户端108的考虑来指定用于传送的时间间隔。这种类型的内容传送(在该内容传送中,服务器指定内容片段的传送的时间间隔)可以称为HTTP推送,其中服务器104被称为实现了HTTP推送机制。
在步骤404,使用时间间隔ΔTn来计算用于传送片段n的拥塞窗口CWND(n)。为了清楚起见,在该示例中所指的第一拥塞窗口将表示为CWND1。如本文所使用的,可以以分组数量或字节来说明拥塞窗口的大小。
第一拥塞窗口的初始大小可以等于紧随初始慢启动处理完成之后的拥塞窗口的大小。即,拥塞窗口的初始大小可以等于TCP协议的拥塞避免阶段开始时的拥塞窗口的大小。
另选地,第一拥塞窗口CWND1的初始大小可以由拥塞窗口单元212根据第一片段的大小和传送第一片段的时间间隔ΔTn来确定。第一片段的“大小”可以指第一片段中的数据量(例如,以比特、字节等为单位)。
为理解如何基于针对第一片段的传送的指定时间间隔来计算第一拥塞窗口CWND1的初始大小,考虑以下模型,在该模型中,可以使用TCP协议通过网络106 实现的数据分组传送速率RTCP近似为:
Figure BDA0002693765280000081
其中,CWND是拥塞窗口大小(以分组数量为单位或以字节为单位),并且RTT 是往返时间(即,从服务器将分组发送至网络的时间与在服务器处从客户端接收到该分组的确认的时间之间的时间间隔)。因此,取决于对拥塞窗口的大小进行限定的单位,RTCP的单位可以是每秒分组或每秒字节。
如果D表示片段的大小(还是以形成该片段的字节或分组数量表示),并且传送片段的时间间隔是ΔTn,则及时传送该片段的最小数据分组传送速率Rreq由下式给出:
Figure BDA0002693765280000082
通过使式(1)和式(2)中的数据分组传送速率相等,并根据拥塞窗口大小进行重新整理,我们可以获得对于确保在时间间隔ΔTn内及时传送片段所需的拥塞窗口大小的以下要求:
Figure BDA0002693765280000083
通过将CWND替换为CWND1,并将ΔTn替换为ΔT1,我们得到了确保在时间间隔ΔT1内及时传送第一片段所需的拥塞窗口大小:
Figure BDA0002693765280000084
也可以根据式(4),依据所测量的RTT、片段D的大小和已设置的时间间隔ΔT1来计算第一拥塞窗口的初始大小。
一旦已计算出第一拥塞窗口的初始大小,则在步骤406,服务器104开始使用第一拥塞窗口CWND1通过网络106向客户端108传送第一片段。内容片段的传送由调度单元214控制,该调度单元使构成(第一)片段的数据分组经由服务器的输出接口 210通过网络来发送。注意,式(4)列出了拥塞窗口CWND1的最小值,因此,即使检测到分组丢失时,用于传送的拥塞窗口也不应小于针对第一片段的传送的持续时间的该最小值。
这与使用传统TCP实现方式的内容传送不同,在传统TCP实现方式中,在分组丢失之后,通常根据一种被称为“加性增、乘性减(additive increase multiplicativedecrease)”的拥塞避免机制,将拥塞窗口的大小(或拥塞窗口的阈值大小)从紧接在分组丢失之前的值近似减半。
当以这种方式设置拥塞窗口大小时,内容数据片段的传送是更可预测的,并且即使在面临分组丢失的情况下也应在时间间隔ΔT1内完成。
然而,出于多种原因,式(4)是近似值。例如,较高程度的分组丢失将导致许多分组丢失并需要被重传,从而实际上降低了数据以固定速率进入网络时从该网络流出的速率。因此,即使根据式(4)设置了竞争窗口,也有可能使内容数据片段未在时间间隔内传送。实际上,式(1)仅列出了可以实现的吞吐量的上限。
因此,在片段的传送期间的任何阶段,可以进行检查以确定是否已经传送了整个片段,如果没有,则由服务器104测量片段的第一部分的实际传送速率Rmeasured。然后,本发明的示例计算更新的拥塞窗口大小CWNDtarget,该更新的拥塞窗口大小 CWNDtarget用于传送片段的剩余部分,以满足该片段的时间间隔要求。如果由于过多的分组丢失而导致测量速率Rmeasured不够快以使得无法在时间间隔ΔT1内传送该片段,则需要该更新的拥塞窗口。
下面的讨论列出了一个示例,在该示例中,可以对片段传送进行评估,并且可以确定纠正措施的程度(以更新的拥塞窗口的形式)。
测量传送数据的速率并将该速率与满足时间间隔所需的速率进行比较。如下在式(5)中计算这些比率F,其中RTCP是如上面的式(1)列出的理论吞吐量,并且Rmeasured是所测量的传送速率:
Figure BDA0002693765280000101
将来自式(1)的RTCP代入式(5)可以得到下式:
Figure BDA0002693765280000102
根据内容数据片段内剩余待传送的数据量Dremaining和当前分组传送之后的剩余时间间隔(或直到传送截止期限的时间)ΔTd,如下计算确保在截止期限之前传送内容数据片段所需的传送速率Rreq
Figure BDA0002693765280000103
注意,ΔTd实际上等于ΔTn减去自开始传送以来经过的时间。
然后,假定在所需的理论传送速率与可达到的实际传送速率之间应用比率F,则内容数据片段的剩余部分的目标传送速率Rtarget可以表示为:
Rtarget=F×Rreq (8)
结合式(7)和式(8)给出了作为剩余待传送数据Dremaining和剩余时间间隔ΔTd的函数的Rtarget
Figure BDA0002693765280000104
使用式(1),更新的拥塞窗口大小CWNDtarget可以写成目标传送速率Rtarget的函数,如下所示:
CWNDtarget=RTT×Rtarget (10)
式(9)和式(10)可以组合,以将更新的拥塞窗口大小CWNDtarget表示为:
Figure BDA0002693765280000105
式(11)可以与式(6)进行组合并简化,以将更新的拥塞窗口CWNDtarget表示为:
Figure BDA0002693765280000106
其中,CWND是初始拥塞窗口CWND1,Rmeasured是所测量的传送速率,Dremaining是内容数据片段内剩余待传送数据量,并且ΔTd是用于剩余待传送内容数据片段的传送的剩余时间间隔。
因此,使用根据式(12)计算的更新的拥塞窗口CWNDtarget,可以传送该片段的剩余部分,从而使得整个片段在原始时间间隔ΔTn内得以传送。
因此,在本发明的示例中,服务器108间歇地对整个片段或该片段的一部分上正在实现的传送速率进行测量,或者计算所实现的吞吐量的另一度量(诸如偏向于最近传送的分组的加权平均值),并使用该测量的传送速率以及关于当前拥塞窗口大小、仍待传送的内容片段数据量和传送该内容片段直到截止期限为止的时间的知识来执行上述计算,并相应地调整拥塞窗口。
回到图4的流程图,在步骤406已开始传送片段之后的某一时间,在步骤408 进行检查以确定是否已传送了整个片段。如果已传送了整个片段,则处理进行至步骤 416。然而,现在,我们假定尚未传送整个片段,并且处理进行至步骤410。
在步骤410,传送速率单元218测量片段n中到目前为止已传送的部分的实际传送速率Rmeasured(注意,此时尚未传送整个片段)。
然后在步骤412,拥塞窗口单元212计算更新的拥塞窗口CWNDupdated,如上面的示例中所描述并在式(12)中具体示出的。该更新的拥塞窗口用于传送片段n的剩余部分。因此,在步骤414,服务器104开始使用更新的拥塞窗口CWNDupdated向客户端106传送第一片段的剩余部分。
然后,处理循环回到步骤408,在步骤408,再次进行检查以确定是否已传送了整个片段。如果还没有,则重复步骤410至步骤414,直到已传送完片段为止。因此,基于先前计算出的拥塞窗口来计算进一步更新的拥塞窗口,并将该进一步更新的拥塞窗口用于片段的传送,直到已传送整个片段为止。
一旦已传送了整个片段,则处理从步骤408进行至步骤416。在步骤416,进行进一步的检查以确定是否已传送了媒体内容的所有片段。如果已传送了全部片段,则处理以步骤420结束,并且流传输会话完成。如果还未传送全部片段,则处理前进至步骤422,在步骤422处,在处理返回至步骤402之前使片段索引n加1至n+1,以处理该下一片段,并进行重复直到传送了所有片段为止。
已经通过使用自适应比特率传送和基础TCP协议的网络传送媒体内容的上下文中描述了以上示例。然而,将理解,本发明不限于自适应比特率协议,而是可以在各种通信系统中实现,在该各种通信系统中,以片段的形式传送内容,并且实现了网络上业务的拥塞控制形式。
在服务器通过网络向客户端传送媒体内容片段的上下文中描述了以上示例。例如,服务器可以是原始服务器、内容传送网络(CDN)节点或住宅网关设备。更一般地,本文描述的服务器的功能可以由用于通过网络传送媒体内容的适当配置的发送器来实现。客户端可以是HTTP自适应比特率流传输客户端。客户端可以被适配成支持 MPEG DASH、HLS、平滑流传输或某一其它自适应比特率流传输协议。更一般地,客户端可以是用于通过网络接收媒体内容的任何适当配置的接收器。
已经参考“第一片段”和“第二片段”对上面的示例进行了描述。出于清楚和例示的目的,术语“第一”和“第二”被用作标签,并且既不意味着片段在内容流内的相对时间顺序也不意味着片段在内容流内的时间位置。例如,“第一片段”不必是将在流传输会话中传送的第一个片段,而可以指作为内容流的一部分传送的任何非最终片段。第一片段可以指的是一旦基础TCP协议在流传输会话启动时完成了快启动处理(例如,如果基础TCP协议是TCPNew Reno或TCP Cubic)就传送的片段。另选地,第一片段可以是指在快启动处理或某一其它类似处理期间传送的片段。因此,根据前述内容将理解,可以由拥塞窗口单元212根据针对在第一片段之前传送的先前片段的所测量的分组丢失来选择在步骤404描述的第一拥塞窗口的初始大小。该先前片段可以是紧接在第一片段之前传送的片段,或者是通过一个或更多个中间片段与内容流中的第一片段分开的某一其它先前片段。
本文描述的以及在图2和图3中所示的服务器和客户端被描述并示出为包括输入接口和输出接口中的一者或更多者。术语“输入”和“输出”不用于将接口限制为仅接收或发送数据,而是可以指接口与网络交换数据的方向。例如,服务器的输入接口可以是到内容生成器的接口;并且服务器的输出接口可以是到下游网络(例如,网络106) 的接口。客户端(其可以在服务器的下游)的输入接口可以是到上游网络(例如,网络106)的接口。更一般地,输入接口和输出接口可以称为“第一接口”和“第二接口”。在一些实现方式中,服务器和/或客户端可以具有输入/输出接口形式的单个接口。
通常,以上针对通信系统的部件描述的任何函数、方法、技术或部件可以以软件、固件、硬件(例如,固定逻辑电路)或其任何组合来实现。如本文所使用的,术语“单元”、“检测器”和“计算器”通常可以表示软件、固件、硬件或其任何组合。在软件实现方式的情况下,单元、检测器和计算器表示在处理器上执行时执行指定任务的计算机程序代码或计算机可读指令。本文描述的算法和方法可以由执行代码的一个或更多个处理器执行,该代码使处理器执行算法/方法。可以将计算机程序代码存储在非暂时性计算机可读存储介质上。计算机可读存储介质的示例包括随机存取存储器 (RAM);只读存储器(ROM);光盘;闪存存储器;硬盘存储器以及可以使用磁性、光学和其它技术来存储指令或其它数据并且可以由机器访问的其它存储设备。
申请人在此独立地公开本文所述的各个单独特征以及两个或更多个这种特征的任何组合到如下程度:能够根据本领域技术人员的公知常识,基于作为整体的本说明书执行这些特征或组合,而不管这些特征或特征的组合是否解决了本文公开的任何问题,并且不限于权利要求的范围。申请人指出,本发明的各方面可以由任何这种单个特征或特征的组合组成。根据前面的描述,对于本领域技术人员将明显的是,可以在本发明的范围内进行各种修改。

Claims (7)

1.一种通过网络传送媒体内容的方法,所述媒体内容包括多个时间片段,并且各个时间片段包括多个数据分组,所述方法包括:
a)确定片段的传送的时间间隔;
b)计算所述片段的所述传送的初始拥塞窗口大小,其中,所述初始拥塞窗口取决于所述时间间隔;
c)使用所述初始拥塞窗口来传送所述片段的第一部分;
d)对所述片段的所述第一部分的所述传送的第一速率进行测量;
e)根据所述初始拥塞窗口大小、所述第一速率、所述片段中的剩余待传送数据量和所述片段的剩余传送时间,计算更新的拥塞窗口大小;
f)使用所述更新的拥塞窗口大小来传送所述片段的另一部分。
2.根据权利要求1所述的方法,其中,所述片段的所述第一部分中的所有数据分组是使用所述初始拥塞窗口传送的。
3.根据权利要求1或2所述的方法,其中,所述第一速率是所述第一部分的平均传送速率。
4.根据权利要求1或2所述的方法,其中,所述第一速率是偏向于最近传送的分组的传送速率的加权平均值。
5.根据前述权利要求中任一项所述的方法,其中,所述片段的剩余传送时间是所述时间间隔减去传送所述第一部分花费的时间。
6.根据前述权利要求中任一项所述的方法,其中,所述更新的拥塞窗口大小CWNDtarget由下式给出:
Figure FDA0002693765270000011
其中,CWND是所述初始拥塞窗口大小,Rmeasured是所述第一速率,Dremaining是所述片段中的剩余待传送数据量,并且ΔTd是所述片段的剩余传送时间。
7.一种通过网络传送媒体内容的服务器,所述媒体内容包括多个时间片段,并且各个时间片段包括多个数据分组,所述服务器包括:
调度单元,所述调度单元被配置成确定片段的传送的时间间隔;
拥塞窗口单元,所述拥塞窗口单元被配置成计算所述片段的所述传送的初始拥塞窗口大小,其中,所述初始拥塞窗口取决于所述时间间隔;
所述调度单元还被配置成使用所述初始拥塞窗口来传送所述片段的第一部分;
传送速率单元,所述传送速率单元被配置成对所述片段的所述第一部分的所述传送的第一速率进行测量;并且
其中,所述拥塞窗口单元还被配置成根据所述初始拥塞窗口大小、所述第一速率、所述片段中的剩余待传送数据量和所述片段的剩余传送时间,计算更新的拥塞窗口大小;并且
其中,所述调度单元还被配置成使用所述更新的拥塞窗口大小来传送所述片段的另一部分。
CN201980021009.1A 2018-03-27 2019-03-15 一种通过网络传送媒体内容的方法及服务器 Active CN111886875B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18164295 2018-03-27
EP18164295.0 2018-03-27
PCT/EP2019/056594 WO2019185372A1 (en) 2018-03-27 2019-03-15 Congestion response for timely media delivery

Publications (2)

Publication Number Publication Date
CN111886875A CN111886875A (zh) 2020-11-03
CN111886875B true CN111886875B (zh) 2021-12-07

Family

ID=61827624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980021009.1A Active CN111886875B (zh) 2018-03-27 2019-03-15 一种通过网络传送媒体内容的方法及服务器

Country Status (4)

Country Link
US (1) US11140205B2 (zh)
EP (1) EP3777218B1 (zh)
CN (1) CN111886875B (zh)
WO (1) WO2019185372A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110192394B (zh) * 2016-12-21 2023-10-20 英国电讯有限公司 通过网络传送媒体内容的方法和服务器
WO2018121990A1 (en) 2016-12-29 2018-07-05 British Telecommunications Public Limited Company Transmission parameter control for segment delivery
WO2020030736A1 (en) * 2018-08-08 2020-02-13 British Telecommunications Public Limited Company Improved congestion response
US11646957B1 (en) * 2020-12-04 2023-05-09 Amazon Technologies, Inc. Network packet loss period expansion

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105064A (en) 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
CN1324862C (zh) * 2004-01-06 2007-07-04 北京邮电大学 通信网络中调整拥塞窗口的方法
KR100664947B1 (ko) * 2005-09-23 2007-01-04 삼성전자주식회사 전송률 제어 방법 및 이를 이용한 통신 장치
US7701853B2 (en) 2005-09-30 2010-04-20 Alcatel-Lucent Usa Inc. Method for policing-based adjustments to transmission window size
US7684319B2 (en) * 2006-06-29 2010-03-23 Intel Corporation Transmission control protocol congestion window
CA2737107C (en) * 2010-04-13 2019-08-27 Jingyuan Wang Tcp congestion control for heterogeneous networks
JP5867188B2 (ja) * 2012-03-12 2016-02-24 富士通株式会社 情報処理装置、輻輳制御方法および輻輳制御プログラム
EP2784996A1 (en) 2013-03-27 2014-10-01 British Telecommunications public limited company Deadline driven content delivery
WO2015078491A1 (en) 2013-11-26 2015-06-04 Telefonaktiebolaget L M Ericsson (Publ) Controlling a transmission control protocol congestion window size
US20150236966A1 (en) * 2014-02-18 2015-08-20 Alcatel-Lucent Usa Inc. Control of congestion window size of an information transmission connection
KR102363534B1 (ko) * 2015-06-08 2022-02-17 삼성전자주식회사 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
CN105978822A (zh) 2016-07-15 2016-09-28 福州大学 一种数据中心中基于时限敏感和往返时延的拥塞控制方法
EP3285454B1 (en) * 2016-08-16 2020-01-15 Alcatel Lucent Method and device for transmission of content
WO2018080726A1 (en) * 2016-10-28 2018-05-03 Level 3 Communications, Llc Systems and methods for adjusting a congestion window value of a content delivery network
GB201621854D0 (en) * 2016-12-21 2017-02-01 British Telecomm Managing congestion response during content delivery
GB2561526B (en) * 2016-12-29 2020-05-27 British Telecomm Transmission parameter control for segment delivery
GB2572357B (en) * 2018-03-27 2021-01-06 British Telecomm Congestion response for timely media delivery

Also Published As

Publication number Publication date
WO2019185372A1 (en) 2019-10-03
US11140205B2 (en) 2021-10-05
EP3777218A1 (en) 2021-02-17
EP3777218B1 (en) 2023-12-06
CN111886875A (zh) 2020-11-03
US20200412783A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
CN111886875B (zh) 一种通过网络传送媒体内容的方法及服务器
US11706272B2 (en) Adaptive streaming with early client indication
CN110192394B (zh) 通过网络传送媒体内容的方法和服务器
JP6255342B2 (ja) 帯域幅が変化する接続における動的ビットレート適合
JP6425649B2 (ja) Http疑似ストリーミング用の一体型コントローラベースのペーシング
EP2589223B1 (en) Video streaming
RU2598805C2 (ru) Способ для динамической адаптации частоты следования битов при приеме и соответствующий приемник
KR100982630B1 (ko) 콘텐츠의 스트림 비트율을 조정하기 위한 디바이스 및프로세스 그리고 관련 제품
JP2016059037A (ja) 少なくとも2つの連続するセグメントに分離されたマルチメディアコンテンツを受信するための方法およびクライアント端末、ならびに対応するコンピュータプログラム製品およびコンピュータ可読媒体
JP2023522895A (ja) オーディオ及び/又はビデオコンテンツ配信のための方法及びサーバ
KR20160112009A (ko) 중복 인코딩 컨텐츠 데이터 기능의 선택적 활용을 구현하는 전달 가속기
GB2559271A (en) Managing congestion response during content delivery
GB2577610A (en) Improved congestion response
GB2572357A (en) Congestion response for timely media delivery
US11438275B2 (en) Congestion response

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