(57)【要約】【課題】利用者（情報発信者／検索者）が目的とするグループを探す手間を軽減する。【解決手段】他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードに、自ノードが中継するメッセージを所定期間記憶する記憶部１３−１…を設け、他のノードから受け取った検索依頼に適合するメッセージが記憶部１３−１…に記憶されている場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。また、記憶部１３−１…に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出し、この点数に応じて自ノードが所属するグループを変更することにより、常に最適なグループに所属することができる。【選択図】　　　　図１
2004102531.tif 000002
【特許請求の範囲】
【請求項１】
Ｐｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、ノード相互間で検索要求メッセージ及びそれに対する応答メッセージを授受するネットワークシステムであって、各ノードは、自ノードが中継するメッセージを所定期間記憶する記憶手段と、他のノードから受け取った検索依頼に適合するメッセージが前記記憶手段に記憶されている場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出手段と、を含むことを特徴とするネットワークシステム。
【請求項２】
前記各ノードは、他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御する手段を更に含むことを特徴とする請求項１記載のネットワークシステム。
【請求項３】
Ｐｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、ノード相互間で検索要求メッセージ及びそれに対する応答メッセージを授受するネットワークシステムであって、各ノードは、自ノードが中継するメッセージを所定期間記憶する記憶手段と、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出手段と、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更手段とを含むことを特徴とするネットワークシステム。
【請求項４】
前記点数算出手段は、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする請求項３記載のネットワークシステム。
【請求項５】
前記所属グループ変更手段は、前記点数算出手段によって算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退することを特徴とする請求項３又は４記載のネットワークシステム。
【請求項６】
他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードであって、自ノードが中継するメッセージを所定期間記憶する記憶手段と、他のノードから受け取った検索依頼に適合するメッセージが前記記憶手段に記憶されている場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出手段と、を含むことを特徴とするノード。
【請求項７】
他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御する手段を更に含むことを特徴とする請求項６記載のノード。
【請求項８】
他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードであって、自ノードが中継するメッセージを所定期間記憶する記憶手段と、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出手段と、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更手段とを含むことを特徴とするノード。
【請求項９】
前記点数算出手段は、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする請求項８記載のノード。
【請求項１０】
前記所属グループ変更手段は、前記点数算出手段によって算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退することを特徴とする請求項８又は９記載のノード。
【請求項１１】
他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御方法であって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて、他のノードから受け取った検索依頼に適合するメッセージが記憶された場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出ステップと、を含むことを特徴とするノード制御方法。
【請求項１２】
他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御するステップを更に含むことを特徴とする請求項１１記載のノード制御方法。
【請求項１３】
他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御方法であって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出ステップと、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更ステップとを含むことを特徴とするノード制御方法。
【請求項１４】
前記点数算出ステップにおいては、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする請求項１３記載のノード制御方法。
【請求項１５】
前記所属グループ変更ステップにおいては、前記点数算出ステップにおいて算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退するように制御することを特徴とする請求項１３又は１４記載のノード制御方法。
【請求項１６】
他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御プログラムであって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて、他のノードから受け取った検索依頼に適合するメッセージが記憶された場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出ステップと、を含むことを特徴とするノード制御プログラム。
【請求項１７】
他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御するステップを更に含むことを特徴とする請求項１６記載のノード制御プログラム。
【請求項１８】
他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御プログラムであって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出ステップと、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更ステップとを含むことを特徴とするノード制御プログラム。
【請求項１９】
前記点数算出ステップにおいては、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする請求項１８記載のノード制御プログラム。
【請求項２０】
前記所属グループ変更ステップにおいては、前記点数算出ステップにおいて算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退するように制御することを特徴とする請求項１８又は１９記載のノード制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークシステム、ノード、ノード制御方法、ノード制御プログラムに関し、特にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークシステム、そのシステムを構成するためのノード、そのノードの制御方法、ノードの制御プログラムに関する。
【０００２】
【従来の技術】
Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（以下、Ｐ２Ｐと略称する）ネットワークシステムでは、特定の中央サーバに頼らずにノード同士がメッセージを中継し合うことでネットワークを構成する。この場合、隣り合うノード（隣接ノード）のみがコネクションを張る。そして、コネクションを張った隣接ノード同士が、メッセージをバケツリレー方式に中継し合う。中継されるメッセージには、検索依頼／検索応答メッセージ、制御用メッセージなどの種類がある。
【０００３】
検索依頼を受け取ったノードは、そのノード自身が適合する情報を持っていれば検索応答を返信し、持っていなければ隣接ノードへ検索依頼を中継する。
検索応答は検索依頼が辿った経路と逆の経路を中継される。
各メッセージはＴｉｍｅ　Ｔｏ　Ｌｉｖｅ（ＴＴＬ）の値を持ち、中継回数は最大でもＴＴＬの値に限定する。
【０００４】
メッセージの経路制御として、一度中継したメッセージと再度同じメッセージを受け取った場合は破棄する。
ここで、Ｐ２Ｐネットワーク上に趣味や目的に応じたグループを構成する技術はＪＸＴＡ（ｈｔｔｐ：／／ｗｗｗ．ｊｘｔａ．ｏｒｇ）において提案されている。この技術によるグループの概要については、非特許文献１や非特許文献２に記載されている。また、グループの実装については、非特許文献３に記載されている。
【０００５】
上記の各非特許文献に記載されている技術を利用して構成したネットワークシステムの構成例が図８に示されている。同図中の実線で示されているように、各ノード間には、コネクション（例えばＴＣＰコネクション）が張られている。同図を参照すると、グループＩＤ（ＧｒｏｕｐＩＤ）：１２３４に所属する（参加する）グループとして４つのノードＮ１〜Ｎ４が存在する。
【０００６】
各ノードＮ１〜Ｎ４は、相互にメッセージを授受する。ノードＮ１〜Ｎ４から送出されるメッセージＭには、そのノードが所属するグループＩＤが付加されている。
各ノードは、グループＩＤを持つことで、そのグループに所属することができる。各グループは一意に決まる識別子（グループＩＤ）を持っている。そして、各ノードは、グループＩＤを取得して目的のグループに所属する。また、新規グループは、新しいグループＩＤを定義することで任意に作成することができる。各ノードは、複数のグループＩＤを取得すれば、複数のグループに所属できる。各ノードは任意のグループＩＤを１つ、あるいは複数個持っていることになる。
【０００７】
この従来のシステムにおいては、メッセージＭに付加されたグループＩＤと同じＩＤを持つノード間のみでメッセージをバケツリレー式に授受する。したがって、グループＩＤが異なる場合にはメッセージＭが交換されない。例えば、同図に示されているように、グループＩＤ：１２３４を持っているノードＮ１〜Ｎ４の範囲内においてメッセージＭを交換するのであり、異なるグループＩＤ：９８７６のみを有するノードＮ５及びＮ６はメッセージを受け取ることができない。
【０００８】
【非特許文献１】
「ＪＸＴＡプロトコル」（ＪＸＴＡｐｒｏｔｏｃｏｌｓ．ｐｄｆ）の４ページ目のピア・グループス（ＰｅｅｒＧｒｏｕｐｓ）＜ＵＲＬ：ｈｔｔｐ：／／ｓｐｅｃ．ｊｘｔａ．ｏｒｇ／ｐｒｏｊｅｃｔ／ｗｗｗ／ｗｈｉｔｅ＿ｐａｐｅｒｓ．ｈｔｍｌ＞
【非特許文献２】
「ピアグループ及びサービスについてよくある質問」（Ｐｅｅｒ　Ｇｒｏｕｐｓ　ａｎｄ　Ｓｅｒｖｉｃｅｓ　ＦＡＱ）＜ＵＲＬ：ｈｔｔｐ：／／ｓｅａｒｃｈ．ｊｘｔａ．ｏｒｇ／ｐｒｏｊｅｃｔ／ｗｗｗ／ｄｏｃｓ／ＤｏｍａｉｎＦＡＱ．ｈｔｍｌ＞
【非特許文献３】
「スモール・チュートリアル・フォア・クリエイティング・アンド・ジョイニング・ピア・グループス…」（Ｓｍａｌｌ　Ｔｕｔｏｒｉａｌ　ｆｏｒＣｒｅａｔｉｎｇ　＆Ｊｏｉｎｉｎｇ　Ｐｅｅｒ　Ｇｒｏｕｐｓ　ｉｎ　ＪＸＴＡ’ｓ　Ｊａｖａ　Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）＜ＵＲＬ：ｈｔｔｐ：／／ｓｐｅｃ．ｊｘｔａ．ｏｒｇ／ｐｒｏｊｅｃｔ／ｗｗｗ／Ｔｕｔｏｒｉａｌｓ．ｈｔｍｌ＞
【０００９】
【発明が解決しようとする課題】
上記の文献に記載されている技術を採用すれば、Ｐ２Ｐネットワークを構成することができる。しかしながら、上記の文献に記載されているネットワークシステムには、以下のような問題点がある。すなわち、Ｐ２Ｐネットワーク上に多数のグループが存在する場合は利用者（情報発信者／検索者）が目的のグループを探す手間が発生する。
【００１０】
また、一旦グループが構成されると、再構成されることがない。このため、適していないグループに所属し続ける場合が生じる。
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的はＰ２Ｐネットワーク上におけるグループを自律的に再構成することで、利用者（情報発信者／検索者）が目的とするグループを探す手間を軽減することのできるネットワークシステム、ノード、ノード制御方法を提供することである。
【００１１】
【課題を解決するための手段】
本発明の請求項１によるネットワークシステムは、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、ノード相互間で検索要求メッセージ及びそれに対する応答メッセージを授受するネットワークシステムであって、各ノードは、自ノードが中継するメッセージを所定期間記憶する記憶手段と、他のノードから受け取った検索依頼に適合するメッセージが前記記憶手段に記憶されている場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出手段と、を含むことを特徴とする。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。
【００１２】
本発明の請求項２によるネットワークシステムは、請求項１において、前記各ノードは、他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御する手段を更に含むことを特徴とする。推薦情報を受け取ることにより、他のグループに所属しやすくなる。
本発明の請求項３によるネットワークシステムは、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、ノード相互間で検索要求メッセージ及びそれに対する応答メッセージを授受するネットワークシステムであって、各ノードは、自ノードが中継するメッセージを所定期間記憶する記憶手段と、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出手段と、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更手段とを含むことを特徴とする。検索応答に応じて算出した点数に基づいて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００１３】
本発明の請求項４によるネットワークシステムは、請求項３において、前記点数算出手段は、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００１４】
本発明の請求項５によるネットワークシステムは、請求項３又は４において、前記所属グループ変更手段は、前記点数算出手段によって算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退することを特徴とする。算出された点数が所定値以下である場合に、そのグループから脱退することにより、適していないグループに所属することを回避できる。
【００１５】
本発明の請求項６によるノードは、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードであって、自ノードが中継するメッセージを所定期間記憶する記憶手段と、他のノードから受け取った検索依頼に適合するメッセージが前記記憶手段に記憶されている場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出手段と、を含むことを特徴とする。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。
【００１６】
本発明の請求項７によるノードは、請求項６において、他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御する手段を更に含むことを特徴とする。推薦情報を受け取ることにより、他のグループに所属しやすくなる。
本発明の請求項８によるノードは、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードであって、自ノードが中継するメッセージを所定期間記憶する記憶手段と、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出手段と、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更手段とを含むことを特徴とする。検索応答に応じて算出した点数に基づいて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００１７】
本発明の請求項９によるノードは、請求項８において、前記点数算出手段は、前記記憶手段に記憶されているメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００１８】
本発明の請求項１０によるノードは、請求項８又は９において、前記所属グループ変更手段は、前記点数算出手段によって算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退することを特徴とする。算出された点数が所定値以下である場合に、そのグループから脱退することにより、適していないグループに所属することを回避できる。
【００１９】
本発明の請求項１１によるノード制御方法は、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御方法であって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて、他のノードから受け取った検索依頼に適合するメッセージが記憶された場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出ステップと、を含むことを特徴とする。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。
【００２０】
本発明の請求項１２によるノード制御方法は、請求項１１において、他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御するステップを更に含むことを特徴とする。推薦情報を受け取ることにより、他のグループに所属しやすくなる。
本発明の請求項１３によるノード制御方法は、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御方法であって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出ステップと、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更ステップとを含むことを特徴とする。検索応答に応じて算出した点数に基づいて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００２１】
本発明の請求項１４によるノード制御方法は、請求項１３において、前記点数算出ステップにおいては、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００２２】
本発明の請求項１５によるノード制御方法は、請求項１３又は１４において、前記所属グループ変更ステップにおいては、前記点数算出ステップにおいて算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退するように制御することを特徴とする。算出された点数が所定値以下である場合に、そのグループから脱退することにより、適していないグループに所属することを回避できる。
【００２３】
本発明の請求項１６によるノード制御プログラムは、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御プログラムであって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて、他のノードから受け取った検索依頼に適合するメッセージが記憶された場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出ステップと、を含むことを特徴とする。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。
【００２４】
本発明の請求項１７によるノード制御プログラムは、請求項１６において、他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御するステップを更に含むことを特徴とする。推薦情報を受け取ることにより、他のグループに所属しやすくなる。
本発明の請求項１８によるノード制御プログラムは、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御プログラムであって、自ノードが中継するメッセージを記憶する記憶ステップと、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出ステップと、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更ステップとを含むことを特徴とする。検索応答に応じて算出した点数に基づいて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００２５】
本発明の請求項１９によるノード制御プログラムは、請求項１８において、前記点数算出ステップにおいては、前記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出することを特徴とする。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００２６】
本発明の請求項２０によるノード制御プログラムは、請求項１８又は１９において、前記所属グループ変更ステップにおいては、前記点数算出ステップにおいて算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退するように制御することを特徴とする。算出された点数が所定値以下である場合に、そのグループから脱退することにより、適していないグループに所属することを回避できる。
【００２７】
グループの再構成には、「未知のグループの発見」と「不必要なグループからの脱退」とを実現する必要がある。そのため、本発明においては、複数のグループに所属するノードから得られる推薦情報を基にして未知のグループを発見する仕組みと、所属するグループがノード自身に適しているか判断して自律的に脱退する仕組みとを提案する。
【００２８】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図においては、他の図と同等部分に同一符号が付されている。
（各ノードの構成例）
図１は本発明によるネットワークシステムに用いるノードの実施の一形態を示すブロック図である。同図に示されているように、本例のネットワークシステムに用いる各ノードは、Ｐ２Ｐネットワーク１０に接続し、他のノードとメッセージを授受するためのメッセージ処理部１１と、ノード自身が持っている情報を記憶するための記憶部１２と、他のノードの検索依頼に対する応答の内容を各グループ別に一定時間記憶するキャッシュ記憶部１３−１、１３−２、１３−３…と、各グループの点数を算出し、その算出結果を閾値と比較する点数算出／比較部１４と、その比較結果に基づいてグループから脱退するかどうか判断するグループ所属制御部１５とを含んで構成されている。
【００２９】
メッセージ処理部１１は、Ｐ２Ｐネットワーク１０から送られてくるメッセージを受け取ると共にＰ２Ｐネットワーク１０にメッセージを送出する。
メッセージ処理部１１は、他のノードからの検索要求に応答して記憶部１２の記憶内容の検索を行い、その検索結果をメッセージとしてＰ２Ｐネットワーク１０に送出する。また、メッセージ処理部１１は、ノード自身がその情報を持っていない場合、キャッシュ記憶部１３−１、１３−２、１３−３…の記憶内容をそれぞれ検索する。そして、この検索の結果、他のノードがその情報を持っていることが判明すれば、メッセージ処理部１１は、そのグループに所属しているノードがその情報を持っている旨の推薦情報をＰ２Ｐネットワーク１０に送出する。推薦情報には適合する検索結果とその情報があるグループの情報を付加する。例えば、「報告．ｔｘｔ」というファイルが「営業部」というグループにあると返信する。
【００３０】
なお、メッセージ処理部１１は、自ノードが現在所属しているグループのグループＩＤを記憶しており、この記憶しているグループＩＤそれぞれに対応して、キャッシュ記憶部１３−１、１３−２、１３−３…が用意されている。
点数算出／比較部１４は、ノード自身がグループ別にキャッシュ記憶部１３−１、１３−２、１３−３…に記憶している内容を読み出す。そして、点数算出／比較部１４は、読出した記憶内容に基づいて点数を算出し、この算出した点数を所定の閾値と比較する。この比較結果が所定の閾値以下である場合、グループ所属制御部１５は、自ノードはそのグループから脱退するように制御する。この場合、例えば、その記憶しているグループＩＤを削除することによって、そのグループから脱退する。つまり、グループ所属制御部１５は、自ノードについて所属すべきグループを制御する。
（ノードを用いたＰ２Ｐネットワークシステム構成例）
以上の構成からなるノードを用いてＰ２Ｐネットワークシステムを構成した例が図２及び図３に示されている。以下、図２を参照して、各ノードが未知のグループを発見する仕組みを説明する。また、図３を参照して、各ノードがグループから自律的に脱退する仕組みについて説明する。
【００３１】
まず、図２において、グループ９８７６に所属しているノード３は“Ａ”の情報を持っている。ノード２は、グループ９８７６内で中継するメッセージを自ノード内のキャッシュ記憶部に記憶しているため、ノード３が“Ａ”を持っていることを知っている。
ノード１は、グループ１２３４内で“Ａ”を検索する。検索依頼メッセージＭを受け取ったノード２は自ノード内のキャッシュ記憶部を参照し、グループ９８７６に“Ａ”があるという推薦情報を応答する（同図中の「Ｈｉｔ」）。ノード２から返信された推薦情報に基づいて、ノード１はグループ９８７６に“Ａ”があると知ることができる。つまり、ノード１は、推薦情報を参照することによって、未知のグループを発見することができる。
【００３２】
以上のように、各ノードは、所属しているグループ毎に、ノード自身が中継するメッセージを一定期間キャッシュ記憶部に記憶している。検索依頼メッセージを受け取ったノードは、所定のメッセージ処理を行ったうえで、その依頼された情報が自ノードに記憶しているか調べる。調べた結果、自ノードに記憶していなければ、キャッシュ記憶部の記憶内容を調べ、他のノードに記憶されているかどうか調べる。そして、検索依頼と適合するメッセージがあれば推薦情報として検索応答を返信する。この推薦情報を受け取ったノードは、推薦情報から未知のグループの情報（グループＩＤ等）を取得することができる。このように推薦情報を授受することによって、各ノードは未知のグループを発見することができる。
【００３３】
次に、図３において、ノード１はグループ１２３４とグループ９８７６との両方に所属している。ノード１は、自ノードが中継するメッセージＭをグループ毎にキャッシュ記憶部に一定期間記憶する。キャッシュ記憶部に記憶したメッセージの内、ノード１の応答したメッセージを抽出する。そして、その応答時期や応答回数に応じて点数を算出する。この点数は、そのグループにおける自ノードの貢献度となる。そして、グループ１２３４における貢献度を０．８０、グループ９８７６における貢献度を０．０２と算出した場合、貢献度の低いグループ９８７６からは脱退する。
【００３４】
例えば、点数が一定の閾値以下になったグループからは自律的に脱退することとする。この場合、点数が低い場合、対象グループに対してノードが貢献していないと考える。なお、閾値は利用者が任意に設定できるようにしても良い。
以上のように、各ノードは、所属しているグループ毎に、ノード自身が中継するメッセージを一定期間キャッシュ記憶部に記憶している。このキャッシュ記憶部は、図２の場合に用いているキャッシュ記憶部を共用する。このキャッシュ記憶部からノード自身が応答した情報を抽出し、その回数や時期からグループ毎に点数を算出する。この点数の算出においては、応答の回数が多く、時期が新しいほど点数が高くなるようにする。
【００３５】
点数の算出式は利用者毎に任意に選択できるようにしても良い。この点数の算出について、図４を参照して説明する。同図（ａ）は１つのグループに対応するキャッシュ記憶部の構成例を示す概念図、同図（ｂ）は同図（ａ）に対応する点数の算出式の一例である。
同図（ａ）には、グループＡ（Ｇｒｏｕｐ−Ａ）に関する検索応答結果についての記憶内容が示されている。同図においては、「ｃｏｏｌ＿ｍｐ３」、「ｈｏｔ＿ｍｐ３」、「ｍｉｌｄ＿ｍｐ３」、「ＭＹ．ＭＰ３」…、「ｏｌｄ＿ｍｐ３」が記憶されている。そして、新たに「ｆｒｅｓｈ＿ｍｐ３」が加えられて記憶されると、その代わりに、最も古い（記憶されてからの経過時間が最も長い）「ｏｌｄ＿ｍｐ３」が消去される。新たに加えられるものが無くても、一定時間経過したものについて消去を行っても良い。
【００３６】
同図において、「ｎ」は１以上の整数であり、ノードが持つキャッシュ記憶部の大きさ（記憶容量）を示している。この値が小さいほどキャッシュ記憶部に最近記憶された情報とする。また、「ｋ」は１以上ｎ以下の整数であり、ノードが返信した検索応答（ＭＹ．ＭＰ３）の位置を示している。
このようなキャッシュ記憶部の記憶状態において、同図（ｂ）に示されている算出式に従ってｐｏｉｎｔ（ＭｙＲｅｐｌｙ）で示されている値の総和を求め、これを点数とする。すなわち、
ｐｏｉｎｔ（ＭｙＲｅｐｌｙ）＝ｌｎ（１＋１／ｋ）／ｌｎ（ｎ＋１）
であり、その総和
ＭｙＣｏｎｔｒｉｂｕｔｉｏｎ（ＧｒｏｕｐＡ）＝Σｐｏｉｎｔ（ＭｙＲｅｐｌｙ）
がそのグループＡにおける、自ノードの貢献度を表している。よって、この点数が高いほど対象となるグループにおいて、そのノードが貢献（検索応答を多く返信）していることになる。以上のように、本例では、記憶されている検索応答メッセージの個数及びその記憶時期に応じて点数を算出し、貢献度を求めている。
【００３７】
ところで、同図に示されている例では閾値は０以上１以下の実数である。この閾値が高いほど、所属しているグループから脱退し易くなる。この閾値については、予め固定値を定めておいても良いし、ユーザが、グループ毎にそれぞれ異なる値を設定しても良い。
なお、自ノードが所属している他のグループについても同様に、点数を算出し、貢献度に応じてそのグループから脱退する。
（各ノードの制御内容）
ここで、各ノードの制御内容が図５及び図６に示されている。図５は推薦情報を送出する制御を行う場合を示すフローチャート、図６は、所属しているグループから脱退するかどうかを判断する場合を示すフローチャートである。
【００３８】
図５において、ノードは自身が中継するメッセージを、グループ別にキャッシュ記憶部に記憶する（ステップＳ６０１）。このキャッシュ記憶部の記憶内容を検索し、検索依頼内容に適合するものがあるか判断する（ステップＳ６０２）。適合するものがある場合、その旨の推薦情報をメッセージとして送出する（ステップＳ６０２→Ｓ６０３）。一方、適合するものが無い場合、キャッシュ記憶部に記憶されている情報に、記憶開始から所定期間経過しているものがあるか判断する（ステップＳ６０２→Ｓ６０４）。記憶開始から所定期間経過しているものがあれば、それを削除する（ステップＳ６０４→Ｓ６０５）。
【００３９】
以上の処理の後、他のノードから推薦情報を受け取ったか判断する（ステップＳ６０４→Ｓ６０６）。推薦情報を受け取っていなければ、そのままステップＳ６０１に戻る（ステップＳ６０６→Ｓ６０１）。
推薦情報を受け取った場合は、そのグループに新たに所属する（ステップＳ６０６→Ｓ６０７）。具体的には、その推薦情報に含まれているグループＩＤを記憶することによって、そのグループに所属する。その後、ステップＳ６０１に戻る（ステップＳ６０７→Ｓ６０１）。
【００４０】
また、図６において、ノード自身がグループ別にキャッシュ記憶部に記憶している内容を点数算出／比較部が読み出す（ステップＳ７０１）。そして、点数算出／比較部は、読出した記憶内容に基づいて点数を算出する（ステップＳ７０２）。この点数は、例えば、記憶個数及び記憶時期に基づいて算出する。この算出した点数が所定閾値以下である場合、グループ所属制御部により、自ノードはそのグループから脱退する（ステップＳ７０３→Ｓ７０４）。その後、ステップＳ７０１に戻り、処理を継続する（ステップＳ７０４→Ｓ７０１）。
【００４１】
一方、算出した点数が所定閾値以下でなければ、再度、キャッシュ記憶部に記憶している内容を読み出して処理を続ける（ステップＳ７０３→Ｓ７０１）。
（Ｐ２Ｐネットワークシステム構成例）
以上のように構成されたノードを利用することにより、図７に示されているようなＰ２Ｐネットワークシステムを構成することができる。同図においては、第３世代携帯電話機７１、ＰＤＡ（ｐｅｒｓｏｎａｌ　ｄｉｇｉｔａｌ　ａｓｓｉｓｔａｎｔ）７２、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）７３、ウェブサーバ（ＷＥＢ　Ｓｅｒｖｅｒ）７４、ＵＤＤＩ（Ｕｎｉｖｅｒｓａｌ　Ｄｅｓｃｒｉｐｔｉｏｎ，Ｄｉｓｃｏｖｅｒｙ，ａｎｄ　Ｉｎｔｅｇｒａｔｉｏｎ）サーバ（ＵＤＤＩ　Ｓｅｒｖｅｒ）７５、ＷＳＤＬ（Ｗｅｂ　Ｓｅｒｖｉｃｅ　Ｄｅｓｃｒｉｐｔｉｏｎ　Ｌａｎｇｕａｇｅ）サーバ（ＷＳＤＬ　Ｓｅｒｖｅｒ）７６、Ｍａｉｌサーバ（Ｍａｉｌ　Ｓｅｒｖｅｒ）７７などの端末（ノード）によってＰ２Ｐネットワークが構成されている。
【００４２】
構成されているＰ２Ｐネットワーク１０上において、各ノードは、趣旨や目的に合ったグループに所属して情報検索や公開を行う。そして、本システムは、Ｐ２Ｐネットワーク１０上のグループを再構成するために利用される。また、本システムは、各ノードが所属しているグループから自律的に脱退するために利用される。
【００４３】
図７において、情報検索者／発信者は、各ノードを利用して、目的のグループや情報を検索する。グループの形成は、先述したように、グループＩＤを定義することによって行われる。グループ間の情報共有は、図２を参照して説明したように行われるので、各ノードは未知のグループを発見することができる。また、各ノードは、図３を参照して説明したように、所属しているグループから自律的に脱退し、グループを再構成する。
（具体例）
図７に示されているように、各種端末のデータをＰ２Ｐネットワーク１０上で統合することにより、フォーマット形式に関係無く、各種のデータ１００を扱うことができる。例えば、ＨＴＭＬやＸＭＬ形式のデータ、ワープロや表計算のアプロケーションファイル、メールデータ（テキストデータ）、ストリーミングデータ、ＭＰ３（ＭＰＥＧ−１／Ａｕｄｉｏ　Ｌａｙｅｒ−３）やＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）のデータなどを扱うことができる。
【００４４】
以上のようなＰ２Ｐネットワークを構成することによって、以下の効果が得られる。
▲１▼Ｐ２Ｐネットワークを利用する各種アプリケーションやサービスに本システムを用いることで、目的のグループや情報を発見しやすくなる。
▲２▼Ｐ２Ｐネットワーク上のグループを管理する手間が不必要、あるいは削減できる。
▲３▼一般的なテキストベースの検索システムでは、同音異義語を区別することは困難である。例えば、動物の「マウス」と、コンピュータのポインティングデバイスとしての「マウス」とを区別することは困難である。しかしながら、このような同音異義語についても、本システムによって意味的な区別が自動的になされる。
▲４▼利用者（情報発信者／検索者）は、利用者自身が持つ情報を公開すると、趣旨や目的が類似するグループを自動的に発見できる。
（ノード制御方法）
ところで、上述した各ノードにおいては、以下のような制御方法が採用されている。すなわち、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御方法であり、自ノードが中継するメッセージを記憶する記憶ステップと、上記記憶ステップにおいて、他のノードから受け取った検索依頼に適合するメッセージが記憶された場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出ステップと、を含むノード制御方法が採用されている。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。
【００４５】
他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御するステップを更に含んでも良い。推薦情報を受け取ることにより、他のグループに所属しやすくなる。
また、各ノードにおいては、以下のような制御方法も採用されている。すなわち、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御方法であり、自ノードが中継するメッセージを記憶する記憶ステップと、上記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出ステップと、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更ステップとを含むノード制御方法が採用されている。検索応答に応じて算出した点数に基づいて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００４６】
そして、上記点数算出ステップにおいては、上記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出する。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００４７】
さらに、上記所属グループ変更ステップにおいては、上記点数算出ステップにおいて算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退するように制御する。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
（ノード制御プログラム）
なお、図５及び図６等に示されている動作を実現するためのプログラムを用意し、これによってコンピュータを制御すれば、上述と同様に各ノードを制御して上記のネットワークシステムを構成できることは明白である。
【００４８】
すなわち、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードを制御する制御プログラムであり、自ノードが中継するメッセージを記憶する記憶ステップと、上記記憶ステップにおいて、他のノードから受け取った検索依頼に適合するメッセージが記憶された場合、そのノードに検索結果が存在することを示す推薦情報を該ノードに返信する推薦情報送出ステップと、を含むノード制御プログラムを用意し、コンピュータを制御すれば良い。推薦情報を送出することにより、他のノードは目的のグループや情報を発見しやすくなる。
【００４９】
上記プログラムは、他のノードから受け取った推薦情報の内容に応じたグループに自ノードが所属するように制御するステップを更に含んでも良い。推薦情報を受け取ることにより、他のグループに所属しやすくなる。
また、他のノードと共にＰｅｅｒ−ｔｏ−Ｐｅｅｒネットワークを構成し、検索要求メッセージ及びそれに対する応答メッセージを相互に授受するノードについての制御プログラムであり、自ノードが中継するメッセージを記憶する記憶ステップと、上記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージに応じて点数を算出する点数算出ステップと、この算出された点数に応じて自ノードが所属するグループを変更する所属グループ変更ステップとを含むノード制御プログラムを用意し、コンピュータを制御すれば良い。検索応答に応じて算出した点数に基づいて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００５０】
そして、上記点数算出ステップにおいては、上記記憶ステップにおいて記憶されたメッセージのうち自ノードが検索結果として応答したメッセージについて、その個数及びその記憶時期に応じて点数を算出する。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００５１】
さらに、上記所属グループ変更ステップにおいては、上記点数算出ステップにおいて算出された点数が所定値以下である場合に自ノードが所属しているグループから脱退するように制御する。メッセージの個数及びその記憶時期に応じて所属するグループを変更することにより、常に最適なグループに所属することができる。
【００５２】
なお、以上のプログラムを記録するための記録媒体には、図１等に示されていない半導体メモリ、磁気ディスク、光ディスク等の他、種々の記録媒体を用いることができる。
【００５３】
【発明の効果】
以上説明したように本発明は、推薦情報を送出することにより、Ｐ２Ｐネットワークを利用するノードにおいて、目的のグループや情報を発見しやすくなるという効果がある。また、各ノードが自律的にグループを発見し、また脱退することにより、Ｐ２Ｐネットワーク上のグループを管理する手間が不必要、あるいは削減できるという効果がある。
【図面の簡単な説明】
【図１】本発明によるネットワークシステムに用いるノードの実施の一形態を示すブロック図である。
【図２】各ノードが未知のグループを発見する仕組みを示す図である。
【図３】各ノードがグループから自律的に脱退する仕組みを示す図である。
【図４】（ａ）は１つのグループに対応するキャッシュ記憶部の構成例を示す概念図、（ｂ）は（ａ）に対応する点数の算出式の一例である。
【図５】推薦情報を送出する制御を行う場合を示すフローチャートである。
【図６】所属しているグループから脱退するかどうかを判断する場合を示すフローチャートである。
【図７】図１のノードを利用して構成することのできるＰ２Ｐネットワークシステムの例を示す図である。
【図８】従来のネットワークシステムの構成例を示す図である。
【符号の説明】
１〜３、Ｎ１〜Ｎ６　ノード
１０　Ｐ２Ｐネットワーク
１１　メッセージ処理部
１２　記憶部
１３　キャッシュ記憶部
１４　比較部
１５　グループ所属制御部
１００　データ
Ｍ　メッセージ
【図１】
2004102531.tif 000003
【図２】
2004102531.tif 000004
【図３】
2004102531.tif 000005
【図４】
2004102531.tif 000006
【図５】
2004102531.tif 000007
【図６】
2004102531.tif 000008
【図７】
2004102531.tif 000009
【図８】
2004102531.tif 000010