互连网络中对数据流的带宽预留的制作方法

文档序号:7774103阅读:228来源:国知局
互连网络中对数据流的带宽预留的制作方法
【专利摘要】本申请公开了互连网络中对数据流的带宽预留。一种用于互连网络中对数据流进行带宽预留的方法和装置。用于发送数据流的装置的某些实施例包括将数据流传送至接收方装置的发送器,该数据流包括多个数据分组。该装置还包括:接收器,用于从接收方装置接收有关数据分组到达状态的响应;以及用于指导发送器的操作的网络单元,该网络单元用于指导该发送器为该数据流保持恒定的带宽。
【专利说明】互连网络中对数据流的带宽预留
[0001]本发明专利申请是国际申请号为PCT/US2008/069256,国际申请日为2008年7月 3日,进入中国国家阶段的申请号为200880109153.2,名称为“互连网络中对数据流的带宽 预留”的发明专利申请的分案申请。
【技术领域】
[0002]本发明的实施例一般涉及网络领域,更具体地涉及用于互连网络中对数据流进行 带宽预留的方法和装置。
[0003]背景
[0004]网络可包括多个个人电子媒体设备的互连。多个媒体设备可联网到一起以共享数 据、提高便利性以及更全面地利用各个元件。例如,家庭内的某些设备可连接到一起。在这 样的环境下,存在用于音频、视频、游戏和其它用途的流传输数字媒体内容的多个可能的源 和用户。
[0005]当通过这样的互连网络传输数据流时,可能需要为该流预留带宽以保持高服务质 量。例如,当在基于以太网的网络上与其它业务一起传输数据流时,可能会超出总带宽容 量,从而导致包括该数据流的所有业务源的性能降级。如果实现了带宽预留,则该数据流一 般仅在存在足够带宽时才被许可进入网络,以例如保证没有数据分组会因为网络资源竞争 而丢失。
[0006]然而,常规的联网设备,尤其是面向消费者市场的产品一般不包括对带宽预留的 支持。此外,现有的常规带宽预留方案对工作存在限制。常规方案通常需要所有网络实体 实现该方案以便生效,即通常不存在部分失效模式或机制以对落到有效预留外部的业务宽 容地作出反应。
[0007]此外,带宽预留通常需要负责服务预留请求的了解网络布局的集中式仲裁程序 (或服务器)或需要以分布方式提供集中式仲裁程序的等效功能的预留实体之间的消息交 换协议。常规方法具有限制它们的有用性的缺点,且可使该实现在轻型网络环境中不实用。 一般不存在用于确定处于正确位置的网络布局的标准手段,从而在布局可能未知的网络中 产生困难。在利用仲裁程序的系统中,仲裁程序的可用性必须保证有效,而且必须提供用于 处理未正确释放预留的未正常工作的实体(诸如因为电源故障)的机制。在分布式方案中, 存在增加的复杂性,因为所有通信实体需要管理预留协议和分布式预留状态。这两种方案 一般基于来自诸如交换机或路由器之类的网络基础设施的辅助,以获得容量信息或加强预 留。此类方法中的任一种一般都不能提供用于处理落在任何已建立的预留之外的业务的机 制。

【发明内容】

[0008]提供了一种用于互连网络中对数据流进行带宽预留的方法和装置。
[0009]在本发明的第一方面中,一种装置可包括用于向接收方装置发送数据流的发送 器,该数据流包括多个数据分组。该装置还包括:接收器,用于从接收方装置接收有关数据分组到达状态的响应;以及用于指导发送器的操作的网络单元,该网络单元用于指导发送 器为数据流保持恒定的带宽。
[0010]在本发明的第二方面中,一种网络包括:包含第一网络接口的第一网络设备,该第 一网络设备接收传输数据流的请求,其中该数据流包括多个数据分组。第一网络设备以恒 定带宽发送数据流。该网络还包括包含第二网络接口的第二网络设备,其中该第二网络设 备接收该数据流,并通知第一网络设备有关数据的接收。
[0011]在本发明的第三方面中,一种用于在网络中为数据流预留带宽的方法包括为数据 流的传输建立恒定带宽,其中该数据流包括多个数据分组。该方法还包括将数据流传送至 一个或多个预期的接收方,其中发送该数据流包括发送足够的额外数据分组以保持恒定带 宽。如果数据流的发送在某段时间内成功,则带宽得以预留。
[0012]附图简述
[0013]本发明的实施方式在各附图中是作为实施例而非作为限制示出的,在附图中相同 的附图标记指代相同的元件。
[0014]图1是网络中数据流的传输的图示;
[0015]图2是娱乐网络的实施例的图示;
[0016]图3是媒体数据流在网络中的设备之间的传输的实施例的图示;
[0017]图4示出了网络设备之间通信以提供带宽预留的某些实施例;
[0018]图5示出了由网络中的多个设备传输数据的实施例;
[0019]图6是示出用于为网络中的数据流传输预留带宽的过程的实施例的流程图;
[0020]图7是网络设备的实施例的图示;以及
[0021]图8是网络设备的部件的实施例的图示。
[0022]详细描述
[0023]本发明的诸实施例一般涉及互连网络中对数据流的带宽预留。
[0024]如本文所使用地,“娱乐网络”表示用于在设备之间传输数字媒体内容(包括音乐、 音频/视频、游戏、照片以及其它)的互连网络。娱乐网络可包括诸如家庭中的网络之类的 个人娱乐网络、商用环境中的娱乐网络或娱乐设备的任何其它网络。在这样的网络中,某些 网络设备可以是媒体内容的源,诸如数字电视调谐器、有线机顶盒、视频存储服务器以及其 它源设备。其它设备可显示或使用媒体内容,诸如数字电视、家庭影院系统、音频系统、游戏 系统以及其它设备。此外,某些设备可旨在存储或传输媒体内容,诸如视频和音频存储服务 器。某些设备可执行多种媒体功能。在某些实施例中,网络设备可共同定位在单个局域网 上。在其它实施例中,网络设备可跨越多个网络分段,诸如通过局域网之间的隧穿。娱乐网 络可包括多种数据编码和加密过程。
[0025]在某些实施例中,在互连网络中提供带宽预留。该互连网络可包括但不限于其中 多个娱乐媒体设备互连在网络中的娱乐网络。
[0026]在某些实施例中,源设备通过指定数据流所需的恒定带宽来对网络基础设施发起 数据流预留请求。例如,该带宽可以是数据流的峰值带宽。如果需要的带宽可用,则网络基 础设施工作以沿使用中的网络路径预留带宽。在某些实施例中,超过任何给定链路上的总 容量的后续预留请求被拒绝,其中在请求过程期间的临时过载状况被允许。
[0027]在某些实施例中,在不使用中央仲裁程序或服务器、且在竞争的网络元件之间没有协调或通信的情况下提供了带宽预留。在某些实施例中,在其中提供和接收数据流的网 络实体占有最小资源的联网环境中提供带宽预留。在某些实施例中,提供了带宽预留而不 要求特别的业务可用于此类操作。在一个实施例中,提供了一种在不了解其它实体、网络布 局、或存在任何不变状态的情况下为非联合的设备组建立带宽预留的手段。在某些实施例 中,带宽预留允许宽容地处理来自未实现或不支持预留过程的实体的话务。
[0028]在某些实施例中,带宽预留能以变化的严格程度得到实施。例如,如果基础网络未 提供增强机制,则实施可基于网络实体之间的双方协定。如果在网络基础设施中存在对分 组优先级的支持,则可保证新的预留和未参与话务不影响预留数据流。如果在网络基础设 施中存在对带宽预留的支持,则带宽系统可充分利用该网络基础设施来实施带宽预留。在 某些实施例中,系统将在一切情况下工作,从而使该系统可用于在无约束网络环境下提供 带宽预留。
[0029]图1是网络中的数据流的传输的图示。在该示例中,多个设备在诸如个人娱乐网 络之类的网络中互连。例如,设备A105、设备B110、设备C115以及设备D120连接至网络 125。在网络中可能存在任意数量的设备。在该网络中,这些设备可向网络中的其它设备发 送数据流,诸如流传送媒体数据。
[0030]在一个示例中,设备A105可被请求将第一数据流130通过网络125发送至设备 B110。然而,该网络可能具有有限容量,从而不能支持所有可能的数据流。在该示例中,设备 C115还可被请求将第二数据流135发送至设备D120。在该实例中,因为第一数据流130和 第二数据流135的同时传输网络容量会被超出,尤其是当数据流之一或二者处于峰值时。
[0031]在某些实施例中,各个传输设备将尝试以恒定的带宽发送数据流。在某些实施例 中,发送设备将尝试建立足以为峰值传输预留带宽的恒定带宽。在某些实施例中,在不与通 过网络发送数据的其它设备进行任何通信或不知道其它设备的情况下,网络上的其它设备 的操作将导致所需带宽的预留。
[0032]在某些实施例中,第一设备将通过除发送数据分组之外还发送足够的额外分组以 保持峰值带宽来尝试建立数据流的带宽。这些额外分组可包括仅为保持带宽而包括在内的 空数据分组,且可包括未接收到的任何重发数据分组、推测性或冗余的数据分组发送、或其 它非流式数据发送。
[0033]在一个示例中,设备A105可开始到设备BllO的第一数据流130。如果设备A未成 功,诸如如果存在持续一段时间的干扰(其可称为“拥挤等待周期”),则设备A在尝试再次 建立数据流之前将在某个等待周期(“恢复等待周期”)内停止或减少发送。如果在某周期 (“许可等待周期”)内设备A105成功,则设备A105将断定该数据流130已建立并已获得优 先级。如果干扰在数据流建立之后出现,诸如当设备C115开始第二数据流135的传输时,则 设备A105在停止传输之前相比设备C115将等待更长的周期(更长的拥挤等待周期)。以此 方式,后开始的数据流将首先停止或减少,从而在发送设备之间不存在任何通信的情况下, 为首先开始的数据流保持带宽预留。
[0034]在某些实施例中,系统向标准互连网络中的数据流提供服务质量保证,包括其中 音频/视频数据通过个人娱乐网络来流传送的使用情形,该个人娱乐网络诸如其中数据从 存储设备流传送至显示设备的家庭网络环境。在本示例中,对音频/视频数据流的观看者 的服务将一般需要以及时方式可靠地传递流数据。然而,当网络包括用于数据传输的共用分段时,其它话务会影响该数据传递。在某些实施例中,沿数据流通过网络的路径预留带 宽,而不考虑沿该路径的联网设备(诸如交换机和路由器)的数量和容量。以此方式,保证数 据流具有充足资源来满足其需求,从而提供可靠和及时的传递。
[0035]在某些实施例中,在带宽预留中使用最大需求会导致网络带宽的次优利用,但诸 如个人娱乐网络的某些环境会在完整系统利用上评估服务质量。在这样的环境下,可预期 带宽在未来扩展会变得更廉价,而服务质量需求将不会降低。
[0036]图2是娱乐网络的实施例的图示。在该图示中,娱乐网络系统200为任何兼容的 媒体设备提供到网络的连接。该连接被示为到娱乐网络205的连接。在某些实施例中,这 些设备在没有中央网络服务器的情况下作为网络工作。通过该娱乐网络,可在所连接的任 何设备之间传输媒体数据流。此外,可通过网络远程控制这些设备。这些设备可经由任何 已知的连接器和连接协议一包括同轴电缆、以太网电缆和火线,以及经由W1-F1、蓝牙或 其它无线技术的无线连接来连接至网络。
[0037]在某些实施例中,这些设备可包括任何媒体源或接收设备。在图2中,办公室210 可经由调制解调器222向网络205提供因特网连接220。从因特网接收的数据可包括任何流 送媒体源,包括但不限于购买的音频文件(诸如下载的音乐文件)、视频文件(诸如电影、电 视以及其它)以及计算机游戏。办公室210还可连接至使用监视器226的个人计算机224, 该监视器226除其它功能之外还能显示某些媒体流或运行某些计算机游戏。
[0038]该娱乐网络还可与卧室212中的设备连接,该设备可包括例如向电视232提供数 据的机顶盒230。此外,卧室(或任何其它空间)可包含媒体存储单元228。该媒体存储单元 228可从连接至网络205的任何源接收数据,且可向连接至网络205的任何数据接收方提供 数据。媒体存储单元228可包含用于该网络的任何类型的数据流数据。
[0039]该系统还可包括起居室214,该起居室214例如接收来自电缆或光纤系统234或 来自卫星天线网络236的输入。来自此类源的媒体输入可被提供给连接至网络205和第二 电视240的机顶盒238。视频游戏单元242也可连接至网络205以显示在起居室电视240 上。可能存在具有联网设备的任意数量的其它房间,诸如包含连接至网络205的第三电视 244的厨房。还可能存在其它网络设备,包括但不限于可包括环绕房屋放置的扬声器的立体 声音频系统。
[0040]此外,任意数量的移动个人电子设备可连接至网络。这些设备可经由电缆或经由 包括但不限于蓝牙、W1-F1、红外或其它相似的无线通信协议的无线信号来连接。各种此类 协议可能要求到网络的接口(未在图2中示出),诸如W1-Fi基站。此类移动个人电子设备 可包括数码相机246、蜂窝电话248、个人音乐设备250或摄像机252。此外,当汽车靠近网 络时(诸如在房屋的车库中出现时),汽车254中包含的移动系统可连接至网络205。这些移 动个人电子设备例如在网络范围内时可自动连接至网络。当连接之后,这些设备可用于通 过网络获取数据或向网络提供数据,包括可能的自动更新或向设备的下载。在一个示例中, 用户能通过网络存取任一移动电子设备中包含的数据,诸如经由机顶盒238存取起居室电 视240上的数码相机246上所存储的相片。在某些实施例中,图2中所示的网络设备是被 设计成具有有限网络处理和缓冲能力的低资源设备。
[0041]在某些实施例中,为了预留带宽,一种网络设备一直完全利用预留请求中的最大 带宽。该最大带宽可等效于或基于数据流的峰值带宽。该设备可知悉峰值带宽,或者该峰值带宽可从多个不同源之一获得。在某些实施例中,发送设备以统一的速率产生网络话 务,以使该数据流的总带宽与带宽请求匹配。如对音频/视频流常见的,数据流可具有变 化和粹发的带宽需求。在某些实施例中,当流数据带宽低于最大值时,修饰服务(grooming service)产生附加的话务,以将所发送的带宽装填至最大值。在某些实施例中,修饰服务进 一步控制传输速率以使猝发平滑。
[0042]在一个示例中,音频/视频数据可利用RTP/UDP/IP (实时传输协议/用户数据报 协议/网际协议)协议来发送。在此情况下,预留修饰器发送与来自比如视频存储服务器之 类的源的数据流相关联的数据分组,而且被要求以固定的时间间隔发送特定数量的字节。 当修饰器从源接收分组时,根据具体应用修饰器可立即发送分组,或将其保持至下一发送 间隔。当修饰器达到传输间隔且具有带宽不足时,它产生大小为保持带宽所必需的分组并 将其发送,以保持全带宽。
[0043]在一个示例中,可使用TCP/IP (传输控制协议/网际协议)协议来传递音频/视频 数据。TCP通常能通过路由器和防火墙,而UDP通常不被允许通过路由器和防火墙。然而, TCP不允许指定传输速率。在某些实施例中,预留修饰器可提供如上所述的有关保持恒定和 均匀带宽的相同功能,但实现将修饰器集成到该实现中的TCP协议的非标准实现。
[0044]在某些实施例中,根据网络协议的传输占据从而预留沿数据流通过网络的路径的 所有链路和设备上的带宽,其中带宽占据由不了解网络基础设施的布局或容量的网络设备 来完成。在某些实施例中,标准的联网协议可在没有特定支持的情况下建立通过网络的流。 多数现代网络话务基于TCP协议,该协议具有仅消耗带宽至可用上限的性质。在某些实施 例中,通过占用最大所需带宽,数据流将自身与TCP话务隔绝。在局域网中,可允许不受约 束的UDP话务,但在这样的环境下,该话务需要遵守互连网络的预留方案。
[0045]图3是网络中的设备之间的媒体数据流的传输的实施例的图示。在该图示中,设 备A305包括网络接口 310和缓冲器315。缓冲器315可包括已经被发送的数据分组的存 储。设备A意图将媒体数据流发送至设备B320,设备B320也被示出包括网络接口 325和缓 冲器330。缓冲器330可包括已经从设备A305接收的数据分组的存储。设备A305和设备 B320可连接在娱乐网络中。
[0046]在某些实施例中,媒体数据流335可包括传输的多个峰和谷,因为要传输的数据 分组可能随时间变化。在某些实施例中,设备A305将用附加的数据分组340来“装填”媒 体数据流,以保持特定带宽。在某些实施例中,带宽340将至少与媒体数据流335的峰一样 大,以使该传输将由将容纳数据传输峰的恒定数据流组成。然而,还可选择其它带宽水平。 附加数据分组340可包括不含数据的空数据分组,或可包括重发分组、复制分组或其它有 用信息。附加数据分组340还可包括因为设备B320接收此类数据分组失败而需要重新发 送的任何数据分组。设备B可向设备A305发送响应350。该响应350可包括接收到数据分 组时的肯定确认(ACK)或预期数据未到达时的否定应答(NAK)。
[0047]图4示出了网络设备之间的通信以提供带宽预留的某些实施例。在该图示中,请 求方400向网络设备A405发送请求412,以请求将媒体网络数据流发送至网络设备B410。 网络设备A405通过向网络设备B410发送数据分组而开始数据流,其中数据分组的发送以 足以保持数据传输中的峰值的特定带宽开始,其中任何剩余带宽空间按需用额外的数据分 组来填充。设备B410可通过响应于数据分组的到达而提供充足的肯定确认(ACK)来指示成功传输,或者以其它方式指示此类数据分组已经到达。
[0048]然而,网络设备A405可发送网络设备B410诸如因为网络已经过度拥挤、因为传 输线已经丢失或任何其它原因未能接收的附加数据分组425。在某些实施例中,网络设备 A405可向网络设备B410重发丢失的数据分组435。如果传输继续不成功达特定时间周期 440 (拥挤等待周期),则网络设备A405将停止或减少数据流的传输,并等待特定时间周期 445 (恢复等待周期)。如果该带宽未被预留,则可对请求方发送消息以指示对该数据流的 预留请求被拒绝447。在该时间周期已经过期之后,网络设备A尝试恢复数据流450的完整 传输。在该实例中,该尝试再次失败455,从而导致等待另一时间周期460。在某些实施例 中,等待时间会改变以防止两个设备同时尝试预留带宽,然后同时重试。在该示例中,网络 设备A再次尝试重建数据流465,并成功470,以及继续数据分组475的发送。
[0049]在本发明的实施例中,对与已经建立的数据流相干扰的数据流设置许可控制。对 于以期望带宽打开的新数据流,利用如上所述的数据修饰。在某些实施例中,网络基础设施 将自动将该流路由至期望目的地,并通过占用带宽来沿该路径预留带宽。然而,沿该数据路 径的一个或多个部分,新的数据流可引起数据溢出情况。
[0050]因为网络设备缺乏无限数据队列,所以这些设备最终将响应于过载情况而丢弃数 据分组。在某些实施例中,接收器负责检测这种情况并通知发送方。如果传输协议是经修 饰的TCP,则这样的反馈是底层协议中固有的。如果传输协议是UDP,则可建立暗信道(back channel)以将过载指示发送至数据源。在某些实施例中,过载检测算法和反馈协议/信道 可以是专用的。当传输协议是TCP时,在需要时仍可使用独立的反馈算法和信道。
[0051]在某些实施例中,当最近发起的流接收到过载指示时,发送设备将在短时间内停 止或减少传输(从而该设备具有较短拥挤等待周期),且将向预留请求方提供该数据请求被 拒绝的指示。在这种情形下,不要求具有有效流的实体中的任一个来通信,从而当存在充足 带宽时许可新流,或当带宽不足时被网络拒绝。因此,不需要知晓其它数据流。在某些实施 例中,与数据流目的地合作的各个数据流请求方能仅基于本地信息来作决定。
[0052]在某些实施例中,当数据源尝试发起新数据流且其预留请求被拒绝时,该源可周 期性地重试许可其数据流。为避免其中两个(或多个)请求方进行同时尝试且重复这些尝试 的“活锁(livelock)”情况,多个请求之间的延迟可随机化,以使各个请求方等待随机的时 间周期,从而允许请求方之一获得优于其它请求方或多个请求方的优先级。在一个示例中, 诸如1.X倍之类的小的随机乘法器可应用于该时间周期。
[0053]在不同实施例中,等待周期的长度以及建立方法可以不同。在某些实施例中,许 可、拥挤以及恢复等待周期的长度对于各种设备和数据类型在长度上通用。在某些实施例 中,等待周期的长度可选择,而且可被例如传输设备修改。在某些实施例中,等待周期可包 括随机因子,或可由随机因子调节,以使不同的设备可在不同的时刻停止或减小数据流或 恢复数据流。设备的反应将受最小等待周期和最大随机间隔限制。传输设备可根据具体传 输来选择等待周期。在某些实施例中,等待周期的长度可根据数据源的类型、发送的数据类 型或其它因素而不同。在一个示例中,可利用较长的许可等待周期来为数据流建立更高水 平的预留优先级。在其它示例中,可为不同类型的数据或不同类型的网络设备建立不同的 拥挤等待周期以提供不同的优先级水平,诸如为包含低优先级数据的第一数据流建立的较 短拥挤等待周期和为包含高优先级数据的第二数据流建立的较长拥挤等待周期。[0054]在某些实施例中,请求方还可选择递增地增大其数据流预留。例如,源设备可通过 请求小带宽预留来开始。然后它可按照例如固定量子的序列来增大其有效流的带宽,诸如 尝试每几秒增大预留5Mb/s,直到达到最大数据流水平。该过程可使数据流源能执行其数据 流的缓慢开始,从而允许其发现可用的最大流率或使在过载期间对系统的影响最小。
[0055]在某些实施例中,数据流源可能希望用超出最大流的额外数据来增强其数据流, 以为了某些目的而提供充足的附加带宽。例如,带宽可针对附加要求而预留,诸如提供进入 音频/视频流的特别播放模式(快进、倒带、暂停等),或用于改变数字调谐器设备上的信道。
[0056]在某些实施例中,同样的许可控制过程可如同应用于新的数据流预留一样应用于 对预留的递增变化。在这样的过程中,如果数据流的增大导致目标发送过载反馈,则该递增 被拒绝,且该数据流源回退至其最后许可的请求。
[0057]在某些实施例中,带宽预留协议保护带宽预留不受其它公共数据话务影响。在某 些实施例中,该数据流过程可被增强以提高各个有效流的总体服务质量。在某些实施例中, 如果网络基础设施支持分组优先级(这会变得更普遍),则可进一步保护有效流中的话务在 过载期间不被丢弃。例如,有效流可分配到最高分组优先级,背景话务可分配到标准优先 级,而新预留请求分组可分配到较低优先级。在该示例中,有效数据流一般不会因为许可控 制行为或因为其它背景话务(诸如PC上的网上冲浪)而遭受较低的服务质量。
[0058]在某些实施例中,用于吸收过载期间(当新流尝试进行预留)的分组丢失的有害效 果的另一技术是用超过预留请求(即超过数据需求中的预期最大值)的额外带宽来装填预 留数据流。超过这样的数据需求的装填会降低有价值的流数据丢失的可能性,并为要重发 丢失数据的数据流源提供某些附加净空。在某些实施例中,如果分组优先级可用,则该额外 装填在需要时可被标记为要首先丢弃。
[0059]该数据流修饰器所产生的用于保持带宽的额外数据分组可用于提高服务质量。在 某些实施例中,这些分组可包含空信息,而在某些其它实施例中,这些额外数据分组可包含 冗余流信息。如果流数据丢失且额外数据分组包含冗余信息,则丢失数据可从这些额外分 组中恢复。
[0060]在某些实施例中,数据流修饰器不需要理解流数据的格式,以产生额外带宽或有 意义的流数据。在一个示例中,这些额外分组可在独立的端口上发送至同一目标。
[0061]在某些实施例中,数据流修饰器调节其带宽的粒度可用于影响整体信号质量。目 标带宽得以保持的该间隔的减小可提供更均匀的传输速率,这对于在网络基础设施中预留 资源更佳,因为缓冲器占用呈现更少波动,从而降低了瞬态过载的机会。因此,可在数据流 修饰器中提供更精细定时以提闻服务质量。
[0062]此外,在某些实施例中,修饰器可选择传输来自源的传入数据,以提高流的均匀 性。然而,某些数据流可要求目标处的时钟还原,这可排除这种类型的优化。在某些实施例 中,网络单元中支持这两种数据传输模式一传输有延迟和传输无延迟。
[0063]在不受约束的网络中,甚至许可的预留也会因为除流许可请求之外的因素而遭受 过载。如果该流的网络路径改变(例如,由于移动或断开网络设备上的电缆的情况),或如果 在网络中存在不相符的话务(诸如不遵守TCP协议或许可控制协议的网络应用),就会出现 这种情况。因此,有效流可能不能仅依赖于许可控制协议的成功来保证预留在每种情况下 都兑现。[0064]当一组有效数据流经历过载时,如果未采取动作则这些数据流一般都将降级,从 而使系统性能降级。在某些实施例中,作为响应的第一动作尝试使用现有的协议来强制不 相符的话务源静默。例如,ICMP (网际控制报文协议)协议可用于请求不相符的设备静默 它们的传输。然而,可请求有效流以某种方式降低它们的带宽。通常,更需要丢弃单个流而 不是将所有流降级。因此,可指导有效流选择要牺牲的流。在某些实施例中,这可如下地完 成:
[0065](I)首先,接收过载反馈通知的有效流等待足以解决新的流请求许可的特定时间 周期(拥挤等待周期)。
[0066](2)如果过载持续,则遭受过载的各个有效流等待随机的时间量(随机化因子)然 后再次测试过载。
[0067](3)如果过载持续,则该数据流减小其带宽,这包括停止数据流或切换至数据流的 较低带宽版本。以此方式,数据流的源不需要相互通信,但随机化可能使仅一个流停止或减 小。
[0068](4)当有效流如上所述地丢失其预留时,它应当周期性地尝试重新获得其预留(在 恢复等待周期之后),从而按照随机化因子使请求之间的延迟随机变化。
[0069]图5示出了由网络中的多个设备传输数据的实施例。在该图示中,根据网络协议 工作的设备通过尝试发送带宽对于数据传输需求中的任何峰足够的流来寻求为媒体数据 流传输预留带宽。遇到带宽可用性不足以携带数据流的情况的设备将遇到不能到达的数据 分组,而且将在具有建立带宽的设备停止或减少传输之前停止或减少数据传输。
[0070]例如,设备A502开始媒体数据流传输(其中该带宽由图5中所示的条形高度表 示)。如果该传输在特定的发起时间周期512期间成功,指示接收方已经接收到足够的数据 分组,则设备A502确定该带宽已建立。在该操作中,设备A502可能不知道有多少其它设备 (如果有的话)在网络中传输或尝试传输数据,但是设备A502能基于其自身数据传输的成功 或失败来做决定。
[0071]设备B504然后尝试建立媒体数据流,从而为该数据流预留带宽。在该示例中,该 网络能传输设备A502和设备B504 二者的数据流。在发起时间周期518之后,设备B504确 定设备的数据流已建立。然而,设备A502和设备B504可能相互不知道,或各个设备已经为 数据流的传输预留带宽。然而,当第三设备——设备C506尝试建立媒体数据流时,该示例 中的网络不能可靠地传输所需的所有数据。各个活动设备在数据分组传输中可能遭遇干 扰,而且如果接收问题持续超过特定时间周期,则各个此类设备将停止或减少传输。在某些 实施例中,设备A502和设备B504在停止或减少数据传输之前相比设备C506将等待的周期 528而言等待更长的周期514和520,因为设备A502和设备B已经确定它们的数据流已经建 立,而设备C506尚未确定。在某些实施例中,设备C在尝试再次发起数据流之前等待特定的 时间周期529。在某些实施例中,时间周期529的长度是随机的。因为设备A和B502-504 仍在发送,所以预期设备C506将再次不成功,且在时间周期531之后停止或减少数据传输。 在时刻522,设备B结束其传输,而且因为足够的带宽可用,在时刻531后设备C506在特定 周期532中成功地发起该数据流。
[0072]在该图示中,设备C508和设备D538稍后尝试同时发起传输。然而,设备A502仍 在传输,而且在该示例中可假定,对于两个设备带宽足够,而对于三个设备则带宽不足。在某些实施例中,设备C506和设备D508两者在时间周期534和538之后将停止或减少传输。 如果这两个设备在尝试重新发起传输之前等待相同的时间周期,则这两个设备会继续一起循环,从而都不能以全带宽传输。在某些实施例中,等待周期的长度随机或接近随机(在最小和最大周期长度之间)。例如,设备C506可接收相比用于设备D508的随机时间周期539 而言更短的随机等待时间535。然后设备C506能为传输周期536预留带宽,而设备D继续尝试且失败540和542,直到足够的带宽变得可用。(在某些实施例中,等待的时间周期可根据其它因素来确定。在某些实施例中,网络设备可被给予相对优先级,而较高优先级的设备可被给予比较低优先级设备更短的时间周期。
[0073]在某些实施例中,网络设备A-D502-508可能需要与一个或多个不顺应设备510共享网络资源,这些不顺应设备510不采用网络带宽预留协议。如果不顺应设备使用诸如TCP 之类的另一协议,则当数据传输不足时(诸如与设备D508为带宽544竞争时),该设备一般将减小带宽,然后将逐渐增大带宽546。在某些实施例中,网络设备可能与此类设备协同工作。然而,如果该设备在这些情况下不减小带宽,则用户会被要求回避这些设备。在某些实施例中,网络设备可在网络上发送警告不顺应设备的消息,并要求此类设备结束传输或减小带宽以允许网络设备的操作。
[0074]图6是示出用于为网络中的数据流传输预留带宽的过程的实施例的流程图。该过程可由接收对数据流602的请求而触发。接收该请求的设备将尝试利用足以容纳峰值数据传输的传输带宽来发起数据流604。该设备将发送一个或多个数据分组,且该传输被诸如空分组之类的额外分组装填以保持预留带宽606。
[0075]如果数据流的传输未过载(608),且数据分组大致被预期的接收方或多个接收方所接收,而且存在要发送的更多数据分组(616),则该过程继续数据传输(606)。如果没有更多数据要传输,则数据流结束(611)。如果该传输过载(608),则确定自数据流开始之时起是否已经过去了足够时间(Ti^1) (610)(许可等待周期),以确定该数据流已经建立且带宽已被预留(612)。如果还未经过足够时间,则该数据流还未建立(614)。
[0076]如果该数据流已经建立(612),则确定从过载状态开始起已经过去时间周期T1 (620),其中T1是其中网络设备通过重发数据保持数据流的拥挤等待周期。如果T1还未过期,则尝试重发还未到达的数据分组(628),随后重新确定该传输是否过载(608)。如果T1 已经过期(620),则确定该传输是否仍过载(622)。如果不是,则重发丢失数据(628)。如果传输过载,则设备在尝试恢复数据传输之前等待随机时间周期Tffim(624),其中该随机时间周期允许在多个预留数据分组之间作决策。然后确定传输是否仍过载(626)。如果不是,则该过程可继续重发丢失的数据分组(628)。如果是,则该数据流停止或减少传输(630),并在尝试恢复数据传输之前等待随机时`间(在最小时间与最大时间之间)Tffim(632)。
[0077]如果数据流还未建立(614),则确定时间周期T2是否已经过期(634),其中T2是网络设备尝试保持该数据流的时间周期。在某些实施例中,T1大于T2,以使所建立的数据流或多个流继续尝试发送比未建立的数据流更长的数据,从而保持预留带宽。如果T2还未过期, 则尝试重发还未到达的数据分组(636),随后重新确定该传输是否过载(608)。如果T2已经过期(634),则该数据流停止或减少传输(630),并在恢复之前等待随机时间Tffim(632)。
[0078]虽然在此处未示出,但网络设备还可限制该网络设备尝试重新发起数据流的次数。如果在特定的尝试次数或某个时间周期期间未出现重新发起,则该网络设备可停止操作。当在延长的时间周期内没有足够带宽可用时,防止继续尝试发起或重新发起数据流是 正确的。
[0079]图7是网络设备的实施例的图示。在某些实施例中,网络设备705是具有诸如以 太网MAC地址之类的一个物理网络接口的实体。如图7所示,该网络设备包括两个网络接 口 710和715。在某些实施例中,网络设备因此是物理实体。在某些实施例中,该网络设备 包括一个或多个代理,其中各个代理是驻留在网络设备上的逻辑实体。网络设备上可能有 多个代理。例如,图7示出了网络设备705,其中网络接口 710经由通信管理器720提供对 代理730、735以及740的访问,且经由通信管理器725提供对代理745和750的访问,以及 经由通信管理器730提供对代理755和760的访问。在某些实施例中,各个代理分配到全 局唯一的标识符以将其与其它代理区分开,而与网络设备IP地址和设备重置操作无关。以 此方式,对代理755的命令可被寻址到该代理唯一的地址,从而该消息将通过网络接口 715 被引导至代理755。
[0080]在某些实施例中,代理用作网络设备内的通信端点,并提供功能和相关特性的特 定集合。代理可包括媒体源、媒体宿、媒体控制器以及其它元件。在一个示例中,代理可提供 视频流话务。在该示例中,该代理响应于消息以查询和控制媒体流,且当被指示时,该代理 可向另一代理自主传输媒体流。在某些实施例中,代理在任何时候具有不超过一个活动媒 体会话,从而提供相对简单的操作。代理可被示为和描述为作为活动对象,因为该代理可发 送和接收消息、响应于这些消息修改内部状态、且具有执行作为副作用的连续动作的能力。
[0081]在某些实施例中,代理可通过通信管理器的方式在娱乐网络上通信。在某些实施 例中,每个设备可能存在一个或多个通信管理器,诸如图7中的通信管理器720、725和730。 在某些实施例中,可通过单个通信管理器来管理多个代理,诸如例如由通信管理器720管 理的代理730、735以及740。在某些实施例中,通信管理器负责将消息路由至受通信管理器 约束的代理和从那些代理路由消息。该过程可包括将消息传输至同一网络设备本地的其它 代理、将来自各个代理的消息在输出连接上多路复用至远程网络设备上的代理、以及处理 广播请求。在某些实施例中,代理可仅受一个通信管理器约束,而通信管理器可仅受一个网 络接口约束。
[0082]在某些实施例中,显示管理器是管理显示设备上的资源的代理。具体而言,该显示 管理器负责获取对显示资源和屏幕几何结构的访问权。在某些实施例中,对于诸如视频输 出、图形输出、音频输出以及用户输入之类的各个相关的I/O设备集合,各个显示设备仅具 有一个显示管理器。在某些实施例中,代理与会话管理器一起工作以协调媒体内容在显示 设备处的传输和显示,从而准许对显示设备资源的访问权。在某些实施例中,显示管理器代 表用户会话的起点并授权对会话管理器的控制。
[0083]在某些实施例中,会话管理器是协调活动用户的媒体内容集合的代理。在某些实 施例中,一旦选定,则会话管理器利用相应的显示管理器发起远程屏幕显示会话,并开始执 行应用程序以管理网络中的其它设备。在某些实施例中,显示管理器向会话管理器转发输 入事件并准许对其显示资源的访问权,其中会话管理器可授权其它代理,从而允许其它代 理向显示器传输内容。在一个示例中,显示管理器可准许对在机顶盒内执行的会话管理器 的访问权。该会话管理器可利用显示器发起远程n (用户界面)会话,并允许网络设备的 用户选择要从远程视频存储设备播放的视频。在某些实施例中,该会话管理器可传递对视频服务器的访问权,并指导视频服务器向显示器传输媒体流。在某些实施例中,会话管理器 保持管理用户在使用媒体内容时的体验所需的状态。
[0084]图8是网络设备的部件的实施例的图示。在该图示中,网络设备805可以是娱乐 网络中的任何设备,包括但不限于图1中所示的设备。例如,该网络设备可以是电视、机顶 盒、存储单元、游戏控制台或其它媒体设备。在某些实施例中,该网络设备805包括用于提 供网络功能的网络单元810。这些网络功能包括但不限于媒体数据流的产生、传输、存储以 及接收。网络单元810可实现为单个片上系统(SoC)或多个部件。
[0085]在某些实施例中,网络单元810包括用于处理数据的处理器。对数据的处理可包 括媒体数据流的产生、在传输或存储中对媒体数据流的操纵、以及对媒体数据流的解密和 编码以供使用。该网络设备还可包括用于支持网络操作的存储器,诸如DRAM (动态随机存 取存储器)820或其它相似的存储器和闪存825或其它非易失性存储器。
[0086]网络设备805还可包括发送器830和/或接收器840,用于经由一个或多个网络 接口 855分别在网络上传输数据或从网络接收数据。发送器830或接收器840可连接至包 括例如以太网电缆850之类的有线传输电缆或无线单元。发送器830或接收器840可利用 诸如用于数据传输的线835和用于数据接收的线845之类的一根或多根线耦合至网络单元 810以便传输数据和控制信号。还可存在其它的连接。网络设备805还可包括此处未示出 的用于设备的媒体操作的多个部件。
[0087]在下面的描述中,出于说明目的阐述了众多具体细节以便提供对本发明的全面理 解。然而,对本领域技术人员将显而易见的是,没有这些具体细节也可实施本发明。在其它 实例中,以框图形式示出了众所周知的结构和设备。在所示部件之间可能存在中间结构。本 文中所描述或示出的部件可能具有未示出或描述的附加输入或输出。
[0088]本发明可包括多个过程。本发明的过程可由硬件部件执行,或可具体化为机器可 执行的指令,这些指令可用于使通过这些指令编程的通用或专用处理器或逻辑电路执行这 些过程。或者,这些过程可通过硬件和软件的组合来执行。
[0089]本发明的多个部分可设置为计算机程序产品,其可包括其上存储了计算机程序指 令的计算机可读介质,这些计算机程序指令可用于对计算机(或其它电子设备)编程以执行 根据本发明的过程。机器可读介质可包括但不限于软盘、光盘、CD-ROM (光盘只读存储器)、 磁一光盘、ROM (只读存储器)、RAM (随机存取存储器)、EPROM (可擦除可编程只读存储器)、 EEPROM (电可擦除可编程只读存储器)、磁或光卡、闪存或适合于存储电子指令的其它类型 的介质/机器可读介质。而且,本发明还可被下载为计算机程序产品,其中该程序可从远程 计算机传输至请求计算机。
[0090]许多这些方法以它们最基本的形式进行描述,但可对这些方法中的任一种中添加 或删除过程,且可对所描述的任一信息添加或减少信息,而不背离本发明的基本范围。对本 领域技术人员显而易见的是,可进行许多进一步的修改和改变。所提供的特定实施例不是 为了限制本发明而是为了说明本发明。本发明的范围并非由以上所提供的特定示例限定, 而仅由以下权利要求限定。
[0091]当描述元件“A”耦合至元件“B”或与其耦合时,元件A可直接耦合至元件B,或通 过例如元件C间接耦合。当说明书或权利要求陈述部件、特征、结构、过程或特性A “引起” 部件、特征、结构、过程或特征B时,它意味着“A”是“B”的至少部分起因,但还可能存在辅助引起“B”的至少一个其它部件、特征、结构、过程或特征。如果说明书指示部件、特征、结 构、过程或特性“可能”、“也许”或“可”被包括,则该部件、特征、结构、过程或特性不需要被 包括。如果说明书或权利要求引用“一个(a)”或“一个(an)”元件,则这不意味着仅有一 个所描述的元件。
[0092]实施例是本发明的实现或示例。说明书中对“实施例”、“一个实施例”、“某些实施 例”或“其它实施例”的引用表示结合实施例所描述的特定特征、结构或特性包括在至少某 些实施例中,但不一定包括在所有实施例中。“实施例”、“一个实施例”或“某些实施例”的 多次出现不一定都指示同样的实施例。应当理解的是,本发明的示例实施例的上述描述、本 发明的多个特征有时在单个实施例、附图及其描述中被组合到一起,以将公开内容连成整 体,并帮助理解多个发明方面中的一个或多个方面。然而,这种公开方法不应被解释为反映 声明要求保护的本发明相比各个权利要求中明确陈述的特征而言需要更多特征的意图。相 反,如所附权利要求反映出来的那样,本发明少于以上公开的单个实施例的所有特征。因 此,权利要求在此明确地被包括到本说明书中,其中各个权利要求独立作为本发明的单个 实施例。
【权利要求】
1.一种用于传输数据的方法,包括:接收传输数据流的请求,所述数据流包括多个数据分组,所述数据流具有特定峰值传输带宽;在网络上将所述数据流从多个装置中的第一装置传输至第二装置,其中从所述第一装置传输所述数据流包括将所述数据流保持于与所述峰值传输带宽一样大的恒定带宽,传输所述数据流还包括传输足够数量的附加数据分组以保持所述带宽;确定所述网络的数据干扰水平是大于还是等于阈值水平;如果在所述数据干扰水平未达到所述阈值水平的情况下所述数据流被所述第一装置成功传输达许可等待时间,则由所述第一装置确定用于传输所述数据流的带宽被预留在所述网络上;以及如果所述数据干扰水平持续处于或高于所述阈值水平达与拥挤等待时间周期相等的至少一个时间周期,则停止或减少通过所述第一装置传输所述数据流的带宽,其中在所述第一装置已经确定所述数据流的传输被预留的情况下,所述拥挤等待时间周期比所述第一装置还未确定所述数据流的传输被预留的情况更长。
2.如权利要求1所述的方法,其特征在于,用于传输所述数据流的所述请求是从所述网络上的多个装置中的任一个装置接收的,所述任一个装置包括所述第一装置或第二装置。
3.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期按照随机间隔被修改。
4.如权利要求3所述的方法,其特征在于,还包括为所述第一装置建立所述拥挤等待时间周期和随机间隔。
5.如权利要求1所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括一个或多个空数据分组。
6.如权利要求1所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括包含复制的分组的数据分组。
7.如权利要求1所述的方法,`其特征在于,用于保持所述恒定带宽的所述额外数据分组包括包含冗余的流信息的数据分组。
8.如权利要求1所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括从所述第一装置传输至所述第二装置的非流式数据。
9.如权利要求9所述的方法,其特征在于,所述非流式数据从所述数据流的数据分组在单独的端口上传输。
10.如权利要求1所述的方法,其特征在于,还包括从所述第一装置将未曾被所述第二装置接收的数据分组重新传输至所述第二装置,其中用于保持所建立的带宽的所述额外分组包括一个或多个重新发送的数据分组。
11.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期具有随机长度。
12.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期对于所述多个装置中的每一个而言在长度上部分地通用。
13.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期取决于所述数据流的类型在长度上部分地通用。
14.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期取决于所述数据源的类型在长度上部分地通用。
15.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期部分地由所述第一装置选择或修改。
16.如权利要求1所述的方法,其特征在于,所述拥挤等待时间周期按照相对优先级来确定。
17.如权利要求1所述的方法,其特征在于,还包括:如果所述数据流的传输被停止或减少并且所述拥挤等待时间周期已过期,则尝试恢复所述数据流的传输。
18.如权利要求17所述的方法,其特征在于,在特定尝试次数之后或在特定时间周期之后,恢复所述数据流的传输的尝试将停止。
19.如权利要求18所述的方法,其特征在于,还包括向请求装置发送消息以指示用于所述数据流的所述预留请求被拒绝。
20.如权利要求17所述的方法,其特征在于,还包括使用现有的协议来警告所述多个装置中的不兼容装置结束传输或减小带宽。
21.如权利要求20所述的方法,其特征在于,所述现有的协议是ICMP/IP。
22.如权利要求1所述的方法,其特征在于,请求方递增地增大所述数据流的带宽。
23.如权利要求22所述的方法,其特征在于,所述请求方通过请求比所述数据流的峰值传输带宽低的带宽预留来开始。
24.如权利要求22所述的方法,其特征在于,所述请求方请求比所述数据流的峰值传输带宽高的带宽预留。
25.如权利要求22所 述的方法,其特征在于,还包括应用新的数据流预留。
26.如权利要求1所述的方法,其特征在于,传输所述数据流包括使用数据报协议。
27.如权利要求26所述的方法,其特征在于,所述数据报协议是UDP/IP。
28.如权利要求26所述的方法,其特征在于,确定所述数据流是否被所述第一装置成功传输包括:响应于由所述第二装置发送的数据分组的到达而接收肯定确认。
29.如权利要求1所述的方法,其特征在于,传输所述数据流包括使用流协议,其中所述流协议被修改以传输附加的分组。
30.如权利要求29所述的方法,其特征在于,所述流协议是TCP/IP。
31.如权利要求29所述的方法,其特征在于,还包括将单独的反馈算法和信道用于附加分组的传输。
32.如权利要求1所述的方法,其特征在于,带宽预留由所述第一装置确定,而无需使用所述网络的中央仲裁程序或服务器,并且无需与所述网络上的所述多个装置中的任何竞争装置的协作或通信。
33.一种用于发送数据的方法,包括:接收传输数据流的请求,其中传输所述数据流包括作为按照固定的间隔的特定数量的字节的传输;在网络上从装置传输所述数据流,所述数据流包括多个数据分组,其中从所述装置传输所述数据流包括将所述数据流保持在可选择的带宽,所述可选择的带宽与所述数据分组.的峰值传输带宽至少一样大;当所述数据流的流低于所述可选择的带宽时,传输附加的数据分组;延迟传输来自所述源的传入数据,直到所述附加的数据分组的传输结束;以及控制所述可选择的带宽以使所述数据流中的猝发平滑。
34.如权利要求33所述的方法,其特征在于,传输所述数据流包括使用流协议,其中所述流协议被修改以传输附加的分组。
35.如权利要求33所述的方法,其特征在于,所述传输的延迟可能被选择性地停用。
36.如权利要求33所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括一个或多个空数据分组。
37.如权利要求33所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括包含复制的分组的数据分组。
38.如权利要求33所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括包含冗余的流信息的数据分组。
39.如权利要求33所述的方法,其特征在于,用于保持所述恒定带宽的所述额外数据分组包括从所述第一装置传输至所述第二装置的非流式数据。
40.如权利要求39所述的方法,其特征在于,所述非流式数据从所述数据流的多个数据分组在单独的端口上传输。
41.如权利要求33所述的方法,其特征在于,带宽预留由所述装置确定,而无需使用所述网络的中央仲裁程序或服务器,并且无需与所述网络上的任何竞争网络元件的协作或通 f目。
【文档编号】H04L12/801GK103595655SQ201310496927
【公开日】2014年2月19日 申请日期:2008年7月3日 优先权日:2007年7月27日
【发明者】B·K·舒米特, J·G·汉科, J·D·诺斯卡特 申请人:晶像股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1