(57)【要約】【課題】Ｐ２Ｐ型のネットワークに参加する情報処理装置に対して好適な接続相手の情報を与える。【解決手段】  Ｐ２Ｐ型のネットワークのノードとして使用されるパーソナルコンピュータＴＲに、そのネットワークのノードごとに、そのノードの属性およびそのノードを識別するための識別情報を示すノードデータＤＴＮを記憶する、接続テーブル記憶部２Ｋ１と、そのネットワークのいずれかのノードから識別情報についての問合せがあった場合に、接続テーブル記憶部２Ｋ１に記憶されている識別情報の中からそのノードが接続するのに好適なノードの識別情報を、接続テーブル記憶部２Ｋ１に記憶されているノードデータＤＴＮに示される属性に基づいて選出する、接続テーブル管理部２１３と、選出された識別情報を問合せの元であるノードに送信するデータ送信部２０２と、を設ける。【選択図】図３
2007310460.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ２Ｐ型のネットワークのノードとして使用される情報処理装置であって、
前記ネットワークのノードごとに、当該ノードの属性を示す属性情報および前記ネットワークにおいて当該ノードを識別するための識別情報を記憶する、ノード情報記憶手段と、
前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記ノード情報記憶手段に記憶されている前記識別情報の中から当該ノードが接続するのに好適なノードの前記識別情報を、前記ノード情報記憶手段に記憶されている前記属性情報に基づいて選出する、好適ノード識別情報選出手段と、
前記好適ノード識別情報選出手段によって選出された前記識別情報を前記問合せの元であるノードに送信する識別情報送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記好適ノード識別情報選出手段は、前記問合せの元であるノードの属性と同一の属性または類似する属性を示す前記属性情報を選出する、
請求項１記載の情報処理装置。
【請求項３】
前記好適ノード識別情報選出手段は、所定の個数の前記属性情報を、前記問合せの元であるノードの属性との一致度が高い属性を示すものから順に選出する、
請求項１記載の情報処理装置。
【請求項４】
ノードの前記属性情報には、当該ノードの所属に関する属性が複数示されている、
請求項１ないし請求項３のいずれかに記載の情報処理装置。
【請求項５】
ノードの前記属性情報には、当該ノードの所属するセグメント、場所、およびユーザのグループのうちの少なくとも２つが示されている、
請求項１ないし請求項３のいずれかに記載の情報処理装置。
【請求項６】
ノードの前記属性情報には、当該ノードの所属するエリアの通信速度のレベルが示されている、
請求項１ないし請求項３のいずれかに記載の情報処理装置。
【請求項７】
Ｐ２Ｐ型のネットワークのノードとして使用される情報処理装置であって、
前記ネットワークのノードごとに、前記ネットワークにおいて当該ノードを識別するための識別情報を記憶する、ノード情報記憶手段と、
前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記識別情報を、当該ノードとの通信の速度が速いノードに係るものから優先的に所定の個数、前記ノード情報記憶手段の中から抽出する、識別情報選出手段と、
前記識別情報選出手段によって選出された前記識別情報を前記問合せの元であるノードに送信する識別情報送信手段と、
を有することを特徴とする情報処理装置。
【請求項８】
Ｐ２Ｐ型のネットワークのノードとして使用される情報処理装置にノード情報記憶手段を設けておき、前記ネットワークのノードごとに、当該ノードの属性を示す属性情報および前記ネットワークにおいて当該ノードを識別するための識別情報を前記ノード情報記憶手段に記憶させておき、
前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記情報処理装置に、前記ノード情報記憶手段に記憶されている前記識別情報の中から当該ノードが接続するのに好適なノードの前記識別情報を前記ノード情報記憶手段に記憶されている前記属性情報に基づいて選出する処理を実行させ、
前記情報処理装置に、選出された前記識別情報を前記問合せの元であるノードに送信する処理を実行させる、
ことを特徴とする情報提供方法。
【請求項９】
Ｐ２Ｐ型のネットワークのノードとして使用される情報処理装置にノード情報記憶手段を設けておき、前記ネットワークのノードごとに、前記ネットワークにおいて当該ノードを識別するための識別情報を前記ノード情報記憶手段に記憶させておき、
前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記識別情報を、当該ノードとの通信の速度が速いノードに係るものから優先的に所定の個数、前記ノード情報記憶手段の中から抽出する処理を実行させ、
前記情報処理装置に、選出された前記識別情報を前記問合せの元であるノードに送信する処理を実行させる、
ことを特徴とする情報提供方法。
【請求項１０】
Ｐ２Ｐ型のネットワークのノードとして使用されかつ前記ネットワークのノードごとに当該ノードの属性を示す属性情報および前記ネットワークにおいて当該ノードを識別するための識別情報を記憶する前記ノード情報記憶手段を有する情報処理装置に用いられるコンピュータプログラムであって、
前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記情報処理装置に、前記ノード情報記憶手段に記憶されている前記識別情報の中から当該ノードが接続するのに好適なノードの前記識別情報を前記ノード情報記憶手段に記憶されている前記属性情報に基づいて選出する処理を実行させ、
前記情報処理装置に、選出された前記識別情報を前記問合せの元であるノードに送信する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項１１】
Ｐ２Ｐ型のネットワークのノードとして使用されかつ前記ネットワークのノードごとに前記ネットワークにおいて当該ノードを識別するための識別情報を記憶する前記ノード情報記憶手段を有する情報処理装置に用いられるコンピュータプログラムであって、
前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記識別情報を、当該ノードとの通信の速度が速いノードに係るものから優先的に所定の個数、前記ノード情報記憶手段の中から抽出する処理を実行させ、
前記情報処理装置に、選出された前記識別情報を前記問合せの元であるノードに送信する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐ２Ｐ型のネットワークのノードになり得る情報処理装置およびノードに関する情報の提供方法などに関する。
【背景技術】
【０００２】
近年、情報処理装置同士が通信を行う際にＰ２Ｐ（Peer To Peer）の技術がよく用いられる。Ｐ２Ｐ型のネットワークは、クライアントサーバ型のネットワークに比べて簡単に構築することができる。Ｐ２Ｐ型のネットワークに参加する情報処理装置つまりノードは、そのネットワークに参加する多数の他のノードうちの幾つかとリンクを張って通信を行う。これにより、トポロジが形成される。
【０００３】
特許文献１には、トポロジの保持の方法が提案されている。この方法によると、ネットワークを構成する各ノードは、自ノードと隣接ノードとの間のリンク情報であるノード間接続情報を保持している。あるノードＸがネットワークから離脱する場合、離脱するノードＸが保持しているノード間接続情報をネットワーク内の任意のノードＡに通知する。そして、この通知を受け取ったノードＡは、そのノード間接続情報により、新たに他のノードとの接続を行うことにより、ネットワークトポロジーを保持する。
【０００４】
特許文献２には、ノードの管理の方法が提案されている。この方法によると、論理グループノードの構成に変更が加えられた後、システムは、構成が変更された論理グループノードとして潜在的に働き得るすべての物理ノードを自動的に識別し、論理グループノードの構成を、識別された物理ノードに関して更新させて、論理グループノードに加えられた変更を反映するようにする。論理グループノードに加えられた変更は、論理グループノード機能を実行し得るその階層のより低いレベルのすべての物理ノードに自動的に伝播される。
【０００５】
特許文献３には、各計算機の負荷に応じてサービス実行に最適な計算機及び当該最適な計算機に再配置するサービスを決定して当該最適な計算機に当該サービスを再配置する方法が記載されている。
【特許文献１】特開２００３−２８９３０２号公報
【特許文献２】特開２００４−２８２６９４号公報
【特許文献３】特開２００５−１００３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、Ｐ２Ｐ型のネットワークのトポロジは、ノードが離脱しまたは新たに参加するなどして変化する。また、各ノードの属性も変化する。よって、クライアントサーバ型のネットワークのクライアントとして用いられる情報処理装置とは異なり、Ｐ２Ｐ型のネットワークに参加する情報処理装置には、好適な接続相手を上手く見つけることが要求される。特に、最初に好適な接続相手を見つけることができなければ、ユーザの所望する通りに通信が実行できなくなるおそれがある。または、情報がまったく届かない孤立ノードになってしまうおそれもある。
【０００７】
しかし、従来の方法では、この問題を解決することができない。本発明は、この問題に鑑み、Ｐ２Ｐ型のネットワークに参加する情報処理装置に対して好適な接続相手を知らせることができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、Ｐ２Ｐ型のネットワークのノードとして使用される情報処理装置であって、前記ネットワークのノードごとに、当該ノードの属性を示す属性情報および前記ネットワークにおいて当該ノードを識別するための識別情報を記憶する、ノード情報記憶手段と、前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記ノード情報記憶手段に記憶されている前記識別情報の中から当該ノードが接続するのに好適なノードの前記識別情報を、前記ノード情報記憶手段に記憶されている前記属性情報に基づいて選出する、好適ノード識別情報選出手段と、前記好適ノード識別情報選出手段によって選出された前記識別情報を前記問合せの元であるノードに送信する識別情報送信手段と、を有することを特徴とする。
【０００９】
好ましくは、前記好適ノード識別情報選出手段は、前記問合せの元であるノードの属性と同一の属性または類似する属性を示す前記属性情報を選出する。または、前記好適ノード識別情報選出手段は、所定の個数の前記属性情報を、前記問合せの元であるノードの属性との一致度が高い属性を示すものから順に選出する。
【００１０】
または、前記ネットワークのノードごとに、前記ネットワークにおいて当該ノードを識別するための識別情報を記憶する、ノード情報記憶手段と、前記ネットワークのいずれかのノードから前記識別情報についての問合せがあった場合に、前記識別情報を、当該ノードとの通信の速度が速いノードに係るものから優先的に所定の個数、前記ノード情報記憶手段の中から抽出する、識別情報選出手段と、前記識別情報選出手段によって選出された前記識別情報を前記問合せの元であるノードに送信する識別情報送信手段と、を有する。
【発明の効果】
【００１１】
本発明によると、Ｐ２Ｐ型のネットワークに参加する情報処理装置に対して好適な接続相手を知らせることができる。
【発明を実施するための最良の形態】
【００１２】
〔第一の実施形態〕
図１はネットワーク１の全体的な構成の例を示す図、図２はパーソナルコンピュータＴＲのハードウェア構成の例を示す図、図３はパーソナルコンピュータＴＲの機能的構成の例を示す図、図４はネットワーク１の各ノードの関連性の例を示す図である。
【００１３】
本発明に係るネットワーク１は、図１に示すように、複数のセグメントＳＧおよび広域通信回線ＷＮＴなどによって構成される。各セグメントＳＧには、複数台のパーソナルコンピュータＴＲ、ハブＤＨ、およびルータＤＲなどが設けられており、ＬＡＮ（Local Area Network）を形成している。パーソナルコンピュータＴＲおよびルータＤＲは、同じセグメントＳＧの中のハブＤＨにツイストペアケーブルによって繋がれている。
【００１４】
さらに、各セグメントＳＧのルータＤＲ同士は、広域通信回線ＷＮＴを介して互いに接続されている。これにより、互いに異なるセグメントＳＧに属するパーソナルコンピュータＴＲ同士がデータ通信を行うことができる。広域通信回線ＷＮＴとして、インターネット、専用線、または公衆回線などが用いられる。
【００１５】
このネットワーク１は、Ｐ２Ｐ（peer to peer）の形態のネットワークであり、これらのパーソナルコンピュータＴＲは、ノードとして機能する。これにより、各パーソナルコンピュータＴＲ同士で、互いの資源（例えば、ＣＰＵ、ハードディスク、または印刷ユニットなどのハードウェア資源、アプリケーションなどのソフトウェア資源、または書類データ、音楽データ、または画像データなどの情報資源）を共有することができる。
【００１６】
以下、次の（１）〜（４）のような特徴を有する企業Ｘおよびそれに構築されているネットワーク１を例に説明する。
（１）  企業Ｘは、Ａグループ、Ｂグループ、およびＣグループの３つの事務区分（部、課、係など）のグループを有しかつ大阪支店および東京支店の２つの支店を有する。
（２）  Ｂグループに所属する従業員は大阪支店に勤務し、Ｃグループに所属する従業員は東京支店に勤務する。Ａグループは両方の支店を拠点としており、両方の支店にＡグループの従業員が配置されている。
（３）  大阪支店および東京支店には、それぞれ、セグメントＳＧ１およびセグメントＳＧ２が構築されている。
（４）  セグメントＳＧ１にはパーソナルコンピュータＴＲとして４台のパーソナルコンピュータＴＲ１〜ＴＲ４が設置され、セグメントＳＧ２には４台のパーソナルコンピュータＴＲ５〜ＴＲ８が設置されている。これらのパーソナルコンピュータＴＲのうち、パーソナルコンピュータＴＲ１、ＴＲ２、ＴＲ５、およびＴＲ６はＡグループのものであり、パーソナルコンピュータＴＲ３、ＴＲ４はＢグループのものであり、パーソナルコンピュータＴＲ７、ＴＲ８はＣグループのものである。
【００１７】
図２に示すように、パーソナルコンピュータＴＲは、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、通信インタフェース２０ｅ、画像インタフェース２０ｆ、入出力インタフェース２０ｇ、その他の種々の回路または装置などによって構成される。
【００１８】
通信インタフェース２０ｅは、ＮＩＣ（Network Interface Card）であって、ツイストペアケーブルを介してハブＤＨのいずれかのポートに繋がれている。画像インタフェース２０ｆは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。
【００１９】
入出力インタフェース２０ｇは、キーボードもしくはマウスなどの入力装置またはフロッピディスクドライブもしくはＣＤ−ＲＯＭドライブなどの外部記憶装置などと繋がれている。そして、ユーザが入力装置に対して行った操作の内容を示す信号を入力装置から入力する。または、フロッピディスクまたはＣＤ−ＲＯＭなどの記録媒体に記録されているデータを外部記憶装置に読み取らせ、これを入力する。または、記録媒体に書き込むためのデータを外部記憶装置に出力する。
【００２０】
ハードディスク２０ｄには、図３に示すようなデータ生成部２０１、データ送信部２０２、データ受信部２０３、データ解析部２０４、認証処理部２１１、共有データ操作部２１２、接続テーブル管理部２１３、参加離脱申請処理部２１４、接続テーブル記憶部２Ｋ１、および共有データ記憶部２Ｋ２などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてＲＡＭ２０ｂに読み出され、ＣＰＵ２０ａによってプログラムが実行される。
【００２１】
パーソナルコンピュータＴＲには、それぞれ、他のパーソナルコンピュータＴＲとの識別のために、ホスト名（マシン名）、ＩＰアドレス、およびＭＡＣアドレスが与えられている。ホスト名は、ネットワーク１の管理者などが自由に付けることができる。ＩＰアドレスは、ネットワーク１の規則に従って与えられる。ＭＡＣアドレスは、そのパーソナルコンピュータＴＲの通信インタフェース２０ｅに対して固定的に与えられているアドレスである。本実施形態では、パーソナルコンピュータＴＲ１、ＴＲ２、…ごとに「ＰＣ１」、「ＰＣ２」、…のようなホスト名が付されているものとする。以下、これらのパーソナルコンピュータＴＲをホスト名によって記載することがある。
【００２２】
また、これらのパーソナルコンピュータＴＲ１〜ＴＲ８（ＰＣ１〜ＰＣ８）は、図４に示すように、仮想空間に配置されているものと仮想されている。そして、実線で示すように、仮想空間内の近隣の少なくとも１台の他のパーソナルコンピュータＴＲと関連付けられている。かつ、これらの関連付けによって、すべてのパーソナルコンピュータＴＲが互いに直接的にまたは間接的に関係するようになっている。なお、「直接的に関係する」とは、図４において１本の実線で繋がれていること（例えば、図４のＰＣ５とＰＣ６とのような関係）を言い、「間接的に関係する」とは、２本以上の実線および１つ以上のノードで繋がれていること（例えば、図４のＰＣ１とＰＣ８とのような関係）を言う。ＰＣ９については、後に説明する。
【００２３】
パーソナルコンピュータＴＲは、自らに直接的に関連付けられている他のパーソナルコンピュータＴＲとの間でデータの送受信を行うことができる。さらに、間接的に関連付けられている他のパーソナルコンピュータＴＲとの間で、両パーソナルコンピュータＴＲの間にある１台または複数台のパーソナルコンピュータＴＲを介してデータの送受信を行うことができる。または、間接的に関連付けられているパーソナルコンピュータＴＲ同士が、それぞれのＭＡＣアドレスまたはＩＰアドレスを互いに通知し合うことによって一時的に直接的に接続し、データの送受信を行うこともできる。
【００２４】
図５は接続テーブルＴＬの例を示す図である。次に、図３に示すパーソナルコンピュータＴＲの各部の処理内容について説明する。
【００２５】
接続テーブル記憶部２Ｋ１には、そのパーソナルコンピュータＴＲ自身に直接関連付けられている他のパーソナルコンピュータＴＲごとのノードデータＤＴＮを格納した接続テーブルＴＬを記憶している。例えば、パーソナルコンピュータＴＲ１、ＴＲ６、およびＴＲ７の各接続テーブル記憶部２Ｋ１は、それぞれ、図５（ａ）〜（ｃ）に示すような接続テーブルＴＬ１、ＴＬ６、およびＴＬ７を記憶している。
【００２６】
これらの接続テーブルＴＬの内容は、そのパーソナルコンピュータＴＲの運用の開始前に管理者によって予め作成される。また、運用の開始後は、接続テーブルＴＬの内容は、パーソナルコンピュータＴＲ自身の他のパーソナルコンピュータＴＲとの関連付けの変更に応じて自動的に更新される。
【００２７】
ノードデータＤＴＮには、当該他のパーソナルコンピュータＴＲを識別するためのホスト名、ＩＰアドレス、およびＭＡＣアドレスなどの情報のほか、当該他のパーソナルコンピュータＴＲの属する支店の名称（支店名）、セグメントの名称（セグメント名）、およびグループの名称（グループ名）などの情報が示されている。
【００２８】
そのほか、接続テーブル記憶部２Ｋ１には、そのパーソナルコンピュータＴＲ自身のノードデータＤＴＮが記憶されている。
【００２９】
共有データ記憶部２Ｋ２には、他のパーソナルコンピュータＴＲと共有するデータ（以下、「共有データ」と記載する。）をファイル単位で記憶する。
【００３０】
データ生成部２０１は、他のパーソナルコンピュータＴＲに送信するためのデータを生成する。例えば、そのパーソナルコンピュータＴＲ自身が初めてネットワーク１に参加しようとする際、オペレーティングシステム（ＯＳ）を起動し直しまたは電源を再投入するなどして改めてネットワーク１に参加しようとする際、または通信の切断後に再びネットワーク１に参加しようとする際に、他のパーソナルコンピュータＴＲに対して認証を要求するためのデータを生成する。または、これからネットワーク１に参加しようとする他のパーソナルコンピュータＴＲから認証を求められた際に、当該他のパーソナルコンピュータＴＲとやり取りするためのデータを生成する。または、他のパーソナルコンピュータＴＲに対して付与するためのノードデータＤＴＮを生成する。
【００３１】
データ送信部２０２は、データ生成部２０１によって生成された各種のデータをパケット化して宛先の装置に宛てて送信する。
【００３２】
データ受信部２０３は、通信回線を流れるパケットのうち、そのパーソナルコンピュータＴＲ自身に宛てたものを受信する。そして、受信したパケットを統合するなどして元のデータを再現する。
【００３３】
データ解析部２０４は、データ受信部２０３によって受信されたデータの中から必要な情報を抽出してその内容を解析することによって、そのデータの種類を判別する。そして、その判別結果に応じて、認証処理部２１１、共有データ操作部２１２、および接続テーブル管理部２１３などがそのデータに基づいて所定の処理を行う。各処理内容については、後に順次説明する。
【００３４】
認証処理部２１１は、他のパーソナルコンピュータＴＲから申請されたノード認証またはユーザ認証を、公知の方法によって実行する。
【００３５】
共有データ操作部２１２は、そのパーソナルコンピュータＴＲ自身のユーザ（ローカルユーザ）または他のパーソナルコンピュータＴＲからの要求に基づいて、そのパーソナルコンピュータＴＲ自身の共有データ記憶部２Ｋ２に記憶されている共有データに関する処理を行う。
【００３６】
例えば、ローカルユーザがワープロまたは表計算などのアプリケーションで共有データをオープンするコマンドを入力した場合は、その共有データをＲＡＭ２０ｂにロードする。または、他のパーソナルコンピュータＴＲから送信されてきた共有データを共有データ記憶部２Ｋ２に記憶させる。または、他のパーソナルコンピュータＴＲから共有データの要求があった場合は、その共有データを要求元に提供しまたは分配する準備のためにＲＡＭ２０ｂにロードする。または、ローカルユーザまたは他のパーソナルコンピュータＴＲから指定されたキーワードに関係する共有データを検索する。
【００３７】
接続テーブル管理部２１３は、接続テーブル記憶部２Ｋ１に記憶されている接続テーブルＴＬの管理のための処理を行う。例えば、そのパーソナルコンピュータＴＲ自身と新たに直接関連付けられた（つまり、リンクが確立された）他のパーソナルコンピュータＴＲのノードデータＤＴＮを追加する。または、ネットワーク１から離脱しまたはリンクが切れた他のパーソナルコンピュータＴＲのノードデータＤＴＮを削除する。
【００３８】
さらに、接続テーブル管理部２１３は、新たにネットワーク１に参加する他のパーソナルコンピュータＴＲに対して、当該他のパーソナルコンピュータＴＲにとって好適な接続テーブルＴＬを提供するための処理を行う。
【００３９】
参加離脱申請処理部２１４は、そのパーソナルコンピュータＴＲ自身がネットワーク１に参加しまたは離脱するための申請の処理を行う。
【００４０】
図６は各パーソナルコンピュータＴＲの処理の流れの例を説明するフローチャート、図７はデフォルトの接続テーブルＴＬ９の例を示す図、図８はテーブル生成処理の流れの例を説明するフローチャート、図９は他のノードによって生成された接続テーブルＴＬ９の例を示す図、図１０は新しいノードが参加した後のネットワーク１の各ノードの関連性の例を示す図である。
【００４１】
次に、図３に示すパーソナルコンピュータＴＲの各部の処理を、パーソナルコンピュータＴＲ９（ＰＣ９）が新たにネットワーク１に参加しようとする場合を例に、図６のフローチャートなどを参照しながら、さらに詳細に説明する。
【００４２】
ＰＣ９の接続テーブル記憶部２Ｋ１に、少なくとも１台のパーソナルコンピュータＴＲのノードデータＤＴＮを格納した接続テーブルＴＬ９を、予め記憶させておく。ここでは、図７に示すように、ＰＣ７のノードデータＤＴＮを格納した接続テーブルＴＬ９が記憶されているものとする。
【００４３】
このノードデータＤＴＮは、管理者の作業によって接続テーブルＴＬ９に格納される場合もあれば、ネットワーク１に以前に参加したときに得られ既に接続テーブルＴＬ９に格納されている場合もある。なお、管理者は、ＰＣ９がＰＣ７に接続することができる情報のみを、そのノードデータＤＴＮに含ませておけばよい。つまり、支店名、セグメント名、およびグループ名に関する情報は不要である。また、ＰＣ７とＰＣ９との通信環境によっては、ホスト名、ＩＰアドレス、およびＭＡＣアドレスのうちの一部が不要である場合もある。
【００４４】
ＰＣ９の参加離脱申請処理部２１４は、これからネットワーク１に参加するに当たって、つまり、例えば、電源をオンにしたとき、オペレーティングシステムを再起動したとき、またはオフラインの状態からオンラインの状態に切り替えたときなどに、参加申請データ７Ａを生成するように、データ生成部２０１に対して指令する。さらに、参加離脱申請処理部２１４は、生成された参加申請データ７ＡをそのパーソナルコンピュータＴＲ自身の接続テーブルＴＬ（ＴＬ９）に登録されている他のパーソナルコンピュータＴＲのうちのいずれか（図７の例では、ＰＣ７）に宛てて送信するように、データ送信部２０２に対して指令する。
【００４５】
すると、データ生成部２０１は、ＰＣ９であることを証明する情報（例えば、電子証明書）、正規のユーザであることを証明する情報（例えば、ユーザアカウントおよびパスワード）、およびネットワーク１に参加するための認証を行うことを要求するメッセージなどを示す参加申請データ７Ａを生成する。そして、データ送信部２０２は、生成された参加申請データ７Ａを、ＰＣ９自身のノードデータＤＴＮとともに、ＰＣ７に宛てて送信する（図６の＃１９１）。これにより、認証依頼および参加申請が上位ノードに対してなされる。
【００４６】
ＰＣ７において、データ受信部２０３はＰＣ９からの参加申請データ７ＡおよびノードデータＤＴＮを受信し、データ解析部２０４はこれらのデータの種類が認証依頼および参加申請に関するものであると判別する（＃１７１）。
【００４７】
すると、認証処理部２１１は、ＰＣ９から受信した参加申請データ７Ａに基づいて、公知の方法でＰＣ９のノード認証またはユーザ認証を実行する（＃１７２）。
【００４８】
接続テーブル管理部２１３は、ＰＣ９またはそのユーザがネットワーク１への参加の権限を有することが認証処理部２１１によって認証されたら、ＰＣ９のための接続テーブルＴＬを例えば図８のフローチャートのような手順で生成する（＃１７３）。
【００４９】
ＰＣ７自身の接続テーブルＴＬ７（図５（ｃ）参照）に格納されているノードデータＤＴＮを呼び出すとともに、ＰＣ７自身のノードデータＤＴＮを呼び出す（図８の＃２０１、＃２０２）。
【００５０】
ＰＣ９から受信したノードデータＤＴＮに示される属性と呼び出した各ノードデータＤＴＮに示される属性とを比較し、一致度が高い順にノードデータＤＴＮを並び替える（＃２０３）。例えば、まず、支店名、セグメント名、およびグループ名のすべてがＰＣ９のそれらと一致するノードデータＤＴＮを先頭に並べる。このようなノードデータＤＴＮが複数ある場合は、これらを同じ順位として扱ってもよいし、ＰＣ９のＩＰアドレスに近いＩＰアドレスを示すノードデータＤＴＮから順に並べてもよい。以下、同様である。その後ろに、支店名、セグメント名、およびグループ名のうちの２つが一致するノードデータＤＴＮを並べる。さらに、その後ろに、支店名、セグメント名、およびグループ名のうちの１つが一致するノードデータＤＴＮを並べる。そして、その後ろに、１つも一致しなかったノードデータＤＴＮを並べる。
【００５１】
並び替えたノードデータＤＴＮのうちの、先頭からＸ個を選出する（＃２０４）。つまり、ＰＣ９のノードデータＤＴＮに示される属性（特に、支店、セグメント、およびグループに関する属性）との一致度が高い、所定の個数のＰＣ９以外のノードのノードデータＤＴＮを選出する。そして、選出したノードデータＤＴＮを１つのテーブルに纏めることによって（＃２０５）、ＰＣ９のための接続テーブルＴＬを生成する。
【００５２】
または、一致の度合いが所定以上であるノードデータＤＴＮ（例えば、２つ以上の属性が一致したノードデータＤＴＮ）をすべて選出し、これらを纏めることによってＰＣ９のための接続テーブルＴＬを生成してもよい。
【００５３】
図６に戻って、ＰＣ７は、ＰＣ９を認証した後、ＰＣ９のために生成した接続テーブルＴＬをＰＣ９に送信する（＃１７４）。
【００５４】
ＰＣ９において、データ受信部２０３はＰＣ７からの接続テーブルＴＬを受信すると、データ解析部２０４はこれをＰＣ９のために提供された好適な接続テーブルＴＬである判別する。すると、接続テーブル管理部２１３は、古い接続テーブルＴＬ９を破棄し、受信した新たな接続テーブルＴＬを接続テーブルＴＬ９として接続テーブル記憶部２Ｋ１に記憶させる（＃１９２）。これにより、ＰＣ９にとって好適な接続テーブルＴＬがＰＣ９に受け入れられるとともに、ネットワーク１への参加が完了する。
【００５５】
ＰＣ９のデータ生成部２０１は自らがネットワーク１に参加する旨を示すメッセージＭＳを生成し、データ送信部２０２はそのメッセージＭＳおよび自らのノードデータＤＴＮを、接続テーブルＴＬ９に記載されている各ノード（パーソナルコンピュータＴＲ）に対して送信する。例えば、図９のような接続テーブルＴＬ９が得られた場合は、ＰＣ２，ＰＣ６に送信する（＃１９３、＃１９４）。
【００５６】
ＰＣ２、ＰＣ６において、それぞれのデータ受信部２０３は、メッセージＭＳおよびノードデータＤＴＮを受信すると、データ解析部２０４は、これらのデータを新規のノードに関するものであると解析する（＃１２１、＃１６１）。そして、それぞれの接続テーブル管理部２１３は、自らの接続テーブルＴＬ（ＴＬ２、ＴＬ６）にそのノードデータＤＴＮを追加する（＃１２２、＃１６２）。これにより、図１０に示すようにＰＣ９とＰＣ２、ＰＣ６とが対応付けられ、相互にデータの送受信を行うことができるようになる。そして、データ生成部２０１はＰＣ９との通信が可能になった旨を示すメッセージＭＴを生成し、データ送信部２０２はこれをＰＣ９に返信する（＃１２３、＃１６３）。
【００５７】
本実施形態によると、パーソナルコンピュータＴＲの接続テーブルＴＬを、そのパーソナルコンピュータＴＲの属性と他のノードの属性とを比較することによって生成する。これにより、パーソナルコンピュータＴＲにとって好適な接続テーブルＴＬを生成し提供することができる。
【００５８】
〔第二の実施形態〕
図１１は回線エリア別の各ノードの分布の例を示す図、図１２は接続テーブルＴＬの例を示す図、図１３はテーブル生成処理の流れの例を説明するフローチャート、図１４はテーブル生成処理の流れの変形例を説明するフローチャートである。
【００５９】
第一の実施形態では、パーソナルコンピュータＴＲは、これからネットワーク１に参加しようとするノードのための接続テーブルＴＬを、当該ノードと属性の近い他のノードを優先的に選出することによって生成した。第二の実施形態では、通信速度に応じて接続テーブルＴＬを生成する。
【００６０】
第二の実施形態におけるネットワーク１およびパーソナルコンピュータＴＲの構成は、図１、図２、および図３などで説明した第一の実施形態におけるネットワーク１およびパーソナルコンピュータＴＲの構成と基本的に同様である。ただし、図３に示すパーソナルコンピュータＴＲの接続テーブル管理部２１３による接続テーブルＴＬの生成処理の内容が第一の実施形態の場合と異なる。以下、第二の実施形態における接続テーブルＴＬの生成処理を中心に説明する。第一の実施形態の場合と重複する点については、説明を省略する。
【００６１】
パーソナルコンピュータＴＲ１〜ＴＲ８（ＰＣ１〜ＰＣ８）は、図１１に示すように関連付けられている。さらに、これらのパーソナルコンピュータＴＲは、それぞれが使用するケーブルまたは無線回線の性能、直接繋がっているハブＤＨの性能、自らの通信インタフェース２０ｅの性能、およびソフトウェアなどに応じて、高速回線エリアＲＹ１および低速回線エリアＲＹ２のうちのいずれかに分別されている。
【００６２】
高速回線エリアＲＹ１に属するパーソナルコンピュータＴＲ同士は、およそ１００Ｍｂｐｓの速度で通信を行うことができる。一方、低速回線エリアＲＹ２に属するパーソナルコンピュータＴＲ同士は、およそ１Ｍｂｐｓの速度で通信を行うことができる。高速回線エリアＲＹ１に属するパーソナルコンピュータＴＲおよび低速回線エリアＲＹ２に属するパーソナルコンピュータＴＲ同士は、およそ１Ｍｂｐｓの速度で通信を行うことができる。
【００６３】
各パーソナルコンピュータＴＲの接続テーブル記憶部２Ｋ１に記憶されている接続テーブルＴＬには、図１２に示すように、自らに直接関連付けられている他のパーソナルコンピュータＴＲごとのノードデータＤＴＮ’が格納されている。各ノードデータＤＴＮ’には、図５と比較して分かるように、第一の実施形態におけるノードデータＤＴＮに示される情報のほかそれぞれのパーソナルコンピュータＴＲの属する回線エリア（高速回線エリアＲＹ１または低速回線エリアＲＹ２）が示される。
【００６４】
ここで、ＰＣ９において、ネットワーク１への参加のために、データ生成部２０１が参加申請データ７Ａ’を生成し、データ送信部２０２がそれをＰＣ７に対して送信したとする。なお、参加申請データ７Ａ’には、第一の実施形態の参加申請データ７Ａに示される情報のほかＰＣ９自身が高速回線エリアＲＹ１および低速回線エリアＲＹ２のうちのどちらに属するのかを示す情報が含まれる。
【００６５】
ＰＣ７において、データ受信部２０３がＰＣ９からの参加申請データ７Ａ’を受信すると、認証処理部２１１は、第一の実施形態の場合と同様に、ノード認証またはユーザ認証の処理を実行する。接続テーブル管理部２１３は、図１３に示すような手順でＰＣ９のための接続テーブルＴＬを生成する。
【００６６】
第一の実施形態の場合と同様に、ＰＣ７自身の接続テーブルＴＬ７に格納されているノードデータＤＴＮを呼び出すとともに、ＰＣ７自身のノードデータＤＴＮを呼び出す（図１３の＃２１１、＃２１２）。
【００６７】
参加申請データ７Ａ’に示される回線エリアと同じ回線エリアを示すノードデータＤＴＮを選出する（＃２１３）。つまり、ＰＣ９と同様に高速回線エリアＲＹ１に属するパーソナルコンピュータＴＲのノードデータＤＴＮを選出する。そして、選出したノードデータＤＴＮを１つのテーブルに纏めることによって（＃２１４）、ＰＣ９のための接続テーブルＴＬを生成する。
【００６８】
生成された接続テーブルＴＬは、第一の実施形態の場合と同様に、ＰＣ７からＰＣ９に送信される。そして、ＰＣ９において、古い接続テーブルＴＬ９と置き換えられる。
【００６９】
以上説明したように、ＰＣ９は、同じ高速回線エリアＲＹ１に属する他のパーソナルコンピュータＴＲのノードデータＤＴＮからなる接続テーブルＴＬを取得することができる。よって、ＰＣ９は、自らの通信速度を活かしてネットワーク１に参加し通信を行うことができる。
【００７０】
なお、ネットワーク１の構成が複雑になると、高速回線エリアＲＹ１に属するパーソナルコンピュータＴＲ同士が高速通信（本実施形態では、１００Ｍｂｐｓの通信）が常にできるとは限らない。なぜなら、両パーソナルコンピュータＴＲ同士の間に存在する物理的な回線、ハブ、ルータ、中継局、そのほか種々の機器のうちの一部でも高速通信に対応していなければ、通信速度が落ちてしまうからである。そこで、図１４に示すような手順でＰＣ９のための接続テーブルＴＬを生成してもよい。
【００７１】
図１３の場合と同様に、ＰＣ７自身の接続テーブルＴＬ７に格納されているノードデータＤＴＮを呼び出すとともに、ＰＣ７自身のノードデータＤＴＮを呼び出す（図１４の＃２１１、＃２１２）。接続テーブルＴＬ７から呼び出した各ノードデータＤＴＮに係るパーソナルコンピュータＴＲに対して、ＰＣ９との通信速度を計測し回答するように要求する（＃２２３）。
【００７２】
すると、各パーソナルコンピュータＴＲ（例えば、接続テーブルＴＬ７に図１２（ｃ）のようなノードデータＤＴＮが格納されている場合は、ＰＣ２、ＰＣ６、およびＰＣ８）は、自らとＰＣ９との間で所定のサイズのデータの送受信を行いそれに要した時間を計測することによって、通信速度を計測する。そして、通信速度の計測結果をＰＣ７に回答する。
【００７３】
また、ＰＣ７自身も同様に、ＰＣ７自身とＰＣ９との間の通信速度を計測する（＃２２４）。
【００７４】
計測結果に基づいて、ＰＣ９との通信速度の速いパーソナルコンピュータＴＲの順にノードデータＤＴＮを並べ替え（＃２２５）、先頭からＸ個のノードデータＤＴＮを選出する（＃２２６）。そして、選出したノードデータＤＴＮを１つのテーブルに纏めることによって（＃２２７）、ＰＣ９のための接続テーブルＴＬを生成する。
【００７５】
第二の実施形態におけるパーソナルコンピュータＴＲの全体的な処理の流れは、第一の実施形態の場合と基本的に同様であり、図６で説明した通りである。
【００７６】
第二の実施形態によると、パーソナルコンピュータＴＲの通信速度に対応可能なノードを優先的に選出し、そのパーソナルコンピュータＴＲの接続テーブルＴＬを生成する。よって、そのパーソナルコンピュータＴＲにとって好適な接続テーブルＴＬを提供することができる。
【００７７】
〔第一および第二の実施形態の変形例〕
図１５は新しいノードがネットワーク１に参加する際の各パーソナルコンピュータＴＲの処理の流れの変形例を説明するための図、図１６はパーソナルコンピュータＴＲ９の参加後のネットワーク１の各ノードの関連性の例を示す図である。
【００７８】
第一および第二の実施形態では、パーソナルコンピュータＴＲは、ネットワーク１に参加する際に、他のパーソナルコンピュータＴＲに接続テーブルＴＬを生成してもらったが、定期的に（例えば、任意の時刻に。または、ネットワーク１に参加中、一定の時間が経過するごとに。）生成し直してもらうようにしてもよい。
【００７９】
ネットワーク１に、接続テーブルＴＬを生成するための専用のサーバを用意しておき、接続テーブルＴＬの生成の要求を、他のパーソナルコンピュータＴＲの代わりにそのサーバに対して行ってもよい。
【００８０】
第一および第二の実施形態では、ネットワーク１に参加しようとするパーソナルコンピュータＴＲは、自らにとって好適な接続テーブルＴＬを、既にネットワーク１に参加している他の１つのパーソナルコンピュータＴＲから受け取った。つまり、自らにとって好適なリンクの相手を他の１つのパーソナルコンピュータＴＲから知得した。しかし、好適なリンクの相手を複数のパーソナルコンピュータＴＲから知得できるようにするのがより望ましい。この場合は、例えば各パーソナルコンピュータＴＲを図１５のような手順で処理を行うように構成すればよい。
【００８１】
ここで、ＰＣ９が新たにネットワーク１に参加しようとする場合を例に、各パーソナルコンピュータＴＲの処理の流れを説明する。
【００８２】
ＰＣ９は、自らの接続テーブルＴＬ９に予め記憶されているノードデータＤＴＮ（または、ノードデータＤＴＮ’。以下、同様。）に基づいて、他のノードにアクセスし、ＰＣ９にとって好適なノードを問い合わせる（＃２３１）。ここでは、ＰＣ７にアクセスし問い合わせたとする。
【００８３】
すると、ＰＣ７の接続テーブル管理部２１３は、前に図８、図１３、または図１４で説明した方法でＰＣ９にとっての好適なノードのノードデータＤＴＮを選出し（＃２３２）、これをＰＣ９に回答する（＃２３３）。ここでは、ＰＣ６のノードデータＤＴＮを選出し回答したものとする。
【００８４】
ＰＣ９は、ＰＣ７からノードデータＤＴＮを受信すると、そのノードデータＤＴＮに示されるノードつまりＰＣ６にアクセスし、ＰＣ９にとって好適なノードを問い合わせる（＃２３４）。
【００８５】
すると、ＰＣ６の接続テーブル管理部２１３は、ＰＣ７の場合と同様に、前に図８、図１３、または図１４で説明した方法でＰＣ９にとっての好適なノードのノードデータＤＴＮを選出し（＃２３５）、これをＰＣ９に回答する（＃２３６）。ここでは、ＰＣ５のノードデータＤＴＮを選出し回答したものとする。
【００８６】
そして、ＰＣ９は、これら複数の問合せ先からそれぞれ得られたノードデータＤＴＮを、接続テーブルＴＬ９に格納する（＃２３７）。これにより、ＰＣ９にとって好適なリンクの相手のノードデータＤＴＮが得られる。
【００８７】
その後、ＰＣ９は、これらのノードに対して、参加のメッセージＭＳおよびＰＣ９自身のノードデータＤＴＮを送信する（＃２３８）。すると、各ノードは、ＰＣ９のノードデータＤＴＮを自らの接続テーブルＴＬに加え、返信を行う。これにより、図１６に示すように、ＰＣ９とＰＣ５、ＰＣ６、およびＰＣ７とがリンクされる。
【００８８】
なお、ＰＣ９にとってＰＣ７のノードデータＤＴＮは、ネットワーク１に参加するために最初に便宜上、接続テーブルＴＬ９に格納されているに過ぎないことがある。そこで、ステップ＃２３７の処理の際に、ＰＣ７のノードデータＤＴＮを削除してもよい。
【００８９】
また、ステップ＃２３７の処理の後、接続テーブルＴＬ９に格納されているノードデータＤＴＮを、各ノードの計算能力、ハードディスク２０ｄの空き容量、またはＰＣ９と各ノードとの間の通信速度などの順に並べ替えてもよい。
【００９０】
本実施形態では、企業Ｘに構築されているネットワーク１を例に説明したが、例えばインターネットのような、より広範なネットワークにも本発明を適用することができる。また、パーソナルコンピュータＴＲ以外の情報処理装置（例えば、ワークステーション、ＭＦＰ、プリンタなどの情報処理装置など）がノードである場合にも、本発明を適用することができる。
【００９１】
その他、ネットワーク１、パーソナルコンピュータＴＲの全体または各部の構成、処理内容、処理順序、テーブルの構成などは、本発明の趣旨に沿って適宜変更することができる。
【図面の簡単な説明】
【００９２】
【図１】ネットワークの全体的な構成の例を示す図である。
【図２】パーソナルコンピュータのハードウェア構成の例を示す図である。
【図３】パーソナルコンピュータの機能的構成の例を示す図である。
【図４】ネットワークの各ノードの関連性の例を示す図である。
【図５】接続テーブルの例を示す図である。
【図６】各パーソナルコンピュータの処理の流れの例を説明するフローチャートである。
【図７】デフォルトの接続テーブルの例を示す図である。
【図８】テーブル生成処理の流れの例を説明するフローチャートである。
【図９】他のノードによって生成された接続テーブルの例を示す図である。
【図１０】新しいノードが参加した後のネットワークの各ノードの関連性の例を示す図である。
【図１１】回線エリア別の各ノードの分布の例を示す図である。
【図１２】接続テーブルの例を示す図である。
【図１３】テーブル生成処理の流れの例を説明するフローチャートである。
【図１４】テーブル生成処理の流れの変形例を説明するフローチャートである。
【図１５】新しいノードがネットワークに参加する際の各パーソナルコンピュータの処理の流れの変形例を説明するための図である。
【図１６】パーソナルコンピュータの参加後のネットワークの各ノードの関連性の例を示す図である。
【符号の説明】
【００９３】
１  ネットワーク
２０２  データ送信部（識別情報送信手段）
２１３  接続テーブル管理部（好適ノード識別情報選出手段）
２Ｋ１  接続テーブル記憶部
ＤＴＮ  ノードデータ（属性情報、識別情報）
ＴＲ  パーソナルコンピュータ
【図１】
2007310460.tif 000003
【図２】
2007310460.tif 000004
【図３】
2007310460.tif 000005
【図４】
2007310460.tif 000006
【図５】
2007310460.tif 000007
【図６】
2007310460.tif 000008
【図７】
2007310460.tif 000009
【図８】
2007310460.tif 000010
【図９】
2007310460.tif 000011
【図１０】
2007310460.tif 000012
【図１１】
2007310460.tif 000013
【図１２】
2007310460.tif 000014
【図１３】
2007310460.tif 000015
【図１４】
2007310460.tif 000016
【図１５】
2007310460.tif 000017
【図１６】
2007310460.tif 000018