应用层组播分发树构建装置及构建方法、程序、集成电路的制作方法

文档序号:7909042阅读:215来源:国知局
专利名称:应用层组播分发树构建装置及构建方法、程序、集成电路的制作方法
技术领域
本发明涉及一种ALM(Application Layer Multicast 应用层组播)分发树构建 装置以及ALM分发树构建方法,其在利用ALM分发树分发流(stream)的情况下,有效地利 用ALM分发树构建后的剩余带。
背景技术
以往就已利用ALM分发树对流进行分发。参照图12以及图13,说明ALM分发树的 概要。如图12所示,多个终端11、12、13、14、15、16以及17被连接到互联网或LAN (Local Area Network 局域网)等星形通信网络10。在此,例如,终端11要向所有的其他终端12、13、14、15、16以及17直接分发流数 据,则数据量超过连接到终端11的线路的带宽的上限,有可能造成延迟。因此,如图13所示,构建以流数据的分发源即终端11为顶点(路由节点)的逻辑 性的分层结构。也就是说,终端11仅向终端12、13分发流数据。并且,终端12、13对从终 端11接收的流数据进行再生,并且分别向属下的终端14、15、16以及17进行分发。根据上 述构成,能够分散通信量,因此能够实现无延迟的流分发。在此,在互联网上利用ALM分发树来分发影像等时,被分发的影像的分辨率(被分 发的影像的比特率)和从分发源(以下记述为“源(source)”)分发到各接收者接收为止 的延迟是评价其品质的主要指标(例如,远程教育等交互式的应用中,影像的分辨率和延 迟这两者都重要)。ALM分发树由多个用户终端(以下单称“终端”或“节点”)构成,因此ALM分发树 的构成受节点的上载链路的带宽的上限、下载链路的带宽的上限以及各终端间的延迟时间 的影响大。—般利用互联网(阅览内容)时,下载的数据量比上载的数据量多。因此,多设定 为下载链路(以下记述为“下链路”)的带宽的上限比上载链路(以下记述为“上链路”)的 带宽的上限大。例如,有很多用户加入的ADSL中,上链路的带宽停留在下链路的带宽的百分之十 几。因此,可以说,上述ALM分发树的构成受节点的上链路带宽的上限和节点间的延迟的左
右ο过去提出了很多考虑了这两个代价(metric)的各种各样的构建ALM分发树的方 法。例如,非专利文献1提出了这样一种ALM分发树的构建算法,即其在作为输入被赋予 节点的上链路带宽和节点间的延迟的情况下,不超过被赋予的ALM分发树的最大延迟,且 可用于分发的带宽成为最大。__专禾[I文献 1 :Multicast routing and bandwidth dimensioning inoverlay networks Shi,S. Y. ;Turner,J. S. ;IEEE Journal on SelectedAreas in Communications, Volume 20,Issue 8, Oct. 2002, Page(s) :1444_1455这样的算法以最大限度地利用各节点的上链路带宽并分发高品质的影像为其目的。然而,该算法中,各分支的粗细受构成ALM分发树的非叶节点的最小上链路带宽的限 制。也就是说,其特征是被分发的影像的带宽受限于该最小上链路带宽的限制。也就是说, 有可能在多个节点出现不被使用于流数据的分发的带。

发明内容
本发明鉴于上述课题,目的在于提供一种ALM分发树构建装置,其通过有效地利 用ALM分发树上出现的剩余带,从而实现更高品质的传输。本发明的一个实施例所涉及的应用层组播分发树构建装置,用于构建应用层组播 分发树,该应用层组播分发树从被相互连接到通信网络的多个终端中被选择的路由终端向 所有的其他终端分发流数据。具体而言,该应用层组播分发树构建装置具备代价测定部, 测定所述多个终端的每一个终端的上载链路带;终端分配部,针对所述多个终端的每一个 终端,分配成为所述流数据的分发源的一个上位终端以及成为所述流数据的分发目标的一 个以上的下位终端中的至少一方;第一通信路分配部,将被分配了所述下位终端的每一个 终端的、由所述代价测定部所测定的所述上载链路带的至少一部分,作为向所述下位终端 分发所述流数据的逻辑性的第一通信路,来进行分配;以及第二通信路分配部,将具有所述 上载链路带中不作为所述第一通信路来使用的剩余带的每一个终端的该剩余带,作为向位 于该终端的下面的分层的终端分发与所述流数据有关联的关联数据的逻辑性的第二通信 路,来进行分配。如上述构成,通过利用不作为第一通信路使用的剩余带来分发关联数据,从而能 够构建有效地利用上载链路带的ALM分发树。并且,可以是,所述终端分配部,将所述多个终端的每一个终端,分配到第一分层、 第二分层以及第三分层中的任一个分层,属于所述第二分层的终端以属于所述第一分层的 任一个终端作为所述上位终端,属于所述第三分层的终端以属于所述第二分层的任一个终 端作为所述上位终端,并且,所述第二通信路分配部,将属于所述第二分层的终端的剩余 带,均等地分配给属于所述第三分层的终端,以作为所述第二通信路,将属于所述第一分层 的终端的剩余带,均等地分配给属于所述第二分层的终端,以作为所述第二通信路。可以是,所述第二通信路分配部,进一步,在属于第一分层的终端的剩余带除以属 于所述第二分层的终端的数量所得到的第一商比属于第二分层的终端的剩余带除以属于 所述第三分层的终端的数量所得到的第二商大的情况下,将属于所述第一分层的终端的剩 余带分配给属于所述第二分层的终端以及属于所述第三分层的终端,以使属于所述第二分 层的终端与属于所述第三分层的终端的所述第二通信路成为相等的带。在对实时性的要求高的流数据的分发中,即使仅有一部分的通信路确保有大的 带,也不能有效地利用该带。因此,通过将各分层的剩余带均等地分配给属于该分层的下面 的分层的所有的终端,从而能够更加有效地利用剩余带。可以是,该应用层组播分发树构建装置,还具备路径延迟测定部,针对所有的所 述其他终端的每一个终端,测定接收到由所述路由终端分发的所述流数据为止的延迟时 间;以及路径延迟适用部,根据所述路径延迟测定部所测定的结果,将所述多个终端的每一 个终端,分配到第一分层、第二分层以及第三分层中的任一个分层,属于所述第一分层的终 端在第一时间经过以前接收由所述路由终端分发的所述流数据,属于所述第二分层的终端
6在所述第一时间经过后且在比所述第一时间长的第二时间经过以前接收由所述路由终端 分发的所述流数据,属于所述第三分层的终端在所述第二时间经过后接收由所述路由终端 分发的所述流数据,并且,所述第二通信路分配部,将属于所述第二分层的终端的剩余带, 均等地分配给属于所述第三分层的终端,以作为所述第二通信路,将属于所述第一分层的 终端的剩余带,均等地分配给属于所述第二分层的终端,以作为所述第二通信路。通常,各终端的延迟时间因ALM分发树上的分层而变动。但是,现实中,因通信网 络的通信量、终端的性能而延迟时间的变动很大。因此,不依赖于ALM分发中的分层,按照 实际的延迟时间来决定分层,根据该分层来分配第二通信路,从而能够更加有效地利用剩 余市ο可以是,该应用层组播分发树构建装置还具备关联数据分配部,该关联数据分配 部,在两个以上的所述终端的各自的剩余带作为所述第二通信路分配给同一个所述终端的 情况下,与所述第二通信路的带宽成比例地分割所述关联数据,使所述两个以上的终端分 别分发分割后的所述关联数据。据此,对于从多个终端接收关联数据的终端,也能够无延迟 地分发关联数据。并且,作为一个例子,可以是,所述关联数据,包括所述流数据的错误校正码。作为 另一个例子,可以是,所述关联数据,包括针对丢失的所述流数据的重发数据。另外,关联数 据并不限定于错误校正码或重发数据,可以是,例如,流数据其本身。并且,可以是,该应用层组播分发树构建装置,是所述路由终端。并且,可以是,构 成应用层组播分发树的其他终端,也可以是,与构成应用层组播分发树的终端不同的终端。本发明的一个实施例所涉及的应用层组播分发树构建方法,用于构建应用层组播 分发树,该应用层组播分发树从被相互连接到通信网络的多个终端中被选择的路由终端向 所有的其他终端分发流数据。具体而言,该应用层组播分发树构建方法包括代价测定步 骤,测定所述多个终端的每一个终端的上载链路带;终端分配步骤,针对所述多个终端的每 一个终端,分配成为所述流数据的分发源的一个上位终端以及成为所述流数据的分发目标 的一个以上的下位终端中的至少一方;第一通信路分配步骤,将被分配了所述下位终端的 每一个终端的、在所述代价测定步骤测定的所述上载链路带的至少一部分,作为向所述下 位终端分发所述流数据的逻辑性的第一通信路,来进行分配;以及第二通信路分配步骤,将 具有所述上载链路带中不作为所述第一通信路来使用的剩余带的每一个终端的该剩余带, 作为向位于该终端的下面的分层的终端分发与所述流数据有关联的关联数据的逻辑性的 第二通信路,来进行分配。本发明的一个实施例所涉及的程序,构建应用层组播分发树,该应用层组播分发 树从被相互连接到通信网络的多个终端中被选择的路由终端向所有的其他终端分发流数 据。具体而言,该程序使计算机执行以下步骤代价测定步骤,测定所述多个终端的每一个 终端的上载链路带;终端分配步骤,针对所述多个终端的每一个终端,分配成为所述流数据 的分发源的一个上位终端以及成为所述流数据的分发目标的一个以上的下位终端中的至 少一方;第一通信路分配步骤,将被分配了所述下位终端的每一个终端的、在所述代价测定 步骤测定的所述上载链路带的至少一部分,作为向所述下位终端分发所述流数据的逻辑性 的第一通信路,来进行分配;以及第二通信路分配步骤,将具有所述上载链路带中不作为所 述第一通信路来使用的剩余带的每一个终端的该剩余带,作为向位于该终端的下面的分层的终端分发与所述流数据有关联的关联数据的逻辑性的第二通信路,来进行分配。本发明的一个实施例所涉及的集成电路,用于构建应用层组播分发树,该应用层 组播分发树从被相互连接到通信网络的多个终端中被选择的路由终端向所有的其他终端 分发流数据。具体而言,该集成电路具备代价测定部,测定所述多个终端的每一个终端的 上载链路带;终端分配部,针对所述多个终端的每一个终端,分配成为所述流数据的分发源 的一个上位终端以及成为所述流数据的分发目标的一个以上的下位终端中的至少一方;第 一通信路分配部,将被分配了所述下位终端的每一个终端的、由所述代价测定部所测定的 所述上载链路带的至少一部分,作为向所述下位终端分发所述流数据的逻辑性的第一通信 路,来进行分配;以及第二通信路分配部,将具有所述上载链路带中不作为所述第一通信路 来使用的剩余带的每一个终端的该剩余带,作为向位于该终端的下面的分层的终端分发与 所述流数据有关联的关联数据的逻辑性的第二通信路,来进行分配。另外,本发明不仅能够作为ALM分发树构建装置、ALM分发树构建方法来实现,而 且也能够作为实现这些功能的集成电路来实现,或使计算机执行这些功能的程序来实现。 并且,不言而喻,这样的程序能够通过CD-ROM等记录介质以及互联网等传送介质来使其流
ο因为能够将ALM分发树上的剩余带有效地利用于冗余编码、复制数据,因此能够 提高被分发的流数据的品质。


图IA是本发明的实施例1以及实施例2所涉及的ALM分发树构建装置的框图。图IB是示出本发明的实施例1所涉及的ALM分发树构建装置的最小构成的框图。图IC是示出图IB的ALM分发树构建装置的工作的流程图。
图2是示出ALM分发树构建处理的流程图。图3是示出第二分支分配处理的流程图。图4是示出ALM分发树的逻辑性的终端配置的图。图5是示出决定了第一分支的带宽的状态的图。图6是示出作为对第四分层的第二分支来分配了第三分层的剩余带的状态的图。图7是示出作为对第三分层的第二分支来分配了第二分层的剩余带的状态的图。图8是示出作为对第三、四分层的第二分支来分配了第二分层的剩余带的状态的图。图9是示出利用第二分支来分发的追加数据的图。图10是示出考虑了路径延迟的分层结构的图。图IlA是示出作为记录介质主体的磁盘的物理格式的例子的图。图IlB是示出保持磁盘的外壳的前视图、截面图以及磁盘的图。图IlC是示出用于在软盘中记录再生上述程序的构成的图。图12是示出以往的网络构成的图。图13是示出以图12的终端来构成ALM分发树的例子的图。
具体实施例方式以下,参照附图详细说明本发明的实施例。
(实施例1)图IA是示出本发明的实施例1所涉及的ALM分发树构建装置100的典型例子的 框图。图IA所示的ALM分发树构建装置100主要具备代价测定部101、ALM分发树计算部 201、ALM控制部301、第二分支计算部401、路径延迟测定部501以及追加数据计算部601。代价测定部101测定参加ALM分发树的各节点的上载链路带。另外,也可以将节 点间的延迟等,构建ALM分发树所需要的其他代价包括在测定对象中。ALM分发树计算部201基于代价测定部101的测定结果来计算ALM分发树的构成。 具体而言,具备节点分配部202和第一分支分配部203。节点分配部(终端分配部)202,首先将多个终端分别分配到多个分层中的任一 个。然后,对各终端分配上位终端以及下位终端中的至少一方。上位终端是成为流数据的 分发源的终端,从属于上一分层的终端中仅被选择1台。而下位终端是成为流数据的分发 目标的终端,从属于下一分层的终端中被选择1台以上。第一分支分配部(第一通信路分配部)203,将被分配了下位终端的每一个终端 的、由代价测定部101测定的上载带的至少一部分,作为向下位终端分发流数据的逻辑性 的第一通信路(以下记述为“第一分支”)来进行分配。ALM控制部301,基于ALM分发树构成数据,进行应分发的流数据的接收、复制以及 发送。另外,不构成ALM分发树的终端成为ALM分发树构建装置100的情况下,能够省略 ALM控制部301。第二分支计算部401,算出ALM分发树的各节点的剩余带,将该剩余带作为第二通 信路(以下记述为“第二分支”)分配给ALM分发树的下游节点。具体而言,具备第二分支 分配部402、路径延迟适用部403以及追加数据分配部404。第二分支分配部(第二通信路分配部)402,将具有上载带中不作为第一分支来使 用的剩余带的每一个终端的该剩余带,作为第二分支分配给位于该终端的下面的分层的终 端。另外,“第二分支”是分发与流数据有关联的追加数据(也称“关联数据”)的逻辑性的 通信路。路径延迟适用部403,将流数据的延迟时间适用于第二分支的计算。路径延迟测定 部501,针对ALM分发树的各节点,测定接收到从源分发的流数据为止的延迟时间。另外,在 实施例1中可省略路径延迟适用部403以及路径延迟测定部501。有关这些的详细的工作 在实施例2中进行说明。追加数据分配部(关联数据分配部)404,将应发送的追加数据分配到各个第二分 支。追加数据计算部601,算出应在ALM分发树上发送的追加数据。图IB是示出本发明的实施例1所涉及的ALM分发树构建装置100的最小构成的 图。图IC是示出图IB所示的ALM分发树构建装置100的工作的流程图。图IB所示的ALM分发树构建装置100具备代价测定部110、终端分配部120、第一 通信路分配部130以及第二通信路分配部140。另外,代价测定部110相当于图IA的代价 测定部101,终端分配部120相当于图IA的节点分配部202,第一通信路分配部130相当于 图IA的第一分支分配部203,第二通信路分配部140相当于图IA的第二分支分配部402。代价测定部110,为了测定各终端的上载链路带,向各终端发送测定请求,并从各 终端接收测定结果(Sio)。并且,代价测定部110,向终端分配部120以及第一通信路分配部130通知各终端的上载链路带的测定结果。终端分配部120向ALM分发树的规定的节点分配各终端(Sll)。并且,向各终端发 送作为分配结果的树结构信息,并通知给第一通信路分配部130。另外,虽然不特别限定分 配方法,但是最好是,根据从代价测定部110取得的各终端的上载链路带的测定结果,将上 载链路带大的终端配置到上游侧,将上载链路带小的终端配置到下游侧。但是,在不考虑上 载链路带的大小而进行分配的情况下,终端分配部120不需要从代价测定部110取得上载 链路带的测定结果。第一通信路分配部130将每一个上位终端的上载链路带的至少一部分作为第一 通信路分配给下位终端(S12)。并且,将作为分配结果的第一通信路信息发送到各终端,并 将表示各终端的剩余带的剩余带信息通知给第二通信路分配部140。第二通信路分配部 140,将上位分层的终端的剩余带作为第二通信路分配给下位分层的终端(S13)。并且,将作 为分配结果的第二通信路信息发送给各终端。接着,参照图2 图9说明上述构成的ALM分发树构建装置100的工作。图2是 示出ALM分发树构建处理的流程图。另外,图IC与图2中被赋予了同一编号的处理步骤执 行同一处理。首先,代价测定部101,测定所有的终端20 33的上链路带(SlO)。在图4的表 示终端20、21、22、23、24、25、26、27、28、29、30、31、32以及33的〇标记内,示出上载链路带 的测定结果。另外,对于上链路带的具体的测定方法不作特别的限定,能够采用以往被使用 的任何方法。例如,能够利用包队列(packet train)法来测定。具体而言,ALM分发树构建装置 100以规定的间隔向测定对象的终端20发送多个包,并监视来自该终端20的应答包。并 且,渐渐地缩短包的发送间隔,则在终端20消耗完上载链路带的定时应答包延迟。根据此 时的发送间隔和应答包的数据量,能够推定终端20的上载链路带。对于其他的终端21 33也能够以同样的方法来进行测定。然后,ALM分发树构建装置100,执行将多个终端分配到ALM分发树的规定的节点 的处理(Sll)。图 4 是示出以多个(14 台)终端 20、21、22、23、24、25、26、27、28、29、30、31、 32以及33构成ALM分发树的例子的图。参照图4,具体地说明Sll的处理。首先,节点分配部202,将终端20 33分配到多个分层中的任一个。在本实施例 1中,分配到第一分层 第4分层中的任一个。节点分配部202,首先,将成为流数据的分发 源的终端20分配到第一分层。然后,对终端21 33进行分配,使上链路带越大的终端分 配到越上位的分层。在图4中,将终端21、22分配到第二分层,将终端23 26分配到第三 分层,将终端27 33分配到第四分层。另外,节点的分配(决定将哪一个节点分配到哪一 个分层的方法),并不限定于按照上链路带的大小顺序从大到小,可采用以往就开始利用的 各种各样的方法。然后,节点分配部202,对各终端20 33分配上位终端以及下位终端中的至少一 方。具体而言,对属于第一分层的终端20,作为下位终端分配属于第二分层的终端21、22。 并且,对属于第二分层的终端21,作为上位终端分配属于第一分层的终端20,作为下位终 端分配属于第三分层的终端23、24。而且,对属于第四分层的终端27,作为上位终端分配属 于第三分层的终端23。其他的终端也如图4所示,因此省略其说明。
另外,将被分配了下位终端的终端20 26称为“非叶节点”,特别是将仅分配有下 位终端的终端20称为“路由节点”。而将只分配有上位终端的终端27 33称为“叶节点”。然后,ALM分发树构建装置100,决定用于分发流数据的逻辑性的第一分支的带宽 (S12)。图5是示出图4的ALM分发树中的第一分支的带宽的图。参照图5,具体地说明S12 的处理。首先,第一分支分配部203,针对各非叶节点,上链路带除以下位终端的终端 数。例如,对于终端20,上链路带是2.8Mbps,下位终端的终端数是2台,因此计算结果是 1.4Mbps。同样,对于终端26,上链路带是1. 0Mbps,下位终端的终端数是1台,因此计算结 果是 1. OMbps0并且,第一分支分配部203,针对所有的非叶节点进行上述计算,并将计算结果的 最小值设定为第一分支的带宽。如图5所示,实施例1的第一分支的带宽成为1. 0Mbps。并且,图5示出作为各非叶节点的终端20 26的剩余带(图中〇标记内的数值 表示剩余带)。在此,作为各非叶节点的终端20 26的剩余带,“上链路带宽_下位终端 的终端数X第一分支的带宽”这样来计算。具体而言,成为终端20 22具有的剩余带是0.8Mbps ( = 2. 8-2 X 1),终端23、24 具有的剩余带是0. 5Mbps ( = 2. 5-2 X 1),终端25具有的剩余带是0 ( = 2_1 X 1),以及终端 26具有的剩余带是0(= 1-1X1)。本申请的方法是将该剩余带作为第二分支来利用,该第 二分支用于向已经构建的ALM分发树的下游节点分发追加数据。然后,ALM分发树构建装置100,执行第二分支分配处理,该第二分支分配处理是 用于决定用于分发追加数据的第二分支的带宽的处理(S13)。图3是示出第二分支分配处 理的详细情况的流程图。任意的ALM分发树(覆盖树)中,下游节点迟于上游节点而接收流数据,迟于上游 节点而开始再生流。因此,如果将上游节点保持的追加数据,利用该节点的剩余带向下游节 点发送,则来得及该下游节点的再生时刻的概率很高。而即使从下游节点向上游节点发送追加数据,在上游节点中相当于这些追加数据 的再生时刻已过的概率很高,此时则不能利用追加数据。因此,对ALM分发树整体的剩余带 进行合计,将其分配给各接收节点等单纯的方法,不能有效地利用剩余带。因此,在此考虑ALM分发树的构成,尤其是考虑节点的上下关系来分配剩余带。具 体而言,其策略是各节点的剩余带仅用于向其下游节点发送追加数据。另外,“下游节点”是 指属于比本节点所属的分层低的分层的节点。同样,“上游节点”是指属于比本节点所属的 分层高的分层的节点。例如,在图6中,将属于第三分层的所有的节点(终端23 26)的剩余带用于向 第四分层的节点(终端27 33)发送追加数据。并且,在图8中,将属于第二分层的所有 的节点(终端21 22)的剩余带用于向第三分层以及第四分层的节点(终端23 33)发 送追加数据。而且,虽然省略了图示,但是属于第一分层的节点(终端20)的剩余带用于向 第二分层、第三分层以及第四分层的节点(终端21 33)发送追加数据。并且,通过由下而上(bottom-up)的计算来实现该分层式分配。在图5示出该由下 而上的计算的概念。也就是说,以图5的区域A、区域B以及区域C的顺序执行第二分支分 配处理。具体而言,首先,进行利用第三分层的剩余带的第二分支的计算(以下记述为“步骤1”),接着进行利用第二分层的剩余带的第二分支的计算(以下记述为“步骤2”),最后 进行利用第一分层的剩余带的第二分支的计算(以下记述为“步骤3”)。首先,第二分支分配部402,将属于第三分层的所有的终端23 26的剩余带均等 地分给属于第四分层的终端(步骤1)。具体而言,首先,取得第四分层的终端数和属于第三 分层的所有的终端23 26的剩余带的合计(以下记述为“总剩余带”)(S131)。然后,第二分支分配部402,将作为总剩余带的IMbps ( = 0. 5+0. 5)均等地划分(7 等分),并决定分配给第四分层的终端27 33的第二分支的带宽(S132)。在此,设定分配 给属于第四分层的终端27 33的第二分支的带宽为142Kbps。然后,如图6所示,第二分支分配部402,将属于第三分层的终端23、24的各自的剩 余带作为第二分支,分配给属于第四分层的终端27 33。在此,终端23、24的剩余带都是 500Kbps。也就是说,终端23、24分别能够提供3个142Kbps的第二分支和1个72Kbps的
第二分支。在此,从终端23向终端27、28以及32分配142Kbps的第二分支。同样,从终端24 向终端29、31以及32分配142Kbps的第二分支。并且,分别从终端24、25向终端33分配 71Kbps的第二分支。据此,分配到终端33的第二分支的带宽也成为142Kbps。其结果,属 于第四分层的各终端27 33被分配相等带宽(142Kbps)的第二分支。然后,第二分支分配部402,比较分配给属于第四分层的各终端27 33的第二分 支与分配给属于第五分层的各终端的第二分支的带宽(S133)。另外,实施例1中不存在第 五分层(S133的“否”),因此跳过S134。然后,第二分支分配部402,判断是否将所有的分层的剩余带分配到了第二分支 (S135)。在此时,仅是将第三分层的剩余带分配到了第二分支(S135的“否”),因此返回 S131继续进行处理。然后,第二分支分配部402,取得第三分层的终端数(4台)和第二分层的总剩余带 (1. 6Mbps) (S131)。然后,第二分层的总剩余带除以第三分层的终端数,则如图7所示,能够 得到能够分配给属于第三分层的终端23 26的第二分支的带宽(400Kbps) (S132)。图7所示的分配方法,原封不动地重复步骤1的工作,是将第二分层的总剩余带仅 均等地分配给下一分层的节点的方法。该方法的优点是简单。但是,缺点是第二分支的带 宽因分层不同而不同,不能提高ALM分发树整体的流品质。在此,图8所示的方法,考虑步 骤1的计算结果,试图使ALM分发树整体的第二分支的带宽平等化(步骤2)。在此,比较能够分配给属于第三分层的终端23 26的第二分支的带宽(400Kbps) 与到此为止分配给了属于第四分层的终端27 33的第二分支的带宽(142Kbps) (S133)。具体而言,将第i分层的总剩余带设定为Xi,将第i分层的终端数设定为Yi,则在 (X2/Y3) ^ (Χ3/Υ4)的情况下,如在S132的说明,将第二分层的总剩余带X2仅分配给属于第 三分层的终端23 26。而在(Χ2/Υ3) > (Χ3/Υ4)的情况下,则分配第二分层的总剩余带Χ2, 使所有的下游节点被分配的带均等。在此,因为能够分配到第三分层的第二分支的带宽大(S133的“是”),因此第二分 支分配部402将第二分层的总剩余带X2不仅分配给第三分层而且还分配给第四分层,以使 分配到第三分层以及第四分层的第二分支成为相等的带(S134)。例如,设定第i分层的总 剩余带为X、此时分配给了第(i+2)分层以下的终端的第二分支的带宽为Y、以及第(i+1)分层的节点数为Z,则将第i分层的总剩余带X分配给第(i+Ι)分层以下的所有的分层时的 计算式如下述式1以及式2。[算式1]第(i+Ι)分层Y+(X-YXZ)/下游节点数(式1)[算式2]第(i+2)分层以下(X-YXZ)/下游节点数(式2)通过这样分配,从而使第i分层的总剩余带X平等地分配到所有的下游节点。 将第二分层的总剩余带X = 1.6MbpS、第四分层的第二分支的带宽Y = 142Kbps、第三 分层的节点数Z = 4、第二分层的下游节点数=11代入上述式1以及式2,则向第三分 层分配部分=142Kbps+(1. 6Mbps-4X 142Kbps)/11 = 235Kbps、向第四分层分配部分= (1. 6Mbps-4X142Kbps)/11 = 93Kbps。并且,此时,属于第四分层的各节点中确保有带宽142Kbps ( = Y),因此将在之前 的计算中算出的93Kbps相加,则第二分支的合计带宽成为235Kbps ( = 142Kbps+93Kbps)。在此,在图8中示出以得到的带设置第二分支的方法的具体的例子。第二分支分 配部402,从终端21的剩余带中,分别向终端23、24分配235Kbps,向终端27 29分配 93Kbps,向终端33分配46. 5Kbps。同样,从终端22的剩余带中,分别向终端25、26分配 235Kbps,向终端30 32分配93Kbps,向终端33分配46. 5Kbps。另外,在此所述的第二分支的设置方法仅是一个例子而已,只要分配给终端23 33的第二分支的带宽成为235Kbps,则什么样的设置方法都可以。然后,按照与步骤2同样的方法来执行步骤3。也就是说,考虑步骤2的计算结果 (在步骤2得到的第二分支的带宽),分配第一分层的总剩余带(0. SMpbs)。具体而言,将X =0. 8Mbps、Y = 235Kbps、Z = 2以及第一分层的下游节点数=13代入上述式子。其结果,分配给第二分层的、第二分支的带宽= 235Kbps+(0. 8Mbps-2X 235Kbps)/13 = 260Kbps,分配给第三分层以及第四分层的、第二分 支的带宽=(0. 8Mbps-2 X 235Kbps)/13 = 25Kbps。另外,虽然在此,将剩余带分配为使分配给各终端的第二分支的带宽相等,但是这 仅是一个例子而已,能够基于各种各样的策略来分配剩余带。通过恰当地设定策略,可实现 提高适合于应用的品质。例如,选出某个特定的节点集合,从具有剩余带的节点只向该节点 集合设置第二分支。据此,能够特别提高分发到该节点集合的流数据的品质,能够实现ALM 分发树的骨干性的或具有源的作用的节点集合。在此,说明利用剩余带的第二分支的设置方法(图2的SlO S13)。然后,ALM分 发树构建装置100,决定利用这样设置的第二分支来发送的数据的数据大小(S14)。发送的数据是根据应用不同而不同的任意的数据,但是,例如,也可以是,利用第 一分支发送的流数据的错误校正码(奇偶校验位(parity bit)等)。在此,设定由图1的 追加数据计算部601来算出该错误校正码,其具体的算出方法不作说明。图9是示出利用第二分支来分发的包的图。另外,以下的说明中,对利用图8所示 的带宽的第二分支来发送图9所示的包的次序进行说明。首先,终端23 26被分配1个带宽为235Kbps的第二分支。也就是说,终端23 26通过该第二分支从终端21、22接收包编号为1 m的所有的包。
而终端27 33被分配有多个第二分支。例如,终端27被分配有来自终端23的 带宽为142Kbps的第二分支1个、来自终端21的带宽为93Kbps的第二分支1个。并且,终 端33被分配有分别来自终端23、24的各1个(共2个)带宽为72Kbps的第二分支,以及 分别来自终端21、22的各1个(共2个)带宽为46. 5Kbps的第二分支。在此,ALM分发树构建装置100,在被分发到终端27的包编号1 m的包中,使包 编号为1 n(142/235)的包由终端23来分发,使包编号为n+1 m(93/235)的包由终端 21来分发。对于终端28 32也以同样的方法来分割追加数据并使其分发追加数据。同样地,ALM分发树构建装置100,将被分发到终端33的包编号为1 m的包中, 使包编号为1 k(72/235)的包由终端33来分发,使包编号为k+1 n(72/235)的包由终 端24来分发,使包编号为n+1 j (46. 5/235)的包由终端21来分发,使包编号为j+Ι m(46. 5/235)的包由终端22来分发。如上所述,有从2个以上的终端向终端27 33设置第二分支的情况。在这样的情 况下,通过与第二分支的带宽成比例地分割追加数据,并使2个以上的终端分别进行分发, 从而能够无延迟地分发追加数据。—般而言,从由h个节点yl、y2.....yh构成的节点集合N向任意的节点χ设置
有h个(11、12.....Ih)第二分支,这些第二分支的带宽依次为bwl、bw2.....bwh的情况
下,则以下式3以及式4算出节点集合N的各节点yi(i = 1、2.....h)向χ分发数据包的
序列编号的范围pli>p2i (pi 下限,p2 上限)。[算式3]
权利要求
1.一种应用层组播分发树构建装置,用于构建应用层组播分发树,该应用层组播分发 树从被相互连接到通信网络的多个终端中被选择的路由终端向所有的其他终端分发流数 据,该应用层组播分发树构建装置具备代价测定部,测定所述多个终端的每一个终端的上载链路带;终端分配部,针对所述多个终端的每一个终端,分配成为所述流数据的分发源的一个 上位终端以及成为所述流数据的分发目标的一个以上的下位终端中的至少一方;第一通信路分配部,将被分配了所述下位终端的每一个终端的、由所述代价测定部所 测定的所述上载链路带的至少一部分,作为向所述下位终端分发所述流数据的逻辑性的第 一通信路,来进行分配;以及第二通信路分配部,将具有所述上载链路带中不作为所述第一通信路来使用的剩余带 的每一个终端的该剩余带,作为向位于该终端的下面的分层的终端分发与所述流数据有关 联的关联数据的逻辑性的第二通信路,来进行分配。
2.根据权利要求1所述的应用层组播分发树构建装置,所述终端分配部,将所述多个终端的每一个终端,分配到第一分层、第二分层以及第三 分层中的任一个分层,属于所述第二分层的终端以属于所述第一分层的任一个终端作为所 述上位终端,属于所述第三分层的终端以属于所述第二分层的任一个终端作为所述上位终 端,所述第二通信路分配部,将属于所述第二分层的终端的剩余带,均等地分配给属于所述第三分层的终端,以作 为所述第二通信路,将属于所述第一分层的终端的剩余带,均等地分配给属于所述第二分层的终端,以作 为所述第二通信路。
3.根据权利要求2所述的应用层组播分发树构建装置,所述第二通信路分配部,进一步,在属于第一分层的终端的剩余带除以属于所述第二 分层的终端的数量所得到的第一商比属于第二分层的终端的剩余带除以属于所述第三分 层的终端的数量所得到的第二商大的情况下,将属于所述第一分层的终端的剩余带分配给 属于所述第二分层的终端以及属于所述第三分层的终端,以使属于所述第二分层的终端与 属于所述第三分层的终端的所述第二通信路成为相等的带。
4.根据权利要求1所述的应用层组播分发树构建装置,该应用层组播分发树构建装置,还具备路径延迟测定部,针对所有的所述其他终端的每一个终端,测定接收到由所述路由终 端分发的所述流数据为止的延迟时间;以及路径延迟适用部,根据所述路径延迟测定部所测定的结果,将所述多个终端的每一个 终端,分配到第一分层、第二分层以及第三分层中的任一个分层,属于所述第一分层的终端 在第一时间经过以前接收由所述路由终端分发的所述流数据,属于所述第二分层的终端在 所述第一时间经过后且在比所述第一时间长的第二时间经过以前接收由所述路由终端分 发的所述流数据,属于所述第三分层的终端在所述第二时间经过后接收由所述路由终端分 发的所述流数据,所述第二通信路分配部,将属于所述第二分层的终端的剩余带,均等地分配给属于所述第三分层的终端,以作 为所述第二通信路,将属于所述第一分层的终端的剩余带,均等地分配给属于所述第二分层的终端,以作 为所述第二通信路。
5.根据权利要求1至4中的任一项所述的应用层组播分发树构建装置,该应用层组播分发树构建装置还具备关联数据分配部,该关联数据分配部,在两个以 上的所述终端的各自的剩余带作为所述第二通信路分配给同一个所述终端的情况下,与所 述第二通信路的带宽成比例地分割所述关联数据,使所述两个以上的终端分别分发分割后 的所述关联数据。
6.根据权利要求1至5中的任一项所述的应用层组播分发树构建装置, 所述关联数据,包括所述流数据的错误校正码。
7.根据权利要求1至5中的任一项所述的应用层组播分发树构建装置, 所述关联数据,包括针对丢失的所述流数据的重发数据。
8.根据权利要求1至7中的任一项所述的应用层组播分发树构建装置, 该应用层组播分发树构建装置,是所述路由终端。
9.一种应用层组播分发树构建方法,用于构建应用层组播分发树,该应用层组播分发 树从被相互连接到通信网络的多个终端中被选择的路由终端向所有的其他终端分发流数 据,该应用层组播分发树构建方法包括代价测定步骤,测定所述多个终端的每一个终端的上载链路带; 终端分配步骤,针对所述多个终端的每一个终端,分配成为所述流数据的分发源的一 个上位终端以及成为所述流数据的分发目标的一个以上的下位终端中的至少一方;第一通信路分配步骤,将被分配了所述下位终端的每一个终端的、在所述代价测定步 骤测定的所述上载链路带的至少一部分,作为向所述下位终端分发所述流数据的逻辑性的 第一通信路,来进行分配;以及第二通信路分配步骤,将具有所述上载链路带中不作为所述第一通信路来使用的剩余 带的每一个终端的该剩余带,作为向位于该终端的下面的分层的终端分发与所述流数据有 关联的关联数据的逻辑性的第二通信路,来进行分配。
10.一种程序,构建应用层组播分发树,该应用层组播分发树从被相互连接到通信网络 的多个终端中被选择的路由终端向所有的其他终端分发流数据,该程序使计算机执行以下 步骤代价测定步骤,测定所述多个终端的每一个终端的上载链路带; 终端分配步骤,针对所述多个终端的每一个终端,分配成为所述流数据的分发源的一 个上位终端以及成为所述流数据的分发目标的一个以上的下位终端中的至少一方;第一通信路分配步骤,将被分配了所述下位终端的每一个终端的、在所述代价测定步 骤测定的所述上载链路带的至少一部分,作为向所述下位终端分发所述流数据的逻辑性的 第一通信路,来进行分配;以及第二通信路分配步骤,将具有所述上载链路带中不作为所述第一通信路来使用的剩余 带的每一个终端的该剩余带,作为向位于该终端的下面的分层的终端分发与所述流数据有 关联的关联数据的逻辑性的第二通信路,来进行分配。
11. 一种集成电路,用于构建应用层组播分发树,该应用层组播分发树从被相互连接 到通信网络的多个终端中被选择的路由终端向所有的其他终端分发流数据,该集成电路具 备代价测定部,测定所述多个终端的每一个终端的上载链路带; 终端分配部,针对所述多个终端的每一个终端,分配成为所述流数据的分发源的一个 上位终端以及成为所述流数据的分发目标的一个以上的下位终端中的至少一方;第一通信路分配部,将被分配了所述下位终端的每一个终端的、由所述代价测定部所 测定的所述上载链路带的至少一部分,作为向所述下位终端分发所述流数据的逻辑性的第 一通信路,来进行分配;以及第二通信路分配部,将具有所述上载链路带中不作为所述第一通信路来使用的剩余带 的每一个终端的该剩余带,作为向位于该终端的下面的分层的终端分发与所述流数据有关 联的关联数据的逻辑性的第二通信路,来进行分配。
全文摘要
应用层组播分发树构建装置(100)具备代价测定部(101),测定多个终端的每一个终端的上载链路带;节点分配部(202),针对多个终端的每一个终端,分配一个上位终端以及一个以上的下位终端中的至少一方;第一分支分配部(203),将被分配了下位终端的每一个终端的、上载链路带的至少一部分,作为分发流数据的逻辑性的第一分支,来进行分配;以及第二分支分配部(402),将不作为第一分支来使用的剩余带,作为向位于该终端的下面的分层的终端分发与流数据有关联的关联数据的逻辑性的第二分支,来进行分配。
文档编号H04L12/56GK102113279SQ20108000225
公开日2011年6月29日 申请日期2010年6月8日 优先权日2009年6月15日
发明者T·巴都葛, 村本卫一 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1