JP2012200014A - N-tree constructing method - Google Patents

N-tree constructing method Download PDF

Info

Publication number
JP2012200014A
JP2012200014A JP2012140906A JP2012140906A JP2012200014A JP 2012200014 A JP2012200014 A JP 2012200014A JP 2012140906 A JP2012140906 A JP 2012140906A JP 2012140906 A JP2012140906 A JP 2012140906A JP 2012200014 A JP2012200014 A JP 2012200014A
Authority
JP
Japan
Prior art keywords
tree
nodes
node
link
bandwidth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012140906A
Other languages
Japanese (ja)
Inventor
Ettikan Kandasamy Karuppiah
カンダサミ カルッピアー エティカン
Kok Hoong Yap
コック ホン ヤップ
Boon Ping Lim
ブン ピン リン
Pek-Yew Tan
ペキュー タン
Eiichi Muramoto
衛一 村本
Thoai Nam
ナム トハイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2012140906A priority Critical patent/JP2012200014A/en
Publication of JP2012200014A publication Critical patent/JP2012200014A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To minimize traffic congestion by reducing end-to-end delay, and maximize the bandwidth available in shared N-tree ALM nodes.SOLUTION: Compared to an MST-based method of constructing source-based trees and applying bias towards the shortest delay path, the N-tree constructing method of the present invention makes it possible to construct N source trees at the same time and allocate bandwidth in a fair manner for each stream. That is to say, in the N-tree constructing method of the present invention, each node (MY, SG, JP, VN) constructs N-trees at the same time based on fair bandwidth and allowed delay requirement.

Description

本発明は、N−ツリーにおいて公平な帯域幅共有を行なうためのN−ツリー構築方法に関する。   The present invention relates to an N-tree construction method for performing fair bandwidth sharing in an N-tree.

多地点通信、特にはインターネット上の多地点通信は、セッション中に、すべての参加ノードに対し同時に同じコンテンツを配送するマルチキャスト方法により広く行われている。   Multipoint communication, particularly multipoint communication on the Internet, is widely performed by a multicast method in which the same content is delivered simultaneously to all participating nodes during a session.

IPマルチキャストは、IP層マルチキャスティングを可能にするための、中間ノード構成と末端ノード構成とインターネットサービスプロバイダー参加要件が複雑であるという問題がある。これに対して、アプリケーション層マルチキャスティング(Application Layer Multicasting:ALM)は、既存のユニキャストネットワークアーキテクチャ上にアプリケーション層を実施することから、簡易であるため普及している。   The IP multicast has a problem that an intermediate node configuration, an end node configuration, and an Internet service provider participation requirement are complicated to enable IP layer multicasting. On the other hand, application layer multicasting (ALM) is popular because it is simple because it implements the application layer on an existing unicast network architecture.

ALMは、IP層におけるマルチキャスト転送機能が不要であることから、参加ノード間でのメンバー自身によるAV(オーディオビデオ)パケット転送、及び、アプリケーション層におけるAVパケット転送を柔軟に行うことができる。   Since ALM does not require a multicast transfer function in the IP layer, AV (audio video) packet transfer by members themselves between participating nodes and AV packet transfer in the application layer can be flexibly performed.

ALMは、特定セッション中にすべての参加者が事前の環境設定なしに、参加者の間でAVコンテンツまたはストリームを交換することができる。したがって、ALMは、複数の当事者間で行われるテレビ会議のような、AVベースのアプリケーションに極めて有用である。   ALM allows all participants to exchange AV content or streams between participants without any prior configuration during a particular session. Thus, ALM is extremely useful for AV-based applications such as video conferencing between multiple parties.

参加ノード間で交換されるAVストリームの数は、メンバー数をNとすると、N×(N−1)のオーダーで増加する。通信ネットワークに、帯域幅と待ち時間との点において、公平な通信コストを維持させることは、特に末端ノード間のインターネット環境では困難である。これは、オープンネットワークとしてのインターネットは、参加ノードによるAVストリームの交換中において、ノード間での帯域幅の公平性を保証しないからである。   The number of AV streams exchanged between participating nodes increases in the order of N × (N−1), where N is the number of members. It is difficult for a communication network to maintain a fair communication cost in terms of bandwidth and waiting time, particularly in the Internet environment between end nodes. This is because the Internet as an open network does not guarantee the fairness of bandwidth between nodes during the exchange of AV streams by participating nodes.

複数のISP(Internet Services Provider)は、本来動的であるインターネットの経路を維持するので、複数のツリーに対し最少のストリーム配送遅延ツリーを構築し維持することは困難である。これは、例えば、ユニキャストパケットルーティングアーキテクチャによる根本的な帯域幅を意識しないソースベースツリー(SBT)ルーティングメカニズムに起因する特定メンバーの喪失に至る。また、AVセッションにおける参加ノード間の帯域幅共有のような、不公平な資源分配をもたらす。   Since a plurality of ISPs (Internet Services Providers) maintain an Internet path that is inherently dynamic, it is difficult to construct and maintain a minimum stream delivery delay tree for a plurality of trees. This leads to the loss of specific members due to, for example, the underlying bandwidth-independent source base tree (SBT) routing mechanism with the unicast packet routing architecture. It also results in unfair resource distribution, such as bandwidth sharing between participating nodes in an AV session.

パケットルーティングは、ALM用のアプリケーション層において行われるので、参加ノードはグループに編制されることになる。そして、パケットルーティングは、パケット転送メカニズムをすべての参加ノードに知らせる必要がある。   Since packet routing is performed in the application layer for ALM, participating nodes are organized into groups. Packet routing then needs to inform all participating nodes of the packet forwarding mechanism.

ネットワーク層ルーティングメカニズムは、近視眼的な(short-sited)最も近い経路の構築方法であるため、帯域幅公平化配送ツリー(bandwidth fair distribution tree)ソリューションを提供しない。ネットワーク層ルーティングメカニズムとしては、短経路生成のためのDijkstra、Bellman-Ford、Primアルゴリズムの”欲張り”概念に基づくSBTや最小スパニング樹(Minimum Spanning Tree:MST)などが知られている。そして、インターネット上のユニキャストパケットルーティングは、これらのアルゴリズムに基づいており、ALMルーティングの要件を反映しない。   The network layer routing mechanism does not provide a bandwidth fair distribution tree solution because it is a short-sited closest path construction method. Known network layer routing mechanisms include Dijkstra, Bellman-Ford for short path generation, SBT based on the “greedy” concept of the Prim algorithm, and Minimum Spanning Tree (MST). And unicast packet routing on the Internet is based on these algorithms and does not reflect the requirements of ALM routing.

これらのソリューションは、末端ノードネットワーク帯域幅及び全体ネットワークトポロジーを意識しないことから、ノードの共有経路におけるトラヒック輻輳を引き起こす。また、これらのソリューションは、ALMアプリケーションに対し長いネットワーク待ち時間とAV品質劣化とをもたらす。   These solutions are not aware of the end node network bandwidth and the overall network topology, thus causing traffic congestion in the shared path of the nodes. These solutions also result in long network latency and AV quality degradation for ALM applications.

以下、従来技術、すなわちPrim−MST(最小スパニング樹)アルゴリズムメカニズムについて、簡単な例(図17)を用いて説明する。図17には、各ノードの回線の帯域幅B(X)容量と2つのノード間の遅延D(A、B)とを有する4つの異なる場所、すなわちベトナム(VN)、日本(JP)、マレーシア(MY)、シンガポール(SG)を例示する。この例では、8Mbps、4Mbps、3Mbpsまたは2Mbpsの送信速度セット/スロットが用いられている。   Hereinafter, the prior art, that is, the Prim-MST (minimum spanning tree) algorithm mechanism will be described using a simple example (FIG. 17). FIG. 17 shows four different locations with bandwidth B (X) capacity of each node's line and delay D (A, B) between the two nodes: Vietnam (VN), Japan (JP), Malaysia (MY), Singapore (SG). In this example, a transmission rate set / slot of 8 Mbps, 4 Mbps, 3 Mbps, or 2 Mbps is used.

この場合、従来の、欲張りアルゴリズム原理に基づくPrim−MSTアルゴリズムを実行すると、N個のノード(この例ではN=4)に対する一対N分散ツリーのそれぞれは、次のように計算される。   In this case, when the conventional Prime-MST algorithm based on the greedy algorithm principle is executed, each of the 1-N distributed trees for N nodes (N = 4 in this example) is calculated as follows.

(1)まず、許容帯域幅が最も大きいMYについて、他のノードへパケットを送信するための経路を選択する。具体的には、まず、MYが、8Mbpsの帯域幅を他の全てのノードに対して確保することができるか否か検討する。この場合、MYが、VN及びSGに対して、パケットを直接送信する経路を選択すれば8Mbpsの帯域幅を確保することができる。ただし、MYとJPの間の遅延D=300msが、最大レイテンシ250msを超えているため、MYが、JPに対して、パケットを直接送信する経路を選択することはできない。そこで、MYからJPへのパケットの送信は、SGを経由してパケットを送信する経路を選択する。これにより、MYがJPに対して8Mbpsの帯域幅を確保することができる(図18(A))。この結果、残りの帯域幅は、MYが20Mbps、SGが12Mbps、JPが16Mbps、VNが6Mbpsとなる。 (1) First, for MY having the largest allowable bandwidth, a route for transmitting a packet to another node is selected. Specifically, first, it is examined whether MY can secure a bandwidth of 8 Mbps for all other nodes. In this case, if MY selects a route for directly transmitting a packet to VN and SG, a bandwidth of 8 Mbps can be secured. However, since the delay D = 300 ms between MY and JP exceeds the maximum latency of 250 ms, MY cannot select a route for directly transmitting a packet to JP. Therefore, for the packet transmission from MY to JP, a route for transmitting the packet via SG is selected. As a result, MY can secure a bandwidth of 8 Mbps with respect to JP (FIG. 18A). As a result, the remaining bandwidth is 20 Mbps for MY, 12 Mbps for SG, 16 Mbps for JP, and 6 Mbps for VN.

(2)次に、当初の許容帯域幅が2番目に大きいSGについて、他のノードへパケットを送信するための経路を選択する。具体的には、まず、SGが、8Mbpsの帯域幅を他の全てのノードに対して確保できるか否か検討する。しかし、SGが、MY及びVNに対して8Mbpsの帯域幅を確保すると(8Mbps×2)、SGの残りの帯域幅12Mbpsを超えてしまう。したがって、SGが8Mbpsの帯域幅を確保することはできない。そこで、次に、SGが、4Mbpsの帯域幅を他の全てのノードに対して確保できるか否か検討する。この場合、SGが、MY及びVNに対して、パケットを直接送信する経路を選択すれば4Mbpsの帯域幅を確保することができる。また、SGからJPに、VNを経由してパケットを送信する経路を選択すれば、SGがJPに対して4Mbpsの帯域幅を確保することができる(図18(B))。この結果、残りの帯域幅は、MYが20Mbps、SGが4Mbps、JPが16Mbps、VNが2Mbpsとなる。 (2) Next, a route for transmitting a packet to another node is selected for the SG having the second largest allowable bandwidth. Specifically, first, it is examined whether the SG can secure a bandwidth of 8 Mbps for all other nodes. However, if the SG secures a bandwidth of 8 Mbps for MY and VN (8 Mbps × 2), the remaining bandwidth of SG exceeds 12 Mbps. Therefore, SG cannot secure a bandwidth of 8 Mbps. Therefore, next, it is examined whether the SG can secure a bandwidth of 4 Mbps for all other nodes. In this case, if SG selects a route for directly transmitting packets to MY and VN, a bandwidth of 4 Mbps can be secured. Further, if a route for transmitting a packet from the SG to the JP via the VN is selected, the SG can secure a bandwidth of 4 Mbps for the JP (FIG. 18B). As a result, the remaining bandwidth is 20 Mbps for MY, 4 Mbps for SG, 16 Mbps for JP, and 2 Mbps for VN.

(3)次に、当初の許容帯域幅が3番目に大きいJPについて、他のノードへパケットを送信するための経路を選択する。具体的には、まず、JPが、4Mbpsの帯域幅を他の全てのノードに対して確保できるか否か検討する。この場合、JPが、SG及びVNに対して、パケットを直接送信する経路を選択すれば4Mbpsの帯域幅を確保することができる。また、JPからMYに、SGを経由してパケットを送信する経路を選択すれば、JPがMYに対して4Mbpsの帯域幅を確保することができる(図18(C))。この結果、残りの帯域幅は、MYが20Mbps、SGが0Mbps、JPが8Mbps、VNが2Mbpsとなる。 (3) Next, for the JP having the third largest allowable bandwidth, a route for transmitting a packet to another node is selected. Specifically, first, it is examined whether JP can secure a bandwidth of 4 Mbps for all other nodes. In this case, if JP selects a route for directly transmitting packets to SG and VN, a bandwidth of 4 Mbps can be secured. Further, if a route for transmitting packets from JP to MY via SG is selected, JP can secure a bandwidth of 4 Mbps for MY (FIG. 18C). As a result, the remaining bandwidth is 20 Mbps for MY, 0 Mbps for SG, 8 Mbps for JP, and 2 Mbps for VN.

(4)最後に、当初の帯域幅が最も小さいVNが、他のノードへパケットを送信するための経路を選択する。ここで、VNの残りの帯域幅は2Mbpsであるので、VNが、MYに対して、パケットを直接送信する経路を選択し、2Mbpsの帯域幅を確保する。また、VNからJPに、MYを経由してパケットを送信する経路を選択すれば、VNがJPに対して2Mbpsの帯域幅を確保することができる。また、VNからSGに、MY及びJPを経由してパケットを送信する経路を選択すれば、VNがSGに対して2Mbpsの帯域幅を確保することができる(図18(D))。 (4) Finally, the VN with the smallest initial bandwidth selects a path for transmitting packets to other nodes. Here, since the remaining bandwidth of the VN is 2 Mbps, the VN selects a route for directly transmitting a packet to the MY and secures a bandwidth of 2 Mbps. Further, if a route for transmitting packets from MN to JP is selected from VN to JP, VN can secure a bandwidth of 2 Mbps for JP. Further, if a route for transmitting a packet from VN to SG via MY and JP is selected, VN can secure a bandwidth of 2 Mbps for SG (FIG. 18D).

このように、従来のN−ツリーアルゴリズム(Prim−MST)によっても、一対NソースベースのツリーをN個構築することにより、参加ノード間のN対Nのテレビ会議セッションを確立することができる。この方法は、SBTに基づく待ち時間要件を満足することは可能である。   As described above, the N-to-N video conference session between the participating nodes can be established by constructing N one-to-N source-based trees also by the conventional N-tree algorithm (Prim-MST). This method can satisfy latency requirements based on SBT.

米国特許出願公開第2006/0251062号明細書US Patent Application Publication No. 2006/0251062 米国特許出願公開第2006/0153100号明細書US Patent Application Publication No. 2006/0153100 米国特許出願公開第2005/0080894号明細書US Patent Application Publication No. 2005/0080894 米国特許出願公開第2005/0243722号明細書US Patent Application Publication No. 2005/0243722

ミン・シク・キム他「インターネットストリーミングメディアのための最適配送ツリー」(Min Sik Kim et. al,''Optimal Distribution Tree for Internet Streaming Media'')、第23回IEEE ICDCS会議録、2003年5月Min Sik Kim et al., “Optimal Distribution Tree for Internet Streaming Media”, 23rd IEEE ICDCS Conference Proceedings, May 2003

しかしながら、従来のN−ツリーアルゴリズムは、N−ツリーの構築段階に各ツリー間の調和をとることなく個別に算出するため、N個の一対Nツリー間の帯域幅の公平性を満足しない。   However, the conventional N-tree algorithm does not satisfy the fairness of the bandwidth between N pairs of N-trees because the N-tree algorithm is calculated individually without harmonizing each tree in the N-tree construction stage.

図18の場合であれば、従来のN−ツリーアルゴリズムは、VNについて2Mbpsの帯域幅しか確保することができない。   In the case of FIG. 18, the conventional N-tree algorithm can only secure a bandwidth of 2 Mbps for VN.

また、従来のN−ツリーアルゴリズムを用いて、帯域幅が公平なN−ツリーを構築しようとすると、全ての組み合わせについて計算しなければならないため、メンバー数Nが増える毎に級数的に計算量が増え、計算量が膨大となってしまう。   Further, if an N-tree having a fair bandwidth is to be constructed using a conventional N-tree algorithm, calculation must be performed for all combinations. The calculation amount will be enormous.

本発明の目的は、エンドツーエンドノード遅延を低減することによりトラヒック輻輳を最小限にし、更に、共有N−ツリーノードで利用可能な帯域幅を最大化し、すべてのALMノード間で公平な帯域幅を共有することができるN−ツリーを構築するN−ツリー構築方法を提供することである。   It is an object of the present invention to minimize traffic congestion by reducing end-to-end node delay, further maximizing the available bandwidth on shared N-tree nodes, and fair bandwidth among all ALM nodes. It is an object to provide an N-tree construction method for constructing an N-tree that can share the same.

本発明のN−ツリー構築方法は、a.すべてのノードに対し、メトリックコレクタ情報及びグループメンバーシップ情報を参照して初期リスト内のALMメンバーを順序付ける工程と、b.すべてのN−ツリー内のすべてのノードに対し、前記初期リストのメンバーを第1の経験的規則に基づいて順序付きリスト内に順序付ける工程と、c.前記順序付きリストのメンバーから、第2の経験的規則に基づくN−ツリー内の他のノードに対するリンク接続ステータスを満たすものを選択し、各N−ツリー毎の規則ベース順序付きリストに順序付ける工程と、d.前記規則ベース順序付きリストのメンバーと前記初期リストのメンバーの中から、第3の経験的規則を満足する2つのノード間の論理的な接続を有する2つのメンバーをペアノードとして選択し、規則ベースペアリスト内に順序付ける工程と、e.前記規則ベースペアリスト内のノードペアの中から、第4の経験的規則を満足するものを選択する工程と、f.第5の経験的規則に基づいて、グループ内のすべての受信ノードに対し、前記初期リストから選択された所与のルートノードのN−ツリーを形成する工程と、g.特定のN−ツリーのノード間のすべてのリンクが接続されることを保証する工程と、h.N−ツリー構造に含まれる前記初期リストのノードに基づいて、特定のN−ツリー内のすべてのノードを保証する工程と、i.複数のN−ツリー構造に含まれる前記初期リストのノードに基づいて、すべてのN−ツリーを保証する工程と、を含む。   The N-tree construction method of the present invention comprises: a. Ordering ALM members in the initial list with reference to metric collector information and group membership information for all nodes; b. Ordering the members of the initial list into an ordered list based on a first empirical rule for every node in every N-tree; c. Selecting from the members of the ordered list those satisfying the link connection status for other nodes in the N-tree based on a second empirical rule, and ordering into a rule-based ordered list for each N-tree And d. Two members having a logical connection between two nodes satisfying a third empirical rule are selected as a pair node from the members of the rule-based ordered list and the members of the initial list, and the rule-base pair Ordering in a list; e. Selecting a node satisfying the fourth empirical rule from among the node pairs in the rule base pair list; f. Forming an N-tree of a given root node selected from the initial list for all receiving nodes in the group based on a fifth empirical rule; g. Ensuring that all links between nodes of a particular N-tree are connected; h. Assuring all nodes in a particular N-tree based on the nodes of the initial list included in the N-tree structure; i. Guaranteeing all N-trees based on the nodes of the initial list included in a plurality of N-tree structures.

本発明によれば、経験的手法(heuristic approach)と、メトリック情報と、連続経路情報メンテナンスによるALM転送テーブルの構築及び配送との組合せを利用することにより、エンドツーエンドノード遅延を低減することができ、トラヒック輻輳を最小限にし、更に、共有N−ツリーノードで利用可能な帯域幅を最大化することができる。   According to the present invention, the end-to-end node delay can be reduced by utilizing a combination of heuristic approach, metric information, and construction and delivery of ALM forwarding table by continuous path information maintenance. The traffic congestion can be minimized and the available bandwidth at the shared N-tree node can be maximized.

本発明の一実施の形態に係る通信システムを示す図The figure which shows the communication system which concerns on one embodiment of this invention 本発明の一実施の形態に係るクライアントエンティティとサーバーエンティティの内部構成を示すブロック図The block diagram which shows the internal structure of the client entity and server entity which concern on one embodiment of this invention 最適ストリーム経路情報テーブルの一例を示す図The figure which shows an example of the optimal stream path | route information table OSPIT内のN−ツリールートノード情報のデータ構造を示す図The figure which shows the data structure of the N-tree root node information in OSPIT OSPIT内のN−ツリーメンバーノード情報のデータ構造を示す図The figure which shows the data structure of the N-tree member node information in OSPIT 帯域幅公平化転送テーブルを示す図Diagram showing bandwidth fairness forwarding table 転送テーブル(FT)メッセージ構造を示す図Diagram showing forwarding table (FT) message structure 転送テーブルエントリ(FTE)メッセージ構造を示す図Diagram showing forwarding table entry (FTE) message structure ALM_FRCメカニズムによるN−ツリーアルゴリズムの全体工程を示す図The figure which shows the whole process of the N-tree algorithm by ALM_FRC mechanism FTメッセージ交換シーケンスを示す図Diagram showing FT message exchange sequence N−ツリーアルゴリズムの実行方法を示す図The figure which shows the execution method of N-tree algorithm クライアントノードにおける帯域幅公平化転送テーブルの受信及び更新方法を示す図The figure which shows the reception and update method of the bandwidth fairness forwarding table in a client node N−ツリーアルゴリズム実行の詳細工程を示す図The figure which shows the detailed process of N-tree algorithm execution N−ツリーアルゴリズム実行の詳細工程を示す図The figure which shows the detailed process of N-tree algorithm execution N−ツリーアルゴリズムのリンク並べ替え工程を示す図The figure which shows the link rearrangement process of an N-tree algorithm N−ツリーアルゴリズムのリンク移動工程を示す図The figure which shows the link movement process of N-tree algorithm クライアントノードによるパケット転送方法を示す図Diagram showing packet transfer method by client node 本発明のN−ツリーアルゴリズムの具体例を示す図The figure which shows the specific example of the N-tree algorithm of this invention N−ツリーアルゴリズムを具体的に行う際の前提条件を示す図The figure which shows the precondition at the time of performing N-tree algorithm concretely 従来のN−ツリーアルゴリズムの具体例を示す図The figure which shows the specific example of the conventional N-tree algorithm

以下、本発明の実施の形態について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

本発明者は、本発明のN−ツリーアルゴリズムを「水拡散」(water-spread)ポリシーと名付けた。本発明のN−ツリーアルゴリズムは、「水拡散」ポリシーに基づき、N個のソースに対しN個のツリーを構築する。また、本発明のN−ツリーアルゴリズムは、同時に、帯域幅公平化ツリーを満足するために、N個のソースそれぞれに対し、「水拡散」ポリシーを適用する。   The inventor named the N-tree algorithm of the present invention a “water-spread” policy. The N-tree algorithm of the present invention builds N trees for N sources based on a “water diffusion” policy. The N-tree algorithm of the present invention also applies a “water spread” policy to each of the N sources simultaneously to satisfy the bandwidth fairness tree.

ここで、「水拡散」ポリシーによると、N個の水源トンネル(穴)を含む容器は、該トンネルの大きさと該トンネルの高さ(圧力:枝の選択時に利用する経験データベースに相当)に基づいて、その場所から異なる距離まで水を拡散する。大きなトンネルは、小さなトンネルと比較して、より多くの水を拡散する。容器の底に近いトンネルは、高い位置のトンネルと比較して、水をより遠くまで拡散する。各トンネルは、異なる容量(穴サイズ:帯域に相当)を有してよい。このことは、広い帯域幅を有するノードは、狭い帯域幅を有するノードと比較して、より多くのストリームをN−ツリー内の多くのノードに運ぶものと解釈される。なお、「トンネルの高さ」の具体的な例として、上記図17の場合であれば、高さは、帯域幅×第1係数+Delayの逆数×第2係数、等により計算される。   Here, according to the “Water Diffusion” policy, a container containing N water source tunnels (holes) is based on the size of the tunnel and the height of the tunnel (pressure: equivalent to the experience database used when selecting branches) And spread water from the place to different distances. Large tunnels diffuse more water than small tunnels. A tunnel close to the bottom of the vessel will diffuse water farther than a higher tunnel. Each tunnel may have a different capacity (hole size: equivalent to bandwidth). This is interpreted as a node with a large bandwidth carrying more streams to many nodes in the N-tree compared to a node with a narrow bandwidth. As a specific example of the “tunnel height”, in the case of FIG. 17, the height is calculated by bandwidth × first coefficient + reciprocal number of delay × second coefficient, and the like.

本アルゴリズムは、以下の3つの主要なフェーズを有する。
i)接続確立フェーズ:すべてのノード間の接続が確立され、ネットワークメトリック(ノードの接続状態)が収集される。
ii)N−ツリー構築フェーズ:最適ストリーム経路情報テーブル(Optimal Stream Path Information Table)と呼ぶ接続テーブルを用い、メッシュノード接続性を有するN−ツリーのステータスが更新される。ALMセッション中にノードの結合及び離脱のステータスが更新される。
iii)制御またはN−ツリー最適化フェーズ:最少遅延でもって、N−ツリー全体の公平化帯域幅割り当てを段階的に改善するために改善手順を実行する。そして、N−ツリー最適化のためにノード間またはリンク間で、ノード移動またはリンク移動を実行し、結果としてFRC(Fast Route Convergence)を有するALMをもたらす。このとき、メトリック情報は、ノードに対するAVストリーム配送経路を構築するために使用される。なお、メトリック情報は、クライアントノード間の帯域幅、クライアントノード間の待ち時間/遅延、クライアントノードIPアドレス及びポート番号、ALMセッションにおけるルートを含むクライアントノード機能、子−親−祖父母関係、使用済み及び未使用アップロードリンクの数、そして使用済み及び未使用ダウンロードリンクの数等を含む。
The algorithm has three main phases:
i) Connection establishment phase: Connections between all nodes are established, and network metrics (node connection status) are collected.
ii) N-tree construction phase: The status of an N-tree having mesh node connectivity is updated using a connection table called an Optimal Stream Path Information Table. Node join and leave status is updated during the ALM session.
iii) Control or N-tree optimization phase: Perform an improvement procedure to improve the fair bandwidth allocation of the entire N-tree in steps with minimal delay. Then, node movement or link movement is performed between nodes or links for N-tree optimization, resulting in an ALM with FRC (Fast Route Convergence). At this time, the metric information is used to construct an AV stream delivery path for the node. Metric information includes bandwidth between client nodes, latency / delay between client nodes, client node IP address and port number, client node function including route in ALM session, child-parent-grandparent relationship, used and This includes the number of unused upload links and the number of used and unused download links.

ABCのノード間で通信をする場合において、ノードABC間の接続関係は、これらのメトリック情報から算出することができる。例えば、A−B間に接続性があり、A−C間に接続性が無い場合、計測したメトリック情報は、A−C間の帯域が0となり、A−C間のレイテンシ(RTT:Round Trip Time)が無限大となる。   When communication is performed between ABC nodes, the connection relationship between the nodes ABC can be calculated from these metric information. For example, when there is connectivity between A and B and there is no connectivity between A and C, the measured metric information indicates that the bandwidth between A and C is 0, and the latency between R and A (RTT: Round Trip) Time) is infinite.

なお、本願でのメトリック情報は、接続の有無を示す離散量(0か1)で示されるものではなく、フルメッシュ(A−B,A−C,B−Cの双方向)の計測値を反映した連続量で示される。つまり、ノードA−C間のメトリックは、1Mbpsの場合や、0.1Mbpsの場合や、0Mbpsの場合が存在する。   Note that the metric information in the present application is not indicated by a discrete amount (0 or 1) indicating the presence or absence of connection, but is a measurement value of a full mesh (bidirectional of AB, AC, BC). Shown in reflected continuous quantity. That is, the metric between the nodes A and C may be 1 Mbps, 0.1 Mbps, or 0 Mbps.

N−ツリーアルゴリズムは、小グループの参加者が、ネットワーク上におけるすべての参加者間のセッションを通じて、高度な対話機能と良好なAV品質とを有するために、AVストリーム等を交換するAV会議アプリケーションに好適である。   The N-tree algorithm is an AV conference application in which a small group of participants exchange AV streams and the like in order to have a high level of interactive function and good AV quality through a session between all participants on the network. Is preferred.

すべてのノードに対して帯域幅の公平性を保証するために、本発明のN−ツリーアルゴリズムでは、各ノードのアップロードスロット及びダウンロードスロットの容量を考慮する。なお、アップロードスロットとダウンロードスロットとは、ノードのアップリンクとダウンリンクとの帯域幅の容量を指す。帯域幅は、例えば64kb、128kbといった複数の離散的な範囲に分割される。   In order to guarantee bandwidth fairness to all nodes, the N-tree algorithm of the present invention considers the capacity of the upload slot and download slot of each node. The upload slot and the download slot refer to the bandwidth capacity of the uplink and downlink of the node. The bandwidth is divided into a plurality of discrete ranges, for example, 64 kb and 128 kb.

「水拡散」ポリシーは、帯域幅公平化配送ツリー構築のための上記N−ツリー構築アルゴリズムの3つの主要なフェーズと共に採用される。このソリューションは、所与のAVセッションに対し、ネットワークに参加しているすべてのノードに適用されるALM_FRCを実現する。N−ツリーアルゴリズムは、ノード間で集中的または分散的なやり方で実行されてよい。   The “Water Spread” policy is adopted along with the three main phases of the above N-tree construction algorithm for bandwidth fairness distribution tree construction. This solution implements ALM_FRC that applies to all nodes participating in the network for a given AV session. The N-tree algorithm may be executed in a centralized or distributed manner between nodes.

図1は、本発明の一実施の形態に係る通信システムを示す図である。図1に示すように、本実施の形態では、複数のクライアントノード(104、106、108、110)とサーバーノード(102)が、それぞれネットワーク(112)に接続される。各クライアント内に存在するAV会議アプリケーションなどのマルチメディアアプリケーションは、ALMセッション中に、複数のクライアントノード間において、AVストリームを同時に交換することができる。また、サーバーノード(102)は、他のすべてのクライアントノードと通信を行い、それらの間でネットワーク情報を同時に交換することができる。   FIG. 1 is a diagram showing a communication system according to an embodiment of the present invention. As shown in FIG. 1, in this embodiment, a plurality of client nodes (104, 106, 108, 110) and a server node (102) are each connected to a network (112). A multimedia application such as an AV conference application existing in each client can simultaneously exchange AV streams between a plurality of client nodes during an ALM session. The server node (102) can communicate with all other client nodes and simultaneously exchange network information between them.

なお、本発明において、物理的及び論理的ネットワークエンティティを指す用語であるノードとエンティティとは、互いに読み替えて使用することができる。クライアントノードまたはサーバーノードと、クライアントエンティティまたはサーバーエンティティとの両方は、ネットワーク通信に関する一般的な意味に置き換えても良い。また、サーバーノード及びクライアントエンティティは、いずれも、無線通信システムにおける端末装置である。   In the present invention, nodes and entities, which are terms indicating physical and logical network entities, can be used interchangeably. Both client nodes or server nodes and client entities or server entities may be replaced by the general meaning of network communication. The server node and the client entity are both terminal devices in the wireless communication system.

サーバーノード(102)は、各クライアントノードからメトリック情報を所定のタイミングで(動的に)、あるいは、定期的に収集し、N−ツリーアルゴリズム(水拡散ポリシー)を実行する。次に、サーバーノード(102)は、N−ツリーアルゴリズムの結果である帯域幅公平化ALM経路情報を転送テーブルに格納する。さらに、サーバーノード(102)は、該転送テーブルに格納された帯域幅公平化ALM経路情報から生成した帯域幅公平化Nツリールーティング情報を、すべての参加クライアントノードに動的に送信する責任を負う。なお、所定のタイミングとして、例えば、上からのストリームが途絶えたタイミング等がある。   The server node (102) collects metric information from each client node at a predetermined timing (dynamically) or periodically and executes an N-tree algorithm (water diffusion policy). Next, the server node (102) stores the bandwidth fairness ALM path information, which is the result of the N-tree algorithm, in the forwarding table. Further, the server node (102) is responsible for dynamically transmitting the bandwidth fairness N-tree routing information generated from the bandwidth fairness ALM path information stored in the forwarding table to all participating client nodes. . Note that the predetermined timing includes, for example, a timing when the stream from the top is interrupted.

クライアントノードに受信された帯域幅公平化Nツリールーティング情報は、最終送付先に到達するまで、次のクライアントノードに受信ALMパケットを転送するために各クライアントノードで使用される。   The bandwidth fairness N-tree routing information received by the client node is used at each client node to forward the received ALM packet to the next client node until the final destination is reached.

図2は、本発明の一実施の形態に係るクライアントエンティティ(256)と、サーバーエンティティ(210)の内部構成を示すブロック図である。   FIG. 2 is a block diagram showing an internal configuration of the client entity (256) and the server entity (210) according to the embodiment of the present invention.

ALMセッションは、論理セッションとして定義され、2つ以上のクライアントエンティティ(256)の間でデータパケットを同時に交換する多数共同アプリケーションにおいて、ネットワークを介し接続される。ALMセッションは、参加メンバー間のセッション調整のために、サーバーエンティティ(210)を必要とする。   An ALM session is defined as a logical session and is connected over a network in multiple collaborative applications that simultaneously exchange data packets between two or more client entities (256). ALM sessions require a server entity (210) for session coordination between participating members.

クライアントエンティティ(256)は、すべてのノード間のネットワークパケットストリーミングのALMセッションに参加するノードにおけるALM機能である。サーバーエンティティ(210)は、メトリック情報を収集するとともに、ALM_FRC配送ツリーをもたらすN−ツリーアルゴリズムを実行する責任を負うALM機能である。クライアントエンティティ(256)とサーバーエンティティ(210)の両方は、任意のノード内に存在してよい論理エンティティである。   The client entity (256) is an ALM function at a node that participates in an ALM session for network packet streaming between all nodes. The server entity (210) is an ALM function that is responsible for collecting metric information and executing an N-tree algorithm that results in an ALM_FRC distribution tree. Both the client entity (256) and the server entity (210) are logical entities that may exist in any node.

集中型N−ツリーセッションには、ただ1つのサーバーエンティティが必要とされる。分散型の場合、各ノードは、1つのサーバーエンティティと1つのクライアントエンティティを有する。以下では、ALMセッションにおける複数のクライアントエンティティ機能と、一つのサーバーエンティティ機能の場合(集中型N−ツリーセッションの手法)について説明する。   Only one server entity is required for a centralized N-tree session. In the distributed case, each node has one server entity and one client entity. Hereinafter, a plurality of client entity functions in an ALM session and a case of one server entity function (centralized N-tree session technique) will be described.

図2において、サーバーエンティティ(210)は、メトリックコレクタ(220)、グループメンバーシップ(222)、ALM転送テーブルコンストラクタ(ALM Forwarding Table Constructor)(218)、および、ALM転送テーブルディストリビュータ(ALM Forwarding Table Distributor)(278)を有する。メトリックコレクタ(220)、グループメンバーシップ(222)およびALM転送テーブルコンストラクタ(218)は、その間でメトリクス情報を交換するためにリンク(208)により接続される。   In FIG. 2, the server entity (210) includes a metric collector (220), a group membership (222), an ALM forwarding table constructor (218), and an ALM forwarding table distributor (ALM Forwarding Table Distributor). (278). The metric collector (220), group membership (222) and ALM forwarding table constructor (218) are connected by a link (208) to exchange metric information therebetween.

サーバーエンティティ(210)のメトリックコレクタ(220)およびグループメンバーシップ(222)は、ALMセッション内のすべてのクライアントノード(104、106、108、110)からメトリック情報を動的に収集する責任を負う。メトリック情報は、クライアントノード間の帯域幅、クライアントノード間の待ち時間/遅延、クライアントノードIPアドレス及びポート番号、ALMセッションにおけるルートを含むクライアントノード機能、子−親−祖父母関係、使用済み及び未使用アップロードリンクの数、そして使用済み及び未使用ダウンロードリンクの数等を含む。これらのメトリック情報は、リンク(224、228)を介し、それぞれアクセスすることができるメトリックデータベース(226)とメンバーシップデータベース(230)内に格納される。図4と図5は、情報/コンテンツデータ構造を詳細に例示する。メンバーシップデータベース(230)内には、各クライアントノードのIPアドレスが格納される。   The server entity (210) metric collector (220) and group membership (222) are responsible for dynamically collecting metric information from all client nodes (104, 106, 108, 110) in the ALM session. Metric information includes bandwidth between client nodes, latency / delay between client nodes, client node IP address and port number, client node function including route in ALM session, child-parent-grandparent relationship, used and unused This includes the number of upload links and the number of used and unused download links. These metric information is stored in a metric database (226) and a membership database (230) that can be accessed via links (224, 228), respectively. 4 and 5 illustrate the information / content data structure in detail. The membership database (230) stores the IP address of each client node.

ルートノードは、ネットワークパケットが発せられたN−ツリーのソースノードを指す。N−ツリー内のN人のメンバーに対し、ノードのすべてがネットワークパケットを送信する場合、N個のルートノードが存在する。子−親−祖父母は、N−ツリー内のノード間の関係を指す。子ノードは、親ノードのダウンロードスロットを介し親ノードからネットワークパケットを直接受信するノードである。親ノードは、子ノードのアップロードスロットを介し子ノードにネットワークパケットを直接送信する。一方、祖父母ノードは、所与の子ノードに対し、親ノードを介し接続されるノードであり、ネットワークパケットは、子ノードに到達する前に祖父母ノードから親ノードへ流れる。孫ノードは、祖父母ノードと子ノード間の直接関係である。ノードのアップロードスロットとダウンロードスロットは、ノードの出力容量と入力容量を指す。リンクスロットは、特定のALMセッションのためのアップロードスロットと、ダウンロードスロットに関連した2つのノード間のリンクの帯域幅容量を指す。   The root node refers to the source node of the N-tree from which the network packet originated. If all of the nodes transmit network packets for N members in the N-tree, there are N root nodes. Child-parent-grandparent refers to the relationship between nodes in the N-tree. The child node is a node that directly receives a network packet from the parent node via the download slot of the parent node. The parent node transmits network packets directly to the child node via the child node's upload slot. On the other hand, the grandparent node is a node connected to a given child node via the parent node, and the network packet flows from the grandparent node to the parent node before reaching the child node. A grandchild node is a direct relationship between a grandparent node and a child node. The node upload slot and download slot refer to the output capacity and input capacity of the node. A link slot refers to the bandwidth capacity of the link between two nodes associated with an upload slot and a download slot for a particular ALM session.

ALM_FRCのために構築されるN−ツリーは、所与のALMセッションに対し、アップロード/ダウンロードスロット制約、リンクスロット制約、待ち時間制約に従うものとする。   The N-tree constructed for ALM_FRC shall be subject to upload / download slot constraints, link slot constraints, and latency constraints for a given ALM session.

最適ストリーム経路情報テーブル(204)は、図3、図4、図5に示す、接続状態にある全てのノードに対するN−ツリーセッションの情報(ツリーの状態に関する情報)を格納する。最適ストリーム経路情報テーブル(204)は、N−ツリー接続情報を含む。一方、経験的規則データベース(Heuristic Rules Database)(206)は、帯域幅公平化N−ツリーを構築するために使用される一組の経験的規則を格納する。経験的規則データベース(206)内に存在する基本的規則と増強規則として次のものがある。   The optimum stream path information table (204) stores N-tree session information (information on the state of the tree) for all nodes in the connected state shown in FIGS. The optimum stream path information table (204) includes N-tree connection information. On the other hand, the Heuristic Rules Database (206) stores a set of empirical rules that are used to build a bandwidth fair N-tree. The basic rules and augmentation rules that exist in the empirical rule database (206) are:

N−ツリーアルゴリズムの基本的規則は、ネットワークパケット配送のためにノード毎に1つのツリーを有するN個のツリーを構築することである。これは、各ノードが、N−1個のダウンロードスロットにより、N−1個のストリームを受信しなければならないことを意味する。各ツリーは、使用される全リンクにN−1個のアップロードリンクを追加するので、N個のツリーに対し、すべての参加者からの少なくとも合計N×(N−1)個のアップロードリンクが存在する。さらに、各ツリーには、制御メッセージデータ送信のためにいくつかの追加のスロットとリンクが必要である。   The basic rule of the N-tree algorithm is to build N trees with one tree per node for network packet delivery. This means that each node must receive N-1 streams with N-1 download slots. Each tree adds N-1 upload links to all links used, so for N trees there are at least a total of N x (N-1) upload links from all participants. To do. In addition, each tree requires several additional slots and links for control message data transmission.

追加の経験的規則は、所与のセッションに対するアップロード/ダウンロードスロット制約、リンクスロット制約、待ち時間制約を含む。上記3つの制約条件すべてを満足する最適なN−ツリーを構築するのはNP困難である。したがって、最善かつ最適なN−ツリーを構築するために、上記制約条件のいくつかに違反することは許容される。例えば、待ち時間制約の違反は、ストリームを受信する際の遅延を引き起こし、一方、アップロード制約またはリンク制約の違反はストリーム配送の一部を無効にする。経験的規則は、アップロードまたはダウンロード制約、及びリンク制約を第1に満足し、次にリンク待ち時間制約を満足する。N−ツリーは、上記規則を適用することにより許容可能な待ち時間でもって構築される。   Additional empirical rules include upload / download slot constraints, link slot constraints, latency constraints for a given session. It is NP-hard to construct an optimal N-tree that satisfies all the above three constraints. It is therefore permissible to violate some of the above constraints in order to build the best and optimal N-tree. For example, violations of latency constraints cause delays in receiving the stream, while violations of upload constraints or link constraints invalidate part of the stream delivery. The empirical rule satisfies upload or download constraints and link constraints first, and then satisfies link latency constraints. The N-tree is constructed with an acceptable latency by applying the above rules.

また、経験的規則データベース(206)は、N−ツリー構築のために適用可能な次のような複数の経験的規則を格納する。
規則1:ノードは、他のノードのストリームを運ぶのではなく、それ自身のストリームをアップロードするために、まずその帯域幅を使用すべきである。これにより、当該ツリーの待ち時間が少なくなる。
規則2:ノード間で選択がなされる場合、残りのスロット容量が最大のノードを選択する。
規則3:リンク間で選択がなされる場合、残りのスロット容量が最大のリンクを選択する。
規則4:規則3において残りのスロット容量が同一であるリンク間では、ツリーに対し最も少ないエンドツーエンド待ち時間を与えるリンクを選択する。
Also, the empirical rule database (206) stores a plurality of empirical rules applicable for N-tree construction as follows.
Rule 1: A node should first use its bandwidth to upload its own stream, rather than carrying another node's stream. This reduces the waiting time of the tree.
Rule 2: If a selection is made between nodes, the node with the largest remaining slot capacity is selected.
Rule 3: If a selection is made between links, the link with the largest remaining slot capacity is selected.
Rule 4: A link that gives the least end-to-end latency to the tree is selected between links having the same remaining slot capacity in Rule 3.

サーバー転送テーブル(202)は、図6に示すように、特定のN−ツリーセッション内のすべてのノードに対するパケット転送情報である帯域幅公平化ALM経路情報を格納する。   As shown in FIG. 6, the server forwarding table (202) stores bandwidth fairness ALM path information which is packet forwarding information for all nodes in a specific N-tree session.

ALM転送テーブルコンストラクタ(218)は、メトリックコレクタ(220)とグループメンバーシップ(222)により収集されたメトリック情報にアクセスする。また、ALM転送テーブルコンストラクタ(218)は、経験的規則データベース(206)に格納された経験的規則を適用して、最適ストリーム経路情報テーブル(204)に格納されたN−ツリーセッションの情報を動的にかつ連続的に形成し更新する。なお、ALM転送テーブルコンストラクタ(218)は、サーバーエンティティ(210)における主要モジュールである。   The ALM forwarding table constructor (218) accesses the metric information collected by the metric collector (220) and group membership (222). The ALM forwarding table constructor (218) applies the empirical rules stored in the empirical rule database (206) to move the N-tree session information stored in the optimum stream path information table (204). And update continuously and continuously. The ALM transfer table constructor (218) is a main module in the server entity (210).

次に、ALM転送テーブルコンストラクタ(218)は、N−ツリーアルゴリズム(水拡散ポリシー)を実行し、N−ツリーアルゴリズムの結果である帯域幅公平化ALM経路情報を、リンク(282)を介し、サーバー転送テーブル(202)に格納する。なお、帯域幅公平化ALM経路情報は、転送テーブルの形態となる。   Next, the ALM forwarding table constructor (218) executes the N-tree algorithm (water diffusion policy), and transmits the bandwidth fairness ALM path information, which is the result of the N-tree algorithm, to the server via the link (282). Store in the transfer table (202). The bandwidth fairness ALM route information is in the form of a forwarding table.

ALM転送テーブルコンストラクタ(218)は、リンク(216、214、208)を介し、経験的規則データベース(206)、最適ストリーム経路情報テーブル(204)、サーバー転送テーブル(202)、メトリックコレクタ(220)、グループメンバーシップ(222)、および、経験的規則データベース(206)にそれぞれアクセスする。ALM転送テーブルコンストラクタ(218)は、N−ツリーアルゴリズムの実行中、リストデータベース(260)内の「初期リスト(Initial List)」、「順序付きリスト(Ordered List)」、「規則ベースの順序付きリスト(Rule Based Ordered List)」、「規則ベースのペアリスト(Rule Based Pair List)」が帯域幅公平化N−ツリー構築のために使用される。   The ALM forwarding table constructor (218) is connected via the links (216, 214, 208) through the empirical rule database (206), the optimum stream path information table (204), the server forwarding table (202), the metric collector (220), Access group membership (222) and empirical rules database (206), respectively. The ALM forwarding table constructor (218) performs "Initial List", "Ordered List", "Rule-Based Ordered List" in the List Database (260) during execution of the N-tree algorithm. “Rule Based Ordered List” and “Rule Based Pair List” are used for bandwidth fairness N-tree construction.

「初期リスト」は、グループメンバーシップ(222)とメトリックコレクタ(220)により収集される、ALMセッションにおけるすべてのメンバーに関する情報を含む。「順序付きリスト」は、特定規則、例えば、アップロード及び/またはダウンロードスロット能力に基づき、ソートされたメンバーのリストを提供する。「規則ベースの順序付きリスト」は、特定規則、例えば、2つのノード間のリンク待ち時間に基づいたメンバーの順序付きリストを提供する。「規則ベースのペアリスト」は、特定規則、例えば、選択された経験的規則に基づく2つのノード間のリンクを形成するメンバーのリストを提供する。これらのリストの利用については、N−ツリーアルゴリズム説明の一部として図13及び図14において説明される。   The “initial list” contains information about all members in the ALM session that is collected by the group membership (222) and metric collector (220). An “ordered list” provides a sorted list of members based on specific rules, eg, upload and / or download slot capabilities. A “rule-based ordered list” provides an ordered list of members based on specific rules, eg, link latency between two nodes. A “rule-based pair list” provides a list of members that form a link between two nodes based on specific rules, eg, selected empirical rules. Use of these lists is illustrated in FIGS. 13 and 14 as part of the N-tree algorithm description.

ALM転送テーブルディストリビュータ(278)は、リンク(212)を介し、サーバー転送テーブル(202)に格納された帯域幅公平化ALM経路情報を入力し、この情報からN−ツリー内の各クライアントエンティティ(256)に対する帯域幅公平化N−ツリールーティング情報を生成する。帯域幅公平化N−ツリールーティング情報は、入力ポート番号、宛先アドレス、宛先ポート番号の対を含む。そして、ALM転送テーブルディストリビュータ(278)は、ネットワークリンク(234)を介し、各クライアントエンティティ(256)に帯域幅公平化N−ツリールーティング情報を送信する。   The ALM forwarding table distributor (278) inputs the bandwidth fairness ALM path information stored in the server forwarding table (202) via the link (212), and from this information, each client entity (256 in the N-tree). ) For bandwidth fairness N-tree routing information. The bandwidth fairness N-tree routing information includes a pair of an input port number, a destination address, and a destination port number. The ALM forwarding table distributor (278) then transmits bandwidth fairness N-tree routing information to each client entity (256) via the network link (234).

ALMネットワーク内の二つ以上のノードであるクライアントエンティティ(256)は、ネットワークリンク(234、276)を介し、サーバーエンティティ(210)と接続され、動的に通信を行うことができる。クライアントエンティティ(256)は、4つの主要モジュール、すなわちALM転送テーブルレシーバ(ALM Forwarding Table Receiver)(280)、メトリックプロバイダ(244)、グループメンバーシップ(246)、ALM転送テーブルエクゼキュータ(ALM Forwarding Table Executor)(240)、を有する。   The client entity (256), which is two or more nodes in the ALM network, is connected to the server entity (210) via the network links (234, 276) and can communicate dynamically. The client entity (256) has four main modules: ALM Forwarding Table Receiver (280), Metric Provider (244), Group Membership (246), ALM Forwarding Table Executor. (240).

ALM転送テーブルレシーバ(280)は、ALM転送テーブルディストリビュータ(278)からネットワークリンク(234)を介して帯域幅公平化N−ツリールーティング情報を受け取り、リンク(242)を介し、パケットルーティング用のクライアント転送テーブル(Client Forwarding Table)(236)に格納する。   The ALM forwarding table receiver (280) receives bandwidth fair N-tree routing information from the ALM forwarding table distributor (278) via the network link (234) and client forwarding for packet routing via the link (242). It stores in a table (Client Forwarding Table) (236).

メトリックプロバイダ(244)およびグループメンバーシップ(246)は、ALMセッション内のすべてのクライアントノード(104、106、108、110)からデータを動的に収集する責任を負う。メトリック情報は、クライアントノード間の帯域幅、クライアントノード間の待ち時間/遅延、クライアントノードIPアドレス及びポート番号、ルートを含むALMセッション内のクライアントノード機能、子−親−祖父母関係、使用済み及び未使用アップロードリンクの数、使用済み及び未使用ダウンロードリンクの数、等を含む。   Metric provider (244) and group membership (246) are responsible for collecting data dynamically from all client nodes (104, 106, 108, 110) in the ALM session. Metric information includes bandwidth between client nodes, latency / delay between client nodes, client node IP address and port number, client node function within ALM session including route, child-parent-grandparent relationship, used and not used Includes the number of used upload links, the number of used and unused download links, etc.

これらのメトリック情報は、リンク(248、252)を介し、それぞれアクセス可能なメトリックデータベース(250)とメンバーシップデータベース(254)との両方に格納される。   These metric information is stored in both the metric database (250) and the membership database (254), which are accessible via links (248, 252), respectively.

メトリック情報は、メトリックプロバイダ(244)とグループメンバーシップ(246)とにより、サーバーエンティティ(210)のメトリックコレクタ(220)とグループメンバーシップ(222)とに、動的にかつ定期的にそれぞれ配送される。該情報配送は、適宜にネットワークリンク(232、258)を介し行われる。   Metric information is dynamically and periodically delivered to the metric collector (220) and group membership (222) of the server entity (210) by the metric provider (244) and group membership (246), respectively. The The information delivery is appropriately performed via network links (232, 258).

次に、メトリック情報は、サーバーエンティティ(210)のメトリックデータベース(226)とメンバーシップデータベース(230)とに対し更新される。ALM転送テーブルエクゼキュータ(240)は、ローカルのメトリックデータ交換のために、リンク(238)を介し、メトリックプロバイダ(244)とグループメンバーシップ(246)とにアクセスする。リンク(248)は、メトリックプロバイダ(244)とメトリックデータベース(250)とを接続し、リンク(252)は、グループメンバーシップ(246)とメンバーシップデータベース(254)とを接続する。   The metric information is then updated to the server entity (210) metric database (226) and membership database (230). ALM forwarding table executor (240) accesses metric provider (244) and group membership (246) via link (238) for local metric data exchange. Link (248) connects metric provider (244) and metric database (250), and link (252) connects group membership (246) and membership database (254).

ALM転送テーブルレシーバ(280)は、サーバーエンティティ(210)から帯域幅公平化ルーティング情報を動的にかつ定期的に受信し、受信内容をローカルのクライアント転送テーブル(236)に対し更新する責任を負う。また、ALM転送テーブルレシーバ(280)は、リンク(276)を介して、ALM転送テーブルディストリビュータ(278)に対してそれぞれのルーティング情報を単独で要求することができる。   The ALM forwarding table receiver (280) is responsible for dynamically and periodically receiving bandwidth fairness routing information from the server entity (210) and updating the received content to the local client forwarding table (236). . In addition, the ALM forwarding table receiver (280) can independently request each routing information from the ALM forwarding table distributor (278) via the link (276).

クライアント転送テーブル(236)内の帯域幅公平化N−ツリールーティング情報は、ALM転送テーブルエクゼキュータ(240)において、他のクライアントエンティティ(106、108、110)から受信されたALMパケットを処理するために動的に使用される。その後、クライアント転送テーブル(236)内の帯域幅公平化N−ツリールーティング情報は、ルーティングエンジン(262)によって識別された次の送付先に転送される。ALM転送テーブルエクゼキュータ(240)は、次の送付先の情報を、クライアント転送テーブル(236)からリンク(274)を介して取り出し、リンク(272)を介してルーティングエンジン(262)に提供する。ルーティングエンジン(262)は、アプリケーション層における全ての受信パケット(264)に対し、各クライアントエンティティにおけるALM内のネットワークパケット毎に検索機能を実行する。受信パケット(264)は、ルーティングエンジン(262)においてソースアドレス(606)、ソースポート番号(654)、トランスポート層プロトコルに基づいて検索された後に、修正され、送信パケット(266)として指定送付先ノードに転送される。図6及び関連する記述は、この手順を詳細に説明する。   Bandwidth fairness N-tree routing information in the client forwarding table (236) is used in the ALM forwarding table executor (240) to process ALM packets received from other client entities (106, 108, 110). Used dynamically. Thereafter, the bandwidth fair N-tree routing information in the client forwarding table (236) is forwarded to the next destination identified by the routing engine (262). The ALM transfer table executor (240) retrieves the next destination information from the client transfer table (236) via the link (274) and provides it to the routing engine (262) via the link (272). The routing engine (262) performs a search function for every received packet (264) in the application layer for each network packet in the ALM in each client entity. The received packet (264) is searched in the routing engine (262) based on the source address (606), the source port number (654), and the transport layer protocol, and then modified, and designated as a transmission packet (266). Forwarded to the node. FIG. 6 and the associated description explain this procedure in detail.

リンク(276、234)を介する、ALM転送テーブルディストリビュータ(278)とALM転送テーブルレシーバ(280)との間の通信は、特定メッセージ構造を使用して行われる。図8に示す帯域幅公平化転送テーブル情報を含む転送テーブルコンテンツ(808)は、図7に示す転送テーブルエントリ(FTE)情報に含まれる。1つまたは複数の転送テーブルエントリ(FTE)情報は、組み合わせられて、転送テーブル(FT)メッセージとして、リンク234を介してサーバーエンティティ(210)から各クライアントエンティティ(256)に送信される。   Communication between the ALM forwarding table distributor (278) and the ALM forwarding table receiver (280) via the links (276, 234) is performed using a specific message structure. The transfer table content (808) including the bandwidth fairness transfer table information shown in FIG. 8 is included in the transfer table entry (FTE) information shown in FIG. One or more forwarding table entry (FTE) information is combined and sent as a forwarding table (FT) message from the server entity (210) to each client entity (256) via link 234.

次に、図3を用いて、最適ストリーム経路情報テーブル(204)の構造を詳細に説明する。   Next, the structure of the optimum stream path information table (204) will be described in detail with reference to FIG.

図3において、行(326)のルート(302)エントリは、N−ツリー内のルートノードの数を示す。ルートノードは、ALMアプリケーションパケットがN−ツリー内で発信されたソースノードである。これらのパケットは、ALMセッション内の全てのALM受信者に宛てられる。ルート(302)は、参照符号(304、306、308、310、312)により示される複数のルートノードが存在してよい。行(328、330、332、334、336)は、特定のルートノード(304、306、308、310、312)を、ルートとする所与のN−ツリーに対する参加ノード情報を保存するエントリである。   In FIG. 3, the root (302) entry in row (326) indicates the number of root nodes in the N-tree. The root node is the source node from which the ALM application packet is transmitted in the N-tree. These packets are addressed to all ALM recipients in the ALM session. The route (302) may include a plurality of route nodes indicated by reference numerals (304, 306, 308, 310, 312). Rows (328, 330, 332, 334, 336) are entries that store participating node information for a given N-tree rooted at a particular root node (304, 306, 308, 310, 312). .

列(348)のノード(314)エントリは、N−ツリーセッション内の各ノード(316、318、320、322、324)の識別子を保存する。したがって、特定のN−ツリー内にN個のノードが存在する場合、行314内には、N個のエントリが存在する。同様に、N個のすべてのノードがソースパケットを生成するルートノードである場合、行(302)は、テーブル内にN個の列を有する。   The node (314) entry in column (348) stores the identifier of each node (316, 318, 320, 322, 324) in the N-tree session. Thus, if there are N nodes in a particular N-tree, there are N entries in row 314. Similarly, if all N nodes are root nodes that generate source packets, row (302) has N columns in the table.

参照符号(338、340、342、344、346)のテーブルエントリは、図4に例示されるようなルートノード関連情報を保存する。一方、参照符号(338、340、342、344、346)エントリを除く他のすべてのテーブルエントリは、図5に例示されるような特定のN−ツリーに対するノード特定情報を保存する。最適ストリーム経路情報テーブル(204)は、N−ツリーセッション内の参加ノードの展開に対処するために拡大または縮小可能な静的または動的テーブルであってよい。   The table entries with reference numerals (338, 340, 342, 344, 346) store route node related information as illustrated in FIG. On the other hand, all other table entries except reference code (338, 340, 342, 344, 346) entries store node specific information for a specific N-tree as illustrated in FIG. The optimal stream path information table (204) may be a static or dynamic table that can be expanded or contracted to accommodate the expansion of participating nodes within an N-tree session.

図4は、ALMセッション内の全てのツリーに対する、最適ストリーム経路情報テーブル(204)、メトリックデータベース(226、250)、及びメンバーシップデータベース(230、254)内に明示されるN−ツリールートノード情報のデータ構造を示す。フィールド(402)は、全体のN−ツリーセッションに対し、特定のノードに対する使用済み入力リンクスロット及びダウンロードスロットの数を明示する。   FIG. 4 shows the N-tree root node information specified in the optimal stream path information table (204), metric database (226, 250), and membership database (230, 254) for all trees in the ALM session. The data structure of is shown. Field (402) specifies the number of used input link slots and download slots for a particular node for the entire N-tree session.

一方、フィールド(404)は、全体のN−ツリーセッションに対し、特定のノードに対する未使用入力リンクスロット及びダウンロードスロットの数を明示する。同様に、フィールド(406)は、全体のN−ツリーセッションに対し、特定のノードに対する使用済み出力リンクスロット及びアップロードスロットの数を明示する。一方、フィールド(408)は、特定のノードに対する未使用出力リンクスロット及びアップロードスロットの数を明示する。フィールド(410)は予約済みである。   On the other hand, field (404) specifies the number of unused input link slots and download slots for a particular node for the entire N-tree session. Similarly, field (406) specifies the number of used output link slots and upload slots for a particular node for the entire N-tree session. On the other hand, the field (408) specifies the number of unused output link slots and upload slots for a particular node. Field (410) is reserved.

図5は、ALMセッション内の特定のツリーのルートノード以外であるノードに対する、N−ツリーメンバーノード情報のデータ構造を示す。フィールド(502)は、それぞれのルートツリーを基準としたストリームの発信ノードを明示する。フィールド(504)は、ルートとそれぞれのノード間の離散形式の遅延または待ち時間を表す。フィールド(506)は、2つの異なるノード間の子または親関係を表し、その機能が存在することを示す。この後に、接続用のポート番号情報と、パケット転送用のIPアドレスなどの次ノード情報または識別子を表すフィールド(508)が続く。このフィールドは、また、次ノードが存在することを示す。   FIG. 5 shows the data structure of N-tree member node information for nodes other than the root node of a particular tree within an ALM session. A field (502) specifies the origination node of the stream based on each root tree. Field (504) represents a discrete form of delay or latency between the route and each node. Field (506) represents a child or parent relationship between two different nodes and indicates that the function exists. This is followed by a port number information for connection and a field (508) representing next node information or identifier such as an IP address for packet transfer. This field also indicates that there is a next node.

すなわち、このフィールドはパケット転送のための葉ノード(転送しない終端ノード)である。同様に、続くフィールド(510、512、514、516)は、祖父母(2代前)−子と曾祖父母(3代前)−子関係(1代後)を表す。なお、本実施の形態では3つのレベルのみを明示しているが、本発明はこれに限られず、さらなる活用のためにさらに多くのレベルを定義してもよい。最後に、フィールド(518)は、予約済みフィールドを表す。   That is, this field is a leaf node for packet transfer (a terminal node that does not transfer). Similarly, the following fields (510, 512, 514, 516) represent grandparents (before the second generation) -child and great grandparents (before the third generation) -child relationship (after the first generation). Although only three levels are explicitly shown in the present embodiment, the present invention is not limited to this, and more levels may be defined for further utilization. Finally, field (518) represents a reserved field.

図6は、サーバーエンティティ(210)とクライアントエンティティ(256)において、使用されるサーバー転送テーブル(202)とクライアント転送テーブル(236)との両方の帯域幅公平化転送テーブル(602)の一般的なフォーマットを示す。テーブル(602)の第1レベルは、次の3列、すなわち発信ノード/ソースアドレス(606)、ソースポート番号(654)、およびトライテーブルポインタ(604)を含む。発信ノード(ソースアドレス)(606)は、ノード(608、610、612、614)のIPアドレスを格納する。ソースポート番号(654)は、すべての発信ノード(646、648、650、652)のソースポート番号(654)を格納する。トライテーブルポインタ(604)は、次のレベルの転送テーブル(624)に対するポインタ(616、618、620、622)を保存する。   FIG. 6 shows a general view of the bandwidth fairness forwarding table (602) of both the server forwarding table (202) and the client forwarding table (236) used in the server entity (210) and the client entity (256). Indicates the format. The first level of the table (602) includes the following three columns: source node / source address (606), source port number (654), and tri-table pointer (604). The source node (source address) (606) stores the IP addresses of the nodes (608, 610, 612, 614). The source port number (654) stores the source port number (654) of all outgoing nodes (646, 648, 650, 652). The tri table pointer (604) stores pointers (616, 618, 620, 622) for the transfer table (624) of the next level.

発信ノード(606)の複数のエントリは、それぞれの次のレベルの転送テーブル(624)と共存することができる。次のレベルの転送テーブルは、送付先アドレス(626)と送付先ポート番号情報(636)を含む。次のレベルの転送テーブル(624)は、次にノード内のどこに受信パケットを転送する必要があるかを明示する、複数のIPアドレス(628、630、632、634)とポート番号(638、640、642、644)とが存在してよい。また、両方のテーブル(602、624)は、特定ストリーム用のトランスポートプロトコルのタイプを示すトランスポートプロトコルフィールド(656、658)を有する。   Multiple entries of the originating node (606) can coexist with their respective next level forwarding table (624). The next level transfer table includes a destination address (626) and destination port number information (636). The next level forwarding table (624) specifies multiple IP addresses (628, 630, 632, 634) and port numbers (638, 640) that specify where in the node the received packet needs to be forwarded next. 642, 644). Both tables (602, 624) also have transport protocol fields (656, 658) that indicate the type of transport protocol for the particular stream.

転送テーブル情報は、図7に示す転送テーブルメッセージ(FT)を使用することにより、サーバーエンティティ(210)とクライアントエンティティ(256)間で交換される。各ノードにおけるN−ツリー内のネットワークパケット転送の検索は、IPアドレス、ポート番号、トランスポートプロトコル(例えば、UDPまたはTCP)を使用することにより行われる。ルーティングエンジン(262)は、アプリケーション層におけるすべての入力パケット(264)に対し、各クライアントエンティティにおけるALM内のネットワークパケット毎に検索機能を実行する。   The forwarding table information is exchanged between the server entity (210) and the client entity (256) by using the forwarding table message (FT) shown in FIG. The search for network packet forwarding in the N-tree at each node is performed by using an IP address, a port number, and a transport protocol (eg, UDP or TCP). The routing engine (262) performs a search function on every input packet (264) in the application layer for each network packet in the ALM in each client entity.

転送テーブル(602)は、クライアントエンティティにおいて、入力パケット毎に目的の送付先アドレス(626)等の検索を実行するために使用され、その後、N−ツリー内の指定された次ノードに転送される。ルーティングエンジン(262)は、また、送信パケット(266)を転送する前の転送段階中にネットワークパケットのソースIPアドレス及びポート番号を変更する。この機能は、N−ツリーアルゴリズムにより構築されたストリーミング経路を順守することを保証するために重要である。   The forwarding table (602) is used in the client entity to perform a search for a destination address (626) or the like for each input packet, and then forwarded to a specified next node in the N-tree. . The routing engine (262) also changes the source IP address and port number of the network packet during the forwarding phase before forwarding the outgoing packet (266). This function is important to ensure adherence to the streaming path constructed by the N-tree algorithm.

通常のユニキャストアプリケーションでは、ネットワークパケットのソースIPアドレス及びポート番号は変更されない。そして、パケット転送は、公平な帯域幅割り当て無しに、オーバーレイツリーに沿って行われる。しかしながら、本発明の特徴の1つは、ALM_FRCを実現するために帯域幅公平化N−ツリー経路に従うように、ソースIPアドレス及び送付先ポートが転送ノードにより変更されることである。   In a normal unicast application, the source IP address and port number of the network packet are not changed. Packet forwarding is then performed along the overlay tree without fair bandwidth allocation. However, one of the features of the present invention is that the source IP address and destination port are changed by the forwarding node to follow the bandwidth fair N-tree path to realize ALM_FRC.

図7は、合計6つのフィールドを有する転送テーブル(FT)メッセージ構造を示す。タイプ(702)フィールドは、要求メッセージタイプか応答メッセージタイプかを示す。コンテンツ(704)フィールドは、サーバーエンティティからの完全転送テーブルエントリ(FTE)更新か、部分的転送テーブルエントリ(FTE)更新か、を示すコンテンツを明示する。バージョン(706)フィールドは、ALMとN−ツリーアルゴリズムのバージョンを明示する。未使用(708)フィールドは、フィールドが現在使用されていないことを示す。FTE(710)フィールドは、単一または複数の転送テーブルエントリ(FTE)メッセージを含む。FTメッセージは、予約済み(712)フィールドで終了する。   FIG. 7 shows a forwarding table (FT) message structure with a total of six fields. The type (702) field indicates a request message type or a response message type. The content (704) field specifies the content indicating whether it is a full forwarding table entry (FTE) update or a partial forwarding table entry (FTE) update from the server entity. The version (706) field specifies the version of the ALM and N-tree algorithm. The unused (708) field indicates that the field is not currently used. The FTE (710) field contains single or multiple forwarding table entry (FTE) messages. The FT message ends with the reserved (712) field.

図8は、5つのフィールドを有する転送テーブルエントリ(FTE)メッセージ710の構造を示す。発信ノードIPフィールド(802)は、FTメッセージを送信したノードのIPアドレスを示す。タイムスタンプフィールド(804)は、メッセージが生成された時間を示す。未使用フィールド(806)と予約済みフィールド(810)(これから使用する予定のもの)とは、それらが現在使用されていないことを示す。タイムスタンプフィールド(804)は、FTメッセージが構築された時間を明示するために使用される。   FIG. 8 shows the structure of a forwarding table entry (FTE) message 710 having five fields. The source node IP field (802) indicates the IP address of the node that transmitted the FT message. The timestamp field (804) indicates the time when the message was generated. An unused field (806) and a reserved field (810) (those to be used in the future) indicate that they are not currently used. The timestamp field (804) is used to specify the time when the FT message was constructed.

タイムスタンプフィールド(804)は、最新のメッセージのみが、クライアントエンティティにおいて、N−ツリーのルーティングテーブルを更新するために使用されることを保証する。トランスポートプロトコルが、トランスポートプロトコル自身のタイムスタンプフィールドを有する場合、タイムスタンプフィールド(804)は使用されない。しかし、トランスポートプロトコルがタイムスタンプフィールドを有しない場合は、タイムスタンプフィールド(804)が必要である。   The timestamp field (804) ensures that only the latest message is used at the client entity to update the routing table of the N-tree. If the transport protocol has its own timestamp field, the timestamp field (804) is not used. However, if the transport protocol does not have a time stamp field, a time stamp field (804) is required.

これに続く、転送テーブルコンテンツフィールド(808)は、サーバーエンティティから全てのクライアントエンティティへの帯域幅公平化転送テーブル情報を含む。サーバーエンティティ(210)から選択された転送テーブルエントリ情報は、組み合わせられて、各クライアントエンティティ(256)に送信されるFTメッセージを形成する。単一または複数のFTEメッセージを含むFTメッセージは、サーバー転送テーブル(202)に更新があると、影響を受けるクライアントエンティティに対して、AFTCにより、動的に送信される。   Subsequent forwarding table content field (808) contains bandwidth fairness forwarding table information from the server entity to all client entities. The forwarding table entry information selected from the server entity (210) is combined to form an FT message that is sent to each client entity (256). FT messages containing single or multiple FTE messages are dynamically sent by AFTC to affected client entities when there is an update in the server forwarding table (202).

次に、図9を用いて、N−ツリーにおいて公平な帯域幅共有を実行し、ALM_FRCを実現する全体のメカニズムを説明する。   Next, an overall mechanism for realizing ALM_FRC by executing fair bandwidth sharing in the N-tree will be described with reference to FIG.

最初に、クライアントエンティティ(256)のメトリックプロバイダ(244)とグループメンバーシップ(246)とは、メトリック情報の定期的な配送を行う(ST902)。定期的に送信されたメトリック情報は、メトリックコレクタ(220)とグループメンバーシップ(222)とにより、それぞれ収集される(ST904)。   First, the metric provider (244) and the group membership (246) of the client entity (256) perform regular delivery of metric information (ST902). The periodically transmitted metric information is collected by the metric collector (220) and the group membership (222), respectively (ST904).

次に、新しいメトリック情報が到着すると、ALM転送テーブルコンストラクタ(218)は、メトリックコレクタ(220)を介してメトリックデータベース(226)にアクセスし、グループメンバーシップ(222)を介してメンバーシップデータベース(230)にアクセスする。新しいメトリック情報は、最適ストリーム経路情報テーブル(204)を更新するために、ALM転送テーブルコンストラクタ(218)により、使用される(ST906)。   Next, when new metric information arrives, ALM forwarding table constructor (218) accesses metric database (226) via metric collector (220) and membership database (230) via group membership (222). ). The new metric information is used by the ALM forwarding table constructor (218) to update the optimum stream path information table (204) (ST906).

次に、ALM転送テーブルコンストラクタ(218)は、N−ツリーアルゴリズムを実行する(ST908)。ALM転送テーブルコンストラクタ(218)は、このN−ツリーアルゴリズムの定期的な実行により、最適ストリーム経路情報テーブル(204)とサーバー転送テーブル(202)とを更新する(ST910)。N−ツリーアルゴリズムの実行ステップは、図11に例示され、これについては以下の節で説明する。   Next, the ALM forwarding table constructor (218) executes an N-tree algorithm (ST908). The ALM forwarding table constructor (218) updates the optimum stream path information table (204) and the server forwarding table (202) by periodically executing this N-tree algorithm (ST910). The execution steps of the N-tree algorithm are illustrated in FIG. 11 and are described in the following section.

次に、更新されたサーバー転送テーブル(202)のコンテンツは、転送テーブル(FT)メッセージを使用することにより、サーバーエンティティ(210)のALM転送テーブルディストリビュータ(278)から、各クライアントエンティティ(256)へ送信される(ST912)。ALM転送テーブルレシーバ(280)は、受信された転送テーブル(FT)メッセージにより、クライアント転送テーブル(236)を更新する(ST914)。   The updated server forwarding table (202) content is then transferred from the ALM forwarding table distributor (278) of the server entity (210) to each client entity (256) using a forwarding table (FT) message. It is transmitted (ST912). The ALM transfer table receiver (280) updates the client transfer table (236) with the received transfer table (FT) message (ST914).

次に、転送テーブル(FT)メッセージの交換シーケンスについて、図10を用いて詳細に説明する。   Next, the exchange sequence of the transfer table (FT) message will be described in detail with reference to FIG.

定期的なメトリック情報の更新(PITメッセージ)が行われる(ST1014)。つまり、クライアントエンティティ(1008)のメトリックプロバイダ(1012)と、サーバーエンティティ(1002)のメトリックコレクタ(1006)との間で、メトリック情報の更新が継続される。   Periodic metric information update (PIT message) is performed (ST1014). That is, the update of the metric information is continued between the metric provider (1012) of the client entity (1008) and the metric collector (1006) of the server entity (1002).

サーバーエンティティ(1002)のALM転送テーブルディストリビュータ(1004)は、転送テーブルコンテンツを含む転送テーブル(FT)メッセージを、クライアントエンティティ(1008)のALM転送テーブルレシーバ(1010)へ転送する(ST1016)。あるいは、ALM転送テーブルレシーバ(1010)は、転送テーブル(FT)メッセージを使用してクライアント転送テーブル(236)の更新要求を行うことができる(ST1018)。該要求に対する応答として、ALM転送テーブルディストリビュータ(1004)は、転送テーブルコンテンツを含む転送テーブル(FT)メッセージを、ALM転送テーブルレシーバ(1010)へ転送する(ST1020)。   The ALM forwarding table distributor (1004) of the server entity (1002) forwards the forwarding table (FT) message including the forwarding table contents to the ALM forwarding table receiver (1010) of the client entity (1008) (ST1016). Alternatively, the ALM forwarding table receiver (1010) can make an update request for the client forwarding table (236) using the forwarding table (FT) message (ST1018). In response to the request, the ALM transfer table distributor (1004) transfers a transfer table (FT) message including transfer table contents to the ALM transfer table receiver (1010) (ST1020).

次に、図9に示したST908のN−ツリーアルゴリズムの実行方法について、図11を用いて説明する。N−ツリーアルゴリズム呼出しの初期トリガは、ALM転送テーブルコンストラクタ(218)により行われる(ST1102)。次に、経験的規則データベース(206)内の特定規則に対するアクセスが、ALM転送テーブルコンストラクタ(218)により行われる(ST1104)。続いて、ALM転送テーブルコンストラクタ(218)により、最適ストリーム経路情報テーブル(204)のアクセスが行われる(ST1106)。その後、N−ツリーアルゴリズムによるALM_FRC保証が、メトリックに適用される(ST1108)。そして、ALM転送テーブルコンストラクタ(218)により、生成された操作済みメトリックを用いて、サーバー転送テーブル(202)が、更新される(ST1110)。   Next, the execution method of the ST-908 N-tree algorithm shown in FIG. 9 will be described with reference to FIG. The initial trigger for calling the N-tree algorithm is performed by the ALM forwarding table constructor (218) (ST1102). Next, access to a specific rule in the empirical rule database (206) is performed by the ALM forwarding table constructor (218) (ST1104). Subsequently, the optimum stream path information table (204) is accessed by the ALM transfer table constructor (218) (ST1106). Thereafter, the ALM_FRC guarantee by the N-tree algorithm is applied to the metric (ST1108). Then, the server transfer table (202) is updated by the ALM transfer table constructor (218) using the generated operated metric (ST1110).

次に、図12を用いて、クライアントノードによる定期的な転送テーブル情報受信とパケット転送との方法を説明する。ALM転送テーブルディストリビュータ(278)は、選択されたサーバー転送テーブル(202)のコンテンツを、転送テーブル(FT)メッセージを介し、特定のクライアントに定期的に送信する(ST1202)。クライアントエンティティ(256)のALM転送テーブルレシーバ(280)は、これらの転送テーブル(FT)メッセージを受信し、そのクライアント転送テーブル(236)を更新する(ST1204)。   Next, a method of periodic transfer table information reception and packet transfer by the client node will be described with reference to FIG. The ALM transfer table distributor (278) periodically transmits the contents of the selected server transfer table (202) to a specific client via a transfer table (FT) message (ST1202). The ALM forwarding table receiver (280) of the client entity (256) receives these forwarding table (FT) messages and updates the client forwarding table (236) (ST1204).

次に、「水拡散」ポリシーを適用することによるN−ツリーアルゴリズム実行の詳細工程について、図13を用いてに具体的に説明する。全体プロセスは、単純には、すべてのソースノードが互いに接続され、N個のツリーを形成するまで、ALMセッションにおいて、N−ツリー内の各ソースノード(ルートノード)からすべてのノードまで、水の拡散で表すことができる。例えば、「初期リスト」からの、ALMセッション{a,..,n}内の各ノードは、特定カラー(カラーは送信元のノードを一意に特定するためのもの)により符号化され、ルートノードjを有するツリーに属するすべてのリンクは、カラーjを有する。当初、各ノードjは、ストリーム接続または到達可能性ステータスを示すカラー集合S[j]={j}を含む。ストリームkが「流れており」、ノードjに到達すると、ノードjは自身のカラー集合Sにカラーkを追加する:S[j]=S[j]+{k}。   Next, detailed steps of executing the N-tree algorithm by applying the “water diffusion” policy will be specifically described with reference to FIG. The whole process is simply that in the ALM session, from every source node (root node) to every node in the N-tree, all the source nodes are connected to each other to form N trees. It can be expressed by diffusion. For example, an ALM session {a,. . , N} is encoded with a specific color (color is for uniquely identifying the source node), and all links belonging to the tree with root node j have color j. Initially, each node j includes a color set S [j] = {j} indicating a stream connection or reachability status. When stream k is “flowing” and reaches node j, node j adds color k to its color set S: S [j] = S [j] + {k}.

当初、各カラーkに対し、DONE{a,(k=FALSE),..,n}は、FALSEに設定される。ストリームkが、ALMセッション内の他のすべてのノードに到達する(kをルートとするツリーが完成する)と、(DONE{a,(k=True),..,n}が、Trueに設定されるように、DONEリストにkを追加する。DONE{a,..,n}集合内のすべてのメンバーが、Trueに設定されるように、N個のすべてのツリーが完成するまで、これらの工程を使用することにより、1ループに1リンクをツリーに反復的に追加する。   Initially, for each color k, DONE {a, (k = FALSE),. . , N} is set to FALSE. When stream k reaches all other nodes in the ALM session (a tree rooted at k is completed), (DONE {a, (k = True), ..., n} is set to True Add k to the DONE list, so that all members in the DONE {a, ..., n} set are set to True until all N trees are complete. By using this process, one link is added to the tree repeatedly in one loop.

まず、ALM転送テーブルコンストラクタ(218)は、メトリックコレクタ(220)情報とグループメンバーシップ(222)情報とに基づき、N−ツリーセッション内のすべてのメンバーを識別し、リストデータベース(260)内に「初期リスト」を作成する(ST1302)。次に、ALM転送テーブルコンストラクタ(218)は、「初期リスト」からメンバーを選択し、すべてのN−ツリーのノードの「初期リスト」内のすべてのノードに対し、経験的規則データベース(206)からの規則に基づき、リストデータベース(260)内の「順序付きリスト」に該メンバーを追加する(ST1304)。経験的規則データベース(206)からの規則は、例えば、残りの未使用アップロードスロットの降順の番号である。   First, the ALM forwarding table constructor (218) identifies all members in the N-tree session based on the metric collector (220) information and group membership (222) information, and stores " An “initial list” is created (ST1302). Next, the ALM forwarding table constructor (218) selects members from the "initial list" and, for all nodes in the "initial list" of all N-tree nodes, from the empirical rule database (206). Based on the above rule, the member is added to the “ordered list” in the list database (260) (ST1304). The rules from the empirical rule database (206) are, for example, descending numbers of the remaining unused upload slots.

ALM転送テーブルコンストラクタ(218)は、「水拡散」ポリシー例に準拠し、ST1304では、DONE{a,(k=False),..,n}を有する自身の集合S内に、カラーkを依然として有する残されたスロットのうち、最も高い番号を有するノードを選択する。それらのノードは、「順序付きリスト」内に追加される。残されたスロットのうち、次に最も高い番号であって、アップロード/ダウンロードスロット制約のHRDB規則を満足するものを反復的に選択する。   The ALM forwarding table constructor (218) conforms to the “water diffusion” policy example, and in ST1304, DONE {a, (k = False),. . , N} in its own set S, select the node with the highest number among the remaining slots still having color k. These nodes are added in the “ordered list”. Of the remaining slots, the next highest number that repeatedly satisfies the HRDB rule of the upload / download slot constraint is iteratively selected.

次に、ALM転送テーブルコンストラクタ(218)は、経験的規則データベース(206)からの特定規則を満足することにより、所与のN−ツリーのすべてのノードに対するリンクを確立しなかった、最初のノードから始まる「順序付きリスト」からノードを選択する。次に、ALM転送テーブルコンストラクタ(218)は、該ノード(例えば、未使用スロットの最も高い番号のノード)を、「規則ベースの順序付きリスト」に追加する(ST1306)。上記工程は、すべてのノードが順序付けられるまで、ST1306において規則にマッチする全てのノードに対し続けられる(ST1308)。   Next, the ALM forwarding table constructor (218) did not establish links to all nodes of a given N-tree by satisfying specific rules from the empirical rule database (206). Select a node from the "ordered list" starting with. Next, the ALM forwarding table constructor (218) adds the node (for example, the highest numbered node of unused slots) to the “rule-based ordered list” (ST1306). The above process is continued for all nodes that match the rule in ST1306 until all nodes are ordered (ST1308).

次に、ALM転送テーブルコンストラクタ(218)は、ノードペアを形成するために、「規則ベースの順序付きリスト」から順序付きノードを選択する(ST1310)。そして、経験的規則データベース(206)からの特定規則(例えば、2つのノード間の最少待ち時間)を満足する、「初期リスト」からの別のノードが選択され、該ペアノードは「規則ベースのペアリスト」に追加される(ST1312)。   Next, the ALM forwarding table constructor (218) selects an ordered node from the “rule-based ordered list” in order to form a node pair (ST1310). Then another node from the “initial list” that satisfies a particular rule from the empirical rule database (206) (eg, the minimum latency between the two nodes) is selected, and the pair node is identified as “rule-based pair It is added to “list” (ST1312).

次に、ALM転送テーブルコンストラクタ(218)は、「規則ベースのペアリスト」からペアノードを選択し、経験的規則データベース(206)からの特定規則に基づいて、ペアノードを順序付ける(ST1314)。特定規則は、例えば、ペアは、未使用アップロードスロットのうち順序リスト上、最も高い番号のリンク情報に基づき、マッチするものとする。これらの工程(ST1306〜ST1314)により、N−ツリー形成のためのリンク選択が行なわれる。   Next, the ALM forwarding table constructor (218) selects a pair node from the “rule-based pair list”, and orders the pair nodes based on the specific rule from the empirical rule database (206) (ST1314). In the specific rule, for example, a pair is matched based on link information of the highest number in the order list among unused upload slots. By these steps (ST1306 to ST1314), link selection for N-tree formation is performed.

ALM転送テーブルコンストラクタ(218)は、「水拡散」の例に準拠し、これらの工程(ST1306〜ST1314)では、水が拡散することができる合法のトンネル(ノード間を論理的に接続する経路)を選択する。合法のトンネル(p1、p2)は、その開始点p1まで既に流れて来たが、未だp2には存在しない、いくつかのストリームを有するトンネルである。大きなトンネルまたは高い番号のスロットが好ましい。   The ALM forwarding table constructor (218) conforms to the example of “water diffusion”, and in these steps (ST1306 to ST1314), a legal tunnel (route that logically connects nodes) in which water can diffuse. Select. Legitimate tunnels (p1, p2) are tunnels with several streams that have already flowed to their starting point p1, but do not yet exist in p2. Large tunnels or high numbered slots are preferred.

次の工程では、前の工程の「順序付きリスト」のうち、メンバーpを有するすべてのリンク(p、q)に対し、待ち時間制約を満足するすべてのリンク(i、j)と、集合S[i]、S[j]≠φの基数とを選択する。次に、ALM転送テーブルコンストラクタ(218)は、それらを「規則ベースの順序付きリスト」に追加する(ST1306)。次の工程では、ALM転送テーブルコンストラクタ(218)は、「規則ベースの順序付きリスト」から、最も高いスロットを選択し、それらをリストデータベース(260)内の「規則ベースのペアリスト」に追加する(ST1312)。   In the next step, for all links (p, q) having member p in the “ordered list” of the previous step, all links (i, j) satisfying the latency constraint and the set S [I], S [j] ≠ [radix] is selected. Next, the ALM forwarding table constructor (218) adds them to the “rule-based ordered list” (ST1306). In the next step, the ALM forwarding table constructor (218) selects the highest slots from the "rule-based ordered list" and adds them to the "rule-based pair list" in the list database (260). (ST1312).

次に、ALM転送テーブルコンストラクタ(218)は、「規則ベースのペアリスト」から、経験的規則データベース(206)からの追加規則(例えば、ペア間の最も少ない待ち時間)を満足するメンバーを選択する(ST1316)。次に、ALM転送テーブルコンストラクタ(218)は、経験的規則データベース(206)から特定規則を採用することにより、「初期リスト」から各ノードを接続するN−ツリーを形成する(ST1318)。特定規則は、例えば、最大待ち時間規則に違反することなく、N−ツリーの1つのノードから、それ自身を除く、「初期リスト」のすべてのノードへの接続を形成する複数のノードペアを選択するという規則を採用する。このプロセスは、すべてのノードに対して、リンクステータスがTrueに設定される(ツリーにおけるリンクの完全な接続状態)ように、{a,i,,n}{a,,j,n}{a,,,k}..に対するすべてのノード、n、集合Sのメンバーを照合することにより、「規則ベースのペアリスト」からのすべてのメンバーに対し続けられる(ST1320)。   Next, the ALM forwarding table constructor (218) selects members from the "rule-based pair list" that satisfy additional rules from the empirical rule database (206) (eg, the lowest latency between pairs). (ST1316). Next, the ALM forwarding table constructor (218) forms an N-tree connecting the nodes from the “initial list” by adopting specific rules from the empirical rule database (206) (ST1318). The specific rule, for example, selects a plurality of node pairs that form a connection from one node of the N-tree to all nodes in the “initial list”, except itself, without violating the maximum latency rule. The rule is adopted. This process is {a, i ,, n} {a ,, j, n} {a so that the link status is set to True for all nodes (the complete connection state of the links in the tree). ,,, K}. . Continue for all members from the "rule-based pair list" by matching all nodes, n, members of set S to (ST1320).

「水拡散」の例に準拠し、この工程では、ALM転送テーブルコンストラクタ(218)は、選択すべき多くの合法のトンネルが存在する場合、最短のトンネルを選択する。すなわち、この工程では、ALM転送テーブルコンストラクタ(218)は、「規則ベースのペアリスト」内のすべてのリンク(i、j)に対して、ノードペア(r、v)間の最も少ない待ち時間を有するリンク(r、v)を選択する。   Consistent with the “water diffusion” example, in this step, the ALM forwarding table constructor (218) selects the shortest tunnel if there are many legal tunnels to select. That is, in this process, the ALM forwarding table constructor (218) has the least latency between the node pair (r, v) for all links (i, j) in the "rule-based pair list". Select the link (r, v).

ALM転送テーブルコンストラクタ(218)は、トンネル(r、v)の選択後、始点rに既に到達したストリームであって、終点vまで拡散し得る、多くのストリームが存在する場合、そのソースkからポイントvまでの許容可能な距離を与えるストリームを選択する。ALM転送テーブルコンストラクタ(218)は、ノードvが、ノードrをルートとするストリームを未だ受信していない場合、リンク(r、v)をノードrツリーに追加する。そうでなければ、ALM転送テーブルコンストラクタ(218)は、集合S[r]とS[v]からのノードをリンクする1つのランダムなカラーkに対し、待ち時間(k,v)が最大待ち時間以下の場合、kをルートとするツリーにリンク(r、v)を追加する。ALM転送テーブルコンストラクタ(218)は、選択可能なリンク(r、v)が存在しない場合(例えば、待ち時間の違反のため)、残された次に最も大きな容量を有する他のリンクを選択することを試みる。   The ALM forwarding table constructor (218) sets the point from the source k when there are many streams that have already reached the start point r and can be spread to the end point v after selection of the tunnel (r, v). Choose a stream that gives an acceptable distance to v. The ALM forwarding table constructor (218) adds the link (r, v) to the node r tree when the node v has not yet received a stream having the node r as a root. Otherwise, the ALM forwarding table constructor (218) has a waiting time (k, v) of maximum waiting time for one random color k linking nodes from the sets S [r] and S [v]. In the following case, a link (r, v) is added to a tree having k as a root. The ALM forwarding table constructor (218) selects the other link with the next largest capacity left if there are no selectable links (r, v) (eg due to latency violation). Try.

ALM転送テーブルコンストラクタ(218)は、「規則ベースの順序リスト」内のすべてのノードに対し、完全なN個のツリーが構築されるまで、このプロセスを繰り返す(ST1322)。完全なN個のツリーは、任意の1つのノードから、他のN−ツリー内の他のすべてのノードに到達するように、1つのN−ツリー内のすべてのノードが、N個のソースに対するN個のツリー内の他のノードに接続されるものと、定義される。これは、経験的規則データベース(206)からのすべての定義済み規則を完全に満足する、あるいは経験的規則データベース(206)からの部分的な規則を完全に満足することにより実現されてよい。   The ALM forwarding table constructor (218) repeats this process until a complete N trees are built for all nodes in the "rule-based ordered list" (ST1322). All nodes in one N-tree are for N sources so that a complete N tree can reach any other node in the other N-tree from any one node. Defined as connected to other nodes in N trees. This may be accomplished by fully satisfying all defined rules from the empirical rule database (206) or by fully satisfying partial rules from the empirical rule database (206).

最後に、図13Bに示すようにN−ツリー最適化が行われる(ST1324〜ST1330)。最初に、N−ツリーリンク移動が行われる(ST1324)。この工程は、図14Aに示すように、N個のツリーの高さを最小化するために、リンクをペアノード間で移動することを試みる。リンク移動後にN個のツリーが変更された場合、工程1312から始まる以下の工程によりN個のツリーの再構築が必要である(ST1326)。N個のツリーの再構築がリンク移動により失敗した場合、リンク並べ替えが行われる(ST1328)。完全なN個のツリーが構築されるまで、リンク並べ替え工程(ST1328)は続けられる(ST1330)。   Finally, N-tree optimization is performed as shown in FIG. 13B (ST1324 to ST1330). First, N-tree link movement is performed (ST1324). This process attempts to move links between paired nodes to minimize the height of N trees, as shown in FIG. 14A. When N trees are changed after moving the link, N trees need to be reconstructed by the following steps starting from step 1312 (ST1326). When reconstruction of N trees fails due to link movement, link rearrangement is performed (ST1328). The link reordering process (ST1328) is continued (ST1330) until complete N trees are constructed.

そして、N−ツリーアルゴリズムに基づく更新情報は、クライアントエンティティ間での配送のために、最適ストリーム経路情報テーブル(204)とサーバー転送テーブル(202)において反映される(ST1332)。   The update information based on the N-tree algorithm is reflected in the optimum stream path information table (204) and the server forwarding table (202) for delivery between client entities (ST1332).

次に、2つのN−ツリー最適化技術、リンク移動、リンク再ルーティングについて、図14Aと図14Bを用いて説明する。   Next, two N-tree optimization techniques, link movement, and link rerouting will be described with reference to FIGS. 14A and 14B.

まず、図14Aを用いて、N−ツリーアルゴリズムのリンク並べ替え工程について詳細に説明する。最初に、ALM転送テーブルコンストラクタ(218)は、N−ツリー並べ替えを行なうためのトリガを受信すると(ST1402)、最適ストリーム経路情報テーブル(204)からメンバーを選択する(ST1404)。最適ストリーム経路情報テーブル(204)内の2つのノード間に、未使用帯域幅を有するリンクが存在する場合、ALM転送テーブルコンストラクタ(218)は、新しいリンクの遅延制約と帯域幅とが、元の規則に関し、依然として有効となるように、該リンクを他のノードに移動させる(ST1406)。2つのノード間の関係は、最適ストリーム経路情報テーブル(204)内の親−子関係、祖父母−子関係等に関わらないものとする。これにより、最適ストリーム経路情報テーブル(204)内のすべてのノードに対するN−ツリーリンク並べ替えが可能となる(ST1408)。   First, the link rearrangement process of the N-tree algorithm will be described in detail with reference to FIG. 14A. First, when the ALM forwarding table constructor (218) receives a trigger for performing N-tree rearrangement (ST1402), it selects a member from the optimum stream path information table (204) (ST1404). If there is a link with unused bandwidth between two nodes in the optimal stream path information table (204), the ALM forwarding table constructor (218) determines that the new link delay constraint and bandwidth are With respect to the rules, the link is moved to another node so that it is still valid (ST1406). The relationship between the two nodes is not related to the parent-child relationship, grandparent-child relationship, etc. in the optimum stream route information table (204). This enables N-tree link rearrangement for all nodes in the optimum stream path information table (204) (ST1408).

次に、図14Bを用いて、N−ツリーアルゴリズムのリンク移動工程について、詳細に説明する。最初に、ALM転送テーブルコンストラクタ(218)は、リンク移動のためにトリガを受信すると(ST1410)、リンク移動目的の最適ストリーム経路情報テーブル(204)からメンバーを選択する(ST1412)。ALM転送テーブルコンストラクタ(218)は、最適ストリーム経路情報テーブル(204)内の2つの同じノード間の親−子関係、祖父母−子関係等に関らず、2つ以上の論理リンクが存在し、当該リンク上の2つのノード間の遅延制約と帯域幅とが同じになるように、第1のリンクと第2のリンクを比較する。さらに、より多くの中間ノードを有する場合、ALM転送テーブルコンストラクタ(218)は、より短いN−ツリーを有するように、前者のリンクを後者のリンクで置換する(ST1414)。これにより、最適ストリーム経路情報テーブル(204)内のすべてのノードに対し、N−ツリーの高さを最小化することができる(ST1416)。   Next, the link movement process of the N-tree algorithm will be described in detail with reference to FIG. 14B. First, when receiving a trigger for link movement (ST1410), the ALM forwarding table constructor (218) selects a member from the optimum stream path information table (204) for link movement (ST1412). The ALM forwarding table constructor (218) has two or more logical links regardless of the parent-child relationship, grandparent-child relationship, etc. between two identical nodes in the optimal stream path information table (204), The first link and the second link are compared so that the delay constraint and the bandwidth between the two nodes on the link are the same. Furthermore, if there are more intermediate nodes, the ALM forwarding table constructor (218) replaces the former link with the latter link so as to have a shorter N-tree (ST1414). As a result, the height of the N-tree can be minimized for all the nodes in the optimum stream path information table (204) (ST1416).

例外的なケースでは、N−ツリー構築中にノードのあらゆる候補について試みた後、最適化のためのリンク移動と並べ替えとの両方が失敗するということもあり得る。このようなシナリオでは、N−ツリー計算は不完全となり、N−ツリーアルゴリズムの完成に失敗する。しかしながら、N−ツリーのシミュレーションの結果は、リンク移動、リンク並べ替え技術、経験的規則データベース情報の利用により、ツリーを算出した際、所与のケースの99%でN−ツリーアルゴリズムが成功することを証明した。一方、リンク移動、リンク並べ替え技術、経験的規則データベース情報が無いと、所与のケースに対しN−ツリー構築の成功率は95%となった。N−ツリー計算時間は、12個のノードに対し、普通のパーソナルコンピュータ仕様では50ミリ秒未満である。   In exceptional cases, after trying for every candidate node during N-tree construction, both link movement and reordering for optimization may fail. In such a scenario, the N-tree computation is incomplete and the N-tree algorithm fails to complete. However, N-tree simulation results show that the N-tree algorithm succeeds in 99% of the given cases when the tree is calculated using link movement, link reordering techniques, and empirical rule database information. Proved. On the other hand, without link movement, link reordering technology, and empirical rule database information, the success rate of N-tree construction was 95% for a given case. The N-tree computation time is less than 50 milliseconds for 12 nodes in a normal personal computer specification.

N−ツリーの高さ最小化/リンク移動は、所与の「水拡散」の例に基づき、次のように説明することができる。任意のノードjをルートとするツリーにおいて、ノードkの親ノードからノードkへのリンクを断ち、ノードkからノードpへのリンクへの置換は、ツリーjの待ち時間に違反しない。なお、この場合、ノードkの第2の親は、ノードkの既存の直接親を置換可能なノードpとして定義することができる。したがって、ノードは、N−1個の第2の親の組(他のノードをルートとするN−1個のツリーに対応する)を有することができるであろう。これは、{a,,k=trure,,n}を{a,,k=false,,n}に変更することにより、「規則ベースの順序リスト」からリンク「k」(ペアノード間のリンク)を削除し、そして「規則ベースの順序リスト」からリンク「k’」を選択する。この場合、k’は、第2の親であるので選択される。   N-tree height minimization / link movement can be described as follows, based on a given “water diffusion” example. In a tree having an arbitrary node j as a root, the link from the parent node of node k to node k and the replacement from the link of node k to node p do not violate the waiting time of tree j. In this case, the second parent of the node k can be defined as a node p that can replace the existing direct parent of the node k. Thus, a node could have N-1 second parent sets (corresponding to N-1 trees rooted at other nodes). This is done by changing {a ,, k = true ,, n} to {a ,, k = false, n} to link “k” (link between paired nodes) from the “rule-based ordered list”. And select the link “k ′” from the “rule-based ordered list”. In this case, k 'is selected because it is the second parent.

次に、図15を用いて、クライアントノードによるパケット転送方法について説明する。まず、クライアントノードは、他のいずれかのノードからソースパケットを受信する(ST1502)。次に、クライアントノードは、送信先IPアドレス及びポート番号を識別するために、前に説明したような2つのテュープル(IPアドレスとポートの組)あるいは3つのテュープル(IPアドレス、ポート、または、ALMパケットであることを示すフラグもしくは区分の組)に基づいて、そのクライアント転送テーブル(236)を検索する(ST1504)。なお、ALMパケットであることを示すフラグもしくは区分とは、IPv4のToS(Type of Service)フィールドであっても、IPv6ヘッダのDSCP(Differentiated Services Code Point)領域やフローラベルのいずれか、もしくは双方の組み合わせであってもかまわない。もしくは、ALMパケットであることを示すフラグもしくは区分は、UDPペイロード領域の定められた特定の領域であってもかまわない。   Next, a packet transfer method by a client node will be described with reference to FIG. First, the client node receives a source packet from any other node (ST1502). The client node then identifies two destinations (IP address and port pair) or three tuples (IP address, port, or ALM) as previously described to identify the destination IP address and port number. The client forwarding table (236) is searched based on a flag indicating a packet or a set of classifications (ST1504). The flag or classification indicating that the packet is an ALM packet may be either a DSCP (Differentiated Services Code Point) area of the IPv6 header, a flow label, or both of the IPv4 ToS (Type of Service) field. A combination may be used. Alternatively, the flag or section indicating that the packet is an ALM packet may be a specific area defined in the UDP payload area.

次に、クライアントノードは、ALMパケットのソースIPアドレス及びポート番号を、現在のノードIPアドレス及びポート番号に変更する(ST1506)。これは、すべてのネットワークパケットがN−ツリー構築された経路に従い、ノード間の帯域幅公平性がもたらされることを保証する。最後に、クライアントノードは、ネットワークパケットを、それぞれの次の送付先ノードに転送する(ST1508)。   Next, the client node changes the source IP address and port number of the ALM packet to the current node IP address and port number (ST1506). This ensures that all network packets follow an N-tree constructed path resulting in bandwidth fairness between nodes. Finally, the client node transfers the network packet to each next destination node (ST1508).

次に、本発明のN−ツリーアルゴリズムの具体例について、図16を用いて説明する。図16には、図17と同じネットワーク条件に対するN−ツリーアルゴリズムのステップごとのアプリケーションと、その結果のネットワークリンクとを例示する。各ノード[NY、SG、JP、VN]べ−スのツリーは、規定されたいくつかの経験的規則に従う最大のものから最も少ないものへ、規定された待ち時間と帯域幅速度セット/スロットに対して最良のネットワークリンクを探索する。帯域幅速度セット/スロットは、例えば、8Mbps、4Mbps、3Mbpsまたは2Mbpsとする。   Next, a specific example of the N-tree algorithm of the present invention will be described with reference to FIG. FIG. 16 illustrates the step-by-step application of the N-tree algorithm for the same network conditions as FIG. 17 and the resulting network link. The tree of each node [NY, SG, JP, VN] base is from the largest to the least according to some defined empirical rules, with a defined latency and bandwidth rate set / slot. Search for the best network link. The bandwidth rate set / slot is, for example, 8 Mbps, 4 Mbps, 3 Mbps, or 2 Mbps.

この場合の経験的規則は、上記規則1から規則4である。これにより、図16に示すように、ループ1から順番に経路が選択される。   The empirical rules in this case are rule 1 to rule 4 above. Thereby, as shown in FIG. 16, the route is selected in order from the loop 1.

ここで、一つの経路構築がうまくいかなければ、遅延制約を遵守することに加え、すべてのノードに対する公平な帯域幅を維持する処理を再度開始するためにバックトラックが行われる。   Here, if one path construction is not successful, backtracking is performed in order to start processing for maintaining a fair bandwidth for all nodes in addition to complying with the delay constraint.

図16の場合、本発明のN−ツリーアルゴリズムを実行すると、N個のノード(この例ではN=4)に対する一対N分散ツリーのそれぞれは、次のように計算される。   In the case of FIG. 16, when the N-tree algorithm of the present invention is executed, each of the paired N distributed trees for N nodes (N = 4 in this example) is calculated as follows.

(1)まず、許容帯域幅が最も大きいMYから、8Mbpsの帯域幅で、MYとの遅延が最も少ないVNへパケットを直接送信する経路を選択し(ループ1)、MYとの遅延が2番目に少ないSGへパケットを直接送信する経路を選択する(ループ2)(図16(A))。ただし、MYとJPの間の遅延D=300msが、最大レイテンシ250msを超えているため、MYからJPへパケットを直接送信する経路を選択することはできない。この結果、残りの帯域幅は、MYが20Mbps、SGが12Mbps、JPが16Mbps、VNが6Mbpsとなる。 (1) First, a route for directly transmitting a packet from MY having the largest allowable bandwidth to a VN having a bandwidth of 8 Mbps and the smallest delay with MY is selected (loop 1), and the delay with MY is the second. A route for directly transmitting a packet to a few SGs is selected (loop 2) (FIG. 16A). However, since the delay D = 300 ms between MY and JP exceeds the maximum latency of 250 ms, a route for directly transmitting a packet from MY to JP cannot be selected. As a result, the remaining bandwidth is 20 Mbps for MY, 12 Mbps for SG, 16 Mbps for JP, and 6 Mbps for VN.

(2)次に、残りの帯域幅が2番目に大きいSGから、4Mbpsの帯域幅で、SGとの遅延が最も少ないVNへパケットを直接送信する経路を選択し(ループ3)、SGとの遅延が2番目に少ないJPへパケットを直接送信する経路を選択する(ループ4)。この時点で、残りの帯域幅は、JPの方が大きくなるので、次に、JPから、4Mbpsの帯域幅で、JPとの遅延が最も少ないVNへパケットを直接送信する経路を選択する(ループ5)(図16(B))。この結果、残りの帯域幅は、MYが20Mbps、SGが12Mbps、JPが12Mbps、VNが6Mbpsとなる。 (2) Next, a route for directly transmitting a packet from the SG with the second largest remaining bandwidth to the VN having the smallest delay with the SG with a bandwidth of 4 Mbps is selected (loop 3). A route for directly transmitting a packet to the JP with the second smallest delay is selected (loop 4). At this point, since the remaining bandwidth of JP is larger than that of JP, a route for directly transmitting a packet from JP to a VN with a bandwidth of 4 Mbps and the smallest delay with JP is selected (loop) 5) (FIG. 16B). As a result, the remaining bandwidth is 20 Mbps for MY, 12 Mbps for SG, 12 Mbps for JP, and 6 Mbps for VN.

(3)次に、残りの帯域幅が2番目に大きいJPから、4Mbpsの帯域幅で、SGへパケットを直接送信する経路を選択する(ループ6)(図16(C))。この結果、残りの帯域幅は、MYが20Mbps、SGが12Mbps、JPが8Mbps、VNが6Mbpsとなる。 (3) Next, a route for directly transmitting a packet to the SG with a bandwidth of 4 Mbps is selected from the JP having the second largest bandwidth (loop 6) (FIG. 16C). As a result, the remaining bandwidth is 20 Mbps for MY, 12 Mbps for SG, 8 Mbps for JP, and 6 Mbps for VN.

(4)次に、残りの帯域幅が2番目に大きいSGから、4Mbpsの帯域幅で、MYへパケットを直接送信する経路を選択する(ループ7)(図16(D))。この結果、残りの帯域幅は、MYが20Mbps、SGが8Mbps、JPが8Mbps、VNが6Mbpsとなる。 (4) Next, a route for directly transmitting a packet to MY with a bandwidth of 4 Mbps is selected from the SG with the second largest remaining bandwidth (loop 7) (FIG. 16D). As a result, the remaining bandwidth is 20 Mbps for MY, 8 Mbps for SG, 8 Mbps for JP, and 6 Mbps for VN.

(5)次に、残りの帯域幅が最も大きいMYから、4Mbpsの帯域幅で、SGを経由して、JPへパケットを送信する経路を選択する(ループ8)(図16(E))。この結果、残りの帯域幅は、MYが20Mbps、SGが4Mbps、JPが8Mbps、VNが6Mbpsとなる。 (5) Next, from MY having the largest remaining bandwidth, a route for transmitting packets to the JP via the SG with a bandwidth of 4 Mbps is selected (loop 8) (FIG. 16E). As a result, the remaining bandwidth is 20 Mbps for MY, 4 Mbps for SG, 8 Mbps for JP, and 6 Mbps for VN.

(6)次に、残りの帯域幅が2番目にJPから、4Mbpsの帯域幅で、SGを経由して、MYへパケットを送信する経路を選択する(ループ9)(図16(F))。この結果、残りの帯域幅は、MYが20Mbps、SGが0Mbps、JPが8Mbps、VNが6Mbpsとなる。 (6) Next, the route from which the remaining bandwidth is the second from JP to 4 Mbps and the packet is transmitted to the MY via the SG is selected (loop 9) (FIG. 16F) . As a result, the remaining bandwidth is 20 Mbps for MY, 0 Mbps for SG, 8 Mbps for JP, and 6 Mbps for VN.

(7)次に、VNから、4Mbpsの帯域幅で、JPへパケットを直接送信する経路を選択し(ループ10)、さらに、VNから、4Mbpsの帯域幅で、JPを経由して、SGへパケットを送信する経路を選択する(ループ11)(図16(G))。この結果、残りの帯域幅は、MYが20Mbps、SGが0Mbps、JPが4Mbps、VNが2Mbpsとなる。 (7) Next, a route for directly transmitting a packet from the VN to the JP with a bandwidth of 4 Mbps is selected (loop 10), and further, from the VN to the SG via the JP with a bandwidth of 4 Mbps. A route for transmitting a packet is selected (loop 11) (FIG. 16G). As a result, the remaining bandwidth is 20 Mbps for MY, 0 Mbps for SG, 4 Mbps for JP, and 2 Mbps for VN.

ここで、SGの残りの帯域幅が0Mbps、VNの残りの帯域幅が2Mbpsであるため、4Mbpsの帯域幅で、VNからMYに到達するための経路を見出すことができない。   Here, since the remaining bandwidth of SG is 0 Mbps and the remaining bandwidth of VN is 2 Mbps, it is not possible to find a route for reaching MY from VN with a bandwidth of 4 Mbps.

したがって、本発明のN−ツリーアルゴリズムは、バックトラッキング工程に移り、ルートの見直しを行う。具体的には、MYを選択し、リンク(SG−VN)を削除し、その代わりに2つのリンク、すなわちSGツリー内の(SG−MY)と(MY−VN)の経路を選択する(ループ12)(図16(H))。この結果、残りの帯域幅は、MYが16Mbps、SGが4Mbps、JPが4Mbps、VNが2Mbpsとなる。   Therefore, the N-tree algorithm of the present invention moves to the backtracking process and reviews the route. Specifically, MY is selected, the link (SG-VN) is deleted, and two links, that is, (SG-MY) and (MY-VN) paths in the SG tree are selected instead (loop) 12) (FIG. 16H). As a result, the remaining bandwidth is 16 Mbps for MY, 4 Mbps for SG, 4 Mbps for JP, and 2 Mbps for VN.

これにより、VNから、4Mbpsの帯域幅で、JP、SGを経由して、MYへパケットを送信する経路を選択することができるようになる(ループ13)(図16(I))。この結果、残りの帯域幅は、MYが16Mbps、SGが0Mbps、JPが4Mbps、VNが2Mbpsとなる。   As a result, it becomes possible to select a route for transmitting packets to MY from VN via JP and SG with a bandwidth of 4 Mbps (loop 13) (FIG. 16 (I)). As a result, the remaining bandwidth is 16 Mbps for MY, 0 Mbps for SG, 4 Mbps for JP, and 2 Mbps for VN.

このように、本発明のN−ツリーアルゴリズムは、ソースベースのツリーを構築して最短の遅延パスに向かうようにバイアスをかけるMSTベースの方法と比較し、N個のソースツリーを同時に構築し、ストリームごとに帯域幅を公平に割り当てることができる。   Thus, the N-tree algorithm of the present invention builds N source trees at the same time as compared to an MST-based method that builds a source-based tree and biases it towards the shortest delay path. Bandwidth can be allocated fairly for each stream.

例えば、図18に示した従来方法ではVNが2Mbpsの帯域幅しか確保できないのに対し、図16に示した本発明のN−ツリー構築方法では全てのノードにおいて4Mbpsの帯域幅を確保することができる。すなわち、各ノード(MY、SG、JP、VN)は、公平な帯域幅と許容された遅延制約に基づきN−ツリーを同時に構築することができる。   For example, the conventional method shown in FIG. 18 can only secure a bandwidth of VMbps of 2 Mbps, whereas the N-tree construction method of the present invention shown in FIG. 16 can secure a bandwidth of 4 Mbps at all nodes. it can. That is, each node (MY, SG, JP, VN) can simultaneously construct an N-tree based on fair bandwidth and allowed delay constraints.

本発明は、小グループの参加者が、ネットワーク上ですべての参加者間のセッションを通じて高度な対話機能と良好なAV品質でAVストリームまたはコンテンツを交換するAV会議アプリケーションに用いるに好適である。   The present invention is suitable for use in AV conferencing applications in which small group participants exchange AV streams or content with a high level of interaction and good AV quality through a session between all participants on the network.

102 サーバー
104、106、108、110 クライアント
112 ネットワーク
202 サーバー転送テーブル
204 最適ストリーム経路情報テーブル
206 経験的規則データベース
210 サーバーエンティティ
218 ALM転送テーブルコンストラクタ
220 メトリックコレクタ
222 グループメンバーシップ
226 メトリックデータベース
230 メンバーシップデータベース
236 クライアント転送テーブル
240 ALM転送テーブルエクゼキュータ
244 メトリックプロバイダ
246 グループメンバーシップ
250 メトリックデータベース
254 メンバーシップデータベース
256 クライアントエンティティ
260 リストデータベース
262 ルーティングエンジン
278 ALM転送テーブルディストリビュータ
280 ALM転送テーブルレシーバ

102 server 104, 106, 108, 110 client 112 network 202 server forwarding table 204 optimal stream path information table 206 empirical rule database 210 server entity 218 ALM forwarding table constructor 220 metric collector 222 group membership 226 metric database 230 membership database 236 Client forwarding table 240 ALM forwarding table executor 244 Metric provider 246 Group membership 250 Metric database 254 Membership database 256 Client entity 260 List database 262 Routing engine 278 ALM forwarding table distributor 280 ALM transfer table receiver

Claims (4)

a.すべてのノードに対し、メトリックコレクタ情報及びグループメンバーシップ情報を参照して初期リスト内のALMメンバーを順序付ける工程と、
b.すべてのN−ツリー内のすべてのノードに対し、前記初期リストのメンバーを第1の経験的規則に基づいて順序付きリスト内に順序付ける工程と、
c.前記順序付きリストのメンバーから、第2の経験的規則に基づくN−ツリー内の他のノードに対するリンク接続ステータスを満たすものを選択し、各N−ツリー毎の規則ベース順序付きリストに順序付ける工程と、
d.前記規則ベース順序付きリストのメンバーと前記初期リストのメンバーの中から、第3の経験的規則を満足する2つのノード間の論理的な接続を有する2つのメンバーをペアノードとして選択し、規則ベースペアリスト内に順序付ける工程と、
e.前記規則ベースペアリスト内のノードペアの中から、第4の経験的規則を満足するものを選択する工程と、
f.第5の経験的規則に基づいて、グループ内のすべての受信ノードに対し、前記初期リストから選択された所与のルートノードのN−ツリーを形成する工程と、
g.特定のN−ツリーのノード間のすべてのリンクが接続されることを保証する工程と、
h.N−ツリー構造に含まれる前記初期リストのノードに基づいて、特定のN−ツリー内のすべてのノードを保証する工程と、
i.複数のN−ツリー構造に含まれる前記初期リストのノードに基づいて、すべてのN−ツリーを保証する工程と、を含む、
N−ツリー構築方法。
a. Ordering ALM members in the initial list with reference to metric collector information and group membership information for all nodes;
b. Ordering the members of the initial list into an ordered list based on a first empirical rule for all nodes in all N-trees;
c. Selecting from the members of the ordered list those satisfying the link connection status for other nodes in the N-tree based on a second empirical rule, and ordering into a rule-based ordered list for each N-tree When,
d. Two members having a logical connection between two nodes satisfying a third empirical rule are selected as a pair node from the members of the rule-based ordered list and the members of the initial list, and the rule-base pair Ordering in the list;
e. Selecting a node satisfying a fourth empirical rule from among the node pairs in the rule base pair list;
f. Forming an N-tree of a given root node selected from the initial list for all receiving nodes in the group based on a fifth empirical rule;
g. Ensuring that all links between nodes of a particular N-tree are connected;
h. Guaranteeing all nodes in a particular N-tree based on the nodes of the initial list included in the N-tree structure;
i. Guaranteeing all N-trees based on the nodes of the initial list included in a plurality of N-tree structures.
N-tree construction method.
j.リンク移動とリンク並べ替えにより前記N−ツリーを最適化する工程をさらに含む、請求項1に記載のN−ツリー構築方法。   j. The method of claim 1, further comprising the step of optimizing the N-tree by link movement and link reordering. 前記N−ツリーを最適化する工程は、
未使用帯域幅/スロットを有する2つのノードの間にリンクが存在する場合、第6の経験的規則が依然として有効となるように該リンクを他のノードに移動させることにより、N−ツリーのリンク並べ替えを行なう工程と、
2つの同一ノードの間に2つ以上の論理リンクが存在し、第1のリンクが第2のリンクに比較しより多くの中間ノードを有する場合、第7の経験的規則が満足され、前者のリンクが短いN−ツリーを有するように後者のリンクにより置換されるように、N−ツリーのリンク移動を行なう工程と、を含む、
請求項2に記載のN−ツリー構築方法。
The step of optimizing the N-tree includes:
If a link exists between two nodes with unused bandwidth / slots, the link of the N-tree is moved by moving the link to another node so that the sixth empirical rule is still valid Rearranging, and
If there are two or more logical links between two identical nodes and the first link has more intermediate nodes compared to the second link, the seventh empirical rule is satisfied and the former Performing a link move of the N-tree such that the link is replaced by the latter link so that it has a short N-tree.
The N-tree construction method according to claim 2.
k.構築されたN−ツリー情報を、最適ストリーム経路情報テーブル及びサーバー帯域幅公平化転送テーブルに対し更新する工程をさらに含む、請求項1から請求項3のいずれかに記載のN−ツリー構築方法。   k. The N-tree construction method according to any one of claims 1 to 3, further comprising a step of updating the constructed N-tree information to the optimum stream path information table and the server bandwidth fairness forwarding table.
JP2012140906A 2008-02-08 2012-06-22 N-tree constructing method Pending JP2012200014A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012140906A JP2012200014A (en) 2008-02-08 2012-06-22 N-tree constructing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008029771 2008-02-08
JP2008029771 2008-02-08
JP2012140906A JP2012200014A (en) 2008-02-08 2012-06-22 N-tree constructing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008306671A Division JP5058135B2 (en) 2008-02-08 2008-12-01 Terminal device

Publications (1)

Publication Number Publication Date
JP2012200014A true JP2012200014A (en) 2012-10-18

Family

ID=47181684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012140906A Pending JP2012200014A (en) 2008-02-08 2012-06-22 N-tree constructing method

Country Status (1)

Country Link
JP (1) JP2012200014A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006050639A (en) * 2004-08-05 2006-02-16 Microsoft Corp Transmission optimization for multicast at application level

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006050639A (en) * 2004-08-05 2006-02-16 Microsoft Corp Transmission optimization for multicast at application level

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200501629005; 高野 健一郎 他: '多対多ビデオ会議システムのためのアプリケーションマルチキャストツリー構成手法の提案と実装' 情報処理学会研究報告 第2005巻,第58号, 20050603, p.41〜46 *
JPN6013047851; 高野 健一郎 他: '多対多ビデオ会議システムのためのアプリケーションマルチキャストツリー構成手法の提案と実装' 情報処理学会研究報告 第2005巻,第58号, 20050603, p.41〜46 *

Similar Documents

Publication Publication Date Title
JP5058135B2 (en) Terminal device
Zdonik et al. SpringerBriefs in Computer Science
Matta et al. QDMR: An efficient QoS dependent multicast routing algorithm
Estrin et al. A dynamic bootstrap mechanism for rendezvous-based multicast routing
EP3038327A1 (en) System and method for multi-source multicasting in content-centric networks
US8649375B2 (en) Method and devices for multicast distribution optimization
Yang et al. Efficient resource allocation for wireless multicast
Baldi et al. Adaptive group multicast with time-driven priority
Garcia-Luna-Aceves Efficient multi-source multicasting in information centric networks
CN110324249A (en) A kind of dragonfly network architecture and its multicast route method
Sllame et al. Performance comparison of VoIP over wireless ad hoc networks using different routing protocols and queuing techniques
Hui et al. Analysis and research on OLSR protocol for multi-channel assignment of wireless mesh network
JP2012200014A (en) N-tree constructing method
Moh et al. QoS-guaranteed one-to-many and many-to-many multicast routing
Matta et al. On routing real-time multicast connections
US7315516B2 (en) Method for generating casting path among participants for multicasting
Chakraborty et al. Optimal routing for dynamic multipoint connection
Rong et al. LSMR: A label switching multipath routing protocol for ad hoc networks
Ahmadi et al. Adaptive multi-metric routing in distressed mobile sensing networks
Wang et al. Routing algorithms for supporting resource reservation
Hizal et al. lResearch on quality of service based routing protocols for mobile ad hoc networks
Alassery Fast Packets Delivery Techniques for Urgent Packets in Emergency Applications of Internet of Things
Badis A QoS-aware multicast routing protocol for multimedia applications in mobile ad hoc networks
Faizullah et al. An Innovative and Efficient Multipath Multicast Mechanism for Data Streams
Im et al. A distributed multicast routing algorithm for delay-sensitive applications

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140610