通信架构的制作方法

文档序号:7970763阅读:226来源:国知局
专利名称:通信架构的制作方法
技术领域
本发明涉及对通信流进行管理并通过多个通信路径对其进行路由,更具体地说,涉及对终端设备、接入点,以及为一个或多个通信应用提供服务的其它网络节点之间交互过程的管理。
背景技术
计算机、视频游戏机、电话机、PDA(个人数字助理),以及许多其它类型的终端都可连接到通信数据网络。通常,通信数据网络会为每个终端分配一个唯一的网络地址。这些终端使用这个唯一的网络地址在通信数据网络上收发数据。该通信数据网络可以是例如EDGE(增强型数据速率GSM演进技术)网络、GSM(全球移动通信系统)网络、CDMA(码分多址)、IEEE(电气和电子工程师协会)802.11网络、蓝牙、WiMax网络、互联网,企业内部网、卫星网络等。在这些终端与通信数据网络之间通常交换的数据包括媒体数据,如文本、音频、视频和图像数据;还包括与目的设备如服务器或另一终端之间交换的控制信号。媒体数据的采集和交换可实时进行,也可从长期存放数据的存储器中获取。
为与目的设备通信,某些终端可能连接到不止一个通信数据网络。例如,一台终端可能包含无线适配卡和有线适配卡,分别用于连接WiMax网络和以太LAN(局域网)。对于运行在该终端上的特定软件应用,或者对于一段时间内运行的所有的应用,该终端会在WiMax和以太网之间选择一条路径来发送和接收数据。该终端需事先确定将与之进行数据交换的通信数据网络。在开始进行数据交换前,该终端的用户通过运行在该终端上的软件应用,从多个可用的通信数据网络中配置并选择一个可用的通信数据网络,例如WiMax网络或以太LAN,以用于进行随后的数据交换。
由于许多众所周知的原因,所选择的通信数据网络在数据交换过程中经常显现出不可接受的服务表现,或无法提供服务。例如,终端通常通过有线或无线链路连接到所选择的通信数据网络的接入点。服务中断的问题通常是由从该终端经由这种接入点的通信路径在出现以下问题时导致的1)该终端移出无线服务区;2)电缆断开;3)被其它终端干扰;4)接入点或终端软、硬件技术故障。一旦在数据交换过程中遇到不可接收的服务表现,或者服务发生中断,运行在终端上的软件应用会停止工作或请求停止工作,以使用户可以选择另一个通信数据网络。这种选择过程经常要求对新选择的通信数据网络进行配置。一个通信数据网络发生中断,继而配置并切换至另一通信网路的过程往往会产生明显的延迟,有时还会造成数据丢失。
与本发明将要介绍的系统相比,常用和传统方法的限制和弊端对本领域的技术人员来说将更加清晰。

发明内容
本发明提供了一种可与多种通信数据网络进行交互的设备,该设备可控制自身有选择的与这些通信数据网络进行数据分组交换,下面将结合至少一幅附图对其进行展示和/或描述,并通过权利要求进行更为完整的说明。
本发明提供了一种通信架构,包括本地通信软件应用,其具有本地通信条件(requirement);本地管理软件应用;本地终端设备,其执行所述本地通信软件应用和所述本地管理软件应用;远程终端设备,其具有远程通信特征;多个本地接入点设备,其通过对应的多条独立链路与所述本地终端设备相连,所述对应的多条独立链路具有对应的多个本地路径特征;分组交换通信骨干网,与所述多个接入点设备中的每一个接入点设备和第二终端设备相连;所述本地终端设备经由所述多个本地接入点中的至少一个、并通过所述分组交换通信骨干网与所述远程终端设备通信;所述本地终端设备对所述本地通信条件、所述远程通信特征,以及所述对应的多个本地路径特征进行评估之后,从所述多个本地接入点中选择至少一个接入点。
优选地,所述通信架构进一步包括远程管理软件应用,其运行在所述远程终端设备上,用于将所述远程通信特征发往所述本地终端设备。
优选地,所述本地通信条件由所述本地通信软件应用发往所述本地管理应用。
优选地,所述本地终端设备从所述多个本地接入点中选择至少一个接入点的过程是在所述本地管理软件应用的控制下进行的。
优选地,所述本地终端设备从所述多个本地接入点中选择至少一个接入点的过程是在所述本地通信软件应用的控制下进行的。
本发明提供了一种支持具有通信特征的通信软件应用的通信架构,包括多个网络节点,其包括第一接入点、第二接入点,以及执行所述通信软件应用的终端节点;所述终端节点执行第一管理应用;所述第一接入点执行第二管理应用;通过使用所述通信特征,并根据所述第一管理应用和所述第二管理应用之间的交互,选择所述第一接入点来承载(service)所述通信软件应用。
优选地,若所述第一接入点无法(fail to)支持所述通信特征,则选择所述第二接入点来承载(service)所述通信软件应用。
优选地,所述通信特征由所述第一通信软件应用发往所述第一管理应用。
优选地,所述通信特征由所述第一管理应用从存储器中获取。
本发明提供了一种支持通信软件应用的通信架构,所述通信软件应用支持数据通信,所述通信架构包括多个网络节点,其包括第一接入点、第二接入点、执行所述通信软件应用的第一终端节点,和第二终端节点。
所述多个网络节点用于为所述第一终端节点提供多条通信路径;所述第一终端节点执行管理应用,根据所述通信软件应用的条件(requirement),与所述多个网络节点中另外至少一个节点协作,从所述多条通信路径中选出经由所述第一接入点的第一通信路径,来承载所述数据通信的第一部分;还选出经由所述第二接入点的第二通信路径,来承载所述数据通信的第二部分。
优选地,所述管理应用从存储器中获取所述通信软件应用的所述条件(requirement)。
优选地,所述管理应用将所述要求发往所述多个网络节点中所述另外至少一个节点。
优选地,所述管理应用将此后的从所述多条通信路径中选择第一通信路径和第二通信路径的选择权交由所述通信软件应用。
优选地,所述管理应用对所述多条通信路径进行监视。
优选地,所述通信软件应用的条件(requirement)由所述通信软件应用发往所述管理应用。
优选地,所述通信软件应用的条件由所述管理应用从存储器中获取。
优选地,所述终端节点管理应用的所述协作过程包括将所述多条通信路径中所述第一通信路径和所述第二通信路径的选择权均交由所述通信软件。
优选地,所述终端节点管理应用的所述协作过程包括将所述多条通信路径中所述第一通信路径和所述第二通信路径的选择权均交由所述多个网络节点中另外至少一个网络节点。
优选地,所述终端节点管理应用的所述协作过程包括将所述多条通信路径中所述第一通信路径和所述第二通信路径的选择权均交由所述第一接入点。
优选地,所述管理应用进一步与所述多个网络节点中所述另外至少一个网络节点协作,从所述多条通信路径中选择第三通信路径,以替代所述多条通信路径中的所述第一通信路径传送数据。
本发明提供了一种通信架构,包括多个通信软件应用,其中的每一个都支持分组通信,这些通信软件应用具有对应的多个通信条件(requirement);路径管理应用;多个网络节点,其包括第一接入点、第二接入点和第一终端节点;
所述第一终端节点执行所述路径管理应用以及所述多个通信软件应用;所述多个网络节点用于为所述第一终端节点提供多条通信路径;所述第一终端节点,至少部分地根据所述对应的多个通信条件,从所述多条通信路径中选出第一通信路径和第二通信路径,来支持所述多个通信软件应用。
优选地,所述路径管理应用从所述多个通信软件应用获取所述多个通信条件。
优选地,所述多条通信路径具有对应的多个路径特征;在选择过程中,所述第一终端节点还评估所述对应的多个路径特征。
优选地,所述多条通信路径中的所述第一通信路径和所述第二通信路径均支持包含(involving)所述多个通信软件应用中第一通信软件应用的通信流。
优选地,所述多个网络节点进一步包括第二终端节点,该节点也位于(involved)通过所述多个通信路径中所述第一通信路径和所述第二通信路径的通信流中(通信路径上)。
优选地,所述多条通信路径中的第一通信路径支持包含(involving)所述多个通信软件应用中的第一通信软件应用和第二通信软件应用的通信流。
通过下面将要结合附图进行的对具体实施方式
进行的介绍,本发明的特点和优势将更加明显。


出于便于描述而并非是限制本发明范围的目的,将结合下列附图对本发明进行描述,以帮助理解和实施本发明的技术方案。
图1是本发明中多台设备通过多个接入点与互联网骨干网进行交互的示意图,其中每台设备与一个以上的接入点进行交互;图2是本发明如图1所示的接入点多个组件的示意图,该接入点支持从其自身到互联网骨干网的多条数据路径;图3是本发明如图1所示的客户端设备多个组件的示意图,该客户端设备支持从其自身到图1所示多个接入点的多条数据路径;
图4是本发明运行有多个软件的客户端设备的示意图,该客户端设备支持从其自身到多个接入点的多条数据路径;图5是本发明运行有多个软件的接入点的示意图,该接入点支持从其自身到多个客户端设备的第一组多条数据路径,以及从其自身到分组交换网络的第二组多条数据路径;图6是本发明计算设备协议层所执行功能的流程图,该计算设备支持从其自身到互联网的多条路径,并且该计算设备上运行有不具备多路径管理功能的通信应用;图7是本发明运行在计算设备上的通信应用管理该计算设备和至少一个分组数据网络之间的多条通信路径的方法的流程图;图8是本发明运行在计算设备上的多路径管理软件在通信应用支持下,管理该计算设备和至少一个分组数据网络之间多条通信路径的方法的流程图;图9是本发明运行在计算设备上的多路径管理软件独立管理该计算设备和至少一个分组数据网络之间多条通信路径的方法的流程图;图10是本发明多路径管理软件(MMS)进行路径选择的功能模块及选择过程示意图。
具体实施例方式
图1是多台设备151、153、155、157和159通过多个接入点131、133、135和137与互联网骨干网103进行交互的示意图,其中每台设备151、153、155、157和159与一个以上的接入点进行交互。第一个人计算机151、电话机153、电视机155、第二个人计算机157和耳机159与互联网骨干网103交互。第一服务提供商设备111、第二服务提供商设备113、第三服务提供商设备115和第四服务提供商设备117与互联网骨干网103相连。多个服务提供商设备111、113、115和117中的每一个都可以是计算设备、路由器、交换机、基站、天线、收发器、域名服务器、代理服务器、存储服务器其中的一台或几台的组合。多个服务提供商设备111、113、115和117中的每一个通过有线(包括光纤)和/或无线链路与互联网骨干网103相连。
第一服务提供商设备111管理有线数据网络121。有线数据网络121可以是PSTN网络、光纤网络和有线电视网络其中之一或者它们的组合。第一接入点131、第二接入点133和第三接入点,也就是机顶盒135与有线数据网121相连。第二服务提供商设备112管理地面无线数据网络123。地面无线数据网络123可以是电视广播网,包括例如UHF(超高频)或VHF(特高频)传输。机顶盒135与地面无线资料网123相连。第三服务提供商设备115管理卫星数据网125。机顶盒135使用碟形天线与卫星数据网125通信。第四服务提供商设备117管理无线数据网127。无线数据网127可以是例如,EDGE网络、WCDMA(宽频频分多址)网络、IEEE802.11网络、WiMax网络或UMTS(通用移动通信系统)网络。机顶盒135还可用于与无线数据网127通信。第四接入点137与无线资料网127相连。接入点131、133、135和137中的每一个都包含至少一个(通常为两个或多个)用于接收和发送数据的收发器。第一接入点131从第一个人计算机151接收数据,并将收到的数据发往有线数据网121。第一接入点131还从有线数据网121接收数据,并将收到的数据发往第一个人计算机151。这些数据可包括控制信息、支持数据,以及多种多媒体数据如文本消息、音频、视频、图片、电子邮件、电视内容、音乐视频或文件,并与另一网络设备如互联网服务器、广播设备或另一终端进行交换。
第一个人计算机151通过有线接口与第一接入点131相连,同时,通过无线接口与第二接入点133相连。因此,第一个人计算机151便可通过第一接入点131或第二接入点133从/向有线数据网121接收/发送数据。第一接入点131为第一个人计算机151分配第一IP地址,第二接入点为第一个人计算机151分配第二IP地址。电话机153通过两条无线链路与第二AP133相连。电视机155通过无线链路与第二AP133相连。第二个人计算机157通过有线链路与第二AP133相连。第二AP133通过两条有线链路,第一有线链路和第二有线链路与有线资料网121相连。
如图所示,每台终端可能具有多条到达任意其它终端、服务器或其它网络设备的可用通信路径。第一个人计算机151具有两条通过AP131和133的上行路径。电话机153具有两条均通过AP133的上行路径,电视机155和个人计算机157均具有三条。为对通过这些可用上行路径进行的通信进行管理,终端151-157中的每一台都使用了多路径管理功能,该功能是通过结合使用常用和/或专用硬件和相关软件来实现的。类似的,接入点133和机顶盒135均具有两条或多条上行通信路径,以及两条或多条下行通信路径,通过这些通信路径可到达其它终端、服务器以及其它网络设备。为对经由这些可用的多条上行和下行路径进行的通信进行管理,接入点133和机顶盒135也都使用了多路径管理功能,该功能是通过结合使用常用和/或专用硬件和相关软件来实现的。同样的,具有两条或多条上行路径,或两条或多条下行路径的任何其它网络如一些服务器105,也都可使用多路径管理功能。
如本文所述,“上行路径”和“下行路径”并不一定是指数据流的实际方向。替而代之的是,“上行路径”指的是发起于与互联网骨干网103相连的当前设备的路径,而“下行路径”指的是从当前设备指向终端设备的路径。因此,例如,接入点133具有两条上行路径(均与个人计算机151有关),以及三条下行路径(只有一条与个人计算机151有关)。这里所使用的“终端节点”或“终端设备”是指可以作为通信流起始源或目的地的任何网络设备,如客户端设备或服务器。
特别的,每台具有多条上行路径和/或多条下行路径的网络设备都会执行多路径管理软件应用。因此,在两台终端设备之间的可用路径上,可能运行有一个或多个多路径管理应用。然而,多路径管理应用只会从这些可用上行和下行路径中选出其中的一条,来支持两台终端设备之间的交换。该选择过程可能包括一条或多条上行路径和/或一条或多条下行路径。其它上行和下行路径将保持非活跃状态,或用于支持其它终端设备交换。同样的,一些路径可支持多个终端设备交换同时进行。
若两台终端设备之间的整条路径中存在多个多路径应用,则每一个多路径应用都将依照本地设置来工作。例如,根据网络配置以及本地设置,无论是否具有来自任一上行多路径应用的支持,每个多路径管理应用都将独立地管理其上行路径,而不是下行路径。作为选择,根据所作的设置,整个管理过程的一部分或全部均可交由一个多路径应用来进行,而其它多路径应用则进入休眠状态或提供支持。同样的,两台终端设备之间的数据交换管理工作也可交由一些或所有多路径管理应用共同负责。
路径选择可以发生在,例如1)终端设备开机;2)路径特征发生变化;3)路径发生变化或变成可用;4)按要求改变;5)定期或持续进行;6)本地或远程通信软件应用的通信条件改变等。选择过程可发生在所有与例如下列项有关的通信中a)终端设备;b)特定通信软件应用;c)特定媒体类型;和/或d)以请求为基本方式的一个请求(on a request by request basis)。
例如,第一个人计算机151(或使用第一个人计算机151的用户)想要向连接到互联网骨干网103的目的终端发送(上行)数据。第一个人计算机151通过第一IP地址与第一接入点131建立关联,通过第二IP地址与第二接入点133建立关联。运行在第一个人计算机151上的多路径管理应用评估并选择一条或同时选择两条可用的上行路径,以进行一个或进行中的通信交换。作为选择,如果进行了这样的配置,则运行在第一个人计算机151上的多路径管理应用可仅评估(或协助评估)这两条可用的上行路径,并向第一服务提供商设备111发送相关信息和结果。第一服务提供商设备111执行的多路径管理功能作出响应,评估接收到的信息和结果,并根据评估的结果控制第一个人计算机151使用第二IP地址和无线接口与有线数据网121进行通信。
对于电话机153,运行于其上,以及接入点133和第一服务提供商设备111上的多路径管理软件可各自独立完成类似的任务,或共同参与该选择过程。例如,第二接入点133通过运行在电话机153上的多路径管理软件所选择的链路与电话机153交换数据,第二接入点133依照运行在第一服务提供商设备111上的多路径管理软件的指令与第一服务提供商设备111交换数据。还可存在其它情况,如根据数据流来选择不同的路径,例如,从第一终端设备到第二终端设备的路径,与从第二终端设备到第一终端设备的路径相比,可能会涉及不同的多路径管理责任,并导致不同的路径选择结果。在从第一终端设备到第二终端设备的路径中,每台设备可做自己的独立评估并选择一条或多条通往第二终端设备的链路。同样的,在从第二终端设备到第一终端设备的路径中,每台设备也仅做自己的可独立评估并选择一条或多条通往第一终端设备的链路。
在承担此任务时,多路径管理应用评估每条可用的上行和下行链路的多个特征。根据这些特征,多路径管理应用为每条链路生成一连接率,其中包括一个或多个因素。通过比较第一和第二连接率中的一个或多个因素,多路径管理应用可确定应该使用路径中的哪条链路。
上面提到的多个特征可包括最大和当前带宽、负载程度、传送队列、竞争要求、数据类型、干扰、误码率、安全性、链路成本等。具体来说,上面提到的特征中的一些特征是不随时间变化的,而另外一些则会随时间发生变化。例如,那些随时间变化的特征可能是因为带宽、路径路由、网络负载、QoS(服务质量)、传送功率要求、误码率、漫游等因素发生变化而发生改变的。那些不随时间发生变化的特征包括例如链路成本、最大带宽、QoS保障、链路的反窃听性能、电路对比(vs.)分组交换特征等。
在对AP133和电话机153之间的链路进行首次评估和选择后,运行在AP133上的多路径管理应用程序会在固定的时间间隔、或对该链路提出新的要求时、以及相关因素发生变化使得超过了某些预先设定的阈值时,重新评估其作出的决策。如果找到了一个更为合适的配置,多路径管理应用将会对当前路径进行切换。这种情况可发生在例如,电视机155打开第二个窗口来显示第二视频数据,使得所需数据量上升;或者另一数据交换结束,一条更为合适的连接路径得以释放。另一方面,在随后的一个时间,第一个人计算机151可能有大量数据需要上传。使用当前的活跃链路来传送这些数据会立即增大该链路的负担,超过该链路进行另一应用时可以接受的带宽。作为响应,多路径管理应用程序会对这种其它应用,或者对这种大量数据的传送负担部分的或全部进行重新路由。
多路径管理应用程序将数据传输在一条链路和另一条链路之间进行无缝切换,此过程可通知,也可不通知终端通信应用软件。例如,第一个人计算机151可能不知道第二AP133用来将第一个人计算机151所生成数据传送至有线数据网络121的有线链路。电视机155和第二PC157也可能不知道多路径管理应用程序所执行的路径切换。数据传输从第二有线链路切换至第一有线链路的过程不会影响第二AP133对电视机155和/或第二PC157所生成数据的传送。
第二PC157与第二AP133、机顶盒135和第四AP137相关联。第二PC157包括有线接口、第一无线接口和第二无线接口。第二AP133为第二PC157分配第三IP地址。机顶盒135为第二PC157分配第四IP地址。第四AP137为第二PC157分配第五IP地址。第二PC157通过第二AP133,使用第三IP地址和有线接口与有线数据网121通信。第二PC157使用第四IP地址和第一无线接口与机顶盒135通信。第二PC157使用第五IP地址和第二无线接口与第四AP137通信。在第二PC157上运行有第二多路径管理程序。第二多路径管理程序是一套用于管理三个通信关联(communication association)的软件,第一通信关联与第二AP133相关联,第二通信关联与机顶盒135相关联,第三通信关联与第四AP137相关联。第二多路径管理软件定期收集与这三个通信关联有关的特征或参数。第二多路径管理程序可在这三个通信关联发生变化时收集该多个参数。这些参数可包括每个关联中的IP地址、每个关联承载的数据流、每个关联所提供的带宽、每个关联所支持的加密和编码方式、每个关联的功率要求、每个关联的类型、每个关联引入的延迟、每个关联中的干扰级别,这与每个关联所承载的数据流有关。第二多路径管理程序将收集到的这些参数存储在第二PC157的存储器中。在第二实施例中,第二多路径管理程序使用新的一组收集到的多个参数更新现有的参数,然后不再使用旧的一组参数。在第二实施例中,多路径管理程序存储旧的一组的多个参数,直到收集到新的一组的多个参数。
第二PC157或者使用第二PC157的用户希望向连接到互联网骨干网103的目的设备发送数据。第二PC157生成数据传输请求。作为对该请求的响应,第二多路径管理程序获取有关这三个通信关联的多个参数。第二多路径管理程序会从第二接入点133、机顶盒135和第四接入点137收集至少一些参数,例如,每个关联提供的带宽、每个关联所支持的加密和编码方式、每个关联引入的延迟和每个关联的干扰级别。这些参数可从第二PC157的存储器中获取。这些参数也可从不在第二PC157机箱里的单独的存储系统中获取。这些参数中的一些或全部,例如对应于每个通信关联的IP地址可从第二PC157的有线接口、第一无线接口和第二无线接口处获取。多路径管理程序使用获取的参数从这三个接口——有线接口、第一无线接口和第二无线接口中选择一个接口,然后控制第二PC157使用选中的接口和对应的IP地址向互联网骨干网103发送(也就是上行)数据。多路径管理程序这一选择过程为数据上行过程提供可能得到的最好的服务。例如,多路径管理程序选择第二无线接口。第二PC157使用第四接入点137分配的第五IP地址向第四接入点137发送数据。第四接入点137接收这些数据,使用无线数据网络127将这些数据发网目的设备。
在第二PC157从/向第四接入点137收发数据的过程中,第四接入点137与第二PC157第二无线接口间的无线链路可能断开。若该无线链路断开,则软件应用程序会控制第二PC157使用剩下的两个接口中的一个,这两个接口也就是有线接口和第一无线接口中。软件应用程序选择一个可提供更好服务的接口。从剩下的两个接口中选择一个的选择过程需要依靠获取的多个参数来进行。例如,软件应用程序可选择有线接口。随后,第二PC157使用有线接口和第三IP地址来发送数据。从第二无线接口到有线接口的接口变动将无缝地进行,这样一来,第二PC157所发送的任何数据都不会丢失。随后,第二PC157发送的数据将到达第二AP133。第二AP133通过两条链路连接到有线数据网络121。运行在第二AP133上的多路径管理应用程序从连接有线数据网络121的两条链路中选择其中的一条,用于向有线数据网络121发送从第二PC157收到的资料。第二AP133使用选中的链路将从第二PC157收到的资料发往有线数据网络。第二PC157发送的数据最终将通过第二AP133、有线数据网络121和互联网骨干网103到达目的节点。
在另一实施例中,运行在第二PC157上的第二多路径管理程序定期获取有关所有这三个通信关联的多个参数。多路径管理程序可选择一个阈值,并且在三个通信关联中任何一个的质量低于该阈值时,将相应的通信关联隔离。在该示范性方案中,第二PC157使用第四接入点137和第二PC157的第二无线接口之间的无线链路来发送数据。当该无线链路的质量下降到低于该阈值时,多路径应用程序会促使第二PC157切换到有线接口,并使用第三IP地址来发送数据。因此,从第二无线接口到有线接口的切换发生在该链路断开前。多路径管理程序确保不会有任何数据(也就是第二PC157发送的数据)由于发生切换而丢失。
每个终端151-157上运行有一个或多个通信应用。这些通信应用可能是互联网浏览应用、互联网电话、视频游戏应用、文本消息、多媒体消息和视频会议。每个通信应用都具有不同的通信条件。例如,互联网浏览应用可能要求使用高带宽路径,互联网电话应用可能要求使用低延迟的路径,文本消息应用通常对高延迟的路径容忍性最大,向用户传送实时经历的视频游戏应用可能要求使用高带宽低延迟路径。运行在终端151-157上的通信应用可执行多路径管理功能。在这种情况下,可能不存在单独的用于管理每个终端151-157的多条可用上行路径上的通信的多路径管理硬件或软件。运行在终端上的通信应用可根据对应的通信条件从两条或多条可用上行路径中选出一条上行路径。例如,若一个终端具备两条到达接入点的上行路径,一条是低带宽路径,另一条是高带宽路径,则运行在该终端上的视频游戏应用可能决定使用高带宽上行路径,来与接入点之间收发分组数据。视频游戏应用(通信应用)将所选择的路径通知运行在终端上的多路径管理应用,后者便通过选定的高带宽路径与接入点之间收发分组数据。多路径管理应用仅帮助控制数据分组通过视频游戏应用(通信应用)所选择的路径发往接入点。
在另一实施例中,终端上未运行有多路径管理应用。该通信应用(视频游戏应用)与终端的设备驱动器相连,控制对应所选路径(高带宽路径)的设备驱动器与接入点之间收发分组数据。
作为选择,视频游戏应用(通信应用)还可决定使用高带宽上行路径从接入点接收分组数据,使用低带宽上行路径向接入点发送分组资料。视频游戏应用还可决定同时使用高带宽上行路径和低带宽上行路径来从接入点接收分组数据。视频游戏应用需要使用低延迟路径。若在某一时刻,高带宽路径上的延迟大于可承受值,则视频游戏应用可决定只使用低带宽路径与接入点通信。该视频游戏应用可控制多路径管理应用或对应的设备驱动器来切换至低带宽路径。该通信应用软件可确保不会有任何分组数据由于发生切换而丢失。
该通信应用根据可用路径的通信特征从两条或多条可用上行路径中选出一条上行路径。该通信特征可包括最大带宽和当前带宽、负载、队列长度、干扰、误码率、安全性、链路成本,以及传输功率条件等。该通信应用可根据其生成的数据类型来选择路径。若该通信应用要求进行控制数据交换,则它可以仅从可用上行路径中选出一条路径。若该通信应用要求收发多媒体分组数据,则它可从可用上行路径中选出两条最好的路径,并使用选出的第一条路径接收(或发送)部分多媒体分组数据,使用选出的第二条路径接收(或发送)其余的多媒体分组数据。
在一个实施例中,某通信应用可能具有高于其它通信应用的优先级。例如但不限于,电话机153具有两条到AP133的上行路径。运行在电话机153上的互联网浏览应用,其优先级低于电话呼叫应用。运行在电话机153上的互联网浏览应用从两条上行路径中选择使用其中的一条来与AP133通信。例如,这两条上行路径中,所选择的路径提供更低的干扰。如果现在电话机153(或者使用电话机153的用户)想同时建立电话呼叫,则互联网浏览应用就释放低干扰上行路径,转而使用两条上行路径中干扰较高的第二条上行路径与AP133通信。电话呼叫应用使用低干扰路径来与AP133通信。互联网浏览应用中的分组数据经高干扰路径传输,电话呼叫应用中的分组数据使用低干扰路径。一旦电话呼叫应用结束,互联网浏览应用将切换至低干扰路径,并通过该低干扰路径交换分组数据。互联网浏览应用从低干扰路径切换至高干扰路径,最后又切换回低干扰路径的过程由互联网浏览应用无缝地进行。
在另一实施例中,通信应用,即运行在电话机153上的互联网浏览应用和电话呼叫应用不适于从连接AP133的两条上行路径中选择路径。电话机153上运行有多路径管理应用。通信应用向多路径管理应用提供自身的通信条件信息(CRI),由多路径管理应用根据CRI在两条上行路径中选择一条路径。对应于通信应用的CRI可包括通信应用所要求的最低数据率、通信应用的优先级、通信应用所能容忍的最大误码率等。例如,用户想要在电话机153上运行互联网浏览应用。运行在电话机153上的多路径管理应用从互联网浏览应用接收路径建立请求。多路径管理应用随后从互联网浏览应用接收对应互联网浏览应用的CRI。多路径管理应用还可从电话机153的内存中获取该CRI。多路径管理应用使用该CRI从两条上行路径中选择一条路径,然后控制随后的分组数据在AP133和电话机153之间经由所选择的路径传送。
AP133从连接到互联网骨干网103的终端收到发往电话机153的电话呼叫建立请求。AP133通过选择的路径与电话机153相连,该路径上正在传送对应互联网浏览应用的分组数据。AP133使用选择的路径向电话机153发送呼叫建立请求。多路径管理应用获取对应电话呼叫应用的CRI。对应电话呼叫应用的CRI显示,电话呼叫应用的优先级高于互联网浏览应用。多路径管理应用使用对应电话呼叫的CRI从连接AP133的两条可用上行路径中选择一条路径。例如,多路径管理应用确定,互联网浏览应用所选择的正在使用的路径也最适合电话呼叫应用。由于电话呼叫应用的优先级高于互联网浏览应用,多路径管理应用将对应互联网浏览应用的分组数据切换至两条上行路径中的另一条传送,然后控制对应电话呼叫应用的分组数据经由选择的路径传送。通信应用,也就是互联网浏览应用和电话呼叫应用通过向多路径管理应用提供对应的CRI,来帮助多路径管理应用从两条或多条可用路径中选择一条路径。
在第三类实施例中,运行在终端(151-157)上的通信应用不直接或间接参与从两条或多条可用上行路径中选择一条路径的操作。路径的选择和控制分组数据经由选择的路径传送的任务由运行在终端上的多路径管理应用执行。对路径的选择可由起始终端和目的终端之间的不同终端上运行的一个以上的多路径管理应用共同执行。例如,在收到来自通信应用(也就是电话呼叫应用或互联网浏览应用)的路径建立请求后,运行在电话机153上的多路径管理应用,运行在AP133上的第二多路径管理应用,以及运行在第一服务提供商设备111上的第三多路径管理应用可共同决定使用电话机153和AP133之间两条上行路径中的哪条路径来传输对应于该通信应用的分组数据。运行在终端(151-157)上的通信应用显然知道一个或多个多路径管理应用所选择的通信路径。
图2是本发明如图1所示接入点133多个组件的示意图,该接入点133支持从其自身到互联网骨干网103的多条数据路径。图1中的机顶盒135还支持到互联网骨干网103的一条以上的数据通信路径。图2中示出了多个组件,对于图1中的多路径接入点133和多路径机顶盒135这些组件是共通的。多路径AP或多路径STB(机顶盒)200包括处理电路202、用户输入接口218、多个有线接口220和多个无线接口230。处理电路202包括存储系统204、操作系统210、多路径管理软件(MMS)214和设备子驱动器216。用户输入接口218从用户处接收输入信息,处理电路202因此对输入信息作出响应。用户输入接口218可以是多个按钮、触摸屏、语音接口、鼠标、拇指转轮、屏幕和触摸笔等。多个有线接口220包括第一有线上行接口222、第二有线上行接口223、第一有线下行接口224和第二有线下行接口225。多个无线接口230包括第一无线上行接口232、第二无线上行接口233、第一无线下行接口234和第二无线下行接口235。多路径AP(或多路径STB)200的上行接口(有线上行和无线上行接口)支持多路径AP(或多路径STB)200与一个或多个数据网络之间的数据通信,其下行接口(有线下行和无线下行接口)支持多路径AP(或多路径STB)200与一台或多台客户端设备之间的数据通信。客户端设备就是生成数据的终端和/或设备。典型的客户端设备包括个人计算机、电话机、PDA、视频游戏机、电视机或可生成能够通过分组交换网络传输的第一格式(例如将数据分割后装入分组中)数据的各种终端。这些数据可以是音频、视频、图片,电子邮件、网页、音乐视频、存储在互联网和/或企业内部网服务器上的文件、文本消息、电视节目和任何类型的多媒体信息。典型的数据网络包括光纤数据网、有线数据网、公共交换电话网、GSM网络、CDMA网络、EDGE网络、IEEE802.11网络、WiMax网络、卫星数据网络,或者任何种类的标准和专用的分组交换网络。
例如但不限于,多路径AP(或多路径STB)200使用第一有线上行接口222与光纤数据网通信,使用第二有线上行接口223与有线数据网通信,使用第一无线上行接口232与EDGE网络通信、使用第二无线上行接口233与WiMax网络通信。光纤数据网、有线数据网、EDGE网络和WiMax网络使用不同的协议进行分组数据发送和接收。每个有线和无线上行接口(222、223、232和233)与至少一个对应的硬设备交互,而对应的硬件设备由媒体访问控制(MAC)地址唯一地标识。典型的硬件设备包括收发器。多路径AP(或多路径STB)200首先将其自身与光纤数据网、有线数据网、EDGE网络和WiMax网络建立关联,然后与这些网络进行通信。这种关联包括由对应的数据通信网络为多路径AP(或多路径STB)200分配IP地址。在建立关联过程中,光纤数据网为多路径AP(或多路径STB)200分配第一IP地址,有线数据网为多路径AP(或多路径STB)200分配第二IP地址,EDGE网络为多路径AP(或多路径STB)200分配第三IP地址,WiMax网络为多路径AP(或多路径STB)200分配第四IP地址。多路径AP(或多路径STB)200通过第一有线上行接口222使用第一IP地址与光纤数据网通信,类似的,多路径AP(或多路径STB)200通过第二有线上行接口223使用第二IP地址与有线数据网通信,通过第一无线上行接口232使用第三IP地址与EDGE网络通信,通过第二上行接口233使用第四IP地址与WiMax网络通信。
在该非限定性实施例中,多路径AP(或多路径STB)200使用第一有线下行接口224与个人计算机通信,使用第二有线下行接口225与耳机通信,使用第一无线下行接口234与电话机通信,使用第二无线下行接口235与电视机通信。多路径AP(或多路径STB)200在该示范性实施例中连接到不同类型的分组数据网络(也就是光纤数据网络、有线数据网络、EDGE网络和WiMax网络)。与多路径AP(或多路径STB)200相连的分组数据网络的类型对个人计算机、耳机、电话机和电视机(也就是客户端设备)而言是不可见的。在这些客户端设备广播发送关联请求时,多路径AP(或多路径STB)200的MMS214为个人计算机、耳机、电话机和电视机分别分配第五IP地址、第六IP地址、第七IP地址和第八IP地址。多路径AP(或多路径STB)200的MMS214控制个人计算机使用第五IP地址向多路径AP(或多路径STB)200发送第一格式数据。多路径AP(或多路径STB)200通过第一有线下行接口224从个人计算机接收第一格式的数据。
多路径AP(或多路径STB)200通过第一有线上行接口222、第二有线上行接口223、第一无线上行接口232和第二无线上行接口233连接到互联网骨干网。MMS214评估对应于第一有线上行接口222的第一度量值、对应于第二有线上行接口232的第二度量值、对应于第一无线上行接口232的第三度量值,以及对应于第二无线上行接口233的第四度量值。第一度量值在某一时刻的数值与多个参数有关。这些参数可以是,第一有线上行接口222支持的最大带宽、等待通过多路径AP(或多路径STB)200从客户端设备(也就是个人计算机、耳机、电话机和电视机)上传到互联网骨干网的数据负载量、该时刻通过第一有线接口222传送的数据的大小、等待通过多路径AP(或多路径STB)200上传的数据负载的类型(也就是上传的数据负载是文本消息、视频文件、实时数据还是非实时数据等),以及第一有线上行接口222的功率要求。第一度量值随时间变化。MMS214在固定的时间间隔对第一度量值进行评估。分别对应于第二有线上行接口223、第一无线上行接口232和第二无线上行接口233的第二度量值、第三度量值和第四度量值也随时间变化。MMS214也在固定的时间间隔对第二度量值、第三度量值和第四度量值进行评估。MMS214可以在收到任一客户端设备(个人计算机、耳机、电话机或电视机)发送的数据上传请求时评估第一度量值、第二度量值、第三度量值和第四度量值。MMS214可以在通过多路径AP(或多路径STB)200的用户输入接口218收到用户的输入信息后评估第一度量值、第二度量值、第三度量值和第四度量值。MMS214将第一度量值、第二度量值、第三度量值和第四度量值存储于多路径AP(或多路径STB)200的存储系统204中。MMS214在评估完新一组度量值后,对第一度量值、第二度量值、第三度量值和第四度量值进行更新。
MM214可从多个有线接口220、多个无线接口230、操作系统210、存储系统204以及客户端设备(计算机,耳机、电话机和电视机)收集与度量值(第一度量值、第二度量值、第三度量值和第四度量值)有关的多个参数。在该示范性实施例中,多路径AP(或多路径STB)200的设备子驱动器216通过扫描来确定第一有线下行接口224是否存在来自个人计算机的数据。设备子驱动器216通知MMS214有数据存在。随后,多路径AP(或多路径STB)200的MMS214对这四个度量值进行评估。MMS对这四个度量值进行评估以找出更好的数据通信链路,其对应的度量值更高。在这个非限定性实施例中,在四个度量值中,可能第二度量值的值最高。第二度量值对应于多路径AP(或多路径STB)200的第二有线上行接口223。多路径AP(或多路径STB)200的MMS214控制设备子驱动器216将从个人计算机收到的数据路由至多路径AP(或多路径STB)200的第二有线上行接口223。设备子驱动器216是一套软件程序,它可与第一有线下行接口224和第二有线上行接口223的硬件进行交互。设备子驱动器216将第一有线下行接口224的(也就是来自个人计算机的)可用数据转发到第二有线上行接口223。第二有线上行接口223使用第二IP地址将这些数据发往有线数据网络。这些数据通过有线数据网最终到达互联网骨干网。
在另一实施例中,数据包中可包含一标识,该标识来自位于第一有线下行接口224处的个人计算机。该标识表明该分组数据具有高优先值。在这种情况下,多路径AP(或多路径STB)200的MMS214可对这四个度量值进行评估,并确定对应两个高优先值的两个通信接口。在本非限定性实施例中,在四个度量值中,第二度量值具有最高值,而第一度量值具有第二高值。第二度量值对应多路径AP(或多路径STB)200的第二上行有线接口223。第一度量值对应多路径AP(或多路径STB)200的第一上行有线接口222。多路径AP(或多路径STB)200的MMS214将从个人计算机接收到的分组数据分为两个部分。MMS214决定将从个人计算机收到的第一部分分组数据通过第二上行有线接口223传送,其余的分组数据通过第一有线上行接口222传送。在MMS214的监控下,与第一有线上行接口222和第二有线上行接口223的硬件交互的设备子驱动器216对数据分组进行路由控制。第二有线上行接口223与有线数据网相连。MMS214确保通过第二有线接口223传送的第一部分数据分组适用有线数据网络协议。第一有线上行接口222与光纤数据网相连。MMS214确保通过第一有线接口222传送的其余的数据分组使用光纤数据网络协议。到达多路径AP(或多路径STB)200的来自个人计算机的分组数据最终到达互联网骨干网,其中,第一部分是通过有线数据网到达的,而其余部分是通过光纤数据网络到达的。
个人计算机并不知道数据网络的类型和/或多路径AP(或多路径STB)200用于发送从个人计算机收到的数据的接口的类型。个人计算机将数据按照多路径AP(或多路径STB)200指定的第一格式发往多路径AP(或多路径STB)200。例如,多路径AP(或多路径STB)200的MMS214选择使用第二有线上行接口223。从个人计算机收到的第一格式数据可能需要转换至有线数据网所支持的第二格式。MMS214触发设备子驱动器216将第一有线下行接口224的可用数据(也就是来自个人计算机的)路由至代码转换器。该代码转换器是多路径AP(或多路径STB)200的处理电路202的一部分。代码转换器将第一格式的数据转换为第二格式。MMS214接下来触发设备子驱动器216将第二格式的数据从代码转换器路由至第二有线上行接口223。第二有线上行接口223使用第二IP地址将第二格式的数据发往有线数据网。第二有线上行接口223包括无线发射模块。
MMS获取这些参数,并定期评估这四个度量值。用户可借助用户输入接口218通过MMS214设置两次连续的度量值评估操作之间的时间间隔。用户输入接口218接收用户定义的时间间隔值,并将其发往MMS214。MMS214将该时间间隔值存储到存储系统204中,并且在用户定义的每次时间间隔内对这四个度量值进行一次评估。如果在某一时刻,第三度量值超过第二度量值,则MMS214将触发设备子驱动器216,将从个人计算机收到的数据路由至第一无线上行接口232,这是因为第三度量值对应于第一无线上行接口232。设备子驱动器216将第一有线下行接口224的可用数据转(也就是来自个人计算机的数据)发至第一无线上行接口232。第一无线上行接口232使用第三IP地址将这些数据发往EDGE网络。这些数据最终通过EDGE网络到达互联网骨干网。通过从第一有线下行接口224到第二有线上行接口223路径进行传输的这些数据,在MMS214进行切换后,将通过从第一有线下行接口224到第一无线上行接口232的路径传输。MMS214控制数据路由的切换,并确保在切换过程中不发生数据(或者数据分组)丢失。
图3是本发明如图1所示客户端设备155或157多个组件的示意图,该客户端设备支持从其自身155或157到图1中的多个接入点133、135和137的多条数据路径。多路径客户端设备300包括处理电路302、存储系统304、用户输入接口330、第一有线上行接口342、第二有线上行接口343、第一无线上行接口344,以及第二无线上行接口345。有线和无线接口(342、343、344和345)中的每一个都与至少一个对应的硬件设备进行交互,并且该对应的硬件设备由媒体访问控制(MAC)地址唯一地标识。典型的对应的硬件设备包括收发器。该收发器用于发送和接收数据(也就是数据分组)。操作系统308是运行在多路径客户端设备300上的一套软件。
多路径客户端设备300本身与所有可用的分组交换网络相关联。所有这些分组交换网络都连接到互联网骨干网。如图所示,多路径客户端设备300包括四个通信接口(342、343、344和345),且多路径客户端设备300可将自身与最多四个不同类型的分组数据网络相关联。例如但不限于,多路径客户端设备300通过第一有线上行接口342将其自身与有线数据网络的第一接入点相关联。与有线数据网第一接入点之间的关联包括由第一接入点为其分配IP地址。多路径客户端设备300使用第一IP地址和第一有线上行接口342来向有线数据网发送数据,并通过第一接入点从有线数据网接收数据。在这个非限定性实施例中,多路径客户端设备300通过第二有线上行接口343和第二IP地址与光纤数据网络的第二接入点相关联。多路径客户端设备300还通过第一无线上行接口344和第三IP地址与属于卫星数据网络的第三接入点相关联。多路径客户端设备300还通过第二无线上行接口345和第四IP地址与UMTS数据网络的第四接入点相关联。第二IP地址、第三IP地址和第四IP地址分别通过第二接入点(也就是光纤数据网)、第三接入点(也就是卫星数据网络)和第四接入点(也就是UMTS网络)分配给多路径客户端设备300。
多路径客户端设备300的用户输入接口330可以是多个按钮、键盘、触摸屏、鼠标、语音接口,触摸笔、拇指转轮等。多路径客户端设备300可以是个人计算机、电话机、电视机、耳机,以及视频游戏机等。若多路径客户端设备300是个人计算机,则用户输入接口330通常为鼠标和键盘。若多路径客户端设备300是电话机,则用户输入接口330通常为屏幕和多个按钮。若多路径客户端设备300是视频游戏机,则用户输入接口330通常为拇指转轮和游戏摇杆。多路径客户端设备300可向互联网骨干网发送资料。在这个非限定性实施例中,多路径客户端设备300为一电话机。多路径客户端设备300通过多个按钮330(用户输入接口)接收对视频的选择。非限定的,选择的视频为一段音乐视频,该音乐视频存储于连接到互联网骨干网的互联网服务器上。多路径客户端设备300与四个接入点相关联(连接到四个接入点),第一接入点属于有线数据网络,第二接入点属于光纤数据网络,第三接入点属于卫星数据网络,第四接入点属于UMTS网络。所有这四个接入点均连接到互联网骨干网。多路径客户端设备300现在需要通过四个接入点中的任意接入点向互联网骨干网发送请求,用于请求选中的音乐视频。
在多路径客户端设备300的存储系统304中可存在多个通信应用。通信应用310、311和312可以是例如,电话应用、互联网浏览应用、媒体下载应用、媒体邮件应用、消息服务应用、电视节目应用,或使用通信功能的任何其它软件应用。通信应用310中的每一个都可以进行下列操作1)控制自身和任何其它通信应用310、311和312的通信路径选择;或2)协助任何其它通信应用310和远程及本地路径管理软件进行这种路径选择。通信应用311中每一个都可协助任何通信应用310和远程及本地路径管理软件进行通信路径选择。通信应用312例如遗留应用(legacy application),既不协助也不进行路径选择。
通信应用310、311和312中的每一个都具备多种关联的通信特征,例如但不限于,且对于每种交换的数据类型以及数据流的每个方向而言,这些特征包括1)所需的最小带宽;2)所允许的最大延迟;3)想要的链路质量;4)所允许的最低链路质量;;5)安全/加密要求;6)优先级;7)所支持的相关标准;8)通信要求是周期性的、不定时发生的、还是持续的。通信应用310和311支持与本地和远程路径管理软件进行通信特征交换,以支持路径选择。本地和/或远程管理软件通过执行下列一种或多种方法,为通信应用312确定通信特征,这些方法包括1)从本地或远程存储器中获取预先定义的通信特征;2)提示电话机310的用户输入这种特征;3)监视通信应用312的实际通信活动。
本地路径管理软件,即MMS(多路径管理软件314)、运行在任何其它网络节点(未示出)上的远程路径管理软件,以及通信应用310三者可彼此独立地,也可相互协作的对通过可用路径的总体通信流进行控制,以及为所有通信软件310、311和312控制通信流。它们可根据当前路径条件的变化以及通信软件的要求重新选择路径,并且按需要将通信流进行无缝切换。例如,若一条通信路径断开了,则当前路径的流量将经由一条或多条其它路径传送,而不会中断一个或多个通信应用的运行。
如果选择通信应用310其中之一来管理所有的通信流,则该通信应用将通过下列方式接收并自动更新通信特征,例如1)直接与可用路径中的其它节点进行交互;2)从与指定路径或路径类型相关联的预先定义的存储器中获取;3)从多路径客户端设备300的用户获取;4)从MMS314获取;5)从通信应用310和311中的其它应用获取;6)从与任何其它通信应用310、311和312相关联的预先定义的存储器中获取;7)通过监视路径或通信应用来获取;8)从一个或多个远程路径管理软件应用获取。这些通信特征包括两个类别a)与可用路径有关;b)与其它通信应用有关。除管理所有数据流以外,通信应用310其中之一还可只负责管理其自身的通信流。
类似的,如果选择MMS314来管理所有通信流,则它将通过下列方式接收并自动更新通信特征,例如1)直接与可用路径中的其它节点进行交互;2)从与指定路径或路径类型相关联的预先定义的存储器中获取;3)从多路径客户端设备300的用户获取;4)从通信应用310和311中获取;5)从与任何其它通信应用310、311和312相关联的预先定义的存储器中获取;6)通过监视路径或通信应用来获取;和/或7)从一个或多个远程路径管理软件应用获取。这些通信特征包括两个类别a)与可用路径有关;b)与通信应用有关。作为管理所有数据流这一方案的替代,MMS314还可只负责管理通信应用310、311和312中选中的一个或几个应用的通信流。
同样的,如果选择远程路径管理软件来管理所有通信流,则它将通过下列方式接收并自动更新通信特征,例如1)直接与可用路径中的其它节点进行交互;2)从与指定路径或路径类型相关联的预先定义的存储器中获取;3)从多路径客户端设备300的用户获取;4)从MMS314获取;5)从通信应用310和311中的其它应用获取;6)从与任何其它通信应用310、311和312相关联的预先定义的存储器中获取;7)通过监视路径或通信应用来获取;8)从一个或多个远程路径管理软件应用获取。这些通信特征包括两个类别a)与可用路径有关;b)与其它通信应用有关。作为管理所有数据流这一方案的替代,远程路径管理软件还可只负责管理,例如1)从通信应用310、311和312中选中的一个或几个的通信流;或2)通信应用310、311和312中使用直接关联到远程路径管理软件的路径的通信应用的数据流。例如,运行有通信应用310(例如媒体下载应用)的多路径客户端设备300(例如电话机)与本地和远程多路径管理软件进行交互,为一流媒体下载选择一条或多条可用通信路径,或在必要时进行无缝的重选择。与该可用路径以及该通信应用相关联的通信特征支持这种选择和重新选择操作。
特别的,与媒体下载应用(通信应用310其中之一)有关,与媒体下载应用相关联的通信特征可包括所需的最小带宽、所允许的最大延迟、想要的链路质量、所允许的最低链路质量、数据分组需要的加密、数据类型、分组数据的优先级等。尽管媒体下载应用310具有请求和通过四个接入点中任意接入点从与互联网相连的网络节点接收媒体流的能力,但也必须先从这些接入点中选出满足通信特征的一个或多个或全部接入点。
每条可用通信路径同样也具有与其相关联的多个通信特征,它们可以是例如统计的、额定的或者当前的带宽、延迟、服务质量、链路质量、安全级、数据类型、成本等。通过同时收集通信应用和可用路径的通信特征,可对路径选择和数据流的分发进行更好的管理。正如这里所使用的那样,与可用通信路径相关联的通信特征称为“路径特征”,而与通信应用相关联的通信特征称为“通信条件信息(CRI)”或“通信条件”。与本地终端设备相关联的通信特征称为“本地通信特征”(包括“本地CRI”和“本地路径特征”),而与同其通信的远程第二终端相关联的通信特征称为“远程通信特征”(包括“远程CRI”和“远程路径特征”)。
现在回到前面的实施例,媒体下载应用,也就是通信应用310其中之一可从存储系统304获取与通信应用310、311和312中任何一个或多个通信应用相关联的CRI305。该媒体下载应用还可直接从通信应用310、311和312中其它任何一个或多个通信应用获取CRI。媒体下载应用还可按下列一种方式、多种方式或者所有方式获取路径特征306a)存储系统304;b)MMS314;c)远程路径管理软件;d)直接监视可用路径的活动/表现。如图所示,在四个接入点和对应的四个通信接口342、343、344和345之间存在至少四条可用路径。对应每条可用路径的路径特征可包括能够反映出该路径对通信流的支持能力的任何特征,例如,所支持的最大带宽、功率要求、存在的延迟、拥塞,以及成本等。具体来说,对应第一有线上行接口342的路径特征可包括例如有线数据网所支持的最大带宽,通过第一接入点和第一有线上行接口342之间的第一路径收发数据时候所要求的功率,分组数据流经该第一路径时预期(expected)的延迟,以及干扰级别。类似的,对应有线上行接口343、344和345的路径特征也可反映出上述因素的额定的,以及当前和历史的统计信息。
在收集完通信特征,也就是CRI和路径特征之后,媒体下载应用便进行路径选择,并与MMS314、远程路径管理软件、其它通信软件310、311和/或其它必要的网络节点相互协作,开始下载媒体流。通常,路径特征中的一些参数在通信关联(association)不发生变化的情况下也不会发生变化,例如最大带宽性能或峰值带宽要求。而路径特征中的另外一些参数则会随着延迟、负载,以及干扰级别频繁持续地发生变化。同样的,与每个通信应用相关联的CRI也会随一些事件的发生而发生变化,例如,处于空闲通信状态,未运行,或经历意料之外的高密度应用。如果CRI和/或路径特征的变化对其支持当前CRI条件的能力产生限制,则媒体下载应用将重新选择路径,并与MMS314、远程多路径管理软件、其它通信软件310、311和/或其它必要的网络节点相互协作,对路径进行无缝切换。类似的,本地多路径管理软件、MMS314或运行在其它网络节点上的远程多路径管理软件在需要时,也可执行路径选择、路径重新选择,以及管理无缝切换等操作。例如,MMS314可定期收集CRI(例如,从用户和通信应用,以及通过监视活动)和路径特征(例如,从用户,通过监视活动,以及从可用路径上的网络节点)。一旦收集完毕,MMS314在需要时,便使用这些CRI和路径特征来选择或者重新选择路径。MMS314还可将获取的通信特征存储到存储系统304中。
路径选择过程包括以任何方式为每个通信应用分配一条或多条可用路径,该可用路径可以是整条路径,也可以是一部分路径,例如,该分配操作包括1)将第一路径分配给第一通信应用,将第二路径分配给第二通信应用;2)将第一路径分配给第一应用的上行数据流,将第二路径分配给第一应用的下行数据流;3)将第一路径分配给第一应用和一部分第二应用,将第二路径分配给第二应用其余的部分。在新通信应用启动或其它通信应用关闭,以及通信特征发生变化时,在需要时将发生路径的重新分配,同时进行路径的无缝切换。
例如,媒体下载应用可通过路径选择过程与第二有线上行接口343相关联。如果进行了这样的选择,媒体下载应用就会控制MMS314将对应于该媒体下载应用的所有通信数据都通过第二有线上行接口343传送。此后,当多路径客户端设备300收到通过光纤数据网络和第二有线上行接口343从互联网骨干网收到一份下载资料时,该下载数据将转发给媒体下载应用。多路径客户端设备300可通过选择的第二路径收发对应该下载的控制数据(如果有必要的话)。MMS314协助控制分组数据经由媒体下载应用所选择的路径进行传送。
为响应音乐视频选择,媒体下载应用310需要向互联网骨干网发送所选音乐视频请求。对应第二有线接口343的子驱动器控制包含所选音乐视频请求的第一数据包通过第二有线接口343来传送。第二有线接口343(也就是与第二有线接口343相关联的硬件)使用第二IP地址将第一数据发往第二接入点。该所选音乐视频请求通过所选路径(也就是对应第二有线接口343的路径)最终到达互联网骨干网。互联网骨干网将第一数据转发给互联网服务器。存储有所选音乐视频的互联网服务器对该请求做出响应,将选择的音乐视频发往互联网骨干网。媒体下载应用310控制多路径客户端设备300通过所选路径从互联网骨干网接收所选的音乐视频。第二有线接口343使用第二IP地址从第二接入点(其通过光纤数据网络与互联网骨干网相连)接收所选的音乐视频。
在另一实施例中,使用多个通信特征(路径特征和CRI)的媒体下载应用决定从四条可用路径中选择两条路径以供使用。媒体下载应用之所以作出如此决定,可能是因为所选音乐视频较大、所有四条可用上行路径上的数据流量都很大、提高可靠性、对错误进行纠正等。媒体下载应用控制对应所选音乐视频的一部分分组数据通过第一路径和第一有线上行接口342进行传送,同时控制所选音乐视频的其余部分通过第二路径和第二有线上行接口343进行传送。媒体下载应用310可决定通过第一路径相间地接收一部分分组,通过第二路径来接收其余的分组。媒体下载应用310还可决定通过其它组合方式通过第一路径和第二路径来接收所选音乐视频。这种以及其它的多路径选择和使用要求下载源设备也就是终端设备如服务器或另一客户端设备的参与。源设备和目的设备上的路径管理软件(也就是MMS314)相互协作,对在二者之间传送的数据流进行分段,并根据接收情况对分段数据进行重组。事实上,任何使用多路径来支持一台终端设备上的单个通信应用和另一台终端设备上的单个通信应用的方法都可由两个通信应用和/或两个基础路径管理应用相互协作来完成。因此,除CRI和路径特征外,本地路径选择过程还可包括确定远程通信应用的CRI(该操作将确定远程通信设备的性能),以及远程路径的特征。通过使用可用的本地和远程通信特征,本地通信应用和/或本地MMS不仅可更好地进行本地路径选择,还可控制、建议或同意对应的远程路径选择结果。
如上所述,路径重新选择过程可由多种因素触发。例如,某一时刻,第一路径的质量下降到媒体下载应用310所期待的链路质量以下。媒体下载应用310对此作出响应,从第三路径和第四路径中选择满足所期待的链路质量的另一条或其它路径。媒体下载应用310对数据流进行改道或分割,并使用第三和/或第四路径替代第一路径,或作为第一路径的补充。MMS314与设备子驱动器316交互,将分组数据通过所选路径传送。设备子驱动器316为一套软件,用于与MMS314和与四个上行接口(342、343、344和345)相关联的硬件进行交互。
集成有支持功能的通信应用311,例如电话呼叫应用也运行在多路径客户端设备300上。例如,运行的电话呼叫应用并不从可用的四条上行路径中选择路径,但协助这一选择过程。电话呼叫应用将其CRI发往MMS314,后者将为电话呼叫应用进行路径选择。可在收到请求后,或者通过存储系统304来传送CRI。多路径客户端设备300的用户使用用户输入接口330输入电话呼叫建立请求。MMS314响应电话呼叫建立请求,也可以在更早以前(例如刚开始执行电话呼叫应用时),在确定该电话呼叫应用具备集成的支持功能后,从电话呼叫应用和/或存储系统304获取与该电话呼叫应用相关联的CRI。MMS314也从存储系统304和/或接口、或者四条路径上的任意其它网络节点获取对应这四条通信路径的多个路径特征。通过使用获取的通信特征,MMS314从四条可用路径中为电话呼叫应用选择或者在必要时重新选择一条或多条路径。
例如,MMS314选择经由第二无线上行接口345的第三路径,并控制对应第二无线上行接口345的设备驱动器通过第二无线上行接口345来为电话呼叫收发分组数据。多路径客户端设备300和连接到互联网骨干网上的目的终端之间的电话呼叫通过UMTS网络和这四个接入点从多路径客户端设备300传送到互联网骨干网。可由同一UMTS网络或一些其它的分组交换网络来承载从互联网骨干网到终端设备的电话呼叫。可由运行在目的终端上的第二MMS,和/或运行在互联网骨干网和目的终端之间任意节点上的一个或多个MMS选择路径来承载互联网骨干网和目的终端之间的电话呼叫。
在某一时刻,MMS314可无缝地切换至一条不同路径,例如第二路径。该切换操作可在第四路径已无法满足与电话呼叫应用相关联的第二通信特征时执行。例如,在该时刻,第四路径上的干扰超出所允许的最大上限,或UMTS网络上的数据流量激增,使得多路径客户端设备300和UMTS网络之间的第四路径无法支持电话呼叫所要求的最低数据率。运行在多路径客户端设备300上的电话呼叫应用311可始终不知道已从第四路径切换至第二路径。在切换后,多路径客户端设备300和互联网骨干网之间的电话呼叫由第二接入点和光纤数据网络承载。
作为选择,在进行路径选择时,MMS314、远程路径管理应用,或通信应用310在收到或未收到相关的通信特征的情况下,都向使用多路径客户端设备300的用户显示确认请求或者选择请求。通常,这种显示操作可通过屏幕进行,当然,也可使用其它方式。
通信应用软件310或311可以是例如互联网浏览应用程序,他们运行在单路径或多路径客户端设备上,该设备可同时支持进行本地和远程多路径管理。例如,为配合远程互联网服务器处进行的上行路径选择,可在运行于单路径或多路径客户端设备上的这种互联网浏览器的协助下,执行路径选择和无缝切换。同样,多路径管理软件可加载到任何终端设备(也就是单路径或多路径客户端或服务器)上,协助进行远程多路径管理过程。如果本地存在多条可用路径,则在需要时,可在远程的协助下启动本地多路径管理功能。这种由通信应用或MMS314提供的协助可包括例如帮助将数据进行分段后通过多条路径传送,并在另一端重新组合;切换;建立半双工路径、改变网络地址等。
通信应用软件311可清楚上述过程的进行,同时更为重要的,可在进行上述过程中提供帮助。例如,通信应用软件311可自动将当前以及以后的要求和条件直接发给MMS314,协助进行该路径选择和管理过程。根据显示在多路径客户端设备300屏幕上的多个通信特征,可向用户提供四条路径以供选择。用户可从这四条可用路径中选择多于一条路径。通信应用软件311响应用户作出的路径选择,将选择的路径通知MMS314。若用户只从四条可用路径中选择了一条可用路径,则MMS314会控制对应的子驱动器将分组数据通过选择的通信接口传送。若用户从四条可用路径中选择了两条路径,则MMS314将控制对应的两个子驱动器将分组数据通过这两条选择的路径传送。MMS314会决定哪条路径承载全部数据负载的哪个部分。MMS314可决定将相间的(alternate)数据分组通过两条所选路径中的一条传送,并通过两条所选路径中的另一条来传送其余数据分组。
在第四实施例中,多路径客户端设备300上运行的通信应用312不具备多路径管理功能。例如,运行在多路径客户端设备300上的多媒体消息应用既不直接管理也不帮助MMS314管理多路径客户端设备300的四条上行通信路径。用户使用用户输入接口330输入多媒体消息发送请求。运行在多路径客户端设备300上的MMS314响应该多媒体消息发送请求,获取对应多媒体消息应用312的第三通信特征307。通过使用第三通信特征307,MMS314判断得知多媒体消息应用312不具备多路径管理功能。MMS314收集四个接入点和多路径客户端设备300上对应的四个接口(342、343、344和345)之间的四条路径的路径特征,将这些路径特征存储于存储系统304中。通过定期收集或用户输入的请求,MMS314对存储的路径特征进行更新。
在该示范性实施例中,MMS314从四条可用路径中选择对应第二有线接口343的路径来发送多媒体消息。在本实施例中,第二有线接口343与属于光纤数据网络的第二接入点相关联。运行在多路径客户端设备300上的MMS314控制对应的设备子驱动器将此后与互联网骨干网之间收发的所有数据分组经由第二有线接口343传送。子驱动器316是一套软件,用于驱动对应第一有线上行接口342、第二有线上行接口343、第一无线上行接口344和第二无线上行接口345的所有硬设备。这些硬设备由其各自的MAC地址唯一标识。
这四个分组数据网中的数据流随时间进行变化,因此,路径特征也随时间进行变化。运行在多路径客户端设备300上的MMS314在固定的时间间隔收集这些路径特征,同时,多路径客户端设备300通过第二有线接口343向互联网骨干网发送多媒体消息。MMS314收集这些路径特征的时间间隔为一预先设定的值。例如,第二路径上的干扰级别随时间不断增加。可对MMS314进行设置,使得其在所选择路径上的干扰级别超过一上限值时作出回应。该上限值可为一预先设定的值。如果在某一时刻,第二路径上的干扰级别超过该上限值,运行在多路径客户端设备300上的MMS314可查找最近一次收集的路径特征,从剩下的三条路径(也就是,经由第一有线上行接口342的路径、经由第一无线上行接口344的路径,以及经由第二无线上行接口345的路径)中选择一条具有最低干扰的备用路径。例如但不限于,在该时刻,经由第一无线上行接口344的路径具有最低干扰。MMS314会控制对应第一无线上行接口344的子驱动器对硬件进行驱动,使多路径客户端设备300通过第一无线上行接口344来替代第二有线上行接口342收发数据。第一无线上行接口344与属于卫星数据网络的第三接入点相关联。与第一无线上行接口344相关联的硬件会向互联网骨干网发送多媒体消息。该多媒体消息最终到达与互联网骨干网相连的目的设备。MMS314和对应的子驱动器在该时刻将路径从一条高干扰路径切换至一条最低干扰的路径,并且没有丢失数据。还可对MMS314进行配置,使其在所选路径中的延迟超过上限时作出响应。
MMS314和子驱动器316通过用户选择的路径对数据进行路由。在另一实施例中,运行在多路径客户端设备300上的应用无论何时需要从/向互联网骨干网收/发数据,MMS314都会查找最近一次收集的通信特征值,并从当前可用路径中选择一条路径。MMS314可根据从/向互联网骨干网收/发的数据的类型来选择路径。例如但不限于,本实施例中的通信应用为多媒体游戏应用。该多媒体游戏应用要下载大量数据,并要求等待时间很短。运行在多路径客户端设备300上的MMS314对该多媒体游戏应用CRI作出响应,查找最近一次收集的路径特征值,从四条可用路径中选择一条可提供最高带宽的路径。在本实施例中,在四条可用路径中,第二接入点和第二有线上行接口343之间的路径可提供最高的带宽。运行在多路径客户端设备300上的MMS314控制设备子驱动器316将此后多媒体游戏应用要求的与互联网骨干网之间的所有数据收发过程都使用第二有线上行接口343进行。互联网骨干网和多路径客户端设备300之间的数据传送通过光纤数据网进行。
在另一实施例中,例如但不限于,该应用为一IP网络上的语音(VoIP)应用。该VoIP应用要与互联网骨干网之间收发数据。运行在多路径客户端设备300上的MMS314响应该VoIP应用条件,获取最近一次收集的通信特征,从四条可用路径中选择一条可提供最低延迟的路径。在本实施例中,在四条可用路径中,第四接入点和第二无线上行接口345之间的路径可提供最低延迟。运行在多路径客户端设备300上的MMS314控制设备子驱动器316将VoIP应用要求的与互联网骨干网之间的所有数据收发过程都使用第二无线上行接口345进行。多路径客户端设备机300与互联网骨干网之间的数据收发过程通过WiMax网络进行。
图4是本发明运行有多个软件的客户端设备400的示意图,该客户端设备400支持从其自身到多个接入点的多条数据路径。客户端400可以是计算机、视频游戏机、电话机、电视机、机顶盒、耳机或任意的运行有要求与互联网之间收发数据分组的至少一个应用的设备。如果客户端设备400为计算机,则例如但不限于,运行在计算机400上的至少一个应用可以是互联网浏览器(也就是网页浏览)应用,它运行在OSI/ISO协议栈的第7层上。用户通常通过显示在计算机400屏幕上的网页浏览器(也就是Internet Explorer、NetscapeNavigator、Mozilla Firefox等)与互联网浏览应用交互。运行在计算机400上的该互联网浏览应用响应用户通过用户输入接口(通常为键盘和鼠标)输入的用户选择信息,触发计算机400的通信接口(也就是,通常OSI/ISO协议栈第2层和/或第1层)向互联网发送请求,请求此用户选择所指定的存盘数据(例如,网页)。运行在计算机400上的低层硬件和软件(也就是,OSI/ISO协议栈第6层、5层、4层、3层、2层)将该请求封装到第一组多个分组中,并由计算机400的通信接口将第一组分组发往互联网。计算机400的通信接口还从互联网接收第二组多个分组,其中包含所请求的存盘数据(也就是网页)。在本示范性实施例中,资料分组涉及第一组分组和第二组分组。运行在计算机400上的低层硬件和软件(也就是,OSI/ISO协议栈第6层、5层、4层、3层、2层)从第二组多个分组中提取收到的存盘数据,将其转发至互联网浏览应用(也就是OSI/ISO协议栈第7层)。互联网浏览应用在计算机400的屏幕上显示收到的存盘数据,也就是所请求的网页。
运行在计算机400上的这至少一个应用可以是互联网电话应用。第一用户与使用目的设备的第二用户之间收发语音信息。互联网电话应用同样运行于目的设备上。该目的设备与互联网相连。在这种情况下,第一组的多个分组包括使用计算机400的第一用户的语音。第二组的多个分组包括使用目的设备的第二用户的语音。
如果客户端设备400是电视机和机顶盒,则例如但不限于,在电视机和机顶盒400上运行的这至少一个应用可以是电视节目收看应用。在这种情况下,第一组的多个分组包括发往互联网的电视节目(录播或直播多媒体信息,如新闻节目、足球比赛、音乐节目等)请求,第二组的多个分组包括所请求的电视节目。
客户端设备400包括多个通信接口。客户端设备400通过多条数据路径与多个接入点通信。这多个接入点属于多个不同的分组数据网络。例如但不限于,客户端设备400包括三个通信接口,有线接口、第一无线接口和第二无线接口。在开机后,客户端设备400将其自身与可用的接入点相关联。接入点包括收发器,从客户端设备400接收数据分组,然后发往对应的分组数据网络。同时,该接入点从对应的分组数据网络接收数据分组,然后发往客户端设备400。
例如但不限于,在第一时刻,客户端设备400配置了属于光纤数据网络的第一接入点,属于IEEE802.11网络的第二接入点,属于WiMax网络的第三接入点,以及属于卫星数据网络的第四接入点。在客户端设备400的有线接口中插接有光纤线缆。在开机后,客户端设备400分别通过有线接口、第一无线接口和第二无线接口,将其自身与第一接入点、第二接入点和第三接入点相关联。第一接入点为客户端设备400的有线接口分配第一IP地址。这样一来,客户端设备400便可使用第一IP地址,通过有线接口和第一接入点与光纤数据网通信。第二接入点为客户端设备400的第一无线接口分配第二IP地址。这样一来,客户端设备400便可使用第二IP地址,通过第一无线接口和第二接入点与IEEE802.11网络通信。第三接入点为客户端设备400的第二无线接口分配第三IP地址。这样一来,客户端设备400便可使用第三IP地址,通过第二无线接口和第三接入点与WiMax网络通信。与客户端设备400通信的多个接入点包括第一接入点、第二接入点和第三接入点。这多条数据路径包括有线接口和第一接入点之间的第一数据路径,第一无线接口和第二接入点之间的第二数据路径,第二无线接口和第三接入点之间的第三数据路径。多个不同的分组数据网络包括光纤数据网络、IEEE802.11网络,以及WiMax网络。
运行在客户端设备400上的操作系统410(例如,Windows XP,UNIX,Linux等)与通信软件应用程序交互。如414中所示,该通信应用软件可以集成有控制功能。该通信应用软件414用于监视和管理客户端设备400和互联网之间的多条数据路径(第一数据路径、第二数据路径和第三数据路径)。通信应用软件414将决定使用多条可用路径中的哪条或哪些条数据路径在客户端设备400和互联网之间进行分组数据交换。此外,在某一时刻,通信应用软件414还可对作出的决定进行更改,选择一条不同路径进行分组数据交换。将分组数据通信切换至另一条不同路径上的决定可由下列事件触发1)客户端设备400的关联网络发生变化,这可能是由客户端设备位置发生改变造成的;2)多条路径的通信特征发生变化,如数据流量、延迟、成本、多条路径上经历的拥塞等发生变化;3)通信应用414的通信特征发生变化,如数据类型、数据负载量等发生变化。通信应用软件414将使用一条或多条数据路径的决定发往运行在客户端设备400上的多路径管理软件420。MMS420控制低层(也就是OSI/ISO协议栈的第六层、第五层、第四层、第三层、第二层)硬件和运行在计算机400上的软件控制分组数据经由选择的一条或多条数据路径传送。MMS420帮助客户端设备400使用通信应用软件414选择的数据路径。通信应用软件414可以是带有多个新增功能的标准的网页浏览应用(也就是,IE、网景、MozzilaFirefox等)。这些新增功能允许使用客户端设备400的用户与通信应用软件414的多路径管理功能进行交互。
如415中所示,该通信应用软件可以集成有支持功能。该通信应用软件415向运行在客户端设备400上的多路径管理软件420(MMS)提供该通信应用的通信特征。通信应用软件415的通信特征可包括通信应用软件415交换的数据的类型和大小,通信应用415期待的最低数据率、安全级别及最大延迟等。对应通信应用软件415的通信特征可随时间发生变化,它可在固定的时间间隔或通信特征发生变化时,向MMS420提供这些通信特征。MMS420响应通信应用软件415生成的分组数据收发请求,查找通信特征,并使用这些通信特征从可用数据路径中选出一条数据路径。MMS420控制低层(也就是OSI/ISO协议栈的第六层、第五层、第四层、第三层、第二层)硬件和运行在客户端设备400上的软件控制分组数据经由选择的数据路径传送。MMS420可选择一条以上数据路径为运行在客户端设备400上的一个以上通信应用415服务。MMS420还可选择一条以上数据路径为运行在客户端设备400上的单个通信应用415服务,并控制单个数据载荷(也就是单个通信应用415生成的数据分组)经由选择的多条路径传送。由MMS420决定使用可用数据路径中的哪条或者哪些条数据路径来用于分组数据交换,同时,通信应用软件415通过提供通信特征来帮助MMS420作出选择决定。
如416中所示,该通信应用软件可不具备多路径管理功能。该通信应用软件416向MMS420发送分组数据收发请求。该请求可由用户输入触发生成。MMS420响应该请求,从可用数据路径中选择一条或者多条数据路径,并且控制低层硬件和运行在客户端设备400上的软件经由选择的一条或多条数据路径传送数据分组。MMS使用多条可用路径的通信特征来选择一条或多条路径。MMS420还可在客户端设备400的屏幕上弹出一个窗口,显示多条可用路径的通信特征,如这些路径承载的流量、这些路径中的延迟、成本,以及这些可用路径所经历的拥塞等。用户被提示输入一个选择。MMS420响应用户的选择信息,控制分组数据经由用户选择的数据路径传送。
MMS420控制多个低层设备驱动器(424、425、426和427)。低层设备驱动器是一套软件,用于驱动与客户端设备400一个或多个通信接口(也就是有线接口、第一无线接口,以及第二无线接口)相关联的硬件。单入单出(SISO)低层设备驱动器437通过单条输入线路从MMS420接收数据分组。SISO设备驱动器427对单条数据路径上的数据分组交换进行控制。例如,SISO设备驱动器427驱动与第一无线接口相关联的硬件。第一无线接口在第一时刻与IEEE802.11网络相关联。SISO设备驱动器427通过单条输入线路从MMS420接收数据分组。MMS420将IEEE802.11网络分配给第一无线接口的第二IP地址嵌入数据分组中。SISO设备驱动器427控制与第一无线接口相关联的发射器发送数据分组。与第一无线接口相关联的发射器发送的资料分组内嵌有第二IP地址。因此,属于IEEE802.11网络的第二接入点接收该发射器发送的数据分组。SISO设备驱动器427控制与第一无线接口相关联的接收器查找其内嵌有第二IP地址的数据分组。当与第一无线接口相关联的接收器检测到内嵌有第二IP地址的数据分组,该接收器便接收这些数据分组,并将其转发给SISO设备驱动器427。SISO设备驱动器427向MMS420转发收到的数据分组。
MMS420控制SISO设备驱动器427收集与此单条数据路径有关的通信特征,该路径上的数据分组交换由SISO设备驱动器427控制。物理层437涉及SISO设备驱动器427所控制的单条数据路径。这些路径特征可包括数据路径中的延迟、该数据路径上的信噪比、与第一无线接口相关联的发射器为保持预先定义的该数据路径上的比特误码率所要求的功率。SISO设备驱动器427可请求第二接入点提供一些或全部的这种通信特征,SISO设备驱动器427随后将从第二接入点收到的这些通信特征发往MMS420。SISO设备驱动器427可通过发送和接收训练分组数据来测定一些或全部的这些通信特征。
SISO设备驱动器427在固定的时间间隔收集与此单条路径有关的这些路径特征。例如但不限于,MMS420在第二时刻接收多个通信特征,并判断出此单条数据路径中的延迟大于预先设定的阈值。MMS420可控制SISO设备驱动器427改变关联,切换到一个新的关联上。SISO设备驱动器427可控制第一无线接口查找属于无线分组数据网而不是IEEE802.11网络的接入点。第一无线接口现在可将其自身与属于WiMax网络的第三接入点相关联。该WiMax网络可为第一无线接口分配第四IP地址。SISO设备驱动器427现在控制的是第一无线接口和属于WiMax网络第三接入点之间的一条不同路径上的数据分组交换。路径的切换由MMS420触发和管理,这种切换操作可发生在第一无线接口没在与互联网之间发送或接收任何分组数据的时候(控制数据以及包含一些或全部统计信息的数据除外)。MMS420可控制SISO设备驱动器427收集与该条不同路径有关的第二组通信特征,从第二时刻起,该路径上的数据分组交换由SISO设备驱动器427控制。
单入双出(SIDO)低层设备驱动器426通过单条输入线路从MMS420接收数据分组。SIDO设备驱动器426控制第一路径435和第二路径436上的数据分组交换。例如,SIDO设备驱动器426驱动与有线接口关联的第一硬件,以及与第一无线接口关联的第二硬件。在第一时刻,有线接口与光纤数据网络相关联,第一无线接口与IEEE802.11网络相关联。SIDO设备驱动器426通过单条输入线路从MMS420接收数据分组。MMS420控制SIDO设备驱动器426收集与第一路径435有关的第一组的多个通信特征,该第一路径435存在于有线接口和属于光纤数据网络的第一接入点之间。MMS420还控制SIDO设备驱动器426收集与第二路径436有关的第二组的多个通信特征,该第二路径436存在于第一无线接口和属于IEEE802.11网络的第二接入点之间。MMS420使用第一组和第二组的多个通信特征在第一路径435和第二路径436中间选出一条路径。可对MMS420进行设置,使其选择在指定时刻提供最低干扰的那条路径。还可对MMS420进行设置,使其选择在指定时刻提供最高带宽的那条路径。
例如但不限于,第二路径436可提供比第一路径435更高的带宽。在向SIDO设备驱动器426发送数据分组前,MMS420将IEEE802.11网络分配给第一无线接口的第二IP地址嵌入数据分组内。MMS420控制SIDO设备驱动器426通过第二路径436收发数据分组。SIDO设备驱动器426控制与第一无线接口相关联的第二硬件发送数据分组。与第一无线接口相关联的第二硬件所发送的数据分组内嵌有第二IP地址。因此,属于IEEE802.11网络的第二接入点接收上述发射器发送的数据分组。SIDO设备驱动器426控制第二硬件查找嵌有第二IP地址的数据分组。当第二硬件检测到嵌有第二IP地址的数据分组,第二硬件接收这些数据分组,并转发到SIDO设备驱动器426。SIDO设备驱动器426将收到的数据分组转发给MMS420。
在第二时刻,客户端设备400移至一新位置。这时,其与第二接入点之间的通信关联已丢失。第一无线接口查找可用的无线分组数据网络。例如,第一无线接口与属于IEEE802.11网络的第四接入点相关联。第四接入点为第一无线接口分配第四IP地址。此时,第二路径436是指第一无线接口和第四接入点之间的通信路径。MMS420控制SIDO设备驱动器426收集与第一路径435有关的第一组的多个通信特征,以及与新的第二条路径436有关的第三组的多个通信特征。MMS420判断出,在该第二时刻,有线接口和第一接入点之间的第一路径435可比新的第二路径436提供更高的带宽。MMS420随后控制SIDO设备驱动器426通过第一路径435来路由数据分组,并停止通过新的第二路径436发送和接收数据分组。在将数据分组发往SIDO设备驱动器426之前,MMS420将由属于光纤数据网络的第一接入点分配的第一IP地址嵌入数据分组中,这样一来,SIDO设备驱动器426便可控制数据分组经由第一路径435传送。
多入多出(MIMO)设备驱动器424通过三条输入线路从MMS420接收数据分组,也就是说,MIMO设备驱动器424接收运行在客户端设备400上的三个不同应用所生成的数据分组。MIMO设备驱动器424控制第一路径432和第二路径433上的数据分组交换。例如,MIMO设备驱动器424驱动与第一无线接口相关联的第一硬件,以及与第二无线接口相关联的第二硬件。在第一时刻,第一无线接口与属于IEEE802.11网络的第二接入点相关联,第二无线接口与属于WiMax网络的第三接入点相关联。MIMO设备驱动器424通过三条输入线路从MMS420接收数据分组。例如,客户端设备400上运行有游戏应用,网页浏览应用,以及互联网电话应用。这里列举的所有这些通信应用均不具备多路径管理功能。MIMO设备驱动器424通过这三条输入线路接收对应于游戏应用的第一组数据分组,对应于网页浏览应用的第二组数据分组,以及对应于互联网电话应用的第三组数据分组。
MMS420从第一路径432和第二路径433中选出一条更高带宽的路径,然后控制MIMO设备驱动器424通过这条具有更高带宽的路径路由对应游戏应用的第一组多个数据分组。如果在第二时刻,控制设备上未运行该游戏应用,则MMS420将控制MIMO设备驱动器424通过这条具有更高带宽的路径路由对应互联网电话应用的第三组数据分组。例如但不限于,在第三时刻,第二无线接口和属于WiMax网络的第三接入点之间的第二路径433断开。这时,第二无线接口就将自身与属于IEEE802.11网络的第五接入点相关联。第一路径432指的是第一无线接口和属于IEEE802.11网络的第二接入点之间的路径。第二路径433指的是第二无线接口和属于IEEE802.11网络的第五接入点之间的路径。
在第三时刻,第一路径432和第二路径433提供同样大小的带宽。这时,MMS420会控制MIMO设备驱动器424通过具有更低干扰的路径路由对应游戏应用的第一组分组数据。MMS420负责从多条路径(例如,第一路径432和第二路径433)选出一条路径,并通过控制低层设备驱动器(424、425、426和427中的一个或多个)与对应硬件(例如,发射器和接收器)之间进行交互,来保持选中路径上的分组数据交换。MMS420和低层设备驱动器(424、425、426和427中的一个或多个)可获取对应多条路径的多个通信特征,并使用这些获取的通信特征无缝切换至一条新路径,以继续进行数据分组交换。
例如,在第一时刻,客户端设备400通过其有线接口与属于光纤数据网络的第一接入点相关联,通过其第一无线接口与属于IEEE802.11网络的第二接入点相关联,通过第二无线接口与属于WiMax网络的第三接入点相关联。因此,客户端设备400可通过这三条可用路径中的任意一条或多条来与互联网进行分组数据交换,这三条路径分别是,第一接入点和有线接口之间的第一路径,第二接入点和第一无线接口之间的第二路径,以及第三接入点和第二无线接口之间的第三路径。在该第一时刻,客户端设备400启动互联网电话应用。该互联网电话应用具有集成的控制功能。该互联网电话应用414从MMS420接收对应这三条可用路径的通信特征。该互联网电话应用414使用这些通信特征从三条可用路径中选择一条路径,并控制MMS420将语音分组流经由选择的路径传送。例如,该互联网电话应用414确定在三条可用路径中,第一路径可提供最低成本,因此便选择第一路径来交换语音分组。在第二时刻,该互联网电话应用414开始在发送语音分组的同时发送视频分组。该互联网电话应用从其余两条可用路径中选择另一条路径。例如,该互联网电话应用414确定,在所有三条路径(第一路径、第二路径和第三路径)中,第二路径可提供最高带宽,便使用第二路径向互联网发送视频分组。从第二时刻起,该互联网电话应用414使用第一路径交换语音分组,使用第二路径发送视频分组。在第二时刻,第三路径处于空闲状态。
在第三时刻,该互联网电话应用414想要与互联网(或连接到互联网的终端设备)交换控制数据分组。该互联网电话应用414知道控制数据分组需要在最安全的路径上进行传送。该互联网电话应用414确定,在三条路径中,第一路径是最安全路径。但此刻语音分组正经由第一路径传送。该互联网电话应用414控制MMS420经由第三路径传送语音分组,经由第一路径传送控制数据分组。该互联网电话应用414控制语音分组从第一路径无缝切换至第三路径继续传送,这样一来在切换过程中便不会有语音分组丢失。从第三时刻起,客户端设备400通过第一路径发送控制数据分组,通过第二路径发送视频分组,通过第三路径与互联网交换语音分组。
图5是本发明运行有多个软件的接入点500的示意图,该接入点500支持从其自身到多个客户端设备的第一组多条数据路径,以及从其自身到分组交换网络的第二组多条数据路径。接入点500与分组交换网络和多个客户端设备相关联。该接入点和分组交换网络可使用同一种协议,接入点使用该协议与分组交换网络通信。接入点为多台客户端设备分配多个IP地址。接入点500包括至少一个收发器,它通过第二组多条数据路径中的一条从分组交换网络接收第一组多个数据分组,并从多台客户端设备中确定第一组多个数据分组的目的设备,然后将收到的数据分组发往确定的客户端设备。该收发器还从多个接入点中的一个或一些接收第二组数据分组,然后通过第二组多条数据路径中的一条将第二组多个数据分组发往分组交换网络。运行在接入点500上的多路径管理软件(MMS)550从第二组多条数据路径中选择其中的一条,用于在该接入点和分组数据网络之间进行数据分组交换。
例如但不限于,接入点500通过第一路径570、第二路径572和第三路径574与WiMax网络相关联。第二组多条数据路径指的是第一路径570、第二路径572和第三路径574。双入单出(DISO)设备驱动器560是一套软件,用于驱动对应第一路径570的第一硬件电路。对应第一路径570的第一硬件电路至少包括第一收发器,用于通过第一路径570收发数据分组。在本实施例中,第一路径570是接入点500和属于WiMax网络的集线器或交换机或另一接入点之间的第一无线路径。通过第一路径570传送的数据分组遵守WiMax协议。WiMax网络为第一路径570分配第一IP地址。DISO设备驱动器560通过第一输入路径和第二输入路径从MMS550接收数据分组。DISO设备驱动器560用于将来自第一输入路径和第二输入路径的数据分组转发给对应第一路径570的第一硬件电路。
MMS550可控制DISO设备驱动器560收集对应第一路径570的第一路径特征。该第一路径特征可包括WiMax网络分配给第一路径570的IP地址(也就是第一IP地址)、第一路径570上的延迟、第一路径570上的数据流、第一路径570的成本、第一路径570使用的跳数(hops)等。第一路径特征随时间进行变化。MMS550可控制DISO设备驱动器560定期收集第一路径特征。MMS550可从DISO设备驱动器560接收第一路径特征,并将其存储在接入点500的存储系统中。在需要时,MMS550还可从第二存储系统获取第一路径特征。第一路径特征中的一个或多个参数可能是出厂设置值,它们存储在接入点500的存储系统中。
单入双出(SIDO)设备驱动器565是一套软件,用于驱动对应第二路径572的第二硬件电路,以及驱动对应第三路径574的第三硬件电路。第二和第三硬件电路至少分别包括第二收发器和第三收发器,分别用于通过第二路径572和第三路径574收发数据分组。在本实施例中,第二路径572和第三路径574分别是接入点500和WiMax网络中相同或不同集线器或交换机之间的第二无线路径和第三无线路径。WiMax网络分别为第二路径572和第三路径574分配第二IP地址和第三IP地址。SIDO设备驱动器565通过单条输入路径从MMS550接收数据分组,并可在MMS550监控下,将来自单条输入路径的数据分组转发给对应第二路径572的第二硬件电路或对应第三路径574的第三硬件电路。MMS550可控制SIDO设备驱动器565定期分别收集对应第二路径572和第三路径574的第二路径特征和第三路径特征,并将它们发往MMS550。在需要时,MMS550还可从第二存储系统获取第二路径特征和第三路径特征。
在本示范性实施例中,MMS550用于控制将由运行在接入点500上的任意应用生成的分组数据通过三条路径,即第一路径570、第二路径572,以及第三路径574中可提供最低延迟的路径传送。例如但不限于,接入点500上运行有视频下载应用。该视频下载应用要从互联网下载(接收)一存盘的视频文件。接入点500通过WiMax网络与互联网相连。接入点500可通过第一路径570、第二路径572,以及第三路径574中的任一路径连接到WiMax网络。运行在接入点500上的MMS550有第一路径特征、第二路径特征,以及第三路径特征。MMS550使用第一路径特征、第二路径特征和第三路径特征从第一路径570、第二路径572和第三路径574中确定可提供最低延迟的那条路径。例如,第二路径572可提供最低的延迟。MMS550控制SIDO设备驱动器565通过第二路径572从互联网接收对应该存盘的视频文件的数据分组。SIDO设备驱动器565控制对应第二路径的第二硬件从互联网接收对应所存盘视频文件的数据分组。SIDO设备驱动器565将收到的数据分组转发给MMS550,后者将这些数据分组转发给该视频下载应用。
例如但不限于,双入双出(DIDO)设备驱动器510驱动对应双路径530的第五硬件和第六硬件。第一客户端设备通过双路径530与接入点500的第五硬件和第六硬件相连。MMS550控制DIDO设备驱动器510收集对应双路径530的路径特征。第一客户端设备无论何时想要从/向接入点收/发数据分组,就向接入点发送请求。MMS550响应来自客户端设备的请求,使用对应双路径530的路径特征从双路径530选出一条路径。MMS550控制客户端设备使用从双路径530选出的路径从/向接入点收/发数据。MMS550控制DIDO设备驱动器510使用对应所选出路径的硬件与第一客户端设备收发数据分组。
图6是本发明计算设备协议层所执行功能的流程图,该计算设备支持从其自身到互联网的多条路径,并且该计算设备上运行有不具备多路径管理功能的通信应用。如步骤604所示,该计算设备的最上层协议层运行有互联网浏览程序。该互联网浏览应用不具备多路径管理功能。使用该互联网浏览程序的用户输入用户选择。该用户选择可能指向一网页。该互联网浏览程序生成一请求数据,向互联网请求所选择的网页。如步骤606所示,低层协议层(lower protocollayer)对请求数据进行加密和/或编码。通过执行加密和/或编码,可避免请求数据在通过物理介质传送时产生可能的错误。如步骤608所示,下一低层协议层选择一通信协议,该计算设备(也就是该计算设备的硬件和/或软件)使用该协议从/向互联网收/发数据信息。如步骤610所示,更低层协议层(furtherlower protocol layer)对请求数据进行分段,然后装入分组中。
该计算设备至少包括以太LAN无线模块、IEEE802.11无线模块,以及GPRS无线模块。该计算设备分别使用以太LAN无线模块、IEEE802.11无线模块,以及GPRS无线模块通过以太局域网(LAN)、IEEE802.11网络和GRPS网络连接到互联网。如步骤614所示,以太LAN无线模块由第一MAC地址唯一标识。如步骤616所示,IEEE802.11无线模块由第二MAC地址唯一标识。如步骤618所示,GPRS无线模块由第三MAC地址唯一标识。因此,该计算设备通过至少三条通信路径与互联网相连,这三条路径是通过以太LAN无线模块实现的第一路径、通过IEEE802.11无线模块实现的第二路径,以及通过GPRS无线模块实现的第三路径。如步骤612所示,第二低层协议层(second next lower protocollayer)在固定的时间间隔,计算该计算设备和互联网之间每条路径的成本。每条路径的成本与对应路径的资金成本、对应路径上的数据流量、对应路径中的延迟,以及对应路径中的干扰等参数有关。与每条路径成本有关的参数随时间进行变化。第二低层协议层在固定的时间间隔获取这些参数,随后计算并更新每条路径的成本。如步骤612所示,第二低层协议层从步骤610接收包含请求数据的分组。第二低层协议层控制包含请求数据的分组通过这些路径中成本最低的路径传送。这些分组通过最低成本的路径到达物理层(有线或无线)。若最低成本路径为通过以太LAN无线模块实现的第一路径,则该分组中将嵌入第一IP地址。若最低成本路径为通过IEEE802.11无线模块实现的第二路径,则该分组中嵌入第二IP地址。若最低成本路径为通过GPRS无线模块实现的第三路径,则该分组中嵌入第三IP地址。嵌有IP地址的分组通过选择的最低成本路径到达互联网。
在另一实施例中,在从步骤610收到包含请求数据的分组后,第二低层协议层控制分组经由一条以上路径进行传送。例如,第二低层协议层从多条路径中选择两条路径。所选择的两条路径对应多条路径中的两条成本最低的路径。第二低层协议层将收到的分组平均分成具有相同分组数量的两组,并控制第一组分组经由两条所选路径中的一条传送,其余分组经由两条所选路径中的另一条传送。第一组分组经由两条所选路径中的一条到达物理介质,第二组分组经由经由两条所选路径中的另一条到达物理介质。第二低层协议层还可将收到的分组分成具有不同分组数量的两组。第二低层协议层可控制分组数量多的一组分组经由成本最低的路径传送,控制分组数量少的一组分组经由成本第二低的路径传送。
图7是本发明运行在计算设备上的通信应用管理该计算设备和至少一个分组数据网络之间的多条通信路径的方法的流程图。该计算设备可以是个人计算机、电话机、与电视机相关联的机顶盒,或者可与分组数据网络通信的任何类型的设备。该至少一个分组交换网络可以是有线网络、光纤网络、卫星数据网络、WiMax网络、IEEE802.11网络、UMTS网络、GPRS网络、CDMA网络,或者可将数据分段放入分组中进行传输的任何类型的标准或专用数据网络。数据指的是视频、音频、音乐视频、视频游戏、语音对话、图片、文本消息、电视节目,以及任何实时或存盘的多媒体信息中一种或多种。
在步骤705,计算设备开机,该设备的操作系统(OS)(例如,Windows XP,Linux,Unix等)开始启动。在步骤705,操作系统(OS)启动多路径管理软件(MMS)。该计算设备包括多个通信接口。该计算设备在开机后,便开始将每个通信接口与至少一个分组数据网络相关联。该计算设备可尝试将其通信接口与多种分组数据网络相关联。该计算设备可以是个人计算机,该个人计算机可以包括第一通信接口、第二通信接口和第三通信接口。该个人计算机在开机时便可将第一通信接口与属于IEEE802.11网络的第一接入点相关联。因此,在第一通信接口和属于IEEE802.11网络的第一接入点之间便建立起第一通信路径。该个人计算机还可将第二通信接口与属于WiMax网络的第二接入点相关联。因此,在第二通信接口和属于WiMax网络的第二接入点之间便建立起第二通信路径。该个人计算机还可将第三通信接口与属于UMTS网络的第三接入点相关联。因此,在第三通信接口和属于UMTS网络的第三接入点之间便建立起第三通信路径。在该实施例中,第一、第二和第三通信接口为无线接口。第一、第二和第三通信接口中的一个或多个还可以是有线接口。在这种情况下,个人计算机可将该有线接口与有线分组数据网络相关联。多条通信路径指的是第一、第二和第三通信路径。运行在该个人计算机上的MMS对第一、第二和第三通信路径进行管理和监视。
如步骤705所示,在启动后,MMS便开始分析并监视该计算设备的多个通信接口,以及多条相关的通信路径。在下一步骤707,将启动一通信应用。该通信应用具备内置的多路径控制功能。如步骤709所示,该通信应用请求运行在个人计算机(计算设备)上的MMS将路径控制和监视任务交由该通信应用负责。该通信应用可以是多媒体文件下载应用,视频游戏应用、互联网浏览应用、互联网电话应用、电话会议应用,或需要在该计算设备(计算机)和互联网之间收发分组数据的任何其它类型应用。MMS可允许该通信应用对多条通信路径(第一、第二和第三通信路径)进行控制和监视。在另一实施例中,MMS可允许该通信应用控制这些路径,同时,MMS继续监视这些通信路径,并定期向该通信应用报告这些通信路径的通畅性。
例如但不限于,在步骤709,MMS定期监视这些通信路径,并将路径控制功能交由运行在计算设备上的通信应用。该MMS从三个通信接口(有线接口、第一无线接口和第二无线接口)收集路径特征。这些路径特征通常包括三条路径(第一、第二和第三通信路径)的成本,以及三条路径所支持的最大数据率和带宽、三条路径中的延迟、三条路径上的数据流量等。MMS将这些路径特征存储在该计算设备的内存中。如步骤711所示,通信应用可从MMS或内存中获取这些路径特征。该通信应用还可提示使用该计算设备的用户输入用户选择。该通信应用使用用户选择从三条通信路径中选择一条或多条路径进行分组数据交换。该通信应用还可使用这些通信接口的缺省或预先设置值。例如,有线接口所支持的最大数据率可以预先设置,该预先设置值存储于该计算设备的内存中。该通信应用使用存储于该计算设备中的预先设置值从三条通信路径中选择一条或多条路径进行分组数据交换。
在下一步骤713,该通信应用从三条通信路径中选择一条或多条路径。该通信应用使用获取的路径特征来进行路径选择。例如该通信应用要求使用至少可提供其所要求的最低数据率的通信路径。该通信应用还可使用通信应用条件,也就是所要求的最低数据率来选择路径。例如但不限于,该通信应用要求该计算设备和互联网之间的最低数据传输率要高于其所要求的最低数据率。该通信应用分析这三条通信路径,并判断出三条路径中没有一条可支持其所要求的最低数据率,但如果同时使用第一路径和第三路径便可达到其所要求的最低数据率。该通信应用将其生成的数据分组分成两个部分,并控制数据分组的第一部分经由第一通信接口传送,数据分组的第二部分经由第三通信接口传送。类似的,该通信应用通过第一通信接口接收一部分数据分组,通过第三通信接口接收数据分组的其余部分。
如步骤715所示,MMS通常会在固定的时间间隔对这些路径特征进行更新,这是因为这些路径特征经常随时间发生变化。该通信应用定期从MMS获取这些路径特征。在步骤709,若MMS将路径监视任务交由该通信应用,则在步骤715,该通信应用定期从三个通信接口和/或三个接入点收集这些路径特征。这些路径特征可能随时间发生变化,在某一时刻,第一路径可能无法提供该通信应用所要求的最低数据率。这可能是由于在该时刻IEEE802.11网络中的数据流量激增,或者第一路径中的干扰级别增加造成的。该通信应用响应路径特征变化,选择一条不同的路径,并控制数据分组经由新选择的路径传送。如步骤717所示,从该时刻起,该通信应用停止使用第一路径。如步骤715所示,MMS和/或该通信应用继续监视三条路径。
该计算设备的操作系统还可启动第二通信应用。第二通信应用的优先级可能高于当前正在运行的通信应用。第二通信应用从当前正在运行的通信应用处接管通信路径控制功能。第二通信应用使用路径特征、用户选择和第二通信应用和当前正在运行的通信应用的通信条件从三条路径中选择路径。如步骤719所示,第二通信应用控制数据分组经由选择的路径传送。若第二通信应用决定控制对应当前正在运行的通信应用的数据分组经由第二通信接口传送,则第二通信应用要确保在当前正在运行的通信应用将数据通信从第一通信接口和第三通信接口切换至第二通信接口的过程中不会丢失数据分组。若第二通信应用的优先级等于或低于当前正在运行的通信应用,则当前正在运行的通信应用便选择可用的通信路径供第二通信应用使用。在本示范性实施例中,当前正在运行的通信应用将对应第二通信应用的所有分组数据经由唯一可用的第二通信路径传送。
图8是本发明运行在计算设备上的多路径管理软件在通信应用支持下,管理该计算设备和至少一个分组数据网络之间多条通信路径的方法的流程图。该计算设备可以是个人计算机、电话机、与电视机相关联的机顶盒、属于分组数据网络的接入点,或者可与分组数据网络通信的任何类型的设备。该至少一个分组交换网络可以是有线网络、光纤网络、卫星数据网络、WiMax网络、IEEE802.11网络、UMTS网络、GPRS网络、CDMA网络,或者可将数据分段放入分组中进行传输的任何类型的标准或专用数据网络。数据指的是视频、音频、音乐视频、视频游戏、语音对话、图片、文本消息、电视节目,以及任何实时或存盘的多媒体信息中的一种或多种。
在步骤805,计算设备开机,该设备的操作系统(OS)(例如,Windows XP,Linux,Unix等)开始启动。在步骤805,操作系统(OS)启动多路径管理软件(MMS)。该计算设备包括多个通信接口。该计算设备在开机后,便开始将每个通信接口与至少一个分组数据网络相关联。如果该计算设备为接入点,则该计算设备(接入点)尝试关联到同一分组数据网络。如果该计算设备为一客户端设备,例如,个人计算机、耳机、电话机,则该计算设备可尝试将通信接口与多种类型的分组数据网络相关联。该计算设备可以是个人计算机,该个人计算机可具备第一通信接口、第二通信接口和第三通信接口。该个人计算机在开机时便可将第一通信接口与属于IEEE802.11网络的第一接入点相关联。因此,在第一通信接口和属于IEEE802.11的第一接入点之间便建立起第一通信路径。该个人计算机还可将第二通信接口与属于WiMax网络的第二接入点相关联。因此,在第二通信接口和属于WiMax网络的第二接入点之间便建立起第二通信路径。该个人计算机还可将第三通信接口与属于UMTS网络的第三接入点相关联。因此,在第三通信接口和属于UMTS网络的第三接入点之间便建立起第三通信路径。在该实施例中,第一、第二和第三通信接口为无线接口。第一、第二和第三通信接口中的一个或多个还可以是有线接口。在这种情况下,个人计算机可将该有线接口与有线分组数据网络相关联。多条通信路径指的是第一、第二和第三通信路径。运行在该个人计算机上的MMS对第一、第二和第三通信路径进行管理和监视。
如步骤805所示,在启动后,MMS开始对该计算设备的多个通信接口以及相关联的多条通信路径进行监视。在下一步骤807,第一通信应用和第二通信应用启动。第一和第二通信应用都具备内置的多路径支持功能。第一通信应用要求使用至少可提供其所要求的最低数据率的通信路径。第一CRI,也就是对应该第一通信应用的所要求的最低数据率可存储在存储系统中。在下一步骤809,MMS从存储系统获取该第一CRI,或者从第一通信应用接收该第一CRI。在步骤809,若该第一CRI在存储系统中不存在,则MMS会提示用户输入第一CRI。MMS通过该计算设备的用户输入接口接收用户输入的第一CRI。该计算设备的用户输入接口可以是键盘、鼠标、触摸屏、多个按钮等。若在步骤809,用户未输入第一CRI,则MMS将在步骤809使用缺省或预先设置值。例如,第一通信应用可能是网页浏览应用。对应网页浏览应用的带宽值可能存储于该计算设备的存储系统中。该计算设备的制造商可对该带宽值进行设定。MMS从存储设备中获取该预先设置的带宽值,并在下一步骤811从三条可用通信路径中选择一条通信路径,且所选路径的带宽大于或等于上述预先设定的带宽值。
在步骤809,MMS还接收对应第二通信应用的第二CRI,该第二通信应用在步骤807启动。第二CRI可包括第二通信应用可以忍受的最大延迟,以及第二通信应用所要求的最小信噪比。若该计算设备为接入点,也就是说MMS运行在接入点例如第一接入点上,而不是个人计算机上,则运行在第一接入点上的MMS在步骤809通过第一通信路径从个人计算机接收对应第一通信应用的第一CRI和对应第二通信应用的第二CRI。
在步骤809,MMS还获取多个路径特征。若该MMS运行在客户端设备如个人计算机上,则路径特征指的就是该个人计算机和互联网之间的三条通信路径(第一、第二和第三通信路径)的特征。对应一条路径的特征通常包括该路径上的数据负载量、该路径中的干扰、与该路径相关联的成本等。若MMS运行在接入点例如第一接入点上,则该路径特征指的是与该接入点和互联网之间的上行路径相关联的特征,以及与该接入点和客户端设备之间的下行路径相关联的特征。个人计算机和第一接入点之间的第一通信路径是该接入点所有下行路径中的一条。该第一接入点的路径特征包括对应该第一路径的特征。MMS从相关的通信接口、相关的接入点,或相关分组数据网络中的任何其它节点获取该路径特征。
运行在计算设备上的MMS可在三种模式下运行A)由MMS来决定使用可用路径中的哪条或哪些路径来收发对应第一通信应用和第二通信应用的分组数据。在步骤811,MMS使用第一CRI、第二CRI和路径特征来作出上述决定。如步骤809所示,第一CRI和第二CRI可直接或间接的收集。B)MMS将收集到的第一CRI、第二CRI和路径特征发往接入点或相关联分组数据网络的任何其它节点。在这种情况下MMS不承担步骤811所示的路径选择任务。C)运行在计算设备上的MMS与运行在相关联分组数据网络任何其它节点上的一个或多个MMS共同进行路径选择。例如,运行在个人计算机上的MMS和运行在IEEE802.11网络服务器上的第二MMS可共同决定使用个人计算机和第一接入点之间的第一路径来收发属于第一通信应用的分组数据。
例如但不限于,运行在个人计算机上的MMS知道个人计算机(计算设备)和第一接入点之间的第一路径、个人计算机(计算设备)和第二接入点之间的第二路径,以及个人计算机(计算设备)和第三接入点之间的第三路径都可用于与互联网之间收发数据。在步骤811,MMS从三条可用通信路径中选择一条满足第一CRI(也就是能够满足第一通信应用所要求的最低数据率)的路径。满足第一CRI的路径可能不止一条。MMS可从这不止一条路径中随机选择一条路径。在步骤811,MMS控制个人计算机使用所选择的路径与互联网收发第一通信应用所要求或生成的数据分组,直到收到MMS的下一条指令。在步骤811,个人计算机通过选择的路径向互联网发送第一网页请求。该个人计算机通过选择的路径从互联网接收所请求的网页(以分组数据的形式)。
若该计算设备为第一接入点,则在步骤811,运行在第一接入点上的MMS判断该个人计算机和第一接入点之间的唯一路径(也就是第一通信路径)是否满足第一CRI。若是,则运行在第一接入点上的MMS控制该接入点使用第一通信路径承载对应第一通信应用的分组数据。
运行在该个人计算机上的MMS选择满足第二CRI(也就是第二通信应用可以忍受的最大延迟以及第二通信应用所要求的最小信噪比)的另一路径。在步骤811,MMS控制该个人计算机使用选择的路径与互联网收发第二通信应用所要求或生成的数据分组,直到收到MMS的下一条指令。
如步骤813所示,运行在该计算设备(个人计算机或第一接入点)上的MMS周期性地监视所选择的路径以及其它可用通信路径和CRI。如果在某一时刻,第一通信应用所使用的路径无法满足第一CRI,则在下一步骤815,MMS会从其它可用通信路径中选择一条满足第一CRI的不同路径,并控制第一通信应用使用该不同路径代替前一路径进行数据分组交换,直到收到MMS的下一条指令。如步骤813所示,MMS继续周期性地监视该计算设备和互联网之间的所有可用路径。在步骤813,类似的,MMS周期性地监视第二通信应用所使用的路径,并在步骤815,根据第二CRI和该路径的通畅性和/或特征(例如,该路径提供的带宽、该路径中存在的延迟、流经该路径的数据流量等)控制所使用路径的改变。在步骤815,MMS可改变第二通信应用所使用的路径,因为该路径中的延迟可能已超过第二CRI中指定的上限。
如步骤817所示,该计算设备可从第三通信应用接收路径建立请求。在步骤817中,第一或第二通信应用可能停止工作。在所有这些情况中,如步骤817所示,MMS需要对该计算设备(个人计算机或接入点)和互联网(或客户端设备)之间的可用通信路径重新进行评估,并且作出新的决定,该决定是关于哪个通信应用使用哪条通信路径。
图9是本发明运行在计算设备上的多路径管理软件独立管理该计算设备和至少一个分组数据网络之间多条通信路径的方法的流程图。在步骤905,该计算设备开机,其操作系统(OS)启动。在步骤905,操作系统(OS)启动多路径管理软件(MMS)。例如但不限于,该计算设备包括多个通信接口,并在开机后便将其自身与多个分组数据网络相关联,具体来说,是通过对应的通信接口与对应的分组数据网络来建立这种关联。运行在该计算设备上的MMS对这些关联进行管理和监视。
在下一步骤907,多个通信应用启动。该计算设备的操作系统可在设备启动时便启动这些通信应用。这些通信应用的典型实例为操作系统更新或病毒库更新。用户可使用该计算设备的用户输入接口输入其选择。该选择可触发通信应用的启动。这种通信应用的典型实例为电话呼叫应用、互联网电话应用、媒体下载应用等。在下一步骤909,MMS从在步骤907中启动的多个通信应用接收路径建立请求。这些通信应用不具备多路径管理功能。这些通信应用也无法向MMS提供有关这些通信应用特征的任何信息。
在步骤909,MMS响应从多个通信接口收到的路径建立请求,获取多个路径特征。若MMS运行在客户端设备如个人计算机上、电话、机顶盒等上,则路径特征指的是该计算设备的这些通信接口与相关联的分组数据网络之间的上行通信路径的特征。对应这些路径的特征通常包括该路径上的数据负载量、该路径上的干扰、该路径的成本等。若MMS运行在接入点上,则这些路径特征指的是该接入点和互联网之间上行路径的特征,以及该接入点和相关联的客户端设备之间下行路径的特征。MMS从这些通信接口获取对应接入点或相关联分组数据网络中任何其它节点的路径特征。
如步骤909所示,MMS还可查找这些通信接口的缺省或预先设定特征。例如,该计算设备有线接口的制造商可设定该有线接口所支持的最大数据率。在步骤909,MMS从该计算设备的内存中获取该预先设定的最大数据率值。该预先设定的最大数据率可告诉MMS可以以小于等于该预先设定的最大数据率经由该有线接口传送数据分组。若试图以更高数据率进行分组交换,将导致数据分组的丢失或数据分组接收错误。
运行在计算设备上的MMS可在三种模式下运行A)由MMS来决定使用可用路径中的哪条或哪些路径来收发对应这些通信应用的分组数据。在步骤911,MMS使用路径特征和/或预先设定值来作出上述决定。B)MMS将收集到的路径特征值发往接入点或相关分组数据网络中的任何其它节点。在这种情况下,MMS不承担步骤911中的路径选择任务。C)运行在该计算设备上的MMS与运行在相关联分组数据网络任何其它节点上的一个或多个MMS共同执行路径选择。
MMS在收集完这些路径特征后,可向用户显示这些路径特征。MMS可将这些路径特征显示在该计算设备的屏幕上。在收到MMS提示后,用户输入路径选择。MMS可使用用户选择的路径来收发对应这些通信应用的分组数据。
如步骤913所示,运行在计算设备上的MMS周期性地监视所选择的路径以及其它可用通信路径。若路径特征发生变化,则MMS在步骤915从一条路径无缝切换至另一条路径,并确保不会有数据因为发生路径切换而丢失。若启动了一个新通信应用,则MMS在步骤917从所有可用的空闲路径中选择一条最佳路径。若这些通信应用中的一个或多个停止运行,则MMS重新评估路径特征,并将这些路径在当前运行的通信应用中重新分配。
图10是本发明多路径管理软件(MMS)所执行的示范性路径选择过程的功能示意图。第一终端设备1011和第二终端设备1041之间的通信可由网络节点1025、互联网骨干网1003、以及分别由第一、第二、第三和第四接入点(AP)1021、1051、1031和1045所支持的所有可用路径中选择的任意一条或多条路径承载。根据路径建立参数,以及内在的基础通信应用条件,运行在第一和第二终端设备1011和1041,第一、第二、第三和第四AP1021、1051、1031和1045,以及网络节点1025上的一个或多个MMS应用可分别独立地工作,也可共同参与路径的选择。
第一通信应用和第二通信应用运行在第一终端设备1011上,第三通信应用和第四通信应用运行在第二终端设备1041上。这些终端设备可以是运行有通信应用的客户端设备和服务器,例如第一、第二、第三和第四每一通信应用可包括视频游戏、互联网电话应用、互联网浏览应用,或需要使用可到达远程终端设备的通信路径的其它通信应用。例如但不限于,运行在第一终端设备1011上的第二通信应用,和运行在第二终端设备1041上的第四通信应用可以是互联网电话应用,其中,第一和第二终端设备1011和1041包括VoIP电话。这样一来,第二通信应用与第四通信应用之间需要收发语音和补充媒体(supplemental media)(如果有的话)。作为选择,例如,第二终端应用可包括客户端计算机上的客户端游戏软件或客户端浏览器软件,它们与服务器上的游戏服务器软件或网页服务器软件交互。
在第一终端设备1011的第二通信应用和第二终端设备1041的第四通信应用之间可存在多条通信路径。如图所示,第二通信应用可使用多达三条链路来连接第一和第二接入点1021和1051。同时,接入点1021和1051总共具有三条链路连接网络节点1025,而网络节点1025具有两条到达互联网骨干网1003的链路。从互联网骨干网1003,有三条链路指向第三和第四接入点1031和1045,这样便总共有三条链路到达第二终端设备1041。每条链路可以是无线的,也可以是有线的。
可从多条链路中选出单条路径,也可同时选出多条路径。运行在第一和第二终端设备1011和1041、第一、第二、第三和第四AP1021、1051、1031和1045,以及网络节点1025上的一个或多个MMS应用选择一条或多条路径。若通信应用,如运行在第一终端设备上的第二通信应用具有到MMS的软件接口,该通信应用便可向MMS发送条件信息(如带宽、QoS等),协助MMS进行路径选择。这些通信应用还可控制MMS,或在路径选择过程中通过MMS变得更加活跃。若通信应用不具备这种特定的功能,或未配置成协助或控制MMS,则MMS或者为该通信应用获取预先设定的参数,或者与用户交互(通过弹出窗口,例如),来获取这些参数,进而根据这些参数进行路径选择。
运行在终端设备上的MMS应用可以路径为单位对整条路径中进行选择,也可只在本地链路中进行选择。也就是说,第一终端设备1011上的第一MMS可从下列位置中的一处或多处获取参数,然后对从第一终端设备1011到第二终端设备1041的整条路径作出选择,这些位置包括1)第二通信应用;2)与第二通信应用相关联的本地或远程存储器;3)与第一通信应用相关联的本地或远程存储器;4)每条本地链路的通信特征;5)源自多个远程MMS应用中每一应用的每条远程链路的通信特征。如果第二通信应用的参数不可知,则第一MMS可选择一条缺省路径。此后,无论最初的路径是如何选择的,第一MMS都会对穿过网络的来自第二通信应用的数据流量进行分析,根据这些分析,在必要时切换至另一条路径。
同样的,第一终端设备1011的第一MMS还可将整条路径的选择权或本地链路的选择权交给通信应用。作为选择,每个MMS可只负责本地路径的选择。例如,第一终端设备1011的第一MMS可以选择使用连接第一AP1021的两条所示链路中的一条来支持第二通信应用,而选择使用连接第一AP1021两条链路中的另一条和连接第二AP1051的链路来支持第一通信应用。第二AP1051的第六MMS可选择连接网络节点1025两条链路中的一条或同时选择两条,而第一AP1021的第二MMS可将两条接收链路上的通信汇聚到一条连接到网络节点1025的输出链路。相反的,网络节点1025可将接收数据流分发到两条输出链路上,也可选择单条输出链路,连接到互联网骨干网1003。尽管未进行展示,但互联网骨干网1003还可包括更多的网络节点,它们均具有MMS应用,并可作出类似的链路决定,以到达第三和第四AP1031或1045其中之一,或同时到达此二者,进而到达第二终端设备1041。在这个本地化决策过程中,每个节点上的MMS应用根据从下列一处或多处获取的参数作出其路径选择1)第二通信应用;2)与第二通信应用有关的本地或远程存储器;3)与第一通信应用有关的本地或远程存储器;4)每条本地链路的通信特征;5)所经过的基础通信流量。此后,每个MMS对数据流量进行分析,在必要时切换至其它或另外的链路。
具体来说,在一示范性配置中,第二通信应用生成第一组多个语音分组,以及补充媒体分组,并发往第一MMS。第一终端设备1011通过两条(无线和/或有线)链路与第一接入点(AP)1021相连,并通过单条链路与第二AP1051相连。运行在第一终端设备1011上的第一MMS和运行在第一AP1021上的第二MMS相互协助对方进行路径选择,并共同决定使用两条路径中的第一条来从第一终端设备1011向第一接入点1021发送第一组多个语音分组,使用两条路径中的第二条来从第一终端设备1011向第一接入点1021发送补充媒体分组。
第一AP1021通过单条链路与网络节点1025相连。运行在第一AP1021上的第二MMS控制第一组多个语音分组和补充媒体分组通过可用的单条链路发往节点1025。与第一组多个补充媒体分组相比,第二MMS为第一组多个语音分组设定了更高的QOS(服务质量)条件。只有在上述单条链路满足第一组多个语音分组的QOS条件时,第一AP1021(或第二MMS控制第一AP1021)才会向节点1025发送第一组多个语音分组。在某一时刻,第二MMS可能发现该单条链路不适合承载第一组多个语音分组,但却适合承载补充媒体分组。因此,第二MMS控制第一AP1021仅通过该单条链路向节点1025发送补充媒体分组。
节点1025通过两条链路与互联网骨干网1003相连。运行在节点1025上的第三MMS从与互联网骨干网1003相连的两条链路中选择一条,通过选择的链路将从第一AP1021收到的第一组多个语音分组和补充媒体分组发往互联网骨干网1003。第三MMS可根据数据分组和补充媒体分组在从第一终端设备1011到达节点1025时所采用的路径,从两条可用路径中选择其中一条。互联网骨干网1003包括多个例如计算设备、路由器、交换机、基站、收发器、域名服务器、代理服务器、存储服务器。互联网骨干网1003中的一个或多个组件将收到的第一组多个语音分组和补充媒体分组发往第三AP1031。第三AP1031将收到的第一组多个语音分组和补充媒体分组通过唯一一条可用的链路转发给第二终端设备1041。当然,还可选择其它路径链路对上述相应路径进行替换或补充,上述选择权也可交由任一MMS,或几个MMS或通信应用来掌控。
在完成了对从第三AP1031收到的第一组多个语音分组和补充媒体分组的分析后,第四MMS确定这些分组的目的地是第二终端设备1041的第四通信应用。第四MMS作出回应,将收到的第一组多个语音分组和补充媒体分组转发给第四通信应用。作为响应,第四通信应用生成第二组多个语音分组和补充媒体分组。本实施例中的第四MMS将第二组多个语音分组和补充媒体分组发往第四AP1045。第二终端设备1041通过两条链路与第四AP1045相连。第四MMS选择其中一条,或同时选择这两条链路来发送第二组多个语音分组和补充媒体分组。
第四MMS作出回应从两条链路中选择一条或多条链路的过程也可不同于从第二通信应用接收语音分组和补充媒体时进行的操作。但是,第四MMS可分析接收信息时的带宽使用情况,以此决定选择一条不同链路来发送信息。在这个例子中,第四MMS通过第三AP1031从互联网骨干网1003接收第一组多个语音分组,通过第四AP1045向互联网骨干网1003发送第二组多个语音分组。作为选择,第四MMS可通过第三AP1031向互联网骨干网1003发送第二组多个语音分组和补充媒体分组。
第四AP1045上运行有第五MMS。第五MMS将从第二终端设备1041收到的第二组多个语音分组和补充媒体分组发往互联网骨干网1003。互联网骨干网1003通过两条链路与节点1025相连。运行在节点1025上的第三MMS从两条链路中选择一条,来从互联网骨干网1003接收第二组多个语音分组和补充媒体分组,并将选择的路径通知互联网骨干网1003。选择的路径可与节点1025用于向互联网骨干网1003发送第一组多个语音分组和补充媒体分组所使用的路径相同,也可以不同。互联网骨干网1003通过选择的链路将从第四AP1041收到的第二组多个语音分组和补充媒体分组发往节点1025。
运行在节点1025上的第三MMS和运行在第二AP1051上的第六MMS共同选出节点1025和第二AP1051之间的两条链路来承载从节点1025发往第二AP1051的第二组多个语音分组和补充媒体分组。其中一条选中的链路承载第二组语音分组,另一条承载第二组补充媒体分组。在另一配置中,运行在节点1025上的第三MMS和运行在第一AP1021上的第二MMS可共同决定通过第一AP1025来传送第二组多个语音分组和补充媒体分组。在第二通信应用和第四通信应用之间的全双工通信中,第三MMS执行两次链路选择,一次用于传送第一组多个语音分组和补充媒体分组,另一次用于传送第二组多个语音分组和补充媒体分组。
第二AP1051将收到的第二组多个语音分组和补充媒体分组转发给第一终端设备1011。运行在第一终端设备1011上的第一MMS分析第二组多个语音分组和补充媒体分组,并将它们转发给运行在终端设备1011上的第二应用。
为支持第一或任何其它通信应用,第一终端设备1011的第一MMS可进行如下操作1)提示用户为第一通信应用输入缺省参数(以弹出方式询问第一通信应用是用于视频流、音频流、语音电话、视频电话、文件传送、互联网浏览,还是文本聊天等);2)从远程服务器获取预先设定的配置;3)从本地存储器获取预先设定的配置信息;4)如果可以的话,从MMS接口获取预先设定的配置信息;5)使用缺省配置。该配置信息包括多个参数,这些参数与下列因素有关a)与通信应用之间进行通信的基本通信条件;b)交换的媒体类型;c)控制配置(例如,通信应用同时控制,或各自单独控制,本地MMS链路选择/控制;单个MMS整条路径全程选择/控制等)。
终端设备1011和1041为网络节点。接入点1021、1031、1041和1051、网络节点1025,以及互联网骨干网1003(未示出)中的多个节点都是可提供支持的网络节点。当然,每个节点可以也可不使用MMS应用,整条路径可进行对应变化。
本领域的技术人员应当明白,本文所使用的术语“连接”包含无线和有线的直接连接,经由另一组件、元件、电路或模块进行的无线或有线的间接连接。本领域的技术人员还应当明白,推断连接(也就是通过推论得知一个组件连接到另一组件)包括两个组件之间以与上述“连接”相同的方式进行无线和有线的连接、直接和间接的连接。
本发明的描述过程还借助方法步骤的方式来描述特定功能的执行过程及其相互关系。为便于描述,文中对这些功能性模块和方法步骤的边界和顺序进行了专门的定义。为使这些功能及其关系可正常工作,也可重新定义他们的边界和顺序。但这些对边界和顺序的重新定义都将落入本发明的主旨和所声明的保护范围之中。
本发明的描述过程借助功能性模块的方法来描述某些重要功能的执行过程。为便于描述,文中对这些功能性模块边界进行了专门的定义。为使这些功能可正常工作,也可重新定义他们的边界。类似的,流程图中的步骤也是为描述某些重要功能而专门定义的。为将这些流程图的应用得到扩展,可重新定义流程图中模块的边界和顺序,同时,重新定义后,这些模块仍然完成原来的重要功能。这种对功能性模块和流程图步骤和顺序的重新定义也都将落入本发明的主旨和所声明的保护范围之中。
本领域的技术人员还能意识到,本文中的功能性模块和描述的其它模块、模具和组件可按图中的方式实现,也可使用进一步细分的组件、应用专用集成电路、执行特定软件的处理器来,以及它们的任意组合来实现。
同时,为便于理解,本文借助实施例对本发明进行了详细的描述,但本发明并非仅限于这些实施例。显然,对于本领域的技术人员而言,可在本发明的主旨和范围内对本文内容进行修改,但这些修改仍然落入本发明的范围之内。
权利要求
1.一种通信架构,包括本地通信软件应用,其具有本地通信条件;本地管理软件应用;本地终端设备,其执行所述本地通信软件应用和所述本地管理软件应用;远程终端设备,其具有远程通信特征;多个本地接入点设备,其通过对应的多条独立链路与所述本地终端设备相连,所述对应的多条独立链路具有对应的多个本地路径特征;分组交换通信骨干网,与所述多个接入点设备中的每一个接入点设备和第二终端设备相连;所述本地终端设备经由所述多个本地接入点中的至少一个、并通过所述分组交换通信骨干网与所述远程终端设备通信;所述本地终端设备对所述本地通信条件、所述远程通信特征,以及所述对应的多个本地路径特征进行评估之后,从所述多个本地接入点中选择至少一个接入点。
2.根据权利要求1所述的通信架构,其特征在于,进一步包括远程管理软件应用,其运行在所述远程终端设备上,用于将所述远程通信特征发往所述本地终端设备。
3.根据权利要求1所述的通信架构,其特征在于,所述本地通信条件由所述本地通信软件应用发往所述本地管理应用。
4.根据权利要求1所述的通信架构,其特征在于,所述本地终端设备从所述多个本地接入点中选择至少一个接入点的过程是在所述本地管理软件应用的控制下进行的。
5.一种支持具有通信特征的通信软件应用的通信架构,包括多个网络节点,其包括第一接入点、第二接入点,以及执行所述通信软件应用的终端节点;所述终端节点执行第一管理应用;所述第一接入点执行第二管理应用;通过使用所述通信特征,并根据所述第一管理应用和所述第二管理应用之间的交互,选择所述第一接入点来承载所述通信软件应用。
6.根据权利要求5所述的通信架构,其特征在于,若所述第一接入点无法支持所述通信特征,则选择所述第二接入点来承载所述通信软件应用。
7.一种支持通信软件应用的通信架构,所述通信软件应用支持数据通信,所述通信架构包括多个网络节点,其包括第一接入点、第二接入点、执行所述通信软件应用的第一终端节点,和第二终端节点;所述多个网络节点用于为所述第一终端节点提供多条通信路径;所述第一终端节点执行管理应用,根据所述通信软件应用的条件,与所述多个网络节点中另外至少一个节点协作,从所述多条通信路径中选出经由所述第一接入点的第一通信路径,来承载所述数据通信的第一部分;还选出经由所述第二接入点的第二通信路径,来承载所述数据通信的第二部分。
8.根据权利要求7所述的通信架构,其特征在于,所述管理应用从存储器中获取所述通信软件应用的所述条件。
9.一种通信架构,包括多个通信软件应用,其中的每一个都支持分组通信,这些通信软件应用具有对应的多个通信条件;路径管理应用;多个网络节点,其包括第一接入点、第二接入点和第一终端节点;所述第一终端节点执行所述路径管理应用以及所述多个通信软件应用;所述多个网络节点用于为所述第一终端节点提供多条通信路径;所述第一终端节点,至少部分地根据所述对应的多个通信条件,从所述多条通信路径中选出第一通信路径和第二通信路径,来支持所述多个通信软件应用。
10.根据权利要求9所述的通信架构,其特征在于,所述路径管理应用从所述多个通信软件应用获取所述多个通信条件。
全文摘要
每一台终端设备、接入点和其它类型的网络节点使用多路径管理软件来管理运行在终端设备上的通信应用与互联网骨干网之间的多条可能路径所承载的通信。运行在终端设备上的多路径管理软件可独立地运行,也可与本地通信应用以及位于接入点或其它网络节点上的多路径管理软件协作,来为本地通信应用选择一条或多条路径。根据数据类型和数据条件,多路径管理软件还可支持选择和保持两条或多条路径来承载一个通信应用。终端设备的多路径管理软件可将部分或全部的多路径管理任务移交给本地通信应用和/或另一网络节点的多路径管理软件。除了选择一条或多条路径外,多路径管理软件还可在必要时对路径进行无缝切换,以满足变化的网络条件或带宽要求。
文档编号H04L12/24GK101047642SQ20061014457
公开日2007年10月3日 申请日期2006年11月6日 优先权日2005年11月14日
发明者詹姆士·D·贝内特 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1