JP5058135B2 - 端末装置 - Google Patents

端末装置 Download PDF

Info

Publication number
JP5058135B2
JP5058135B2 JP2008306671A JP2008306671A JP5058135B2 JP 5058135 B2 JP5058135 B2 JP 5058135B2 JP 2008306671 A JP2008306671 A JP 2008306671A JP 2008306671 A JP2008306671 A JP 2008306671A JP 5058135 B2 JP5058135 B2 JP 5058135B2
Authority
JP
Japan
Prior art keywords
tree
node
forwarding table
alm
nodes
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.)
Active
Application number
JP2008306671A
Other languages
English (en)
Other versions
JP2009213120A (ja
Inventor
カンダサミ カルッピアー エティカン
コック ホン ヤップ
ブン ピン リン
ペキュー タン
衛一 村本
ナム トハイ
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
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008306671A priority Critical patent/JP5058135B2/ja
Priority to CN2008801263172A priority patent/CN101939954B/zh
Priority to MYPI20103472 priority patent/MY151214A/en
Priority to US12/865,134 priority patent/US8520556B2/en
Priority to PCT/JP2008/004017 priority patent/WO2009098748A1/ja
Priority to SG2011048188A priority patent/SG186514A1/en
Publication of JP2009213120A publication Critical patent/JP2009213120A/ja
Application granted granted Critical
Publication of JP5058135B2 publication Critical patent/JP5058135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Description

本発明は、N−ツリーにおいて公平な帯域幅共有を行なうための端末装置に関する。
多地点通信、特にはインターネット上の多地点通信は、セッション中に、すべての参加ノードに対し同時に同じコンテンツを配送するマルチキャスト方法により広く行われている。
IPマルチキャストは、IP層マルチキャスティングを可能にするための、中間ノード構成と末端ノード構成とインターネットサービスプロバイダー参加要件が複雑であるという問題がある。これに対して、アプリケーション層マルチキャスティング(Application Layer Multicasting:ALM)は、既存のユニキャストネットワークアーキテクチャ上にアプリケーション層を実施することから、簡易であるため普及している。
ALMは、IP層におけるマルチキャスト転送機能が不要であることから、参加ノード間でのメンバー自身によるAV(オーディオビデオ)パケット転送、及び、アプリケーション層におけるAVパケット転送を柔軟に行うことができる。
ALMは、特定セッション中にすべての参加者が事前の環境設定なしに、参加者の間でAVコンテンツまたはストリームを交換することができる。したがって、ALMは、複数の当事者間で行われるテレビ会議のような、AVベースのアプリケーションに極めて有用である。
参加ノード間で交換されるAVストリームの数は、メンバー数をNとすると、N×(N−1)のオーダーで増加する。通信ネットワークに、帯域幅と待ち時間との点において、公平な通信コストを維持させることは、特に末端ノード間のインターネット環境では困難である。これは、オープンネットワークとしてのインターネットは、参加ノードによるAVストリームの交換中において、ノード間での帯域幅の公平性を保証しないからである。
複数のISP(Internet Services Provider)は、本来動的であるインターネットの経路を維持するので、複数のツリーに対し最少のストリーム配送遅延ツリーを構築し維持することは困難である。これは、例えば、ユニキャストパケットルーティングアーキテクチャによる根本的な帯域幅を意識しないソースベースツリー(SBT)ルーティングメカニズムに起因する特定メンバーの喪失に至る。また、AVセッションにおける参加ノード間の帯域幅共有のような、不公平な資源分配をもたらす。
パケットルーティングは、ALM用のアプリケーション層において行われるので、参加ノードはグループに編制されることになる。そして、パケットルーティングは、パケット転送メカニズムをすべての参加ノードに知らせる必要がある。
ネットワーク層ルーティングメカニズムは、近視眼的な(short-sited)最も近い経路の構築方法であるため、帯域幅公平化配送ツリー(bandwidth fair distribution tree)ソリューションを提供しない。ネットワーク層ルーティングメカニズムとしては、短経路生成のためのDijkstra、Bellman-Ford、Primアルゴリズムの”欲張り”概念に基づくSBTや最小スパニング樹(Minimum Spanning Tree:MST)などが知られている。そして、インターネット上のユニキャストパケットルーティングは、これらのアルゴリズムに基づいており、ALMルーティングの要件を反映しない。
これらのソリューションは、末端ノードネットワーク帯域幅及び全体ネットワークトポロジーを意識しないことから、ノードの共有経路におけるトラヒック輻輳を引き起こす。また、これらのソリューションは、ALMアプリケーションに対し長いネットワーク待ち時間とAV品質劣化とをもたらす。
以下、従来技術、すなわちPrim−MST(最小スパニング樹)アルゴリズムメカニズムについて、簡単な例(図17)を用いて説明する。図17には、各ノードの回線の帯域幅B(X)容量と2つのノード間の遅延D(A、B)とを有する4つの異なる場所、すなわちベトナム(VN)、日本(JP)、マレーシア(MY)、シンガポール(SG)を例示する。この例では、8Mbps、4Mbps、3Mbpsまたは2Mbpsの送信速度セット/スロットが用いられている。
この場合、従来の、欲張りアルゴリズム原理に基づくPrim−MSTアルゴリズムを実行すると、N個のノード(この例ではN=4)に対する一対N分散ツリーのそれぞれは、次のように計算される。
(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となる。
(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となる。
(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となる。
(4)最後に、当初の帯域幅が最も小さいVNが、他のノードへパケットを送信するための経路を選択する。ここで、VNの残りの帯域幅は2Mbpsであるので、VNが、MYに対して、パケットを直接送信する経路を選択し、2Mbpsの帯域幅を確保する。また、VNからJPに、MYを経由してパケットを送信する経路を選択すれば、VNがJPに対して2Mbpsの帯域幅を確保することができる。また、VNからSGに、MY及びJPを経由してパケットを送信する経路を選択すれば、VNがSGに対して2Mbpsの帯域幅を確保することができる(図18(D))。
このように、従来のN−ツリーアルゴリズム(Prim−MST)によっても、一対NソースベースのツリーをN個構築することにより、参加ノード間のN対Nのテレビ会議セッションを確立することができる。この方法は、SBTに基づく待ち時間要件を満足することは可能である。
ミン・シク・キム他「インターネットストリーミングメディアのための最適配送ツリー」(Min Sik Kim et. al,’’Optimal Distribution Tree for Internet Streaming Media’’)、第23回IEEE ICDCS会議録、2003年5月 米国特許出願公開第2006/0251062号明細書 米国特許出願公開第2006/0153100号明細書 米国特許出願公開第2005/0080894号明細書 米国特許出願公開第2005/0243722号明細書
しかしながら、従来のN−ツリーアルゴリズムは、N−ツリーの構築段階に各ツリー間の調和をとることなく個別に算出するため、N個の一対Nツリー間の帯域幅の公平性を満足しない。
図18の場合であれば、従来のN−ツリーアルゴリズムは、VNについて2Mbpsの帯域幅しか確保することができない。
また、従来のN−ツリーアルゴリズムを用いて、帯域幅が公平なN−ツリーを構築しようとすると、全ての組み合わせについて計算しなければならないため、メンバー数Nが増える毎に級数的に計算量が増え、計算量が膨大となってしまう。
本発明は、かかる点に鑑みてなされたものであり、エンドツーエンドノード遅延を低減することによりトラヒック輻輳を最小限にし、更に、共有N−ツリーノードで利用可能な帯域幅を最大化し、すべてのALMノード間で公平な帯域幅を共有することができるN−ツリーを構築する端末装置を提供する。
本発明の端末装置は、多対多の通信における、ノード間のパケット送信経路を設定する端末装置であって、前記多対多の通信に参加するメンバーを特定するアドレス情報を用いて、メンバー間のリンクの帯域幅およびパケットの往復時間を計測し、計測結果をメトリックデータベースに格納するメトリックコレクタと、前記計測結果を用いて、前記メンバー間のパケット送信経路を、帯域幅が均等になるようにN−ツリーを形成し、パケット送信経路を設定してサーバー転送テーブルに格納するALM転送テーブルコンストラクタと、前記ALM転送テーブルコンストラクタが設定したパケット送信経路を、入力ポート番号、宛先アドレス、宛先ポート番号の対で表現される情報に変換し、前記各メンバーに通知するALM転送テーブルディストリビュータと、を具備する構成を採る。
本発明によれば、経験的手法(heuristic approach)と、メトリック情報と、連続経路情報メンテナンスによるALM転送テーブルの構築及び配送との組合せを利用することにより、エンドツーエンドノード遅延を低減することができ、トラヒック輻輳を最小限にし、更に、共有N−ツリーノードで利用可能な帯域幅を最大化することができる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。
本発明者は、本発明のN−ツリーアルゴリズムを「水拡散」(water-spread)ポリシーと名付けた。本発明のN−ツリーアルゴリズムは、「水拡散」ポリシーに基づき、N個のソースに対しN個のツリーを構築する。また、本発明のN−ツリーアルゴリズムは、同時に、帯域幅公平化ツリーを満足するために、N個のソースそれぞれに対し、「水拡散」ポリシーを適用する。
ここで、「水拡散」ポリシーによると、N個の水源トンネル(穴)を含む容器は、該トンネルの大きさと該トンネルの高さ(圧力:枝の選択時に利用する経験データベースに相当)に基づいて、その場所から異なる距離まで水を拡散する。大きなトンネルは、小さなトンネルと比較して、より多くの水を拡散する。容器の底に近いトンネルは、高い位置のトンネルと比較して、水をより遠くまで拡散する。各トンネルは、異なる容量(穴サイズ:帯域に相当)を有してよい。このことは、広い帯域幅を有するノードは、狭い帯域幅を有するノードと比較して、より多くのストリームをN−ツリー内の多くのノードに運ぶものと解釈される。なお、「トンネルの高さ」の具体的な例として、上記図17の場合であれば、高さは、帯域幅×第1係数+Delayの逆数×第2係数、等により計算される。
本アルゴリズムは、以下の3つの主要なフェーズを有する。
i)接続確立フェーズ:すべてのノード間の接続が確立され、ネットワークメトリック(ノードの接続状態)が収集される。
ii)N−ツリー構築フェーズ:最適ストリーム経路情報テーブル(Optimal Stream Path Information Table)と呼ぶ接続テーブルを用い、メッシュノード接続性を有するN−ツリーのステータスが更新される。ALMセッション中にノードの結合及び離脱のステータスが更新される。
iii)制御またはN−ツリー最適化フェーズ:最少遅延でもって、N−ツリー全体の公平化帯域幅割り当てを段階的に改善するために改善手順を実行する。そして、N−ツリー最適化のためにノード間またはリンク間で、ノード移動またはリンク移動を実行し、結果としてFRC(Fast Route Convergence)を有するALMをもたらす。このとき、メトリック情報は、ノードに対するAVストリーム配送経路を構築するために使用される。なお、メトリック情報は、クライアントノード間の帯域幅、クライアントノード間の待ち時間/遅延、クライアントノードIPアドレス及びポート番号、ALMセッションにおけるルートを含むクライアントノード機能、子−親−祖父母関係、使用済み及び未使用アップロードリンクの数、そして使用済み及び未使用ダウンロードリンクの数等を含む。
ABCのノード間で通信をする場合において、ノードABC間の接続関係は、これらのメトリック情報から算出することができる。例えば、A−B間に接続性があり、A−C間に接続性が無い場合、計測したメトリック情報は、A−C間の帯域が0となり、A−C間のレイテンシ(RTT:Round Trip Time)が無限大となる。
なお、本願でのメトリック情報は、接続の有無を示す離散量(0か1)で示されるものではなく、フルメッシュ(A−B,A−C,B−Cの双方向)の計測値を反映した連続量で示される。つまり、ノードA−C間のメトリックは、1Mbpsの場合や、0.1Mbpsの場合や、0Mbpsの場合が存在する。
N−ツリーアルゴリズムは、小グループの参加者が、ネットワーク上におけるすべての参加者間のセッションを通じて、高度な対話機能と良好なAV品質とを有するために、AVストリーム等を交換するAV会議アプリケーションに好適である。
すべてのノードに対して帯域幅の公平性を保証するために、本発明のN−ツリーアルゴリズムでは、各ノードのアップロードスロット及びダウンロードスロットの容量を考慮する。なお、アップロードスロットとダウンロードスロットとは、ノードのアップリンクとダウンリンクとの帯域幅の容量を指す。帯域幅は、例えば64kb、128kbといった複数の離散的な範囲に分割される。
「水拡散」ポリシーは、帯域幅公平化配送ツリー構築のための上記N−ツリー構築アルゴリズムの3つの主要なフェーズと共に採用される。このソリューションは、所与のAVセッションに対し、ネットワークに参加しているすべてのノードに適用されるALM_FRCを実現する。N−ツリーアルゴリズムは、ノード間で集中的または分散的なやり方で実行されてよい。
図1は、本発明の一実施の形態に係る通信システムを示す図である。図1に示すように、本実施の形態では、複数のクライアントノード(104、106、108、110)とサーバーノード(102)が、それぞれネットワーク(112)に接続される。各クライアント内に存在するAV会議アプリケーションなどのマルチメディアアプリケーションは、ALMセッション中に、複数のクライアントノード間において、AVストリームを同時に交換することができる。また、サーバーノード(102)は、他のすべてのクライアントノードと通信を行い、それらの間でネットワーク情報を同時に交換することができる。
なお、本発明において、物理的及び論理的ネットワークエンティティを指す用語であるノードとエンティティとは、互いに読み替えて使用することができる。クライアントノードまたはサーバーノードと、クライアントエンティティまたはサーバーエンティティとの両方は、ネットワーク通信に関する一般的な意味に置き換えても良い。また、サーバーノード及びクライアントエンティティは、いずれも、無線通信システムにおける端末装置である。
サーバーノード(102)は、各クライアントノードからメトリック情報を所定のタイミングで(動的に)、あるいは、定期的に収集し、N−ツリーアルゴリズム(水拡散ポリシー)を実行する。次に、サーバーノード(102)は、N−ツリーアルゴリズムの結果である帯域幅公平化ALM経路情報を転送テーブルに格納する。さらに、サーバーノード(102)は、該転送テーブルに格納された帯域幅公平化ALM経路情報から生成した帯域幅公平化Nツリールーティング情報を、すべての参加クライアントノードに動的に送信する責任を負う。なお、所定のタイミングとして、例えば、上からのストリームが途絶えたタイミング等がある。
クライアントノードに受信された帯域幅公平化Nツリールーティング情報は、最終送付先に到達するまで、次のクライアントノードに受信ALMパケットを転送するために各クライアントノードで使用される。
図2は、本発明の一実施の形態に係るクライアントエンティティ(256)と、サーバーエンティティ(210)の内部構成を示すブロック図である。
ALMセッションは、論理セッションとして定義され、2つ以上のクライアントエンティティ(256)の間でデータパケットを同時に交換する多数共同アプリケーションにおいて、ネットワークを介し接続される。ALMセッションは、参加メンバー間のセッション調整のために、サーバーエンティティ(210)を必要とする。
クライアントエンティティ(256)は、すべてのノード間のネットワークパケットストリーミングのALMセッションに参加するノードにおけるALM機能である。サーバーエンティティ(210)は、メトリック情報を収集するとともに、ALM_FRC配送ツリーをもたらすN−ツリーアルゴリズムを実行する責任を負うALM機能である。クライアントエンティティ(256)とサーバーエンティティ(210)の両方は、任意のノード内に存在してよい論理エンティティである。
集中型N−ツリーセッションには、ただ1つのサーバーエンティティが必要とされる。分散型の場合、各ノードは、1つのサーバーエンティティと1つのクライアントエンティティを有する。以下では、ALMセッションにおける複数のクライアントエンティティ機能と、一つのサーバーエンティティ機能の場合(集中型N−ツリーセッションの手法)について説明する。
図2において、サーバーエンティティ(210)は、メトリックコレクタ(220)、グループメンバーシップ(222)、ALM転送テーブルコンストラクタ(ALM Forwarding Table Constructor)(218)、および、ALM転送テーブルディストリビュータ(ALM Forwarding Table Distributor)(278)を有する。メトリックコレクタ(220)、グループメンバーシップ(222)およびALM転送テーブルコンストラクタ(218)は、その間でメトリクス情報を交換するためにリンク(208)により接続される。
サーバーエンティティ(210)のメトリックコレクタ(220)およびグループメンバーシップ(222)は、ALMセッション内のすべてのクライアントノード(104、106、108、110)からメトリック情報を動的に収集する責任を負う。メトリック情報は、クライアントノード間の帯域幅、クライアントノード間の待ち時間/遅延、クライアントノードIPアドレス及びポート番号、ALMセッションにおけるルートを含むクライアントノード機能、子−親−祖父母関係、使用済み及び未使用アップロードリンクの数、そして使用済み及び未使用ダウンロードリンクの数等を含む。これらのメトリック情報は、リンク(224、228)を介し、それぞれアクセスすることができるメトリックデータベース(226)とメンバーシップデータベース(230)内に格納される。図4と図5は、情報/コンテンツデータ構造を詳細に例示する。メンバーシップデータベース(230)内には、各クライアントノードのIPアドレスが格納される。
ルートノードは、ネットワークパケットが発せられたN−ツリーのソースノードを指す。N−ツリー内のN人のメンバーに対し、ノードのすべてがネットワークパケットを送信する場合、N個のルートノードが存在する。子−親−祖父母は、N−ツリー内のノード間の関係を指す。子ノードは、親ノードのダウンロードスロットを介し親ノードからネットワークパケットを直接受信するノードである。親ノードは、子ノードのアップロードスロットを介し子ノードにネットワークパケットを直接送信する。一方、祖父母ノードは、所与の子ノードに対し、親ノードを介し接続されるノードであり、ネットワークパケットは、子ノードに到達する前に祖父母ノードから親ノードへ流れる。孫ノードは、祖父母ノードと子ノード間の直接関係である。ノードのアップロードスロットとダウンロードスロットは、ノードの出力容量と入力容量を指す。リンクスロットは、特定のALMセッションのためのアップロードスロットと、ダウンロードスロットに関連した2つのノード間のリンクの帯域幅容量を指す。
ALM_FRCのために構築されるN−ツリーは、所与のALMセッションに対し、アップロード/ダウンロードスロット制約、リンクスロット制約、待ち時間制約に従うものとする。
最適ストリーム経路情報テーブル(204)は、図3、図4、図5に示す、接続状態にある全てのノードに対するN−ツリーセッションの情報(ツリーの状態に関する情報)を格納する。最適ストリーム経路情報テーブル(204)は、N−ツリー接続情報を含む。一方、経験的規則データベース(Heuristic Rules Database)(206)は、帯域幅公平化N−ツリーを構築するために使用される一組の経験的規則を格納する。経験的規則データベース(206)内に存在する基本的規則と増強規則として次のものがある。
N−ツリーアルゴリズムの基本的規則は、ネットワークパケット配送のためにノード毎に1つのツリーを有するN個のツリーを構築することである。これは、各ノードが、N−1個のダウンロードスロットにより、N−1個のストリームを受信しなければならないことを意味する。各ツリーは、使用される全リンクにN−1個のアップロードリンクを追加するので、N個のツリーに対し、すべての参加者からの少なくとも合計N×(N−1)個のアップロードリンクが存在する。さらに、各ツリーには、制御メッセージデータ送信のためにいくつかの追加のスロットとリンクが必要である。
追加の経験的規則は、所与のセッションに対するアップロード/ダウンロードスロット制約、リンクスロット制約、待ち時間制約を含む。上記3つの制約条件すべてを満足する最適なN−ツリーを構築するのはNP困難である。したがって、最善かつ最適なN−ツリーを構築するために、上記制約条件のいくつかに違反することは許容される。例えば、待ち時間制約の違反は、ストリームを受信する際の遅延を引き起こし、一方、アップロード制約またはリンク制約の違反はストリーム配送の一部を無効にする。経験的規則は、アップロードまたはダウンロード制約、及びリンク制約を第1に満足し、次にリンク待ち時間制約を満足する。N−ツリーは、上記規則を適用することにより許容可能な待ち時間でもって構築される。
また、経験的規則データベース(206)は、N−ツリー構築のために適用可能な次のような複数の経験的規則を格納する。
規則1:ノードは、他のノードのストリームを運ぶのではなく、それ自身のストリームをアップロードするために、まずその帯域幅を使用すべきである。これにより、当該ツリーの待ち時間が少なくなる。
規則2:ノード間で選択がなされる場合、残りのスロット容量が最大のノードを選択する。
規則3:リンク間で選択がなされる場合、残りのスロット容量が最大のリンクを選択する。
規則4:規則3において残りのスロット容量が同一であるリンク間では、ツリーに対し最も少ないエンドツーエンド待ち時間を与えるリンクを選択する。
サーバー転送テーブル(202)は、図6に示すように、特定のN−ツリーセッション内のすべてのノードに対するパケット転送情報である帯域幅公平化ALM経路情報を格納する。
ALM転送テーブルコンストラクタ(218)は、メトリックコレクタ(220)とグループメンバーシップ(222)により収集されたメトリック情報にアクセスする。また、ALM転送テーブルコンストラクタ(218)は、経験的規則データベース(206)に格納された経験的規則を適用して、最適ストリーム経路情報テーブル(204)に格納されたN−ツリーセッションの情報を動的にかつ連続的に形成し更新する。なお、ALM転送テーブルコンストラクタ(218)は、サーバーエンティティ(210)における主要モジュールである。
次に、ALM転送テーブルコンストラクタ(218)は、N−ツリーアルゴリズム(水拡散ポリシー)を実行し、N−ツリーアルゴリズムの結果である帯域幅公平化ALM経路情報を、リンク(282)を介し、サーバー転送テーブル(202)に格納する。なお、帯域幅公平化ALM経路情報は、転送テーブルの形態となる。
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−ツリー構築のために使用される。
「初期リスト」は、グループメンバーシップ(222)とメトリックコレクタ(220)により収集される、ALMセッションにおけるすべてのメンバーに関する情報を含む。「順序付きリスト」は、特定規則、例えば、アップロード及び/またはダウンロードスロット能力に基づき、ソートされたメンバーのリストを提供する。「規則ベースの順序付きリスト」は、特定規則、例えば、2つのノード間のリンク待ち時間に基づいたメンバーの順序付きリストを提供する。「規則ベースのペアリスト」は、特定規則、例えば、選択された経験的規則に基づく2つのノード間のリンクを形成するメンバーのリストを提供する。これらのリストの利用については、N−ツリーアルゴリズム説明の一部として図13及び図14において説明される。
ALM転送テーブルディストリビュータ(278)は、リンク(212)を介し、サーバー転送テーブル(202)に格納された帯域幅公平化ALM経路情報を入力し、この情報からN−ツリー内の各クライアントエンティティ(256)に対する帯域幅公平化N−ツリールーティング情報を生成する。帯域幅公平化N−ツリールーティング情報は、入力ポート番号、宛先アドレス、宛先ポート番号の対を含む。そして、ALM転送テーブルディストリビュータ(278)は、ネットワークリンク(234)を介し、各クライアントエンティティ(256)に帯域幅公平化N−ツリールーティング情報を送信する。
ALMネットワーク内の二つ以上のノードであるクライアントエンティティ(256)は、ネットワークリンク(234、276)を介し、サーバーエンティティ(210)と接続され、動的に通信を行うことができる。クライアントエンティティ(256)は、4つの主要モジュール、すなわちALM転送テーブルレシーバ(ALM Forwarding Table Receiver)(280)、メトリックプロバイダ(244)、グループメンバーシップ(246)、ALM転送テーブルエクゼキュータ(ALM Forwarding Table Executor)(240)、を有する。
ALM転送テーブルレシーバ(280)は、ALM転送テーブルディストリビュータ(278)からネットワークリンク(234)を介して帯域幅公平化N−ツリールーティング情報を受け取り、リンク(242)を介し、パケットルーティング用のクライアント転送テーブル(Client Forwarding Table)(236)に格納する。
メトリックプロバイダ(244)およびグループメンバーシップ(246)は、ALMセッション内のすべてのクライアントノード(104、106、108、110)からデータを動的に収集する責任を負う。メトリック情報は、クライアントノード間の帯域幅、クライアントノード間の待ち時間/遅延、クライアントノードIPアドレス及びポート番号、ルートを含むALMセッション内のクライアントノード機能、子−親−祖父母関係、使用済み及び未使用アップロードリンクの数、使用済み及び未使用ダウンロードリンクの数、等を含む。
これらのメトリック情報は、リンク(248、252)を介し、それぞれアクセス可能なメトリックデータベース(250)とメンバーシップデータベース(254)との両方に格納される。
メトリック情報は、メトリックプロバイダ(244)とグループメンバーシップ(246)とにより、サーバーエンティティ(210)のメトリックコレクタ(220)とグループメンバーシップ(222)とに、動的にかつ定期的にそれぞれ配送される。該情報配送は、適宜にネットワークリンク(232、258)を介し行われる。
次に、メトリック情報は、サーバーエンティティ(210)のメトリックデータベース(226)とメンバーシップデータベース(230)とに対し更新される。ALM転送テーブルエクゼキュータ(240)は、ローカルのメトリックデータ交換のために、リンク(238)を介し、メトリックプロバイダ(244)とグループメンバーシップ(246)とにアクセスする。リンク(248)は、メトリックプロバイダ(244)とメトリックデータベース(250)とを接続し、リンク(252)は、グループメンバーシップ(246)とメンバーシップデータベース(254)とを接続する。
ALM転送テーブルレシーバ(280)は、サーバーエンティティ(210)から帯域幅公平化ルーティング情報を動的にかつ定期的に受信し、受信内容をローカルのクライアント転送テーブル(236)に対し更新する責任を負う。また、ALM転送テーブルレシーバ(280)は、リンク(276)を介して、ALM転送テーブルディストリビュータ(278)に対してそれぞれのルーティング情報を単独で要求することができる。
クライアント転送テーブル(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及び関連する記述は、この手順を詳細に説明する。
リンク(276、234)を介する、ALM転送テーブルディストリビュータ(278)とALM転送テーブルレシーバ(280)との間の通信は、特定メッセージ構造を使用して行われる。図8に示す帯域幅公平化転送テーブル情報を含む転送テーブルコンテンツ(808)は、図7に示す転送テーブルエントリ(FTE)情報に含まれる。1つまたは複数の転送テーブルエントリ(FTE)情報は、組み合わせられて、転送テーブル(FT)メッセージとして、リンク234を介してサーバーエンティティ(210)から各クライアントエンティティ(256)に送信される。
次に、図3を用いて、最適ストリーム経路情報テーブル(204)の構造を詳細に説明する。
図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−ツリーに対する参加ノード情報を保存するエントリである。
列(348)のノード(314)エントリは、N−ツリーセッション内の各ノード(316、318、320、322、324)の識別子を保存する。したがって、特定のN−ツリー内にN個のノードが存在する場合、行314内には、N個のエントリが存在する。同様に、N個のすべてのノードがソースパケットを生成するルートノードである場合、行(302)は、テーブル内にN個の列を有する。
参照符号(338、340、342、344、346)のテーブルエントリは、図4に例示されるようなルートノード関連情報を保存する。一方、参照符号(338、340、342、344、346)エントリを除く他のすべてのテーブルエントリは、図5に例示されるような特定のN−ツリーに対するノード特定情報を保存する。最適ストリーム経路情報テーブル(204)は、N−ツリーセッション内の参加ノードの展開に対処するために拡大または縮小可能な静的または動的テーブルであってよい。
図4は、ALMセッション内の全てのツリーに対する、最適ストリーム経路情報テーブル(204)、メトリックデータベース(226、250)、及びメンバーシップデータベース(230、254)内に明示されるN−ツリールートノード情報のデータ構造を示す。フィールド(402)は、全体のN−ツリーセッションに対し、特定のノードに対する使用済み入力リンクスロット及びダウンロードスロットの数を明示する。
一方、フィールド(404)は、全体のN−ツリーセッションに対し、特定のノードに対する未使用入力リンクスロット及びダウンロードスロットの数を明示する。同様に、フィールド(406)は、全体のN−ツリーセッションに対し、特定のノードに対する使用済み出力リンクスロット及びアップロードスロットの数を明示する。一方、フィールド(408)は、特定のノードに対する未使用出力リンクスロット及びアップロードスロットの数を明示する。フィールド(410)は予約済みである。
図5は、ALMセッション内の特定のツリーのルートノード以外であるノードに対する、N−ツリーメンバーノード情報のデータ構造を示す。フィールド(502)は、それぞれのルートツリーを基準としたストリームの発信ノードを明示する。フィールド(504)は、ルートとそれぞれのノード間の離散形式の遅延または待ち時間を表す。フィールド(506)は、2つの異なるノード間の子または親関係を表し、その機能が存在することを示す。この後に、接続用のポート番号情報と、パケット転送用のIPアドレスなどの次ノード情報または識別子を表すフィールド(508)が続く。このフィールドは、また、次ノードが存在することを示す。
すなわち、このフィールドはパケット転送のための葉ノード(転送しない終端ノード)である。同様に、続くフィールド(510、512、514、516)は、祖父母(2代前)−子と曾祖父母(3代前)−子関係(1代後)を表す。なお、本実施の形態では3つのレベルのみを明示しているが、本発明はこれに限られず、さらなる活用のためにさらに多くのレベルを定義してもよい。最後に、フィールド(518)は、予約済みフィールドを表す。
図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)を保存する。
発信ノード(606)の複数のエントリは、それぞれの次のレベルの転送テーブル(624)と共存することができる。次のレベルの転送テーブルは、送付先アドレス(626)と送付先ポート番号情報(636)を含む。次のレベルの転送テーブル(624)は、次にノード内のどこに受信パケットを転送する必要があるかを明示する、複数のIPアドレス(628、630、632、634)とポート番号(638、640、642、644)とが存在してよい。また、両方のテーブル(602、624)は、特定ストリーム用のトランスポートプロトコルのタイプを示すトランスポートプロトコルフィールド(656、658)を有する。
転送テーブル情報は、図7に示す転送テーブルメッセージ(FT)を使用することにより、サーバーエンティティ(210)とクライアントエンティティ(256)間で交換される。各ノードにおけるN−ツリー内のネットワークパケット転送の検索は、IPアドレス、ポート番号、トランスポートプロトコル(例えば、UDPまたはTCP)を使用することにより行われる。ルーティングエンジン(262)は、アプリケーション層におけるすべての入力パケット(264)に対し、各クライアントエンティティにおけるALM内のネットワークパケット毎に検索機能を実行する。
転送テーブル(602)は、クライアントエンティティにおいて、入力パケット毎に目的の送付先アドレス(626)等の検索を実行するために使用され、その後、N−ツリー内の指定された次ノードに転送される。ルーティングエンジン(262)は、また、送信パケット(266)を転送する前の転送段階中にネットワークパケットのソースIPアドレス及びポート番号を変更する。この機能は、N−ツリーアルゴリズムにより構築されたストリーミング経路を順守することを保証するために重要である。
通常のユニキャストアプリケーションでは、ネットワークパケットのソースIPアドレス及びポート番号は変更されない。そして、パケット転送は、公平な帯域幅割り当て無しに、オーバーレイツリーに沿って行われる。しかしながら、本発明の特徴の1つは、ALM_FRCを実現するために帯域幅公平化N−ツリー経路に従うように、ソースIPアドレス及び送付先ポートが転送ノードにより変更されることである。
図7は、合計6つのフィールドを有する転送テーブル(FT)メッセージ構造を示す。タイプ(702)フィールドは、要求メッセージタイプか応答メッセージタイプかを示す。コンテンツ(704)フィールドは、サーバーエンティティからの完全転送テーブルエントリ(FTE)更新か、部分的転送テーブルエントリ(FTE)更新か、を示すコンテンツを明示する。バージョン(706)フィールドは、ALMとN−ツリーアルゴリズムのバージョンを明示する。未使用(708)フィールドは、フィールドが現在使用されていないことを示す。FTE(710)フィールドは、単一または複数の転送テーブルエントリ(FTE)メッセージを含む。FTメッセージは、予約済み(712)フィールドで終了する。
図8は、5つのフィールドを有する転送テーブルエントリ(FTE)メッセージ710の構造を示す。発信ノードIPフィールド(802)は、FTメッセージを送信したノードのIPアドレスを示す。タイムスタンプフィールド(804)は、メッセージが生成された時間を示す。未使用フィールド(806)と予約済みフィールド(810)(これから使用する予定のもの)とは、それらが現在使用されていないことを示す。タイムスタンプフィールド(804)は、FTメッセージが構築された時間を明示するために使用される。
タイムスタンプフィールド(804)は、最新のメッセージのみが、クライアントエンティティにおいて、N−ツリーのルーティングテーブルを更新するために使用されることを保証する。トランスポートプロトコルが、トランスポートプロトコル自身のタイムスタンプフィールドを有する場合、タイムスタンプフィールド(804)は使用されない。しかし、トランスポートプロトコルがタイムスタンプフィールドを有しない場合は、タイムスタンプフィールド(804)が必要である。
これに続く、転送テーブルコンテンツフィールド(808)は、サーバーエンティティから全てのクライアントエンティティへの帯域幅公平化転送テーブル情報を含む。サーバーエンティティ(210)から選択された転送テーブルエントリ情報は、組み合わせられて、各クライアントエンティティ(256)に送信されるFTメッセージを形成する。単一または複数のFTEメッセージを含むFTメッセージは、サーバー転送テーブル(202)に更新があると、影響を受けるクライアントエンティティに対して、AFTCにより、動的に送信される。
次に、図9を用いて、N−ツリーにおいて公平な帯域幅共有を実行し、ALM_FRCを実現する全体のメカニズムを説明する。
最初に、クライアントエンティティ(256)のメトリックプロバイダ(244)とグループメンバーシップ(246)とは、メトリック情報の定期的な配送を行う(ST902)。定期的に送信されたメトリック情報は、メトリックコレクタ(220)とグループメンバーシップ(222)とにより、それぞれ収集される(ST904)。
次に、新しいメトリック情報が到着すると、ALM転送テーブルコンストラクタ(218)は、メトリックコレクタ(220)を介してメトリックデータベース(226)にアクセスし、グループメンバーシップ(222)を介してメンバーシップデータベース(230)にアクセスする。新しいメトリック情報は、最適ストリーム経路情報テーブル(204)を更新するために、ALM転送テーブルコンストラクタ(218)により、使用される(ST906)。
次に、ALM転送テーブルコンストラクタ(218)は、N−ツリーアルゴリズムを実行する(ST908)。ALM転送テーブルコンストラクタ(218)は、このN−ツリーアルゴリズムの定期的な実行により、最適ストリーム経路情報テーブル(204)とサーバー転送テーブル(202)とを更新する(ST910)。N−ツリーアルゴリズムの実行ステップは、図11に例示され、これについては以下の節で説明する。
次に、更新されたサーバー転送テーブル(202)のコンテンツは、転送テーブル(FT)メッセージを使用することにより、サーバーエンティティ(210)のALM転送テーブルディストリビュータ(278)から、各クライアントエンティティ(256)へ送信される(ST912)。ALM転送テーブルレシーバ(280)は、受信された転送テーブル(FT)メッセージにより、クライアント転送テーブル(236)を更新する(ST914)。
次に、転送テーブル(FT)メッセージの交換シーケンスについて、図10を用いて詳細に説明する。
定期的なメトリック情報の更新(PITメッセージ)が行われる(ST1014)。つまり、クライアントエンティティ(1008)のメトリックプロバイダ(1012)と、サーバーエンティティ(1002)のメトリックコレクタ(1006)との間で、メトリック情報の更新が継続される。
サーバーエンティティ(1002)のALM転送テーブルディストリビュータ(1004)は、転送テーブルコンテンツを含む転送テーブル(FT)メッセージを、クライアントエンティティ(1008)のALM転送テーブルレシーバ(1010)へ転送する(ST1016)。あるいは、ALM転送テーブルレシーバ(1010)は、転送テーブル(FT)メッセージを使用してクライアント転送テーブル(236)の更新要求を行うことができる(ST1018)。該要求に対する応答として、ALM転送テーブルディストリビュータ(1004)は、転送テーブルコンテンツを含む転送テーブル(FT)メッセージを、ALM転送テーブルレシーバ(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)。
次に、図12を用いて、クライアントノードによる定期的な転送テーブル情報受信とパケット転送との方法を説明する。ALM転送テーブルディストリビュータ(278)は、選択されたサーバー転送テーブル(202)のコンテンツを、転送テーブル(FT)メッセージを介し、特定のクライアントに定期的に送信する(ST1202)。クライアントエンティティ(256)のALM転送テーブルレシーバ(280)は、これらの転送テーブル(FT)メッセージを受信し、そのクライアント転送テーブル(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}。
当初、各カラー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リンクをツリーに反復的に追加する。
まず、ALM転送テーブルコンストラクタ(218)は、メトリックコレクタ(220)情報とグループメンバーシップ(222)情報とに基づき、N−ツリーセッション内のすべてのメンバーを識別し、リストデータベース(260)内に「初期リスト」を作成する(ST1302)。次に、ALM転送テーブルコンストラクタ(218)は、「初期リスト」からメンバーを選択し、すべてのN−ツリーのノードの「初期リスト」内のすべてのノードに対し、経験的規則データベース(206)からの規則に基づき、リストデータベース(260)内の「順序付きリスト」に該メンバーを追加する(ST1304)。経験的規則データベース(206)からの規則は、例えば、残りの未使用アップロードスロットの降順の番号である。
ALM転送テーブルコンストラクタ(218)は、「水拡散」ポリシー例に準拠し、ST1304では、DONE{a,(k=False),..,n}を有する自身の集合S内に、カラーkを依然として有する残されたスロットのうち、最も高い番号を有するノードを選択する。それらのノードは、「順序付きリスト」内に追加される。残されたスロットのうち、次に最も高い番号であって、アップロード/ダウンロードスロット制約のHRDB規則を満足するものを反復的に選択する。
次に、ALM転送テーブルコンストラクタ(218)は、経験的規則データベース(206)からの特定規則を満足することにより、所与のN−ツリーのすべてのノードに対するリンクを確立しなかった、最初のノードから始まる「順序付きリスト」からノードを選択する。次に、ALM転送テーブルコンストラクタ(218)は、該ノード(例えば、未使用スロットの最も高い番号のノード)を、「規則ベースの順序付きリスト」に追加する(ST1306)。上記工程は、すべてのノードが順序付けられるまで、ST1306において規則にマッチする全てのノードに対し続けられる(ST1308)。
次に、ALM転送テーブルコンストラクタ(218)は、ノードペアを形成するために、「規則ベースの順序付きリスト」から順序付きノードを選択する(ST1310)。そして、経験的規則データベース(206)からの特定規則(例えば、2つのノード間の最少待ち時間)を満足する、「初期リスト」からの別のノードが選択され、該ペアノードは「規則ベースのペアリスト」に追加される(ST1312)。
次に、ALM転送テーブルコンストラクタ(218)は、「規則ベースのペアリスト」からペアノードを選択し、経験的規則データベース(206)からの特定規則に基づいて、ペアノードを順序付ける(ST1314)。特定規則は、例えば、ペアは、未使用アップロードスロットのうち順序リスト上、最も高い番号のリンク情報に基づき、マッチするものとする。これらの工程(ST1306〜ST1314)により、N−ツリー形成のためのリンク選択が行なわれる。
ALM転送テーブルコンストラクタ(218)は、「水拡散」の例に準拠し、これらの工程(ST1306〜ST1314)では、水が拡散することができる合法のトンネル(ノード間を論理的に接続する経路)を選択する。合法のトンネル(p1、p2)は、その開始点p1まで既に流れて来たが、未だp2には存在しない、いくつかのストリームを有するトンネルである。大きなトンネルまたは高い番号のスロットが好ましい。
次の工程では、前の工程の「順序付きリスト」のうち、メンバーpを有するすべてのリンク(p、q)に対し、待ち時間制約を満足するすべてのリンク(i、j)と、集合S[i]、S[j]≠φの基数とを選択する。次に、ALM転送テーブルコンストラクタ(218)は、それらを「規則ベースの順序付きリスト」に追加する(ST1306)。次の工程では、ALM転送テーブルコンストラクタ(218)は、「規則ベースの順序付きリスト」から、最も高いスロットを選択し、それらをリストデータベース(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)。
「水拡散」の例に準拠し、この工程では、ALM転送テーブルコンストラクタ(218)は、選択すべき多くの合法のトンネルが存在する場合、最短のトンネルを選択する。すなわち、この工程では、ALM転送テーブルコンストラクタ(218)は、「規則ベースのペアリスト」内のすべてのリンク(i、j)に対して、ノードペア(r、v)間の最も少ない待ち時間を有するリンク(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)が存在しない場合(例えば、待ち時間の違反のため)、残された次に最も大きな容量を有する他のリンクを選択することを試みる。
ALM転送テーブルコンストラクタ(218)は、「規則ベースの順序リスト」内のすべてのノードに対し、完全なN個のツリーが構築されるまで、このプロセスを繰り返す(ST1322)。完全なN個のツリーは、任意の1つのノードから、他のN−ツリー内の他のすべてのノードに到達するように、1つのN−ツリー内のすべてのノードが、N個のソースに対するN個のツリー内の他のノードに接続されるものと、定義される。これは、経験的規則データベース(206)からのすべての定義済み規則を完全に満足する、あるいは経験的規則データベース(206)からの部分的な規則を完全に満足することにより実現されてよい。
最後に、図13Bに示すようにN−ツリー最適化が行われる(ST1324〜ST1330)。最初に、N−ツリーリンク移動が行われる(ST1324)。この工程は、図14Aに示すように、N個のツリーの高さを最小化するために、リンクをペアノード間で移動することを試みる。リンク移動後にN個のツリーが変更された場合、工程1312から始まる以下の工程によりN個のツリーの再構築が必要である(ST1326)。N個のツリーの再構築がリンク移動により失敗した場合、リンク並べ替えが行われる(ST1328)。完全なN個のツリーが構築されるまで、リンク並べ替え工程(ST1328)は続けられる(ST1330)。
そして、N−ツリーアルゴリズムに基づく更新情報は、クライアントエンティティ間での配送のために、最適ストリーム経路情報テーブル(204)とサーバー転送テーブル(202)において反映される(ST1332)。
次に、2つのN−ツリー最適化技術、リンク移動、リンク再ルーティングについて、図14Aと図14Bを用いて説明する。
まず、図14Aを用いて、N−ツリーアルゴリズムのリンク並べ替え工程について詳細に説明する。最初に、ALM転送テーブルコンストラクタ(218)は、N−ツリー並べ替えを行なうためのトリガを受信すると(ST1402)、最適ストリーム経路情報テーブル(204)からメンバーを選択する(ST1404)。最適ストリーム経路情報テーブル(204)内の2つのノード間に、未使用帯域幅を有するリンクが存在する場合、ALM転送テーブルコンストラクタ(218)は、新しいリンクの遅延制約と帯域幅とが、元の規則に関し、依然として有効となるように、該リンクを他のノードに移動させる(ST1406)。2つのノード間の関係は、最適ストリーム経路情報テーブル(204)内の親−子関係、祖父母−子関係等に関わらないものとする。これにより、最適ストリーム経路情報テーブル(204)内のすべてのノードに対するN−ツリーリンク並べ替えが可能となる(ST1408)。
次に、図14Bを用いて、N−ツリーアルゴリズムのリンク移動工程について、詳細に説明する。最初に、ALM転送テーブルコンストラクタ(218)は、リンク移動のためにトリガを受信すると(ST1410)、リンク移動目的の最適ストリーム経路情報テーブル(204)からメンバーを選択する(ST1412)。ALM転送テーブルコンストラクタ(218)は、最適ストリーム経路情報テーブル(204)内の2つの同じノード間の親−子関係、祖父母−子関係等に関らず、2つ以上の論理リンクが存在し、当該リンク上の2つのノード間の遅延制約と帯域幅とが同じになるように、第1のリンクと第2のリンクを比較する。さらに、より多くの中間ノードを有する場合、ALM転送テーブルコンストラクタ(218)は、より短いN−ツリーを有するように、前者のリンクを後者のリンクで置換する(ST1414)。これにより、最適ストリーム経路情報テーブル(204)内のすべてのノードに対し、N−ツリーの高さを最小化することができる(ST1416)。
例外的なケースでは、N−ツリー構築中にノードのあらゆる候補について試みた後、最適化のためのリンク移動と並べ替えとの両方が失敗するということもあり得る。このようなシナリオでは、N−ツリー計算は不完全となり、N−ツリーアルゴリズムの完成に失敗する。しかしながら、N−ツリーのシミュレーションの結果は、リンク移動、リンク並べ替え技術、経験的規則データベース情報の利用により、ツリーを算出した際、所与のケースの99%でN−ツリーアルゴリズムが成功することを証明した。一方、リンク移動、リンク並べ替え技術、経験的規則データベース情報が無いと、所与のケースに対しN−ツリー構築の成功率は95%となった。N−ツリー計算時間は、12個のノードに対し、普通のパーソナルコンピュータ仕様では50ミリ秒未満である。
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の親であるので選択される。
次に、図15を用いて、クライアントノードによるパケット転送方法について説明する。まず、クライアントノードは、他のいずれかのノードからソースパケットを受信する(ST1502)。次に、クライアントノードは、送信先IPアドレス及びポート番号を識別するために、前に説明したような2つのテュープル(IPアドレスとポートの組)あるいは3つのテュープル(IPアドレス、ポート、または、ALMパケットであることを示すフラグもしくは区分の組)に基づいて、そのクライアント転送テーブル(236)を検索する(ST1504)。なお、ALMパケットであることを示すフラグもしくは区分とは、IPv4のToS(Type of Service)フィールドであっても、IPv6ヘッダのDSCP(Differentiated Services Code Point)領域やフローラベルのいずれか、もしくは双方の組み合わせであってもかまわない。もしくは、ALMパケットであることを示すフラグもしくは区分は、UDPペイロード領域の定められた特定の領域であってもかまわない。
次に、クライアントノードは、ALMパケットのソースIPアドレス及びポート番号を、現在のノードIPアドレス及びポート番号に変更する(ST1506)。これは、すべてのネットワークパケットがN−ツリー構築された経路に従い、ノード間の帯域幅公平性がもたらされることを保証する。最後に、クライアントノードは、ネットワークパケットを、それぞれの次の送付先ノードに転送する(ST1508)。
次に、本発明のN−ツリーアルゴリズムの具体例について、図16を用いて説明する。図16には、図17と同じネットワーク条件に対するN−ツリーアルゴリズムのステップごとのアプリケーションと、その結果のネットワークリンクとを例示する。各ノード[NY、SG、JP、VN]べ−スのツリーは、規定されたいくつかの経験的規則に従う最大のものから最も少ないものへ、規定された待ち時間と帯域幅速度セット/スロットに対して最良のネットワークリンクを探索する。帯域幅速度セット/スロットは、例えば、8Mbps、4Mbps、3Mbpsまたは2Mbpsとする。
この場合の経験的規則は、上記規則1から規則4である。これにより、図16に示すように、ループ1から順番に経路が選択される。
ここで、一つの経路構築がうまくいかなければ、遅延制約を遵守することに加え、すべてのノードに対する公平な帯域幅を維持する処理を再度開始するためにバックトラックが行われる。
図16の場合、本発明のN−ツリーアルゴリズムを実行すると、N個のノード(この例ではN=4)に対する一対N分散ツリーのそれぞれは、次のように計算される。
(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となる。
(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となる。
(3)次に、残りの帯域幅が2番目に大きいJPから、4Mbpsの帯域幅で、SGへパケットを直接送信する経路を選択する(ループ6)(図16(C))。この結果、残りの帯域幅は、MYが20Mbps、SGが12Mbps、JPが8Mbps、VNが6Mbpsとなる。
(4)次に、残りの帯域幅が2番目に大きいSGから、4Mbpsの帯域幅で、MYへパケットを直接送信する経路を選択する(ループ7)(図16(D))。この結果、残りの帯域幅は、MYが20Mbps、SGが8Mbps、JPが8Mbps、VNが6Mbpsとなる。
(5)次に、残りの帯域幅が最も大きいMYから、4Mbpsの帯域幅で、SGを経由して、JPへパケットを送信する経路を選択する(ループ8)(図16(E))。この結果、残りの帯域幅は、MYが20Mbps、SGが4Mbps、JPが8Mbps、VNが6Mbpsとなる。
(6)次に、残りの帯域幅が2番目にJPから、4Mbpsの帯域幅で、SGを経由して、MYへパケットを送信する経路を選択する(ループ9)(図16(F))。この結果、残りの帯域幅は、MYが20Mbps、SGが0Mbps、JPが8Mbps、VNが6Mbpsとなる。
(7)次に、VNから、4Mbpsの帯域幅で、JPへパケットを直接送信する経路を選択し(ループ10)、さらに、VNから、4Mbpsの帯域幅で、JPを経由して、SGへパケットを送信する経路を選択する(ループ11)(図16(G))。この結果、残りの帯域幅は、MYが20Mbps、SGが0Mbps、JPが4Mbps、VNが2Mbpsとなる。
ここで、SGの残りの帯域幅が0Mbps、VNの残りの帯域幅が2Mbpsであるため、4Mbpsの帯域幅で、VNからMYに到達するための経路を見出すことができない。
したがって、本発明のN−ツリーアルゴリズムは、バックトラッキング工程に移り、ルートの見直しを行う。具体的には、MYを選択し、リンク(SG−VN)を削除し、その代わりに2つのリンク、すなわちSGツリー内の(SG−MY)と(MY−VN)の経路を選択する(ループ12)(図16(H))。この結果、残りの帯域幅は、MYが16Mbps、SGが4Mbps、JPが4Mbps、VNが2Mbpsとなる。
これにより、VNから、4Mbpsの帯域幅で、JP、SGを経由して、MYへパケットを送信する経路を選択することができるようになる(ループ13)(図16(I))。この結果、残りの帯域幅は、MYが16Mbps、SGが0Mbps、JPが4Mbps、VNが2Mbpsとなる。
このように、本発明のN−ツリーアルゴリズムは、ソースベースのツリーを構築して最短の遅延パスに向かうようにバイアスをかけるMSTベースの方法と比較し、N個のソースツリーを同時に構築し、ストリームごとに帯域幅を公平に割り当てることができる。
例えば、図18に示した従来方法ではVNが2Mbpsの帯域幅しか確保できないのに対し、図16に示した本発明のN−ツリー構築方法では全てのノードにおいて4Mbpsの帯域幅を確保することができる。すなわち、各ノード(MY、SG、JP、VN)は、公平な帯域幅と許容された遅延制約に基づきN−ツリーを同時に構築することができる。
本発明は、小グループの参加者が、ネットワーク上ですべての参加者間のセッションを通じて高度な対話機能と良好なAV品質でAVストリームまたはコンテンツを交換するAV会議アプリケーションに用いるに好適である。
本発明の一実施の形態に係る通信システムを示す図 本発明の一実施の形態に係るクライアントエンティティとサーバーエンティティの内部構成を示すブロック図 最適ストリーム経路情報テーブルの一例を示す図 OSPIT内のN−ツリールートノード情報のデータ構造を示す図 OSPIT内のN−ツリーメンバーノード情報のデータ構造を示す図 帯域幅公平化転送テーブルを示す図 転送テーブル(FT)メッセージ構造を示す図 転送テーブルエントリ(FTE)メッセージ構造を示す図 ALM_FRCメカニズムによるN−ツリーアルゴリズムの全体工程を示す図 FTメッセージ交換シーケンスを示す図 N−ツリーアルゴリズムの実行方法を示す図 クライアントノードにおける帯域幅公平化転送テーブルの受信及び更新方法を示す図 N−ツリーアルゴリズム実行の詳細工程を示す図 N−ツリーアルゴリズム実行の詳細工程を示す図 N−ツリーアルゴリズムのリンク並べ替え工程を示す図 N−ツリーアルゴリズムのリンク移動工程を示す図 クライアントノードによるパケット転送方法を示す図 本発明のN−ツリーアルゴリズムの具体例を示す図 N−ツリーアルゴリズムを具体的に行う際の前提条件を示す図 従来のN−ツリーアルゴリズムの具体例を示す図
符号の説明
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転送テーブルレシーバ

Claims (8)

  1. 多対多の通信における、ノード間のパケット送信経路を設定する端末装置であって、
    前記多対多の通信に参加するメンバーを特定するアドレス情報を用いて、メンバー間のリンクの帯域幅およびパケットの往復時間を計測し、計測結果をメトリックデータベースに格納するメトリックコレクタと、
    前記計測結果を用いて、前記メンバー間のパケット送信経路を、帯域幅が均等になるようにN−ツリーを形成し、パケット送信経路を設定してサーバー転送テーブルに格納するALM転送テーブルコンストラクタと、
    前記ALM転送テーブルコンストラクタが設定したパケット送信経路を、入力ポート番号、宛先アドレス、宛先ポート番号の対で表現される情報に変換し、前記各メンバーに通知するALM転送テーブルディストリビュータと、
    を具備する端末装置。
  2. 前記ALM転送テーブルコンストラクタは、前記N−ツリーを形成する過程で、接続状態にある全てのノードに対するツリーの状態に関するN−ツリーセッション情報を最適ストリーム経路情報テーブルに格納する、
    請求項1に記載の端末装置。
  3. 前記ALM転送テーブルコンストラクタは、
    N−ツリーアルゴリズムの実行中、
    経験的規則データベースに格納された特定の経験的規則に基づき、N−ツリーセッション内の全てのメンバーを順位付けして順序付きリストを作成し、
    前記順序付きリストの順位が高いメンバーから順に、N−ツリー内の他の全てのノードに対するリンクを確立しなかったものを選択し、選択したメンバーを順位付けして規則ベース順序付きリストを作成し、
    前記規則ベース順序付きリストの順位が高いメンバーから順に、このメンバーと前記経験的規則データベースに格納された特定の経験的規則を満たす前記初期リストのメンバーとを選択することによりペアノードを形成し、ペアノードを順位付けして規則ペアノード順序付きリストを作成し、
    前記規則ペアノード順序付きリストの順位が高いペアノードから順に、前記経験的規則データベースに格納された追加規則を満たすメンバーを選択し、N−ツリーを形成する、
    請求項1に記載の端末装置。
  4. 前記ALM転送テーブルコンストラクタは、
    ペアノードを形成する際に、N−ツリーセッション内の全てのリンクの中で、ノードペア間の最も少ない待ち時間を有するリンクを選択する、
    請求項3に記載の端末装置。
  5. 前記ALM転送テーブルコンストラクタは、
    N個のツリーの高さを最小化するためにリンクをペアノード間で移動する、
    請求項3または請求項4に記載の端末装置。
  6. 前記ALM転送テーブルコンストラクタは、
    前記経験的規則データベースから経験的規則を選択し、前記最適ストリーム経路情報テーブルに基づいて前記選択した経験的規則を実行し、前記サーバー転送テーブルを更新する、
    請求項3から請求項5のいずれかに記載の端末装置。
  7. 前記ALM転送テーブルコンストラクタは、
    前記最適ストリーム経路情報テーブルから個々のノードを選択し、前記選択したノードを通過する全てのストリームに対して前記サーバー転送テーブルを構築する、
    請求項3から請求項6のいずれかに記載の端末装置。
  8. 前記経験的規則データベースに格納される経験的規則は、
    a.少ない待ち時間のN−ツリーを得るために、ノードは、他のノードのストリームを運ぶのではなく、そのノード自身のストリームをアップロードするために、最初に、当該帯域幅を使用すべきであるという規則と、
    b.ノード間で選択がなされる場合、残りのスロット数が最も多いノードを選択するという規則と、
    c.リンク間で選択がなされる場合、残りのスロット容量が最大のリンクを選択するという規則と、
    d.規則cにおいて、残りのスロット数が同じのリンク間では、N−ツリーに対し、最も少ないエンドツーエンド待ち時間を与えるリンクを選択するという規則と、を含む、
    請求項3から請求項7のいずれかに記載の端末装置。
JP2008306671A 2008-02-08 2008-12-01 端末装置 Active JP5058135B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2008306671A JP5058135B2 (ja) 2008-02-08 2008-12-01 端末装置
CN2008801263172A CN101939954B (zh) 2008-02-08 2008-12-26 终端装置和n-树构筑方法
MYPI20103472 MY151214A (en) 2008-02-08 2008-12-26 Terminal apparatus
US12/865,134 US8520556B2 (en) 2008-02-08 2008-12-26 Terminal and N-tree constructing method
PCT/JP2008/004017 WO2009098748A1 (ja) 2008-02-08 2008-12-26 端末装置及びn-ツリー構築方法
SG2011048188A SG186514A1 (en) 2008-02-08 2008-12-26 Terminal apparatus and n-tree construction method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008029771 2008-02-08
JP2008029771 2008-02-08
JP2008306671A JP5058135B2 (ja) 2008-02-08 2008-12-01 端末装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012140906A Division JP2012200014A (ja) 2008-02-08 2012-06-22 N−ツリー構築方法

Publications (2)

Publication Number Publication Date
JP2009213120A JP2009213120A (ja) 2009-09-17
JP5058135B2 true JP5058135B2 (ja) 2012-10-24

Family

ID=40951836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008306671A Active JP5058135B2 (ja) 2008-02-08 2008-12-01 端末装置

Country Status (6)

Country Link
US (1) US8520556B2 (ja)
JP (1) JP5058135B2 (ja)
CN (1) CN101939954B (ja)
MY (1) MY151214A (ja)
SG (1) SG186514A1 (ja)
WO (1) WO2009098748A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600942B2 (en) * 2008-03-31 2013-12-03 Thomson Reuters Global Resources Systems and methods for tables of contents
US8416776B2 (en) 2008-06-19 2013-04-09 Panasonic Corporation Communication channel building device and N-tree building method
JP5205289B2 (ja) 2009-01-14 2013-06-05 パナソニック株式会社 端末装置およびパケット送信方法
JP5026601B2 (ja) * 2009-03-18 2012-09-12 パナソニック株式会社 データを複数のノード間でネットワークを介して受信および転送するマルチキャスト通信方法および装置
JP5355222B2 (ja) * 2009-05-25 2013-11-27 パナソニック株式会社 パス設定装置およびパス設定方法
US8750103B2 (en) * 2009-06-15 2014-06-10 Panasonic Corporation Application layer multicast (ALM) tree constructing apparatus, ALM tree constructing method, program, and integrated circuit
US9197534B2 (en) 2009-08-26 2015-11-24 Nec Corporation Network designing system, network designing method, data transfer path determination method and network designing program
WO2011024702A1 (ja) 2009-08-26 2011-03-03 日本電気株式会社 ネットワーク運用システム、ネットワーク運用方法、及びネットワーク運用プログラム
CN101729296B (zh) * 2009-12-29 2012-12-19 中兴通讯股份有限公司 一种以太网流量统计分析的方法和系统
AU2011217741B2 (en) * 2010-02-18 2016-10-20 Isee Vc Pty Ltd A system, method and software application for the dissemination of data across a plurality of computing systems
JP5632384B2 (ja) 2010-06-16 2014-11-26 パナソニック株式会社 送信端末及び帯域推定方法
JP2012085014A (ja) 2010-10-07 2012-04-26 Panasonic Corp 経路構築装置及び経路構築方法
CN101984601B (zh) * 2010-11-04 2012-03-28 中国人民解放军空军工程大学 混合型多目标优化组播拥塞控制方法
US9571354B2 (en) * 2011-03-28 2017-02-14 Citrix Systems, Inc. Systems and methods for tracking application layer flow via a multi-connection intermediary device
US9385917B1 (en) * 2011-03-31 2016-07-05 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US9104543B1 (en) 2012-04-06 2015-08-11 Amazon Technologies, Inc. Determining locations of network failures
CN102664753B (zh) * 2012-04-17 2015-12-02 杭州华三通信技术有限公司 一种转发树生成方法及其装置
US20130279378A1 (en) * 2012-04-19 2013-10-24 Delphax Technologies Canada, Ltd. Cascaded Streaming of Data Through Virtual Chain of Nodes in Hub Topology
US9350633B2 (en) * 2012-07-24 2016-05-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic optimization of command issuance in a computing cluster
US8937870B1 (en) 2012-09-11 2015-01-20 Amazon Technologies, Inc. Network link monitoring and testing
CN104243302B (zh) 2013-06-20 2018-03-16 华为技术有限公司 业务路由报文处理方法、装置及网络系统
CN104301287B (zh) * 2013-07-16 2020-03-31 中兴通讯股份有限公司 一种多对多会话的实现方法、网络节点、服务器及系统
US9742638B1 (en) 2013-08-05 2017-08-22 Amazon Technologies, Inc. Determining impact of network failures
US9338096B2 (en) * 2013-08-30 2016-05-10 Futurewei Technologies, Inc. Multicast tree packing for multi-party video conferencing under SDN environment
WO2015089710A1 (zh) * 2013-12-16 2015-06-25 华为技术有限公司 一种序列号排序的方法以及终端设备
WO2015089714A1 (zh) * 2013-12-16 2015-06-25 华为技术有限公司 一种资源分配的方法以及终端设备
JP6365763B2 (ja) * 2015-03-16 2018-08-01 株式会社リコー 管理システム、通信システム、及び通信制御プログラム並びに通信制御方法
US9749221B2 (en) 2015-06-08 2017-08-29 International Business Machines Corporation Multi-destination packet handling at overlay virtual network tunneling endpoints

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400725B1 (en) * 1998-12-16 2002-06-04 Koninklijke Philips Electronics N.V. Fairness scheme for a serial interface
JP3391316B2 (ja) * 1999-10-22 2003-03-31 日本電気株式会社 ネットワークシステム
US6917985B2 (en) * 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US7280752B2 (en) * 2002-02-22 2007-10-09 Intel Corporation Network address routing using multiple routing identifiers
US7366199B1 (en) * 2002-12-10 2008-04-29 Apple Inc. Method and apparatus measuring bandwidth
US7577750B2 (en) * 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US20040267694A1 (en) * 2003-06-30 2004-12-30 Satoshi Sakai Machine-readable medium & data management system and method for tracking real-world objects
US20050080894A1 (en) 2003-10-09 2005-04-14 John Apostolopoulos Method and system for topology adaptation to support communication in a communicative environment
US7676595B2 (en) * 2003-12-29 2010-03-09 Intel Corporation Anycast addressing for internet protocol version six
US7418454B2 (en) * 2004-04-16 2008-08-26 Microsoft Corporation Data overlay, self-organized metadata overlay, and application level multicasting
US7355975B2 (en) 2004-04-30 2008-04-08 International Business Machines Corporation Method and apparatus for group communication with end-to-end reliability
US7474631B2 (en) * 2005-01-13 2009-01-06 International Business Machines Corporation On-demand group communication services with quality of service (QoS) guarantees
US7460495B2 (en) * 2005-02-23 2008-12-02 Microsoft Corporation Serverless peer-to-peer multi-party real-time audio communication system and method
US7529198B2 (en) 2005-04-07 2009-05-05 Microsoft Corporation Scalable overlay network
CN100399744C (zh) * 2005-04-30 2008-07-02 腾讯科技(深圳)有限公司 一种实现群组聊天的方法
US20080232405A1 (en) * 2005-08-25 2008-09-25 Nxp B.V. Method and Circuit for Calculating a Timeout Parameter in a Communication Session
GB0519521D0 (en) * 2005-09-24 2005-11-02 Ibm A dynamic bandwidth manager
US8243630B2 (en) * 2005-10-19 2012-08-14 Microsoft Corporation Application-level routing protocol for multiparty audio-video conferencing
US7457257B2 (en) * 2005-11-17 2008-11-25 International Business Machines Corporation Apparatus, system, and method for reliable, fast, and scalable multicast message delivery in service overlay networks
JP2007251805A (ja) * 2006-03-17 2007-09-27 Mitsubishi Electric Corp 通信装置およびネットワークシステム
US7552275B1 (en) * 2006-04-03 2009-06-23 Extreme Networks, Inc. Method of performing table lookup operation with table index that exceeds CAM key size
US8738013B2 (en) * 2006-04-24 2014-05-27 Marvell World Trade Ltd. 802.11 mesh architecture
US7961635B2 (en) * 2006-05-24 2011-06-14 At&T Intellectual Property I, Lp Network latency analysis packet and method
JP4736957B2 (ja) * 2006-05-31 2011-07-27 日本電気株式会社 品質計測システム、通信装置、通信端末及びそれらに用いるストリーミング配信品質計測方法
US7948909B2 (en) * 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US7954123B2 (en) * 2007-09-26 2011-05-31 Alcatel Lucent System, method, and computer-readable medium for synchronizing multicast customized content to facilitate DSLAM complexity reduction

Also Published As

Publication number Publication date
CN101939954A (zh) 2011-01-05
WO2009098748A1 (ja) 2009-08-13
MY151214A (en) 2014-04-30
US20110002333A1 (en) 2011-01-06
CN101939954B (zh) 2013-04-24
JP2009213120A (ja) 2009-09-17
SG186514A1 (en) 2013-01-30
US8520556B2 (en) 2013-08-27

Similar Documents

Publication Publication Date Title
JP5058135B2 (ja) 端末装置
Matta et al. QDMR: An efficient QoS dependent multicast routing algorithm
Huang et al. Multicast traffic engineering for software-defined networks
US8649375B2 (en) Method and devices for multicast distribution optimization
CN101247253A (zh) Ip网络中基于虚拟分发网的多播传送方法
Yang et al. Efficient resource allocation for wireless multicast
Baldi et al. Adaptive group multicast with time-driven priority
Sllame et al. Performance comparison of VoIP over wireless ad hoc networks using different routing protocols and queuing techniques
CN110324249A (zh) 一种蜻蜓网络架构及其组播路由方法
Hui et al. Analysis and research on OLSR protocol for multi-channel assignment of wireless mesh network
JP2012200014A (ja) N−ツリー構築方法
US7315516B2 (en) Method for generating casting path among participants for multicasting
Matta et al. On routing real-time multicast connections
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
Badis A QoS-aware multicast routing protocol for multimedia applications in mobile ad hoc networks
Malathy et al. AHP Based Cooperative Cache Path Support in Mobile AD HOC Network
Faizullah et al. An Innovative and Efficient Multipath Multicast Mechanism for Data Streams
Lin et al. A caching miss ratio aware path selection algorithm for Information-Centric Networks
Siew et al. Tree-caching for multicast connections with end-to-end delay constraint
Im et al. A distributed multicast routing algorithm for delay-sensitive applications
West et al. Comparison of k-ary n-cube and de Bruijn Overlays in QoS-constrained Multicast Applications.
Moghanjoughi et al. QoS based fair load-balancing: Paradigm to IANRA routing algorithm for wireless networks (WNs)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120731

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5058135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150