网络中的带宽分发的制作方法

文档序号:11335331阅读:262来源:国知局
网络中的带宽分发的制造方法与工艺

本发明涉及用于网络中的带宽分发的方法和设备。特别地但不排他地,本发明涉及针对自适应流传输客户端的带宽分发。



背景技术:

http自适应技术用于因特网中的视听数据的传递。这样的技术使得客户端设备能够以小的连续的段(通常称为块)的形式来接收视频。每个段通过http协议被请求并且可以存在于不同的变型(所谓的表示)中,允许客户端设备随时选择与网络和设备约束相匹配的合适的比特率。

在已经使用的http自适应流传输(has)协议之中,最有名的是来自苹果的http实时流传输(hls)、来自微软的银光平滑流传输(sss)、来自奥多比的http动态流传输(hds)、以及由sa4组中的3gpp发起并由mpeg开发的通过http的动态自适应流传输(dash)。

mpeg-dash(亦称dash,通过http的动态自适应流传输,iso/iec23009)针对通过具有时变性能(带宽)的网络的内容的传递定义了完整的解决方案。

在数据会话的内容的播放期间,mpeg-dash客户端从服务器请求内容的块,并使用其对网络条件的知识、其自身约束以及相同内容(通常为具有不同编码比特率的相同内容)的可用表示的列表,以便请求最合适的表示。块持续时间通常设置为几秒,从而允许dash客户端每几秒从一个表示切换到另一个表示,以便动态地适配网络条件。当低带宽可用时,dash客户端请求低比特率块,并且如果更高带宽成为可用,则它们可以请求更高比特率块。

针对给定内容的可用表示的列表在由dash客户端检索的清单文件(mpd,媒体呈现描述)中描述。在对mpd进行解析之后,dash客户端发现从那里请求内容块的url。mpd还允许客户端发现表示信息(诸如带宽要求),所以当网络条件需要时,可以通过在所有表示之间切换来执行动态适配。

通常,当使用dash的动态方面时,通过http和tcp来分发内容。tcp是带宽友好协议,其中所有tcp连接尝试在它们之间平均地共享整体网络带宽。遗憾的是,诸如udp之类的其他协议可能较不带宽友好地从tcp窃取所有带宽。此外,即使在不同的tcp连接之间,也难以确保带宽的固定的和不平均的重新划分;这在某些设备实际上需要比其他设备更多的带宽时是有问题的。例如,在客厅的主电视上播放ultrahd流的dash客户端需要比在移动电话上播放hd流的dash客户端更多的带宽。但是,在它们都同时运行并且整体网络带宽不足以供应它们二者的情况下,dash客户端适配机制将在两个客户端之间产生对带宽的争夺,导致两个客户端的下降的质量。不出所料,越多dash客户端竞争,情况就越严重。此外,在传统的dash实现方式中,dash客户端不知道针对相同的网络带宽可用性与其竞争的其他dash客户端的存在。dash客户端可以看到的所有是由于其他dash客户端对网络带宽的变化的消耗而导致的非常变化的带宽的可用性。

考虑到前述内容而设计本发明。



技术实现要素:

在一般形式中,本发明涉及在网络的通信设备之间的描述其相应数据会话(业务会话或数据业务会话)的参数的交换,以及在通信设备处,使用交换参数将带宽分配给网络中的一个或多个数据会话的带宽分发算法的应用。

根据本发明的第一方面,提供了一种在网络中的通信设备的多个数据会话之间分发网络中的可用带宽的方法,该方法包括在通信设备处:

使用至少一个带宽参数应用带宽分发算法来提供用于在所述通信设备处要运行或正在运行的数据会话和由网络中的其他通信设备要运行或正在运行的任何其他数据会话的分配带宽,该至少一个带宽参数从在所述通信设备与网络的至少一个其他通信设备之间交换的信息消息中获得并且指示用于在从其发送对应信息消息的通信设备处要运行的数据会话的所需带宽。

在一个或多个实施例中,通信设备被配置用于自适应流传输,例如根据mpeg-dash。

在实施例中,针对在网络中要运行或运行的每个数据会话确定分配带宽。在某些情况下,分配带宽可以是零带宽。

在实施例中,信息消息用信号通知要运行或正在运行的对应数据会话。

相应的信息消息中的至少一个参数包括以下中的一个或多个:

表示对应数据会话的优先级的等级的优先级数据;

表示对应数据会话的数据段的持续时间的块持续时间数据;以及

表示对应数据会话的至少一个可操作带宽的带宽数据。

在一些实施例中,信息消息包含表示要用于提供分配带宽的所选带宽分发算法的带宽分发算法数据。

在实施例中,带宽分发算法包括将可用带宽划分成相等份额,用于分配给相对于要运行或正在运行的其他数据会话的优先级的等级具有最高的优先级的等级的数据会话中的每一个。

每个数据会话的数据内容可以具有对应的多个表示,并且根据通过划分可用带宽所分配的带宽来选择表示中的一个,所选表示对应于需要在分配带宽内的最大带宽的表示。

在实施例中,在用于所选表示的所需带宽小于分配带宽的情况下,将剩余带宽的至少一部分重新分配给在用于最高优先级的其他数据会话的其他信息消息之前发送对应信息消息的最高优先级的数据会话。

在实施例中,在用于所选表示的所需带宽小于分配带宽的情况下,将剩余带宽的至少一部分分配给下个较低优先级等级的数据会话。对较低优先级的数据会话的分配基于以下中的至少一个:数据会话的优先级等级;对应信息消息的传送时间;以及数据会话的开始时间。

在实施例中,带宽分发算法包括将最大可能带宽分配给具有与其他数据会话的优先级相比的最高的优先级的等级的数据会话,并且对于该数据会话,在用于最高优先级的其他数据会话的其他信息消息之前发送对应信息消息,最大可能带宽在可用带宽内与相对于相同内容的其他表示需要最大带宽的数据会话的内容的表示相对应。

在实施例中,带宽分发算法包括基于数据会话的优先级的等级和对应信息消息的发出时间,将最大可能带宽分配给至少一个数据会话。特别地,将最大可能带宽分配给最高优先级的数据会话,对于该数据会话,在用于相同优先级的数据会话的其他信息消息之前发送对应信息消息;最大可能带宽在可用带宽内与相对于相同内容的其他表示需要最大带宽的数据会话的内容的表示相对应。

在实施例中,带宽分发算法包括分配与需要最小带宽的内容数据会话的表示相对应的带宽。

在实施例中,该方法还可以包括基于数据会话的优先级等级、对应信息消息的传送时间和数据会话的开始时间中的至少一个,将任何剩余可用带宽重新分配给数据会话,以实现更高等级的表示。

在实施例中,在给定的优先级等级内,基于用于对应数据会话的信息消息的传送时间和数据会话的开始时间中的至少一个,将剩余可用带宽分配给数据会话。

在实施例中,将信息消息发送到固定的多播地址并且从固定的多播地址接收信息消息,以用于转发到其他通信设备。

在实施例中,经由中央基站设备交换信息消息。

在实施例中,由开始数据会话的所有通信设备使用相同的带宽分配算法。

在实施例中,根据分配给每个带宽分配算法的优先级等级和选择每个带宽算法的通信设备的数量中的至少一个来选择带宽分配算法。

根据本发明的第二方面,提供了一种通信设备,包括通信接口,用于与相同网络中的一个或多个其他通信设备交换信息消息,每个信息消息包括指示用于在从其发送对应信息消息的通信设备处要运行或正在运行的数据会话的所需带宽的至少一个带宽参数,以及一个或多个处理器,被配置为使用该至少一个带宽参数应用带宽分发算法来提供用于在所述通信设备处要运行或正在运行的数据会话的分配带宽。在一些实施例中,使用至少一个带宽参数来应用带宽分发算法,以提供用于在网络中要运行或正在运行的每个数据会话的分配带宽。每个数据会话可以具有对应的信息消息。

通信设备的一个或多个处理器可以被配置为执行本发明的第一方面的实施例的任何步骤。

在本发明的一些实施例中,来自通信设备的对应信息方法的存在表明在该通信设备处的正在进行(正在运行)的数据会话或者要开始(要运行)的数据会话。

本发明的一方面提供了一种在网络中的相应通信设备的多个数据会话之间分发网络的可用带宽的方法,该方法包括,对于网络中的通信设备,

向网络中的其他通信设备传送信息消息;

从网络中的至少一个其他通信设备接收信息消息;其中每个信息消息包含指示用于对应通信设备处的数据会话的所需带宽的至少一个参数;以及

应用带宽分发算法来提供用于所述通信设备的数据会话的分配带宽,其中由带宽分发算法使用每个信息消息的至少一个参数。

在本发明的实施例中,从发起或具有正在进行的数据会话的所有其他通信设备接收信息消息。

根据本发明的一方面,提供了一种在网络中的通信设备的多个数据会话之间分发网络中的可用带宽的方法,该方法包括:应用带宽分发算法来提供用于由网络的通信设备要运行或正在运行的每个数据会话的分配带宽;其中带宽分发算法包括将最大所需带宽分配给与其他数据会话相比的最高的优先级的等级的至少一个数据会话,并且对于该至少一个数据会话,在用于相同优先级等级的其他数据会话的其他信息消息之前发送用信号通知数据会话的对应信息消息,数据会话的最大所需带宽在可用带宽内与相对于相同内容的其他表示需要最大带宽的数据会话的内容的表示相对应。

根据本发明的一方面,提供了一种通信设备,包括一个或多个处理器,该处理器被配置为:应用带宽分发算法来提供用于由网络的通信设备要运行或正在运行的每个数据会话的分配带宽;

其中带宽分发算法包括以优先级的等级的顺序将最大可能带宽分配给至少一个数据会话,并且对于该至少一个数据会话,在用于相同优先级等级的其他数据会话的其他信息消息之前发送用信号通知数据会话的对应信息消息,数据会话的最大可能带宽在可用带宽内与相对于相同内容的其他表示需要最大带宽的数据会话的内容的表示相对应。

在实施例中,在给定的优先级等级内,基于数据会话的优先级等级、用于对应数据会话的信息消息的传送时间和数据会话的开始时间中的至少一个,将剩余带宽分配给其他数据会话。

在实施例中,在给定的优先级等级内,将带宽的增加的份额分配给在用于相同优先级的其他数据会话的其他信息消息之前发送对应信息消息的至少一个数据会话。

在实施例中,其中在给定的较低优先级等级内,将与需要最小带宽的数据会话的内容的表示相对应的带宽分配给至少一个数据会话。

在实施例中,该方法包括或者该设备被配置用于基于数据会话的优先级等级、对应信息消息的传送时间和数据会话的开始时间中的至少一个,将任何剩余可用带宽重新分配给给定的较低优先级等级中的数据会话,以实现更高等级的表示。

在实施例中,该方法包括或者该设备被配置用于将剩余带宽划分成相等份额,用于分配给较低的给定的优先级的等级中的每个数据会话。

在实施例中,根据所分配的带宽的相等份额,针对每个数据会话选择数据内容的表示,所选表示是需要小于或等于所分配的带宽的份额的最大带宽的表示。

在实施例中,该方法包括在用于所选表示的所需带宽小于所分配的带宽的相等份额的情况下,将剩余带宽的至少一部分重新分配给在用于给定优先级的数据会话的其他信息消息之前发送对应信息消息的给定优先级等级的数据会话。

在实施例中,用于带宽分发算法的至少一个带宽参数从在网络的通信设备之间交换的信息消息中获得,并且指示用于在从其发送对应信息消息的通信设备处要运行或正在运行的数据会话的所需带宽。

本发明的一方面提供了一种在网络中的通信设备的多个数据会话之间分发网络中的可用带宽的方法,该方法包括:应用带宽分发算法来提供用于由网络的通信设备要运行或正在运行的每个数据会话的分配带宽;其中带宽分发算法包括将可用带宽划分成相等份额,用于分配给具有最高的优先级的等级的每个数据会话。

本发明的一方面提供了一种通信设备,包括一个或多个处理器,该处理器被配置为:应用带宽分发算法来提供用于由网络的通信设备要运行或正在运行的每个数据会话的分配带宽;其中带宽分发算法包括将可用带宽划分成相等份额,用于分配给具有最高的优先级的等级的每个数据会话。每个数据会话的数据内容具有对应的多个表示,并且其中根据所分配的带宽的相等份额来针对每个数据会话选择所述表示中的一个,所选表示是需要小于或等于所分配的带宽的份额的最大带宽的表示。

在实施例中,在用于所选表示的所需带宽小于所分配的带宽的相等份额的情况下,将剩余带宽的至少一部分重新分配给在用于最高优先级的数据会话的其他信息消息之前发送用信号通知数据会话的对应信息消息的最高优先级的数据会话。

在实施例中,在用于所选表示的所需带宽小于所分配的带宽的相等份额的情况下,基于以下中的至少一个将剩余带宽的至少一部分分配给另一数据会话:数据会话的优先级等级;用信号通知数据会话的对应信息消息的传送时间;以及数据会话的开始时间。

在实施例中,在给定的优先级等级内,基于用信号通知对应数据会话的信息消息的传送时间和数据会话的开始时间中的至少一个,分配剩余带宽。

在实施例中,在给定的优先级等级内,将带宽的增加的份额分配给在用于相同优先级的其他数据会话的其他信息消息之前发送用信号通知数据会话的对应信息消息的至少一个数据会话。

在实施例中,在给定的较低优先级等级内,将与需要最小带宽的数据会话的内容的表示相对应的带宽分配给至少一个数据会话。

在实施例中,该方法包括或者该设备被配置用于基于数据会话的优先级等级、对应信息消息的传送时间和数据会话的开始时间中的至少一个,将任何剩余可用带宽重新分配给给定的较低优先级等级中的数据会话,以实现更高等级的表示。

在实施例中,用于带宽分发算法的至少一个带宽参数从在网络的通信设备之间交换的信息消息中获得,并且指示用于在从其发送对应信息消息的通信设备处要运行或正在运行的数据会话的所需带宽。

在实施例中,经由中央基站设备交换信息消息。

在实施例中,由开始或运行数据会话的所有通信设备使用相同的带宽分配算法。

在实施例中,根据分配给每个带宽分配算法的优先级等级和选择每个带宽算法的通信设备的数量中的至少一个来确定带宽分配算法。

根据本发明的一方面,提供了一种在网络中的通信设备的多个数据会话之间分发网络中的可用带宽的方法,所述方法包括:

应用带宽分发算法来提供用于由网络的通信设备要运行或正在运行的一个或多个数据会话的分配带宽;

其中带宽分发算法包括向一个或多个数据会话分配与需要最小带宽的相应数据会话的数据内容的表示相对应的带宽。

本发明的一方面提供了一种通信设备,包括一个或多个处理器,该处理器被配置为:应用带宽分发算法来提供用于由网络的通信设备要运行或正在运行的每个数据会话的分配带宽;其中带宽分发算法包括向一个或多个数据会话分配与需要最小带宽的相应数据会话的数据内容的表示相对应的带宽。

在实施例中,该方法包括或者该设备被配置用于基于数据会话的优先级等级、用信号通知数据会话的对应信息消息的传送时间和数据会话的开始时间中的至少一个,将任何剩余可用带宽重新分配给数据会话,以实现更高等级的表示。

在实施例中,在给定的优先级等级内,基于数据会话的优先级等级、用于对应数据会话的信息消息的传送时间和数据会话的开始时间中的至少一个,将剩余可用带宽分配给其他数据会话。

在实施例中,用于带宽分发算法的至少一个带宽参数从在用信号通知对应数据会话的网络的通信设备之间交换的信息消息中获得,并且指示用于在从其发送对应信息消息的通信设备处要运行或正在运行的数据会话的所需带宽。

由本发明的元素实现的一些处理可以是计算机实现的。因此,这样的元素可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或者组合软件和硬件方面的实施例的形式,所有这些方面可以在此通常被称为“电路”、“模块”或“系统”。此外,这些元素可以采取计算机程序产品的形式,计算机程序产品体现在具有在介质中体现的计算机可用程序代码的表达的任何有形介质中。

由于本发明的元素可以以软件实现,所以本发明可以实施为用于在任何合适的载体介质上提供到可编程装置的计算机可读代码。有形载体介质可以包括存储介质,诸如软盘、cd-rom、硬盘驱动器、磁带设备或固态存储器设备等。瞬态载体介质可以包括诸如电信号、电子信号、光信号、声信号、磁信号或电磁信号(例如微波或rf信号)之类的信号。

附图说明

现在将仅通过示例的方式并且参考以下附图来描述本发明的实施例,附图中:

图1是可以实现本发明的一个或多个实施例的数据通信系统的示意性框图;

图2是根据本发明的实施例的通信设备的示意性框图;

图3是根据本发明的实施例的带宽分发的方法的步骤的流程图。

具体实施方式

图1是可以实现本发明的一个或多个实施例的数据通信系统的示意性框图。

数据通信系统1包括多个服务器设备s1、s2,多个客户端设备c1、c2和c3,以及网关设备gw。

客户端设备c1、c2和c3连接到本地网络n1。本地网络n1可以是局域网(lan),诸如例如无线网络(例如wifii802.lla或b或g)、以太网或由多个不同网络组成的混合网络。本地网络n1通过网关gw连接到广域网(wan)网络n2(诸如因特网)。

每个客户端设备c1至c3被配置为通过经由wan网络n2与一个或多个远程服务器s1、s2连接而建立一个或多个数据会话(诸如固定速率流传输会话,自适应流传输会话(例如has),批量数据会话)。数据会话也可以称为业务会话、数据业务会话或会话。客户端设备c1、c2、c3可以是被配置为接收和解码所传送的比特流以在客户端设备上呈现诸如多媒体数据之类的数据的通信设备。特别地,客户端设备c1至c3适于实现用于自适应流传输的mpeg-dash协议。在所示示例中,c1是膝上型计算机,c2是hd显示器,并且c3是智能电话。

在内容的播放期间,客户端设备c1、c2或c3可以从服务器s1或s2请求内容的块,并且可以使用对网络n1的条件的知识、其自身约束以及相同内容(通常为具有不同编码比特率的相同内容)的可用表示的列表,以便请求最合适的表示。块持续时间可以设置为几秒,从而允许客户端c1至c3每几秒从一个表示切换到另一个表示,以便动态地适配网络条件。

针对给定内容的可用表示的列表在由客户端设备c1至c3检索的清单文件(mpd,媒体呈现描述)中描述。在对mpd进行解析之后,客户端设备可以发现从那里请求内容块的url。mpd还可以使客户端c1至c3能够发现关于表示的信息(诸如带宽要求),所以当网络条件需要时,可以通过在所有表示之间切换来执行动态适配。

图2是示出根据本发明的实施例的客户端设备100的框图。在一些实施例中,客户端设备100可以是便携式媒体设备、移动电话、平板、膝上型计算机、hdtv等。将理解的是,客户端设备100可以不包括用于呈现接收到的媒体内容的所有元素,而是仅包括诸如用于对媒体内容进行解复用和解码的元素之类的一些子元素,并且可以依赖于外部设备来将经解码的内容呈现给最终用户。

客户端设备100包括:

lan(局域网)接口110(有线的和/或无线的,诸如wi-fi,以太网等),用于连接到本地网络n1;

通信模块120,包括与实现发布/订阅范例(例如数据分发服务(dds)、java消息服务(jms)、qeo,在图中未示出)的管理通信总线相关联的管理接口121,设备通过其可以向本地网络n1的所有其他设备c1至c3和网关gw发送信息消息并从其接收信息消息。信息消息可以是例如持久消息,使得其可以由网络的任何设备收集(即使在发送时设备未连接到网络n1)。例如,消息可以例如由在设备的管理接口121上运行的后台服务收集,或者可以由管理通信总线存储为要由管理接口121(例如,定期地或必要时)检索的长寿命消息。通信模块还包括应用接口122,设备通过其发送和接收与给定会话相关联的控制和数据消息。

通信模块120包含用于与服务器s1、s2进行通信的协议栈。特别地,通信模块120包括本领域众所周知的tcp/ip栈。然而,将理解的是,可以使用任何其他类型的网络和/或通信部件来使设备c1至c3能够与服务器s1、s2进行通信。

客户端设备100还包括存储器150、存储器控制器145以及包括一个或多个处理单元(cpu)的处理电路140。一个或多个处理单元140运行存储在存储器150中的各种软件程序和/或指令集,以执行客户端设备100的各种功能并处理数据。

存储在存储器中的软件组件包括用于根据本发明的实施例来分配带宽的带宽分配模块(或指令集)151。可以包括其他模块,诸如用于控制通用系统任务(例如电源管理、存储器管理)并且用于促进客户端设备100的各种硬件和软件组件之间的通信的操作系统模块152。

此外,取决于其类型,设备c1至c3还可以包括自适应流传输模块(其连续地选择更好地匹配网络约束及其自身约束的比特率的块),适于对多媒体内容进行解码和呈现的视频播放器,被配置用于对从服务器接收到的块在其发送到视频播放器之前进行缓冲的缓冲器,等等(所述模块在图2中未示出)。

提供内部总线b以用于连接各种模块以及本领域技术人员众所周知的所有部件,以用于执行通用客户端设备功能。

在图2中,将理解的是,所示的模块对应于功能模块,功能模块可以对应或者可以不对应于可区分物理单元。例如,多个这样的模块可以关联在唯一的组件或电路中,或者对应于软件功能。此外,模块可以可能地由分离的物理实体或软件功能组成。

功能模块可以实现为硬件电路,包括例如vlsi电路或门阵列,诸如逻辑芯片、晶体管之类的分立半导体导体等。模块还可以实现在可编程硬件设备中,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。此外,模块可以实现为软件和一个或多个硬件设备的组合。例如,模块可以包含在操作一组操作数据的处理器的组合中。此外,模块可以实现在经由传送电路的电子信号通信的组合中。

在本发明的实施例中,客户端设备c1、c2和c3交换对其相应数据会话进行描述的参数。虽然对于数据内容的所需表示仍然使用典型的dash自适应算法,但是每个客户端然后可以使用其他数据会话的知识来防止自身在某些情况下占用太多带宽,使得可以协作地获得对网络带宽的公平共享。

将参考图3描述根据本发明的实施例的网络n1中的可用带宽的分发方法。图3的方法可以由客户端设备c1至c3中的任一来实现,以共享网络n1的可用带宽。在本发明的一些实施例中,可以从中央设备用信号通知要在客户端设备c1至c3之间共享的n1的可用带宽的总量。例如,网关设备gw对接入链路的实际属性具有良好查看,并且还可以向不同类型的数据业务分配带宽,可以因此决定对于数据会话有多少带宽可用。在本发明的其他实施例中,客户端设备c1至c3通常通过例如监视他们从服务器接收到他们所请求的给定数量的最后的分组或块的速度来估计整体带宽。

在步骤s310中,客户端设备c1向网络n1中的其他客户端设备c2、c3发送信息消息。信息消息包含指示在客户端设备c1处要发起或已经进行的数据会话的所需带宽的参数。在步骤s310中,客户端设备c1还从意在开始数据会话(或具有正在进行的会话)的任何其他客户端设备c2和/或c3接收包含指示在客户端设备c2或c3处要发起或正在进行的数据会话的所需带宽的参数的信息消息。将理解的是,对于带宽消息的接收或传送没有特定顺序,并且其他设备可以在从客户端c1传送信息消息之前、之后或者与从客户端c1传送信息消息同步地传送它们相应的信息消息。

在本发明的特定实施例中,无论何时新的客户端设备向网络发送其信息消息,接收它的所有客户端设备也会以对其的响应来发送它们的信息消息。以这种方式,所有客户端设备都知道网络中的所有其他客户端设备。

针对每个客户端设备,信息消息中的在客户端设备之间交换的参数包括带宽要求的列表,带宽要求与它们准备呈现的内容表示、这些表示的dash段持续时间、服务优先级(相对于其他客户端)、以及在某些情况下的它们的优选表示带宽相关。

包含在信息消息中的参数的示例包括:

表示对应数据会话的优先级或排列的等级的优先级数据;

表示对应数据会话的数据段的持续时间的块持续时间数据;以及

表示对应数据会话的优选带宽的带宽偏好数据。

在客户端设备之间交换带宽要求信息使得客户端设备能够查看到其他参与的数据会话(以及它们在带宽要求和服务优先级方面的偏好)。

在客户端设备初始不知道彼此的情况下,为了从一个客户端设备(例如网络n1的c1)向其他客户端(例如网络n1的c2、c3)发送信息消息,可以使用以下两种交换模式:

·多播消息系统

在这种交换模式中,所有客户端设备都定期向固定的ip多播地址发送它们的信息消息,并且所有客户端设备都收听相同的ip多播固定地址。通过这样做,客户端设备可以随时发现也实现带宽分发算法的所有其他客户端设备的存在,并且可以接收它们的服务信息偏好。ip多播地址可以在客户端设备上设置,或者可以由用户来配置(在所有设备上使用相同的多播)。信息消息由每个客户端设备在多播通信上定期发送,以向其他客户端设备用信号通知它们仍在运行,以及如果新的客户端设备已加入网络(其他客户端设备无法知道)。在另一实施例中,网络上的新的客户端设备用信号通知其在多播地址上的到达,并且网络上的所有其他客户端设备然后可以在单播中或者在多播通信信道上将它们的信息消息直接发送到新的客户端设备。

·集中式消息收集和再分发

在这种交换模式中,中央设备用于交换信息消息。例如,在传统的家庭网络环境中,运行dash客户端的所有设备共享相同的网关。在信息消息交换的该实施例中,所有客户端设备c1至c3向网关gw发送它们的信息消息,并且网关gw使用到每个设备的单播通信将信息从每个设备重新分发给所有其他客户端设备。这种集中式消息收集模式的优点在于,它不需要客户端设备在多播通信信道上定期发送它们的信息消息,并且由于网关gw随时知道所有dash客户端的运行,所以它可以在新的客户端到达或者dash客户端已离开的情况下容易地更新所有dash客户端。这种模式的缺点在于,它需要家庭网关上的额外机制,而其他模式只需要客户端设备本身上的额外机制。

在步骤s320中,客户端设备c1对算法应用带宽分配算法,以针对客户端设备c1的数据会话提供n1的可用带宽的分配带宽。带宽分发算法使用包含在客户端设备之间交换的信息消息中的带宽参数。

具有数据会话的网络n1的客户端设备各自应用通用带宽分配算法来确定用于特定客户端的数据会话和其他参与客户端设备的数据会话的可用带宽的分配带宽。通过应用符合通用规则集的通用算法,不同客户端的计算可以给出一致的结果。dash数据会话通过符合本发明的实施例的带宽算法中描述的通用标准进行排列,并且每个客户端设备在能够计算要用于其自身的数据会话的带宽之前估计分配给列表中较高排列的其他数据会话的带宽。

在本发明的一个实施例中,以下带宽算法中的一个或多个可以是可用于选择的:

在此称为“在最高优先级服务之间平均共享”算法的第一带宽分发算法旨在在具有有着最高服务优先级的数据会话的客户端设备之间平均地共享带宽。根据数据会话的表示带宽要求,最高服务优先级客户端共享可用带宽的最大可能量。然后,例如基于发送用于数据会话的信息消息的时间和/或基于数据会话的开始时间,剩余带宽(如果有的话)在具有最高服务优先级的数据会话之间不平均地共享。然后,以与对于具有最高服务优先级的客户端所进行的相同的方式,剩余带宽(如果有的话(再次))在具有第二最高服务优先级的客户端之间共享。以此类推,直到没有更多的带宽可用。

在此称为“获胜者占有全部”算法的第二带宽分发算法旨在在先到者先服务的基础上向具有最高服务优先级的数据会话给出最大可能带宽。先到者是指最早发送对应信息会话的最高排列的数据会话。然后,剩余带宽(如果有的话)在具有第二最高服务优先级的数据会话之间共享。以此类推,直到没有更多的带宽可用。

在此称为“服务每个人”算法的第三带宽分发算法旨在确保所有数据会话被分配其最小所需带宽,其中首先服务最高服务优先级数据会话。剩余带宽(如果有的话)用于将先前分配其最小所需带宽的数据会话切换到具有较高带宽的表示。首先服务最高服务优先级服务。以此类推,直到没有更多的带宽可用。

在本发明的一些实施例中,交换的信息消息可以包含表示要用于提供分配带宽的所选带宽分发算法的带宽算法分发数据。

表1提供了如何可以从dash客户端当前访问的mpd的信息/属性中生成信息消息的示例。

表1:dash客户端信息消息

在本发明的可能的实施例中,表1中的服务优先级值是指:

1.优质服务(例如uhd传递,到大屏幕电视机的hd传递,...)

2.高质量服务(例如到中等尺寸屏幕的hd传递,...)

3.正常质量服务(例如到移动设备的hd传递,...)

4.低质量服务(例如移动设备上的低质量内容,...)

表1中的“preferredbandwidthdistributionscheme”参数识别用于计算如何在客户端之间共享带宽的算法。

在本发明的一些实施例中,客户端设备可以向mpd中针对数据会话的数据内容的特定表示所描述的带宽增加一些额外的带宽余量。例如,如果mpd描述具有以下带宽(8mbit/s,6mbit/s和2mbit/s)的三个表示,则由客户端选择(并且在信息消息中发送给其他客户端)的优选带宽表可以是(9mbit/s,6.5mbit/s和2.2mbit/s)。

将在下文中更详细地描述根据本发明的实施例的带宽分发算法。

根据本发明的实施例,在此称为“在最高优先级服务之间平均共享”的第一带宽分发算法着手于在最高优先级的数据会话之间共享带宽,以基于可用带宽向最高优先级会话提供最高可能质量。如果没有足够的带宽可用于供应所有客户端设备的数据会话,则阻止一些数据会话得到用于播放的足够带宽。在客户端设备处执行带宽分发算法。

使用通用标准以优先级的顺序将数据会话排列。客户端设备在能够计算要用于其自身的数据会话的带宽之前计算分配给列表中任何较高排列的会话的带宽。

对于具有最高服务优先级的第一数据会话,计算要分配给数据会话的带宽作为总可用带宽的平均共享。然后,对于剩余的数据会话,从较高服务优先级到较低服务优先级,计算实现对剩余带宽(从总可用带宽中减去分配给先前会话的实际带宽)的共享。

在每个优先级等级中,如果没有足够的剩余带宽可用,则根据数据会话的开始时间,在给定的优先级排列中对数据会话进行排序(较早的数据会话在较晚的数据会话之前被分配带宽)。

在给定的优先级等级,客户端设备尝试占用可用带宽的“相等”份额。因此,对于每个数据会话,可用带宽被相同优先级等级中的会话的数量相除。由于每个数据会话被绑定到数据内容的表示的有限集合,所以客户端选择具有略低于所计算的带宽份额的带宽的表示。

可以注意的是,仅在已对所有较高优先级会话服务之后处理留下一些未使用的带宽时,较低优先级的客户端可以被分配带宽。

在具有最高优先级数据会话的新的客户端设备加入网络的情况下,如果没有足够的带宽供应新的客户端设备的数据会话,则现有的数据会话可能被重新分配较少的带宽。在某些情况下,现有的数据会话可能使其分配移除,以支持较高优先级的数据会话。

因为即使当客户端带宽需求不相等时,在相同优先级等级的数据会话之间的共享也以平均的方式完成(例如,在两个客户端设备具有最高优先级等级的数据会话的情况下,两个数据会话中的每一个都被分配一半的总带宽),所以可能在带宽的初始分配完成之后,一些带宽仍然可用。例如,客户端设备可以初始被分配10mb/s的带宽。可以在10mb/s带宽中供应的数据会话的其数据内容的最佳表示,即小于或等于10mb/s的最大带宽要求是8mb/s。然后可以将剩余的2mb/s的带宽重新分配给另一个数据会话。在该情况下,在剩余数据会话的最高优先级数据会话之间分配所有剩余带宽(对于相同服务优先级的数据会话,在先到者先服务的基础上),即使其最终意味着在给定的优先级排列中一些客户端将得到多于带宽的平均份额。当已经将剩余带宽重新分配给最高优先级会话时,可以将任何另外的剩余带宽分配给较低优先级的数据会话。

这种带宽分配模式的优点在于,对于具有最高优先级服务等级的数据会话的客户端设备,数据会话可能以在所有较高优先级会话之间共享的最高可能质量运行(没有较低优先级会话可以真正从较高优先级会话窃取带宽)。如果所分配的带宽份额小于最佳质量表示所需的带宽,则数据会话可能不以其最高质量运行。较低优先级服务客户端将以尽力模式接收带宽。对于较低优先级数据会话,可能将只留下足够的带宽(如果有的话)使它们能够运行数据内容的较低质量表示。

表2中展示了在客户端设备处执行的第一带宽分配模式的逻辑示例。

表2:带宽分配模式1的接收器侧逻辑

根据本发明的实施例,在此称为“获胜者占有全部”的第二带宽分发算法旨在在先到者先服务的基础上向较高优先级会话提供最高可能质量。发送其第一信息消息、向网络中的可能的其他客户端设备用信号通知其存在的第一客户端设备将接收用于其希望发起的数据会话的最大所需带宽。最大所需带宽与数据会话的数据内容的相对于相同内容的其他表示的最佳质量表示所需的带宽相对应,其小于或等于可用带宽呈现。

仅在已经执行所有较高优先级会话的分配之后带宽分发处理留下一些未使用的带宽时,具有较低优先级的数据会话的客户端设备可以接收带宽。以相同的方式,如果在具有相同最高优先级的数据会话的客户端设备已经被分配大部分带宽之后最高优先级服务客户端发送信息消息,则较晚到达的客户端不太可能接收到用于其数据会话的最大带宽要求(没有带宽将从第一到达的客户端取走)。

这种模式的优点在于,客户端设备的最高优先级数据会话将始终在先到者先服务的基础上得到最大可能质量。在没有足够的带宽留给它们之后执行带宽分配的具有最高优先级数据会话的客户端设备或者较低优先级服务客户端将根据尽力模式被分配带宽。

表3中展示了在客户端设备处执行的第二带宽分配模式的逻辑示例。

表3:带宽分配模式2的接收器侧逻辑

根据本发明的实施例,在此称为“服务每个人”的第三带宽分发算法着手于向客户端设备的所有数据会话提供带宽,在有足够的带宽的条件下,通过给它们足够的带宽来运行用于数据会话的它们的最小所需带宽表示,即与相比其他表示需要最小带宽的表示相对应的带宽。如果没有足够的带宽可用于服务客户端设备的所有数据会话,则通过根据服务优先级对数据会话进行优先化,然后在具有相同优先级等级的客户端之间在先到者先服务的基础上采取决定。

然后,基于服务优先级和先到者先服务模式(基于相应信息消息的传送时间),在客户端设备的数据会话之间分发任何剩余带宽,使得最高优先级的数据会话可以具有比数据内容的最小带宽表示更好的质量表示。

这种模式的优点在于,在针对所有客户端有足够的带宽的条件下,所有客户端能够运行其数据内容的一个表示。如果足够的带宽可用,则最高优先级服务客户端可能有机会运行比其最小带宽表示提供更好质量的表示。

表4中展示了在客户端设备处执行的第三带宽分配模式的逻辑示例。

表4:带宽分配模式3的接收器侧逻辑

所有客户端设备通知其他客户端设备关于其优选带宽分发方案。指示优选带宽分发算法的数据可以包括在从客户端设备向网络n1的其他客户端设备传送的信息消息中。

在某些情况下,在带宽分发算法的选择之间可能存在冲突。

这可以以不同的方式来解决,诸如:

·选择由信息消息中的多数指示的带宽分发算法

·所有客户端设备知道带宽分发方案的通用优先化列表并且较高优先级的一个获胜

·选择在第一传送的信息消息中指示的带宽分发算法

将在以下示例中说明三种不同的带宽分发模式

如果我们考虑具有有着以下偏好的即将到来的数据会话的两个客户端设备c1和c2:

客户端c1在客户端c2之前发送用于其数据会话的对应信息消息:

表示c1.2=10mbit/s

表示c1.1=8mbit/s

表示c1.0=4mbit/s

service_priority=premium(优质)

客户端c2:

表示c2.1=6mbit/s

表示c2.0=2mbit/s

service_priority=premium(优质)

使用三种不同的带宽分配模式,在网络n1中具有14mbit/s的总可用带宽,带宽的分发将如下:

·模式1-平均共享:所有数据会话具有最高优先级,所以14mbit/s的可用带宽初始在c1和c2的两个数据会话之间平均分配,即每个7mbit/s。

对于客户端c1,小于或等于7mbit/s的最大带宽要求是与表示c1.0相对应的4mbit/s,因此客户端c1初始被分配4mbit/s的带宽。

对于客户端c2,小于或等于7mbit/s的最大带宽要求是与表示c2.1相对应的6mbit/s,因此客户端c1初始被分配6mbit/s的带宽,对应于其最佳质量表示。

4mbit/s的可用带宽剩余。这被分配给客户端c1,因为客户端c1在客户端c2之前发送其信息消息。这使得分配给客户端c1的带宽能够增加到与更好的质量表示c1.1相对应的8mbit/s。

总之,可用带宽的分配如下:

客户端c1=>c1.1(8mbit/s);客户端c2=>c2.1(6mbit/s);剩余带宽=0mbit/s;没有留下的带宽分配给较低优先级等级数据会话或者稍后加入网络的其他客户端设备。

·模式2-获胜者占用全部:

客户端c1被分配10mbit/s,与用于其最佳质量表示c1.2的最大带宽要求相对应,因为它首先发送信息消息。4mbit/s的带宽剩余以分配给客户端c2。小于或等于4mbit/s的带宽要求是与c2.0的较低质量表示相对应的2mbit/s。

总之,可用带宽的分配如下:

客户端c1=>c1.2;客户端c2=>c2.0;剩余带宽=2mbit/s。根据任何带宽分配模式或者根据数据会话开始时间,留下的带宽分配给其他客户端设备的较低优先级等级数据会话。

·模式3-服务每个人:

分配每个客户端c1和c2的最低带宽要求,分别为4mbit/s(c1.0)和2mbit/s(c2.0),留下8mbit/s的剩余带宽,使得两个数据会话能够通过增加的带宽分配(客户端c1的c1.1(8mit/s),以及c2.1(6mbit/s))被提升到更好的质量表示。

总之,可用带宽的分配如下:

客户端c1=>c1.1;客户端c2=>c2.1;剩余带宽=0mbit/s

如果然后针对具有以下偏好的数据会话,第三客户端加入网络:

客户端c3:

表示c3.2=5mbit/s

表示c3.1=3mbit/s

表示c3.0=2mbit/s

service_priority=premium(优质)

使用三种不同的带宽分配模式,具有14mbit/s的总带宽,带宽的分发将如下:

·模式1-平均共享:

所有数据会话具有最高优先级,所以14mbit/s的可用带宽初始在c1、c2和c3的三个数据会话之间平均分配,即每个4.66mbit/s。

客户端c1因此被分配4mbit/s(服务c1.0),因为这是具有小于4.66mbit/s的带宽的唯一表示

客户端c2因此被分配2mbit/s(服务c2.0),因为这是具有小于4.66mbit/s的带宽的唯一表示

客户端c3因此被分配3mbit/s(服务c3.1),因为这是具有小于4.66mbit/s的带宽的最佳表示

5mbit/s的带宽剩余。首先在网络上的客户端c1在先到者先服务的基础上被分配4mbit/s的剩余带宽,因为客户端c1首先发送用于其数据会话的信息消息,使得其能够具有带宽8mbit/s的改进的c1.1表示。

总之,可用带宽的分配如下:

客户端c1=>c1.1(8mbit/s);客户端c2=>c2.0(2mbit/s);客户端c3=>c3.1(3mbit/s);剩余带宽=1mbit/s

·模式2-获胜者占用全部:

客户端c1被分配10mbit/s,与用于其最佳质量表示c1.2的最大带宽要求相对应,因为它首先发送信息消息。4mbit/s的带宽剩余以在客户端设备c2和c3的数据会话之间共享。客户端设备c2的数据会话被分配用于c2.0的表示的2mbit/s的带宽,而客户端设备c3也被分配用于c2.0的表示的2mbit/s的带宽。

总之,可用带宽的分配如下:

客户端c1=>c1.2;客户端c2=>c2.0;客户端c3=>c3.0;

剩余带宽=0mbit/s

·模式3-服务每个人:

分配每个客户端c1、c2和c3的最低带宽要求,分别为4mbit/s(c1.0)、2mbit/s(c2.0)和2mbit/s(c3.0),留下6mbit/s的剩余带宽,使得客户端设备c1和c3的数据会话能够通过增加的带宽分配(客户端c1的c1.1(8mbit/s),以及客户端设备c3的c3.1(3mbit/s))被提升到更好的质量表示。

客户端c1=>c1.1(8mbit/s);客户端c2=>c2.0(2mbit/s);客户端c3=>c3.1(3mbit/s)

剩余带宽=1mbit/s

在步骤s330中,将带宽分配给数据会话,使得能够在步骤s340中运行数据会话。

本发明的实施例提供了一种发消息机制,其允许网络上的诸如dash客户端之类的客户端了解关于网络上其他客户端的即将到来或正在进行的数据会话及其优选的内容消耗要求。以这种方式,可以实现可用网络带宽的更公平的共享,使得客户端能够从比在它们在相同网络带宽上一起争夺的情况下更好的服务中获益。可以在即将发生的数据会话开始之前应用本发明的实施例,同时数据会话正在进行,例如使得当网络中的新的数据会话开始时或者当网络中的正在进行的数据会话结束时,带宽能够被重新分配给正在进行的数据会话。

虽然已经在上文中参考特定实施例描述了本发明,但是本发明不限于特定实施例,并且对本领域技术人员而言修改将是明显的,其在本发明的范围内。

例如,虽然已经关于mpeg-dash描述了前述示例,但是将理解的是,本发明可以应用到任何自适应流传输或数据下载环境。

在参考前述说明性实施例时,许多另外的修改和变型将对于本领域技术人员暗示自己,前述说明性实施例仅以示例的方式给出,并且不旨在限制本发明的范围,本发明的范围仅由所附权利要求确定。特别地,在适当的情况下,来自不同实施例的不同特征可以互换。

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