带宽虚拟化

申请号 CN201210555605.8 申请日 2012-12-19 公开(公告)号 CN103516625B 公开(公告)日 2017-08-11
申请人 安华高科技通用IP(新加坡)公司; 发明人 高登·李;
摘要 本 发明 涉及带宽虚拟化,提供了一种虚拟化带宽的方法和系统。该系统可以包括多个通信 接口 从而提供混合网络通信,该混合网络包含不同种类、技术、协议、布局或其他网络特性的多个网络。该系统可以将多个 通信接口 的带宽聚集为聚集的虚拟化带宽。当收到带宽 请求 时,系统可以在聚集的虚拟带宽中确定带宽分配。该系统也可以确定用于带宽分配的通信源分配,该通信源分配可以指派任意数量的通信接口。然后,系统可以在分配的带宽中通信应用数据。
权利要求

1.一种虚拟化带宽的方法,包括:
在能够在多个通信网络中进行通信的装置中进行以下操作,所述多个通信网络包括第一通信网络以及不同于所述第一通信网络的协议的第二通信网络:
将所述第一通信网络的带宽和所述第二通信网络的带宽聚集为聚集的虚拟化带宽;
由在所述装置上执行的客户端逻辑从多个单独的应用接收多个带宽请求,其中,所述多个带宽请求的每一者表明各个服务质量要求和各请求的带宽量;
针对所述多个应用的每一者,根据所述带宽请求所表明的各个服务质量要求和各个请求的带宽量来确定所述聚集的虚拟化带宽的一部分的各自不同的带宽分配;
由所述客户端逻辑向网关装置或服务器装置的一者发送所确定的各带宽分配,其中所述网关装置或所述服务器装置的一者通过所述第一通信网络和所述第二通信网络通信;
针对所发送的所述所确定的各带宽分配,从所述网关装置或所述服务器装置的一者接收接受回复、拒绝回复或替代的带宽分配的一者;
由所述客户端逻辑修改那些已接收到拒绝回复的各不同的带宽分配的每一者并将修改后的各带宽分配发送至所述网关装置或所述服务器装置的一者;以及根据因接收的各接受回复而确定的各带宽分配或根据因接收的各替代的带宽分配而确定的各替代的带宽分配而通信来自所述多个应用的每一者的应用数据,其中通过所述第一通信网络和所述第二通信网络而通信所述应用数据。
2.根据权利要求1所述的方法,还包括:
所述客户端逻辑确定向各不同带宽分配的每一者的各通信源分配,所述通信源包括包含于所述装置中的一个或多个通信接口的至少一部分;并且
其中,所述通信包括通过所述第一通信网络和所述第二通信网络使用向各不同带宽分配的每一者的各通信源分配来通信来自第一和第二应用的应用数据。
3.根据权利要求1所述的方法,其中,针对所述多个应用的每一者确定各自不同的带宽分配包括为各个带宽分配的每一者确定上行带宽分配和下行带宽分配。
4.根据权利要求1所述的方法,还包括:
从所述应用的一者接收带宽释放指示;以及
将所述应用的一者的带宽分配解除分配。
5.一种虚拟化带宽的系统,包括:
第一通信接口,用于在第一网络中进行通信;
第二通信接口,用于在与所述第一网络的网络协议不同的第二网络中进行通信;
处理器;以及
存储器,包括当由所述处理器执行时,能够进行以下操作的带宽虚拟化客户端指令:
将所述第一通信接口的带宽和所述第二通信接口的带宽聚集为聚集的虚拟化带宽;
确定用于由所述处理器或与所述处理器通信的另一装置执行的多个应用的每一者的带宽分配,所述带宽分配根据各应用的每一者所产生的带宽请求来确定,所述带宽分配根据各请求的带宽量和服务质量要求来确定并且小于所述聚集的虚拟化带宽的整体;以及与网关装置或带宽虚拟化服务器装置的一者协商用于所述多个应用的每一者的各个确认的带宽分配,
其中,与所述网关装置或所述带宽虚拟化服务器协商所确认的带宽分配的每一者包括:
建立各带宽分配的每一者的不同的带宽分配描述,其中,所述带宽分配描述指定各自的请求带宽;
将所述带宽分配描述的每一者发送给所述网关装置或所述带宽虚拟化服务器;
针对所发送的所述带宽分配描述的每一者,从所述网关装置或所述带宽虚拟化服务器装置的一者接收接受回复、拒绝回复或替代的带宽分配的一者;
修改那些已接收到拒绝回复的各不同的带宽分配描述的每一者并将修改后的各带宽分配描述发送至所述网关装置或所述带宽虚拟化服务器装置的一者;
接收所述网关装置或所述带宽虚拟化服务器接受各带宽分配的每一者或经修改的各带宽分配的确认信息以作为经确认的带宽分配;以及
经由所述经确认的带宽分配而通信各应用的应用数据,所述经确认的带宽分配是接收到接受回复的所述各带宽分配或接收到替代的带宽分配的经修改的各带宽分配。
6.一种虚拟化带宽的装置,包括:
第一组通信接口,用于在第一混合网络中进行通信;
第二组通信接口,用于在第二混合网络中进行通信;以及带宽虚拟化服务器逻辑,能够进行以下操作:
将所述第一组通信接口的带宽聚集为第一聚集的虚拟化带宽;以及
在所述第一聚集的虚拟化带宽中确定第一带宽分配以用于通过所述第一混合网络与装置通信;
带宽虚拟化客户端逻辑,能够进行以下操作:
将所述第二组通信接口的带宽聚集为第二聚集的虚拟化带宽;
接收带宽请求;
在所述第二聚集的虚拟化带宽中确定第二带宽分配以用于通过所述第二混合网络与装置通信;以及
带宽虚拟化代理逻辑,能够进行以下操作:
接收带宽分配描述,所述带宽分配描述描述来自所述带宽虚拟化服务器逻辑的所述第一带宽分配;
基于所述带宽分配描述来建立所述带宽请求;以及
将所述带宽请求发送给所述带宽虚拟化客户端逻辑。
7.根据权利要求6所述的装置,其中,所述带宽虚拟化代理逻辑还能够进行以下操作:
将由所述带宽虚拟化服务器逻辑接收到的数据通过所述第一混合网络来传递至所述带宽虚拟化客户端逻辑,或者
将由所述带宽虚拟化客户端逻辑接收到的数据通过所述第二混合网络来传递至所述带宽虚拟化服务器逻辑。

说明书全文

带宽虚拟化

技术领域

[0001] 本公开涉及虚拟化带宽。更具体地,本公开涉及虚拟化网络装置的带宽。

背景技术

[0002] 由广大的用户需求推动的电子和通信技术的快速发展,产生了能够交换大量数据的电子装置的广泛互连的网络。例如,局域网(LAN)可以在单个网络中连接几百个或几千个电子装置。这种装置的这种互连的最广为人知的示例可能就是因特网,它在过去的每一天都在持续扩展着。同样,电子装置在完善度、性能以及复杂性上持续增长。随着技术的持续发展以及互连通信网络在尺寸和使用频率上的增长,存在对更有效地发送和接收数据的持续增长的动发明内容
[0003] 本发明提供了一种方法,包括:在能够在多个通信网络中进行通信的装置中进行以下操作,多个通信网络包括第一通信网络以及不同于第一通信网络的第二通信网络:将第一通信网络的带宽和第二通信网络的带宽聚集为聚集的虚拟化带宽;从应用接收带宽请求;在聚集的虚拟化带宽中确定用于应用的带宽分配;以及根据带宽分配通过第一通信网络和第二通信网络而通信来自应用的应用数据。
[0004] 优选地,该方法还包括:确定用于带宽分配的通信源分配;并且其中,通信包括通过第一通信网络和第二通信网络使用通信源来通信来自应用的应用数据。
[0005] 优选地,该通信包括当通信源分配包括第一通信接口和第二通信接口时,使用第一通信接口和第二通信接口来通信应用数据。
[0006] 优选地,确定带宽分配包括确定上行带宽分配、下行带宽分配或两者。
[0007] 优选地,该方法还包括:与网关装置协商带宽分配。
[0008] 优选地,该协商包括:建立带宽分配的带宽分配描述;将带宽分配描述发送至网关装置;以及从网关装置处接收带宽分配被网关装置接受的确认。
[0009] 优选地,该方法还包括:从应用接收带宽释放指示;以及将带宽分配解除分配。
[0010] 优选地,该方法还包括:建立用于解除分配的带宽分配的解除分配指示;以及将解除分配指示发送至网关装置。
[0011] 优选地,该方法还包括:在将来的带宽分配决定中考虑解除分配的带宽。
[0012] 本发明还提供了一种系统,包括:第一通信接口,用于在第一网络中进行通信;第二通信接口,用于在与第一网络的网络技术不同的第二网络中进行通信;处理器;以及存储器,包括当由处理器执行时,能够进行以下操作的带宽虚拟化客户端指令:将第一通信接口的带宽和第二通信接口的带宽聚集为聚集的虚拟化带宽;在聚集的虚拟化带宽中确定用于应用的带宽分配;以及与带宽虚拟化服务器协商最终带宽分配;以及通过最终分配带宽来通信应用数据。
[0013] 优选地,带宽虚拟化客户端指令还能够进行以下操作:确定用于带宽分配的通信源分配。
[0014] 优选地,带宽虚拟化客户端指令还能够通过以下操作来与带宽虚拟化服务器协商最终带宽分配:建立带宽分配描述;将带宽分配描述发送给带宽虚拟化服务器;以及接收带宽虚拟化服务器将带宽分配接受为最终带宽分配的确认。
[0015] 优选地,聚集的虚拟化带宽包括总体带宽和可用带宽。
[0016] 优选地,带宽虚拟化客户端指令还能够通过以下操作来确定带宽分配:获得聚集的虚拟化带宽的可用带宽;以及当可用带宽大于带宽请求时;基于带宽请求来分配聚集的虚拟化带宽的一部分。
[0017] 本发明还提供了一种装置,包括:第一组通信接口,用于在第一混合网络中进行通信;第二组通信接口,用于在第二混合网络中进行通信;以及带宽虚拟化服务器逻辑,能够进行以下操作:将第一组通信接口的带宽聚集为第一聚集的虚拟化带宽;以及在第一聚集的虚拟化带宽中确定第一带宽分配以用于通过第一混合网络与装置通信;带宽虚拟化客户端逻辑,能够进行以下操作:将第二组通信接口的带宽聚集为第二聚集的虚拟化带宽;接收带宽请求;在第二聚集的虚拟化带宽中确定第二带宽分配以用于通过第二混合网络与装置通信;以及带宽虚拟化代理逻辑,能够进行以下操作:接收带宽分配描述,带宽分配描述描述来自带宽虚拟化服务器逻辑的第一带宽分配;基于带宽分配描述来建立带宽请求;以及将带宽请求发送给带宽虚拟化客户端逻辑。
[0018] 优选地,带宽虚拟化代理逻辑还能够进行以下操作:将由带宽虚拟化服务器逻辑接收到的数据通过第一混合网络来传递至带宽虚拟化客户端逻辑。
[0019] 优选地,带宽虚拟化代理逻辑还能够进行以下操作:将由带宽虚拟化客户端逻辑接收到的数据通过第二混合网络来传递至带宽虚拟化服务器逻辑。
[0020] 优选地,带宽虚拟化代理逻辑还能够进行以下操作:从带宽虚拟化服务器逻辑接收解除分配指示。
[0021] 优选地,带宽虚拟化代理逻辑还能够进行以下操作:基于解除分配指示来建立释放指示;以及将解除分配指示发送至带宽虚拟化客户端逻辑。
[0022] 优选地,第一混合网络包括根据不同的网络标准实现的多个网络;以及第二混合网络包括根据不同的网络标准实现的多个网络。附图说明
[0023] 本发明可以通过参考以下附图和描述来更好地理解。在附图中,相似的参考数字表示遍及不同示图的相应部件。
[0024] 图1示出了用于虚拟化带宽的装置的示例。
[0025] 图2示出了用于虚拟化带宽的示例性系统。
[0026] 图3示出了用于带宽的虚拟化的系统的示例。
[0027] 图4示出了可以被装置实现为硬件软件或两者的逻辑的示例。
[0028] 图5示出了可以被装置实现为硬件、软件或两者的逻辑的示例。
[0029] 图6示出了用于带宽的虚拟化的另一个示例性系统的示例。
[0030] 图7示出了用于带宽的虚拟化的系统的示例。
[0031] 图8示出了用于带宽的虚拟化的另一个示例性系统的示例。
[0032] 图9示出了可以被装置实现为硬件、软件或两者的逻辑的示例。

具体实施方式

[0033] 图1示出了用于虚拟化带宽的装置100的示例。装置100可以是任何能够通信数据的电子装置。例如,装置100可以是笔记本电脑、台式机、或其他类型的计算机、移动电话、个人数据助手、便携式电子邮件装置或便携式MP3播放器。其他示例包括机顶盒、电视机、立体声系统、平板装置、高清(例如,蓝光Blu-Ray(TM)或DVD音频)媒体播放器、家庭媒体服务器、任何类型的通信调制解调器(例如,数字用户线路(DSL)或线缆)、网络路由器、网络集线器、网桥、交换机、任何类型的网关装置、服务器或其它电子装置。装置100还可以是由服务提供者使用从而操作通信网络的包括以上列出的任意装置的任何类型的网络装置。
[0034] 装置100可以包括任意数量的通信接口。在图1中,装置100包含N个通信接口,它们中的两个被标记为通信接口1112和通信接口N 113。通信接口可以被配置为在任意数量的通信网络中进行通信,这些通信网络包括支持多种特性,例如服务质量(QoS)、网络技术、网络标准、网络布局、编码格式、物理接口(PHY)等的通信网络。例如,通信接口可以根据任意以下网络技术、布局、媒介和/或标准来通信:以太网、线缆(例如,DOCSIS)、DSL、同轴电缆多媒体联盟(MoCA)、电源线(例如,HomePlug AV)、以太无源光网络(EPON)、千兆无源光网络(GPON)、任意数量的蜂窝标准(例如,2G、3G、通用移动通信系统(UMTS)、GSM(R)协会、长期演进(LET)(TM)等)、WiFi(包括802.11a/b/g/n/ac)、WiMAX、蓝牙、WiGig以及其他。用于带宽的虚拟化的目的的通信网络,可以涉及以下特性或这些特性的任意组合:诸如(例如)物理接口(有线或无线的USB端口或以太网端口)、管理在物理接口上怎样发送或接收数据的协议或标准(例如,802.11n)、连接至特定的物理接口或根据特定的协议或标准来操作的一个以上的端点的识别组、或例如包括网桥、交换机、路由器、中继器或其他网络装置的中间装置的识别组。装置100可以在任意数量的网络之间使用通信接口1-N来通信。
[0035] 通信装置100还可以包括带宽虚拟化逻辑114。在一个实现方式中,带宽虚拟化逻辑114包括一个以上的处理器116和存储带宽虚拟化指令122的存储器。带宽虚拟化指令122可以包括带宽虚拟化客户端指令124、带宽虚拟化服务器指令126以及带宽虚拟化代理指令128的任意组合。如以下以更详细的细节描述的,带宽虚拟化逻辑114可以将装置100中的用于任意数量的通信网络的任意数量的通信接口的带宽聚集为聚集的虚拟带宽。聚集的虚拟带宽可以包括上行带宽和下行带宽。当带宽虚拟化逻辑114例如从运行在装置100上的应用接收带宽请求时,带宽虚拟化逻辑114可以确定在聚集的虚拟化带宽之间的带宽分配。随后虚拟化逻辑114可以通过带宽分配来通信应用数据。
[0036] 图2示出了用于虚拟化带宽的示例性系统200。系统200包括网关装置210。网关装置或网关功能可以指与多个装置通信数据的任何装置。诸如网关装置210的网关装置也可以指将数据路由至多个目的地(例如装置)的任何装置。网关装置210可以与任何数量的客户端装置通信。在图2中所示的示例性系统200中,网关装置210可以通过混合网络230而通信地耦接至客户端装置220(例如,平板装置)以及客户端装置222(例如,高清电视机)。一个示例是,网关装置210连接至广域网(WAN)235并且可以给连接至网关装置210的客户端装置提供因特网访问
[0037] 混合网络230可以包括根据各种通信网络技术、标准、布局、编码格式等(例如,任何上述的网络)操作的多个通信网络。示出在图2中的混合网络230包括M数量的通信网络,该M数量的通信网络包括标记为网络1 231和网络M 232的通信网络。一个示例是,混合网络230可以包括任何数量的局域网(LAN)而网关装置210可以是对LAN提供因特网访问的线缆调制解调器。网络1 231可以是802.11g无线网络而网络M 232可以是有线以太网网络。如图
2中所示,网关装置210可以通过网络1 232和网络M 232来与客户端装置220通信。网关装置
210也可以通过网络1 231和网络M 232来与客户端装置222通信。网关装置210还可以通过任何在混合网络230中的其他通信网络与客户端装置220或客户端装置222通信。
[0038] 在操作中,客户端装置220可以通过第一通信接口在网络1 231中以及通过第二通信接口在网络M 232中通信。客户端装置220可以作为带宽虚拟化客户端,带宽虚拟化客户端可以是初始化带宽虚拟化过程的任何装置。网关装置210可以作为带宽虚拟化服务器。带宽虚拟化服务器可以是在带宽虚拟化过程中与例如客户端装置220的带宽虚拟化客户端协作的任何装置。
[0039] 带宽虚拟化客户端,例如,客户端装置220可以包含带宽虚拟化逻辑114,带宽虚拟化逻辑114包括带宽虚拟化客户端逻辑240。在一个实现方式中,带宽虚拟化客户端逻辑240至少部分地通过带宽虚拟化客户端指令124来实现。带宽虚拟化客户端逻辑240可以将客户端装置220的任意数量的通信接口的带宽聚集。例如,带宽虚拟化客户端逻辑240可以将第一通信接口(在网络1 231中通信)的一些或总体的带宽以及第二通信接口(在网络M 232中通信)的一些或总体的带宽聚集,从而获得可用于通信(例如,通过在客户端装置220上的应用)的带宽的总量。该总体带宽可以被认为是可以用于分配的聚集的虚拟化带宽。
[0040] 带宽虚拟化客户端逻辑240可以例如从在客户端装置220上执行的应用接收带宽请求。带宽请求可以表明所请求的带宽量,该带宽量可以包括所请求的上行量、所请求的下行量、或这两者。随后带宽虚拟化客户端逻辑240可以在聚集的虚拟化带宽中确定用于应用的带宽分配。带宽虚拟化客户端逻辑240可以基于带宽请求、在所聚集的虚拟化带宽中可用带宽、网络特性(线路速率或吞吐量)、应用偏好、装置偏好、用户偏好或这些因素的任何组合来确定带宽分配。
[0041] 带宽虚拟化客户端可以与带宽虚拟化服务器通信来协商带宽分配。带宽虚拟化客户端逻辑240可以建立带宽分配的带宽分配描述。带宽分配描述可以包括表征带宽分配的信息。例如,带宽分配描述可以包括由带宽虚拟化客户端逻辑240确定的上行带宽分配、下行带宽分配或带宽分配的其他性质。带宽虚拟化客户端逻辑240可以将带宽分配描述发送给例如网关装置210的带宽虚拟化服务器。
[0042] 网关装置210的带宽虚拟化服务器逻辑242可以确定网关装置210是否会接受来自客户端装置220的带宽分配描述中描述的带宽分配。例如,带宽虚拟化服务器逻辑242可以确定网关装置210是否具有可用带宽来服务于带宽分配。带宽虚拟化服务器逻辑242可以通过确定在网关装置210上的聚集的虚拟化带宽的使用来检查带宽的可用性。
[0043] 如果带宽虚拟化服务器逻辑242接受来自客户端装置220的带宽分配,那么带宽虚拟化服务器逻辑242可以发送确认指示以通知带宽虚拟化客户端逻辑240带宽分配被接受。如果带宽虚拟化服务器242拒绝来自客户端装置220的带宽分配,那么带宽虚拟化服务器逻辑242可以发送拒绝表示以通知带宽虚拟化客户端逻辑240带宽分配被拒绝。带宽虚拟化服务器逻辑242也可以将可选的带宽分配描述发送给带宽虚拟化客户端逻辑240,该带宽分配描述描述了带宽虚拟化服务器可以接受的带宽分配。
[0044] 带宽虚拟化客户端逻辑240和带宽虚拟化服务器逻辑242可以协商最终带宽分配,该最终带宽分配表示客户和服务器两者都接受的上行带宽分配和下行带宽分配。该协商例如可以采取请求消息序列的形式,该请求消息序列每个都指定了提议或修改的带宽分配以及对于任何具体提议的接受或拒绝的消息。带宽虚拟化客户端逻辑240可以将最终带宽分配分配给应用并且通过最终带宽分配来通信应用数据。
[0045] 带宽虚拟化服务器逻辑242可以在网关装置210的聚集的虚拟化带宽中分配一部分(或“切片”)以用于通信来自客户端装置220的应用数据。带宽虚拟化服务器逻辑242也可以与连接至网关装置210的诸如客户端装置222的其他客户端装置协商带宽分配。
[0046] 图3示出了用于带宽的虚拟化的系统300的示例。系统300包括可以在带宽虚拟化客户端装置上实现的带宽虚拟化逻辑240。如图3中所示,带宽虚拟化客户端逻辑240可以包括客户带宽聚集逻辑310、客户带宽分配逻辑312以及客户带宽适配逻辑314。系统300也包括例如在带宽虚拟化服务器上实现的带宽虚拟化服务器逻辑242。带宽虚拟化服务器逻辑242可以包括服务器带宽聚集逻辑320,服务器带宽分配逻辑322以及服务器带宽适配逻辑
324。
[0047] 实现带宽虚拟化客户端逻辑240的装置可以例如通过混合网络230来连接至任何数量的网络。在图3中,带宽虚拟化客户端逻辑240可以构成在包括网络1 231和网络M 232的多个通信网络中的装置通信。例如,带宽虚拟化客户端装置可以配置装置通信,带宽虚拟化服务器装置可以配置通过诸如网络1 231和网络M 232的任意数量的网络与实现了带宽虚拟化服务器逻辑242的装置通信。
[0048] 在操作中,客户带宽聚集逻辑310可以以多种方式来聚集通信接口的带宽。例如,客户带宽聚集逻辑310可以将来自通信接口的一些或总体的带宽相加。在一个实现方式中,通信接口可以包括软件驱动器。客户带宽聚集逻辑310可以询问通信接口驱动器以获得各个通信接口的带宽描述。带宽描述可以指定通信接口的可用的或总体的上行和下行带宽。
[0049] 每当在装置中获得通信接口的带宽描述时,客户带宽聚集客户310可以将通信接口的带宽相加以获得聚集的虚拟化带宽330。在图3中,客户带宽聚集客户310确定聚集的虚拟化带宽330,该聚集的虚拟化带宽330可以包括聚集的上行带宽331和聚集的下行带宽332。聚集的虚拟化带宽330可以以任意数量的方式实现。例如,客户带宽聚集客户可以310可以将所聚集的虚拟带宽330存储为存储器中的寄存器值。所存储的聚集的虚拟化带宽330的值可以包括总体上行带宽值、总体下行带宽值、总体聚集带宽值、可用下行带宽值、可用上行带宽值以及可用带宽值。服务器带宽聚集逻辑320可以将带宽虚拟化服务器的通信接口的带宽聚集从而以类似的方式来获得服务器装置的聚集的虚拟化带宽。
[0050] 客户带宽分配逻辑312可以在聚集的虚拟化带宽330中确定任意数量的带宽分配340。客户带宽分配逻辑312可以基于由客户带宽适配逻辑314收到的带宽请求来确定带宽分配。客户带宽分配逻辑312可以将带宽分配“切片”为聚集的虚拟化带宽330的一部分,从而根据带宽请求来分配。客户带宽分配逻辑312可以以任意数量的方式来实现带宽分配,例如作为寄存器值、作为在带宽分配表中的条目或作为存储在存储器中的值。带宽分配可以包括上行带宽分配值、下行带宽分配值和总体带宽分配值的任意组合。
[0051] 带宽分配还可以包括通信源识别,在一个实现方式中,通信源识别可以识别被指派给带宽分配的任何通信源,例如,通信接口,还有分配给每个通信源的带宽的量。客户带宽分配逻辑312可以例如在与带宽虚拟化服务器协商最终带宽分配之后接收由客户带宽聚集逻辑310确定的通信源识别。例如,通信源识别可以包括通过第一通信源(例如,以太网端口)的1Mbps的以太网带宽以及通过第二通信源(例如,WiFi射频)的256Kbps的WiFi。
[0052] 客户带宽适配逻辑314可以接收来自各种源的带宽请求。在一个实现方式中,客户带宽适配逻辑314可以将带宽虚拟化客户端逻辑240连接在请求通信带宽的装置的任意数量的应用或进程之间。如图3中所示,客户带宽适配逻辑314可以接收来自诸如应用会话1 351、应用会话3 352和应用会话N 353的多个应用会话的带宽请求。来自应用会话的带宽请求可以包括上行带宽请求(例如应用会话1 351)、下行带宽请求(例如应用会话N 353)或两者(例如应用会话3 352)。应用可以将客户带宽适配逻辑314可以处理的多个带宽请求作为多个应用会话发送。
[0053] 在确定用于应用带宽请求的带宽分配之后,带宽虚拟化客户端逻辑240可以建立带宽分配描述以发送至带宽虚拟化服务器逻辑242。在一个实现方式中,带宽虚拟化客户端逻辑240可以使用诸如在网络1 231或网络M 232中的现有的数据路径来发送带宽分配描述。带宽虚拟化客户端逻辑240和带宽虚拟化服务器逻辑242可以协商最终的带宽分配以使数据通过网络通信。
[0054] 一旦最终带宽分配被协商完,服务器带宽分配逻辑322可以基于最终带宽分配而在服务器聚集虚拟化带宽中分配带宽切片。在服务器侧的带宽分配可以关联于任意数量的带宽会话,诸如带宽会话1 361和带宽会话M 362。
[0055] 带宽虚拟化客户端逻辑240可以从应用接收带宽释放指示。带宽释放指示可以指示应用不再需要经由先前的带宽请求而分配给应用的带宽。作为应答,带宽虚拟化客户端逻辑240可以将基于先前的带宽请求确定的带宽分配解除分配。带宽虚拟化客户端逻辑240还可以向带宽虚拟化服务器逻辑242发送解除分配指示以指示带宽分配的释放。当确定用于随后的带宽请求的带宽分配时,带宽虚拟化客户端逻辑240可以考虑解除分配的带宽。
[0056] 图4示出了可以被装置实现为硬件、软件或两者的逻辑400的示例。例如,装置100可以将逻辑400实现为带宽虚拟化逻辑114或带宽虚拟化客户端逻辑240。带宽虚拟化客户端逻辑240可以将装置100中例如通信接口的通信源的带宽聚集为聚集的虚拟化带宽(402)。聚集的虚拟化带宽可以包括通信接口的总体带宽和通信接口的可用带宽。带宽虚拟化客户端逻辑240可以接收带宽请求(404)并且基于该带宽请求来确定带宽分配(406)。在一个实现方式中,当确定带宽分配时,带宽虚拟化客户端逻辑240可以访问聚集的虚拟化带宽从而获得可用带宽指示。随后带宽虚拟化客户端逻辑240可以将带宽分配描述发送给带宽虚拟化服务器,诸如与装置100通信的网关装置(408)。
[0057] 带宽虚拟化客户端逻辑240可以接收来自带宽虚拟化服务器的应答(410)。如果带宽虚拟化服务器拒绝在带宽分配描述中描述的带宽分配,那么带宽虚拟化客户端逻辑240可以持续与带宽服务器逻辑协商以确定最终带宽分配(412)。如果带宽虚拟化客户端逻辑240接收来自带宽虚拟化服务器的接受带宽分配(随后可以被称作最终带宽分配)的确认消息,那么带宽虚拟化客户端逻辑240可以确定用于带宽分配的通信源分配(414)。
[0058] 带宽虚拟化客户端逻辑240可以以任意数量的方式或根据任意数量的标准将通信源分配给带宽分配。例如,当确定用于带宽分配的通信源分配时,带宽虚拟化客户端逻辑240可以考虑通信源的可用带宽。在一个实现方式中,带宽请求可以包括服务质量(QoS)要求,当向带宽分配分配通信源时,带宽虚拟化客户端逻辑240可以考虑该服务质量要求。带宽虚拟化客户端逻辑240也可以确定通信源分配,使得带宽分配由例如通信接口的单一通信源来服务。带宽虚拟化客户端逻辑240还可以确定通信源分配使得带宽分配由多个通信源来服务。在另一示例中,带宽虚拟化客户端逻辑240可以通过在不同的通信源间交替分配来确定通信源分配。
[0059] 带宽虚拟化客户端逻辑240可以更新带宽分配以包括通信源识别并且更新聚集的虚拟化带宽的可用性信息从而将带宽切片的分配反映给带宽分配(416)。随后,带宽虚拟化客户端逻辑240可以通过带宽分配来通信应用数据(418),直到例如从先前发送带宽请求的应用收到释放指示为止(420)。在收到释放指示之后,带宽虚拟化客户端逻辑240可以例如通过更新聚集的虚拟化带宽的可用性信息,来将带宽分配解除分配(422)。在随后的带宽分配确定期间,解除分配带宽可以由带宽虚拟化客户端逻辑240考虑。随后带宽虚拟化客户端逻辑240可以将解除分配表示发送至带宽虚拟化服务器(424)。
[0060] 图5示出了可以被装置实现为硬件、软件或两者的逻辑500的示例。例如,装置100可以将逻辑500实现为带宽虚拟化逻辑114和带宽虚拟化服务器逻辑242。带宽虚拟化服务器逻辑242可以将在装置100中的例如通信接口的通信源的带宽聚集为聚集的虚拟化带宽(502)。带宽虚拟化服务器逻辑242可以从例如客户端装置220-222的客户端装置接收带宽分配描述(504)。例如,通过确定带宽虚拟化服务器是否具有根据带宽分配描述来分配的可用带宽,带宽虚拟化服务器逻辑242可以确定在带宽分配描述中描述的带宽分配是否可以接受(506)。如果带宽虚拟化服务器逻辑242拒绝带宽分配描述,那么带宽分配虚拟化服务器逻辑242可以继续与客户端装置协商从而确定可接受的最终带宽分配(508)。
[0061] 如果带宽虚拟化服务器逻辑242接受带宽分配描述,那么带宽虚拟化服务器逻辑242可以对客户端装置发送确认(510)。随后带宽虚拟化服务器逻辑242可以分配在带宽分配描述中指定的带宽分配或所协商的最终带宽分配(512)。例如,带宽虚拟化服务器逻辑
242可以建立用于带宽分配的带宽会话并且更新聚集的虚拟化带宽从而将所分配的带宽切片反映给带宽分配。带宽虚拟化服务器逻辑242也可以将例如通信接口的通信源分配给带宽分配(514)。随后带宽虚拟化服务器逻辑242可以通过带宽分配(516)来与客户端装置通信。
[0062] 带宽虚拟化服务器逻辑242可以继续通过带宽分配来通信数据,直到从客户端装置收到解除分配指示为止(518)。随后带宽虚拟化服务器逻辑242可以诸如通过更新聚集的虚拟化带宽来将带宽分配解除分配,从而反映解除分配的带宽的可用性。当考虑随后收到的带宽分配描述时,解除分配的带宽可以是可用的。
[0063] 图6示出了用于带宽的虚拟化的另一个示例性系统600的示例。示例性系统600包括可以给在以太网局域网(LAN)612中的多个装置提供因特网访问的网关装置610。在图6中,例如通过实现带宽虚拟化客户端逻辑240,网关装置610作为带宽虚拟化客户端。系统600还包括可以作为服务提供者的核心网络的一部分的服务器620。服务器620可以连接至诸如因特网的广域网(WAN)622。例如通过实现带宽虚拟化服务器逻辑242,服务器620作为带宽虚拟化服务器。网关装置610和服务器620通过包括线缆网络631和蜂窝网络632的混合访问网络630来通信。换言之,网关装置610可以通过线缆网络、通过蜂窝网络或两者来将数据通信至服务器620或从服务器620通信数据。
[0064] 网关装置610可以包括在线缆网络631中通信的第一通信接口以及在蜂窝网络632中通信的第二通信接口。网关装置610可以在线缆网络631中以10兆位每秒(Mbps)的下行速度以及0.5Mbps的上行速度来通信。网关装置610可以在蜂窝网络中以5Mbps的下行速度和1Mbps的上行速度通信。
[0065] 网关装置210可以将第一通信接口的带宽和第二通信接口的带宽聚集为聚集的虚拟化带宽。聚集的虚拟化带宽可以具有16.5Mbps的总体聚集带宽值,该总体聚集带宽值可以具有15Mbps的总体下行带宽值和1.5Mbps的总体上行带宽值。网关装置610可以从通信地连接至网关装置610的装置接收带宽请求。例如,网关装置可以从VoIP呼叫641-646接收带宽请求,该VoIP呼叫641-646可以来源于通过以太网LAN612连接至网关装置610的任意数量的装置。每个VoIP呼叫641-646都可以发送包括64Kbps的请求的下游量和64Kbps的上游量的带宽请求。
[0066] 在网关装置上实现的带宽虚拟化客户端逻辑240可以为从VoIP呼叫641-646发送的每个带宽请求确定带宽分配。在一个示例中,带宽虚拟化客户端逻辑240可以为每个关联于VoIP呼叫641-646的带宽请求从聚集的虚拟化带宽切片包括64Kbps的上行带宽和64Kbps的下行带宽的带宽分配。
[0067] 每当从服务器620收到带宽分配被接受的确认时,带宽虚拟化客户端逻辑240可以确定用于每个带宽分配的通信源分配。带宽虚拟化客户端逻辑可以将用于线缆网络631的第一通信接口分配给用于VoIP呼叫641-643的带宽分配,以及将用于蜂窝网络632的第二通信接口分配给用于VoIP呼叫644-646带宽分配。可选地,带宽虚拟化客户端逻辑240可以为VoIP呼叫641-646的每个带宽分配来分配第一通信接口的16Kbps的上行和下行带宽以及为各个带宽分配来分配第一通信接口的48Kbps的上行和下行带宽。任意数量的可选的通信源分配都是可能的。
[0068] 在用于带宽请求的通信源分配时,带宽虚拟化客户端逻辑240可以相应地更新网关装置210的聚集的虚拟带宽。带宽虚拟化客户端逻辑240也可以基于决定的通信源分配来同样相应地更新关于每个通信接口的可用性的任何存储数据。网关装置210,而尤其是通过带宽虚拟化客户端逻辑242,可以通过各个带宽分配来通信用于VoIP呼叫641-646的数据,直到收到释放指示(例如,决定发送连接终止信号的VoIP呼叫641-646)为止。
[0069] 图7示出了用于带宽的虚拟化的系统700的示例。系统700包括多个网关装置,其中的两个被标记为网关装置1 710和网关装置R 712。网关装置可以连接至相关联的LAN,这可以以任意数量的方式实现。在图7中,网关装置1连接的是LAN 1 714,其可以是有线LAN、无线LAN或两者(例如,混合网络)。网关装置R 712连接至LAN R 716。例如,网关装置1-R可以是位于个人住所、企业、办公室建筑、无线访问点、饭馆、咖啡厅、军事基地或它们的任何组合的网关装置。每个网关装置1-R都可以实现上述的带宽虚拟化客户端逻辑240。
[0070] 网关装置1-R可以通过混合访问网络730来通信地耦接至服务器720。服务器720可以是服务提供者的核心网络的一部分并且可以用于提供对例如因特网的WAN 740的访问。混合访问网络730可以包括多个访问网络,它们中的两个被标记为访问网络1 731以及访问网络N 732。访问网络1-N可以是诸如各种宽带网络的任何类型的通信网络。网关装置1-R和服务器720可以包括多个通信接口从而与混合访问网络730中的访问网络1-N的任何组合通信。服务器720可以实现上述的带宽虚拟化服务器逻辑242。在操作中,每个网关装置1-R都可以作为带宽虚拟化客户端并且通过服务器720初始化带宽虚拟化过程。
[0071] 图8示出了用于带宽的虚拟化的另一个示例性系统800。系统800包括网关装置810。网关装置可以通过混合本地网络820而连接至在LAN中的多个客户端装置。在图8中,网关装置810通过混合本地网络820来连接至客户端装置220和客户端装置222。图8中所示的混合本地网络820包括M个网络,它们中的两个被标记为本地网络1 821和本地网络M 822。
在一个示例中,网关装置810对连接至混合本地网络820的客户端装置提供因特网访问。
[0072] 服务器800还包括连接至WAN 740的服务器720。服务器720可以通过连接至WAN 732来给包括图8中所示的网关装置830的多个装置提供因特网访问。网关装置810可以通过混合访问网络830来与服务器720通信。图8中所示的混合访问网络830包括N个网络,它们中的两个标记为访问网络1 831和访问网络N 832。
[0073] 网关装置810可以包括多个通信接口从而通过混合访问网络830的访问网络1-N以及混合本地网络820的网络1-M来通信。在一个实现方式中,网关装置810可以包括M+N个通信接口。
[0074] 在图8中,网关装置810包括带宽虚拟化客户端逻辑240和带宽虚拟化服务器逻辑242。网关装置810也包括可以连接在带宽虚拟化服务器逻辑242和带宽虚拟化客户端逻辑
240之间的带宽虚拟化代理逻辑812。在操作中,网关装置810可以既作为带宽虚拟化服务器,又作为带宽虚拟化客户端。带宽虚拟化服务器逻辑242可以聚集在网关装置810中的通信接口的带宽以用于通过混合本地网络820来与客户端装置通信。带宽虚拟化客户端逻辑
240可以聚集在网关装置810中的通信接口的带宽以用于在混合访问网络830中与服务器
720通信。
[0075] 在一个示例中,带宽虚拟化服务器逻辑242可以从连接至混合本地网络820的客户端装置222接收带宽分配描述。带宽虚拟化服务器逻辑242可以确定用于在混合本地网络820中通信的聚集的虚拟化带宽是否包括服务于带宽分配描述的可用带宽。如果否,那么带宽虚拟化服务器逻辑242可以与对于客户端装置222和网关装置810的带宽虚拟化服务器逻辑242都是可接受的所接受的带宽分配进行协商。
[0076] 带宽虚拟化服务器逻辑242可以将带宽分配描述发送给带宽虚拟化代理逻辑812。带宽分配描述可以描述包括上行带宽量和下行带宽量的所接受的带宽分配。随后带宽虚拟化代理逻辑812可以基于在收到的带宽分配描述中描述的所接受的带宽分配来向网关装置
240的带宽虚拟化客户端逻辑240发送带宽请求。带宽虚拟化客户端逻辑240可以与服务器
720协商最终带宽分配,并且带宽虚拟化客户端逻辑240可以将最终带宽分配的带宽分配描述发送给带宽代理逻辑812。
[0077] 在一个实现方式中,带宽代理逻辑812可以将带宽虚拟化客户端逻辑240和服务器720之间的带宽分配与带宽虚拟化服务器逻辑242和客户端装置222之间的所接受的带宽分配同步。如果带宽虚拟化客户端逻辑240和服务器720之间协商的最终带宽分配与所接受的带宽分配相同,那么带宽代理逻辑812可以与带宽虚拟化服务器逻辑242确认所接受的带宽分配。如果不同,那么带宽虚拟化服务器逻辑242可以与客户222协商从而确定带宽虚拟化客户端逻辑242和服务器720之间的最终带宽分配是否是带宽虚拟化服务器逻辑242和客户
222之间的可接受的带宽分配。
[0078] 一旦带宽分配被最终化,则带宽虚拟化服务器逻辑242就可以基于带宽虚拟化服务器逻辑242和客户222之间的带宽分配(例如,更新的接受的带宽分配)来确定通信源分配,以用于在混合本地网络820中通信。带宽虚拟化客户端逻辑240可以基于在带宽虚拟化客户端逻辑242和服务器720之间的最终带宽分配来确定通信源分配。随后,客户端装置220可以在由网关装置810的带宽虚拟化服务器逻辑242以及带宽虚拟化客户端逻辑240确定的带宽分配中与服务器720通信以用于例如因特网访问。
[0079] 在一个实现方式中,在网关装置810上实现的带宽虚拟化服务器逻辑240对于在网关装置810上实现的带宽虚拟化服务器逻辑242可以是透明的。带宽虚拟化逻辑240可以将带宽虚拟化代理逻辑812视为在发送带宽请求的网关装置810上执行的应用,而完全不涉及带宽虚拟化服务器逻辑242。在一个实现方式中,在带宽虚拟化客户端逻辑240和服务器720之间协商的最终带宽分配可以与在带宽虚拟化服务器逻辑242和客户端之间协商的所接受的带宽分配不同。可选地,带宽虚拟化代理逻辑812可以与带宽分配协商,使得在带宽虚拟化客户端逻辑240和服务器720之间协商的最终带宽分配与在带宽虚拟化服务器逻辑242和客户之间协商的所接受的带宽分配相同。
[0080] 图9示出了可以被装置100实现为硬件、软件或两者的逻辑900的示例。例如,装置100可以将逻辑900实现为带宽虚拟化逻辑114的一部分或实现为带宽虚拟化代理逻辑812。
带宽虚拟化代理逻辑812可以接收描述用于在客户端装置和在装置100上实现的带宽虚拟化服务器逻辑242之间通信的带宽分配的带宽分配描述(902)。
[0081] 带宽虚拟化代理逻辑812可以基于收到的带宽分配描述来建立带宽请求(904)。例如,带宽虚拟化代理逻辑812可以从收到的带宽分配描述提取上行和下行带宽量从而建立带宽请求。带宽虚拟化代理逻辑812也可以将带宽请求格式化从而模仿带宽虚拟化客户端逻辑240可以识别的应用带宽请求。随后带宽虚拟化代理逻辑812可以将建立的带宽请求发送给在装置100上实现的带宽虚拟化客户端逻辑240。
[0082] 在装置100上实现的带宽虚拟化服务器逻辑242可以在确定的带宽分配中与例如客户端装置220-222的客户端装置通信。以相似的方式,在装置100上实现的带宽虚拟化客户端逻辑240可以在确定的带宽分配中与例如服务器720的装置通信。在一个实现方式中,带宽虚拟化代理逻辑812可以在带宽虚拟化服务器逻辑242和带宽虚拟化客户端逻辑240之间传递数据(908)。例如带宽虚拟化代理逻辑812可以将由带宽虚拟化服务器逻辑242收到的数据(例如,来自在客户端装置220上执行的应用的应用数据)传递给带宽虚拟化服务器逻辑240,从而发送给服务器720。类似地,带宽虚拟化代理逻辑812可以将由带宽虚拟化客户端逻辑240收到的数据传递给带宽虚拟化服务器逻辑242,从而发送给客户端装置220。
[0083] 带宽虚拟化代理逻辑812可以继续传递数据,直到从带宽虚拟化服务器逻辑242收到解除分配指示为止(910),带宽虚拟化服务器逻辑242可以已从客户端装置220处收到该解除分配指示。带宽虚拟化代理逻辑812可以基于收到的解除分配指示来建立释放指示(912)。例如,解除分配指示可以与用于带宽虚拟化代理逻辑812早先建立的带宽请求的带宽分配相关。带宽虚拟化服务器逻辑242可以建立用于与早先建立的带宽请求相对应的带宽分配的释放指示。
[0084] 随后带宽虚拟化代理逻辑812可以将建立的释放指示发送给带宽虚拟化客户端逻辑242(914)。对于在装置上实现的带宽虚拟化客户端逻辑240来说,建立的释放指示可以看起来是释放。
[0085] 上述方法、装置和逻辑可以以多种不同的方式,以硬件、软件或硬件和软件两者的多种不同的组合来实现。例如,系统的总体或部分可以包括在控制器微处理器或应用专用集成电路(ASIC)中的电路,或可以通过结合在单一的集成电路上或分布在多个集成电路中的离散的逻辑或组件或其他种类的模拟或数字电路的组合来实现。上述的总体或部分的逻辑可以实现为由处理器、控制器或其他的处理装置执行的指令,并且可以存储在诸如闪速存储器、随机访问存储器(RAM)或只读存储器(ROM)的实体或非暂态的机器可读或计算机可读的媒介、可擦除可编程只读存储器(EPROM)、或诸如光盘只读存储器(CDROM)的其他机器可读媒介、或磁盘或光盘中。因此,诸如计算机程序产品的产品可以包括存储媒介和存储在媒介上的当在终端、计算机系统或其他装置中执行时使装置根据以上任何描述来进行操作的计算机可读指令。
[0086] 系统的处理能力可以分布在可选地包括多个分布的处理系统的多个系统组件之中,诸如在多个处理器和存储器之中。参数、数据库和其他数据结构可以被分别地存储和管理,可以被结合在单个的存储器或数据库中,可以以多种不同的方式逻辑地和物理地组织并且可以以包括诸如链接表、哈希表或隐含的存储机制的数据结构的多种方式实现。程序可以是在几个存储器和处理器中分布的或以诸如库、诸如共享的库(例如,动态链接库(DLL))的多种方式实现的单个程序(例如,子程序)、分开的程序的部分。例如,DLL可以存储执行任何上述系统处理的代码。虽然已经描述了本发明的多种实施方式,但是对于本领域的普通技术人员显而易见的是,在本发明的范围内的更多的实施方式和实现方式也是可行的。因此,除非根据所附的权利要求及其等同物,否则本发明不受到限制。
QQ群二维码
意见反馈