在由网络设备运行的进行中业务会话之间分布网络的可用带宽的方法以及相应设备与流程

文档序号:19104495发布日期:2019-11-12 22:31阅读:182来源:国知局
在由网络设备运行的进行中业务会话之间分布网络的可用带宽的方法以及相应设备与流程

本公开总体涉及在网络中的带宽分布,所述网络包括例如但不限于自适应流传输客户端。



背景技术:

本部分旨在向读者介绍本领域中可能与以下描述和/或要求保护的本公开的各方面相关的各个方面。相信本讨论有益于向读者提供背景信息以便于更好地理解本公开的各个方面。因此,应当理解,这些陈述应以这种方式被解读,而不是作为对现有技术的承认。

HTTP自适应技术被各种利益相关者推广,以实现在互联网中提供非常火热的视听传输。这种技术允许客户端设备接收连续小分段(几秒长)(所谓的“块”)的形式的视频。每个分段通过HTTP协议来请求并且可以存在不同变体(所谓的“表示”),以允许客户端设备在任意时间选择与网络和设备约束相匹配的合适比特率。

在已经使用的HTTP自适应流传输(HAS)协议中,最著名的是Apple的HTTP实时流传输(HLS)、Microsoft的Silverlight平滑流传输(SSS)、Adobe的HTTP动态流传输(HDS)以及由SA4组内的3GPP发起并由MPEG开发的基于HTTP的动态自适应流传输(DASH)。这些HTTP自适应流传输现有技术在清单文件格式方面不同,所述清单提供元数据以描述内容选项(比特率、图像维度、帧率......)、在分段、所支持的编解码器以及内容保护技术方面内容的可用表示的组织。

具体地,当客户端设备希望播放音频/视频内容时,其首先必须获得描述如何得到该特定内容的清单。这通过HTTP从URL获得一些“文件”来完成。该清单文件(按照比特率和其它属性)列出了内容的可用表示,并且对于每个表示,所述清单文件列出了允许针对每个时间片加载内容块的URL。对于点播视频(VoD),提供对A/V内容的完整描述,而对于实时内容(例如,TV内容),描述仅覆盖短的时间段并且需要被周期性地重新加载以随着时间流逝而发现新项目。

取决于其能力以及其从联网环境获得的知识,客户端设备(例如基于其比特率)选择一种表示并且加载内容的第一(多个)块。其缓存一些块以便能够应对网络阻塞。然后,从每个接收到的块一个接着一个地播放A/V内容。同时,客户端设备测量接收速率,并可以决定选择更高或更低的比特率。在这种情况下,其仅请求来自另一表示的下一块。每种HTTP流传输技术是能够在从给定比特率的块切换到另一比特率的下一块时使客户端设备确保连续播放的技术。通过这种方式,当网络上的竞争业务造成了接收A/V内容的速率发生变化时,客户端设备能够通过选择具有允许保持缓冲器填充至安全级别的比特率的块,来做出反应和适应。实际上,客户端设备尝试达到最高可能比特率以向终端用户提供良好的观看质量,同时保持在渲染将不会受到数据延迟接收的影响的水平。

虽然已经证明这些HAS技术与之前技术相比合理地良好工作,但是近期的工作指出了在一些具有挑战性的特定情况下(即,在瓶颈上与另一HAS客户端或与另一TCP流竞争),HAS实现方式可能会遇到严重的不稳定性问题。

具体地说,已经观察到使两个HAS客户端竞争带宽会导致不可预测的结果,最终损害用户体验。此外,HAS设备在与贪婪的TCP流(例如,批量业务)竞争时表现出无法要求恢复它们对带宽的合理份额,因为它们的周期性下载简档导致断开(OFF)时间段,在该断开时间段期间不评估带宽从而带宽被潜在地低估了。并且尤其是这些断开时间段期间,其它TCP流可以利用机会抢占带宽。

本公开尝试至少(但非穷尽地)修复在存在其它流的情况下的作为所有自适应流传输实施方式的特性的不稳定性和带宽共享问题。



技术实现要素:

本发明涉及一种给定设备上的用于在由网络的设备运行的进行中业务会话之间分布网络的可用带宽的方法,其特征在于该方法包括在给定设备处:

-从所述网络中运行至少一个业务会话的设备收集状态消息;

-根据网络的可用带宽、被排序的业务会话的等级和被排序的业务会话的类型,确定要分配给每个业务会话的带宽,其中,所述业务会话根据从状态消息获取的设备参数和业务会话进行了排序;

-当所确定的要分配给给定设备的业务会话的带宽大于零时,由给定设备使用所分配的带宽用于所述业务会话。

根据本公开,网络的设备可以协作地确定它们各自的最佳带宽,从而高效地实现最佳可能的集体用户体验。由于状态消息,设备交换和声明它们各自的特性和要求。基于该信息,可以计算出最佳带宽重新分配,从而每个设备可以接收其真正应得的带宽,避免了由于近似估计而导致的带宽浪费。

作为与本公开相符的示例,状态消息可以包括以下元素中的至少一些:

-会话开始时间;

-会话结束时间;

-运行会话的设备类型;

-显示器的大小;

-设备的显示器分辨率;

-用户数目;

-会话的类型;

-固定流传输会话所需要的比特率;

-自适应流传输会话的可用比特率的列表;

-自适应流传输会话的最大期望比特率;

-批量业务会话的最大期望比特率;

-自适应流传输会话的块时长;

-设备的优先级。

优选地,一个状态消息与一个进行中业务会话相关联。

此外,根据本公开,当发生事件时,由给定设备向网络的所有设备发送状态消息。

具体地,所述事件可以属于至少包括以下事件的组:

-给定设备开始业务会话;

-给定设备结束业务会话;

-给定设备修改运行的进行中业务会话的任意特性。

根据本公开的另一方面,在排序期间,优选地,可以基于运行所述业务会话的设备的优先级、设备的类型和业务会话的类型来确定每个业务会话的等级。

此外,在给定等级中,优选地,可以根据相应业务会话的开始时间来排列相应的业务会话。

此外,可以由网络的网关来提供网络的可用带宽。

此外,在本公开的实施例中,确定要分配给被排序的业务会话的带宽包括:

-选择还没有处理的最高等级的业务会话;

-检查所选择的业务会话是否是固定速率流传输会话;

-当网络的当前可用带宽和要求的与固定速率流传输会话相关联的比特率之差至少等于零时,将带宽分配给所选择的业务会话。

在所述优选实施例的另一方面中,确定要分配给被排序的业务会话的带宽还可以包括,在所选择的业务会话是自适应流传输会话的情况下:

选择比特率,所述比特率至多等于当前可用带宽除以还未处理且等级与所选择的业务会话等级相同的业务会话的数目;

-确定所选择的比特率和与所选择的业务会话相关联的最大期望比特率之中的最小比特率;

-将所述最小比特率分配给所选择的业务会话。

在所述实施例的另一方面中,确定要分配给被排序的业务会话的带宽还可以包括:将当前可用带宽递减所分配的带宽。

此外,本公开还涉及被配置为实现用于在由网络的设备的进行中业务会话之间分布所述网络的可用带宽的方法的设备。

根据本公开,所述设备包括:

-通信模块,适于从所述网络中的运行至少一个业务会话的设备收集状态消息;

-排序模块,配置为根据从状态消息获取的设备参数和业务会话对所述进行中业务会话进行排序;

-计算器,配置为根据可用带宽、被排序的业务会话的等级和被排序的业务会话的类型,确定要分配给每个被排序的业务会话的带宽;

-比较器,能够检查所确定的要分配给设备的业务会话的带宽是否不等于零。

通信模块还可以被配置为向网络的所有设备发送状态消息。

此外,排序模块可以优选地基于运行所述业务会话的设备的优先级、设备的类型和业务会话的类型来确定每个业务会话的等级。

本公开还涉及可以从通信网络下载和/或记录在由计算机读取的介质上和/或可以由处理器执行的计算机程序产品,所述计算机程序产品包括用于实现上述方法的程序代码指令。

此外,本公开还涉及一种非瞬时性计算机可读介质,包括记录在其上能够由处理器运行的计算机程序产品,所述计算机程序产品包括用于实现上述方法的程序代码指令。

在下文阐述所公开的实施例的范围内的一些方面。应理解,这些方面仅用来向读者提供本公开可能采用的一些形式的简要概括,并且这些方面并非意在限制本公开的范围。事实上,本公开可包括下文可能没有阐述的多个方面。

附图说明

通过下面参照附图的实施例和执行示例而绝非限制性的方式来示出本公开并使本发明更好地被理解,在附图中:

-图1是可以实施本公开的客户端-服务器网络架构的示意图;

-图2是根据本公开的实现用于分布可用带宽的方法的图1的网络架构的客户端设备的示例的框图;

-图3是示出根据实施例的用于分布可用带宽的主要步骤的流程图。

-图4是说明图3的方法中的带宽确定步骤的流程图。

在图2中,呈现的方框仅是功能性实体,而不必对应于物理上分离的实体。即,这些方框能够以软件、硬件的形式来开发,或者可以实施在包括一个或多个处理器的一个或若干集成电路中。

在可能的情况下,贯穿附图,相同的附图标记将用于表示相同或类似部件。

具体实施方式

应理解,为了清楚理解本公开,已经简化了本公开的附图和描述以示出相关的元件,并且同时为了清楚起见,省略了在典型数字多媒体内容传送方法和系统中存在的许多其它元件。然而,由于这些元件在本领域是公知的,本文中不提供对这些元件的详细讨论。

如图1中所示,客户端-服务器网络架构(其中可以实施本公开)包括例如三个客户端设备C1、C2和C3、住宅网关GW以及若干服务器S1和S2(在图1中仅示出了两个服务器)。显然,在所述架构中可以存在附加的客户端设备。

设备C1、C2和C3连接到本地网络N1(例如家庭网络或企业网络)。本地网络N1由于网关GW而连接到宽带网络N2(例如互联网)。

C1至C3中的每个设备适于通过经由宽带网络N2连接到一个或多个远程服务器S1、S2来建立一个或多个业务会话(例如固定速率流传输会话、自适应流传输会话(例如HAS)、批量业务会话)。

为此,如图2中所示,C1至C3中的每个设备配备有:

-到本地网络N1的连接(有线和/或无线,例如Wi-Fi、以太网等)的LAN(局域网)接口1;

-通信模块2,包括:

·管理接口2A,与实现发布/订阅模式(例如,数据分布服务(DDS)、Java消息服务(JMS)、Qeo(未在附图中示出))的管理通信总线相关,由此设备可以向本地网络N1的C1至C3中的所有其它设备和网关GW发送和收集状态消息。状态消息优选是持久消息,从而其可以被网络的任意设备收集(即使在发送时该设备没有连接到网络N1)。具体地,例如,状态消息可以被在设备的管理接口2A上运行的后台服务收集,或者可以被管理通信总线存储作为将被管理接口2A(例如周期性地或在需要时)获取的长期存活状态消息;

·应用接口2B,由此与给定会话相关联的控制和数据消息被设备发送和接收。

通信模块2包含与服务器S1、S2通信的协议栈。具体地,通信模块2包括本领域公知的TCP/IP栈。当然,其可以是使得设备C1至C3能够与服务器S1、S2进行通信的任意其它类型的网络和/或通信装置;

-以单个框形式表示的存储器3,但其可以同时包括随机存取存储器、只读存储器和可再编程持久存储器(例如“闪存”类型);

-一个或多个处理器4,用于执行存储在设备的存储器3中的应用和程序;

-内部总线B,用来连接各个模块和本领域技术人员所公知的用于执行一般客户端设备功能的所有装置。

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

在实施例中,设备C1至C3可以是便携式媒体设备、移动电话、平板、膝上型电脑、HDTV等。自然,设备C1至C3可能不包括完整的视频播放器,而是只包括一些子元件,比如用于解复用和解码媒体内容的子元件,并可以依赖于外部装置来向终端用户显示解码后的内容。

根据实施例,被网络N1的设备C1至C3发送或收集的业务会话的每个状态消息可以包括以下元素中的至少一些:

-会话开始时间;

-会话结束时间;

-运行会话的设备类型;

-显示器的大小;

-设备的显示器分辨率;

-用户数目;

-会话的类型;

-固定流传输会话所需要的比特率;

-自适应流传输会话的可用比特率的列表;

-自适应流传输会话的最大期望比特率;

-批量业务会话的最大期望比特率;

-自适应流传输会话的块时长;

-设备的优先级。

具体地,状态消息可以包括若干字段(例如七个字段),每个字段汇集了上述元素的一个或多个,如下所示:

设备状态消息

字段1包含业务会话的开始时间,结束时间被初始设置为0(零)。为了指示会话的终止,字段结束时间被设置为非零值。

字段2、3和4分别与发送状态消息的设备的类型、设备的显示器的大小和显示器的分辨率相关。

取决于发送设备的能力,可以按照多种方式使用字段5,假设其遵守简单的语法。当可用时,其列出当前正在观看设备的用户(例如,John、Wendy、Lisa等),否则仅使用用户的数目(0..n)(0指示在特定设备之前没人)。此外,可以使用非法值(例如-1)来示出发送设备不能确定是否存在观看用户。

字段6指定了可以用于推断其自适应能力的业务的类型。在实施例中,考虑以下业务类型:固定速率流传输、自适应流传输、批量业务。当考虑固定速率流传输时,在状态消息中还存在要求的比特率。对于自适应流传输会话,指示在清单中找到的可用比特率以及最大期望比特率。还应注意,在合理情况下,设备可以期望比最大可用比特率低的比特率(低的端到端带宽、被另一窗口隐藏的视频、非全屏视频(画中画)等)。类似地,对于批量业务(例如非流传输数据的下载),可以包括期望的比特率,从而允许限制带宽使用。

字段7被用于指示设备的优先级。其通常被置为0(零),但是可以用于示出临时改变,例如用于为特定设备赋予超过其他设备的额外优势。

此外,网关GW还被配置为产生包括例如以下信息的状态消息:

-以[kbps]为单位的宽带网络N2的可用带宽(所谓的接入带宽);

-以[kbps]为单位的本地网络N1的可用带宽;

-服务的列表,如设备描述、业务类型、比特率。

网关状态消息

字段3可以用于通知用户当前运行的服务,从而用户可以采取适当的动作(例如关掉独占带宽的设备或手动重新设置流的优先级)。通过包括设备描述来构建设备描述字段,从而用户可以容易地找到引起问题的流。此外,该列表可以用于向设备通知网关GW发现的还没有通过状态消息声明的流(例如由传统设备和应用产生的流)。

网关GW周期地或每当一个参数(例如本地带宽、接入带宽)改变时发送所述网关状态消息(也是作为设备状态消息的持久消息)。因此,本地网络N1的设备可以以被动方式接入本地和接入带宽。

根据本公开的实施例并且如图3所示,设备C1至C3被配置为实现用于在由设备C1至C3运行的进行中业务会话之间分布网络N1的可用带宽的方法。

具体地,当实现在网络N1的给定设备(例如设备C1)中时,方法M包括以下步骤:

-经由通信模块2向网络N1的所有其它设备C2、C3和网关GW发送(步骤S1)状态消息。所述状态消息与由设备C1运行的特定业务会话相关联(每个会话一个状态消息),并且有利地在设备C1每次发起新业务会话时、设备C1的进行中业务会话结束时或者进行中业务会话的特性被修改时发送所述状态消息。以自适应流传输会话的特定情况作为示例,如果设备C1持续在可用表示之间切换,则将在每次请求块时再次发送状态消息,使得其他设备收到通知并且对改变做出反应。在实施例的变例中,还可以由设备周期性地发送状态消息,而不是针对给定事件广播状态消息;

-经由通信模块2从网络N1的运行至少一个进行中业务会话的设备C2、C3和网关GW收集(步骤S2)状态消息。所述收集的状态消息可以存储在设备C1的存储器3中。步骤S1和S2可以彼此独立地执行(S1在S2之前;S2在S1之前或者S1和S2同时);

-通过设备C1的排序模块5,根据相应设备的参数和所述会话的参数对所述进行中会话进行排序(步骤S3)。从收集的状态消息中获取所述参数的值。在步骤S3期间,通过排序模块5构建排序列表,并且将其存储在例如存储器3中。

-通过设备C1的带宽计算器6,根据(从网关状态消息获得的)本地网络N1的总可用带宽、由排序模块5确定的会话的等级以及排序会话的类型,来确定(步骤S4)要分配给每个排序会话的带宽。在变例中或在补充例中,可以使用或添加其它特征来确定要分配给每个进行中会话的带宽;

-通过设备C1的比较器7检查(步骤S5)确定的要分配给给定设备C1的会话的带宽是否大于零;

-当确定的要分配给给定设备C1的会话的带宽大于零时,由给定设备C1使用(步骤S6)自身分配的带宽用于所述会话;

-当确定的要分配给给定设备C1的会话的带宽等于零时(步骤S7),验证是否需要时间使其他会话对由给定设备C1发送的状态消息做出反应(例如,竞争的进行中HAS会话假设在到来的块时长中恒定带宽的可用性,从而即使在给定设备C1的会话等级高于所述HAS会话的等级的情况下,其优选等到所述块下载结束);

-在需要时间使其他会话对由给定设备C1发送的状态消息做出反应的情况下(步骤S8),等待其他进行中会话以考虑所发送的状态消息(例如对于自适应流传输会话,在结束下载当前块并且由运行自适应流传输会话的关联设备发出新的状态消息之后),之后返回到步骤S1;

-在不需要时间使其他会话对由给定设备C1发送的状态消息做出反应的情况下(步骤S8),向设备C1的用户指示失败。

在还未完成设备C1的会话的情况下(步骤S10),方法M返回步骤S1并重复后续步骤。

所述方法可以在以下情况下执行:

-当在由给定设备C1(实现方法M的设备)运行的会话是固定速率会话或批量业务会话的情况下从网络N1的设备接收到新状态消息时;或者

-以相应周期周期性地执行,所述相应周期:

·在由给定设备C1运行的会话是固定速率会话或批量业务会话的情况下任意确定(例如10秒);或者

·在由给定设备C1运行自适应流传输会话的情况下等于块的时长。

根据实施例,由排序模块5实现的排序步骤S3包括以下步骤:

-建立(S31)网络N1的所有进行中会话的过程列表以对收集的状态消息进行处理;

-基于运行所述业务会话的设备的优先级、设备的类型和业务会话的类型,来确定(S32)过程列表的每个会话的等级(例如,以从过程列表的第一会话开始或者以所述列表中随机选择的会话开始)。在示意性但非限制的示例中,根据以下公式确定会话的等级:

Rank=MAX-PW×priority-DP(DeviceType)-FP(SessionType)-AP(SessionType)

其中:

·MAX是常数,例如等于10以允许10个不同等级(注意,等级0是最高等级);

·Priority是与运行要排序的会话的设备相关的优先级;

·PW是对优先级进行加权的常数,例如等于5以允许2个不同的优先级(高优先级1和低优先级0),从而具有高优先级(1)的设备被分布在较高的等级0到5之中,而具有低优先级(0)的设备被分布在较低的等级6到10之中。

·DP是与设备类型级别高低相对应的常数,例如在设备类型为HDTV时等于3,在其它情况下等于0。换言之,DP的值(3或0)取决于设备的类型;

·FP是与固定速率流传输会话级别高低相对应的常数,例如在业务会话为固定速率会话时等于2,在其它情况下等于0。换言之,FP的值(2或0)取决于业务会话的类型;

·AP是与自适应流传输会话级别高低相对应的常数,例如在业务会话为自适应流传输会话时等于1,在其它情况下等于0。换言之,AP的值取决于业务会话的类型。

由于上述公式,具有高优先级的会话被分布在第一等级中,具有低优先级的会话被布置在最后的等级中。在优先级相等的情况下,HDTV类型的设备将优于例如平板或智能电话。此外,优选在批量业务之前处理自适应流传输会话,在自适应流传输会话之前处理固定速率会话;

-按会话的开始时间的升序对每个等级的会话进行排列(步骤S33),从而与指派为相同等级的新开始的会话相比,优先处理之前开始的会话。明显地,从过程列表中丢弃(通过结束时间字段的方式)指示终止的会话。

作为排序步骤S3的结果,获得排序列表。该具有两个级别结构的排序列表由等级的列表组成。在每个等级中,根据开始时间来排列会话。因此,将(按照带宽分配)首先服务第一等级中的会话,之后服务下一等级中的会话,以此类推。具体地,当相同等级的会话是自适应流传输会话时,可以将剩余带宽平均地分布到该等级的会话,之后再考虑下一等级。

根据实施例且如图4所示,由设备C1的带宽计算器6实现的带宽确定步骤S4包括以下子步骤:

-选择(步骤S401)排序列表中还未处理的最高等级的业务会话;

-检查(步骤S402)所选择的业务会话是固定速率流传输会话、自适应流传输会话还是批量业务会话;

-在所选择的会话是固定速率流传输会话时,确定(步骤S403)网络N1的当前可用带宽(从网关状态消息获得)和需要的与固定流传输会话相关联的比特率(由相应状态消息指示)之间的差是否至少等于零;

-在所选择的会话是自适应流传输会话的情况下:

·(在从相应清单中获取的可用比特率中)选择(步骤S404)至多等于当前可用带宽除以还未处理且等级与(在步骤S401中)所选择的会话等级相同的业务会话的数目的比特率。如果在清单的可用比特率中没有比特率低于当前可用带宽除以具有相同等级的还未处理的业务会话的数目,则所选择的比特率等于零;

·确定(步骤S405)选择的比特率(步骤S404)和与所选择的会话相关联的最大期望比特率(从关联状态消息获取)之中的最小比特率;

-在所选择的会话是批量业务会话的情况下:

·计算(步骤S406)等于当前可用带宽除以还未处理的且等级与(在步骤S401)所选择的会话等级相同的业务会话的数目的比特率;

·根据关联状态消息检查(步骤S407)最大期望比特率是否与所选择的批量业务会话相关联;

·在最大期望比特率与所选择的批量业务会话相关联的情况下,确定(步骤S408)计算的比特率(步骤S406)和与所选择的会话相关联的最大期望比特率之中的最小比特率;

-将带宽分配(步骤409)给所选择的会话。所分配的带宽等于:

·当所选择的会话是固定速率流传输会话时所要求的比特率;

·当所选择的会话是自适应流传输会话时(在步骤405)确定的最小比特率;

·当所选择的会话是批量业务会话时(在步骤406)计算的比特率或(在步骤408)确定的最小比特率;

-将当前带宽递减在步骤409分配的带宽(步骤410)。

优选地,重复步骤S401至S410,直到处理了排序列表中的所有会话。

之后,在实施例中,实际带宽分配考虑进行中自适应流传输会话的块时长。确实,由于进行中会话假设针对到来的块时长的恒定带宽的可用性,因此不希望在块结束之前修改这些条件。因此,在会话开始时,将延迟更高等级的会话,直到进行中会话接收到新开始的会话信息,并且通过减少分配给自己的带宽来考虑存在所述更高等级的会话。该延迟尤其针对每个进行中会话,从而导致带宽被逐步返回给高等级会话(如下文所述)。在固定速率和批量会话的情况下,以类似方式周期地完成对由网络N1的其它设备发送的状态消息的处理,区别在于,该周期是任意的固定值(例如10秒),以确定运行固定速率或批量会话的设备何时将考虑由设备发送的新状态消息来开始新会话。

一旦带宽被分配给设备的会话,后者有权使用整个带宽,但是仍然可以基于带宽测量调整其实际使用,如已知的HAS实施那样。

如果由于存在竞争会话而需要时间来重新调整它们的带宽使用,从而没有分配带宽,则设备C1可以基于接收到的信息确定其需要等待的时间量。如果带宽分配失败不是由于存在更低优先级设备而导致的(很有可能是因为存在进行中的更高优先级会话),则取消新开始的会话,并向用户指示失败。

方法M是迭代的,从而在第一次迭代中被延迟的开始会话可以在第二次迭代中具有由进行中会话释放的带宽的份额。类似地,进行中会话可以继续在接收到描述新会话的消息时调整它们的带宽使用。只要会话被分配等于零的带宽,其便停止。

根据本公开的实施例,可以实现对带宽使用的更精细的控制,因为网络中的每个设备精确地声明例如其可以接收哪些比特率、其何时开始和停止播放,从而不需要猜测和近似。由于设备交换与它们的能力和相应优先级相关的丰富信息,可以实现实际上反映出用户预期的带宽分布。其可以以确定性方式解决带宽竞争问题,保持设备优先级并且避免浪费带宽。

在下面三个示例中,假设(为了清楚)周期地发送状态消息,所述周期是针对固定速率和批量业务会话的任意周期,并且等于自适应流传输会话的块时长。

在实施例的第一示意性示例中,假设接入网络的带宽为由ADSL网格GW报告的8Mbps。希望在他的HDTV上观看点播视频(VoD)的用户开始实施方法M的HAS应用。注意,当前没有其他流使用网络,HAS应用立即汇聚到当前网络带宽允许的最高比特率。

在第二示意性示例中,也假设接入网络的带宽为8Mbps。网络带宽的一部分已经被消耗HAS流的平板电脑和智能电话使用。为了简洁,假设HAS流具有在其相应清单中列出的相同比特率(即,200、400、600、1200、1800、2500、4500、6500和8500Kbps)。注意:

-t1:在平板电脑上运行的第一HAS客户端最后报告其正在消耗的HAS流的特性的时间,其块时长为d1;

-t2:在智能电话上运行的第二HAS客户端2最后报告其流的特性的时间,其块时长为d2。

由于网络带宽的可用性,第一和第二HAS客户端分别享用相对高质量的4.5Mbps和2.5Mbps的流。

在时间t3,开始在HDTV上运行的第三HAS客户端。其获取期望的HAS流的参数,选取比接入网络容量低的最高比特率作为其期望比特率,并且在网络上发送描述会话的状态消息。HDTV的优先级高于平板电脑和智能电话。然而,优选地,第三HAS客户端应留一些时间给第一和第二HAS客户端来考虑接收到的消息。由于第一HAS客户端在t1发送其最后的状态消息,并且由于第三HAS客户端在t3发送器状态消息(假设t3<t1+d1),则第一客户端和第三客户端均知道彼此的存在,并且能够在t1+d1相应地调整它们的带宽使用。对于第一HAS客户端,这发生在下一次循环迭代中,当计算了分配的带宽时。类似地,假设t3<t2+d2,第二HAS客户端2将在t2+d2调整其带宽。对于第三客户端,使用时间max(t1+d1,t2+d2)来确定何时可以运行方法M,因为带宽将被第一和第二HAS客户端释放。在所有设备上相同地执行该计算,从而将最大带宽分配给(运行第三HAS客户端的)高等级设备,将其选为比接入链路容量低的最高可用比特率,并且在第一和第二HAS客户端之间分布剩下的带宽。假设对不同会话的可用比特率集合,将6.5Mbps分配给第三HAS客户端,而将600kbps分配给第一和第二HAS客户端。

在第三示例中,考虑在作为用于两个平板电脑的无线热点的智能电话附近组织无线网络。假设网络带宽为智能电话使用网关状态消息声明的指示当前接入带宽的8Mbps。在平板电脑之一上运行的第一客户端开始以5Mbps播放固定速率流,声明流特性并且监听消息。之后,在另一平板电脑上运行的第二客户端开始播放HAS流。与第二客户端相比,消耗固定速率流的第一客户端被排在第一。因此,第一客户端继续播放流,而第二客户端使用剩余带宽来从HAS流选择合适速率。假设与以上示例中相同的可用比特率,第二客户端将选取2500kbps流。稍后,由于外部事件,被智能电话使用的无线网络的速度下降至4Mbps。智能电话通过发送新的更新的网关状态消息来向网络中的设备通知当前网络容量。响应于该网关状态消息,第一客户端确定可用带宽太低而不能继续播放其正在消耗的固定速率流,并且发送状态消息来指示会话的终止,将结束时间字段设置为非零值。假设t2是在第一客户端发送块时长为d2的会话终止消息之前第二HAS客户端最后运行方法M的时间,则在t2+d2,第二客户端切换至2500kbps流,因为接入带宽的4Mbps变得可用。

附图中的流程图和/或框图示出了根据本公开各个实施例的系统、方法和计算机程序产品的可能实现方式的配置、操作和功能。关于这一点,流程图或框图中的每个框可以表示代码模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应注意,在一些备选实施例中,在框中标记的功能可以不按附图中标记的顺序发生。例如,连续示出的两个框事实上可以基本同时执行,或者在某些时候可以按照相反的顺序执行,或者可以按照备选顺序执行,这将取决于所涉及到的功能。还应注意,框图和/或流程图示意的每个框以及框图和/或流程图示意中的框组合可以由执行特定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。虽然没有明确描述,但是实施例可以被实施为任意组合或子组合。

本领域技术人员应当认识到,本公开原理的各方面可以被实现为系统、方法或计算机可读介质。因此,本发明原理的方案可采用完全硬件实施例的形式、完全软件实施例(包括固件、常驻软件、微代码等)的形式或组合了软硬件方案的实施例的形式,它们可一般地称为“电路”、“模块”或“系统”。此外,本发明原理的方案可采用计算机可读存储介质的形式。可利用一个或多个计算机可读存储介质的任意组合。

计算机可读存储介质可采用计算机可读程序产品的形式,所述计算机可读程序产品实现为一个或多个计算机可读介质,并且其中实现有可由计算机执行的计算机可读程序代码。这里的计算机可读存储介质被认为是非暂时存储介质,其具有用来在其中存储信息的内在能力以及从中获取信息的内在能力。计算机可读存储介质可以是但不限于例如电、磁、光、电磁、红外或半导体系统、装置或设备或前述系统、装置或设备的任意合适组合。本领域普通技术人员应认识到,以下虽然提供了本发明原理可以应用到的计算机可读存储介质的众多具体示例,但是以下项仅仅是示意性的,而没有穷尽地列举:便携式计算机盘;硬盘;随机存取存储器(RAM);只读存储器(ROM);可擦可编程只读存储器(EPROM或闪存);便携式紧凑盘只读存储器(CD-ROM);光存储设备;磁存储设备;或者以上的任意合适组合。

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