(57)【特許請求の範囲】
【請求項１】
複数のノード装置からなるネットワークシステムにおいて、ネットワーク品質を前記ノード装置間で測定する品質測定方法であって、
各ノード装置がネットワークシステムから取得した情報に基づいて所属先のクラスタを自律的に決定することで、各ノード装置が複数のクラスタのうちいずれか１つのクラスタに所属するクラスタ化手順を有し、
前記クラスタ化手順は、
各ノード装置がネットワークのアドレス情報を定期的に取得するアドレス取得手順と、
各ノード装置が、前記取得したアドレス情報に基づいて、アドレスが近隣にあるノード装置同士が同じクラスタに属するように所属先のクラスタを決定するクラスタ決定手順とを含み、
各クラスタの代表ノード装置間でネットワーク品質を測定することを特徴とする品質測定方法。
【請求項２】
複数のノード装置間でネットワーク品質を測定するネットワークシステムにおける前記ノード装置であって、
前記ネットワーク品質を測定する測定手段と、
ネットワークシステムから取得した情報に基づいて所属先のクラスタを自律的に決定するクラスタ化手段とを有し、
前記クラスタ化手段は、ネットワークのアドレス情報を定期的に取得し、このアドレス情報に基づいて、アドレスが近隣にあるノード装置同士が同じクラスタに属するように所属先のクラスタを決定することを特徴とするノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット等のネットワークシステム上でのアクティブな品質測定を行うに際して、ネットワークにかかる負荷を最小限に抑えつつ効率的に品質測定を実施するための品質測定方法およびノード装置に関するものである。
【背景技術】
【０００２】
遅延や損失率等のネットワーク品質を測定するためには、測定対象となる区間を狭んだ２ノード間で試験パケットのやりとりを行うことにより、パケットの到達時間や到達率を測定する必要がある。
近年、ユビキタス化によるネットワークのノード数の急激な増加が進む一方で、このような大規模ネットワークにおいてもＶｏＩＰ（Voice over IP ）等の品質に敏感なアプリケーションの利用ニーズが高まっている。このため、大規模ネットワークにおいて品質測定を行うニーズも急激に高まっている。
【０００３】
一方で、測定対象となる区間やノードの数は膨大になる傾向がある。多くのノードが参加している大規模ネットワークにおいて品質を詳細に把握するためには、参加ノード数をｎとした場合、ｎの自乗だけのフルメッシュ区間における測定を行う必要があった。したがって、このような品質測定を大規模環境下で行う場合は、測定の実施に要するコストと、測定実施時にネットワークにかける負荷という２つの面で問題を抱えていた。このような問題を解決する方法として、測定スケジュール設定の手間を低減する方法が提案されている（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２００４−０６４６９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された方法によれば、品質測定の実施に要するコストを低減することができる。しかしながら、品質測定時のネットワークヘの負荷を抑制する技術は未だ実現していないという問題点があった。品質測定時のネットワークヘの負荷を抑制する方法としては、ネットワーク上の品質のボトルネック箇所が予測できる場合に、このボトルネック箇所を含むリンクを測定対象として手動で設定するといった方法が考えられる程度であった。
【０００６】
本発明の目的は、上述の問題点に鑑み、大規模ネットワークにおいて品質測定を実施する際に、ノードを自動的にクラスタ化することによって測定区間を絞り込み、ネットワークの大規模化に対応することができる手段を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、複数のノード装置からなるネットワークシステムにおいて、ネットワーク品質を前記ノード装置間で測定する品質測定方法であって、各ノード装置がネットワークシステムから取得した情報に基づいて所属先のクラスタを自律的に決定することで、各ノード装置が複数のクラスタのうちいずれか１つのクラスタに所属するクラスタ化手順を有し、前記クラスタ化手順は、各ノード装置がネットワークのアドレス情報を定期的に取得するアドレス取得手順と、各ノード装置が、前記取得したアドレス情報に基づいて、アドレスが近隣にあるノード装置同士が同じクラスタに属するように所属先のクラスタを決定するクラスタ決定手順とを含み、各クラスタの代表ノード装置間でネットワーク品質を測定するようにしたものである。
【０００８】
また、本発明は、複数のノード装置間でネットワーク品質を測定するネットワークシステムにおけるノード装置であって、前記ネットワーク品質を測定する測定手段と、ネットワークシステムから取得した情報に基づいて所属先のクラスタを自律的に決定するクラスタ化手段とを有し、前記クラスタ化手段は、ネットワークのアドレス情報を定期的に取得し、このアドレス情報に基づいて、アドレスが近隣にあるノード装置同士が同じクラスタに属するように所属先のクラスタを決定するものである。
【発明の効果】
【０００９】
本発明によれば、各ノード装置がネットワークシステムから取得した情報に基づいて所属先のクラスタを自律的に決定することで、各ノード装置が複数のクラスタのうちいずれか１つのクラスタに所属するクラスタ化を行うことにより、実際の品質測定については各クラスタ内の代表ノード間でのみフルメッシュの測定を行い、クラスタに所属する他のノードがネットワーク品質の測定結果を必要とする場合は代表ノードの測定結果を用いることで、全体の測定数を抑えることができ、ネットワークにかかる負荷を抑制することができる。その結果、本発明では、ユビキタス時代に急激に増加すると予測される多ノード大規模分散ネットワーク環境下において、スケーレビリティを保ったままで効率的な品質測定を自動的に実施することが可能となり、ネットワーク管理や利用可能アプリケーションの把握、障害検知に有用である。
【発明を実施するための最良の形態】
【００１０】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の第１の実施の形態に係るネットワークシステムの構成を示すブロック図である。本実施の形態では、ネットワークシステムに複数のノード装置（以下、ノードと略する）が配置されている。このネットワークシステムに参加するノード数をｎ（ｎは自然数）とする。なお、参加ノード数ｎは固定値とは限らず、例えばＰ２Ｐ（Peer to Peer）ネットワークのような場合には、新たなノードの参加やノードの脱退により頻繁に変動する値となる。
【００１１】
図１のネットワークシステムは、各ノードの自律的な働きによりｋ（ｋは自然数）個のクラスタｃi （ｉ＝１，２，・・・，ｋ）に分かれる。すなわち、ネットワークシステムに参加した各ノードは、いずれかのクラスタｃi に自律的に所属する。後述のようにクラスタｃi は分割や統合を繰り返すため、クラスタ数ｋも頻繁に変動する値となるが、図１の例ではｋ＝３としている。各クラスタｃi毎に代表ノードｒiが存在する。また、クラスタｃiに所属する非代表ノードをｍi,g（ｇは自然数）とする。
【００１２】
図１のネットワークシステムに参加する各ノードの構成を図２に示す。各ノードは、それぞれネットワークシステムと接続するためのネットワーク接続部１０と、ネットワーク品質を測定する測定手段となるアクティブ測定実施部１１と、代表ノードとしての機能を実現する代表ノードルーチン部１２と、非代表ノードとしての機能を実現する非代表ノードルーチン部１３とを有する。代表ノードルーチン部１２と非代表ノードルーチン部１３とは、所属先のクラスタを自律的に決定するクラスタ化手段を構成している。このような構成により、ネットワークシステムに参加する各ノードは、代表ノードｒi又は非代表ノードｍi,gとして動作する。すなわち、各ノードは代表ノードｒi、非代表ノードｍi,gのいずれにもなり得る。
【００１３】
図３は代表ノードｒiの動作を示すフローチャートである。まず、代表ノードｒiの動作を説明する前に、代表ノードｒiの初期選定について説明する。前述のように、ネットワークシステムに参加した各ノードはいずれかのクラスタｃiに自律的に所属し、クラスタｃiの分割や統合の過程で他の代表ノードからの要求もしくは自律的な判断により、代表ノードｒiとなったり、非代表ノードｍi,gとなったりするが、代表ノードｒiと非代表ノードｍi,gの区別がない初期状態では、外部から代表ノードｒiを選定する必要がある。
【００１４】
そこで、初期状態では、例えばシステムの管理者がネットワークシステムに参加したｎ個のノードの中からｋ個の任意のノードを代表ノードｒiとして選定する。これにより、各代表ノードｒiは、図３に示すような処理を開始する。適切なクラスタ数ｋについては、目的に対して必要とされる測定の粒度や精度によって随意設定されるべきであるが、ここでは例えばｋをｎの１割等とする。
【００１５】
代表ノードｒiの代表ノードルーチン部１２は、ネットワーク接続部１０を通じてクラスタ毎の代表ノードｒ1，・・・・，ｒkを探索する（図３ステップＳ１００）。各代表ノードｒ1，・・・・，ｒkは、代表ノードとなった時点で、ネットワークシステムに対してどのクラスタに属する代表ノードであるかを宣言している。これにより、代表ノードｒiは、他のクラスタに属する代表ノードをネットワークシステム上で探索することができる。
【００１６】
続いて、代表ノードｒiの代表ノードルーチン部１２は、アクティブ測定実施部１１を用いて、全ての代表ノードとの間でネットワーク品質を測定する（ステップＳ１０１）。本実施の形態では、ネットワーク品質の１例として遅延時間を例に挙げて説明する。アクティブ測定実施部１１は、ステップＳ１００で探索した他の代表ノードに対して測定パケットを送信する。他の代表ノードのアクティブ測定実施部１１は、受信した測定パケットに対して応答パケットを返す。測定パケットを送信したアクティブ測定実施部１１は、測定パケットを送信してから応答パケットを受信するまでの経過時間を遅延時間ｄｅｌａｙとする。
【００１７】
こうして、アクティブ測定実施部１１が全ての代表ノードとの間で遅延時間ｄｅｌａｙを測定することにより、代表ノードルーチン部１２は、測定結果の組である測定結果ベクトルｖｒi＝（ｄｅｌａｙ（ｒi，ｒ1），ｄｅｌａｙ（ｒi，ｒ2），・・・・，ｄｅｌａｙ（ｒi，ｒk））を得る。ｄｅｌａｙ（ｒi，ｒ1）は代表ノードｒiと他のクラスタｃ1に所属する代表ノードｒ1との間の遅延時間を表す。そして、代表ノードルーチン部１２は、測定結果ベクトルｖｒiを記憶する（ステップＳ１０２）。なお、遅延時間ｄｅｌａｙ（ｒi，ｒi）は自ノード間の遅延時間になるので、この値が０であることは言うまでもない。
【００１８】
次に、代表ノードｒiの代表ノードルーチン部１２は、自ノードで測定した測定結果ベクトルｖｒiと比較対象の他の代表ノード（以下、ｒjとする）が測定した測定結果ベクトルとをネットワーク接続部１０を通じて比較する（ステップＳ１０３）。なお、測定結果ベクトルの比較については適切なアルゴリズムを用いるべきであるが、ここでは例えばベクトル間距離を使うものとする。代表ノードルーチン部１２は、このような比較を他の全ての代表ノードとの間で行う。
【００１９】
ステップＳ１０３において、代表ノードｒiの代表ノードルーチン部１２は、自ノードで測定した測定結果ベクトルｖｒiと他の代表ノードｒjが測定した測定結果ベクトルとの差（ベクトル間距離）が予め定められたクラスタ分割用閾値ｄ＿ｍａｘ以上の場合、自ノードが所属するクラスタｃiを分割する（ステップＳ１０４）。
【００２０】
ステップＳ１０４において、代表ノードルーチン部１２は、クラスタｃiに所属する非代表ノードｍi,gを探索する。非代表ノードｍi,gは、クラスタｃiに参加した時点で、ネットワークシステムに対してクラスタｃiに所属する非代表ノードであることを宣言している。これにより、代表ノードルーチン部１２は、クラスタｃiに所属する非代表ノードｍi,gを探索することができる。そして、代表ノードルーチン部１２は、探索した１つ又は複数の非代表ノードｍi,gの中から任意に１つを選択して、選択した非代表ノードｍi,gに対して代表ノードになるよう要求する代表ノード昇格要求を送信する。
【００２１】
代表ノード昇格要求を受信した非代表ノードｍi,gの非代表ノードルーチン部１３は、自ノードの代表ノードルーチン部１２を起動すると共に、自身の動作を停止させる。こうして、この非代表ノードｍi,gは新規の代表ノードとして動作し、クラスタｃiは代表ノードｒiが所属するクラスタｃiと新規の代表ノードが所属するクラスタの２つに分割されたことになる。なお、このクラスタ分割が終了した時点では、新規の代表ノードを除く残りの非代表ノードｍi,gはクラスタｃiに所属しているが、後述する非代表ノードｍi,g自身の働きにより所属するクラスタが変更される場合がある。
【００２２】
ステップＳ１０３において、代表ノードｒiの代表ノードルーチン部１２は、自ノードで測定した測定結果ベクトルｖｒiと他の代表ノードｒjが測定した測定結果ベクトルとのベクトル間距離が予め定められたクラスタ統合用閾値ｄ＿ｍｉｎ以下の場合、自ノードが所属するクラスタｃiと他の代表ノードｒjが所属するクラスタを統合する（ステップＳ１０５）。
【００２３】
ステップＳ１０５において、代表ノードルーチン部１２は、他の代表ノードｒjに対して非代表ノードになるよう要求する非代表ノード降格要求を送信する。非代表ノード降格要求を受信した代表ノードｒjの代表ノードルーチン部１２は、自ノードの非代表ノードルーチン部１３を起動すると共に、ネットワークシステムに対して代表ノードｒjが所属していたクラスタｃjが消滅したことを宣言し、自身の動作を停止させる。こうして、この代表ノードｒjは非代表ノードとなり、代表ノードｒjが所属していたクラスタｃjは消滅する。なお、このクラスタ統合が終了した時点では、クラスタｃjに所属していた代表ノードｒjおよび非代表ノードの所属は未定である。これらのノードは後述する新規参加ノードｐと同様に振る舞い、所属先のクラスタを決定する。
【００２４】
また、代表ノードｒiの代表ノードルーチン部１２は、自ノードで測定した測定結果ベクトルｖｒiと他の代表ノードｒjが測定した測定結果ベクトルとのベクトル間距離が閾値ｄ＿ｍｉｎより大きく、かつ閾値ｄ＿ｍａｘより小さい場合、クラスタの分割／統合を実施せずにステップＳ１００に戻る。
こうして、各代表ノードｒi（ｉ＝１，２，・・・，ｋ）は、図３に示した処理を所定の周期毎に行う。
【００２５】
図４は非代表ノードｍi,gの動作を示すフローチャートである。非代表ノードｍi,gの非代表ノードルーチン部１３は、ネットワーク接続部１０を通じてクラスタ毎の代表ノードｒ1，・・・・，ｒkを探索する（図４ステップＳ２００）。
【００２６】
続いて、非代表ノードｍi,gの非代表ノードルーチン部１３は、アクティブ測定実施部１１を用いて、所属するクラスタｃiの代表ノードｒiとの間、および他のクラスタの代表ノードとの間でネットワーク品質を測定する（ステップＳ２０１）。遅延時間の測定方法は前述のとおりである。非代表ノードルーチン部１３は、測定結果の組である測定結果ベクトルｖｍi,g＝（ｄｅｌａｙ（ｍi,g，ｒ1），ｄｅｌａｙ（ｍi,g，ｒ2），・・・・，ｄｅｌａｙ（ｍi,g，ｒk））を得る。ｄｅｌａｙ（ｍi,g，ｒ1）は非代表ノードｍi,gと他のクラスタｃ1に所属する代表ノードｒ1との間の遅延時間を表す。そして、非代表ノードルーチン部１３は、測定結果ベクトルｖｍi,gを記憶する（ステップＳ２０２）。
【００２７】
次に、非代表ノードｍi,gの非代表ノードルーチン部１３は、自ノードで測定した測定結果ベクトルｖｍi,gと、クラスタｃiの代表ノードｒiまたは他のクラスタの代表ノードが測定した測定結果ベクトルとをネットワーク接続部１０を通じて比較する（ステップＳ２０３）。
【００２８】
ステップＳ２０３において、非代表ノードｍi,gの非代表ノードルーチン部１３は、自ノードで測定した測定結果ベクトルｖｍi,gとクラスタｃiの代表ノードｒiが測定した測定結果ベクトルとの差（ベクトル間距離）が閾値ｄ＿ｍａｘ以上の場合、自ノードをクラスタｃiからいったん離脱させ、無所属の状態とする（ステップＳ２０４）。
【００２９】
また、非代表ノードｍi,gの非代表ノードルーチン部１３は、自ノードで測定した測定結果ベクトルｖｍi,gと比較対象の代表ノードが測定した測定結果ベクトルとのベクトル間距離が閾値ｄ＿ｍｉｎ以下の場合、この比較対象の代表ノードが所属するクラスタに自ノードを参加させる（ステップＳ２０５）。なお、非代表ノードルーチン部１３は、ベクトル間距離が閾値ｄ＿ｍｉｎ以下の代表ノードが複数存在する場合、ベクトル間距離が最も近い代表ノードが所属するクラスタに自ノードを参加させる。
以上のようにして、非代表ノードｍi,gは所属するクラスタを変更する。各非代表ノードｍi,gは、図４に示した処理を一定の周期毎に行う。
【００３０】
図５はネットワークシステムに参加する新規のノードｐの動作を示すフローチャートである。新規参加ノードｐの非代表ノードルーチン部１３は、ネットワーク接続部１０を通じてクラスタ毎の代表ノードｒ1，・・・・，ｒkを探索する（図５ステップＳ３００）。
【００３１】
続いて、新規参加ノードｐの非代表ノードルーチン部１３は、アクティブ測定実施部１１を用いて、全ての代表ノードとの間でネットワーク品質を測定する（ステップＳ３０１）。遅延時間の測定方法は前述のとおりである。非代表ノードルーチン部１３は、測定結果の組である測定結果ベクトルｖｐ＝（ｄｅｌａｙ（ｐ，ｒ1），ｄｅｌａｙ（ｐ，ｒ2），・・・・，ｄｅｌａｙ（ｐ，ｒk））を得る。そして、非代表ノードルーチン部１３は、測定結果ベクトルｖｐを記憶する（ステップＳ３０２）。
【００３２】
次に、新規参加ノードｐの非代表ノードルーチン部１３は、自ノードで測定した測定結果ベクトルｖｐと各代表ノードが測定した測定結果ベクトルとをネットワーク接続部１０を通じて比較する（ステップＳ３０３）。非代表ノードルーチン部１３は、自ノードで測定した測定結果ベクトルｖｐと比較対象の代表ノードが測定した測定結果ベクトルとのベクトル間距離が閾値ｄ＿ｍｉｎ以下の場合、この比較対象の代表ノードが所属するクラスタに自ノードを参加させる（ステップＳ３０４）。なお、非代表ノードルーチン部１３は、ベクトル間距離が閾値ｄ＿ｍｉｎ以下の代表ノードが複数存在する場合、ベクトル間距離が最も近い代表ノードが所属するクラスタに自ノードを参加させる。
【００３３】
以上のようにして、新規参加ノードｐは、ベクトル間距離が最も近い代表ノードのクラスタに所属する。以後は、このクラスタに所属する非代表ノードとして動作することになる。
【００３４】
図６は以上の代表ノードｒi、非代表ノードｍi,gおよび新規参加ノードｐの動作を示す図である。代表ノードｒiは、他の代表ノードとの間でネットワーク品質を測定し、クラスタの分割／統合を行う。非代表ノードｍi,gは、全ての代表ノードとの間でネットワーク品質を測定し、品質ベクトルの差がｄ＿ｍａｘ以上となった時点で所属先のクラスタを変更する。新規参加ノードｐは、全ての代表ノードとの間でネットワーク品質を測定し、品質ベクトルの差が最も小さい代表ノードが所属するクラスタに参加する。
【００３５】
以上のように、本実施の形態では、各ノードが複数のクラスタのうちいずれか１つのクラスタに所属するクラスタ化を行うことにより、実際の品質測定については各クラスタ内の代表ノード間でのみフルメッシュの測定を行い、クラスタに所属する他のノードがネットワーク品質の測定結果を必要とする場合は代表ノードの測定結果を用いることで、全体の測定数を抑えることができ、ネットワークにかかる負荷を抑制することができる。また、本実施の形態では、各ノードが、ネットワーク品質の測定結果がある程度近い範囲に分布するようなノード同士が同じクラスタに属するように所属先のクラスタを決定するので、ユビキタス時代に急激に増加すると予測される多ノード大規模分散ネットワークにおいても、前記負荷抑制の効果を得ることができる。
【００３６】
［第２の実施の形態］
第１の実施の形態では、クラスタ化のためにネットワークシステムから取得する情報として、ネットワーク品質の測定結果を用いたが、他の情報を用いることもできる。例えば、各ノードがネットワークのアドレス情報を定期的に取得して、このアドレス情報に基づいて、アドレスが近隣にあるノード同士が同じクラスタに属するように所属先のクラスタを決定するようにしてもよい。この手法は、比較的ノード数が少なく、よく管理されたネットワークにおいては有効な手法である。
【００３７】
なお、第１、第２の実施の形態で説明したノードは、例えばＣＰＵ、記憶装置及びインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。
【産業上の利用可能性】
【００３８】
本発明は、ネットワークシステム上でノード間の品質測定を行う技術に適用することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１の実施の形態に係るネットワークシステムの構成を示すブロック図である。
【図２】図１のネットワークシステムに参加する各ノードの構成を示すブロック図である。
【図３】図１のネットワークシステムにおける各クラスタの代表ノードの動作を示すフローチャートである。
【図４】図１のネットワークシステムにおける各クラスタの非代表ノードの動作を示すフローチャートである。
【図５】図１のネットワークシステムに参加する新規のノードの動作を示すフローチャートである。
【図６】図１のネットワークシステムにおける代表ノード、非代表ノードおよび新規参加ノードの動作を示す図である。
【符号の説明】
【００４０】
ｃ…クラスタ、ｒ…代表ノード、ｍ…非代表ノード、ｐ…新規参加ノード、１０…ネットワーク接続部、１１…アクティブ測定実施部、１２…代表ノードルーチン部、１３…非代表ノードルーチン部。
【図１】
0004473199.tif 000002
【図２】
0004473199.tif 000003
【図３】
0004473199.tif 000004
【図４】
0004473199.tif 000005
【図５】
0004473199.tif 000006
【図６】
0004473199.tif 000007