JP2007251805A - 通信装置およびネットワークシステム - Google Patents
通信装置およびネットワークシステム Download PDFInfo
- Publication number
- JP2007251805A JP2007251805A JP2006075185A JP2006075185A JP2007251805A JP 2007251805 A JP2007251805 A JP 2007251805A JP 2006075185 A JP2006075185 A JP 2006075185A JP 2006075185 A JP2006075185 A JP 2006075185A JP 2007251805 A JP2007251805 A JP 2007251805A
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- communication
- packet
- bandwidth
- transmission
- 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
Links
Images
Abstract
【課題】同一パケットの二重配信を防止し、ネットワークの帯域を有効に活用することができる通信装置およびネットワークシステムを得ること。
【解決手段】データ分配決定手段14は、マルチキャストツリーを構成する通信装置1間の推定帯域に基づいて、自装置の子である通信装置1へのパケットの分配の割合を算出して子である通信装置1へ送信するパケットを決定する。データ分配決定手段14は、ALM通信手段15、および下位レイヤ終端手段16を介して、決定した子である通信装置1へ送信するパケットの情報を予約情報として子である通信装置1に送信するとともに、予約情報に基づいて子である通信装置1にパケットを送信し、自装置の親からの予約情報に基づいて兄弟である通信装置1にパケットを送信する。
【選択図】 図2
【解決手段】データ分配決定手段14は、マルチキャストツリーを構成する通信装置1間の推定帯域に基づいて、自装置の子である通信装置1へのパケットの分配の割合を算出して子である通信装置1へ送信するパケットを決定する。データ分配決定手段14は、ALM通信手段15、および下位レイヤ終端手段16を介して、決定した子である通信装置1へ送信するパケットの情報を予約情報として子である通信装置1に送信するとともに、予約情報に基づいて子である通信装置1にパケットを送信し、自装置の親からの予約情報に基づいて兄弟である通信装置1にパケットを送信する。
【選択図】 図2
Description
本発明は、アプリケーションレイヤマルチキャストによるマルチキャスト通信に関するものであり、特に、マルチキャストツリーを構成する通信装置間の帯域を有効に活用する通信装置およびネットワークシステムに関するものである。
マルチキャストには、IP層において処理を行なうIPマルチキャストと、アプリケーション層において処理を行なうアプリケーションレイヤマルチキャスト(ALM:Application Layer Multicast)とがある。IPマルチキャストは、パケット内のIPアドレスにマルチキャストアドレスが設定されているパケットを受信した際にルータが受信したパケットを複製して転送するため、ネットワークシステム内の全てのルータがIPマルチキャスト対応機能を備える必要がある。しかしながら、IPマルチキャスト対応ルータは、IPマルチキャスト非対応(ユニキャスト)ルータと比較して高額であることや、既に構築されているネットワークのユニキャストルータをIPマルチキャスト対応ルータに置き換える作業などの点から、IPマルチキャストによるネットワークの導入障壁が高いのが現状である。
これに対してALMは、マルチキャストグループに属するエンドホスト同士で論理リンク(マルチキャストツリー)を構成し、エンドホストのアプリケーションがパケットを複製し、それぞれがユニキャスト通信を行うことでマルチキャスト通信を実現している。そのため、ALMは、IPマルチキャストと比較して、同じパケットが同じ物理リンクを複数回使用するなど網資源の使用効率は悪いが、ネットワーク内のユニキャスト対応ルータをIPマルチキャスト対応ルータに置き換えることなくそのまま使用することができ、既存のネットワークシステムに導入しやすいというメリットがある。
一般的にALMでは、エンドホスト間でIPマルチキャストと同様に通信装置の親子関係および兄弟関係によるマルチキャストツリーを構築し、構築したマルチキャストツリーに沿って親である通信装置から子である通信装置にパケットを配信するが、このマルチキャストツリーによる配信のほかに、親である通信装置以外の通信装置から直接パケットを受信することでスループットを向上させるBulletという方式が提案されている(たとえば、非特許文献1参照)。
上記非特許文献1に記載の従来技術は、親となる通信装置以外の通信装置からパケットを受信することで、マルチキャストツリーに沿って親である通信装置から子である通信装置にパケットを配信するALMによるマルチキャスト通信よりもスループットを向上することができる。
しかしながら、上記非特許文献1に記載の従来技術では、各通信装置が独立して他の通信装置からパケットを取得するため、自装置の親となる通信装置が同じパケットを同様に他の通信装置から取得した場合、同一のパケットが二重に送信されるため、ネットワークの帯域を無駄に消費するという問題があった。
また、上記非特許文献1に記載の従来技術では、自装置に必要なパケットを有する通信装置を検出するために、マルチキャストツリーの末端の通信装置であるリーフから送信元の通信装置であるルート方向のマルチキャストツリーに沿って情報を選択収集し、ルートからリーフに対してその情報を配分するようにしているため、親以外の通信装置からパケットを受信するには時間がかかり、ネットワークの輻輳などの状態変化に十分対応できない場合があるという問題があった。
本発明は、上記に鑑みてなされたものであって、同一パケットの二重配信を防止し、ネットワークの帯域を有効に活用することができる通信装置およびネットワークシステムを得ることを第1の目的とする。
また、本発明の第2の目的は、マルチキャストツリーの親以外の通信装置からパケットを取得する際に、パケットを取得する通信装置を検出する時間を削減し、ネットワークの輻輳などの状態変化に対応することができる通信装置およびネットワークシステムを得ることである。
上述した課題を解決し、目的を達成するために、本発明は、マルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムに適用される通信装置であって、上位アプリケーションからの要求または他の通信装置からの要求によって前記マルチキャストツリーを構成して管理するマルチキャストツリー構築手段と、前記マルチキャストツリー構築手段によって管理されるマルチキャストツリーから自装置の通信相手となる親、子、および兄弟となる通信装置に関するホスト情報と、親である通信装置から子である通信装置へのパケットの分配が登録された自装置が生成した子に対する予約情報と、自装置の親である通信装置から受信した親からの予約情報と、フィードバック情報に含まれる各推定帯域情報とを管理するホスト管理手段と、前記ホスト情報に基づいて通信相手となる通信装置から自装置への転送経路の帯域を推定し、通信相手である通信装置を識別するための通信装置識別子と推定した帯域を対応付けた通信相手毎の推定帯域情報を含むフィードバック情報を通信相手となる通信装置に送信するとともに、自装置の兄弟である通信装置から受信したフィードバック情報を親である通信装置に送信し、自装置が親である通信装置の場合、受信したフィードバック情報に含まれる推定帯域情報および自装置が送信した推定帯域情報に基づいて、自装置の子である通信装置へのパケットの分配の割合を算出し、算出したパケットの分配を子に対する予約情報として子である通信装置に送信するとともに、前記ホスト管理手段に通知するデータ分配決定手段と、前記子に対する予約情報に基づいて子である通信装置にパケットを送信し、前記親からの予約情報に基づいて兄弟である通信装置にパケットを送信する配信データ管理手段と、を備えることを特徴とする。
この発明によれば、マルチキャストツリーを構成する通信装置間の推定帯域に基づいて、親である通信装置が自装置の子である通信装置へのパケットの分配の割合を算出し、算出したパケットの分配を子に対する予約情報として子である通信装置に送信するとともに、子に対する予約情報に基づいて子である通信装置にパケットを送信し、自装置の親からの予約情報に基づいて兄弟である通信装置にパケットを送信するようにしているため、同一パケットの二重配信を低減し、ネットワークの帯域を有効に活用することができる通信装置を得ることができるという効果を奏する。
以下に、本発明における通信装置およびネットワークシステムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1〜図6を参照してこの発明の実施の形態1を説明する。図1は、この発明におけるネットワークシステムの構成の一例を示す図である。この発明におけるネットワークシステムは、図1に示すように、通信装置1(1−1〜1−5を示す)が親子関係によるマルチキャストツリーを構築する。図1においては、通信装置1−1と通信装置1−2,1−3、および通信装置1−2と通信装置1−4,1−5の2組の親子関係によってマルチキャストツリーを構築しており、通信装置1−1と通信装置1−2,1−3の親子関係においては、通信装置1−1が親であり、通信装置1−2,1−3が子である。また、通信装置1−2と通信装置1−4,1−5の親子関係においては、通信装置1−2が親であり、通信装置1−4,1−5が子であり、通信装置1−4,1−5は通信装置1−1から見ると孫となる。また、通信装置1−2と通信装置1−3、および通信装置1−4と通信装置1−5は、それぞれ同一の親を有する兄弟関係となっている。
図1〜図6を参照してこの発明の実施の形態1を説明する。図1は、この発明におけるネットワークシステムの構成の一例を示す図である。この発明におけるネットワークシステムは、図1に示すように、通信装置1(1−1〜1−5を示す)が親子関係によるマルチキャストツリーを構築する。図1においては、通信装置1−1と通信装置1−2,1−3、および通信装置1−2と通信装置1−4,1−5の2組の親子関係によってマルチキャストツリーを構築しており、通信装置1−1と通信装置1−2,1−3の親子関係においては、通信装置1−1が親であり、通信装置1−2,1−3が子である。また、通信装置1−2と通信装置1−4,1−5の親子関係においては、通信装置1−2が親であり、通信装置1−4,1−5が子であり、通信装置1−4,1−5は通信装置1−1から見ると孫となる。また、通信装置1−2と通信装置1−3、および通信装置1−4と通信装置1−5は、それぞれ同一の親を有する兄弟関係となっている。
通信装置1は、自装置の親となる通信装置1、子となる通信装置1、および兄弟となる通信装置1を通信相手としてそれぞれユニキャスト通信を行うことでマルチキャスト通信を実現する。通信装置1は、自装置の親となる通信装置1および兄弟となる通信装置1間の帯域を推定し、推定した帯域と当該帯域の通信相手となる通信装置1(相手装置)を識別するための通信装置識別子(たとえば、通信装置1のアドレスを用いる)とを対応付けた帯域推定情報を含むフィードバック情報4(4a〜4dを示す),5(5a〜5dを示す)を通信相手となる通信装置1に送信する。また、通信装置1は、受信したフィードバック情報に基づいてパケット2(2a−1〜2a−5,2b−1〜2b−5,2c−1〜2c−5,2d−1〜2d−5,2e−1〜2e−5を示す)の配分を決定し、決定したパケット2の配分を通知する予約情報3(3a,3bを示す)を子となる通信装置1に送信する。通信装置1は、予約情報3に基づいて受信したパケット2を子となる通信装置1および兄弟となる通信装置1に送信する。
図1においては、通信装置1−2は、親である通信装置1−1および兄弟である通信装置1−3から受信するパケット2b(2b−1〜2b−5を示す)や図示しない帯域測定用のパケットを用いた通信によって通信装置1−1および通信装置1−3から自装置への転送経路の帯域を推定して推定帯域情報を生成する。通信装置1−2は、推定帯域情報を含むフィードバック情報4a,5aを通信装置1−1,1−3に送信する。
通信装置1−3は、親である通信装置1−1および兄弟である通信装置1−2から受信するパケット2c(2c−1〜2c−5を示す)や図示しない帯域測定用のパケットを用いた通信によって通信装置1−1および通信装置1−2から自装置への転送経路の帯域を推定し、推定帯域情報を含むフィードバック情報4b,5bを通信装置1−1,1−2に送信する。
通信装置1−4は、親である通信装置1−2および兄弟である通信装置1−5から受信するパケット2d(2d−1〜2d−5を示す)や図示しない帯域測定用のパケットを用いた通信によって通信装置1−2および通信装置1−5から自装置への転送経路の帯域を推定し、推定帯域情報を含むフィードバック情報4c,5cを通信装置1−2,1−5に送信する。
通信装置1−5は、親である通信装置1−2および兄弟である通信装置1−4から受信するパケット2e(2e−1〜2e−5を示す)や図示しない帯域測定用のパケットを用いた通信によって通信装置1−2および通信装置1−4から自装置への転送経路の帯域を推定し、推定帯域情報を含むフィードバック情報4d,5dを通信装置1−2,1−4に送信する。
このとき、通信装置1は、兄弟である通信装置1から受信したフィードバック情報5に含まれる帯域推定情報を親である通信装置1へのフィードバック情報4に付加して送信する。すなわち、通信装置1は、子である通信装置1以外の通信装置1との帯域推定情報をすべて親である通信装置1に通知する。
図1においては、通信装置1−2は、通信装置1−3からのフィードバック情報5bに含まれる自装置から通信装置1−3への転送経路の推定帯域情報と、通信装置1−1から自装置への転送経路の推定帯域情報とを含むフィードバック情報4aを通信装置1−1に送信する。通信装置1−3は、通信装置1−2からのフィードバック情報5aに含まれる自装置から通信装置1−2への転送経路の推定帯域情報と、通信装置1−1から自装置への転送経路の推定帯域情報とを含むフィードバック情報4bを通信装置1−1に送信する。通信装置1−4は、通信装置1−5からのフィードバック情報5dに含まれる自装置から通信装置1−5への転送経路の推定帯域情報と、通信装置1−2から自装置への転送経路の推定帯域情報とを含むフィードバック情報4cを通信装置1−2に送信する。通信装置1−5は、通信装置1−4からのフィードバック情報5cに含まれる自装置から通信装置1−4への転送経路の推定帯域情報と、通信装置1−2から自装置への転送経路の推定帯域情報とを含むフィードバック情報4dを通信装置1−2に送信する。これにより、マルチキャストツリーの親子関係にある通信装置1間の転送経路の推定帯域情報が親である通信装置1に通知される。
親子関係における親となる通信装置1は、子である通信装置1から受信したフィードバック情報4に基づいて、子である通信装置1に送信するパケットの分配を決定する。図1においては、通信装置1−1は、シーケンス番号「#1」のパケット2−1、シーケンス番号「#2」のパケット2−2、およびシーケンス番号「#4」のパケット2−4を通信装置1−2に送信し、シーケンス番号「#1」のパケット2−1、シーケンス番号「#3」のパケット2−3、およびシーケンス番号「#5」のパケット2−5を通信装置1−3に送信することを決定する。また、通信装置1−2は、パケット2−1,2−3を通信装置1−4に送信し、パケット2−2,2−4,2−5を通信装置1−5に送信することを決定する。
親である通信装置1は、決定したパケットの分配を子である通信装置1の通信装置識別子に対応付けた予約情報3を生成し、生成した予約情報3を子である通信装置1に送信する。図1においては、通信装置1−1が通信装置1−2にパケット2−1,2−2,2−4を送信し、通信装置1−1が通信装置1−3にパケット2−1,2−3,2−5を送信するという情報が含まれた予約情報3aを、通信装置1−1が通信装置1−2,2−3に送信する。また、通信装置1−2が通信装置1−4にパケット2−1,2−3を送信し、通信装置1−2が通信装置1−5にパケット2−2,2−4,2−5を送信するという情報が含まれる予約情報3bを、通信装置1−2が通信装置1−4,1−5に送信する。
予約情報3を受信した通信装置1は、予約情報3に基づいて自装置の親である通信装置1または兄弟である通信装置1から受信したパケット2を子である通信装置1および兄弟である通信装置1に送信する。
図1においては、通信装置1−1が、パケット2−1,2−2,2−4をパケット2b−1,2b−2,2b−4として通信装置1−2に送信し、パケット2−1,2−3,2−5をパケット2c−1,2c−3,2c−5として通信装置1−3に送信する。通信装置1−2は、予約情報3aから通信装置1−3にはパケット2−2,2−4が通信装置1−1から送信されないことを認識し、受信したパケット2b−2,2b−4をパケット2c−2,2c−4として通信装置1−3に送信する。これにより、通信装置1−3は、パケット2−1〜2−5であるパケット2c−1〜2c−5を受信する。通信装置1−3は、予約情報3aから通信装置1−2にはパケット2−3,2−5が通信装置1−1から送信されないことを認識し、パケット2c−3,2c−5をパケット2b−3,2b−5として通信装置1−2に送信する。これにより、通信装置1−2は、パケット2−1〜2−5であるパケット2b−1〜2b−5を受信する。
通信装置1−2はパケット2b−1,2b−3をパケット2d−1,2d−3として通信装置1−4に送信し、パケット2b−2,2b−4,2b−5をパケット2e−2,2e−4,2e−5として通信装置1−5に送信する。通信装置1−4は、予約情報3bから通信装置1−5にはパケット2−1,2−3が送信されないことを認識し、パケット2d−1,2d−3をパケットパケット2e−1,2e−3として通信装置1−5に送信する。これにより、通信装置1−5は、パケット2−1〜2−5であるパケット2e−1〜2e−5を受信する。また、通信装置1−5は、予約情報3bから通信装置1−4にはパケット2−2,2−4,2−5が送信されないことを認識し、パケット2e−2,2e−4,2e−5をパケット2d−2,2d−4,2d−5として通信装置1−4に送信する。これにより、通信装置1−4は、パケット2−1〜2−5であるパケット2d−1〜2d−5を受信する。
通信装置1は、予め定められた周期毎に自装置の親となる通信装置1および兄弟となる通信装置1間の帯域を推定して推定帯域情報を含むフィードバック情報4,5を送信し、親となる通信装置1は、フィードバック情報4を受信するとフィードバック情報に基づいてパケットの配分を決定して予約情報3を子である通信装置1に送信する。
図2は、先の図1に示した通信装置1のマルチキャスト通信に関する構成を示すブロック図である。図2において、通信装置1は、アプリケーションインタフェース手段10、ALM通信手段15、下位レイヤ終端手段16、マルチキャストツリー構築手段11、配信データ管理手段12、ホスト管理手段13、およびデータ分配決定手段14を備えている。
アプリケーションインタフェース手段10は、上位のアプリケーションとのインタフェース機能を有し、上位のアプリケーションからのデータを配信データ管理手段12に出力するとともに、配信データ管理手段12から入力されるパケットを上位のアプリケーションに出力する。また、アプリケーションインタフェース手段10は、上位のアプリケーションからのマルチキャスト通信への参加または離脱の要求をマルチキャストツリー構築手段11に出力する。
ALM通信手段15は、ALMによるマルチキャスト通信におけるデータ配信に関するパケットの送受信を行なう。下位レイヤ終端手段16は、他の通信装置1と接続するネットワークの下位レイヤであるレイヤ1〜4の終端機能を有し、ネットワークから受信したパケットをALM通信手段15に出力するとともに、ALM通信手段15から入力されたパケットをネットワークに出力する。
マルチキャストツリー構築手段11は、アプリケーションインタフェース手段10を介して入力されるマルチキャスト通信への参加要求または離脱要求をALM通信手段15および下位レイヤ終端手段16を介して他の通信装置1に送信し、マルチキャストツリーの生成や更新、削除などマルチキャストツリーを管理する。
また、マルチキャストツリー構築手段11は、構築したマルチキャストツリーの親子関係および兄弟関係の情報から、自装置に関する親交関係や兄弟関係を抽出し、抽出した通信装置1に関するホスト情報を生成してホスト管理手段13に通知する。
ホスト管理手段13は、マルチキャストツリー構築手段11から通知されるホスト情報を管理する。また、下位レイヤ終端手段16およびALM通信手段15を介して他の通信装置1から受信した予約情報3および自装置のデータ分配決定手段14がALM通信手段15および下位レイヤ終端手段16を介して他の通信装置1に送信した予約情報3を管理する。
データ分配決定手段14は、ホスト管理手段13によって管理されているホスト情報に基づいて通信相手となる通信装置1から自装置への転送経路の帯域を推定する。データ分配決定手段14は、通信相手である通信装置1を識別するための通信装置識別子と推定した帯域を対応付けた推定帯域情報を含むフィードバック情報4,5を通信相手である通信装置1に送信する。このとき、データ分配決定手段14は、親である通信装置1に送信するフィードバック情報4には、子以外の通信装置1、すなわち兄弟である通信装置1から受信したフィードバック情報5に含まれる推定帯域情報を付加する。
データ分配決定手段14は、自装置が親となる通信装置1である場合には、受信したフィードバック情報4に含まれる推定帯域情報に基づいてパケットの分配の割合を算出し、算出した分配の割合を含む予約情報3を子となる通信装置1に送信する。
配信データ管理手段12は、自装置がマルチキャストツリーの最上流に位置する場合、アプリケーションインタフェース手段10を介して上位のアプリケーションから入力されたデータを分割してパケット2を生成し、生成したパケット2にシーケンス番号を付与する。配信データ管理手段12は、シーケンス番号を付与したパケット2をデータ分配決定手段14が算出した分配の割合に基づいて子である通信装置1に送信する。
また、配信データ管理手段12は、自装置がマルチキャストツリーの最上流に位置していない場合、すなわち自装置の親となる通信装置1が存在する場合、受信したパケット2をシーケンス番号に基づいて並べ替えるなど受信パケットの管理を行なうとともに、ホスト管理手段13によって管理されている予約情報3に基づいて、受信したパケット2を子および/または兄弟となる通信装置1に送信する。
つぎに、通信装置1の動作を詳細に説明する。まず、マルチキャストツリーを構築してパケットの分配を決定するマルチキャスト構築処理の動作について説明する。アプリケーションインタフェース手段10を介して上位のアプリケーションから、マルチキャストツリーへの参加要求を受けると、マルチキャストツリー構築手段11は、ALM通信手段15および下位レイヤ終端手段16を介してマルチキャスト通信への参加要求を送信し、他の通信装置1と通信を行なってマルチキャストツリーを構築する。
マルチキャストツリーの構築は、通信装置1のマルチキャストツリー構築手段11がそれぞれ処理を分散して行なってもよいし、ネットワークシステムに図示しないマルチキャストツリーを管理するマルチキャストツリー管理装置を備え、マルチキャストツリー管理装置が各通信装置1からのマルチキャスト通信への参加要求や離脱要求を受信して構築してもよく、マルチキャストツリーの構築方法はどのようなものであってもかまわない。ここでは、マルチキャストツリーが構築されると、マルチキャストツリーを構築する通信装置1の親子関係や兄弟関係、通信装置1の通信装置識別子などの情報を含むマルチキャストツリー情報がマルチキャストツリー内の各通信装置1に通知されることで、各通信装置1がマルチキャストツリーの構成を認識するものとする。
マルチキャストツリー構築手段11は、マルチキャストツリー情報の親子関係や兄弟関係から自装置に関する親子関係や兄弟関係を抽出する。マルチキャストツリー構築手段11は、抽出した親子関係や兄弟関係から、通信装置1と自装置との関係(自装置に対して親であるのか、子であるのか、兄弟であるのか)を当該通信装置1の通信装置識別子に対応付けたホスト情報を生成する。マルチキャストツリー構築手段11は、生成したホスト情報をホスト管理手段13に通知する。ホスト管理手段13は、通知されたホスト情報を記憶して管理する。
マルチキャストツリー構築手段11によってマルチキャストツリーが構築され、ホスト管理手段13にホスト情報が記憶された後、データ分配決定手段14は、ホスト情報に基づいて自装置が親であるか否かを認識する。
具体的には、データ分配決定手段14は、ホスト情報の通信装置1と自装置との関係として「子」が存在するか否かを判定し、「子」が存在する場合には自装置は親であると認識し、「子」が存在しない場合には自装置は親ではないと認識する。
自装置が親であると認識した場合、データ分配決定手段14は、パケット2の分配の配分を決定する。マルチキャスト通信前の初期状態には、子である通信装置1からフィードバック情報4を受信していないので、データ分配決定手段14は、たとえば、子である通信装置1に均等にパケットを分配することを決定する。データ分配決定手段14は、決定したパケットの分配を子である通信装置1の通信装置識別子に対応付けた予約情報3を生成する。
データ分配決定手段14は、生成した予約情報3をALM通信手段15および下位レイヤ終端手段16を介して子である通信装置1に送信する。また、データ分配決定手段14は、生成した予約情報3(自装置からみて子に対する予約情報3)をホスト管理手段13に通知する。ホスト管理手段13は、通知された予約情報3を記憶して管理する。
一方、通信装置1に親となる通信装置1が存在する場合、すなわち自装置が子である場合、通信装置1は、下位レイヤ終端手段16およびALM通信手段15を介して親である通信装置1からの予約情報3を受信する。予約情報3を受信すると、ホスト管理手段13は、受信した予約情報3(自装置からみて親からの予約情報3)を記憶して管理する。
つぎに、マルチキャストツリー構築処理が終了した後に実行されるマルチキャスト通信処理の動作について説明する。通信装置1がマルチキャストツリーの最上流の通信装置1である場合、配信データ管理手段12は、アプリケーションインタフェース手段10を介して上位のアプリケーションから送信すべきデータを受信する。配信データ管理手段12は、受信したデータを分割してパケット2を生成し、生成したパケット2にシーケンス番号を付与する。配信データ管理手段12は、シーケンス番号をホスト管理手段13に通知する。
ホスト管理手段13は、記憶している子に対する予約情報3およびシーケンス番号に基づいてパケットの送信先となる通信装置1を選択する。ホスト管理手段13が記憶する予約情報3には、通信装置1の通信装置識別子に対応付けて当該通信装置1に送信すべきパケットの分配が登録されている。パケットの分配は、たとえば、シーケンス番号を除数Xでの剰余によって指定される。よって、ホスト管理手段13は、シーケンス番号を除数Xで除算した剰余と一致する剰余が登録されている通信装置識別子が示す通信装置1を当該パケットの送信先として選択する。ホスト管理手段13は、選択した通信装置1の通信装置識別子をシーケンス番号毎に対応付けた送信先情報を配信データ管理手段12に出力する。
配信データ管理手段12は、シーケンス番号を付与したパケットを送信先情報のシーケンス番号毎に対応付けられた通信装置識別子が示す通信装置1にALM通信手段15および下位レイヤ終端手段16を介して送信する。これにより、データ分配決定手段14によって決定されたパケットの分配に基づいたパケットの送信が実現される。
一方、通信装置1がマルチキャストツリーの最上流に位置する通信装置1ではない場合、配信データ管理手段12は、下位レイヤ終端手段16およびALM通信手段15を介してパケット2を受信する。配信データ管理手段12は、受信したパケット2のシーケンス番号を抽出し、抽出したシーケンス番号をホスト管理手段13に出力する。
ホスト管理手段13は、記憶している予約情報3およびシーケンス番号に基づいてパケットの送信先となる通信装置1を選択する。具体的には、ホスト管理手段13は、自装置の子となる通信装置1に対しては、自装置のデータ分配決定手段14が生成した子に対する予約情報3を用いて、抽出したシーケンス番号を除数Xで除算した余りと一致する剰余が登録されている通信装置識別子が示す通信装置1を当該パケットの送信先として選択する。また、自装置の兄弟となる通信装置1に対しては、親となる通信装置1から受信した親からの予約情報3を用いて、抽出したシーケンス番号を除数Xで除算した剰余が登録されていない通信装置1を選択する。すなわち、兄弟である通信装置1の場合、ホスト管理手段13は、抽出したシーケンス番号を除数Xで除算した剰余が登録されていれば、抽出したシーケンス番号のパケットは親である通信装置1から兄弟である通信装置1に送信されていると認識し、抽出したシーケンス番号を除数Xで除算した剰余が登録されていなければ、自装置が送信すべきパケットであると認識する。ホスト管理手段13は、選択した通信装置1の通信装置識別子をシーケンス番号毎に対応付けた送信先情報を配信データ管理手段12に出力する。
配信データ管理手段12は、受信したパケット2をコピーし、コピーしたパケット2を送信先情報のシーケンス番号毎に対応付けられた通信装置識別子が示す通信装置1にALM通信手段15および下位レイヤ終端手段16を介して送信する。これにより、データ分配決定手段14によって決定されたパケットの分配、および親である通信装置1から通知されたパケットの配分に基づいたパケットの送信が実現される。
また、配信データ管理手段12は、受信したパケット2をデータ分配決定手段14に出力するとともに、受信したパケットをシーケンス番号順に並べ替えて、すべてのシーケンス番号のパケット2の受信が完了したか否かを判定する。すべてのパケット2の受信が完了した場合、配信データ管理手段12は、アプリケーションインタフェース手段10を介してすべてのパケット2を上位のアプリケーションに出力する。
一方、データ分配決定手段14は、配信データ管理手段12から入力されるパケット2、すなわち下位レイヤ終端手段16およびALM通信手段15を介して親である通信装置1および兄弟である通信装置1から受信したパケット2や、予め定められた周期毎に送信した帯域測定用のパケットに基づいて、親である通信装置1および兄弟である通信装置1から自装置への転送経路の帯域を推定する。
データ分配決定手段14は、ALM通信手段15および下位レイヤ終端手段16を介して通信相手である通信装置1を識別するための通信装置識別子と推定した帯域を対応付けた推定帯域情報を含むフィードバック情報4,5を通信相手である通信装置1に送信する。このとき、データ分配決定手段14は、親である通信装置1に送信するフィードバック情報4には、子以外の通信装置1、すなわち兄弟である通信装置1からのフィードバック情報5に含まれる推定帯域情報を付加する。
データ分配決定手段14は、ホスト管理手段13に記憶されているホスト情報に基づいて自装置が親であるか否かを認識する。自装置が親である場合、データ分配決定手段14は、フィードバック情報4に含まれる推定帯域情報に基づいてパケットの分配を決定するパケット分配処理を実行する。
図3のフローチャート、および図4〜図6(図6−1,図6−2を示す)を参照して、パケット分配処理の動作を詳細に説明する。なお、ここでは、説明を簡単にするために、図4に示すように、通信装置1Sが親であり、通信装置1A〜1Cが子となる親子関係の場合を例に挙げて説明する。また、通信装置1Sには、通信装置1Sから通信装置1Aへの転送経路の推定帯域が「30」であり、通信装置1Sから通信装置1B,1Cへの転送経路の推定帯域が「20」であり、通信装置1Aから通信装置1Bへの転送経路の推定帯域が「5」であり、通信装置1Aから通信装置1Cへの転送経路の推定帯域が「20」であり、通信装置1Bから通信装置1Aへの転送経路の推定帯域が「5」であり、通信装置1Bから通信装置1Cへの転送経路の推定帯域が「40」であり、通信装置1Cから通信装置1Bへの転送経路の推定帯域が「40」であり、通信装置1Cから通信装置1Aへの転送経路の推定帯域が「20」であることを示す推定帯域情報を含むフィードバック情報が通知されているものとする。なお、ここでは、説明を簡単にするために同一の子同士の通信装置1の推定帯域は両方向とも同じ値としたが、方向によって推定帯域が異なっていてもかまわない。
通信装置1Sのデータ分配決定手段14は、子である通信装置1A〜1Cからのフィードバック情報を受信すると、フィードバック情報に含まれる推定帯域情報を抽出する。また、データ分配決定手段14は、各通信装置1A〜1Cの割り当て帯域を初期化(この場合は「0」)する。
通信装置1Sのデータ分配決定手段14は、推定帯域情報に基づいて子であるすべての通信装置1A〜1Cの流入帯域を算出する(ステップS100)。ここで、流入帯域とは、送信元となる通信装置1S,1A〜1Cから送信先となる通信装置1A〜1Cへの各転送経路の帯域の合計値のことである。なお、データ分配決定手段14は、子である通信装置1A〜1C間の流入帯域が自装置から当該通信装置1A〜1Cへの流入帯域よりも大きい場合には、子である通信装置1A〜1C間の推定帯域を自装置から当該通信装置1A〜1Cへの推定帯域に置き換える。
具体的には、通信装置1S(図中ではS)から通信装置1A(図中ではA)への転送経路の推定帯域は「30」であり、通信装置1B(図中ではB)から通信装置1Aへの転送経路の推定帯域は「5」であり、通信装置1C(図中ではC)から通信装置1Aへの転送経路の推定帯域は「20」である(図4参照)。通信装置1B,1Cから通信装置1Aへの転送経路の推定帯域は、通信装置1Sから通信装置1B,1Cへの転送経路の推定帯域以下であるので、データ分配決定手段14は、図5−1に示すように、通信装置1B,1Cから通信装置1Aへの転送経路の推定帯域をそのまま用いて、通信装置1Aの流入帯域「55」を算出する。
また、通信装置1Sから通信装置1Bへの転送経路の推定帯域は「20」であり、通信装置1Aから通信装置1Bへの転送経路の推定帯域は「5」であり、通信装置1Cから通信装置1Bへの転送経路の推定帯域は「40」である(図4参照)。通信装置1Cから通信装置1Bへの転送経路の推定帯域は、通信装置1Sから通信装置1Cへの転送経路の推定帯域より大きいので、データ分配決定手段14は、図5−1に示すように、通信装置1Cから通信装置1Bへの転送経路の推定帯域「40」を通信装置1Sから通信装置1Cへの転送経路の推定帯域「20」に置き換えて通信装置1Bの流入帯域「45」を算出する。
また、通信装置1Sから通信装置1Cへの転送経路の推定帯域は「20」であり、通信装置1Aから通信装置1Cへの転送経路の推定帯域は「20」であり、通信装置1Bから通信装置1Cへの転送経路の推定帯域は「40」である(図4参照)。通信装置1Bから通信装置1Cへの転送経路の推定帯域は、通信装置1Sから通信装置1Bへの転送経路の推定帯域より大きいので、データ分配決定手段14は、図5−1に示すように、通信装置1Bから通信装置1Cへの転送経路の推定帯域「40」を通信装置1Sから通信装置1Bへの転送経路の推定帯域「20」に置き換えて通信装置1Cの流入帯域「60」を算出する。
データ分配決定手段14は、計算した流入帯域が最も小さい通信装置1A〜1Cを処理対象通信装置として選択する(ステップS101)。ここでは、通信装置1Bの流入帯域が最も小さいので、データ分配決定手段14は、通信装置1Bを処理対象通信装置として選択する。
また、データ分配決定手段14は、各通信装置1A〜1Cに帯域を割り当てた後、割り当てた帯域に応じてパケットの分配を決定する際の基準帯域を算出する。基準帯域は、下記の式(1)によって求めることができる。
基準帯域=最も小さい流入帯域/シーケンス番号の指定に用いる除数 …式(1)
基準帯域=最も小さい流入帯域/シーケンス番号の指定に用いる除数 …式(1)
データ分配決定手段14は、処理対象通信装置への転送経路の帯域を割り当てる(ステップS102)。ここでは、通信装置1Bが処理対象通信装置として選択されている。よって、データ分配決定手段14は、通信装置1Bへの転送経路の帯域を割り当てる。
具体的には、通信装置1Sから通信装置1Bへの転送経路は、「通信装置1S→通信装置1A→通信装置1B」の第1の転送経路と、「通信装置1S→通信装置1B」の第2の転送経路と、「通信装置1S→通信装置1C→通信装置1B」の第3の転送経路の3つである。第1の転送経路では、通信装置1Aから通信装置1Bへの転送経路の推定帯域が「5」であるので、帯域「5」を割り当てる。第2の転送経路では、通信装置1Sから通信装置1Bの転送経路の推定帯域が「20」であるので、帯域「20」を割り当てる。また、第3の転送経路では、通信装置1Cから通信装置1Bへの推定帯域が「20」であるので、帯域「20」を割り当てる。すなわち、データ分配決定手段14は、親から処理対象通信装置への転送経路毎に、当該転送経路の推定帯域が最も小さい帯域を割り当てる。
データ分配決定手段14は、未完了の通信装置1A〜1C、すなわち処理対象通信装置以外の通信装置1A〜1Cの割り当て帯域を更新する(ステップS103)。ここでは、処理対象通信装置として通信装置1Bが選択されているので、通信装置1A,1Cの割り当て帯域を更新する。
具体的には、通信装置1Sから処理対象通信装置である通信装置1Bへの転送経路に帯域を割り当てた際に、通信装置1Sから通信装置1A,1Cへの転送経路の帯域も決定している。よって、未完了の通信装置の転送経路は、通信装置1Aと通信装置1C間の転送経路、および通信装置1Bから通信装置1A,1Cへの転送経路である。すなわち、データ分配決定手段14は、通信装置1Sから通信装置1Aへの転送経路として、「通信装置1S→通信装置1B→通信装置1A」の第4の転送経路、および「通信装置1S→通信装置1C→通信装置1A」の第5の転送経路と、通信装置1Sから通信装置1Cへの転送経路として「通信装置1S→通信装置1A→通信装置1C」の第6の転送経路、および「通信装置1S→通信装置1B→通信装置1C」の第7の転送経路との割り当て帯域を更新する。
上述したように、第1の転送経路である「通信装置1S→通信装置1A→通信装置1B」には、帯域「5」が割り当てられている。通信装置1Bから通信装置1Aへの転送経路の推定帯域は「5」であり、第1の転送経路に割り当てた帯域「5」と等しい。よって、データ分配決定手段14は、第1の転送経路に割り当てた帯域「5」を通信装置1Aを経由する第6の転送経路「通信装置1S→通信装置1A→通信装置1C」に帯域「5」を割り当てる。
第2の転送経路である「通信装置1S→通信装置1B」には帯域「20」が割り当てられている。通信装置1Bから通信装置1Aへの転送経路の推定帯域は「5」であり、第2の転送経路に割り当てた帯域「20」以下である。よって、データ分配決定手段14は、第2の転送経路に割り当てた帯域「20」の内、通信装置1Bから通信装置1Aの推定帯域「5」と等しい帯域「5」を通信装置1Bを経由する第4の転送経路「通信装置1S→通信装置1B→通信装置1A」に割り当てる。
また、通信装置1Bから通信装置1Cへの転送経路の推定帯域は「20」であり、第2の転送経路に割り当てた帯域「20」と等しい。よって、データ分配決定手段14は、第2の転送経路に割り当てた帯域「20」を通信装置1Bを経由する第7の転送経路「通信装置1S→通信装置1B→通信装置1C」に割り当てる。
第3の転送経路である「通信装置1S→通信装置1C→通信装置1B」には帯域「20」が割り当てられている。通信装置1Cから通信装置1Aへの転送経路の推定帯域は「20」であり、第3の転送経路に割り当てた帯域「20」と等しい。よって、データ分配決定手段14は、第3の転送経路に割り当てた帯域「20」を通信装置1Cを経由する第5の転送経路「通信装置1S→通信装置1C→通信装置1A」に割り当てる。
データ分配決定手段14は、割り当てた帯域に応じてパケットの分配を決定する。上述したように、パケットの分配はシーケンス番号を除数Xによって除算した際の剰余によって指定する。よって、データ分配決定手段14は、図6−1に示すように、シーケンス番号を除数Xで除算した際の剰余SNを列方向とし、子である通信装置1A〜1Cを行方向としたビットマップを用いて自装置から各通信装置1A〜1Cへのパケットの分配を決定する。
なお、除数Xの相対は粒度によって変化するが、各通信装置1S,1A〜1C間の転送経路の最低帯域と最大帯域との比が「100〜1000」程度と考えると、除数Xは「100〜1000」程度あればよい。また、子の数は50台以下程度と考えると、ビットマップの容量は、最大で50Kbit(6Kバイト)程度となる。図6−1においては、説明を簡単にするために除数Xを「10」としている。
データ分配決定手段14は、上記式(1)によって算出した基本帯域を用いて、下記の式(2)によって各通信装置1A〜1Cへのパケットの分配割合を算出する。
分配割合=通信装置に割り当てた帯域/基本帯域 … 式(2)
具体的には、通信装置1Sから通信装置1Aへの転送経路には帯域「5」が割り当てられ、通信装置1Sから通信装置1B,1Cへの転送経路にはそれぞれ帯域「20」が割り当てられているので、通信装置1Aのパケットの分配割合は「5/4.5≒2」となり、通信装置1B,1Cへのパケットの分配割合はそれぞれ「20/4.5≒5」となる。なお、ここでは、上記式(2)によって算出された分配割合の小数点以下を切り上げている。
分配割合=通信装置に割り当てた帯域/基本帯域 … 式(2)
具体的には、通信装置1Sから通信装置1Aへの転送経路には帯域「5」が割り当てられ、通信装置1Sから通信装置1B,1Cへの転送経路にはそれぞれ帯域「20」が割り当てられているので、通信装置1Aのパケットの分配割合は「5/4.5≒2」となり、通信装置1B,1Cへのパケットの分配割合はそれぞれ「20/4.5≒5」となる。なお、ここでは、上記式(2)によって算出された分配割合の小数点以下を切り上げている。
データ分配決定手段14は、除数分のパケット(この場合は10個のパケット)を算出した通信装置1A〜1Cへのパケットの分配割合に基づいて、剰余SNが重ならないように均等にパケットを分配する。また、分配割合は小数点以下を切り上げにしているため余分な割り当てが発生する場合がある。この場合は、一方を削除すればよい。
図6−1においては、通信装置1Aに剰余SNが「1」,「3」の2個のパケットを分配し、通信装置1Bに剰余SNが「0」,「2」,「4」,「6」,「8」の5個のパケットを分配し、通信装置1Cに剰余SNが「1」,「3」,「5」,「7」,「9」の5個のパケットを分配している。
データ分配決定手段14は、割り当てた帯域を帯域割り当て前の推定帯域(リンク)から減算して推定帯域を更新するとともに、各通信装置1A〜1Cへの割り当て帯域の合計を算出する(ステップS104)。具体的には、図5−2に示すように、通信装置1Sから通信装置1Aへの転送経路には帯域「5」が割り当てられたので、推定帯域は「25」となる。通信装置1Bから通信装置1Aへの転送経路には帯域「5」が割り当てられたので、推定帯域は「0」となる。また、通信装置1Cから通信装置1Aへの転送経路には帯域「20」が割り当てられたので、推定帯域は「0」となり、通信装置1Aに割り当てた帯域の合計は「30」となる。
また、通信装置1Sから通信装置1Bへの転送経路には帯域「20」が割り当てられたので、推定帯域は「0」となる。通信装置1Aから通信装置1Bへの転送経路には帯域「5」が割り当てられたので、推定帯域は「0」となる。また、通信装置1Cから通信装置1Bへの転送経路には帯域「20」が割り当てられたので、推定帯域は「0」となり、通信装置1Bに割り当てた帯域の合計は「45」となる。
さらに、通信装置1Sから通信装置1Cへの転送経路には帯域「20」が割り当てられたので、推定帯域は「0」となる。通信装置1Aから通信装置1Cへの転送経路には帯域「5」が割り当てられたので、推定帯域は「15」となる。また、通信装置1Bから通信装置1Cへの転送経路には帯域「20」が割り当てられたので、推定帯域は「0」となり、通信装置1Cに割り当てた帯域の合計は「45」となる。
割り当てた帯域を帯域割り当て前の推定帯域(リンク)から減算して推定帯域を更新し、各通信装置1A〜1Cへの割り当て帯域の合計を算出した後に、データ分配決定手段14は、最も小さい流入帯域より割り当て帯域が小さい通信装置1A〜1Cが存在するか否かを判定する(ステップS105)。
最も小さい流入帯域より割り当て帯域が小さい通信装置1A〜1Cが存在する場合、データ分配決定手段14は、割り当て帯域の最も小さい通信装置1A〜1Cを新たな処理対象通信装置として選択し、選択した処理対象通信装置への転送経路に帯域を割り当て、未完了の通信装置1の割り当て帯域を更新し、割り当てた帯域を割り当て前の推定帯域から減算するとともに割り当て帯域を算出する動作を、最も小さい流入帯域より割り当て帯域が小さい通信装置1A〜1Cが存在しなくなるまで(各通信装置1A〜通信装置1Cの割り当て帯域が最も小さい流入帯域以上になるまで)繰り返す(ステップS102〜S106)。
ここでは、先の図5−2に示したように、現在の処理対象通信装置である通信装置1Bの割り当て帯域が「45」であり、通信装置1Aの割り当て帯域が「30」であり、通信装置1Cの割り当て帯域が「45」であるので、データ分配決定手段14は、通信装置1Aを新たな処理対象通信装置として選択する。
処理対象通信装置である通信装置1Aへの転送経路は、図5−2に示したように、通信装置1Sから通信装置1Aへの転送経路の推定帯域が「25」であり、他の通信装置1B,1Cから通信装置1Aへの転送経路の推定帯域は「0」である。また、通信装置1Aの現在の割り当て帯域は「30」であり、流入帯域が最も小さい通信装置1Bの流入帯域が「45」であるので、データ分配決定手段14は、ステップS102によって、通信装置1Sから通信装置1Aへの転送経路の推定帯域「30」から通信装置1Aの割り当て帯域の不足分の帯域「15」を通信装置1Aに割り当てる。すなわち、ステップS102によって、データ分配決定手段14は、処理対象通信装置への割り当て帯域は、流入帯域が最も小さい通信装置1A〜1Cの流入帯域以下とする。
なお、データ分配決定手段14は、処理対象通信装置に対して複数割り当て可能な帯域がある場合には、たとえば、親である通信装置1Sから処理対象通信装置への転送経路を最優先とし、つぎに、兄弟である通信装置1A〜1Cから処理対象通信装置への転送経路の中で、余剰帯域が大きい(推定帯域が大きい)転送経路から順に割り当てる。
データ分配決定手段14は、ステップS103によって、未完了の通信装置1A〜1Cの割り当て帯域を更新するが、ここでは、通信装置1Cの割り当て帯域は、通信装置1Bの流入帯域以上となっているので、対象外とする。すなわち、ステップS103において、データ分配決定手段14は、未完了の通信装置1A〜1Cの割り当て帯域の更新は、流入帯域が最も小さい通信装置1の流入帯域より割り当て帯域が小さい通信装置1A〜1Cのみを対象として割り当て帯域を更新する。
データ分配決定手段14は、新たに通信装置1Sから通信装置1A〜1Cへの転送経路に割り当てた帯域に応じてパケットの分配を決定する。ここでは、通信装置1Sから通信装置1Aへの転送経路に新たに帯域「15」を割り当てている。よって、データ分配決定手段14は、上記式(2)から、通信装置1Aへのパケットの分配割合「15/4≒4」を算出し、算出した分配割合に応じてパケットを分配する。
流入帯域が最も小さい通信装置1Bを処理対象通信装置として帯域を割り当てた際に、先の図6−1に示すように通信装置1Sから通信装置1A〜1Cへのパケットを分配しているので、データ分配決定手段14は、図6−2に示すように、既に分配されているパケットを除いて、剰余SNが重ならないように均等にパケットを均等に分配する。
図6−2においては、通信装置1Aに剰余SNが「0」,「2」,「4」,「6」のパケットを分配している。また、分配割合は小数点以下を切り上げたために余分な割り当てが発生しているので、先の図6−1において通信装置1Aに分配された剰余SNが「1」のパケットと、通信装置1Cに分配された剰余SNが「3」のパケットを削除している。
データ分配決定手段14は、ステップS104によって、割り当てた帯域を割り当て前の推定帯域から減算するとともに、各通信装置1A〜1Cへの割り当て帯域の合計を算出する。この場合、通信装置1Sから通信装置1Aへの転送経路に帯域「15」を割り当てているので、データ分配決定手段14は、通信装置1Sから通信装置1Aへの転送経路の推定帯域「25」(図5−2参照)から帯域「15」を減算するとともに、通信装置1Aの割り当て帯域「30」に帯域「15」を加算して、図5−3に示すように、通信装置1Sから通信装置1Aへの転送経路の推定帯域を「10」とし、通信装置1Aの割り当て帯域を「45」にする。これにより、通信装置1A〜通信装置1Cの各割り当て帯域が「45」となり、流入帯域が最も小さい通信装置1Bの流入帯域「45」と等しくなる。よって、各通信装置1A〜1Cの割り当て帯域が最も小さい流入帯域以上になり、データ分配決定処理を終了する。
データ分配決定手段14は、データ分配決定処理によって決定したパケットの分配を通信装置1の通信装置識別子に対応付けた予約情報3を生成し、生成した予約情報3をALM通信手段15および下位レイヤ終端手段16を介して子である通信装置1に送信するとともに、生成した予約情報3をホスト管理手段13に通知して記憶させる。
一方、下位レイヤ終端手段16およびALM通信手段15を介して親である通信装置1からの予約情報3を受信すると、ホスト管理手段13は受信した予約情報3を記憶して管理する。これにより、新たな予約情報3に基づいてパケットの送信先となる通信装置1を選択することが可能となる。
以上説明したように、この実施の形態1においては、マルチキャストツリーを構成する通信装置1間の推定帯域に基づいて、親である通信装置1が自装置の子である通信装置1へのパケットの分配の割合を算出し、算出したパケットの分配を子に対する予約情報3として子である通信装置1に送信するとともに、子に対する予約情報3に基づいて子である通信装置1にパケットを送信し、自装置の親からの予約情報3に基づいて兄弟である通信装置1にパケットを送信するようにしているため、同一パケットの二重配信を低減し、ネットワークの帯域を有効に活用することができる。
また、この実施の形態1においては、親である通信装置1が子である通信装置1に予約情報3を送信するようにしている。すなわち、親子関係の通信装置1のみで予約情報3をやりとりするようにしている。これにより、子である通信装置1が予め親および兄弟である通信装置1から配信されるデータを認識することができるとともに、予約情報3の通信時間も短縮することができ、すばやく輻輳などの変化に対応することができる。
なお、この実施の形態1においては、パケットの廃棄に関しては説明していないが、本発明の通信装置およびネットワークシステムは、ALMが前提となっている。したがって、パケットの廃棄が許容されないファイル配信などの場合、配信データ管理手段12が、送達確認(ACKまたはNAC)をパケットの送信元となる通信装置に送信し、NACKを受信した場合にNACKが要求するパケットを再送するようにすればよい。この場合、パケットの送信元はホスト管理手段13が記憶する予約情報によって認識すればよい。
また、この実施の形態1においては、子である通信装置1が親である通信装置1から受信したパケットの中で、兄弟関係にある通信装置1の中で自装置しか受信していないデータを兄弟関係にある通信装置1に送信することでパケットを補完するようにしたが、パケットを受信していない通信装置1が、当該パケットを受信している(当該パケットが分配されている)通信装置1にNACKを送信してパケットを要求し、NACKを受信した場合にはNACKが要求するパケットを送信することで受信していないパケットを補完するようにしてもよい。
さらに、この実施の形態1においては、データ分配決定処理によってデータ分配決定手段14は、流入帯域の最も小さい通信装置1の流入帯域分の帯域を各通信装置に割り当てることでネットワークシステムの帯域を最大限に私用するようにした。しかしながら、たとえば、ストリーミングなどのアプリケーションでは転送帯域が決まっているため、転送帯域以上の帯域を割り当てても帯域が無駄になる場合がある。したがって、アプリケーションが要求する帯域(要求帯域)以上の帯域を割り当てることを防止するために、流入帯域が最も小さい通信装置1の流入帯域が要求帯域よりも大きい場合には、要求帯域分のみの帯域を割り当てるようにしてもよい。また、各通信装置1間の残帯域が最大になるように割り当ててもよい。
実施の形態2.
図7を参照して、この発明の実施の形態2を説明する。先の実施の形態1では、パケットを受信できなかった場合、当該パケットの送信元である通信装置1からパケットを再送するようにした。この実施の形態2では、送信元である通信装置1からパケットを再送するのではなく、当該パケットを受信している通信装置1の中で帯域が最も大きい通信装置1にパケットを要求して未受信のパケットを補完するものである。
図7を参照して、この発明の実施の形態2を説明する。先の実施の形態1では、パケットを受信できなかった場合、当該パケットの送信元である通信装置1からパケットを再送するようにした。この実施の形態2では、送信元である通信装置1からパケットを再送するのではなく、当該パケットを受信している通信装置1の中で帯域が最も大きい通信装置1にパケットを要求して未受信のパケットを補完するものである。
なお、この実施の形態2のネットワークシステムおよび通信装置1の構成は、先の図1および図2に示した実施の形態1のネットワークシステムおよび通信装置1の構成と同様であるので、ここではその説明を省略する。
また、この実施の形態2のネットワークシステムおよび通信装置1の動作は、先の実施の形態1とほぼ同じであり、相違点はパケットの再送に関する動作であるので、ここでは
図7のフローチャートを参照して、相違点であるパケットの再送に関する動作のみを説明する。なお、データ分配決定手段14は、通信相手となる通信装置1(親および兄弟の通信装置1)から自装置への推定帯域情報をホスト管理手段13に通知し、ホスト管理手段13は、推定帯域情報を記憶して管理しているものとする。
図7のフローチャートを参照して、相違点であるパケットの再送に関する動作のみを説明する。なお、データ分配決定手段14は、通信相手となる通信装置1(親および兄弟の通信装置1)から自装置への推定帯域情報をホスト管理手段13に通知し、ホスト管理手段13は、推定帯域情報を記憶して管理しているものとする。
配信データ管理手段12は、受信しているパケットのシーケンス番号に基づいて廃棄されたパケットがあるか否かを判定する。マルチキャストツリーの最上流に位置する通信装置1の配信データ管理手段12は、シーケンス番号順にパケットを送信するので、通常は、各通信装置1にはシーケンス番号順にパケットが到達する。したがって、配信データ管理手段12は、受信しているパケットをシーケンス番号順に並び替え、抜けているシーケンス番号のパケットが廃棄されたと判定する。なお、転送経路の状態によっては、シーケンス番号の順番が逆転して到達することもあるので、たとえば、2回連続で抜けている場合にパケットが廃棄されたと判定するようにしてもよく、パケットが廃棄されたか否かの判定方法はどのようなものであってもかまわない。
廃棄されたパケットがある場合、配信データ管理手段12は、廃棄されたパケットのシーケンス番号をホスト管理手段13に通知する。廃棄されたパケットのシーケンス番号が通知されると、ホスト管理手段13は、通知されたシーケンス番号および親からの予約情報3に基づいて、送信元である通信装置1以外の通信装置1が通知されたシーケンス番号のパケット(廃棄されたパケット)を有しているか否かを判定する(ステップS200)。
具体的には、ホスト管理手段13は、通知されたシーケンス番号を除数Xで除算した剰余を算出する。算出した剰余のパケットが分配される通信装置1が親からの予約情報3に1つしか存在しない場合、ホスト管理手段13は、送信元である通信装置1のみが廃棄されたパケットを有していると判定する。算出した剰余のパケットが分配される通信装置1が予約情報に複数存在する場合、ホスト管理手段13は、送信元である通信装置1以外の通信装置1も廃棄されたパケットを有していると判定する。
送信元である通信装置1以外の通信装置1も廃棄されたパケットを有している場合、ホスト管理手段13は、廃棄されたパケットを有している通信装置1の中で帯域が最も大きい通信装置1を選択する(ステップS201)。具体的には、ホスト管理手段13は、記憶している推定帯域情報の中で、廃棄されたパケットを有している通信装置1の通信装置識別子に対応付けられた推定帯域情報を抽出する。ホスト管理手段13は、抽出した推定帯域情報の中で推定帯域が最も大きい推定帯域情報に対応付けられた通信装置識別子が示す通信装置1を選択する。ホスト管理手段13は、選択した通信装置1の通信装置識別子を配信データ管理手段12に通知する。
配信データ管理手段12は、通知された通信装置識別子が示す通信装置1、すなわち廃棄されたパケットを有する通信装置1の中で最も帯域が大きい通信装置1に廃棄されたパケットを要求する送信要求(NACK)を送信する(ステップS202)。
一方、送信元である通信装置1のみが通知された廃棄されたパケットを有している場合、ホスト管理手段13は、送信元である通信装置1の通信装置識別子を配信データ管理手段12に通知する。
配信データ管理手段12は、通知された通信装置識別子が示す通信装置1、すなわち廃棄されたパケットを有する送信元の通信装置1に廃棄されたパケットを要求する送信要求(NACK)を送信する(ステップS203)。
以上説明したように、この実施の形態2においては、パケットの廃棄を検出すると、親からの予約情報3に基づいて廃棄されたパケットを有する通信装置1が送信元である通信装置1の他に存在するか否かを判定し、送信元である通信装置1の他に廃棄されたパケットを有する通信装置が存在する場合には、管理している推定帯域情報に基づいて推定帯域が最も大きい通信装置を選択し、選択した通信装置に廃棄されたパケットの再送を要求するようにしているため、パケットの廃棄が発生した場合でも、ネットワークの帯域を有効に活用することができる。
なお、この実施の形態2においては、廃棄されたパケットを有する通信装置1が複数存在する場合には、推定帯域情報から得られる推定帯域が最も大きい通信装置1を選択して廃棄されたパケットを要求するようにしたが、残帯域を把握可能であれば、残帯域の最も大きな通信装置1を選択するようにしてもよい。
残帯域の把握方法としては、たとえば、親となる通信装置1のデータ分配決定手段14が、各通信装置1に帯域を割り当てた後に更新した各通信装置1間の推定帯域、すなわちフィードバック情報4に含まれる推定帯域から割り当てた帯域を減算した帯域を予約情報3に含めて各通信装置1に通知すればよい。そして、廃棄されたパケットを要求する通信装置1を選択する際に、ホスト管理手段13は、推定帯域情報の推定帯域ではなく、親からの予約情報3に含まれる推定帯域を用いて通信装置1を選択するようにすればよい。
このように、残帯域の最も大きな通信装置1を廃棄されたパケットの再送通信装置1として選択するようにすれば、帯域割り当て後の帯域に最も余裕のある転送経路を用いることが可能となり、帯域割り当て前の推定帯域を用いる場合と比較して、より効率よく転送経路を利用することができる。
また、この実施の形態2においては、NACKベースによる廃棄パケットの要求によって廃棄されたパケットの再送を行うようにしたが、ACKベースの場合には、送信元である通信装置1以外の通信装置1に再送を要求する場合、送信元である通信装置1からの再送を防止するために、送信元である通信装置1に擬似的にACKを送信するようにすればよい。
実施の形態3.
図8を用いて、この発明の実施の形態3を説明する。この実施の形態3のネットワークシステムは、先の図2に示した実施の形態1,2のネットワークシステムの通信装置1の代わりに、通信装置1aを備えている。
図8を用いて、この発明の実施の形態3を説明する。この実施の形態3のネットワークシステムは、先の図2に示した実施の形態1,2のネットワークシステムの通信装置1の代わりに、通信装置1aを備えている。
図8は、この実施の形態3の通信装置1aのマルチキャスト通信に関する構成を示すブロック図である。通信装置1aは、先の図2に示した実施の形態1,2の通信装置1に、送信先/送信要求先決定手段17が追加されている。実施の形態1の通信装置1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
送信先/送信要求先決定手段17は、兄弟である通信装置1a間(同一の親の子同士)で転送するパケットの送信元となる通信装置1aの候補が複数存在する場合に、送信元となる通信装置1aを選択する機能を有する。
つぎに、この実施の形態3のネットワークシステムおよび通信装置1aの動作を説明する。なお、この実施の形態3のネットワークシステムおよび通信装置1aと、先の実施の形態1,2のネットワークシステムおよび通信装置1との相違点は、兄弟である通信装置1で転送するパケットの送信元となる通信装置1aの候補が複数存在する場合の送信元となる通信装置1aを選択することである。したがって、ここでは、相違点のみの動作を説明する。
兄弟である通信装置1a間でパケットを転送する場合、送信元となる通信装置1aが受信したパケットを兄弟である通信装置1aに転送すべきか否かを判断する方法と、送信先となる通信装置1aが受信すべきパケットを有する通信装置1aを選択して当該パケットを要求する方法の2つがある。まず、送信元となる通信装置1aが受信したパケットを兄弟である通信装置1aに転送すべきか否かを判断する場合の動作について説明する。
ホスト管理手段13は、配信データ管理手段12から受信したシーケンス番号を通知されると、記憶している親からの予約情報3およびシーケンス番号に基づいてパケットの送信先となる通信装置1aを選択する。送信先となる通信装置1aを選択した場合、ホスト管理手段13は、選択した通信装置1aに当該パケットを送信する送信元候補が複数存在するか否かを判定する。
具体的には、ホスト管理手段13は、通知されたシーケンス番号を除数Xで除算した剰余が示すパケットの分配が、自装置のみに対応付けられているか否かを判定する。通知されたシーケンス番号を除数Xで除算した剰余が示すパケットの分配が、自装置のみに対応付けられている場合、ホスト管理手段13は、当該パケットを送信する送信元候補は複数存在しないと判定し、先の実施の形態1,2と同様の動作によって当該パケットを選択した通信装置1aに送信する。
通知されたシーケンス番号を除数Xで除算した剰余が示すパケットの分配が、自装置以外の通信装置1aにも対応付けられている場合、ホスト管理手段13は、当該パケットを送信する送信元候補が複数存在すると判定し、送信元候補が複数存在することを通知する送信元選択要求を配信データ管理手段12に通知する。
送信元選択要求が通知された場合、配信データ管理手段12は、送信先/送信要求先決定手段17に当該パケットのシーケンス番号を付加した送信元選択要求を通知する。送信元選択要求を受けると、送信先/送信要求先決定手段17は、送信元選択要求に含まれるシーケンス番号を用いて送信元となる通信装置1aを選択する。
選択方法としては、下記の3つの方法がある。
(1)親である通信装置1aが予め送信元を指定しておき、この指定によって送信元となる通信装置1aを選択する。
(2)送信先となる通信装置1aとアドレスが最も近い通信装置1aを送信元の通信装置1aとして選択する。
(3)パケットのシーケンス番号とアドレスを用いてHash計算を行い、計算結果が最も大きな通信装置1aを送信元の通信装置1aとして選択する。
(1)親である通信装置1aが予め送信元を指定しておき、この指定によって送信元となる通信装置1aを選択する。
(2)送信先となる通信装置1aとアドレスが最も近い通信装置1aを送信元の通信装置1aとして選択する。
(3)パケットのシーケンス番号とアドレスを用いてHash計算を行い、計算結果が最も大きな通信装置1aを送信元の通信装置1aとして選択する。
上記(1)の選択方法を適用する場合、親である通信装置1aのデータ分配決定手段14がデータ分配決定処理によって同一のパケットを複数の通信装置1aに分配する際に、複数の通信装置1aの中の1つの通信装置1aを送信元として選択しておき、予約情報3にこの情報を含めておく。たとえば、データ分配決定手段14は、推定帯域が最も大きい通信装置1aを送信元として選択する。送信先/送信要求先決定手段17は、ホスト管理手段13に記憶されている親からの予約情報3を参照して、送信元となる通信装置1aを選択する。
上記(2)の選択方法を適用する場合、ホスト管理手段13は、複数の送信元候補の通信装置1aのそれぞれの通信装置識別子であるアドレスと、送信先の通信装置1aのアドレスとを含めた送信元選択要求を配信データ管理手段12に通知する。配信データ管理手段12は、通知された送信元選択要求を送信先/送信要求先決定手段17に通知する。
送信元選択要求が通知されると、送信先/送信要求先決定手段17は、送信元選択要求に含まれる送信元候補の通信装置1aのアドレスと、送信先の通信装置1aのアドレスとを比較する。送信先/送信要求先決定手段17は、比較の結果、送信元候補の通信装置1aのアドレスと送信先の通信装置1aのアドレスとの差が最も小さい送信元候補の通信装置1aを送信元の通信装置1aとして選択する。
比較の結果、送信元候補の通信装置1aのアドレスと送信先の通信装置1aのアドレスとの差が最も小さい送信元候補の通信装置1aが複数存在する場合、送信先/送信要求先決定手段17は、送信元候補の通信装置1aのアドレスと送信先の通信装置1aのアドレスとの差が最も小さい送信元候補の通信装置1aの中でアドレスが小さい通信装置1aを送信元の通信装置1aとして選択する。
上記(3)の選択方法を適用する場合、ホスト管理手段13は、送信元候補の通信装置1aのそれぞれの通信装置識別子であるアドレスと、送信先の通信装置1aのアドレスとを含めた送信元選択要求を配信データ管理手段12に通知する。配信データ管理手段12は、通知された送信元選択要求にシーケンス番号を付加した送信元選択要求を送信先/送信要求先決定手段17に通知する。
送信元選択要求が通知されると、送信先/送信要求先決定手段17は、送信元選択要求に含まれるシーケンス番号を除数Xで除算した剰余を算出する。送信先/送信要求先決定手段17は、算出した剰余と、送信元候補の通信装置1aのそれぞれの通信装置識別子であるアドレスと、送信先の通信装置1aのアドレスとに基づいて送信元候補の通信装置毎のHash計算を実行する。送信先/送信要求先決定手段17は、送信元候補のHash計算の結果が最も大きい送信元候補の通信装置1aを送信元の通信装置1aとして選択する。
Hash計算の結果が最も大きい送信元候補の通信装置1aが複数存在する場合、送信先/送信要求先決定手段17は、送信元候補の通信装置1aの中でアドレスが最も小さい通信装置1aを送信元の通信装置1aとして選択する。
上記(1)〜(3)の何れかによって送信元の通信装置1aを選択すると、送信先/送信要求先決定手段17は、選択した送信元の通信装置1aのアドレスを含む送信元選択応答を配信データ管理手段12に通知する。配信データ管理手段12は、送信元選択応答に含まれるアドレスが自装置のアドレスであるか否かを判定する。送信元選択応答に含まれるアドレスが自装置のアドレスである場合、パケットの送信元が自装置であると認識し、ALM通信手段15および下位レイヤ終端手段16を介して当該パケットを送信元選択応答に含まれる送信先の通信装置1aに送信する。送信元選択応答に含まれるアドレスが自装置のアドレスではない場合、配信データ管理手段12は、パケットの送信元は自装置ではないと認識して処理を終了する。
つぎに、送信先となる通信装置1aが受信すべきパケットを有する通信装置1aを選択して当該パケットを要求する場合の動作を説明する。送信先/送信要求先決定手段17は、マルチキャスト通信において受信するパケットから自装置と送信元となる各通信装置1aの残帯域を監視する。配信データ管理手段12は、受信しているパケットのシーケンス番号に基づいて未受信のパケット、すなわち親である通信装置1a以外の通信装置1aから受信すべきパケット(要求パケット)のシーケンス番号を検出する。配信データ管理手段12は、要求パケットのシーケンス番号をホスト管理手段13に通知する。
要求パケットのシーケンス番号が通知されると、ホスト管理手段13は通知されたシーケンス番号および予約情報に基づいて、予約パケットを有している通信装置1aを抽出する。具体的には、ホスト管理手段13は、通知されたシーケンス番号を除数Xで除算した剰余を算出し、算出した剰余のパケットが分配される通信装置1aを抽出する。ホスト管理手段13は、抽出した通信装置1aの通信装置識別子であるアドレスを含めた送信元選択要求を配信データ管理手段12に通知する。
送信元選択要求に含まれるアドレスが1つの場合、配信データ管理手段12は、送信元選択要求に含まれるアドレスが示す通信装置1aにパケットを要求する送信要求(たとえば、NACK)を送信する。送信元選択要求に含まれるアドレスが複数の場合、配信データ管理手段12は、送信元選択要求を送信先/送信要求先決定手段17に通知する。
送信元選択要求が通知されると、送信先/送信要求先決定手段17は、送信元選択要求に含まれる各アドレスを抽出する。送信先/送信要求先決定手段17は、抽出した各アドレスが示す通信装置1aのそれぞれの残帯域の中から、最も残帯域が大きい通信装置1aを送信元の通信装置1aとして選択する。最も残帯域が大きい通信装置1aが複数存在する場合、送信先/送信要求先決定手段17は、最も残帯域が大きい通信装置1aの中で最も帯域が大きい通信装置1aを送信元の通信装置1aとして選択する。最も残帯域が大きい通信装置1aが複数存在する場合、送信先/送信要求先決定手段17は、最も残帯域が大きい通信装置1aの中で、最もアドレスが小さい通信装置1aを送信元の通信装置1aとして選択する。
送信先/送信要求先決定手段17は、選択した送信元の通信装置1aのアドレスを含む送信元選択応答を配信データ管理手段12に通知する。配信データ管理手段12は、送信元選択応答に含まれるアドレスが示す通信装置1aにパケットを要求する送信要求を送信する。
以上説明したように、この実施の形態3においては、兄弟である通信装置1aにパケットを送信する際に、親からの予約情報3に当該パケットを有する送信元候補となる通信装置1aが複数存在する場合、前記送信元候補となる通信装置1aの中から推定帯域が最も大きい通信装置1aを送信元の通信装置1aとして選択するようにしているため、ネットワークの帯域を有効に活用することができる。
また、マルチキャストツリーの親以外の通信装置からパケットを取得する際に、予め通知された親からの予約情報3から送信元とする通信装置1aを選択するため、パケットを取得する通信装置を検出する時間を削減することができる。
実施の形態4.
図9および図10(図10−1〜図10−4を示す)を参照して、この発明の実施の形態4を説明する。この実施の形態4のネットワークシステムは、先の実施の形態3のネットワークシステムの通信装置1aの代わり、通信装置1bを備えている。
図9および図10(図10−1〜図10−4を示す)を参照して、この発明の実施の形態4を説明する。この実施の形態4のネットワークシステムは、先の実施の形態3のネットワークシステムの通信装置1aの代わり、通信装置1bを備えている。
図9は、この実施の形態4の通信装置1bのマルチキャスト通信に関する構成を示すブロック図である。通信装置1bは、先の図8に示した実施の形態3の通信装置1aに、バイパス要求送受信手段18が追加されている。実施の形態3の通信装置1aと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
バイパス要求送受信手段18は、輻輳した通信装置1bへのバイパス要求の送信と、輻輳した通信装置1bからのバイパス要求の受信を行い、バイパス要求を送信または受信したことを装置内の各構成要素へ通知する。
つぎに、この実施の形態4のネットワークシステムおよび通信装置1bの動作を説明する。なお、この実施の形態4のネットワークシステムおよび通信装置1bと、先の実施の形態3のネットワークシステムおよび通信装置1aとの相違点は、通信装置1bが輻輳した際にバイパス処理を行うことのみであるので、ここでは相違点のみを説明する。
まず、自装置に輻輳が発生した場合の通信装置1bの動作を説明する。バイパス要求送受信手段18は、配信データ管理手段12、ホスト管理手段13、データ分配決定手段14、ALM通信手段15、および下位レイヤ終端手段16を監視して、マルチキャスト通信処理(パケットの送受信)の処理速度を認識する。
他のアプリケーションの実行などによって自装置の処理速度が他の通信装置1bの処理速度より低下したことを検出すると、バイパス要求送受信手段18は、ALM通信手段15および下位レイヤ終端手段16を介して、バイパス要求を親である通信装置1bおよび兄弟である通信装置1bに送信する。バイパス要求には、自装置の子である通信装置1bの通信装置識別子、すなわち新たにコネクションを確立する通信装置1bの通信装置識別子が含まれている。
下位レイヤ終端手段16およびALM通信手段15を介して、バイパス応答を受信すると、バイパス要求送受信手段18は、配信データ管理手段12およびホスト管理手段13にパケットの転送処理を停止することを通知する。配信データ管理手段12およびホスト管理手段13は、パケットの転送処理を停止することが通知されると、パケットの受信処理のみを実行し、受信したパケットを他の通信装置1b(子や兄弟)に送信する処理を停止する。
つぎに、輻輳した通信装置1bからバイパス要求を受信した場合の通信装置1bの動作を説明する。下位レイヤ終端手段16およびALM通信手段15を介してバイパス要求を受信すると、バイパス要求送受信手段18は、バイパス要求に含まれる親である通信装置1bおよび子である通信装置1bの通信装置識別子を抽出する。バイパス要求送受信手段18は、抽出した通信装置識別子が示す通信装置1bと通信を行って新たなコネクションを確立する。
バイパス要求を受信してコネクションを確立した場合、バイパス要求送受信手段18は、バイパス応答をバイパス要求の送信元である通信装置1bに送信する。また、バイパス要求送受信手段18は、新たにコネクションを確立した通信装置1bにパケットを送信することを配信データ管理手段12、ホスト管理手段13、およびデータ分配決定手段14に通知し、配信データ管理手段12、ホスト管理手段13、およびデータ分配決定手段14は、通知された通信装置1bを擬似的に自装置の子としてマルチキャスト通信を実行する。
バイパス要求を受信することなくコネクションを確立した場合、バイパス要求送受信手段18は、新たにコネクションを確立した通信装置1bからパケットを受信することを配信データ管理手段12、ホスト管理手段13、およびデータ分配決定手段14に通知し、配信データ管理手段12、ホスト管理手段13、およびデータ分配決定手段14は、通知された通信装置1bを擬似的に自装置の親としてマルチキャスト通信を実行する。
つぎに、図10を参照して、ネットワークシステムの動作を説明する。図10−1に示すように、通信装置1b−1と通信装置1b−2,1b−3、および通信装置1b−2と通信装置1b−4,1b−5の2組の親子関係によってマルチキャストツリーを構築しており、通信装置1b−1と通信装置1b−2,1b−3の親子関係においては、通信装置1b−1が親であり、通信装置1b−2,1b−3が子である。また、通信装置1b−2と通信装置1b−4,1b−5の親子関係においては、通信装置1b−2が親であり、通信装置1b−4,1b−5が子であり、通信装置1b−4,1b−5は通信装置1b−1から見ると孫となる。また、通信装置1b−2と通信装置1b−3、および通信装置1b−4と通信装置1b−5は、それぞれ同一の親を有する兄弟関係となっている状態で、通信装置1b−2に輻輳が発生したとする。
通信装置1b−2は、図10−2に示すように、子である通信装置1b−4,1b−5へのバイパスを要求するバイパス要求を親である通信装置1b−1および兄弟である通信装置1b−3に送信する。バイパス要求を受信した通信装置1b−1,1b−3は、図10−3に示すように、通信装置1b−4,1b−5に対して一般的なコネクション確立処理を実行して、新たなコネクションを確立する。
通信装置1b−1と通信装置1b−4,1b−5、および通信装置1b−3と通信装置1b−4,1b−5にそれぞれコネクションが確立すると、図10−4に示すように、通信装置1b−1,1b−3は、通信装置1b−2の代わりに通信装置1b−4,1b−5にパケットの転送を開始し、通信装置1b−2は自装置へのパケットの受信処理のみを実行する。
パケットの送受信処理を監視して輻輳を検出した場合には、親である通信装置1bおよび兄弟である通信装置1bに自装置の子である通信装置1bを示す通信装置識別子を含むバイパス要求を送信するとともに、子に対する予約情報3に基づいたパケットの送信を停止させ、バイパス要求を受信した場合には、バイパス要求に含まれる通信装置識別子が示す通信装置1bとの間にコネクションを確立し、バイパス要求を送信した通信装置1bの代わりにコネクションを確立した通信装置1bにパケットを送信するようにしているため、輻輳した通信装置1bの送信処理がなくなりマルチキャスト通信における処理負荷を軽減することができるとともに、ネットワークシステム全体のスループットの低下を防止することができる。
なお、この実施の形態4においては、バイパス要求を送信した通信装置1bは、すべてのパケットの送信を停止し、バイパス要求を受信した通信装置1bがパケットの送信を代行するようにしたが、処理負荷に応じて一部のパケットの送信のみをバイパスするようにしてもよい。この場合、たとえば、子である通信装置1b中の一部に対するバイパス要求を親および兄弟である通信装置1bに送信すればよい。
以上のように、本発明にかかる通信装置は、アプリケーションレイヤマルチキャストによるマルチキャスト通信に有用であり、特に、ネットワークの帯域を有効活用が要求されるネットワークシステムに適している。
1,1a,1b 通信装置
10 アプリケーションインタフェース手段
11 マルチキャストツリー構築手段
12 配信データ管理手段
13 ホスト管理手段
14 データ分配決定手段
15 ALM通信手段
16 下位レイヤ終端手段
17 送信先/送信要求先決定手段
18 バイパス要求送受信手段
10 アプリケーションインタフェース手段
11 マルチキャストツリー構築手段
12 配信データ管理手段
13 ホスト管理手段
14 データ分配決定手段
15 ALM通信手段
16 下位レイヤ終端手段
17 送信先/送信要求先決定手段
18 バイパス要求送受信手段
Claims (8)
- マルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムに適用される通信装置であって、
上位アプリケーションからの要求または他の通信装置からの要求によって前記マルチキャストツリーを構成して管理するマルチキャストツリー構築手段と、
前記マルチキャストツリー構築手段によって管理されるマルチキャストツリーから自装置の通信相手となる親、子、および兄弟となる通信装置に関するホスト情報と、親である通信装置から子である通信装置へのパケットの分配が登録された自装置が生成した子に対する予約情報と、自装置の親である通信装置から受信した親からの予約情報と、フィードバック情報に含まれる各推定帯域情報とを管理するホスト管理手段と、
前記ホスト情報に基づいて通信相手となる通信装置から自装置への転送経路の帯域を推定し、通信相手である通信装置を識別するための通信装置識別子と推定した帯域を対応付けた通信相手毎の推定帯域情報を含むフィードバック情報を通信相手となる通信装置に送信するとともに、自装置の兄弟である通信装置から受信したフィードバック情報を親である通信装置に送信し、自装置が親である通信装置の場合、受信したフィードバック情報に含まれる推定帯域情報および自装置が送信した推定帯域情報に基づいて、自装置の子である通信装置へのパケットの分配の割合を算出し、算出したパケットの分配を子に対する予約情報として子である通信装置に送信するとともに、前記ホスト管理手段に通知するデータ分配決定手段と、
前記子に対する予約情報に基づいて子である通信装置にパケットを送信し、前記親からの予約情報に基づいて兄弟である通信装置にパケットを送信する配信データ管理手段と、
を備えることを特徴とする通信装置。 - 前記ホスト管理手段は、
パケットの廃棄を検出すると、前記親からの予約情報に基づいて廃棄されたパケットを有する通信装置が送信元である通信装置の他に存在するか否かを判定し、送信元である通信装置の他に廃棄されたパケットを有する通信装置が存在する場合には、管理している各推定帯域情報に基づいて推定帯域が最も大きい通信装置を選択し、
前記配信データ管理手段は、
前記ホスト管理手段によって選択された通信装置に廃棄されたパケットの再送を要求すること、
を特徴とする通信装置。 - 兄弟である通信装置にパケットを送信する際に、前記親からの予約情報に当該パケットを有する送信元候補となる通信装置が複数存在する場合、前記送信元候補となる通信装置の中から送信元の通信装置を選択する送信先/送信要求先決定手段、
をさらに備えることを特徴とする通信装置。 - 前記データ分配決定手段は、
パケットの分配を決定する際に、複数の通信装置に同一のパケットを分配した場合には、前記各推定帯域情報に基づいて推定帯域が最も大きい通信装置を送信元として選択し、選択した送信元の通信装置を示す送信元通信装置識別子を予約情報に含めておき、
前記送信先/送信要求先決定手段は、
前記送信元候補となる通信装置の中から前記予約情報に含まれる送信元通信装置識別子が示す通信装置を選択すること、
を特徴とする請求項3に記載の通信装置。 - 前記送信先/送信要求先決定手段は、
前記送信元候補となる通信装置のアドレスと送信先となる通信装置のアドレスとの差が最も小さい送信元候補の通信装置を送信元の通信装置として選択すること、
を特徴とする請求項3に記載の通信装置。 - 前記送信先/送信要求先決定手段は、
送信元候補の通信装置の通信装置識別子であるアドレスと、送信先の通信装置のアドレスとに基づいて送信元候補の通信装置毎のHash計算を実行し、計算結果が最も大きい送信元候補の通信装置を送信元の通信装置として選択すること、
を特徴とする請求項3に記載の通信装置。 - パケットの送受信処理を監視して輻輳を検出した場合には、
親である通信装置および兄弟である通信装置に自装置の子である通信装置を示す通信装置識別子を含むバイパス要求を送信するとともに、前記ホスト管理手段、前記データ分配決定手段、および前記配信データ管理手段にバイパス要求を送信したことを通知してパケットの送信を停止させ、
バイパス要求を受信した場合には、
前記バイパス要求に含まれる通信装置識別子が示す通信装置との間にコネクションを確立し、前記ホスト管理手段、前記データ分配決定手段、および前記配信データ管理手段にバイパス要求を受信したことを通知して前記バイパス要求を送信した通信装置の代わりに前記コネクションを確立した通信装置にパケットを送信させるバイパス要求送受信手段、
をさらに備えることを特徴とする請求項1〜6の何れか一つに記載の通信装置。 - 請求項1〜7の何れか一つに記載の通信装置を用いて親子関係および兄弟関係によるマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006075185A JP2007251805A (ja) | 2006-03-17 | 2006-03-17 | 通信装置およびネットワークシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006075185A JP2007251805A (ja) | 2006-03-17 | 2006-03-17 | 通信装置およびネットワークシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007251805A true JP2007251805A (ja) | 2007-09-27 |
Family
ID=38595597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006075185A Pending JP2007251805A (ja) | 2006-03-17 | 2006-03-17 | 通信装置およびネットワークシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007251805A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009153945A1 (ja) * | 2008-06-19 | 2009-12-23 | パナソニック株式会社 | 通信経路構築装置及びn-ツリー構築方法 |
CN101939954A (zh) * | 2008-02-08 | 2011-01-05 | 松下电器产业株式会社 | 终端装置和n-树构筑方法 |
JP2011118899A (ja) * | 2009-11-30 | 2011-06-16 | Internatl Business Mach Corp <Ibm> | 高性能計算クラスタにおいてデータを分配するための方法及びシステム |
WO2011122452A1 (ja) * | 2010-03-30 | 2011-10-06 | ヤマハ株式会社 | 通信装置、通信システムおよび通信方法 |
-
2006
- 2006-03-17 JP JP2006075185A patent/JP2007251805A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101939954A (zh) * | 2008-02-08 | 2011-01-05 | 松下电器产业株式会社 | 终端装置和n-树构筑方法 |
WO2009153945A1 (ja) * | 2008-06-19 | 2009-12-23 | パナソニック株式会社 | 通信経路構築装置及びn-ツリー構築方法 |
CN102067529A (zh) * | 2008-06-19 | 2011-05-18 | 松下电器产业株式会社 | 通信路径构筑装置和n-树构筑方法 |
US8416776B2 (en) | 2008-06-19 | 2013-04-09 | Panasonic Corporation | Communication channel building device and N-tree building method |
JP2011118899A (ja) * | 2009-11-30 | 2011-06-16 | Internatl Business Mach Corp <Ibm> | 高性能計算クラスタにおいてデータを分配するための方法及びシステム |
WO2011122452A1 (ja) * | 2010-03-30 | 2011-10-06 | ヤマハ株式会社 | 通信装置、通信システムおよび通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10263889B2 (en) | Data forwarding method, device, and system in software-defined networking | |
EP3641244B1 (en) | Method and apparatus for selecting path | |
US9450874B2 (en) | Method for internet traffic management using a central traffic controller | |
JP4328478B2 (ja) | ラベル転送ネットワークにおける経路変更方法並びにラベルスイッチングノード及び管理ノード | |
JP4915848B2 (ja) | オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム | |
JP6619096B2 (ja) | ファイアウォールクラスタ | |
JP6206508B2 (ja) | パケット転送装置、制御装置、通信システム、通信方法及びプログラム | |
EP2731313A1 (en) | Distributed cluster processing system and message processing method thereof | |
EP2487844B1 (en) | Control unit and method for dynamically controlling the routing within a network | |
CN113497754B (zh) | 转发路径建立方法、装置以及计算机可读存储介质 | |
JP5869041B2 (ja) | ネットワークトポロジ要求を物理ネットワークにマッピングする方法、コンピュータプログラム製品、モバイル通信システム及びネットワーク構成プラットフォーム | |
WO2016150502A1 (en) | Method and device of processing icn interest messages in a dtn scenario | |
CN104038427A (zh) | 路由更新方法和路由更新装置 | |
JP2007251805A (ja) | 通信装置およびネットワークシステム | |
JP6561656B2 (ja) | 端末およびマルチキャスト・アドレス配布サーバ | |
JP6603312B2 (ja) | タイプに基づくデータストリームへのネットワーク接続の容量の割り振り | |
WO2016068238A1 (ja) | ネットワークの制御システム、制御装置、ネットワーク情報の管理方法及びプログラム | |
JP6672127B2 (ja) | 伝送経路変更システム、伝送経路変更方法、通信品質管理装置及びプログラム | |
JP2016046785A (ja) | キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法 | |
JP2004165794A (ja) | 帯域管理装置および方法、プログラム、記録媒体 | |
JP6179141B2 (ja) | データ転送システムおよびネットワーク負荷軽減方法 | |
JP2004221930A (ja) | 分散型ネットワークを管理する管理範囲決定方法、装置及びプログラム | |
JP5833184B2 (ja) | ネットワーク輻輳回避システム及び方法 | |
JP4546921B2 (ja) | 境界ノード装置およびリソース共有方法 | |
JP2004172819A (ja) | 中継装置及び中継方法 |