实时内容分发系统中的时间同步的制作方法

文档序号:17584820发布日期:2019-05-03 21:13阅读:335来源:国知局
实时内容分发系统中的时间同步的制作方法

本发明涉及用于数据的节点到节点传输的通信网络系统的领域,且更具体地,涉及用于在网络中使用双向时间传送(two-waytimetransfer)来进行客户端设备的时间同步以用于实时媒体内容分发的方法。

发明背景

已知通过利用双向时间传送来在网络上使第一和第二设备之间的本地时钟同步,该方法包括计算第一设备的本地时间以及在第一设备的时间和来自第二设备的接收的本地时间之间的时间差。然后,利用本地时间和时间差来调整第一设备的时间。在计算中,当设备交换时间信息时,假定设备之间在两个方向上的单向延迟是相等的,并且共同形成往返时间(rtt),使得可以在数学上从双向时间传送方程移除任何不对称性,从而决定第一设备的时间的调整。

在经由服务器向多个客户端设备(诸如,智能电话和平板电脑)进行实时tv分发的应用中,存在对在相应客户端设备中的确切时间的需要,以在客户端设备之间提供相互同步的视频呈现并获得低时延。还存在估计rtt的确切时间的另一需要。因为rtt可能快速变化,对rtt的估计需要变得频繁。rtt主要用于三件事情:i)估计用于重传的计时器的可适用的时间周期,ii)估计abr变化何时应该完成,以避免由于将比特率降低到较晚而丢失图片的风险,以及iii)检测在网络中的拥塞。虽然双向时间传送在用于使网络中的设备同步时是非常可靠的,但是使用它来频繁地估计rtt需要与每个客户端设备的大量消息交换,且因此有影响视频分发的性能的风险,因为尽管视频的媒体内容对于所有客户端设备都是相同的,但是每客户端设备唯一的信息需要被添加到每个设备的媒体内容。

发明概述

提供用于客户端设备的时间同步的改进和可靠的方法将是有利的,该方法适合于媒体内容(诸如,tv/视频/音频流)的实时分发。本发明概念基于以下观察:通过选择性地利用时间传送方法,在双向时间传送系统中的服务器和客户端或其他服务器之间传送的定时信息的数量以及由中央处理器(cpu)必须处理频繁的消息发送以计算rtt而引起的相关性能下降可以显著减少。

该目的通过如在权利要求1中所定义的根据本发明的方法来实现。

因此,在本发明概念的第一方面中,提供了能够进行节点到节点时间传送的网络系统中的方法,该方法用于借助于双向时间传送来使发起服务器和至少一个客户端设备或其他服务器的相应本地时钟同步。双向时间传送包括在发起服务器中提供本地时钟信号,并且对于连接到发起服务器的至少一个客户端设备或其他服务器中的每一个:在发起服务器中接收客户端设备或其他服务器的本地时钟信号,基于发起服务器的本地时钟信号和接收的来自客户端设备或其他服务器的时钟信号来估计在发起服务器处的时间差,将发起服务器的所述本地时钟信号和在服务器处的所估计的时间差传送到客户端设备或其他服务器,基于客户端设备或其他服务器的本地时钟信号和接收的发起服务器的时钟信号来估计在客户端设备或其他服务器处的时间差,以及基于接收的在发起服务器处的估计的时间差、在客户端设备或其他服务器处的估计的时间差以及客户端设备或其他服务器的本地时钟信号来调整客户端设备或其他服务器的本地时钟信号。

该方法还包括第一模式,其中选择性地采用双向时间传送。选择性采用的双向时间传送被定义为双向时间传送,其中由服务器和客户端设备交换的每客户端特定时间信息的数量例如通过对第一模式进行时间限制或者在第一模式期间减少客户端设备的基于完全双向时间传送的同步的出现而进行控制。

通过选择性地采用双向时间传送,由服务器和客户端设备交换的每客户端特定时间信息的数量有利地减少,这在例如在实时tv分发中将时间信息发送到很多设备时是合乎需要的。服务器和相应的客户端时钟信号作为时间戳被传送。

此外,通过利用本方法,cpu可以对所有客户端设备使用相同的数据,而不是处理每设备的有效载荷。

通过利用选择性时间传送,较少的定时信息占据系统,并且在分发中的性能损失降低。这转而又允许一台服务器服务于更大数量的客户端设备或其他服务器。此外,由于rtt可以被更频繁地估计,因此拥塞的快速检测允许系统在媒体内容分发中做出响应,进行更快和更确切的带宽bw调整(abr),这增加了实时tv体验并降低了影响网络中的其他流量的风险。

根据该方法的实施例,在第一模式中,根据下列项中的至少一项来采用双向时间传送:在预定的时间间隔t期间,以及使用预定的频率f或速率r,这在网络中的消息发送的量减少时是有利的。

根据该方法的实施例,采用第一模式,直到达到在发起服务器或者客户端设备或其他服务器处的估计的时间差的预定阈值为止。也就是说,当客户端/其他服务器和发起服务器的本地时钟之间的时间差降低到预定阈值以下时,对执行选择性双向时间传送的需要减小了。

根据该方法的实施例,还包括在第一模式中基于在发起服务器处的估计的时间差或者在客户端设备或其他服务器处的估计的时间差中的至少一个来估计预定的时间间隔t以及预定的频率f和速率r中的至少一个。优选地,这在第一模式中完成,因为它允许基于服务器-客户端通信的当前性能水平来优化时钟同步的准确性和每设备特定消息发送的量的性能。例如,如果时间差大,则在第一模式中采用双向时间传送的频率增加或者预定的时间间隔t增加,或者在系统级上的其他度量可以被调整,例如,如果rtt增加,则abr级别优选地降低。

根据该方法的实施例,还包括(当退出所述第一模式时)采用第二模式,在该第二模式中,在发起服务器和客户端设备或其他服务器之间仅交换发起服务器的本地时钟信号和客户端设备或其他服务器的本地时钟信号。这是有利的,因为这提供了在第二模式中大多数定时消息,即在服务器和不同的客户端设备之间发送的定时信息,是相同的(从服务器到设备)。定时信息的缓冲减少,并且对每个客户端设备的有效负载的重写被避免,这原本可能降低在服务器中的cpu的性能,并从而降低服务器可以发送的视频流的数量。

根据该方法的实施例,第二模式还包括基于发起服务器的本地时钟信号和客户端设备或其他服务器的本地时钟信号来确定在发起服务器和客户端设备或其他服务器之间的单向延迟和/或估计rtt。在第二模式中,因为基于在第一模式中的调整,本地时钟信号是可用的且准确的,因此单向延迟和rtt可以在没有网络中的性能下降的情况下被频繁地估计。这允许早期检测在网络中的任何过载或拥塞。在rtt中的突然阶跃是在链路上的延迟的变化的有力指示。

根据实施例,该方法包括基于确定的单向延迟或rtt来提供abr调整。这可以在第一模式中以及在第二模式中完成,尽管第二模式是优选的,因为它创建了以更低的成本更频繁地测量延迟的方式。这允许系统快速发现拥塞,并通过调整abr级别来做出反应。

根据该方法的实施例,第二模式基于以下项中的至少一项被激活:预定的间隔t已经过去,以及在客户端或服务器处的估计的时间差的阈值q已经达到。优选地,阈值是时间差的用以在服务器和相应的客户端的时钟之间提供足够水平的同步的最小值。阈值可以根据具体应用而被选择为固定的或动态的。

根据该方法的实施例,基于预定的频率、计时器或者在客户端或服务器处的所估计的时间差中的至少一个来激活第一模式。当激活第二模式时,可以监控在服务器或客户端中的时间差如何随时间的推移而变化的平均值,并且重新进入第一模式的决定可以基于时间差随时间的推移而变化的所监控的平均值。这优选地在客户端设备处完成,因为这将网络系统中的数据的处理从服务器分配到它的所连接的客户端设备。有利地,服务器-客户端通信的性能可以在第一模式中和在第二模式中都被监控,并且用于分别确定第一模式或第二模式何时是激活的。

根据该方法的实施例,还包括当发起服务器首次连接到新的客户端设备或其他服务器时采用全双向时间传送的启动模式,这对在新的客户端设备中快速获得与服务器时钟同步的非常准确的时钟是有利的。

根据本发明概念的第二方面,提供了能够进行第一节点(例如,服务器)和至少一个第二节点(例如,客户端设备或其他服务器)之间的节点到节点时间传送的网络系统中的方法,该方法包括:对于至少第二节点中的每一个:将第一节点的本地时钟信号传送到第二节点,基于接收的第一节点的本地时钟信号和第二节点的本地时钟信号来确定第一节点和第二节点之间的单向延迟,以及基于确定的单向延迟来控制第一节点和第二节点之间的流量。在网络系统中,服务器和客户端设备的本地时钟的同步或者网络中的时钟准确度可以借助于双向时间传送或者用于时钟同步的某种其他技术(例如,利用全球定位系统、gps或者网络时间协议、ntp等)来提供。通过仍然将服务器时钟传送到客户端设备或其他服务器并且比较相应客户端设备或其他服务器的本地时钟和服务器时钟信号,可以有利地确定服务器和客户端设备之间的单向延迟。尽管可以根据本发明概念从发起服务器侧执行,但是这优选地在客户端设备处完成,因为这将网络系统中的数据的处理从服务器分别分配到它的所连接的客户端设备。每个客户端设备或其他服务器随时跟踪在它自己和服务器之间经历的单向延迟,并且基于该单向延迟,从而通过向服务器发送对abr改变或某些重传策略的适当请求来控制它自己的abr调整和/或(选择性)重传。

除了服务器-客户端通信之外,本发明概念还适用于在用于通过互联网分发例如像视频一样的内容的系统中的服务器-服务器通信。在例示的实施例中,通信服务器可以使用其他的系统(诸如,ntp)来使它们的本地时钟同步。这种系统的协议业务不一定通过与内容流相同的路径。然而,本地时钟将被同步,因此本发明方法的第二模式可以应用于测量内容流的方向上从服务器到服务器的单向延迟。至于如本文所述的单向延迟的服务器到客户端测量,延迟的增加指示拥塞,响应于该拥塞,服务器可以调整在它们之间的流量的量。因为在分发如视频的内容情况下所有服务器通常发送和接收所有abr级别,检测拥塞的特定服务器将向接收内容流的服务器指示移除abr级别、移除完整通道并可能发布流量的重新路由。

如上面所提到的,在使用ntp来使客户端或其他服务器的时间同步的情况下,交换的时间戳将不通过与内容数据相同的路径,意味着在现有技术系统中的延迟的差异的测量结果将不指示在内容流的路径中的拥塞。然而,根据本发明概念的第二模式确保了时间戳遵循与内容相同的路径,且因此精确地指示拥塞。

根据本发明的实施例,在内容流方向上确定单向延迟。

根据本发明概念的第三方面,提供了通信网络中的节点,其包括用于执行根据任一前述权利要求的方法的装置。还可以包括用于发送输出数据流的装置,例如发射机。

在被布置成用于节点到节点通信的通信系统中,节点包括存储计算机可读指令的存储器以及被配置为对根据本发明概念的方法执行计算机可读指令的处理器。此外,根据本发明概念的第四方面,提供了存储计算机可读指令的非暂时性计算机可读存储介质,所述计算机可读指令可以由处理器执行来使处理器执行本文提出的方法。

优选地,本发明方法的实施例借助于用于以软件、现场可编程门阵列(fpga)、专用集成电路(asic)或适于执行本发明的方法的其他合适的设备或可编程单元、在云服务或虚拟机中的实现(在图中未示出)的形式发信号并提供数据传送的软件模块在分发、媒体内容提供商或通信系统中实现。软件模块和/或数据传送模块可以集成在包括合适的处理装置和存储器装置的节点中,或者可以在包括合适的处理装置和存储器装置并且被布置为与现有节点互连的外部设备中实现。该节点优选地布置在例如与流媒体边缘服务器通信的边缘节点处,或者集成在流媒体边缘服务器中/或构成流媒体边缘服务器。

当学习以下详细描述的公开、附图和所附权利要求时,本发明的另外的目的、特征和优点将变得明显。本领域技术人员了解到,可组合本发明的不同特征以创建除了如下所描述的那些实施例之外的实施例。

附图简述

参考附图,通过本发明的优选实施例的说明性且非限制性的详细描述将更好地理解以上内容,在附图中相同的参考数字将用于类似的元素,其中:

图1和图2是图示服务器-客户端通信系统的示意性框图,在服务器-客户端通信系统中采用了根据本发明概念的方法和节点的实施例;

图3a和图3b是根据依据本发明概念的方法的实施例的在服务器和所连接的客户端设备之间的数据分组信令的示意图;以及

图4-图7是说明根据依据本发明概念的方法的实施例的流程图。

所有的附图为示意性的,不一定按比例绘制,并通常仅示出为了阐述本发明所必需的部件,其中其他部件可被省略或者仅仅是建议性的。

优选实施方式的详细描述

参考图1,其是示意性地图示用于媒体内容的实时分发的例如ip类型的通信网络系统100的框图,鉴于该通信网络系统将描述本发明概念的方面。服务器101被布置用于向一个或更多个接收者或客户端设备151、152、153提供媒体内容,该服务器可以是从分发系统(未示出)的入口服务器(未示出)接收数据的流媒体边缘服务器或播放服务器。媒体内容作为数据流ds经由网络200上的相应通信链路使用单播或多播被发送,并且通常被提供为连续分组流,其可以具有不同的大小,并且可以表示具有识别类型的某个报头(header)或报尾(trailer)的不同类型的分组。

在分发网络系统中,数据流ds从入口设备到客户端设备151、152、153的数据传输可以涉及传输视频分组(多播视频分组)和例如音频分组的形式的例如视频内容或其他媒体内容。数据流ds在流媒体边缘服务器(播放服务器)处被接收,流媒体边缘服务器在这里由服务器101体现,位于不同观看者位置处的多个客户端设备151、152、153从服务器101请求待显示的媒体内容。媒体内容通过相应的通信链路以单独的数据流ds1、ds2和ds3(在图1中示为dsx)被分发到客户端设备151、152、153,通信链路可以通过计算机网络(例如,lan、wan或互联网)、无线网络(例如,蜂窝数据网络或wifi)或这些网络类型的某种组合(在图1中示为辅助网络200)被提供。每个客户端设备151、152、153包括用于处理接收的媒体内容并选择待播放的媒体内容的装置。主分发网络和辅助网络200不需要是专用网络,但可以与其他服务共享。在系统中需要公共定时来在每个客户端设备中提供媒体内容(例如,视频)的同步呈现。

根据本发明概念,该方法(和相应的设备)在双向时间传送通信网络系统中被采用,其中设备能够利用数据分组的服务器-客户端传输来进行双向时间传送。每个设备,例如服务器101和每个客户端设备151–153,包括本地时钟以及能够向服务器和相应的客户端设备发送设备时钟信息并能够从服务器和相应的客户端设备接收时钟信息的装置。可选地,时钟信息的这种交换可以经由至少一个网络接口(nic)来处理,或者可替代地,直接在cpu中进行处理。在服务器和相应的客户端设备之间,这允许对时间和往返时间rtt的比较,并且允许报告服务器和相应的客户端设备之间的时间差。

连接到服务器以请求实时媒体内容的客户端设备151、152和153可以是例如来自不同制造商的不同版本的智能电话、ip可连接电视机或计算机,且因此具有关于时钟速度/频率、容差等的不同性能。因此,客户端设备需要被同步以提供媒体流dsx的分组的同时播放,即提供体流dsx的分组的同步播放时间。

图2是服务器101如何在消息(在此是在特定时间实例处发送的分组10的形式)中发送定时信息tsx与每个客户端设备151、152、153通信的示意图。在图3a和图3b中,给出了根据本发明概念的实施例的包含定时信息tsx的这种消息数据分组10a的示例,当服务器101的本地时钟向每个客户端设备151、152、153提供时间戳ts时,消息数据分组10a在特定的时间实例s处被发送(注意,在定时信息tsx中,特定的时间实例表示为s,以及客户端设备表示为x)。在图3a中,根据本发明概念的实施例,采用了双向时间传送(第一模式)。定时信息tsx包括时间差δ(ts-tx)和时间戳ts,其中tx是在服务器中接收到的相应的每客户端设备的时间戳。注意,对于每个定时分组10a,定时信息是不同的。则每个客户端设备的相应的定时信息由下式给出:

客户端设备151,定时信息ts151=[δ(ts-t151),ts]

客户端设备152,定时信息ts152=[δ(ts-t152),ts]

客户端设备153,定时信息ts153=[δ(ts-t153),ts]。

每个分组10a包含部分11a,该部分11a包括每客户端定时信息和有效载荷,例如在预定呈现时间(未示出)待由所有客户端设备显示的相同媒体内容。注意,在第一模式中,由于不同的定时信息,分组10a的部分11a对于每个客户端设备是不同的。可选地,除了客户端设备时间戳tx之外,在相应的客户端设备中估计的时间差也被发送到服务器,这在服务器和客户端设备的本地时钟需要相互同步的情况下是有利的,或者简单地作为关于与每个客户端设备相关联的时间差的信息被发送到服务器。

在图3b中,图示了根据本发明概念的实施例的第二模式,并且在这里定时信息tsx仅包括时间戳ts。注意,对于每个定时分组10b,定时信息对于所有客户端都是相同的。则每个客户端设备的相应的定时信息由下式给出:

客户端设备151,定时信息ts151=[ts]

客户端设备152,定时信息ts152=[ts]

客户端设备153,定时信息ts153=[ts]。

每个分组10b包含部分11b,该部分11b包括每客户端定时信息和有效载荷,例如待显示的媒体内容。注意,对于第二模式,部分11b对于所有客户端设备都是相同的。

根据本发明的实施例,分发系统还包括用于处理媒体内容在客户端设备处的播放时间的同步的控制设备,该控制设备在此由单独的控制服务器101a体现,该控制服务器101a被布置成与服务器101b通信以用于数据流式传输,并且客户端设备151、152、153与服务器101分开地布置或者集成在服务器101中,如用在图1中的虚线框(服务器101)所示的。当集成在服务器101中时,控制设备101a优选地是包括处理器和存储设备的软件模块和/或数据传送模块,或者当在包括处理器和存储设备的外部设备中实现时。

根据依据本发明概念的方法的实施例,参考图1和图4,在第一步骤s410中,对所连接的客户端设备(单独地)采用根据本发明的具有选择性双向时间传送的第一模式,随后是步骤s420,在步骤s420中第二模式被激活。

在服务器101的本地时钟被认为是可信的情形中,实时媒体内容ds到连接到那个服务器的所有客户端设备的播放通过下列操作相对于服务器101的本地时钟被同步:提供本地时钟信号并将本地时钟信号的时间戳传送到连接到服务器的(每个)客户端设备,在服务器中接收客户端设备的本地时钟信号,在服务器中基于服务器的本地时钟信号和接收的来自客户端设备的时钟信号来估计时间差,将服务器和客户端设备之间的所估计的时间差传送到客户端设备以及基于所估计的时间差来调整客户端设备的本地时钟信号。可以重复该过程,直到客户端设备和服务器之间的时间差达到可接受的阈值或者在继续到步骤s420之前的预定时间周期t内为止,该可接受的阈值表示相应客户端设备时钟相对于服务器的同步的质量因子q。

当步骤s420被激活时,通过使用预定的频率f或速率采用双向时间传送(第一模式),即返回到步骤s410,可以选择性地使用双向时间传送。一般可适用的频率的示例是每秒10次。根据实施例,在预定的时间间隔t期间采用第一模式,该时间间隔t通常可以是每秒100ms。

根据该方法的实施例,如图5所示,当在初始步骤s400中将新设备连接到服务器时,采用全双向时间传送来调整设备时钟。在分发系统启动时,这将对所有设备都是相关的,并且为了保持bw/处理,可以采用最低abr级别。在正常操作中,只有新连接的设备最初将使用全双向时间传送。当客户端设备时钟已经被调整合理时,双向时间传送被选择性地使用(或发送),进入第一模式,步骤s410,具有低频f以减少每客户端设备特定消息的数量并维持所调整的客户端设备时钟,或者基于参考图5所示的其他因素而进入和退出选择性双向时间传送(第一模式)。在所示的方法中,在选择性地采用双向时间传送(第一模式)之间,当在步骤s415中时,时间周期t或者可选地基于所测量的质量因子q(其可以直接从客户端设备和服务器时钟之间的所估计的时间差导出),该方法进入步骤s420,在该步骤中,服务器仅发送其自己时钟的时间戳(而不是它的时钟和相应的客户端设备时钟之间的时间差),意味着所有客户端设备接收相同的消息。随后,包括服务器的本地时钟的时间戳的该消息可以用于当假定有对称延迟时,在步骤s422(参见图7)中通过简单地将从服务器到设备的单向延迟乘以2来确定从服务器到设备的单向延迟和rtt。该方法可以包括提供abr调整的可选步骤或者其他方法,例如选择性重传,以基于所确定的单向延迟(或rtt)来减少流量从而避免拥塞。如果在第二模式中确定单向延迟(或rtt)增加到预定范围以上或以下,或者如果单向延迟(或rtt)的增加/减少非常快,则相应地调整abr。服务器到设备延迟的估计将是准确的,因为服务器时钟和设备时钟都被充分地同步,并且接收的时钟和本地时钟之间的差估计单向延迟。

在步骤s425中,基于用于采用第一模式的预设频率f,或可替代地基于预定时间间隔i或所测量或估计的性能因子例如rtt,随后采用步骤s410。

在图6中,该方法的所示实施例包括可以位于步骤s410和步骤s415之间的步骤s412。当双向时间传送被选择性地提供时,方法然后进一步包括基于在第一模式中可用的所估计的时间差来估计预定时间间隔i和预定频率f中的至少一个。

为了处理丢失的分组和其他类型的错误,通信和分发系统采用各种技术来处理错误地接收的信息。客户端设备可以通过重传技术来纠正在其它技术当中错误地接收的信息,重传技术使错误地接收的信息能够例如通过使用自动重传请求(arq)而被重传到接收器。

根据该方法的实施例,基于系统中的单向延迟来估计rtt,以确定用于nack的重传的计时器设置,从而从丢失的nack或重传的数据中恢复,通常计时器被设置为4xrtt以平衡掉nack和与系统延迟相关的数据的不必要的重传。通过在第二模式中执行rtt估计(s422),rtt的估计可以频繁地完成,且因此是更加准确的。

根据本发明概念,定时信息用于提供视频在客户端设备中的呈现的确切时间、单向延迟和rtt估计、在服务器和客户端设备或其他服务器之间的单向延迟的变化的检测以能够检测网络中的过载并检测没有过载存在(低且恒定的延迟)的系统的性能。如果检测到过载,则这通过降低所分发的媒体内容的abr级别或通过避免重传数据来处理。流量的控制还可以包括基于所确定的单向延迟在第一节点(例如,发起服务器)和第二节点(例如,接收服务器或客户端设备)之间的流量的重新路由。

当发起服务器被布置用于将多个数据通道分配给多个接收服务器时,其中每个通道作为多个流被分配,每个流表示特定的abr级别,流量的控制可以通过重新路由在网络中的流或者选择性地减少所分配的通道的数量和/或所分配的abr级别的数量来执行。在示例中,五个abr级别,例如0.5、1.0、1.5、2.5和3.5mbps,其总共表示9mbps的流量,从服务器分配到服务器。如果单向延迟增加并且指示存在拥塞的问题,则abr级别的数量减少,并且只有选定的abr级别,例如0.5和2.5mbp被分配,这将通道的总流量从9mbp减少到3mbp,从而潜在地避免了进一步的拥塞。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1