(57)【特許請求の範囲】
【請求項１】
グループ毎の代表者端末を管理し、一定時間応答しない代表者端末を管理対象から除外するネームサーバと、
ＩＰアドレスに基づくハッシュ値の全てのビットを用いることなく、特定の複数ビット分を用いてグループ分割を行い、自身が所属するグループを決定し、自身が所属するグループに代表者端末が存在しない場合、自身を該グループの代表者端末として前記ネームサーバに登録するクライアント端末と
を含む
分散管理システム。
【請求項２】
請求項１に記載の分散管理システムであって、
前記クライアント端末は、前記ハッシュ値のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）から２ビット分を使用してグループ分割を行い、前記グループ分割に基づく４つの論理的なグループのいずれか１つに所属する
分散管理システム。
【請求項３】
請求項１又は２に記載の分散管理システムであって、
前記クライアント端末は、定期的に前記ネームサーバに問い合わせ、自身が所属するグループに代表者端末が存在しない場合、自身を代表者端末として前記ネームサーバに登録する
分散管理システム。
【請求項４】
請求項１又は２に記載の分散管理システムであって、
前記ネームサーバは、代表者端末が存在しないグループに対してマルチキャストによる問い合わせを送信し、前記マルチキャストによる問い合わせに対して返答を返してきたクライアント端末の中から代表者端末を決定する
分散管理システム。
【請求項５】
請求項１乃至４のいずれか一項に記載の分散管理システムであって、
前記クライアント端末と前記ネームサーバとの間に設けられた中継装置
を更に含み、
前記クライアント端末は、自身が所属するグループに対応するマルチキャストグループに所属するように前記中継装置に登録し、前記マルチキャストグループから抜ける場合、前記マルチキャストグループからの離脱を前記中継装置に通知する
分散管理システム。
【請求項６】
請求項１乃至５のいずれか一項に記載の分散管理システムであって、
前記クライアント端末は、自身が代表者端末であれば、自身が所属するグループから抜ける場合、前記ネームサーバに対して、自身を管理対象から除外するように要求する
分散管理システム。
【請求項７】
請求項１乃至６のいずれか一項に記載の分散管理システムであって、
前記クライアント端末は、自身が代表者端末であれば、自身と同じグループに所属するクライアント端末の数の増加に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再分割を行い、自身と同じグループに所属するクライアント端末の数の減少に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再併合を行う
分散管理システム。
【請求項８】
ＩＰアドレスに基づくハッシュ値の全てのビットを用いることなく、特定の複数ビット分を用いてグループ分割を行い、自身が所属するグループを決定する所属グループ計算手段と、
定期的にネームサーバに問い合わせ、自身が所属するグループに代表者端末が存在しない場合、自身を該グループの代表者端末として前記ネームサーバに登録するネームサーバ登録手段と、
自身が所属するグループに対応するマルチキャストグループに所属するように、自身と前記ネームサーバとの間に設けられた中継装置に登録するマルチキャストグループ登録手段と
を具備する
クライアント端末。
【請求項９】
請求項８に記載のクライアント端末であって、
前記所属グループ計算手段は、前記ハッシュ値のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）から２ビット分を使用してグループ分割を行い、前記グループ分割に基づく４つの論理的なグループのいずれか１つに自身が所属するようにする
クライアント端末。
【請求項１０】
請求項８又は９に記載のクライアント端末であって、
前記ネームサーバ登録手段は、前記ネームサーバから、代表者端末が存在しないグループに対するマルチキャストによる問い合わせを受信し、前記ネームサーバに対して、前記マルチキャストによる問い合わせに対する返答を送信する
クライアント端末。
【請求項１１】
請求項８乃至１０のいずれか一項に記載のクライアント端末であって、
自身が所属するグループの代表者端末から、クライアント情報を要求するためのマルチキャストによる問い合わせを受信するマルチキャスト送受信手段と、
前記自身が所属するグループの代表者端末に対して、前記クライアント情報を送信するクライアントデータ送受信手段と
を更に具備する
クライアント端末。
【請求項１２】
請求項１１に記載のクライアント端末であって、
前記所属グループ計算手段は、自身が代表者端末である場合、所定のクライアント端末の所属するグループを割り出し、
前記クライアントデータ送受信手段は、前記割り出されたグループの代表者端末に対して、前記所定のクライアント端末のクライアント情報を要求する
クライアント端末。
【請求項１３】
請求項８乃至１２のいずれか一項に記載のクライアント端末であって、
自身が代表者端末である場合、自身と同じグループに所属するクライアント端末の数の増減を検出するグループ所属クライアント数取得手段と、
自身が代表者端末である場合、自身と同じグループに所属するクライアント端末の数の増加に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再分割を行い、自身と同じグループに所属するクライアント端末の数の減少に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再併合を行うことを提案するグループ再分割提案手段と
を更に具備する
クライアント端末。
【請求項１４】
クライアント端末において、ＩＰアドレスに基づくハッシュ値の全てのビットを用いることなく、特定の複数ビット分を用いてグループ分割を行い、自身が所属するグループを決定し、前記クライアント端末が所属するグループに代表者端末が存在しない場合、前記クライアント端末が該グループの代表者端末となるように要求するステップと、
ネームサーバにおいて、グループ毎の代表者端末を管理し、一定時間応答しない代表者端末を管理対象から除外するステップと
を含む
分散管理方法。
【請求項１５】
請求項１４に記載の分散管理方法であって、
前記クライアント端末において、前記ハッシュ値のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）から２ビット分を使用してグループ分割を行い、前記クライアント端末が前記グループ分割に基づく４つの論理的なグループのいずれか１つに所属するようにするステップ
を更に含む
分散管理方法。
【請求項１６】
請求項１４又は１５に記載の分散管理方法であって、
前記クライアント端末から定期的に前記ネームサーバに問い合わせ、前記クライアント端末が所属するグループに代表者端末が存在しない場合、前記クライアント端末を代表者端末として前記ネームサーバに登録するステップ
を更に含む
分散管理方法。
【請求項１７】
請求項１４又は１５に記載の分散管理方法であって、
前記ネームサーバから代表者端末が存在しないグループに対してマルチキャストによる問い合わせを送信し、前記マルチキャストによる問い合わせに対して返答を返してきたクライアント端末の中から代表者端末を決定するステップ
を更に含む
分散管理方法。
【請求項１８】
請求項１４乃至１７のいずれか一項に記載の分散管理方法であって、
前記クライアント端末において、前記クライアント端末が所属するグループに対応するマルチキャストグループに所属するように、前記クライアント端末と前記ネームサーバとの間に設けられた中継装置に登録するステップと、
前記マルチキャストグループから抜ける場合、前記マルチキャストグループからの離脱を前記中継装置に通知するステップと
を更に含む
分散管理方法。
【請求項１９】
請求項１４乃至１８のいずれか一項に記載の分散管理方法であって、
前記クライアント端末が代表者端末であれば、前記クライアント端末が所属するグループから抜ける場合、前記ネームサーバに対して、前記クライアント端末を管理対象から除外するように要求するステップ
を更に含む
分散管理方法。
【請求項２０】
請求項１４乃至１９のいずれか一項に記載の分散管理方法であって、
前記クライアント端末において、前記クライアント端末が代表者端末であれば、前記クライアント端末と同じグループに所属するクライアント端末の数の増加に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再分割を行うステップと、
前記クライアント端末において、前記クライアント端末が代表者端末であれば、前記クライアント端末と同じグループに所属するクライアント端末の数の減少に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再併合を行うステップと
を更に含む
分散管理方法。
【請求項２１】
ＩＰアドレスに基づくハッシュ値の全てのビットを用いることなく、特定の複数ビット分を用いてグループ分割を行い、自身が所属するグループを決定するステップと、
定期的にネームサーバに問い合わせ、自身が所属するグループに代表者端末が存在しない場合、自身を該グループの代表者端末として前記ネームサーバに登録するステップと、
自身が所属するグループに対応するマルチキャストグループに所属するように、自身と前記ネームサーバとの間に設けられた中継装置に登録するステップと
をコンピュータに実行させるための
分散管理プログラム。
【請求項２２】
請求項２１に記載の分散管理プログラムであって、
前記ハッシュ値のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）から２ビット分を使用してグループ分割を行い、前記グループ分割に基づく４つの論理的なグループのいずれか１つに自身が所属するようにするステップ
を更にコンピュータに実行させるための
分散管理プログラム。
【請求項２３】
請求項２１又は２２に記載の分散管理プログラムであって、
前記ネームサーバから、代表者端末が存在しないグループに対するマルチキャストによる問い合わせを受信し、前記ネームサーバに対して、前記マルチキャストによる問い合わせに対する返答を送信するステップ
を更にコンピュータに実行させるための
分散管理プログラム。
【請求項２４】
請求項２１乃至２３のいずれか一項に記載の分散管理プログラムであって、
自身が所属するグループの代表者端末から、クライアント情報を要求するためのマルチキャストによる問い合わせを受信するステップと、
前記自身が所属するグループの代表者端末に対して、前記クライアント情報を送信するステップと
を更にコンピュータに実行させるための
分散管理プログラム。
【請求項２５】
請求項２４に記載の分散管理プログラムであって、
自身が代表者端末である場合、所定のクライアント端末の所属するグループを割り出すステップと、
前記割り出されたグループの代表者端末に対して、前記所定のクライアント端末のクライアント情報を要求するステップと
を更にコンピュータに実行させるための
分散管理プログラム。
【請求項２６】
請求項２１乃至２５のいずれか一項に記載の分散管理プログラムであって、
自身が代表者端末である場合、自身と同じグループに所属するクライアント端末の数の増減を検出するステップと、
自身が代表者端末である場合、自身と同じグループに所属するクライアント端末の数の増加に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再分割を行うことを提案するステップと、
自身が代表者端末である場合、自身と同じグループに所属するクライアント端末の数の減少に応じて、前記ハッシュ値のうち何ビット分を使用するか決定し、グループの再併合を行うことを提案するステップと
を更にコンピュータに実行させるための
分散管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散管理システムに関し、特にネットワークに接続されるコンピュータ群の分散管理システムに関する。
【背景技術】
【０００２】
大量のコンピュータが接続される環境においては、それぞれのコンピュータが持つ各種性能統計情報や故障情報といった情報の総量は膨大な量になる。これらを１つのサーバに集約させて管理することは実質的に不可能であり、効率的な分散管理方式が必要になる。
【０００３】
これまでの方式では、決められたクライアント台数毎に管理サーバを構築し、それに登録することで管理していた。しかし、複数のコンピュータが自由にネットワークに出入りする環境においては、簡便なグループ分割と管理方法が必要になる。
【０００４】
また、どのようなＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を持ったクライアントがネットワークに入ってくるか分からない場合、ＩＰアドレスの範囲によって予めグループ分けを決めておく方法は、グループに所属するクライアントの数が偏ってしまうという問題があった。
【０００５】
関連する技術として、特開２００３−１６３６８７号公報（特許文献１）に経路制御方法及び装置が開示されている。
この関連技術では、送元アドレス、宛先アドレス、送元ポート番号、宛先ポート番号を引数とし、１〜９の整数を値域とするハッシュ関数を利用する。
【０００６】
また、特表２００５−５０２２８９号公報（特許文献２）にディレクトリサービスを有するスケーラブルピアツーピアネットワークが開示されている。
この関連技術では、ハッシュ値毎にピアのグループが存在し、このグループがこのハッシュ値を管轄する。また、管轄のグループ内で、選択された１つのピアだけが問い合わせ（検索または公開）に応答する。また、グループ形成ピアの各グループには所定の範囲のマルチキャストＩＰアドレスが割り当てられる。更に、新しいピアはＩＰマルチキャスト「Ｊｏｉｎ  Ｇｒｏｕｐ」パケットを送信して、このマルチキャストアドレスに当てられるパケットを受け取り、ないしは公開する自身の資源（上に挙げた付加情報、すなわちＩＰアドレス、名称などを含む）をその（グループ）資源テーブルに記入する。
【０００７】
【特許文献１】特開２００３−１６３６８７号公報
【特許文献２】特表２００５−５０２２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ハッシュの特性を利用して簡単に大量のコンピュータをトップダウン的にグループ分けする分散管理システム、分散管理方法、及び分散管理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の分散管理システムは、ＩＰアドレスに基づくハッシュ値の特定のビット分を用いてグループの割り当て先を計算し、自身が所属するグループに代表者端末が存在しない場合、自身が代表者端末となることを要求するクライアント端末と、グループ毎の代表者端末を管理し、一定時間応答しない代表者端末を管理対象から除外するネームサーバとを含む。
【００１０】
本発明のクライアント端末は、ＩＰアドレスに基づくハッシュ値の特定のビット分を用いてグループの割り当て先を計算する所属グループ計算手段と、定期的にネームサーバに問い合わせ、自身が所属するグループに代表者端末が存在しない場合、自身を代表者端末としてネームサーバに登録するネームサーバ登録手段と、自身が所属するグループに対応するマルチキャストグループに所属するように、自身とネームサーバとの間に設けられた中継装置に登録するマルチキャストグループ登録手段とを具備する。
【００１１】
本発明の分散管理方法は、クライアント端末において、ＩＰアドレスに基づくハッシュ値の特定のビット分を用いてグループの割り当て先を計算し、クライアント端末が所属するグループに代表者端末が存在しない場合、クライアント端末が代表者端末となるように要求するステップと、ネームサーバにおいて、グループ毎の代表者端末を管理し、一定時間応答しない代表者端末を管理対象から除外するステップとを含む。
【００１２】
本発明の分散管理プログラムは、ＩＰアドレスに基づくハッシュ値の特定のビット分を用いてグループの割り当て先を計算するステップと、定期的にネームサーバに問い合わせ、自身が所属するグループに代表者端末が存在しない場合、自身を代表者端末としてネームサーバに登録するステップと、自身が所属するグループに対応するマルチキャストグループに所属するように、自身とネームサーバとの間に設けられた中継装置に登録するステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
大量のクライアントをグループに分割することが容易になり、大量のクライアントが持つ情報を分散管理できる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明の実施形態について添付図面を参照して説明する。
図１を参照すると、本発明の分散管理システムは、プログラム制御により動作するコンピュータと、ネットワークを繋ぐルータとを含む。ここでは、本発明の分散管理システムは、クライアント１００と、ネームサービス２００と、グループ代表者３００と、ルータ４００とを含む。
【００１５】
クライアント１００、ネームサービス２００、グループ代表者３００、及びルータ４００は、それぞれ少なくとも１つ存在する。クライアント１００は、クライアントが使用するコンピュータである。ネームサービス２００は、ネームサービスを提供するコンピュータである。グループ代表者３００は、グループ代表者が使用するコンピュータである。ここでは、クライアント１００は、クライアント端末を示す。ネームサービス２００は、ネームサーバを示す。グループ代表者３００は、グループ代表者端末を示す。ルータ４００は、ネットワークを繋ぐ中継機器であれば良い。ルータ４００の例として、ルータ、スイッチ、ゲートウェイ、ファイアウォール、プロキシ、アクセスポイント、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅｓ  Ｐｒｏｖｉｄｅｒ）サーバ、或いは、ルータとして機能するコンピュータ等が考えられる。但し、実際には、これらの例に限定されない。
【００１６】
クライアント１００は、所属グループ計算部１０１と、マルチキャスト送受信部１０２と、クライアントデータ送受信部１０３と、ネームサービスアクセス処理部１０４と、ネームサービス登録部１０５と、マルチキャストグループ登録部１０６とを含む。なお、ネームサービスアクセス処理部１０４とネームサービス登録部１０５は、一体化していても良い。
【００１７】
ネームサービス２００は、グループ代表者管理部２０１と、グループ代表者返答部２０２とを含む。
【００１８】
グループ代表者３００は、所属グループ計算部１０１と、マルチキャスト送受信部１０２と、クライアントデータ送受信部１０３と、ネームサービスアクセス処理部１０４と、ネームサービス登録部１０５と、マルチキャストグループ登録部１０６と、クライアント情報提供部３０１と、グループ所属クライアント数取得部３０２と、グループ再分割提案部３０３とを含む。なお、クライアントデータ送受信部１０３とクライアント情報提供部３０１は、一体化していても良い。
【００１９】
なお、グループ代表者３００の所属グループ計算部１０１、マルチキャスト送受信部１０２、クライアントデータ送受信部１０３、ネームサービスアクセス処理部１０４、ネームサービス登録部１０５、及びマルチキャストグループ登録部１０６は、クライアント１００と同様である。すなわち、所属グループ計算部１０１と、マルチキャスト送受信部１０２と、クライアントデータ送受信部１０３と、ネームサービスアクセス処理部１０４と、ネームサービス登録部１０５と、マルチキャストグループ登録部１０６と、クライアント情報提供部３０１と、グループ所属クライアント数取得部３０２と、グループ再分割提案部３０３とを含むコンピュータであれば、クライアント１００及びグループ代表者３００のいずれにも使用することができる。
【００２０】
ルータ４００は、マルチキャストグループ設定部４０１と、マルチキャスト転送部４０２とを含む。
【００２１】
ここでは、ルータ４００は、専用の中継機器を想定している。但し、実際には、ルータ４００にコンピュータを使用する場合、ルータ４００もまた、クライアント１００、ネームサービス２００及びグループ代表者３００と同様の構成にすることができる。このようなコンピュータは、所属グループ計算部１０１と、マルチキャスト送受信部１０２と、クライアントデータ送受信部１０３と、ネームサービスアクセス処理部１０４と、ネームサービス登録部１０５と、マルチキャストグループ登録部１０６と、グループ代表者管理部２０１と、グループ代表者返答部２０２と、クライアント情報提供部３０１と、グループ所属クライアント数取得部３０２と、グループ再分割提案部３０３と、マルチキャストグループ設定部４０１と、マルチキャスト転送部４０２とを含み、用途に応じて必要な機能を選択して使用する。この場合、クライアント１００、ネームサービス２００、グループ代表者３００、及びルータ４００の各々は、同じ構成のコンピュータとなる。
【００２２】
これらの構成要素や手段はそれぞれ概略、次の様に動作する。
【００２３】
所属グループ計算部１０１は、ＩＰアドレスを入力とするハッシュ関数を用いてグループの割り当て先を計算する。ここでは、所属グループ計算部１０１は、ハッシュによるグループ分割を行う。
【００２４】
例えば、所属グループ計算部１０１は、入力されたクライアント１００のＩＰアドレスから導き出されたハッシュ値の特定のビットを用いてクライアント１００のグループ分けを行う。本実施形態では、所属グループ計算部１０１は、ハッシュ値のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）から２ビット分を使うことで、図２に示すように、４つの論理的なグループに分割している。
【００２５】
ＭＳＢから何ビット分を使用してグループ分割するかは、ネットワークに所属しているコンピュータの数や、グループに所属しているコンピュータの数によって変化させる。ここでは、グループに所属しているコンピュータの数の変化に応じて、グループの再分割・再併合を行う。
【００２６】
図２に示すように、グループにコンピュータが所属しているとき、そこにはグループ代表者３００が存在する。グループ代表者３００は、マルチキャスト送受信部１０２、若しくはクライアントデータ送受信部１０３を用いて、図３に示すように、グループに所属しているコンピュータの情報を取得することができる。
【００２７】
ネームサービス２００は、グループ代表者３００を管理するための表を持つ。
【００２８】
図４を参照して、グループ代表者３００を管理するための表について説明する。
グループ代表者３００を管理するための表は、「グループ」と、「代表者」とを含む。「グループ」は、ネームサービス２００により認識されているグループを示す。「代表者」は、当該グループの代表者となるグループ代表者３００を示す。この表では、グループとグループ代表者３００とを関連付けている。ここでは、１つのグループに対して、１つのグループ代表者３００が対応している。
【００２９】
グループ代表者管理部２０１は、グループ代表者３００がどのコンピュータであるかを示す情報を管理する。或いは、グループ代表者管理部２０１は、ユーザＩＤやＩＰアドレス等の識別情報により、グループ代表者３００を使用するグループ代表者が誰であるかを示す情報を管理する。ここでは、グループ代表者管理部２０１は、図４に示すような表を管理する。
【００３０】
ネームサービスアクセス処理部１０４は、グループ代表者３００がどのコンピュータであるか、又はグループ代表者が誰であるかについて、グループ代表者管理部２０１を参照することによって知ることができる。
【００３１】
また、グループ代表者管理部２０１は、ネームサービス２００からのキープアライブメッセージに一定時間グループ代表者３００が応答しない場合には、グループ代表者３００に関する情報をネームサービス２００から削除する。
【００３２】
グループに参加するクライアント１００は、ネームサービスアクセス処理部１０４により、定期的にネームサービス２００に問い合わせ、グループ代表者３００がいない場合には、ネームサービス登録部１０５により、自らがグループ代表者３００に名乗り出る。ネームサービス２００は、グループ代表者管理部２０１により、名乗り出たクライアント１００の中からグループ代表者３００に相応しいクライアント１００を決定する。
【００３３】
もしくは、グループ代表者３００の選出に関して、ネームサービス２００は、グループ代表者管理部２０１により、グループに対してマルチキャストによる問い合わせを送り、マルチキャストによる問い合わせに対して返答を返してきたクライアント１００の中からグループ代表者３００を決定する。このとき、クライアント１００とネームサービス２００との間にあるルータ４００において、マルチキャスト転送部４０２は、クライアント１００とネームサービス２００との間のマルチキャストによる問い合わせ及び返答を転送する。また、クライアント１００は、ネームサービスアクセス処理部１０４により、ネームサービス２００からのマルチキャストによる問い合わせを受信し、マルチキャストによる問い合わせに対する返答をネームサービス２００に送信する。
【００３４】
グループ分割に使用するビット数が、１ビットの場合、２ビットの場合、ｎビットの場合に対応する表を全てのクライアント１００が予め持っている。すなわち、この表は、グループ代表者３００も予め持っている。この表は、グループに対応するマルチキャストアドレスの表である。
【００３５】
図５を参照して、グループに対応するマルチキャストアドレスの表について説明する。
グループに対応するマルチキャストアドレスの表は、「グループ」と、「マルチキャストアドレス」とを含む。「グループ」は、クライアント１００により認識されているグループを示す。「マルチキャストアドレス」は、当該グループに対してマルチキャストによる問い合わせを送信する際のマルチキャストアドレスを示す。この表では、グループとマルチキャストアドレスとを関連付けている。ここでは、１つのグループに対して、１つのマルチキャストアドレスが対応している。なお、マルチキャストアドレスとは、特定のグループを指定するアドレスである。
【００３６】
次に、図６を参照して、クライアント１００の追加について説明する。
（１）ステップＳ１０１
クライアント１００は、所属グループ計算部１０１により、自分のＩＰアドレスからどのグループに所属すれば良いのか分かる。このとき、所属グループ計算部１０１は、クライアント１００のＩＰアドレスからグループの割り当て先を計算する。
（２）ステップＳ１０２
図３に示すように、クライアント１００は、グループ代表者３００がいない場合には、ネームサービス登録部１０５により、自分がグループ代表者３００になるようにネームサービス２００に登録する。このとき、ネームサービス登録部１０５は、クライアント１００が所属するグループにおけるグループ代表者３００として、当該クライアント１００をネームサービス２００に登録する。
（３）ステップＳ１０３
ネームサービス２００は、グループ代表者管理部２０１により、クライアント１００に関する情報を登録する。
（４）ステップＳ１０４
また、クライアント１００は、マルチキャストグループ登録部１０６により、グループに対応するマルチキャストグループに所属するようにルータ４００に登録する。このとき、マルチキャストグループ登録部１０６は、マルチキャストグループに当該クライアント１００が所属するようにルータ４００に登録する。
（５）ステップＳ１０５
ルータ４００は、マルチキャストグループ設定部４０１により、クライアント１００がグループに対応するマルチキャストグループに所属するように登録する。
（６）ステップＳ１０６
同様に、クライアント１００は、どのマルチキャストアドレスを受信すれば良いのか、自分のＩＰアドレスから知ることができる。ここでは、クライアント１００は、自身が所属するマルチキャストグループに対応するマルチキャストアドレスを受信する。
【００３７】
次に、図７を参照して、クライアント１００の削除について説明する。
（１）ステップＳ２０１
クライアント１００は、マルチキャストグループ登録部１０６により、マルチキャストグループから抜けることをルータ４００に伝える。ここでは、グループとマルチキャストグループとは１対１に対応しているため、マルチキャストグループから抜けることは、グループから抜けることを意味する。
（２）ステップＳ２０２
ルータ４００は、マルチキャストグループ設定部４０１により、クライアント１００がマルチキャストグループから抜けることを登録する。或いは、ルータ４００は、マルチキャストグループ設定部４０１により、登録されているクライアント１００に関する情報を削除する。
（３）ステップＳ２０３
グループ代表者３００は、グループから抜ける場合、ネームサービス登録部１０５により、ネームサービス２００から削除してもらうように依頼する。
【００３８】
次に、図８を参照して、情報の取得について説明する。
（１）ステップＳ３０１
グループ代表者３００は、マルチキャスト送受信部１０２により、管理するグループのマルチキャストグループに対して情報を送ってもらうように、マルチキャストによる問い合わせのパケットを送る。
（２）ステップＳ３０２
クライアント１００は、マルチキャスト送受信部１０２により、マルチキャストによる問い合わせのパケットを受け取ったら、クライアントデータ送受信部１０３により、グループ代表者３００に統計情報等の情報を送信する。
（３）ステップＳ３０３
グループ代表者３００は、クライアントデータ送受信部１０３により、クライアント１００から送信された情報を受け取る。ここでは、グループ代表者３００は、クライアント情報提供部３０１により、受け取った情報を記憶して管理する。
【００３９】
グループ代表者３００は、グループに存在する複数のクライアント１００の情報を一手に引き受けることができるので、複数のクライアント情報をまとめて送り出すことが可能である。つまりメッセージの宛先ノード数を減らすことができる。
【００４０】
図３に示すように、グループ代表者３００は、あるクライアント１００の情報を取得したい場合には、所属グループ計算部１０１により、そのクライアント１００のＩＰアドレスを入力とするハッシュ値からどのグループに所属しているか割り出すことができる。グループ代表者３００は、所属しているグループが判明すれば、クライアントデータ送受信部１０３により、そのグループのグループ代表者３００に問い合わせることで、そのグループのグループ代表者３００のクライアント情報提供部３０１から、そのクライアント１００の情報を取得することができる。
【００４１】
次に、図９を参照して、グループの再分割について説明する。
グループに所属しているクライアント１００の数が増えてきた場合、これを再分割することでグループ代表者３００の負荷を減らす。本実施形態では、ビット数によって分割数を決めている。ここでは、ｎビットの分割数は２ｎである。２ビット（４分割）で分割していた場合、３ビットに切り替えることで、８つに分割することが可能である。
【００４２】
例えば、グループの再分割は、以下の様に行う。
（１）ステップＳ４０１
グループ代表者３００は、グループ所属クライアント数取得部３０２により、グループに所属しているクライアント１００の数を把握することができる。例えば、グループ所属クライアント数取得部３０２は、クライアント１００から送信された情報に基づいて、グループに所属しているクライアント１００の数をカウントする。
（２）ステップＳ４０２
グループ代表者３００は、グループ再分割提案部３０３により、自身が管理しているクライアント数が所定の閾値を超えたときに全てのグループ代表者３００に対してグループ再分割の提案を行う。すなわち、グループ再分割提案部３０３は、クライアント数の増加に応じて、全てのグループ代表者３００に対してグループ再分割の提案を行う。このとき、グループ代表者３００は、ネームサービスアクセス処理部１０４により、各グループ代表者３００を特定することができる。
（３）ステップＳ４０３
グループ代表者３００は、半数以上のグループ代表者３００から合意を得た場合には、グループ分割の施行を全てのグループ代表者３００に対して促す。例えば、グループ再分割提案部３０３は、グループ再分割の提案に合意したグループ代表者３００の数が全体の半数以上であれば、グループ分割の施行を全てのグループ代表者３００に対して促す。
（４）ステップＳ４０４
グループ代表者３００は、グループ再分割が発生したことを、マルチキャスト送受信部１０２により、クライアント１００に伝える。グループ代表者３００のマルチキャスト送受信部１０２は、マルチキャストアドレスでの送信により、グループ再分割が発生したことをクライアント１００に通知する。クライアント１００のマルチキャスト送受信部１０２は、マルチキャストアドレスでの通知を受け取る。
（５）ステップＳ４０５
クライアント１００、ネームサービス２００、及びグループ代表者３００は、グループ再分割が起きたことを知ると、図５に示すような、グループに対応するマルチキャストアドレスの表を置き換える。例えば、クライアント１００、ネームサービス２００、及びグループ代表者３００は、グループ再分割が起きたことを知ると、２ビットの表から３ビットの表に置き換える。
（６）ステップＳ４０６
クライアント１００は、自分が所属しているマルチキャストグループの再登録を実施する。
（７）ステップＳ４０７
クライアント１００は、グループ代表者３００の再選出のために、ネームサービスアクセス処理部１０４により、ネームサービス２００に問い合わせる。もしくは、ネームサービス２００は、グループ代表者管理部２０１により、各グループに対してマルチキャストによる問い合わせを送信し、返答を帰してきたクライアント１００の中からグループ代表者３００を選出する。
【００４３】
次に、図１０を参照して、グループの再併合について説明する。
ネームサービス２００は、グループに所属しているクライアント１００の数が減ってきた場合には、再併合を行うことができる。ネームサービス２００は、分割に使用するビット数を１つ減らすことでグループ数を減らす。その後の処理は、再分割の方法と同じ方法を取ることで再併合を行う。
【００４４】
例えば、グループの再併合は、以下の様に行う。
（１）ステップＳ５０１
グループ代表者３００は、グループ所属クライアント数取得部３０２により、グループに所属しているクライアント１００の数を把握することができる。例えば、グループ所属クライアント数取得部３０２は、クライアント１００から送信された情報に基づいて、グループに所属しているクライアント１００の数をカウントする。
（２）ステップＳ５０２
グループ代表者３００は、グループ再分割提案部３０３により、自身が管理しているクライアント数が所定の閾値を下回ったときに全てのグループ代表者３００に対してグループ再併合の提案を行う。すなわち、グループ再分割提案部３０３は、クライアント数の減少に応じて、全てのグループ代表者３００に対してグループ再併合の提案を行う。このとき、グループ代表者３００は、ネームサービスアクセス処理部１０４により、各グループ代表者３００を特定することができる。
（３）ステップＳ５０３
グループ代表者３００は、半数以上のグループ代表者３００から合意を得た場合には、グループ分割の施行を全てのグループ代表者３００に対して促す。例えば、グループ再分割提案部３０３は、グループ再併合の提案に合意したグループ代表者３００の数が全体の半数以上であれば、グループ分割の施行を全てのグループ代表者３００に対して促す。
（４）ステップＳ５０４
グループ代表者３００は、グループ再併合が発生したことを、マルチキャスト送受信部１０２により、クライアント１００に伝える。グループ代表者３００のマルチキャスト送受信部１０２は、マルチキャストアドレスでの送信により、グループ再併合が発生したことをクライアント１００に通知する。クライアント１００のマルチキャスト送受信部１０２は、マルチキャストアドレスでの通知を受け取る。
（５）ステップＳ５０５
クライアント１００、ネームサービス２００、及びグループ代表者３００は、グループ再併合が起きたことを知ると、図５に示すような、グループに対応するマルチキャストアドレスの表を置き換える。例えば、クライアント１００、ネームサービス２００、及びグループ代表者３００は、グループ再併合が起きたことを知ると、２ビットの表から３ビットの表に置き換える。
（６）ステップＳ５０６
クライアント１００は、自分が所属しているマルチキャストグループの再登録を実施する。
（７）ステップＳ５０７
クライアント１００は、グループ代表者３００の再選出のために、ネームサービスアクセス処理部１０４により、ネームサービス２００に問い合わせる。もしくは、ネームサービス２００は、グループ代表者管理部２０１により、各グループに対してマルチキャストによる問い合わせを送信し、返答を帰してきたクライアント１００の中からグループ代表者３００を選出する。
【００４５】
以上のように、本発明では、ＩＰアドレスを入力としたハッシュ値を用いてクライアント群を複数のグループに分割する。これにより、あるグループに所属するクライアントの数を偏りにくくすることができる。
【００４６】
また、本発明では、グループに代表者を立て、グループに登録されているクライアントを管理する。
【００４７】
また、本発明では、ネームサービスを用いて各グループの代表者を管理する。
【００４８】
また、本発明では、ハッシュ値によって分割したグループ毎にマルチキャストアドレスを付与する。
【００４９】
また、本発明では、グループに所属したクライアントをマルチキャストグループにも登録する。
【００５０】
また、本発明では、代表者はマルチキャストアドレスを用いて管理しているクライアントにアクセスする。
【００５１】
また、本発明では、グループに所属するクライアントの数が増えてきた場合は、グループ分割に使用するビット数を増やすなどしてグループ数を増やし、グループ管理者の負荷を分散させる。
【００５２】
本発明の特徴は、以下の通りである。
（１）ハッシュの特性を利用して簡単に大量のコンピュータをグループ分けする。例えば、トップダウン的なグループ分割を実現する。
（２）グループに所属するクライアント数の偏りがおきにくい。
（３）グループに所属するクライアントが増えてきた場合、分割に使用するビット数を増やすことで簡単にグループの再分割を行える。
（４）外部からグループの管理や指定を容易にできる。
（５）ハッシュ値によって分割されたグループをネームサービス、ルータとの連携で分散管理する。
【００５３】
以下に、本発明による効果について説明する。
第１の効果は、大量のクライアントが持つ情報を分散管理できることにある。その理由は、大量のクライアントをグループに分割し、ネームサービス、ルータとの連携で分散管理することができるためである。
第２の効果は、大量のクライアントをグループに分割することが簡単であることにある。その理由は、ＩＰアドレスを入力としたハッシュ値を用いるためである。
第３の効果は、グループに所属するクライアントが増えてきた場合、負荷分散のためのグループ分割が容易である。その理由は、ハッシュ値の使用ビット数を増減することで簡単にグループの再分割を行えることにある。
第４の効果は、グループに所属するクライアント数の偏りがおきにくい点にある。その理由は、ハッシュの特性を利用して簡単に大量のコンピュータをトップダウンにグループ分割することにある。
【００５４】
本発明によれば、社内ネットワークに接続されるコンピュータの統計情報の取得や、パッチ適用状態の取得や、情報漏えい防止のための監視といった用途に適用できる。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明の分散管理システムの構成例を示す図である。
【図２】図２は、ハッシュ値によるグループ分割（論理的配置）の例を示す図である。
【図３】図３は、新規クライアントの追加及び情報の取得（物理的配置）の例を示す図である。
【図４】図４は、ネームサービスがグループ代表者を管理するための表の形式の例を示す図である。
【図５】図５は、グループに対応するマルチキャストアドレスの表の形式の例を示す図である。
【図６】図６は、クライアントの追加の際の動作を示すフローチャートである。
【図７】図７は、クライアントの削除の際の動作を示すフローチャートである。
【図８】図８は、情報の取得の際の動作を示すフローチャートである。
【図９】図９は、グループの再分割の際の動作を示すフローチャートである。
【図１０】図１０は、グループの再併合の際の動作を示すフローチャートである。
【符号の説明】
【００５６】
１００…  クライアント
１０１…  所属グループ計算部
１０２…  マルチキャスト送受信部
１０３…  クライアントデータ送受信部
１０４…  ネームサービスアクセス処理部
１０５…  ネームサービス登録部
１０６…  マルチキャストグループ登録部
２００…  ネームサービス
２０１…  グループ代表者管理部
２０２…  グループ代表者返答部
３００…  グループ代表者
３０１…  クライアント情報提供部
３０２…  グループ所属クライアント数取得部
３０３…  グループ再分割提案部
４００…  ルータ
４０１…  マルチキャストグループ設定部
４０２…  マルチキャスト転送部
【図１】
0004784617.tif 000002
【図２】
0004784617.tif 000003
【図３】
0004784617.tif 000004
【図４】
0004784617.tif 000005
【図５】
0004784617.tif 000006
【図６】
0004784617.tif 000007
【図７】
0004784617.tif 000008
【図８】
0004784617.tif 000009
【図９】
0004784617.tif 000010
【図１０】
0004784617.tif 000011