组播分发系统和组播分发方法

文档序号:7937526阅读:278来源:国知局
专利名称:组播分发系统和组播分发方法
技术领域
本发明涉及用于在网状虚拟网络中分发数据包的组播分发系统 及其方法。
背景技术
目前,为分发组播数据包,已使用诸如PIM-SM (稀疏模式独立 组播协议)、PIM-DM (密集模式独立组播协议)或DVMRP (距离矢 量组播路由选择协议)的组播路由协议来构建组播树,用以构建具有 最小跳转数的路径以减少通信延迟,并且利用由此产生的组播树进行 数据包分发(参见公开号为2004-531143的日本本国专利)。
公开号为2004-531143的日本本国专利披露了虚拟组播网络方 法和系统,其中,通过使用并不支持组播分发的网络中的虚拟组播路 由器,基于诸如PIM-SM、 PIM-DM或DVMRP的组播路由协议来进 行数据包分发。
然而,如果在网状虚拟网络中使用诸如PIM-SM、 PIM-DM或 DVMRP的组播路由协议,则数据包会从分发源路由器发送到所有路 由器,并且因此会将大负荷施加到分发源路由器。而且,所要求的带 宽、延迟量等在组播群(数据包分发目的地)间有所不同,这根据应 用软件(下文称为应用)来构建。

发明内容
本发明提供了一种组播分发系统和组播分发方法,其创建用以 确定分发路径的组播树,以便满足根据应用软件而构建的组播群的特 性,并基于由此产生的组播树而进行数据分发。
本发明提供了一种组播分发系统。在该系统中,从分发源路由 器向构成在网状虚拟网络上所形成的组播网络的多个分发目的地路由器进行组播分发,其中,分发源路由器包括第一监视装置,其被 配置成用以监视和检测分发源路由器的CPU负荷率、在组播网络上 所构建的组播群的通信特性以及网状虚拟网络的路径特性;存储装 置,其被配置成用以存储CPU负荷率的阈值和组播群的通信特性的 阈值;以及第一控制装置,其被配置为基于由所述第一监视装置检 测到的网状虚拟网络的路径特性以及至少是下述两个比较结果其中 之一,开始重构建定义了从分发源路由器开始的数据包分发路径的组 播树,并且基于组播树开始重创建确定了组播分发路径的路由表,其 中所述两个比较结果为由所述第一监视装置检测到的CPU负荷率 和存储在所述存储装置中的CPU负荷率的阈值之间的比较结果以及 由所述第一监视装置检测到的组播群的通信特性和存储在所述存储 装置中的组播群的通信特性的阈值之间的比较结果。借助于这样的构造,分发源路由器向组播网络上所构建的组播 群的分发目的地路由器进行组播分发。在网状虚拟网络上形成组播网络。分发源路由器监视分发源路由器中的CPU负荷率、组播群的通信特性以及网状虚拟网络的路径特性。组播群的通信特性至少包括其 带宽和通信延迟其中之一,并且通过监视组播群的数据包而计算得 到。网状虚拟网络的路径特性至少包括其带宽和其通信特性其中之 一,并且通过监视网状虚拟网络上流过的数据包计算得到。而且,分发源路由器存储CPU负荷率和组播群的通信特性。另外,基于网状 虚拟网络的路径特性以及至少是CPU负荷率同其阈值之间的比较结 果和组播群的通信特性同其阈值之间的比较结果其中之一,分发源路 由器开始重构建组播树。分发源路由器基于重构建的组播树而重创建 路由表。结果,可以根据分发源路由器的负荷状态、组播群的通信特 性以及网状虚拟网络的路径特性来选择组播分发路径。因此,可以通 过选择满足组播群所要求的通信特性的通信路径来执行组播分发。即 使由于诸如数据包分发数量增大等原因而致使大负荷施加到分发源 路由器,分发源路由器的CPU负荷率也可以维持在或者低于某一值 (阈值)。而且,即使由于诸如流过网状虚拟网络的数据包数量增大 等原因而致使在网状虚拟网络的部分虚拟路径中引发通信延迟之类6的问题,也通过选择具有路径特性余裕的路径来进行组播分发,由此 可进行组播分发而不会引起通信延时之类的问题。以这样的方式,由 于可减小分发源路由器的负荷和构成网状虚拟网络的实际路径的带 宽负荷,所以能够确保组播分发的可量测性而不要求分发源路由器和 实际网络的硬件设备投入。
在本发明的组播分发系统中,分发源路由器的所述第一控制装 置可被这样配置即,在至少是由所述第一监视装置监视到的CPU 负荷率的值以及由所述第一监视装置监视到的组播群的通信特性的 值其中之一超过其阈值的情况下,改变组播树的分支数量和深度,并 基于改变后的组播树的分支数量和深度以及所述网状虚拟网络的路 径特性而开始重构建组播树。
借助于这样的构造,在至少是CPU负荷率和组播群的通信特性 其中之一超过其阈值的情况下,分发源路由器改变组播树的分支数量 和深度。基于改变后的组播树的分支数量和深度以及网状虚拟网络的 路径特性,分发源路由器开始重构建组播树。借助于重构建的组播树, 组播数据包可经由分发目的地路由器而分发,而无需从分发源路由器 向所有分发目的地路由器直接分发组播数据包,由此可确实地分散分 发源路由器的负荷。
而且,在本发明的组播分发系统中,每个分发目的地路由器可 包括第二监视装置,其被配置成用以监视所述网状虚拟网络的路径 特性;通信装置,其被配置成分发和接收用于指示数据包分发的分发 信息;第二控制装置,其被配置为基于包含在所述分发信息中的组 播树分支数量和深度以及由所述第二监视装置所获取的所述网状虚 拟网络的路径特性,而对定义了从分发源路由器开始的数据包分发路 径的组播树实施重构建,并且基于组播树来对确定了组播分发路径的 路由表实施重创建;以及其中,当所有分发目的地路由器的路由表的 重创建完成时,分发源路由器的所述第一控制装置完成组播树。
借助于这样的构造,基于组播树的分支数量和深度以及网状虚 拟网络的路径特性,每个分发目的地路由器对指定了从分发源路由器 开始的数据包分发路径的组播树实施重构建。分发目的地路由器监视网状虚拟网络的路径特性并基于网状虚拟网络的路径特性而确定数 据包分发路径。分发目的地路由器基于重构建的组播树而实施路由表 的重创建。当所有分发目的地路由器的路由表的重创建完成时,组播 树完成。这样,可确定从分发目的地路由器开始的数据包分发路径, 以便考虑到分发目的地路由器的网状虚拟网络的路径特性而选择具 有余裕的通信路径。结果,分发目的地路由器能够减小实际网络的带 宽负荷,该实际网络分发来自分发目的地路由器的组播数据包并构成 网状虚拟网络,因此,确保组播分发的可量测性而无需实际网络的硬 件设备投入成为可能。而且,在本发明的组播分发系统中,分发源路由器的所述存储 装置可将分发源路由器的所述第一监视装置最初所检测到的组播群 的通信特性作为组播群的通信特性的阈值而存储。借助于这样的构造,最初检测到的组播群的通信特性用作组播 群的通信特性的阈值。结果,在组播分发时,对于组播群而言,可自 动地设置组播群的通信特性的阈值,由此可根据组播群所要求的通信 特性而自动地创建路由表。在本发明的组播分发系统中,在组播分发时,分发源路由器的 所述第一控制装置可在预定定时判断是否应该重构建组播树。借助于这样的构造,在根据例如时间或发送的数据包数量而设 置的预定定时,判断是否应该重构建组播树,由此,可根据路由器负 荷状态以及形成组播群的组播网络的带宽和通信延迟的改变,而在组 播分发时动态地重构建组播树。例如,可响应于组播分发期间路由器 负荷的增加或组播群虚拟路径上数据包数量的增加,而动态地重构建 组播树。结果,可在选择满足组播群所要求的通信特性的路径的任何 情况下进行组播分发。本发明提供了一种组播分发方法,在该方法中,从分发源路由 器向构成在网状虚拟网络上形成的组播网络的多个分发目的地路由 器进行组播分发,该方法包括下述步骤由分发源路由器监视和检测 分发源路由器的CPU负荷率、在组播网络上所构建的组播群的通信 特性以及网状虚拟网络的路径特性;由分发源路由器读取已存储在存储装置中的CPU负荷率的阈值和组播群的通信特性的阈值;以及在 至少是CPU负荷率的值以及组播群的通信特性的值其中之一超过 CPU负荷率的阈值或者组播群的通信特性的阈值的情况下,由分发 源路由器改变组播树的分支数量和深度,基于组播树的分支数量和深 度以及所述网状虚拟网络的路径特性,开始重构建组播树以从分发源 路由器分发数据包,并且基于组播树而开始重创建确定了组播分发路 径的路由表。
根据本发明,根据分发源路由器的负荷状态和组播群的通信特 性来重构建组播树,因此,可通过选择满足组播群所要求的通信特性 的通信路径来执行组播分发。


图1是用于说明在连接到网状虚拟网络的路由器间进行组播分 发的图2是示出图1所示各路由器的结构的框图3是用于说明图1所示分发源路由器的检索用数据库的图4图示出通过分发源路由器执行路由表创建过程所创建的分
发源路由器的目的地列表,同时图示出网状虚拟网络。
图5图示出通过分发源路由器执行路由表创建过程所创建的分 发源路由器的目的地列表和下一个目的地列表,同时图示出网状虚拟 网络。
图6图示出通过分发源路由器执行路由表创建过程所创建的分 发源路由器的路由表以及从分发源路由器向两个分发目的地路由器 发送的目的地列表和下一个目的地列表,同时图示出网状虚拟网络。
图7图示出通过两个分发源路由器执行路由表创建过程所创建 的这两个分发目的地路由器的路由表、目的地列表和下一个目的地列 表,同时图示出网状虚拟网络;
图8图示出在两个路由器执行路由表创建过程中从两个分发目 的地路由器向三个子路由器发送的目的地列表和下一个目的地列表, 同时图示出分发源路由器的路由表和两个分发目的地路由器以及网
9状虚拟网络;图9图示出通过三个子路由器执行路由表创建过程所创建的从 子路由器向两个父路由器所发送的子路由器的路由表和下一个目的 地列表,同时图示出分发源路由器和父路由器的路由表以及网状虚拟 网络;图IO图示出通过两个父路由器执行路由表创建过程所创建的从 父路由器向分发源路由器所发送的父路由器的路由表和下一个目的 地列表,同时图示出分发源路由器和子路由器的路由表以及网状虚拟 网络;图11图示出通过分发源路由器执行路由表创建过程所创建的分 发源路由器的路由表,同时图示出父路由器和子路由器的路由表以及 网状虚拟网络;图12是示出了分发源路由器执行路由表创建过程的流程图;以及图13是示出了分发目的地路由器和分发源路由器执行路由表创 建过程的流程图。
具体实施方式
图1图示说明了在连接到网状虚拟网络上的多个路由器间所进 行的组播分发。如图1所示,路由器R (Rs及Rl至R5)连接到网 状虚拟网络,并且连接分别由诸如个人计算机或蜂窝电话等所实现的 通信设备PC (PCs及PCl至PC5)中的相应设备。在该图示说明的 实例中,路由器Rs是分发源路由器,其向其他路由器进行组播分发。 具体地,路由器Rs从在通信设备PC上运行的有关组播分发的应用 接收组播数据包,并向与该应用有关的诸如路由器Rl至R5的分发 目的地路由器进行组播分发。为此,在网状虚拟网络中,分发源路由 器Rs创建构成了从路由器Rs到分发目的地路由器的组播数据包通 信路径的组播网络,并且根据该应用而在该组播网络中创建组播群。 组播群由组播数据包分发目的地地址(路由器R1至R5的地址)表 示。在进行从路由器Rs的组播分发时,在预定定时,路由器Rs将 路由器Rs中的CPU负荷率同其阈值进行比较,以及将组播群的通信 特性同其阈值进行比较。路由器Rs中的CPU负荷率表示路由器Rs 的CPU的负荷率。CPU负荷率的阈值为用户事先设定的其阈值。组 播群的通信特性是定期测量的,并至少包括组播群的带宽和通信延迟 其中之一。组播群通信特性的阈值包括至少是组播群的带宽和通信延 迟其中之一的阈值。在本实施方式中,组播群通信特性的阈值是最初 测定的通信特性的值。在组播群通信特性仅包括带宽或通信延迟的情况下,带宽或通 信延迟的阈值用作组播群通信特性的阈值。在组播群通信特性既包括 带宽又包括通信延迟的情况下,带宽和通信延迟的阈值用作组播群通 信特性的阈值。在CPU负荷率等于或小于其阈值并且组播群通信特性等于或小 于其阈值的情况下,分发源路由器Rs通过参照已有的路由表来分发 组播数据包。在CPU负荷率超过其阈值或者组播群通信特性超过其 阈值的情况下,路由器Rs改变组播树的分支数量和深度。而后,基 于改变后的分支数量和深度以及网状虚拟网络的路径特性,路由器 Rs开始重构建组播树以及开始重创建路由表。在开始重构建组播树时,分发源路由器Rs创建从路由器Rs到 分发目的地路由器R (例如,路由器R1和R5)的树,数据包从路由 器Rs直接分发至该分发目的地路由器R。而后,对于各分发目的地 路由器R也顺次执行树的重构建。当所有分发目的地路由器R的树 的重构建完成时,组播树即完成。在开始重创建路由表时,分发源路 由器Rs基于从路由器Rs到分发目的地路由器R的树而登记分发目 的地路由器R的地址。对于各分发目的地路由器R也顺次执行路由 表的重创建。当所有分发目的地路由器R的路由表的重创建完成时, 组播树即完成。而后,组播树的内容被反映到路由器Rs的路由表上, 由此,路由器Rs、 R的路由表即完成。从组播群的通信特性独立测量为完成组播树和路由表所需的网 状虚拟网络的路径特性。路径特性至少包括网状虚拟网络的带宽和通信延迟其中之一。
在组播树和路由表如上所述地完成后,路由器Rs基于重构建的 路由表分发组播数据包。在不满足用于数据包分发的组播群所要求的 通信特性的情况下,由分发源路由器Rs和分发目的地路由器R自动 创建适合于组播群通信特性的组播树和路由表,并且使用路由表进行
组播数据包分发。在例如超过阈值的情况下,路由器Rs开始重构建
组播树以及重创建路由表,并且在完成重构建和重创建之后,以下述
顺序将组播数据包从路由器Rs分发至其他路由器Rl至R5。
首先,分发源路由器Rs将数据包分发至路由器Rl、 R5。接下 来,接收数据包的路由器Rl将数据包分发至路由器R2、 R3,以及 路由器R5将数据包分发至路由器R4。照这样,路由器Rs和其他路 由器Rl至R5虚拟地布置在树状结构中,在该树状结构中,路由器 Rs作为顶端节点,并且被设置为父节点(路由器R1、 R5)的路由器 分发数据包至被设置为子节点(路由器R2、 R3、 R4)的路由器(如 图1中的网状虚拟网络中黑体箭头所示),由此,路由器Rs能够将 组播数据包分发至所有路由器Rl至R5。如上所述,在例如组播群 所要求的路由器Rs中的CPU负荷率变大或者组播群通信特性超过其 阈值的情况下,进行组播树的重构建和路由表的重创建,以消除将数 据包从路由器Rs直接分发至所有路由器Rl至R5的必要性,由此可 以减小路由器Rs的CPU负荷。
接下来,参照图2描述路由器R的结构,该图为示出了各路由 器R的结构的框图。分发源路由器Rs和分发目的地路由器R1至R5 具有与另一方基本相同的结构。下面,以路由器Rs作为代表性示例 进行描述,并且此外,描述路由器Rs与其他路由器Rl至R5之间的 差别。如图2所示,路由器Rs包括路由表(Table—new) 10、接口单 元11、转发引擎12、监视单元13 (更具体地,监视装置)、检索用 数据库14 (存储装置)以及路由表管理单元15 (控制装置)。
路由表IO存储有多个条目,在各条目中写有表示数据包目的地 的网络地址和表示将要使用的网络接口的信息。当路由器Rs向其他 路由器R1至R5中的任意路由器传送数据包时,转发引擎12参照该
12路由表10。具体地,转发引擎12检査存储在路由表10中的条目是 否包括描述了表示数据包目的地的网络地址的条目,并且如果这样的 条目存储在路由表10中,则从那个条目中所写的网络接口向具有其
内所写的网络地址的路由器R发送数据包。如果数据包目的地未写 在路由表10中的任何条目中,则转发引擎12向设置为默认网关的路 由器R发送数据包。
接口单元11是与构成网状虚拟网络的实际网络的接口部分,并 且与实际网络连接用以发送和接收数据。具体地,接口单元ll向实
际网络输出自转发引擎12输入的数据包,并且向转发引擎12输出自 实际网络输入的数据包。
路由器Rs的转发引擎12参照路由表10,并且经由接口单元11 而向其他路由器Rl至R5进行数据发送,或从其他路由器Rl至R5 进行数据接收。在重创建路由表10时,转发引擎12经由接口单元 11向路由器Rl至R5发送以及从路由器Rl至R5接收重创建路由表 10所必需的列表信息(目的地列表、下一个目的地列表以及组播树 (下文称为树)的分支数量和深度)。
更具体地,当从接口单元11输入数据包时,转发引擎12参照 路由表10以获取一个或多个数据包目的地(发送目的地路由器R的 网络地址),并且经由接口单元11向发送目的地路由器R输出自接 口单元11输入的数据包。这时,取决于将要输出到接口单元11的数 据包数量,如果数据包等级低,则转发引擎12能够破坏数据包。
在重创建路由表10时,转发引擎12向路由表管理单元15输出 自路由器Rl至R5中的任意路由器输入的列表信息,并且向路由表 管理单元15所指定的一个或多个路由器R输出自路由表管理单元15 输入的列表信息。
路由器Rs的监视单元13经由接口单元11而定期测量组播群的 通信特性和网状虚拟网络的路径特性,并且向检索用DB14输出测量 结果。监视单元13还测量路由器Rs中的CPU负荷率,并向路由表 管理单元15输出测量结果。其他路由器Rl至R5的监视单元13各 自定期地仅测量网状虚拟网络的路径特性。组播群的通信特性至少包括通过监视组播网络中所形成的组播 群的数据包而计算得到的带宽和通信延迟其中之一。网状虚拟网络的 路径特性至少包括通过监视网状虚拟网络上流过的数据包计算得到 的带宽和通信延迟其中之一。组播群的通信特性和网状虚拟网络的路 径特性彼此不同之处在于组播群的通信特性是基于组播网络上组播 群的组播数据包的流而计算得到的,而网状虚拟网络的路径特性是基 于例如网状虚拟网络上的组播数据包或单播数据包的流而计算得到 的。
图3示出了路由器RS中的检索用数据库(下文称为检索用DB)
的结构。检索用DB14包括CPU负荷率阈值表、组播群通信特性阈 值表、网状虚拟网络的路径特性表以及组播群通信特性表(下文称为 CPU阈值表、通信特性阈值表、路径特性表和通信特性表)。路由 器Rl至R5的检索用DB14各自仅包括路径特性表。在下面的描述 中,假设组播群的通信特性和网状虚拟网络的路径特性各自包括带宽 和通信延迟。
路由器Rs中的CPU负荷率的阈值登记到CPU阈值表中。CPU 负荷率的阈值由用户设定。如前所述,当路由器Rs的CPU负荷率超 过其阈值时,进行组播分发的路由器Rs开始重构建树,并且开始重 创建路由表10。
在通信特性阈值表中,组播群所要求的带宽和通信延迟的阈值 被登记为组播群通信特性的阈值。在本实施方式中,由路由器Rs的 监视单元13在组播分发时最初所测量到的组播群通信特性的值被登 记为组播群的通信特性的阈值,由此,对于每一组播群可自动地设置 通信特性的阈值。
定期在各路由器R的路径特性表中登记网状虚拟网络的带宽和 通信延迟。对于从各路由器R到其他路由器R1至R5的每一虚拟路 径,网状虚拟网络的路径特性值被测量,并被登记到路径特性表中。 由监视单元13定期更新路径特性值。基于路径特性表中登记的网状 虚拟网络的路径特性,路由器Rs选择具有路径特性余裕的通信路径, 并创建路由器Rs的路由表10。同样在其他路由器Rl至R5中,以类似的方式定期更新路径特性表,并且创建路由器Rl至R5的路由 表10,同时基于路径特性表中登记的网状虚拟网络的路径特性而选
择各自具有路径特性余裕的通信路径。
在路由器Rs的通信特性表中,各组播群的带宽和通信延迟被登 记为该群的通信特性。对于从路由器Rs到组播群的其他路由器Rl 至R5的每一虚拟路径,登记组播群的通信特性,并由监视单元13 定期更新。如同CPU负荷率,各组播群的通信特性用作判断值以判 断是否应该重构建树。具体地,如果组播群的通信特性超过其阈值, 则开始树的重构建。如果组播群的通信特性未超过阈值,则不进行树 的重构建,并且照现在的样子使用已有的路由表IO执行组播分发。
在上述描述中,假设分发源路由器Rs具有图3所示的检索用 DB14以及分发目的地路由器Rl至R5各自在检索用DB14中仅具有 路径特性表。然而,当路由器Rl至R5中的任一路由器用作分发源 路由器时,那个路由器当然具有图3所示的检索用DB14。
路由表管理单元15创建及重创建路由表10。在重创建路由表 10时,路由表管理单元15基于CPU负荷率及其阈值或者基于组播 群的通信特性及其阈值,而确定树的分支数量和深度。而后,基于网 状虚拟网络的路径特性,路由表管理单元15开始重创建路由表10。
更具体地,在创建组播群时,路由表管理单元15通过通用方法 创建默认的路由表IO。即,路由表管理单元15计算从路由器Rs到 其他路由器Rl至R5的路径跳转数,并创建组播分发的默认路由表 10,从而使得数据包经过具有最小跳转数的路径。在使用默认的路由 表10进行组播分发的情况下,数据包从路由器Rs直接分发到其他 路由器R1至R5中的每一个。
在预定定时,路由器Rs的路由表管理单元15判断是否有必要 重构建树,即,是否有必要重创建路由表10,并且如果必要,则开 始重创建路由表10。路由表管理单元15通过判断路由器Rs中的CPU 负荷率或者组播群的通信特性是否超过其阈值,来判断是否有必要重
创建路由表10。如果路由器Rs中的CPU负荷率或组播群的带宽超 过阈值,则路由器Rs的路由表管理单元15将树的分支数量设置到其当前设定值的一半。组播群带宽超过阈值表示组播群的带宽变得比 阈值窄。如果组播群的通信延迟超过其阈值,树的深度被设置到比当 前设定值深一级的深度。基于树的分支数量和深度的设定值以及虚拟 网络的路径特性,路由表管理单元15开始重构建树。
在最初进行自分发源路由器RS的组播分发的定时,判断是否有 必要重构建树。在随后定时可进行类似的判断,对于每一组播群而言, 这由用户设置或自动设置所述定时。例如,根据时间设置定时,如, 每十秒或每一分钟一次;或者根据被分发数据包的数量,如,每100
个或IOOO个数据包一次。可选地,这样设置定时使得每次进行数据
包分发时都进行该判断。
而且,路由表管理单元15在预定定时重置路由表10。具体地, 每当已进行10次或20次有关树是否应被重构建的判断时,或者每当 树已被重构建5次或IO次时,路由表管理单元15通过通用方法重创
建路由表IO。结果,即使通过路由器R的数据包临时增加并且树被 构建为具有小的分支数量和深的深度,在临时数据包的增加被消除后
的预定定时,树也被重置,并且因此重构建树是可能的,从而符合组 播群在那时所要求的通信特性。
接下来,参照图4至13,将给出重构建树及基于树重创建路由 表10的流程描述。图4至11示出在路由器R所执行的路由表创建 过程中顺次创建的目的地列表、路由表等。以图4至11所示顺序重 构建树,由此实现路由表10的重创建。图12示出为重构建树以及重 创建路由表而由分发源路由器执行的过程。图13示出由各分发目的 地路由器和分发源路由器执行的类似过程。下面,将以这样的实例情 况给出重创建路由表IO的过程描述EP,在从路由器Rs到组播群A (路由器Rl至R5)的组播分发过程中所使用的树被重构建,并且 路由器Rs用作顶端节点。假设路由器Rs存储有图3所示的检索用 DB14,并且其他路由器R1至R5被布置得如图4至ll所示。如图4 所示,以逆时针方向将路由器R和网状虚拟网络之间的接口称作接 □ IF1至IF5。
首先,参照图12描述分发源路由器Rs的操作。在图12所示的路由表创建过程(1)中,路由器Rs的路由表管理单元15检査是否 完成初始设定(S101)。通过判断组播群A的通信特性的阈值是否 已被登记到检索用DB14的通信特性阈值表(参见图3)中,来判断 是否完成初始设定。由于在初次分发数据包时己登记通信特性阈值, 所以判断出当分发第二个数据包或后续数据包时初始设定已完成。 如果初始设定完成(即,如果组播群A的通信特性已经登记)
(S101判断结果为是),则过程行进到步骤S103。另一方面,如果 初始设定未完成(即,如果组播群A的通信特性未登记)(S101判 断结果为否),则路由表管理单元15将由监视单元13测量到的组播 群A通信特性的值作为通信特性阈值登记到通信特性阈值表中
(S102),并且过程行进到步骤S103。
在步骤S103,路由表管理单元15参照检索用DB14中的通信特 性表(参见图3),并获取组播群的通信特性。组播群的通信特性由 监视单元13定期测量,并反映到通信特性表中。
路由表管理单元15获取由监视单元13测量到的CPU负荷率, 并检査CPU负荷率是否超过检索用DB14中的CPU阈值表(参见图 3)中登记的CPU负荷率阈值(50%) (S104)。如果阈值超过(S104 判断结果为是),则过程行进到步骤S106。
如果CPU负荷率未超过阈值(50%) (S104判断结果为否), 则检査通信特性表中登记的组播群A的带宽CAw是否超过通信特性 阈值表中登记的组播群A的带宽的阈值Aw (S105)。换言之,检査 由监视单元13测量到的组播群A的最新带宽CAw是否超过阈值 Aw。组播群带宽超过其阈值表示组播群带宽变得比阈值窄。如果超 过阈值Aw (S105判断结果为是),则过程行进到步骤S106。
在步骤S106中,路由表管理单元15将树的分支数量设置到当 前设定值的一半,并且过程行进到步骤S109以开始重构建树。这时, 更新树的深度以便与步骤S106中所设置的树的分支数量相对应。
如果通信特性表中登记的组播群A的带宽CAw未超过阈值Aw
(S105判断结果为否),路由表管理单元15则检查通信特性表中登 记的组播群A的通信延迟CAd是否超过通信特性阈值表中登记的组
17播群A的通信延迟的闽值Ad (S107)。也就是说,检查由监视单元 13测量到的组播群A的最新通信延迟CAd是否超过阈值Ad。如果 超过阈值Ad (S107判断结果为是),路由表管理单元15则将树的 深度设置到比当前设置值深一级的深度(S108),并且过程行进到 步骤S109以开始树的重构建。这时,更新树的分支数量以便与步骤 S108中所设置的树的深度相对应。
如果通信特性表中登记的组播群A的通信延迟CAd未超过阈值 Ad (S107判断结果为否),则过程结束。在那样的情况下,使用一 般的路由表10进行组播数据包分发。
应该指出的是,在本实施方式中,以CPU负荷率、带宽和通信 延迟是否超过阈值这样的顺序进行判断。然而,可以CPU负荷率、 通信延迟和带宽是否超过阈值这样的顺序进行判断。还能够判断CPU 负荷率和带宽是否超过阈值或者判断CPU负荷率和通信延迟是否超 过阈值。以这种方式,首先判断CPU负荷率是否超过阈值,从而确 保避免路由器Rs变成高负荷状态。如果不满足组播群所要求的通信 特性,则路由器Rs开始重构建组播树,并且因此,可以执行满足组 播群所要求的通信特性的组播分发。
在步骤S109中,路由表管理单元15创建目的地列表(List—dest), 在该列表中登记有数据包发送目的地路由器Rl至R5。接下来,路 由表管理单元15参照路径特性表中登记的虚拟路径a到c的路径特 性(带宽和通信延迟)(S110),并且基于路径特性而对目的地列 表中登记的路由器Rl至R5的等级进行排序(S111)。也就是说, 基于已由监视单元13所测量到的网状虚拟网络中虚拟路径的最新带 宽和通信延迟来对目的地列表中登记的路由器Rl至R5的等级进行 排序。这时,路由器Rl至R5的等级以带宽降低的顺序而变高,以 及以通信延迟增大的顺序而变高。在路由器Rl至R5的虚拟路径中, 路由器Rs选择并利用具有路径特性余裕的虚拟路径,由此构成从路 由器Rs到路由器R1至R5的虚拟路径的实际网络的带宽负荷可被减 小。结果,如图4所示,路由器Rs的目的地列表被创建,其中以路 由器R1、 R5、 R4、 R2、 R3的顺序进行排序。下面,为简化说明,假设通过步骤S101至S108的处理过程将树的分支数量设置为2。路由表管理单元15将目的地列表分割成分支的设置数量(=2) (S112),并且将已分割的目的地列表的初始地址(路由器Rl、 R5)登记到下一个目的地列表(List_nexthop)(SU3),从而创建路由器Rs的目的地列表和下一个目的地列表,如图5所示。
路由表管理单元15将下一个目的地列表中登记的地址(路由器Rl、 R5)和路由器R1、 R5同网状虚拟网络之间的接口 IF1、 IF5登记到路由表(Table_new) 10中(S114)。接下来,路由表管理单元15将列表信息(目的地列表、下一个目的地列表以及树的分支数量和深度)输出至转发引擎12。转发引擎12经由接口单元11向下一个目的地列表中登记的路由器R1、 R5发送各个列表信息(S115)。结果,创建如图6所示的路由器Rs的路由表10,并且将目的地列表和下一个目的地列表分别发送到路由器R1、 R5。
接下来,参照图13,将给出从路由器Rs接收列表信息的路由器Rl的操作描述,同时为简化说明而省略路由器R5的操作描述。如图13所示,路由器R1的转发引擎12经由接口单元11从路由器Rs接收列表信息(目的地列表、下一个目的地列表以及树的分支数量和深度),并且将列表信息输出至路由表管理单元15 (S116)。路由表管理单元15检査发送源地址(路由器Rs)是否登记到路由器Rl中所存储的路由表10中(S117)。由于发送源地址未登记(S117判断结果为否),所以将发送源地址(路由器Rs)以及路由器Rs同网状虚拟网络之间的接口 IF5登记到路由表10中(S118)。
路由器Rl的路由表管理单元15检查地址是否已在存储于路由器R1中的目的地列表中登记(S119)。由于地址已登记在目的地列表中(S119判断结果为是),因此路由表管理单元15参照路由器Rl的路径特性表中登记的虚拟路径的路径特性(带宽和通信延迟)(S120),并且基于该路径特性而对目的地列表中登记的路由器R2、R3的等级进行排序(S121)。具体地,基于已由监视单元13所测量到的网状虚拟网络中虚拟路径的最新带宽和通信延迟来对目的地列表中登记的路由器R2、 R3的等级进行排序。这时,路由器R2、 R3的等级以带宽降低的顺序而变高,以及以通信延迟增大的顺序而变高。在到路由器R2和R3的虚拟路径中,路由器R1选择并利用具有路径特性余裕的虚拟路径,使减小构成从路由器Rl到路由器R2、R3的虚拟路径的实际网络的带宽负荷成为可能。
接下来,路由表管理单元15将目的地列表分割成树的分支数量(=2) (S122),并且将已分割的目的地列表的初始地址(路由器R3、 R2)加到下一个目的地列表(S123)。此外,路由表管理单元15将下一个目的地列表中登记的地址(路由器R3、 R2)和路由器R3、 R2同网状虚拟网络之间的接口 IF2、 IF1登记到路由表10中(S124)。结果,创建如图7所示的路由器R1的目的地列表、下一个目的地列表和路由表10。而且,以与路由器R1相同的过程创建如图7所示的路由器R5的目的地列表、下一个目的地列表和路由表10。
路由器Rl的路由表管理单元15向转发引擎12输出列表信息(目的地列表、下一个目的地列表以及树的分支数量和深度)。转发引擎12经由接口单元11向下一个目的地列表中登记的路由器R3、R2发送列表信息(S125)。结果,如图8所示,目的地列表和下一个目的地列表分别从路由器R1发送到路由器R3、 R2。如图8所示,以与路由器R1相同的过程,也将目的地列表和下一个目的地列表从路由器R5发送到路由器R4。这样, 一个方向的树完成,在该树中路由器Rs用作顶端节点。
接下来,参照图13,将给出从路由器R1接收列表信息的路由器R2的操作描述。为简化说明,省略从路由器R1、 R5分别接收列表信息的路由器R3、 R4的操作描述。如图13所示,路由器R2的转发引擎12经由接口单元11从路由器R1接收列表信息(目的地列表、下一个目的地列表以及树的分支数量和深度),并且将列表信息输出至路由表管理单元15 (S116)。路由表管理单元15检査发送源地址(路由器Rs)是否登记到路由器R2中所存储的路由表10中(S117)。由于发送源地址未登记(S117判断结果为否),所以转发引擎12将发送源地址(路由器Rl)以及路由器Rl同网状虚拟网络之间的接
20口 IF5登记到路由表10中(S118)。
路由器R2的路由表管理单元15检查地址是否登记在存储于路由器R2中的目的地列表中(S119)。由于没有地址登记在目的地列表中(S119判断结果为否),所以路由表管理单元15检査路由器R2是否为顶端节点(S126)。由于路由器R2不是顶端节点(S126判断结果为否),所以路由表管理单元15将路由器R2的父地址(路由器R1)作为默认路径登记到路由表10中(S127),并且将列表信息(下一个目的地列表)输出至转发引擎12。转发引擎12经由接口单元11向路由器R1 (路由器R2的父地址)发送列表信息(S128)。结果,如图9所示的路由器R2的路由表10完成,并将下一个目的地列表发送到路由器Rl。借助于与路由器R2相同的过程,创建路由器R3、 R4的路由表10,并将下一个目的地列表分别发送到路由器R1、 R5。
接下来,参照图13,将给出从路由器R2、 R3接收列表信息(下一个目的地列表)的路由器R1的操作描述。应当指出的是,为简化说明而省略从路由器R4接收列表信息的路由器R5的操作描述。如图13所示,路由器Rl的转发引擎12将经由接口单元11而从路由器R2、 R3接收到的列表信息(下一个目的地列表)输出至路由表管理单元15 (S116)。路由表管理单元15检査是否有一个或多个发送源地址(路由器R2、 R3)登记到路由器R1中所存储的路由表10中
(S117)。由于发送源地址已登记(S117判断结果为是),所以路由表管理单元15检査地址是否登记到路由器Rl中所存储的目的地列表中(S119)。由于没有地址登记到目的地列表中(S119判断结果为否),因此路由表管理单元15检査路由器Rl是否为顶端节点
(S126)。由于路由器R1不是顶端节点(S126判断结果为否),所以路由表管理单元15将路由器R1的父地址(路由器Rs)作为默认路径登记到路由表10中(S127),并且将列表信息(下一个目的地列表)输出至转发引擎12。转发引擎12经由接口单元11向位于路由器R1的父地址的路由器Rs发送列表信息(S128)。结果,如图IO所示的路由器RI的路由表IO完成,并且将下一个目的地列表发送到路由器Rs。借助于与路由器R1类似的过程,如图10所示的路由器R2的路由表10完成,并且将下一个目的地列表发送到路由器Rs。
接下来,参照图13,将给出从路由器R1、 R5接收列表信息(下一个目的地列表)的路由器Rs的操作描述。如图13所示,路由器Rs的转发引擎12经由接口单元11接收列表信息(下一个目的地列表),并且将列表信息输出至路由表管理单元15 (S116)。路由表管理单元15检査发送源地址(路由器R1)是否登记到路由器Rs中所存储的路由表10中(S117)。由于发送源地址已登记(S117判断结果为是),所以路由表管理单元15检査地址是否登记到路由器Rs中所存储的目的地列表中(S119)。由于没有地址登记在目的地列表中(S119判断结果为否),因此路由表管理单元15检查路由器Rs是否为顶端节点(S126)。由于路由器Rs是顶端节点(S126判断结果为是),所以路由表管理单元15将已登记在下一个目的地列表中的地址登记到路由表10中(S129),由此完成如图11所示的路由器Rs的路由表10。
结果,来自路由器Rs的组播分发中所使用的路由器R的路由表IO完成。BP,双方向树完成,在该树中路由器Rs用作顶端节点。具体地,在从路由器Rs开始的组播分发过程中由路由器R所使用的路由器R的路由表IO完成。路由器Rs基于已完成的路由表IO而进行数据包分发。
应当指出的是,在本实施方式中,网状虚拟网络由6个路由器R形成,但是这并非限定性的。网状虚拟网络可以由任意多个路由器R形成。构成另一个组播树的路由器R可连接到该网状虚拟网络。在本实施方式中,对于每一个路由器R连接一个通信设备PC,但是这并非限定性的。对于每一个路由器R可连接多个通信设备PC。
如上所述,在本实施方式提供的组播分发系统中,当在连接到网状虚拟网络的路由器R之间进行组播分发时,为每一组播群设置通信特性的阈值,并且如果组播群的通信特性超过阈值,则基于网状虚拟网络的路径特性重构建树,由此创建组播群的路由表10。结果,组播分发系统能够借助于组播群所要求的通信特性进行组播分发。
利用遵从组播群所要求的通信特性的路由表10,进行组播分发
的路由器Rs用作顶端节点,并且其他路由器R1至R5虚拟地布置为
树状结构,由此数据包从设置为父节点的路由器向设置为子节点的路
由器顺次分发。结果,进行组播数据包分发的路由器Rs不必直接向
所有其他路由器Rl至R5分发数据包,因此可以减小进行组播数据
包分发的路由器Rs的CPU负荷。
随着分发组播数据包的路由器Rs的CPU负荷的减小,可以减小在来自路由器Rs的组播数据包分发时的实际网络带宽负荷。结果,即使路由器Rs的CPU负荷增大或者真实网络带宽负荷增大,满足组播群所要求的通信特性的组播分发也可以通过改变组播数据包分发路径来实现,而无需增加硬件,诸如为路由器Rs增加更多CPU或者扩展实际网络带宽。因此,可以抑制不经济的设备投资并可确保组播分发的可量测性。
通常,如果由于诸如从路由器R1至R5发送来并且通过网状虚拟网络的数据包数量增加而使带宽变窄,则通过破坏自路由器R分发来的数据包而产生通信延迟。然而,本实施方式的路由器R定期重创建路由表10,由此可以进行分发而无需破坏组播数据包。
在本实施方式的路由器R中,路由表IO被定期重置为用以从路由器Rs直接向其他路由器Rl至R5分发组播数据包的默认路由表10。在组播分发时,路由器R判断是否满足通信特性阈值,并且重创建路由表10。结果,即使通过网状虚拟网络的数据包数量临时增加而导致通信延迟,也可以在通信延迟消除并且可执行组播数据包分发时改变通信路径。以这样的方式,由于可以根据网状虚拟网络的路径特性改变路由表10,所以路由器R能够根据网状虚拟网络的路径特性,通过选择具有组播群所要求的通信特性的通信路径来执行组播数据包分发。
工业适用性
根据本发明,可以根据分发源路由器负荷状态和已连接的组播
23群的通信特性来重构建组播树,由此可以通过选择满足组播群所要求的通信特性的通信路径来执行组播分发。
权利要求
1.一种组播分发系统,在该系统中,从分发源路由器向构成在网状虚拟网络上形成的组播网络的多个分发目的地路由器进行组播分发,其中,分发源路由器包括第一监视装置,其被配置成用以监视和检测分发源路由器的CPU负荷率、在组播网络上所构建的组播群的通信特性以及所述网状虚拟网络的路径特性;存储装置,其被配置成用以存储CPU负荷率的阈值和组播群的通信特性的阈值;以及第一控制装置,其被配置为基于由所述第一监视装置检测到的所述网状虚拟网络的路径特性以及至少是下述两个比较结果其中之一,开始重构建定义了从分发源路由器开始的数据包分发路径的组播树,并且基于组播树开始重创建确定了组播分发路径的路由表,其中所述两个比较结果为由所述第一监视装置检测到的CPU负荷率和存储在所述存储装置中的CPU负荷率的阈值之间的比较结果以及由所述第一监视装置检测到的组播群的通信特性和存储在所述存储装置中的组播群的通信特性的阈值之间的比较结果。
2. 根据权利要求1所述的组播分发系统,其中,分配源路由器 的所述第一控制装置被配置为在至少是由所述第一监视装置监视到 的CPU负荷率的值以及由所述第一监视装置监视到的组播群的通信 特性的值其中之一超过其阈值的情况下,改变组播树的分支数量和深 度,并基于改变后的组播树的分支数量和深度以及所述网状虚拟网络 的路径特性而开始重构建组播树。
3. 根据权利要求1或2所述的组播分发系统,其中,每个分发 目的地路由器包括第二监视装置,其被配置成用以监视所述网状虚拟网络的路径特性;通信装置,其被配置成分发和接收用于指示数据包分发的分发〈曰息;第二控制装置,其被配置为基于包含在所述分发信息中的组 播树分支数量和深度以及由所述第二监视装置所获取的所述网状虚 拟网络的路径特性,而对定义了从分发源路由器开始的数据包分发路 径的组播树实施重构建,并且基于组播树来对确定了组播分发路径的 路由表实施重创建;以及其中,当所有分发目的地路由器的路由表的重创建完成时,分 发源路由器的所述第一控制装置完成组播树。
4. 根据权利要求1至3中任意一项所述的组播分发系统,其中, 分发源路由器的所述存储装置将分发源路由器的所述第一监视装置 最初所检测到的组播群的通信特性作为组播群的通信特性的阈值而 存储。
5. 根据权利要求1至4中任意一项所述的组播分发系统,其中, 在组播分发时,分发源路由器的所述第一控制装置在预定定时判断是 否应该重构建组播树。
6. —种组播分发方法,在该方法中,从分发源路由器向构成在 网状虚拟网络上形成的组播网络的多个分发目的地路由器进行组播 分发,该方法包括下述步骤由分发源路由器监视和检测分发源路由器的CPU负荷率、在组 播网络上所构建的组播群的通信特性以及所述网状虚拟网络的路径 特性;由分发源路由器读取已存储在存储装置中的CPU负荷率的阈值 和组播群的通信特性的阈值;以及在至少是CPU负荷率的值以及组播群的通信特性的值其中之一 超过CPU负荷率的阈值或者组播群的通信特性的阈值的情况下,由 分发源路由器改变组播树的分支数量和深度,基于组播树的分支数量和深度以及所述网状虚拟网络的路径特性,开始重构建组播树以从分 发源路由器分发数据包,并且基于组播树而开始重创建确定了组播分 发路径的路由表。
全文摘要
本发明提供了一种组播分发系统,其可以通过选择满足组播群所要求的通信特性的通信路径来进行组播分发。分发源路由器(Rs)经由连接到多个路由器的网状虚拟网络、基于应用而向构成组播群的路由器(R1至R5)进行组播分发。当CPU负荷率和组播群的通信特性超过阈值时,分发源路由器更新组播树的分支数量和深度,该组播树分发来自路由器的数据包,并开始重构建组播树。当重构建组播树时,分发源路由器参照网状虚拟网络的路径特性,以较高优先级选择具有足够的路径特性的通信路径,并基于组播树而生成路由表。
文档编号H04L12/56GK101658001SQ20088001170
公开日2010年2月24日 申请日期2008年4月9日 优先权日2007年4月12日
发明者梅岛慎吾 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1