(57)【要約】【課題】複数のノードが、互いに隣接するノードとの間に確立する接続に基づいて構成されるネットワーク上において、ある特定のメンバノードによる効率的なデータ配信トポロジー管理を実現する。【解決手段】図（ａ）は、複数のノードによって構成され、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワークシステムにおける、最適化前のデータ配信トポロジーである。同図中の管理ノードは、そのグループのデータ配信トポロジーを収集し、そのトポロジーの最適化を行う。最適化されたトポロジー情報から各メンバノードの隣接メンバ情報を抽出し、該当するメンバノードに通知する。変更されたメンバ情報を受信したメンバノードは、その情報に従って隣接メンバを変更する。以上の処理により、図（ｂ）に示されているように、配信コストが低減されて最適化されたデータ配信トポロジーが得られる。【選択図】      図４
2004166081.tif 000002
【特許請求の範囲】
【請求項１】
同一のデータ配信グループに所属するメンバでありかつ自装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信するノード装置であって、前記データの転送先である前記隣接ノード装置に関する隣接メンバ情報を、前記データ配信グループを管理する管理ノード装置に随時送信する送信手段を含むことを特徴とするノード装置。
【請求項２】
前記管理装置から送信された隣接メンバ情報に応じて自装置の隣接メンバ情報を更新することを特徴とする請求項１記載のノード装置。
【請求項３】
同一のデータ配信グループに所属する複数のノード装置それぞれが、隣接するノード装置に関する隣接メンバ情報に基づいてデータを転送することで該データを他のノード装置に配信するように構成されたデータ配信システムを管理する管理ノード装置であって、前記複数のノード装置それぞれから前記隣接するノード装置に関する隣接メンバ情報を受信する受信手段と、前記受信手段によって受信した隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化手段と、この最適化手段による最適化後のネットワークトポロジから前記複数のノードそれぞれについての隣接メンバ情報を抽出する抽出手段と、前記抽出手段によって抽出された隣接メンバ情報を対応するノード装置に送信する送信手段を含むことを特徴とする管理ノード装置。
【請求項４】
前記最適化手段は、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする請求項３記載の管理ノード装置。
【請求項５】
前記最適化手段は、各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする請求項３又は４記載の管理ノード装置。
【請求項６】
同一のデータ配信グループに所属するメンバでありかつ自ノード装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信する複数のノード装置と、前記複数のノード装置を管理する管理ノード装置とを含むデータ配信システムであって、
前記複数のノード装置は、前記データの転送先である前記隣接ノード装置に関する隣接メンバ情報を、前記管理ノード装置に随時送信する送信手段をそれぞれ含み、
前記管理ノード装置は、前記複数のノード装置それぞれから前記隣接メンバ情報を受信する受信手段と、前記受信手段によって受信した隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化手段と、この最適化手段による最適化後のネットワークトポロジから前記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出手段とを含み、前記抽出手段によって抽出された隣接メンバ情報を対応するノード装置に送信することを特徴とするデータ配信システム。
【請求項７】
前記複数のノード装置は、前記管理ノード装置から送信された隣接メンバ情報に応じて自装置の隣接メンバ情報をそれぞれ更新することを特徴とする請求項６記載のデータ配信システム。
【請求項８】
前記最適化手段は、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする請求項６又は７記載のデータ配信システム。
【請求項９】
前記最適化手段は、前記複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする請求項６乃至８のいずれか１項に記載のデータ配信システム。
【請求項１０】
同一のデータ配信グループに所属するメンバでありかつ自ノード装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信する複数のノード装置と、前記複数のノード装置を管理する管理ノード装置とを用いるデータ配信方法であって、
前記複数のノード装置それぞれから、前記データの転送先である前記隣接メンバ情報を、前記管理ノード装置に随時送信する送信ステップと、前記複数のノード装置それぞれから送信される前記隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化ステップと、前記最適化ステップによる最適化後のネットワークトポロジから前記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出ステップと、前記抽出ステップにおいて抽出された隣接メンバ情報を対応するノード装置に送信するステップと、抽出されて送信された隣接メンバ情報に応じて前記複数のノード装置それぞれの隣接メンバ情報を更新するステップとを含むことを特徴とするデータ配信方法。
【請求項１１】
前記最適化ステップにおいては、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする請求項１０記載のデータ配信方法。
【請求項１２】
前記最適化ステップにおいては、前記複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする請求項１０又は１１記載のデータ配信方法。
【請求項１３】
同一のデータ配信グループに所属する複数のノード装置それぞれが、隣接するノード装置に関する隣接メンバ情報に基づいてデータを転送することで該データを他のノード装置に配信するように構成されたデータ配信システムを管理する管理ノード装置を制御する管理ノード装置制御プログラムであって、前記複数のノード装置それぞれから受信した隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化ステップと、この最適化ステップによる最適化後のネットワークトポロジから前記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出ステップと、前記抽出ステップにおいて抽出された隣接メンバ情報を対応するノード装置に送信するステップとを含み、抽出されて送信された隣接メンバ情報に応じて前記複数のノード装置それぞれの隣接メンバ情報を更新するようにしたことを特徴とする管理ノード装置制御プログラム。
【請求項１４】
前記最適化ステップにおいては、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする請求項１３記載の管理ノード装置制御プログラム。
【請求項１５】
前記最適化ステップにおいては、前記複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする請求項１３又は１４記載の管理ノード装置制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はノード装置、管理ノード装置、データ配信システム、データ配信方法、管理ノード装置制御プログラムに関し、特に複数のノードが、互いに隣接するノードとの間に確立する接続に基づいて構成されるネットワークにおけるデータ配信の効率化に関する。
【０００２】
【従来の技術】
従来のネットワークにおけるデータを配信する際のトポロジー管理方式について説明する。図７に示されているようにノード（Ａ）〜（Ｊ）によってネットワークが構成されている場合において、ネットワーク内の特定のノードを基準ノードとする。本例では、ノード（Ａ）を基準ノードとする。また、網掛けがなされているノード（Ａ）、（Ｅ）、（Ｇ）及び（Ｊ）はメンバノードであり、白抜きで示されているノード（Ｂ）、（Ｃ）、（Ｄ）、（Ｆ）、（Ｈ）及び（Ｉ）はメンバ外ノードである。
【０００３】
基準ノード（Ａ）は、データ配信用トポロジー構成のために、同図中の矢印▲１▼、▲２▼、▲３▼に示されているようにメッセージを送信する。そして、それぞれのグループメンバに最短で到達した経路を配信ツリーとする。このデータ配信トポロジー管理方式は、例えば、非特許文献１や非特許文献２に記載されている。
また、他のデータ配信トポロジー管理方式として、図８に示されている方式がある。同図（ａ）に示されている基準ノード（Ａ）に、他のノード（Ｂ）及び（Ｃ）が接続されることにより、同図（ｂ）に示されているようにトポロジーが変更される。さらに、他のノード（Ｄ）及び（Ｅ）がノード（Ｂ）に、他のノード（Ｆ）及び（Ｇ）がノード（Ｃ）に、それぞれ接続されることにより、同図（ｃ）に示されているようにトポロジーが変更される。そして、他のノード（Ｈ）及び（Ｉ）がノード（Ｄ）に、他のノード（Ｊ）がノード（Ｇ）に、それぞれ接続されることにより、同図（ｄ）に示されているようにトポロジーが変更される。
【０００４】
以上のように、特定の基準ノードに、新たにデータ配信グループのメンバが参加すると、近隣の既存メンバに接続を行うことにより、データ配信ツリーを構築する。このデータ配信トポロジー管理方式は、例えば、特許文献１や非特許文献３に記載されている。
【０００５】
【特許文献１】
Ａｌｌｃａｓｔ［ｏｎｌｉｎｅ］、［平成１４年１１月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｌｌｃａｓｔ．ｃｏｍ／＞、米国特許第５８８４０３１号明細書
【非特許文献１】
“Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｍｕｌｔｉｃａｓｔ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ”，ＲＦＣ１０７５，Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ），Ｎｏｖｅｍｂｅｒ１９９８［ｏｎｌｉｎｅ］、［平成１４年１１月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１０７５．ｔｘｔ＞
【非特許文献２】
“Ａ  Ｃａｓｅ  Ｆｏｒ  Ｅｎｄ  Ｓｙｓｔｅｍ  Ｍｕｌｔｉｃａｓｔ”、Ｙａｎｇ−ｈｕａ  Ｃｈｕ，Ｓａｎｊａｙ  Ｇ．Ｒａｏ  ａｎｄ  ＨｕｉＺｈａｎｇ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＳＩＧＭＥＴＲＩＣＳ，Ｓａｎｔａ  Ｃｌａｒａ，ＣＡ，Ｊｕｎｅ  ２０００，ｐｐ．１−１２．
【非特許文献３】
「シェアキャスト」［ｏｎｌｉｎｅ］、［平成１４年１１月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｓｃａｓｔ．ｔｖ／＞
【０００６】
【発明が解決しようとする課題】
しかしながら、非特許文献１、非特許文献２のデータ配信トポロジー管理方式において、上述したように、特定の基準ノードを設定して、その基準ノードからの最短経路により配信ツリーを構築すると、著しく効率が落ちる場合がある。
すなわち、図９（ａ）に示されているようにノード（Ａ）を基準ノードとした場合、メンバノードであるノード（Ｅ）、（Ｇ）、（Ｊ）まで同図中の太線で示されているように配信ツリーが形成される。このとき、送信元をノード（Ａ）としてメッセージを送信すれば、ノード（Ａ）→（Ｂ）→（Ｄ）→（Ｇ）と、ノード（Ａ）→（Ｃ）→（Ｆ）→（Ｊ）とが最長パスであり、同図（ｂ）に示されているように、最長パスは「３」となる。このとき、総コストは、メッセージの通るパス数の合計であり、ノード（Ａ）→（Ｂ）→（Ｄ）→（Ｇ）のパス「３」と、ノード（Ｂ）→（Ｅ）のパス「１」と、ノード（Ａ）→（Ｃ）→（Ｆ）→（Ｊ）のパス「３」とを合計した「７」となる。
【０００７】
この同図（ａ）に示されている配信ツリーにおいて、送信元をノード（Ｅ）としてメッセージを送信すれば、ノード（Ｅ）→（Ｂ）→（Ａ）→（Ｃ）→（Ｆ）→（Ｊ）が最長パスであり、同図（ｂ）に示されているように、最長パスは「５」となる。このとき、総コストは、同じ配信ツリーを使用しているので同じく「７」となる。
【０００８】
次に、同図（ｃ）に示されているように、ノード（Ｊ）を基準ノードとした場合、メンバノードであるノード（Ａ）、（Ｅ）、（Ｇ）まで同図中の太線で示されているように配信ツリーが形成される。このとき、送信元をノード（Ｊ）としてメッセージを送信する場合、同図（ｄ）に示されているように最長パスは「３」であるが、それ以外のノードを送信元とすると最長パスはより大きな値になる。
【０００９】
これらに対し、図１０（ａ）に示されているように配信ツリーを形成すれば、メンバノードであるノード（Ａ）、（Ｅ）、（Ｇ）及び（Ｊ）のどれからも平均して効率が良い。すなわち、同図（ｄ）に示されているように、ノード（Ｅ）を送信元とする場合の最長パスが「２」、それ以外のメンバノード（Ａ）、（Ｇ）及び（Ｊ）を送信する場合の最長パスが「４」であり、総コストは「６」である。このように配信ツリーを形成すれば、グループ内の複数のメンバノードから送信することの多いＰ２Ｐ（ピアトゥピア）ネットワークに最適である。
【００１０】
よって、この最適な経路設定例である図１０の場合に比べて、上述した図９（ａ）〜（ｄ）の場合、基準ノード以外のノードからデータを配信すると、最長配信パスが長くなる等、著しく効率が落ちるという問題点がある。
また、特許文献１、非特許文献３のデータ配信トポロジー管理方式において、上述したように、特定の基準ノードを設定して、その基準ノードからメンバの参加順に近いノードへそれぞれ接続を行い、配信ツリーを構築すると、総コストが大きくなってしまう場合がある。
【００１１】
すなわち、図１１に示されているようにノード（Ａ）に対し、ノード（Ｂ）〜ノード（Ｊ）が番号順▲１▼〜▲９▼に参加してネットワークを構成する場合、全経路コスト（全てのパスの長さの合計）は、以下のようになる。すなわち、ノード（Ａ）からノード（Ｂ）まで、及びノード（Ａ）からノード（Ｃ）までのパスの長さは共に「３」、ノード（Ｂ）からノード（Ｅ）まで、ノード（Ｃ）からノード（Ｆ）まで、ノード（Ｃ）からノード（Ｇ）まで、及びノード（Ｇ）からノード（Ｊ）までのパスの長さは「１．４」、ノード（Ｂ）からノード（Ｄ）までのパスの長さは「１．１」、ノード（Ｄ）からノード（Ｈ）までのパスの長さは「１．５」、ノード（Ｄ）からノード（Ｉ）までのパスの長さは「１．６」である。したがって、この場合の全経路コストは、３＋３＋１．４＋１．４＋１．４＋１．４＋１．１＋１．５＋１．６＝１５．８となる。
【００１２】
一方、最適な例である図１２に示されている場合、全経路コストは、以下のようになる。すなわち、ノード（Ａ）からノード（Ｇ）までのパスの長さは「２．２」、ノード（Ａ）からノード（Ｉ）までのパスの長さは「１．８」、ノード（Ｉ）からノード（Ｈ）までのパスの長さは「０．５」、ノード（Ｈ）からノード（Ｄ）までのパスの長さは「１．５」、ノード（Ｄ）からノード（Ｅ）までのパスの長さは「０．５」、ノード（Ｈ）からノード（Ｂ）まで、ノード（Ｇ）からノード（Ｃ）まで、ノード（Ｃ）からノード（Ｆ）まで、及びノード（Ｇ）からノード（Ｊ）までのパスの長さは「１．４」である。したがって、この場合の全経路コストは、２．２＋１．８＋０．５＋１．５＋０．５＋１．４＋１．４＋１．４＋１．４＝１２．１となる。
【００１３】
よって、最適な例としてあげた図１２の場合に比べて、従来例の図１１の場合、配信ツリーの総コストが大きくなってしまうという問題点があった。
本発明は上述した従来技術の問題点を解決するためになされたものであり、その目的は各ノードが隣接ノードとの間に確立する接続に基づいて通信を行うネットワークにおいて特別な管理ノードを設置し、ある特定のメンバノードによる効率的なデータ配信トポロジー管理を実現できるノード装置、管理ノード装置、データ配信システム、データ配信方法、管理ノード装置制御プログラムを提供することである。
【００１４】
【課題を解決するための手段】
本発明の請求項１によるノード装置は、同一のデータ配信グループに所属するメンバでありかつ自装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信するノード装置であって、前記データの転送先である前記隣接ノード装置に関する隣接メンバ情報を、前記データ配信グループを管理する管理ノード装置に随時送信する送信手段を含むことを特徴とする。このように、隣接メンバ情報を随時送信することにより、管理ノード装置はデータ配信グループメンバの把握、及びデータ配信トポロジーの把握が可能となる。
【００１５】
本発明の請求項２によるノード装置は、請求項１において、前記管理装置から送信された隣接メンバ情報に応じて自装置の隣接メンバ情報を更新することを特徴とする。こうすることにより、管理ノード装置の指示通りの、データ配信トポロジーを構築することができる。
本発明の請求項３による管理ノード装置は、同一のデータ配信グループに所属する複数のノード装置それぞれが、隣接するノード装置に関する隣接メンバ情報に基づいてデータを転送することで該データを他のノード装置に配信するように構成されたデータ配信システムを管理する管理ノード装置であって、前記複数のノード装置それぞれから前記隣接するノード装置に関する隣接メンバ情報を受信する受信手段と、前記受信手段によって受信した隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化手段と、この最適化手段による最適化後のネットワークトポロジから前記複数のノードそれぞれについての隣接メンバ情報を抽出する抽出手段と、前記抽出手段によって抽出された隣接メンバ情報を対応するノード装置に送信する送信手段を含むことを特徴とする。こうすることにより、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００１６】
本発明の請求項４による管理ノード装置は、請求項３において、前記最適化手段は、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする。こうすることにより、配信コストを最適化したデータ配信システムを構築することができる。
本発明の請求項５による管理ノード装置は、請求項３又は４において、前記最適化手段は、各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする。こうすることにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【００１７】
本発明の請求項６によるデータ配信システムは、同一のデータ配信グループに所属するメンバでありかつ自ノード装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信する複数のノード装置と、前記複数のノード装置を管理する管理ノード装置とを含むデータ配信システムであって、
前記複数のノード装置は、前記データの転送先である前記隣接ノード装置に関する隣接メンバ情報を、前記管理ノード装置に随時送信する送信手段をそれぞれ含み、
前記管理ノード装置は、前記複数のノード装置それぞれから前記隣接メンバ情報を受信する受信手段と、前記受信手段によって受信した隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化手段と、この最適化手段による最適化後のネットワークトポロジから前記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出手段とを含み、前記抽出手段によって抽出された隣接メンバ情報を対応するノード装置に送信することを特徴とする。隣接メンバ情報を随時送信することにより、管理ノード装置はデータ配信グループメンバの把握、及びデータ配信トポロジーの把握が可能となる。また、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００１８】
本発明の請求項７によるデータ配信システムは、請求項６において、前記複数のノード装置は、前記管理ノード装置から送信された隣接メンバ情報に応じて自装置の隣接メンバ情報をそれぞれ更新することを特徴とする。こうすることにより、管理ノード装置の指示通りの、データ配信トポロジーを構築することができる。
【００１９】
本発明の請求項８によるデータ配信システムは、請求項６又は７において、前記最適化手段は、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする。こうすることにより、配信コストを最適化したデータ配信システムを構築することができる。
本発明の請求項９によるデータ配信システムは、請求項６乃至８のいずれか１項において、前記最適化手段は、前記複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする。こうすることにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【００２０】
本発明の請求項１０によるデータ配信方法は、同一のデータ配信グループに所属するメンバでありかつ自ノード装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信する複数のノード装置と、前記複数のノード装置を管理する管理ノード装置とを用いるデータ配信方法であって、
前記複数のノード装置それぞれから、前記データの転送先である前記隣接メンバ情報を、前記管理ノード装置に随時送信する送信ステップと、前記複数のノード装置それぞれから送信される前記隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化ステップと、前記最適化ステップによる最適化後のネットワークトポロジから前記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出ステップと、前記抽出ステップにおいて抽出された隣接メンバ情報を対応するノード装置に送信するステップと、抽出されて送信された隣接メンバ情報に応じて前記複数のノード装置それぞれの隣接メンバ情報を更新するステップとを含むことを特徴とする。こうすることにより、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００２１】
本発明の請求項１１によるデータ配信方法は、請求項１０において、前記最適化ステップにおいては、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする。こうすることにより、配信コストを最適化したデータ配信システムを構築することができる。
本発明の請求項１２によるデータ配信方法は、請求項１０又は１１において、前記最適化ステップにおいては、前記複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする。こうすることにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【００２２】
本発明の請求項１３による管理ノード装置制御プログラムは、同一のデータ配信グループに所属する複数のノード装置それぞれが、隣接するノード装置に関する隣接メンバ情報に基づいてデータを転送することで該データを他のノード装置に配信するように構成されたデータ配信システムを管理する管理ノード装置を制御する管理ノード装置制御プログラムであって、前記複数のノード装置それぞれから受信した隣接メンバ情報に基づいて前記複数のノード装置によるネットワークトポロジを最適化する最適化ステップと、この最適化ステップによる最適化後のネットワークトポロジから前記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出ステップと、前記抽出ステップにおいて抽出された隣接メンバ情報を対応するノード装置に送信するステップとを含み、抽出されて送信された隣接メンバ情報に応じて前記複数のノード装置それぞれの隣接メンバ情報を更新するようにしたことを特徴とする管理ノード装置制御プログラム。こうすることにより、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００２３】
本発明の請求項１４による管理ノード装置制御プログラムは、請求項１３において、前記最適化ステップにおいては、前記複数のノード装置全体による配信コストが最小となるように最適化することを特徴とする。こうすることにより、配信コストを最適化したデータ配信システムを構築することができる。
本発明の請求項１５による管理ノード装置制御プログラムは、請求項１３又は１４において、前記最適化ステップにおいては、前記複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、前記複数のノード装置全てについて行うことを特徴とする。こうすることにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【００２４】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図においては、他の図と同等部分に同一符号が付されている。
以下、ネットワークに接続するノードの構成例、管理ノードの構成例、更にはこれらを用いたネットワーク全体の構成について説明する。
【００２５】
図１はネットワークに接続する各ノード装置の構成例を示すブロック図である。同図において、ノード装置７０１は、自装置に隣接するノード装置に関する隣接メンバ情報を受信する隣接メンバ情報受信部７０２と、隣接メンバ情報等を保持している隣接メンバ情報保持部７０３と、隣接メンバ情報の編集処理を行うデータ処理部７０４と、隣接メンバ情報を送信する隣接メンバ情報送信部７０５とを含んで構成されている。なお、ネットワーク内の他のノードも全て同じ構成を有しているものとする。
【００２６】
ノード装置７０１内の隣接メンバ情報保持部７０３は、自ノードの所属するデータ配信グループを示す配信グループ情報と、そのグループにおけるデータの転送先である隣接メンバ情報とを保持している。なお、データ配信グループとは、同一データを共有するためのグループである。
ノード装置７０１内の隣接メンバ情報受信部７０２は、管理ノードからの隣接メンバ情報を受信し、その情報を隣接メンバ情報保持部７０３に保持させる。
【００２７】
データ処理部７０４は、隣接メンバ情報保持部７０３内に保持された隣接メンバ情報の編集処理を行う。隣接メンバ情報送信部７０５は、隣接メンバ情報保持部７０３に保持された隣接メンバ情報を管理ノードへ送信する。
管理制御部７０６は、上記ノード装置７０１内の各部を制御してネットワーク構成情報の管理を行う。
【００２８】
図２はネットワーク内の管理ノードの構成を示すブロック図である。同図において、管理ノード装置８０１は、隣接メンバ情報を受信する隣接メンバ情報受信部８０２と、隣接メンバ情報を保持するデータ配信トポロジー情報保持部８０３と、隣接メンバ情報の編集処理等を行うデータ処理部８０４と、隣接メンバ情報を送信する隣接メンバ情報送信部８０５と、管理ノード装置８０１内の各部を制御する管理制御部８０６とを含んで構成されている。なお、この管理ノード装置８０１は、図示せぬ他の全てのノード装置７０１から通信が可能である。
【００２９】
管理ノード装置８０１内のデータ配信トポロジー情報保持部８０３は、ネットワークに存在する全てのノードの保持する隣接メンバ情報を保持している。
管理ノード装置８０１内の隣接メンバ情報受信部８０２は、他のノードからの隣接メンバ情報を受信し、この受信した隣接メンバ情報をデータ配信トポロジー情報保持部８０３に保持させる。
【００３０】
データ処理部８０４は、データ配信トポロジー情報保持部８０３に保持されている隣接メンバ情報の編集処理を行う。隣接メンバ情報送信部８０５は、データ配信トポロジー情報保持部８０３に保持され、データ処理部８０４によって編集された隣接メンバ情報を、ネットワーク内の各ノードに送信する。
管理制御部８０６は、上記管理ノード装置８０１内の各部を制御してデータ配信トポロジー情報の管理を行う。
【００３１】
このノードの管理制御部７０６、及び管理ノードの管理制御部８０６による管理制御処理について説明する。
ここで、図３に示すフローチャートを参照して、管理ノードがデータ配信トポロジーの変更を行う際の管理制御処理について説明する。同図において、まず管理ノード装置８０１は、データ配信トポロジー情報格納部８０３を参照し、保持されている任意のデータ配信トポロジーから各メンバノードを抽出し、各メンバノード間を最適な経路で結ぶことにより、最適化したデータ配信トポロジーを得る（ステップ９０１）。次に、得られた最適化したデータ配信トポロジーから、各メンバノードの隣接メンバ情報を抽出する（ステップ９０２）。
【００３２】
そして、管理ノード装置８０１は、各メンバノード装置７０１に、最適化した隣接メンバ情報を通知する（ステップ９０３）。すると、各メンバノード装置７０１は、最適化された隣接メンバ情報を受信する（ステップ９０４）。これを受信した各メンバノード装置７０１は、受信した隣接メンバ情報に基づいて、隣接メンバ情報保持部に保持している隣接メンバ情報を変更する（ステップ９０５）。
【００３３】
以上の処理により、データ配信トポロジーの最適化が可能となる。
上記管理制御処理により、データ配信トポロジーがどのように変更されるかについて、図４を用いて説明する。
図４（ａ）は、複数のノードによって構成され、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワークシステムにおける、最適化前のデータ配信トポロジーである。同図（ａ）に示されている状態では、太線で示されている配信ツリーについての配信コストは「１０」（ホップ数＝１０）である。
【００３４】
この状態において、同図中の管理ノードは、当該グループのデータ配信トポロジーを収集し（ステップＳ１）、そのトポロジーの最適化を行う。最適化されたトポロジー情報から各メンバノードの隣接メンバ情報を抽出し、これを該当するメンバノードに通知することで隣接関係変更の指示を与える（ステップＳ２）。変更されたメンバ情報を受信したメンバノードは、その情報に従って隣接メンバを変更する（ステップＳ３）。
【００３５】
以上の手順により、同図（ｂ）のような最適化されたデータ配信トポロジーが得られる。すなわち、同図（ｂ）に示されている状態では、太線で示されている配信ツリーについての配信コストは「６」（ホップ数＝６）であり、データ配信トポロジーが最適化されている。
次に、図５のフローチャートを参照して、上記のデータ配信トポロジーの最適化の計算手順について説明する。ここでの最適化トポロジーの例として、１メンバノードの内、どのメンバノードからデータが配信されていても、著しく効率が落ちず、ループ経路の無い配信ツリー（Ｍｉｎｉｍｕｍ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ）を挙げる。なお、これ以外のどのような配信ツリーを最適としても良く、トポロジーを任意に最適化することができる。
【００３６】
まず、各メンバノード間の通信コストを測定する（ステップＳ１０１）。各メンバ間のうち、最小コスト経路で結ばれた組を選択する（ステップＳ１０２）。最小コストの経路が複数あるかどうか調べる（ステップＳ１０３）。最小コストの経路が複数ない場合、その経路を結ぶことにより、経路にループが発生するかどうか調べる（ステップＳ１０３→ステップＳ１０４）。
【００３７】
一方、最小コストの経路が複数ある場合、ランダムに最小コストの経路を選択し（ステップＳ１０３→ステップＳ１０５）、この選択した経路を結ぶことにより、経路にループが発生するかどうか調べる（ステップＳ１０４）。経路にループが発生する場合、ループを発生させた経路を選択肢から除く（ステップＳ１０４→ステップＳ１０６）。そして、さらに最小コスト経路で結ばれた組を選択する（ステップＳ１０６→ステップＳ１０２）。
【００３８】
選択した経路を結んでも、経路にループが発生しない場合、選択した経路を結び、選択肢から除く（ステップＳ１０４→ステップＳ１０７）。次に、全てのメンバノードが経路によって結ばれたか調査する（ステップＳ１０８）。全てのメンバノードが経路によって結ばれていない場合、以上の処理を継続して行う（ステップＳ１０８→ステップＳ１０２）。全てのメンバノードが経路によって結ばれた場合、処理は終了となる（ステップＳ１０８→ステップＳ１０９）。
【００３９】
要するに、図５においては、測定した各メンバノード間の距離が最小のメンバノードの組を隣接メンバとして接続し、その処理を繰返している。そして、この手順において、隣接メンバとして接続したことにより、トポロジーにループができた場合は、その接続は解消する。全てのメンバが隣接関係で結ばれたら、処理は終了となる。このように処理することで、システム全体の配信コストを最小に抑えることができる。
【００４０】
（管理ノード内のデータ処理部の編集処理）
管理ノード８０１内のデータ処理部８０４が行う編集処理は、例えば以下のような処理である。まず、図６（ａ）に示されているようなネットワークトポロジを仮定する。同図において、網掛けがなされているノード（Ａ）、（Ｂ）、（Ｃ）及び（Ｄ）はメンバノードであり、白抜きで示されているノード（Ｅ）、（Ｆ）、（Ｇ）、（Ｈ）、（Ｉ）及び（Ｊ）はメンバ外ノードである。
【００４１】
このようなネットワークトポロジの場合、管理ノード８０１内のデータ配信トポロジー情報保持部８０３に保持されている隣接メンバ情報は、同図（ｂ）のようになる。同図に示されている隣接メンバ情報は、経路計算のために行列情報になっている。行列情報中の各数字は、メンバノード間のホップ数を示している。この状態において、最小ホップ数の経路は「２」であり、同図（ｃ）に示されているように、最小ホップ数の経路に着目することにより、同図（ｄ）に示されているように、行列情報を特定のノードのための隣接メンバ情報に変換することができる。すなわち、「ノード（Ａ）」に接続されるメンバノードは「ノード（Ｄ）」、「ノード（Ｂ）」に接続されるメンバノードは「ノード（Ｄ）」、「ノード（Ｃ）」に接続されるメンバノードは「ノード（Ｄ）」、「ノード（Ｄ）」に接続されるメンバノードは「ノード（Ａ）、（Ｃ）、（Ｄ）」である。
【００４２】
以上のように変換された編集処理後の隣接メンバ情報が、管理ノード８０１内の隣接メンバ情報送信部８０５によって各ノードに送信されることになる。
（データ配信方法）
ところで、上述したデータ配信システムにおいては、以下のようなデータ配信方法が実現されている。すなわち、同一のデータ配信グループに所属するメンバでありかつ自ノード装置に隣接する隣接ノード装置にデータを転送することで該データを他のノード装置に配信する複数のノード装置と、上記複数のノード装置を管理する管理ノード装置とを用いるデータ配信方法であり、上記複数のノード装置それぞれから、上記データの転送先である上記隣接メンバ情報を、上記管理ノード装置に随時送信する送信ステップと、上記複数のノード装置それぞれから送信される上記隣接メンバ情報に基づいて上記複数のノード装置によるネットワークトポロジを最適化する最適化ステップ（図３中のステップＳ９０１に対応）と、上記最適化ステップによる最適化後のネットワークトポロジから上記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出ステップ（図３中のステップＳ９０２に対応）と、上記抽出ステップにおいて抽出された隣接メンバ情報を対応するノード装置に送信するステップ（図３中のステップＳ９０３に対応）と、抽出されて送信された隣接メンバ情報に応じて上記複数のノード装置それぞれの隣接メンバ情報を更新するステップ（図３中のステップＳ９０５に対応）とを含むデータ配信方法が実現されている。この配信方法を採用することにより、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００４３】
ここで、上記最適化ステップにおいて、上記複数のノード装置全体による配信コストが最小となるように最適化することにより、配信コストを最適化したデータ配信システムを構築することができる。
なお、上記最適化ステップにおいては、上記複数のノード装置について各ノード装置間の距離を測定し（図５中のステップＳ１０１に対応）、この測定した距離が小である２つのノード装置を接続し（図５中のステップＳ１０２、Ｓ１０３、Ｓ１０５に対応）、２つのノード装置の接続がループを発生させる場合にはその接続を解除する（図５中のステップＳ１０４、Ｓ１０６に対応）処理を、上記複数のノード装置全てについて行えば良い。こうすることにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【００４４】
（管理ノード装置制御プログラム）
また、上述したデータ配信システムの管理ノード装置は、以下のような管理ノード装置制御プログラムによって制御されている。すなわち、同一のデータ配信グループに所属する複数のノード装置それぞれが、隣接するノード装置に関する隣接メンバ情報に基づいてデータを転送することで該データを他のノード装置に配信するように構成されたデータ配信システムを管理する管理ノード装置を制御する管理ノード装置制御プログラムであり、上記複数のノード装置それぞれから受信した隣接メンバ情報に基づいて上記複数のノード装置によるネットワークトポロジを最適化する最適化ステップ（図３中のステップＳ９０１に対応）と、この最適化ステップによる最適化後のネットワークトポロジから上記複数のノード装置それぞれについての隣接メンバ情報を抽出する抽出ステップ（図３中のステップＳ９０２に対応）と、上記抽出ステップにおいて抽出された隣接メンバ情報を対応するノード装置に送信するステップ（図３中のステップＳ９０３に対応）とを含み、抽出されて送信された隣接メンバ情報に応じて上記複数のノード装置それぞれの隣接メンバ情報を更新するようにした制御プログラムが用いられている。この制御プログラムを用いることにより、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００４５】
ここで、上記最適化ステップにおいて、上記複数のノード装置全体による配信コストが最小となるように最適化することにより、配信コストを最適化したデータ配信システムを構築することができる。
なお、上記最適化ステップにおいては、上記複数のノード装置について各ノード装置間の距離を測定し（図５中のステップＳ１０１に対応）、この測定した距離が小である２つのノード装置を接続し（図５中のステップＳ１０２、Ｓ１０３、Ｓ１０５に対応）、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理（図５中のステップＳ１０４、Ｓ１０６に対応）を、上記複数のノード装置全てについて行えば良い。こうすることにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【００４６】
このプログラムを記録した記録媒体を用意し、これを用いて図２に示されている管理ノード装置８０１の各部を制御すれば良い。この記録媒体には、半導体メモリ、磁気ディスク、光ディスク等の他、種々の記録媒体を用いることができる。
このプログラムを利用して管理ノード装置８０１を制御することにより、管理ノード装置はデータ配信グループメンバの把握、及びデータ配信トポロジーの把握が可能となる。また、複数のノード装置は、管理ノード装置から隣接メンバ情報を取得でき、各ノード装置が保持している隣接メンバ情報を更新することでデータ転送先を容易に変更することができる。
【００４７】
【発明の効果】
以上説明したように本発明によれば、複数のノードによって構成されるネットワーク内の全てのノード装置が、特定の管理ノード装置に隣接メンバ情報を送信することにより、管理ノード装置はネットワーク内の全てのデータ配信トポロジーの状態を管理できるという効果を奏する。
【００４８】
また、特定の管理ノード装置から送信された隣接メンバ情報に基づいて各ノード装置が隣接メンバ情報を更新することにより、データの配信先を容易に指示でき、データ配信に最適なトポロジーを構築できるという効果を奏する。
さらに、複数のノード装置について各ノード装置間の距離を測定し、この測定した距離が小である２つのノード装置を接続し、２つのノード装置の接続がループを発生させる場合にはその接続を解除する処理を、上記複数のノード装置全てについて行うことにより、最適化したネッワークトポロジーによるデータ配信システムを構築することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態であるデータ配信トポロジー管理システムが適用されるネットワーク内の各ノードの構成を示すブロック図である。
【図２】本発明の実施の形態であるデータ配信トポロジー管理システムが適用されるネットワーク内の管理ノードの構成を示すブロック図である。
【図３】本発明の実施の形態であるデータ配信トポロジー管理システムが適用されるネットワークにおいて、特定のデータ配信トポロジーを最適化する場合における管理手順を示すフローチャートである。
【図４】図３に示すフローチャートによって変更されるデータ配信トポロジーを説明する図である。
【図５】本発明の実施の形態であるデータ配信トポロジー管理システムにおいて、管理ノードがデータ配信トポロジーを最適化するためのアルゴリズムを示すフローチャートである。
【図６】管理ノード内のデータ処理部の編集処理を示す図である。
【図７】複数のノードによって構成されるネットワークに対する非特許文献１及び非特許文献２のデータ配信トポロジーの構築方式を説明する図である。
【図８】複数のノードによって構成されるネットワークに対する特許文献１及び非特許文献３のデータ配信トポロジーの構築方式を説明する図である。
【図９】非特許文献１及び非特許文献２に記載されている技術によって構築された、データ配信トポロジーの配信コストを説明する図である。
【図１０】最適化されたデータ配信トポロジーの配信コストを説明する図である。
【図１１】非特許文献１及び非特許文献２に記載されている技術によって構築された、データ配信トポロジーの配信コストを説明する図である。
【図１２】最適化されたデータ配信トポロジーの配信コストを説明する図である。
【符号の説明】
７０１  ノード装置
７０２  隣接メンバ情報受信部
７０３  隣接メンバ情報保持部
７０４  データ処理部
７０５  隣接メンバ情報送信部
７０６  管理制御部
８０１  管理ノード装置
８０２  隣接メンバ情報受信部
８０３  データ配信トポロジー情報保持部
８０３  データ配信トポロジー情報格納部
８０４  データ処理部
８０５  隣接メンバ情報送信部
８０６  管理制御部
【図１】
2004166081.tif 000003
【図２】
2004166081.tif 000004
【図３】
2004166081.tif 000005
【図４】
2004166081.tif 000006
【図５】
2004166081.tif 000007
【図６】
2004166081.tif 000008
【図７】
2004166081.tif 000009
【図８】
2004166081.tif 000010
【図９】
2004166081.tif 000011
【図１０】
2004166081.tif 000012
【図１１】
2004166081.tif 000013
【図１２】
2004166081.tif 000014