(57)【特許請求の範囲】
【請求項１】
ネットワークのノードとして機能し得る情報処理装置であって、
前記ネットワークを構成するノードのうちの装置の認証のための処理である認証処理を行うことができるノードである認証処理機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す情報として、複数の前記認証処理機能付きノードおよび当該情報処理装置についての前記認証処理の結果を当該情報処理装置が待ち得る時間である結果待ち制限時間を示す認証要求条件情報を記憶する、認証要求条件情報記憶手段と、
前記ネットワークに参加するために、前記認証要求条件情報に示されるいずれか１つの前記認証機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求し、かつ、当該認証機能付きノードに対して要求してから前記結果待ち制限時間が経過するまでの間に当該認証処理の結果が得られない場合は、当該認証要求条件情報に示される他の前記認証機能付きノードに対して当該認証処理を行うように要求する、認証要求手段と、
前記ネットワークの状況に応じて前記認証要求条件情報を更新する認証要求条件情報更新手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記認証処理機能付きノードが前記認証処理を行うことができる状態であるか否かを判別するノード状態判別手段、を有し、
前記認証要求手段は、前記認証処理を行うことができる状態でないと判別された前記認証処理機能付きノードに対しては前記認証処理を行うように要求せず、その代わりに認証要求条件情報に示される他の前記認証機能付きノードのうちの前記認証処理を行うことができる状態であると判別されたものに対して当該認証処理を行うように要求する、
請求項１記載の情報処理装置。
【請求項３】
前記認証要求条件情報には、いずれの前記認証処理機能付きノードに対して優先的に当該情報処理装置についての前記認証処理を要求するのかが示されており、
前記認証要求条件情報更新手段は、前記認証要求条件情報に示される、当該情報処理装置についての前記認証処理を１番目に要求すべき前記認証処理機能付きノードと当該情報処理装置との間の通信回線の混み具合を示す値が所定値を上回る場合は、前記結果待ち制限時間を増やすように当該認証要求条件情報を更新する、
請求項１または請求項２記載の情報処理装置。
【請求項４】
前記認証要求条件情報には、いずれの前記認証処理機能付きノードに対して優先的に当該情報処理装置についての前記認証処理を要求するのかが示されており、
前記認証要求条件情報更新手段は、前記認証要求条件情報に示される、当該情報処理装置についての前記認証処理を１番目に要求すべき前記認証処理機能付きノードと当該情報処理装置との間の通信回線の混み具合を示す値が所定値を下回る場合は、前記結果待ち制限時間を減らすように当該認証要求条件情報を更新する、
請求項１ないし請求項３のいずれかに記載の情報処理装置。
【請求項５】
前記認証要求条件情報には、いずれの前記認証処理機能付きノードに対して優先的に当該情報処理装置についての前記認証処理を要求するのかが示されており、
前記認証要求条件情報更新手段は、前記認証要求条件情報に示される当該情報処理装置についての前記認証処理を１番目に要求すべき前記認証処理機能付きノードよりも好適な前記認証処理機能付きノードが見つかった場合は、当該見つかった認証処理機能付きノードが１番目に要求すべき認証処理機能付きノードになるように当該認証要求条件情報を更新する、
請求項１ないし請求項４のいずれかに記載の情報処理装置。
【請求項６】
ネットワークのノードとして機能し得る情報処理装置であって、
前記ネットワークを構成するノードのうちの装置の認証のための処理である認証処理を行うことができるノードである認証処理機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す情報として、複数の前記認証処理機能付きノード、そのうちのいずれに対して優先的に当該情報処理装置についての前記認証処理を要求するのか、および当該情報処理装置についての前記認証処理の結果を当該情報処理装置が待ち得る時間である結果待ち制限時間を示す認証要求条件情報を記憶する、認証要求条件情報記憶手段と、
前記認証処理機能付きノードが前記認証処理を行うことができる状態であるか否かを判別するノード状態判別手段と、
前記ノード状態判別手段によって前記認証処理機能付きノードの状態が判別されるごとに、その判別結果を状態履歴情報として記録する状態履歴情報記録手段と、
前記認証処理機能付きノードが過去に前記認証処理を行うことができる状態であった度合いを前記状態履歴情報に基づいて算出する認証処理可能度合い算出手段と、
前記ネットワークに参加するために、前記認証処理可能度合い算出手段によって算出された、前記認証要求条件情報に示される優先順位の高い１つまたは複数の前記認証機能付きノードについての前記度合いが所定値を上回る場合は、当該認証要求条件情報に示される優先順位の高い１つの前記認証機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求し、かつ、当該認証機能付きノードに対して要求してから前記結果待ち制限時間が経過するまでの間に当該認証処理の結果が得られない場合は、その次に優先順位の高い前記認証機能付きノードに対して当該認証処理を行うように要求し、下回る場合は、当該認証要求条件情報に示される複数の前記認証機能付きノードに対して一斉に当該認証処理を行うように要求する、認証要求手段と、
前記ネットワークの状況に応じて前記認証要求条件情報を更新する認証要求条件情報更新手段と、
を有することを特徴とする情報処理装置。
【請求項７】
ネットワークのノードとして機能し得る情報処理装置であって、
当該情報処理装置が通常参加する第一のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第一の認証要求条件情報を記憶する認証要求条件情報記憶手段と、
前記第一のネットワークとは別の第二のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第二の認証要求条件情報を取得する認証要求条件情報取得手段と、
前記第一の認証要求条件情報および前記第二の認証要求条件情報を、双方の内容の一部を共通化しまたは交換することによって更新する、認証要求条件情報更新手段と、
前記第一のネットワークに参加する場合には、更新された前記第一の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第一のネットワークを構成するノードに対して要求し、前記第二のネットワークに参加する場合には、更新された前記第二の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第二のネットワークを構成するノードに対して要求する、認証要求手段と、
を有することを特徴とする情報処理装置。
【請求項８】
ネットワークに参加しようとする情報処理装置の制御方法であって、
当該情報処理装置に、
前記ネットワークを構成するノードのうちの装置の認証のための処理である認証処理を行う機能を有するノードである認証処理機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す情報として、複数の前記認証処理機能付きノードおよび当該情報処理装置についての前記認証処理の結果を当該情報処理装置が待ち得る時間である結果待ち制限時間を示す認証要求条件情報を、予め記憶させておき、
前記ネットワークに参加するために、前記認証要求条件情報に示されるいずれか１つの前記認証機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求し、かつ、当該認証機能付きノードに対して要求してから前記結果待ち制限時間が経過するまでの間に当該認証処理の結果が得られない場合は、当該認証要求条件情報に示される他の前記認証機能付きノードに対して当該認証処理を行うように要求する処理と、
前記ネットワークの状況に応じて前記認証要求条件情報を更新する処理と、を実行させる、
ことを特徴とする情報処理装置の制御方法。
【請求項９】
ネットワークに参加しようとする情報処理装置の制御方法であって、
当該情報処理装置に、
当該情報処理装置が通常参加する第一のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第一の認証要求条件情報を記憶させておき、
前記第一のネットワークとは別の第二のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第二の認証要求条件情報を取得する処理を実行させ、
前記第一の認証要求条件情報および前記第二の認証要求条件情報を、双方の内容の一部を共通化しまたは交換することによって更新する処理を実行させ、
前記第一のネットワークに参加する場合には、更新された前記第一の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第一のネットワークを構成するノードに対して要求する処理を実行させ、
前記第二のネットワークに参加する場合には、更新された前記第二の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第二のネットワークを構成するノードに対して要求する処理を実行させる、
ことを特徴とする情報処理装置の制御方法。
【請求項１０】
ネットワークに参加しようとする情報処理装置であって、前記ネットワークを構成するノードのうちの装置の認証のための処理である認証処理を行う機能を有するノードである認証処理機能付きノードに対して自らについて前記認証処理を行うように要求する際の条件を示す情報として複数の前記認証処理機能付きノードおよび自らについての前記認証処理の結果を自らが待ち得る時間である結果待ち制限時間を示す認証要求条件情報を記憶する情報処理装置に用いられる、コンピュータプログラムであって、
前記情報処理装置に、
前記ネットワークに参加する際に、前記認証要求条件情報に示されるいずれか１つの前記認証機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求し、かつ、当該認証機能付きノードに対して要求してから前記結果待ち制限時間が経過するまでの間に当該認証処理の結果が得られない場合は、当該認証要求条件情報に示される他の前記認証機能付きノードに対して当該認証処理を行うように要求する処理を実行させ、
前記ネットワークの状況に応じて前記認証要求条件情報を更新する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項１１】
ネットワークに参加しようとする情報処理装置であって、自らが通常参加する第一のネットワークを構成するノードに対して自らについて前記認証処理を行うように要求する際の条件を示す第一の認証要求条件情報を記憶する情報処理装置に用いられる、コンピュータプログラムであって、
当該情報処理装置に、
前記第一のネットワークとは別の第二のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第二の認証要求条件情報を取得する処理を実行させ、
前記第一の認証要求条件情報および前記第二の認証要求条件情報を、双方の内容の一部を共通化しまたは交換することによって更新する処理を実行させ、
前記第一のネットワークに参加する場合には、更新された前記第一の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第一のネットワークを構成するノードに対して要求する処理を実行させ、
前記第二のネットワークに参加する場合には、更新された前記第二の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第二のネットワークを構成するノードに対して要求する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークのノードとして用いることができるパーソナルコンピュータなどの情報処理装置およびその制御方法などに関する。
【背景技術】
【０００２】
近年、端末装置同士が通信を行う際にＰ２Ｐ（Peer To Peer）の技術がよく用いられる。Ｐ２Ｐ型のネットワークは、クライアントサーバ型のネットワークに比べて簡単に構築することができる。しかし、Ｐ２Ｐ型のネットワークは、匿名性が高いので、いわゆる「なりすまし」を見破ることができるように対策を講じる必要がある。
【０００３】
そこで、非特許文献１に記載されるようなＰＫＩ（Public Key Infrastructure）に基づくデジタル証明書の技術が広く用いられている。この技術によると、これから通信を行おうとする相手の身元を、公的機関など信頼性の高い機関が発行したデジタル証明書によって確認することができる。
【非特許文献１】岡山市認証局のページ、２００４年１月１日更新、岡山市役所、２００５年１２月１日検索、インターネット＜http://www.city.okayama.okayama.jp/kikaku/jouhou/system/ca/＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
また、ＰＫＩの技術は、既に構築されているネットワークに参加しようとする端末装置（ノード）の認証のためにも用いることができる。つまり。これからそのネットワークに参加しようとするノードは、そのネットワークに既に参加しているいずれかの他のノードに対して認証を要求する。要求を受けた当該他のノードは、要求元のノードのデジタル証明書に基づいて、そのノードの認証を行う。そして、信頼できることが確認できたら、そのネットワークへの参加を認める。
【０００５】
しかし、Ｐ２Ｐ型のネットワークは、状態がよく変化する。例えば、ネットワークを構成するノードの電源のオン／オフ、処理の混み具合、スペック、およびノード同士の通信速度などが変化しやすい。よって、これからネットワークに参加しようとするノードは、認証の要求のやり方によっては、認証を得るまでに非常に非効率な処理を行わなければならない。そうすると、そのノード自身にとって無駄な処理が生じるだけでなく、既にネットワークに参加している他のノードおよび通信回線にも無駄な負荷が掛かってしまう。
【０００６】
本発明は、このような問題点に鑑み、ネットワークに参加しようとするノードが効率的に認証を受けることができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本実施形態に係る情報処理装置は、ネットワークのノードとして機能し得る情報処理装置であって、前記ネットワークを構成するノードのうちの装置の認証のための処理である認証処理を行うことができるノードである認証処理機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す情報として、複数の前記認証処理機能付きノードおよび当該情報処理装置についての前記認証処理の結果を当該情報処理装置が待ち得る時間である結果待ち制限時間を示す認証要求条件情報を記憶する、認証要求条件情報記憶手段と、前記ネットワークに参加するために、前記認証要求条件情報に示されるいずれか１つの前記認証機能付きノードに対して当該情報処理装置について前記認証処理を行うように要求し、かつ、当該認証機能付きノードに対して要求してから前記結果待ち制限時間が経過するまでの間に当該認証処理の結果が得られない場合は、当該認証要求条件情報に示される他の前記認証機能付きノードに対して当該認証処理を行うように要求する、認証要求手段と、前記ネットワークの状況に応じて前記認証要求条件情報を更新する認証要求条件情報更新手段と、を有することを特徴とする。
【０００８】
または、当該情報処理装置が通常参加する第一のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第一の認証要求条件情報を記憶する認証要求条件情報記憶手段と、前記第一のネットワークとは別の第二のネットワークを構成するノードに対して当該情報処理装置について前記認証処理を行うように要求する際の条件を示す第二の認証要求条件情報を取得する認証要求条件情報取得手段と、前記第一の認証要求条件情報および前記第二の認証要求条件情報を、双方の内容の一部を共通化しまたは交換することによって更新する、認証要求条件情報更新手段と、前記第一のネットワークに参加する場合には、更新された前記第一の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第一のネットワークを構成するノードに対して要求し、前記第二のネットワークに参加する場合には、更新された前記第二の認証要求条件情報に基づいて、当該情報処理装置について前記認証処理を行うように前記第二のネットワークを構成するノードに対して要求する、認証要求手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によると、ネットワークに参加しようとするノードが効率的に認証を受けることができる。
【発明を実施するための最良の形態】
【００１０】
図１はネットワーク１の全体的な構成の例を示す図、図２は端末装置２のハードウェア構成の例を示す図、図３は端末装置２の機能的構成の例を示す図、図４はネットワーク１のトポロジーの例を示す図である。
【００１１】
本発明に係るネットワーク１は、図１に示すように、複数台の端末装置２（２１、２２、…、２ｎ）、ハブ３、およびルータ４などのノードによって構成されるＬＡＮ（Local Area Network）である。これらの端末装置２は、ハブ３にツイストペアケーブルによってスター型に繋がれている。ハブ３とルータ４との間にはファイアウォール５が設けられている。以下、これらのノードのうちの端末装置２同士がデータ通信を行う場合について説明する。
【００１２】
端末装置２は、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間でデータの入出力の処理を実行する装置である。以下、端末装置２としてパーソナルコンピュータが用いられる場合を例に説明する。
【００１３】
端末装置２は、図２に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、通信インタフェース２０ｅ、画像インタフェース２０ｆ、入出力インタフェース２０ｇ、その他の種々の回路または装置などによって構成される。
【００１４】
通信インタフェース２０ｅは、ＮＩＣ（Network Interface Card）であって、ツイストペアケーブルを介してハブ３のいずれかのポートに繋がれている。画像インタフェース２０ｆは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。
【００１５】
入出力インタフェース２０ｇは、キーボード若しくはマウスなどの入力装置またはフロッピディスクドライブ若しくはＣＤ−ＲＯＭドライブなどの外部記憶装置などと繋がれている。そして、ユーザが入力装置に対して行った操作の内容を示す信号を入力装置から入力する。または、フロッピディスクまたはＣＤ−ＲＯＭなどの記録媒体に記録されているデータを外部記憶装置に読み取らせ、これを入力する。または、記録媒体に書き込むためのデータを外部記憶装置に出力する。
【００１６】
ハードディスク２０ｄには、図３に示すようなデータ生成部２０１、データ送信部２０２、データ受信部２１１、データ解析部２１２、認証関連ファイル登録部２１３、認証処理部２１４、認証要求処理部２１５、履歴更新部２１６、ネットワーク状況情報取得部２１７、認証要求解析部２１８、認証関連ファイル更新部２１９、ＳＳＬ通信確立処理部２２１、接続テーブル記憶部２Ｋ１、認証関連ファイル記憶部２Ｋ２、および認証履歴記憶部２Ｋ３などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてＲＡＭ２０ｂに読み出され、ＣＰＵ２０ａによってプログラムが実行される。
【００１７】
そのほか、ハードディスク２０ｄには、端末装置２自身のデジタル証明書およびそれに含まれる公開鍵に対応する秘密鍵などが記憶されている。
【００１８】
端末装置２には、それぞれ、他の端末装置２との識別のために、ホスト名（マシン名）、ＩＰアドレス、およびＭＡＣアドレスが与えられている。ホスト名は、ネットワーク１の管理者などが自由に付けることができる。ＩＰアドレスは、ネットワーク１の規則に従って与えられる。ＭＡＣアドレスは、その端末装置２の通信インタフェース１０ｅに対して固定的に与えられているアドレスである。本実施形態では、端末装置２１、２２、…ごとに「ＰＣ１」、「ＰＣ２」、…のようなホスト名が付されているものとする。以下、これらの端末装置２をホスト名によって記載することがある。
【００１９】
また、これらの端末装置２は、図４に示すように、仮想空間に配置されているものと仮想されている。そして、点線で示すように、仮想空間内の近隣の少なくとも１台の他の端末装置２と関連付けられている。かつ、これらの関連付けによって、すべての端末装置２が互いに直接的にまたは間接的に関係するようになっている。なお、「直接的に関係する」とは、図４において１本の点線で繋がれていること（例えば、図４のＰＣ１とＰＣ２またはＰＣ３とのような関係）を言い、「間接的に関係する」とは、２本以上の点線および１つ以上のノードで繋がれていること（例えば、図４のＰＣ１とＰＣ５とのような関係）を言う。
【００２０】
端末装置２は、自らに直接的に関連付けられている他の端末装置２に対してデータを送信することができる。また、間接的に関連付けられている他の端末装置２へのデータの送信は、両端末装置２の間にある１台または複数台の端末装置２を介在して行われる。または、直接関連付けられている端末装置２に対して送信相手のＭＡＣアドレスなどを問い合わせ、それに基づいてデータを送信する。
【００２１】
次に、図３に示す端末装置２の各部の処理内容を、全般的な処理、認証の処理、および認証関連ファイルＣＲＦを更新する処理に大別して説明する。
【００２２】
〔全般的な処理〕
図５は図４のように関連付けられた端末装置２の接続テーブルＴＬの例を示す図である。
【００２３】
ＳＳＬ通信確立処理部２２１は、ＳＳＬ（Secure Sockets Layer）に基づく他の端末装置２との通信を確立するための処理を行う。
【００２４】
接続テーブル記憶部２Ｋ１には、その端末装置２自身に直接関連付けられている他の端末装置２のホスト名、ＩＰアドレス、およびＭＡＣアドレスなどの属性の一覧を示す接続テーブルＴＬが記憶されている。例えば、図４におけるＰＣ１〜ＰＣ６の接続テーブル記憶部２Ｋ１には、図５に示すような接続テーブルＴＬ１〜ＴＬ６がそれぞれ保存されている。これらの接続テーブルＴＬの内容は、各端末装置２の関連付けに基づいて管理者によって予め作成される。また、端末装置２同士の関連付けが変更されると、必要に応じて、接続テーブルＴＬの内容が更新される。
【００２５】
データ生成部２０１は、他の端末装置２に送信するためのデータを生成する。例えば、その端末装置２自身が初めてネットワーク１に参加しようとする際、オペレーティングシステム（ＯＳ）を起動し直すなどして改めてネットワーク１に参加しようとする際、または通信の切断後に改めてネットワーク１に参加しようとする際などに、他の端末装置２に対して認証を要求するためのデータを生成する。または、これからネットワーク１に参加しようとする他の端末装置２から認証を求められた際に、当該他の端末装置２とやり取りするためのデータを生成する。
【００２６】
データ送信部２０２は、データ生成部２０１によって生成された各種のデータをパケット化して宛先の装置に宛てて送信する。
【００２７】
データ受信部２１１は、通信回線を流れるパケットのうち、その端末装置２自身に宛てたものを受信する。そして、受信したパケットを統合するなどして元のデータを再現する。
【００２８】
データ解析部２１２は、受信されたデータの中から必要な情報を抽出してその内容を解析することによって、そのデータの種類を判別する。そして、その判別結果に応じて、認証関連ファイル登録部２１３または認証処理部２１４などがそのデータに基づいて所定の処理を行う。各処理内容については、後に順次説明する。
【００２９】
〔認証の処理〕
図６は認証関連ファイルＣＲＦの記述内容の例を示す図、図７は手順タイプＡによる認証要求処理の流れの例を説明するフローチャート、図８はノード認証処理の流れの例を説明するフローチャート、図９は認証履歴ファイルＨＦＡの例を示す図、図１０は認証要求履歴ファイルＨＦＢの例を示す図である。
【００３０】
認証関連ファイル記憶部２Ｋ２には、図６に示すような認証関連ファイルＣＲＦが記憶されている。認証関連ファイルＣＲＦは、その端末装置２自身がネットワーク１に参加するために他の端末装置２に対して認証を求める際の手順および規則などに関する情報が記述されている。認証関連ファイルＣＲＦは、他の装置（例えば、上位サーバ）からダウンロードすることによって取得される。または、その端末装置２の管理者が認証関連ファイルＣＲＦを作成してもよい。
【００３１】
認証関連ファイルＣＲＦには、認証手順情報ＮＪ１、認証許可基準情報ＮＪ２、および認証ノードリストＮＪ３などが含まれている。認証手順情報ＮＪ１は、他の端末装置２に対して認証を要求する際の処理の手順を示している。本実施形態では、「手順タイプＡ」および「手順タイプＢ」という２種類の手順が用意されている。図６の認証手順情報ＮＪ１は、手順タイプＡを示している。両タイプのないようについては、後に順次説明する。認証許可基準情報ＮＪ２は、どのような場合に認証が得られたと判別できるかの基準を示している。認証ノードリストＮＪ３は、認証の要求の相手となり得る端末装置２の一覧を示している。
【００３２】
データ受信部２１１によって受信されたデータが認証関連ファイルＣＲＦである場合は、認証関連ファイル登録部２１３は、これを認証関連ファイル記憶部２Ｋ２に記憶させる。一方、受信されたデータが他の端末装置２からの認証の要求に係るものである場合は、認証処理部２１４は、当該他の端末装置２の認証のための処理を実行する。
【００３３】
認証要求処理部２１５は、その端末装置２自身の認証を行うように他の端末装置２に対して要求するための処理を行う。
【００３４】
ここで、端末装置２の認証に関する処理の流れについて、「ＰＣ７」というホスト名の端末装置２がネットワーク１に参加しようとする場合を例に、図７および図８のフローチャートを参照しながら説明する。
【００３５】
ＰＣ７は、ネットワーク１に参加するにあたって、既にネットワーク１に参加している他の端末装置２のうちのいずれかから認証を得なければならない。そこで、ＰＣ７の各部は、図７に示すような手順で認証の要求のための処理を行う。
【００３６】
ＰＣ７において、認証要求処理部２１５は、ユーザが所定のコマンドをキーボードまたはマウスによって入力したことが入出力インタフェース２０ｇによって検知されまたはハブ３からの所定の信号が通信インタフェース２０ｅによって検知されるなど、所定のトリガが検知されると、自らの認証関連ファイル記憶部２Ｋ２に記憶されている認証関連ファイルＣＲＦ（図６参照）を呼び出し、その認証関連ファイルＣＲＦの内容に基づいて次のように認証の要求の処理を行う。
【００３７】
まず、システムが稼動しているかどうかを問い合わせるためのアライブメッセージＤＡ１を生成する処理をデータ生成部２０１に実行させ、認証関連ファイルＣＲＦの認証ノードリストＮＪ３に示される１番目のノードに宛てて送信する処理をデータ送信部２０２に実行させる（＃１０１）。このとき、アライブメッセージＤＡ１には、メッセージ有効期限Ｔａを示す情報を付加しておく。このメッセージ有効期限Ｔａは、アライブメッセージＤＡ１の有効期限を意味し、認証手順情報ＮＪ１に示されるメッセージ有効時間Ｔ１とアライブメッセージＤＡ１の送信時刻とを合算することによって求められる。つまり、アライブメッセージＤＡ１は、ＰＣ７から送信されてからメッセージ有効時間Ｔ１だけ有効である、と言える。
【００３８】
図６の例では、認証手順情報ＮＪ１は、最初は「１９２．１６８．０．１１１」のＩＰアドレスを有するノードつまりＰＣ１に宛てて送信される。
【００３９】
すると、相手方（ＰＣ１）において、図８に示すような手順の処理が実行される。アライブメッセージＤＡ１がデータ受信部２１１によって受信されデータ解析部２１２によって解析処理が行われると（＃１２１）、認証処理部２１４は、現在の時刻がそのアライブメッセージＤＡ１に示されるメッセージ有効期限Ｔａを未だ過ぎていない場合は（＃１２２でＹｅｓ）、そのアライブメッセージＤＡ１に対する応答のメッセージである応答メッセージＤＡ２を生成する処理をデータ生成部２０１に実行させ、それをアライブメッセージＤＡ１の送信元であるＰＣ７に送信する処理をデータ送信部２０２に実行させる（＃１２３）。
【００４０】
一方、メッセージ有効期限Ｔａを過ぎてしまっている場合は（＃１２２でＮｏ）、ＰＣ７から受信したアライブメッセージＤＡ１は無効であるので、認証処理部２１４は、ステップ＃１２３以降の処理を中止する。他のジョブが溜まっているために、速やかに認証処理を行う余裕がない場合も、ステップ＃１２３以降の処理を中止するようにしてもよい。
【００４１】
ＰＣ７において、問合せ先（ここでは、ＰＣ１）からの応答メッセージＤＡ２が、アライブメッセージＤＡ１を送信した後所定の時間（例えば、メッセージ有効時間Ｔ１。または、メッセージ有効時間Ｔ１＋時間Ｔα。）が経過するまでにデータ受信部２１１によって受信され、データ解析部２１２によって解析処理が行われると（図７の＃１０２でＹｅｓ）、認証要求処理部２１５は、そのアライブメッセージＤＡ１の送信元であるノード（ここでは、ＰＣ１）を、認証の要求を行う相手に決定する。そして、ＰＣ７の認証を行うように要求するための認証要求メッセージＤＡ３を生成する処理をデータ生成部２０１に実行させ、これをその決定したノード（ＰＣ１）に宛てて送信する処理をデータ送信部２０２に実行させる（＃１０３）。このとき、アライブメッセージＤＡ１を送信する場合と同様に、認証要求メッセージＤＡ３の有効期限を示すメッセージ有効期限Ｔｂを、その認証要求メッセージＤＡ３の送信時刻と認証手順情報ＮＪ１のメッセージ有効時間Ｔ２とを合算することによって算出し、これをその認証要求メッセージＤＡ３に付加しておく。
【００４２】
すると、ＰＣ１において、ＰＣ７からの認証要求メッセージＤＡ３がデータ受信部２１１によって受信されデータ解析部２１２によって解析処理が行われ（図８の＃１２４）、認証処理部２１４は、現在の時刻がその認証要求メッセージＤＡ３に示されるメッセージ有効期限Ｔｂを未だ過ぎていない場合は（＃１２５でＹｅｓ）、要求元であるＰＣ７の認証の処理を開始する（＃１２６）。認証の処理は、ＰＫＩ（Public Key Infrastructure）に基づく公知の方法によって行う。なお、認証の処理の間、認証者であるＰＣ１と被認証者であるＰＣ７との間で、適宜、デジタル証明書などの必要なデータのやり取りがなされる。
【００４３】
そして、認証処理部２１４は、ＰＣ７が信頼できる装置であると判別できたら、認証を与える旨を示す認証付与メッセージＤＡ４ａを生成する処理をデータ生成部２０１に実行させ、これをＰＣ７に送信する処理をデータ送信部２０２に実行させる（＃１２７）。信頼できない場合は、認証できない旨を示す認証不可メッセージＤＡ４ｂを生成する処理をデータ生成部２０１に実行させ、これをＰＣ７に送信する処理をデータ送信部２０２に実行させる（＃１２７）。
【００４４】
一方、メッセージ有効期限Ｔｂを過ぎてしまっている場合は（＃１２５でＮｏ）、ＰＣ７から受信した認証要求メッセージＤＡ３は無効であるので、認証処理部２１４は、ステップ＃１２６以降の処理を中止する。
【００４５】
ＰＣ７において、ＰＣ１からの認証付与メッセージＤＡ４ａが、ＰＣ１へアライブメッセージＤＡ１を送信してから認証許可基準情報ＮＪ２に示される制限時間Ｔ３が経過するまでの間にデータ受信部２１１によって受信され、データ解析部２１２によって解析処理が行われると（図７の＃１０４でＹｅｓ、＃１０５でＹｅｓ）、ＳＳＬ通信確立処理部２２１は、従来通り、ＰＣ７との間で共通鍵を共有する処理などを行うことによって、ＳＳＬ通信のセッションを確立する（＃１０６）。ＰＣ７側のＳＳＬ通信確立処理部２２１も、セッションを確立するための処理を行う。
【００４６】
ＰＣ１から認証不可メッセージＤＡ４ｂが返信されてきた場合は（＃１０４でＹｅｓ、＃１０５でＮｏ）、ネットワーク１への参加に失敗する（＃１０８）。
【００４７】
所定の時間内に応答メッセージＤＡ２または認証付与メッセージＤＡ４ａが返信されて来ない場合は（＃１０２でＮｏまたは＃１０４でＮｏ）、認証を要求する相手を認証関連ファイルＣＲＦの認証ノードリストＮＪ３に示されるその次のノードに変更し（＃１０７）、そのノードに対してステップ＃１０１以降の処理をやり直す。図６の例では、ＰＣ１に対して要求ができなかった場合は、その次に示される「１９２．１６８．０．１１２」のＩＰアドレスを有するノードつまりＰＣ２に対して要求を行う。
【００４８】
図３に戻って、認証履歴記憶部２Ｋ３には、認証履歴ファイルＨＦＡおよび認証要求履歴ファイルＨＦＢが記憶されている。認証履歴ファイルＨＦＡには、図９に示すように、その端末装置２自身が行った、他の端末装置２についての認証の処理の履歴情報（以下、「認証履歴情報ＨＣＩ」と記載する。）が格納される。一方、認証要求履歴ファイルＨＦＢには、図１０に示すように、端末装置２自身の認証の要求を他の端末装置２に対して行った際の履歴情報（以下、「認証要求履歴情報ＨＲＩ」と記載する。）が格納される。これらの履歴情報は、履歴更新部２１６によって認証履歴ファイルＨＦＡまたは認証要求履歴ファイルＨＦＢに格納される。
【００４９】
すなわち、履歴更新部２１６は、認証処理部２１４が他の端末装置２の認証の処理を行うごとに、今回の処理の内容を示すレコード（認証履歴情報ＨＣＩ）を生成し認証履歴ファイルＨＦＡに格納させる。
【００５０】
認証履歴情報ＨＣＩにおいて、「要求元ノード」は、その認証の処理を要求してきたノードの識別情報（例えば、ＩＰアドレス）を示している。「アライブメッセージ受信時刻」は、その要求に係るアライブメッセージＤＡ１をその要求元ノードから受信した時刻を示している。
【００５１】
「アライブメッセージ受信時間」は、その要求に係るアライブメッセージＤＡ１を、それの送信時刻からどれくらい経過して受信したのかを示している。つまり、その要求元ノードおよびその端末装置２自身がアライブメッセージＤＡ１の送受信に要した時間を示している。
【００５２】
「アライブメッセージ応答時間」は、その要求に係るアライブメッセージＤＡ１に対する応答メッセージＤＡ２を、そのアライブメッセージＤＡ１の送信時刻からどれくらい経過して返信したのかを示している。ただし、前に説明したように、そのアライブメッセージＤＡ１を受信した時点でそれに示されるメッセージ有効期限Ｔａが過ぎてしまっていた場合には応答メッセージＤＡ２の返信は行わない。よって、この場合は、図中のこれよりも右側のフィールドのうち時間を示すフィールドには、すべて、計測不能を意味する値（例えば、「−」）を格納する。また、後に説明する「認証結果」のフィールドには、認証の処理自体が実行されなかったことを意味する値（例えば、「不実施」）を格納する。
【００５３】
「認証要求メッセージ受信時間」は、その要求に係る認証要求メッセージＤＡ３を、それの送信時刻からどれくらい経過して受信したのかを示している。つまり、その要求元ノードおよびその端末装置２自身が認証要求メッセージＤＡ３の送受信に要した時間を示している。
【００５４】
「認証処理完了時間」は、その認証要求メッセージＤＡ３に対する認証付与メッセージＤＡ４ａまたは認証不可メッセージＤＡ４ｂを、その認証要求メッセージＤＡ３の送信時刻からどれくらい経過して返信したのかを示している。つまり、その認証要求メッセージＤＡ３に対する認証の処理を完了しその結果を報告するのに要した時間を示している。ただし、前に説明したように、その認証要求メッセージＤＡ３に示されるメッセージ有効期限Ｔｂが過ぎてしまった場合には返信は行わない。よって、この場合は、このフィールドには例えば「−」を格納し、「認証結果」のフィールドには例えば「不実施」を格納する。
【００５５】
「認証結果」は、その認証要求メッセージＤＡ３に対する認証が成功したか失敗したかを示している。つまり、認証付与メッセージＤＡ４ａを返信した場合は認証に成功したことを示す値（例えば、「成功」）を格納し、認証不可メッセージＤＡ４ｂを返信した場合は失敗したことを示す値（例えば、「失敗」）を格納する。また、上に述べたように、タイムアウトのため、認証の処理を行わなかった場合は、「不実施」を格納する。
【００５６】
また、履歴更新部２１６は、認証要求処理部２１５が他の端末装置２に対して認証の処理を要求する処理を行うごとに、その処理の内容を示すレコード（認証要求履歴情報ＨＲＩ）を生成し認証要求履歴ファイルＨＦＢ（図１０参照）に格納させる。
【００５７】
認証要求履歴情報ＨＲＩにおいて、「要求先ノード」は、その要求の相手であるノードの識別情報（例えば、ＩＰアドレス）を示している。「アライブメッセージ送信時刻」は、その要求先ノードの稼動状況を確認するためのアライブメッセージＤＡ１を送信した時刻を示している。
【００５８】
「アライブメッセージ応答受信時間」は、その要求に係るアライブメッセージＤＡ１に対する応答メッセージＤＡ２を、そのアライブメッセージＤＡ１の送信時刻からどれくらい経過して受信したのかを示している。つまり、その要求先ノードが稼動していることを確認するのに要した時間を示している。ただし、アライブメッセージＤＡ１の送信時刻から所定の時間が経過しても応答メッセージＤＡ２を受信できない場合は、本フィールドおよびその右の「認証結果受信時間」には例えば「−」を格納する。
【００５９】
「認証結果受信時間」は、その要求に係る認証の結果のメッセージ（認証付与メッセージＤＡ４ａまたは認証不可メッセージＤＡ４ｂ）を、アライブメッセージＤＡ１の送信時刻からどれくらい経過して受信したのかを示している。受信しなかった場合は、例えば「−」を格納する。
【００６０】
「認証結果」は、要求に係る認証が成功したか失敗したかを示している。つまり、認証付与メッセージＤＡ４ａを受信した場合は例えば「成功」を格納し、認証不可メッセージＤＡ４ｂを受信した場合は例えば「失敗」を格納する。または、いずれのメッセージをも受信しなかった場合は例えば「無回答」を格納する。
【００６１】
「認証エラー関数戻り値」は、認証用エラー関数からの戻り値を示している。この「認証用エラー関数」は、要求先ノードからの認証結果などの状況に応じて所定の値を返す関数である。例えば、認証付与メッセージＤＡ４ａを受信した場合はエラーがない旨を示す「０」を返す。認証不可メッセージＤＡ４ｂを受信した場合は認証に失敗した旨を示す「１」を返す。応答メッセージＤＡ２を所定の時間内に受信できなかった場合は、要求先ノードに対して要求を行うことができなかった旨を示す「２」を返す。要求を行ったが所定の時間内に認証結果を受信できなかった場合は、タイムアウトになった旨を示す「３」を返す。
【００６２】
〔認証関連ファイルＣＲＦを更新する処理〕
図１１はネットワーク１の状況に応じた認証関連ファイルＣＲＦの更新方法の例を示す図、図１２は認証関連ファイルＣＲＦの変形例を示す図、図１３は手順タイプＢによる認証要求処理の流れの例を説明するフローチャートである。
【００６３】
図３に戻って、ネットワーク状況情報取得部２１７は、現在のネットワーク１の状況に関する情報を取得するための処理を行う。例えば、その端末装置２自身と他の端末装置２との間での通信のために用いられる通信回線の混み具合に関する情報を取得する。これは、実際に両者間でデータのやり取りを行い、それに要した時間およびそのデータのサイズに基づいて通信速度の実測値を算出し、それの逆数を求めることによって取得することができる。つまり、現在の実際の通信速度が遅いほど、混み具合の値が大きいものとする。または、両者間の通信回線の理論的な帯域幅に対する現在使用されている帯域幅の割合（つまり、通信回線の占有率）を算出し、これを、混み具合を表す値としてもよい。または、理論的な帯域幅と現在使用されている帯域幅との差の逆数を算出し、これを、混み具合を表す値としてもよい。以下、取得した混み具合に関する情報を「通信回線混雑情報ＴＳＪ」と記載する。
【００６４】
なお、直近の所定の期間内に新たにネットワーク１に参加したノード（端末装置２）がある場合は、そのノードに係る通信回線混雑情報ＴＳＪには、それが新たなノード（以下、「新規ノード」と記載する。）に関するものであることを知らせるための情報を対応付けておく。次に説明する処理負荷情報ＳＣＪについても同様である。
【００６５】
また、所定の期間における他の端末装置２での認証処理の負荷を示す情報（完了した認証処理の件数、１件の認証処理に要した平均時間、および認証処理の回答ができなかった件数など）を取得する。これらの情報は、当該他の端末装置２の認証履歴ファイルＨＦＡに格納されている認証履歴情報ＨＣＩ（図９参照）より求めることができる。なお、これらの情報は、ネットワーク状況情報取得部２１７がその認証履歴情報ＨＣＩを他の端末装置２から取得し、自ら所定の算出処理を実行することによって取得してもよいし、他の端末装置２に算出させその結果を問い合わせることによって取得してもよい。以下、このようにして取得した他の端末装置２における認証処理の負荷に関する情報を「処理負荷情報ＳＣＪ」と記載する。
【００６６】
認証要求解析部２１８は、その端末装置２自身の認証要求履歴ファイルＨＦＢに格納されている認証要求履歴情報ＨＲＩ（図１０参照）を解析することによって、所定の期間における他の端末装置２（要求先ノード）それぞれに対する自らの認証の要求の状況（アライブメッセージ応答受信時間の平均値、アライブメッセージＤＡ１に対する応答メッセージＤＡ２を受信できた回数およびできなかった回数、認証結果受信時間の平均値、認証付与メッセージＤＡ４ａまたは認証不可メッセージＤＡ４ｂを受信できた回数およびできなかった回数など）を取得する。つまり、どの端末装置２に対して認証の要求を行ったところ、どのような状況で処理がなされ、どのような結果が得られたのか、などを表す情報を取得する。以下、取得したこれらの情報を「認証要求状況情報ＲＳＪ」と記載する。なお、アライブメッセージＤＡ１に対する応答メッセージＤＡ２を受信できた回数およびできなかった回数は、それぞれ、認証処理を受け得る状態にあった回数およびそうでない状態であった回数を示していると言える。
【００６７】
認証関連ファイル更新部２１９は、端末装置２自身の認証関連ファイルＣＲＦの内容を更新したほうが好ましいか否かを判別し、好ましい場合はそれを更新するための処理を行う。どのように更新するのかは、ネットワーク状況情報取得部２１７および認証要求解析部２１８によって得られた最新の通信回線混雑情報ＴＳＪ、処理負荷情報ＳＣＪ、および認証要求状況情報ＲＳＪの内容に基づいて決定する。本実施形態では、例えば図１１に示すように更新する。
【００６８】
その端末装置２自身と認証関連ファイルＣＲＦの認証ノードリストＮＪ３に示される１番目のノード（以下、「第一認証ノード」と記載する。）との間の通信回線の混み具合が所定の値以上であるが、第一認証ノードでの認証処理の負荷が所定の値以下であり、かつ、その端末装置２が第一認証ノードに対して認証の要求を行った割合（つまり、認証の要求を、他のノードよりも第一認証ノードに対してどれくらい集中的に行ったかを示す割合）が所定の値以上である場合は、通信回線の混雑のために第一認証ノードの能力を十分に活かせていない可能性が高いと考えられる（ケース１）。
【００６９】
そこで、認証関連ファイル更新部２１９は、第一認証ノードにおいてタイムアウトになるのを減らすためにメッセージ有効時間Ｔ１、Ｔ２を増やし、それに伴って制限時間Ｔ３も増やすように、認証関連ファイルＣＲＦを更新する。以下、その端末装置２自身と第一認証ノードとの間の通信回線を「対第一認証ノード通信回線」と記載する。
【００７０】
対第一認証ノード通信回線の混み具合が所定の値以下であるが、第一認証ノードでの認証処理の負荷が所定の値以上であり、かつ、その端末装置２が第一認証ノードに対して認証の要求を行った割合が所定の値以上である場合は、通信回線は混雑していないが第一認証ノードに負荷が掛かっている可能性が高いと考えられる（ケース２）。
【００７１】
そこで、他のノードにも認証の処理の要求を分散させるために、認証関連ファイル更新部２１９は、メッセージ有効時間Ｔ１、Ｔ２を減らし、それに伴って制限時間Ｔ３も減らすように認証関連ファイルＣＲＦを更新する。さらに、認証ノードリストＮＪ３に示される２番目以降のいずれかのノードが第一認証ノードに繰り上がるように、認証関連ファイルＣＲＦを更新してもよい。
【００７２】
対第一認証ノード通信回線の混み具合が所定の値以上でありまたは第一認証ノードでの認証処理の負荷が所定の値以上であり、第一認証ノードに対して認証の要求を行う割合が所定の値以上であり、かつ、その端末装置２自身の新規ノードとの間の通信回線の混み具合が対第一認証ノード通信回線のそれよりも小さくかつ新規ノードでの認証処理の負荷が第一認証ノードのそれよりも小さい場合は、その第一認証ノードに対して今以上の量の要求を行うことが難しくなっている状況のところに、その第一認証ノードよりも好適な新規ノードが見つかった、と考えられる（ケース３）。
【００７３】
そこで、認証関連ファイル更新部２１９は、その新規ノードが新たな第一認証ノードとなるように、認証関連ファイルＣＲＦを更新する。さらに、メッセージ有効時間Ｔ１、Ｔ２を減らし、それに伴って制限時間Ｔ３も減らすように、認証関連ファイルＣＲＦを更新してもよい。
【００７４】
対第一認証ノード通信回線の混み具合が所定の値以下であり、第一認証ノードでの認証処理の負荷が所定の値以下であり、かつ、その端末装置２が第一認証ノードに対して認証の要求を行う割合が所定の値以上である場合は、第一認証ノードに対して認証の要求が集中しているものの、第一認証ノードでの認証の処理が良好に行われている、と考えられる（ケース４）。しかし、今後、第一認証ノードにますます集中し、処理が遅延するおそれがある。
【００７５】
そこで、認証関連ファイル更新部２１９は、第一認証ノードへ処理が集中するのを予め防止するために、メッセージ有効時間Ｔ１、Ｔ２および制限時間Ｔ３を減らすように、認証関連ファイルＣＲＦを更新する。
【００７６】
認証の処理の要求が認証ノードリストＮＪ３に示される上位の１つまたは複数のノードにアライブメッセージＤＡ１を送信したにも関わらず、それに対する応答メッセージＤＡ２の返信がなかった回数が多い場合（例えば、アライブメッセージＤＡ１を送信した回数に対する応答メッセージＤＡ２の返信がなかった回数の割合が所定の値以上である場合）は、これらのノードは、電源オフなどの状態のために認証処理の実行ができないことが多いと考えられる。つまり、各ノードの稼動状況（要求を受け付け得る状態にあるか否か）の変化が大きく、アライブメッセージＤＡ１を送信する処理が無駄に実行されている可能性が高い（つまり、図７の＃１０１、＃１０２、＃１０７のループが多い）と考えられる。
【００７７】
そこで、この無駄をなくすために、認証関連ファイルＣＲＦの認証手順情報ＮＪ１および認証許可基準情報ＮＪ２を図１２のように更新する。図１２のように更新された認証手順情報ＮＪ１および認証許可基準情報ＮＪ２によると、認証の要求が図１３のフローチャートのような手順で実行される。
【００７８】
図１３において、認証要求メッセージＤＡ３を生成し（＃１３１）、これを認証ノードリストＮＪ３に示されるすべてのノード（端末装置２）に送信する（＃１３２）。図７と比較して分かるように、アライブメッセージＤＡ１の生成および送信は行わない。これは、稼動しているか否かが不安定なノードがネットワーク１の中に多くあるので、稼動状況を確認してから認証要求メッセージＤＡ３を送信する手順を採ると、無駄に時間が掛かってしまうおそれがあるからである。
【００７９】
このとき、認証要求メッセージＤＡ３を受信した各ノードは、前に図８のステップ＃１２４〜＃１２７で説明した各処理を実行する。つまり、要求元である端末装置２の認証の処理を行う。
【００８０】
これらのノードからの認証結果（認証付与メッセージＤＡ４ａまたは認証不可メッセージＤＡ４ｂ）が送信されて来るのを、遅くとも制限時間Ｔ５が経過するまで待つ（＃１３４）。この間に、受信した認証付与メッセージＤＡ４ａおよび認証不可メッセージＤＡ４ｂのそれぞれの個数をカウントしておく。
【００８１】
認証許可基準情報ＮＪ２に示される認証許可基準数Ｃ１以上の認証付与メッセージＤＡ４ａが得られた場合は（＃１３５でＹｅｓ）、その認証付与メッセージＤＡ４ａを送信して来たいずれか１台または複数台のノードとの間でＳＳＬ通信のセッションを確立する（＃１３６）。これにより、ネットワーク１への参加が完了する。一方、認証許可基準数Ｃ１以上の認証付与メッセージＤＡ４ａが得られなかった場合は（＃１３５でＮｏ）、ネットワーク１への参加の処理を中止する（＃１３７）。
【００８２】
なお、認証許可基準数Ｃ１として、認証付与メッセージＤＡ４ａの個数の代わりに、認証不可メッセージＤＡ４ｂの個数に対する認証付与メッセージＤＡ４ａの個数の割合を用いてもよい。
【００８３】
そのほか、ケース５の場合に、認証関連ファイル更新部２１９は、認証ノードリストＮＪ３のメンバを増やすように更新してもよい。
【００８４】
認証関連ファイル更新部２１９は、次のようなタイミングで、認証関連ファイルＣＲＦの更新処理（認証関連ファイルＣＲＦを更新する必要があるか否かを判別し、必要であればこれを更新する処理）を実行する。
【００８５】
例えば、認証の処理を行った回数または認証の処理を要求した回数をそれぞれカウントしておき、いずれかが所定の回数以上になったら、更新処理を実行する。または、認証に要した時間の合計値または平均値を計測しておき、所定の時間以上になったら、更新処理を実行する。
【００８６】
または、受信した認証付与メッセージＤＡ４ａまたは認証不可メッセージＤＡ４ｂの個数をカウントしておき、認証付与メッセージＤＡ４ａの個数に対する認証不可メッセージＤＡ４ｂの個数の割合が多い場合に、更新処理を実行する。または、所定の時間の間隔で（例えば、１時間ごとに）更新処理を実行する。
【００８７】
または、認証エラー関数戻り値の発生回数をカウントしておき、それが所定の回数以上になったら、更新処理を実行する。または、認証エラー関数戻り値を、エラーの重要度または緊急度などに応じた重み付けを表わすように予め定義しておき、発生した認証エラー関数戻り値の合計値を記録しておき、その合計値が所定の値以上になったら、更新処理を実行する。
【００８８】
図１４は端末装置２の全体的な処理の流れの例を説明するフローチャートである。次に、端末装置２がネットワーク１に参加する際の一連の処理の流れを、図１４のフローチャートを参照して説明する。
【００８９】
これからネットワーク１に参加しようとする端末装置２は、自らの認証関連ファイル記憶部２Ｋ２から認証関連ファイルＣＲＦ（図６、図１２参照）を呼び出し（＃１）、それに示される認証の手順などに従って、既にネットワーク１に参加しているいずれかのノードから認証を得るための処理を行う（＃２、＃３）。係る処理の手順は、前に図７または図１３で説明した通りである。すなわち、認証関連ファイルＣＲＦに記述されている認証手順情報ＮＪ１が手順タイプＡである場合は図７で説明したような手順で処理を行い、手順タイプＢである場合は図１３で説明したような手順で処理を行う。
【００９０】
認証が得られセッションを確立することができたら（＃４でＹｅｓ）、ネットワーク１への参加を開始する（＃５）。そして、通信が切れるまでの間（＃６でＮｏ）、定期的に、ネットワーク１の状況に応じて認証関連ファイルＣＲＦの内容を更新する（＃７）。更新のパターンは、前に図１１で説明した通りである。また、他の端末装置２から認証の要求などがあった場合は、当該他の端末装置２についての認証の処理を行う。係る処理の手順は、前に図８で説明した通りである。
【００９１】
通信が切れたら（＃６でＹｅｓ）、ネットワーク１から離脱する。再度、ネットワーク１に参加する場合は、ステップ＃１からの処理を再度行う。
【００９２】
本実施形態によると、ネットワークに参加しようとする端末装置２は、認証の要求を効率的に行うことができる。
【００９３】
認証関連ファイルＣＲＦの内容は、ネットワーク１の状況に応じて適宜更新される。よって、これからネットワーク１に参加しようとする端末装置２は、認証処理の要求を好適に行うことができる。
【００９４】
例えば、図１１のケース１で説明したように、対第一認証ノード通信回線の混み具合が所定の値以上である場合は、メッセージ有効時間Ｔ１、Ｔ２、および制限時間Ｔ３を増やした。ところが、その後、対第一認証ノード通信回線がさらに混雑し始めると場合は、認証を得るのに多くの時間を要してしまうので、ユーザに対して不便を生じてしまう。しかし、本実施形態によると、対第一認証ノード通信回線の混み具合がさらに酷くなると、今度は自ずとケース３が適用されて第一認証ノードが別の好適な端末装置２に変更されるので、このような不具合を回避することができる。
【００９５】
本実施形態では、通信回線の混み具合や、認証処理の要求相手である端末装置２の負荷および稼動状況などに基づいて認証関連ファイルＣＲＦの内容を更新したが、これら以外の情報に基づいて更新してもよい。例えば、各端末装置２のスペックをチェックし、より高いスペックの端末装置２が見つかったら、その端末装置２を第一認証ノードに変更するようにしてもよい。または、各端末装置２のリソースの空き具合などをチェックし、空きが多い端末装置２を第一認証ノードに変更するようにしてもよい。
【００９６】
認証関連ファイルＣＲＦを手順タイプＢに変更した後、再び手順タイプＡに変更する場合もある。例えば、手順タイプＢに変更した後、認証処理の要求を常時受け付けることができる端末装置２が見つかった場合は、再び手順タイプＡに変更してもよい。
【００９７】
本実施形態では、ＬＡＮの形態のネットワーク１を例に説明したが、インターネットなどのような広域のネットワークにも適用可能である。
【００９８】
〔１つのノードが複数のネットワークに参加する場合の応用例〕
図１５は複数のネットワークが存在する環境の例を示す図、図１６はあるネットワークに参加している端末装置２が他のネットワークに参加する際の処理の流れの例を説明するフローチャート、図１７は他のネットワークに参加する端末装置２から認証の要求を受けた場合の処理の流れの例を説明するフローチャートである。
【００９９】
本発明は、あるネットワークに参加している端末装置２がさらに他のネットワークにも参加しようとする場合にも適用可能である。また、この場合は、次に説明するように端末装置２を構成してもよい。
【０１００】
図１５に示すように、ネットワーク１Ｘ、１Ｙ、および１Ｚの３つのネットワークが存在しているものとする。これらのネットワークは、様々であり、例えばオフィスのＬＡＮであってもよいし、ＶＰＮ（Virtual Private Network）であってもよい。これらのネットワークは、「サイト」と呼ぶこともできる。
【０１０１】
そして、各ネットワークには複数台の端末装置２が参加しているものとする。以下、ネットワーク１Ｘ、１Ｙ、および１Ｚにそれぞれ参加している端末装置２を「端末装置２Ｘ」、「端末装置２Ｙ」、および「端末装置２Ｚ」と区別して記載することがある。また、各端末装置２Ｘには「ＰＣＸ−１」、「ＰＣＸ−２」、「ＰＣＸ−３」、…などのホスト名が付けられているものとする。各端末装置２Ｙおよび各端末装置２Ｚにも、同じようにホスト名が付けられているものとする。
【０１０２】
あるネットワークに参加している端末装置２が別のネットワークに参加する際には、その端末装置２は、その別のネットワークに所属するいずれかの端末装置２に認証してもらわなければならない。以下、ネットワーク１Ｘに参加しているＰＣＸ−１がネットワーク１Ｙに参加しようとする場合を例に、認証に関する処理についてフローチャートを参照しながら説明する。
【０１０３】
ＰＣＸ−１は、これから参加しようとするネットワーク１Ｙに対応した認証関連ファイルＣＲＦ（以下、「認証関連ファイルＣＲＦｙ」と記載する。）を上位サーバに要求し（図１６の＃７１）、これをダウンロードして取得する（＃７２）。なお、この上位サーバは、ネットワーク１Ｘ、１Ｙ、１Ｚにそれぞれ対応した認証関連ファイルＣＲＦｘ、ＣＲＦｙ、ＣＲＦｚを有しており、これを端末装置２からの要求に応じて配付する処理を行う。また、これらの認証関連ファイルＣＲＦｘ、ＣＲＦｙ、ＣＲＦｚを適宜新しいものに置き換える。これらの認証関連ファイルＣＲＦは、端末装置２Ｘ、端末装置２Ｙ、および端末装置２Ｚから取得すればよい。
【０１０４】
これにより、ＰＣＸ−１は、２つの認証関連ファイルＣＲＦｘ、ＣＲＦｙを有することになる。ここで、これらの認証関連ファイルＣＲＦｘ、ＣＲＦｙを次のように作成し直すことによって最適化する（＃７３）。すなわち、両認証関連ファイルＣＲＦのそれぞれに記述されているメッセージ有効時間Ｔ１、Ｔ２および制限時間Ｔ３を、両認証関連ファイルＣＲＦのメッセージ有効時間Ｔ１、Ｔ２および制限時間Ｔ３のそれぞれの最大値になるように更新する。例えば、認証関連ファイルＣＲＦｘに記述されているメッセージ有効時間Ｔ１、Ｔ２、および制限時間Ｔ３がそれぞれ「１０ｓｅｃ」、「１０ｓｅｃ」、「３０ｓｅｃ」であって、認証関連ファイルＣＲＦｙに記述されているメッセージ有効時間Ｔ１、Ｔ２、および制限時間Ｔ３がそれぞれ「５ｓｅｃ」、「５ｓｅｃ」、「１５ｓｅｃ」である場合は、認証関連ファイルＣＲＦｘに記述されているメッセージ有効時間Ｔ１、Ｔ２、および制限時間Ｔ３の方を採り、認証関連ファイルＣＲＦｙのそれらを「１０ｓｅｃ」、「１０ｓｅｃ」、「３０ｓｅｃ」に更新する。さらに、認証関連ファイルＣＲＦｘ、ＣＲＦｙそれぞれの認証ノードリストＮＪ３を交換してもよい。
【０１０５】
このように更新することによって、図１１で説明したような、いわゆるローカルの最適化よりも迅速に、ネットワークへの参加形態に合わせてこれらの認証関連ファイルＣＲＦを更新（最適化）することができる。
【０１０６】
ＰＣＸ−１は、最適化された認証関連ファイルＣＲＦｙを用いてネットワーク１Ｙのうちのいずれかの端末装置２Ｙ（例えば、データの送受信を行う目的の相手である端末装置２Ｙ）に対して、認証の要求の処理を行う。係る処理は、前に図７などで説明した通りである。そして、認証が得られたら、その端末装置２Ｙとの間でＳＳＬ通信を開始し、ネットワーク１Ｙに参加することができるようになる。
【０１０７】
一方、ＰＣＸ−１からの要求を受けた端末装置２Ｙ（例えば、ＰＣＹ−１）は、前に図８で説明した手順で、ＰＣＸ−１の認証のための処理を行う（図１７の＃８４）。なお、係る処理の前後に、上位サーバから認証関連ファイルＣＲＦｘを取得し（＃７１、＃７２）、その認証関連ファイルＣＲＦｘおよび以前から有している認証関連ファイルＣＲＦｙを、図１６のステップ＃７３の場合と同様に、最適化する（＃８３）。
【０１０８】
ＰＣＸ−１は、ＰＣＹ−１との通信が終わった後も、今回取得した認証関連ファイルＣＲＦｙを保持しておき、図１１で説明した方法などによって、ネットワーク１Ｙの状況に応じて適宜更新するようにしてもよい。同様に、ＰＣＹ−１は、認証関連ファイルＣＲＦｘを保持しておき、ネットワーク１Ｘの状況に応じて適宜更新するようにしてもよい。これにより、今後は、上位サーバから相手方のネットワークに対応した認証関連ファイルＣＲＦを取得し直すことなく、再び相手方のネットワークに参加することができる。
【０１０９】
また、ＰＣＸ−１は、今回取得した認証関連ファイルＣＲＦｙを自ら保持するだけでなく、他の端末装置２Ｘにも与えるようにしてもよい。同様に、ＰＣＹ−１は、認証関連ファイルＣＲＦｘを他の端末装置２Ｙにも与えるようにしてもよい。これにより、ネットワーク１Ｘとネットワーク１Ｙとを実質的に融合することができる。そして、融合の進捗状況によって、認証関連ファイルＣＲＦｘと認証関連ファイルＣＲＦｙとを１つに纏めてもよい。
【０１１０】
その他、ネットワーク１、端末装置２の全体または各部の構成、処理内容、処理順序、ファイルの構成などは、本発明の趣旨に沿って適宜変更することができる。
【図面の簡単な説明】
【０１１１】
【図１】ネットワークの全体的な構成の例を示す図である。
【図２】端末装置のハードウェア構成の例を示す図である。
【図３】端末装置の機能的構成の例を示す図である。
【図４】ネットワークのトポロジーの例を示す図である。
【図５】図４のように関連付けられた端末装置の接続テーブルの例を示す図である。
【図６】認証関連ファイルの記述内容の例を示す図である。
【図７】手順タイプＡによる認証要求処理の流れの例を説明するフローチャートである。
【図８】ノード認証処理の流れの例を説明するフローチャートである。
【図９】認証履歴ファイルの例を示す図である。
【図１０】認証要求履歴ファイルの例を示す図である。
【図１１】ネットワークの状況に応じた認証関連ファイルの更新方法の例を示す図である。
【図１２】認証関連ファイルの変形例を示す図である。
【図１３】手順タイプＢによる認証要求処理の流れの例を説明するフローチャートである。
【図１４】端末装置の全体的な処理の流れの例を説明するフローチャートである。
【図１５】複数のネットワークが存在する環境の例を示す図である。
【図１６】あるネットワークに参加している端末装置が他のネットワークに参加する際の処理の流れの例を説明するフローチャートである。
【図１７】他のネットワークに参加する端末装置から認証の要求を受けた場合の処理の流れの例を説明するフローチャートである。
【符号の説明】
【０１１２】
１、１Ｘ、１Ｙ、１Ｚ  ネットワーク
２  端末装置（ノード、認証処理機能付きノード）
２１５  認証要求処理部（認証要求手段）
２１７  ネットワーク状況情報取得部（ノード状態判別手段）
２１８  認証要求解析部（認証処理可能度合い算出手段）
２１９  認証関連ファイル更新部（認証要求条件情報更新手段）
２Ｋ２  認証関連ファイル記憶部（認証要求条件情報記憶手段）
２Ｋ３  認証履歴記憶部（状態履歴情報記録手段）
ＣＲＦ、ＣＲＦｘ、ＣＲＦｙ、ＣＲＦｚ  認証関連ファイル（認証要求条件情報）
ＨＲＩ  認証要求履歴情報（状態履歴情報）
【図１】
0004561626.tif 000002
【図２】
0004561626.tif 000003
【図３】
0004561626.tif 000004
【図４】
0004561626.tif 000005
【図５】
0004561626.tif 000006
【図６】
0004561626.tif 000007
【図７】
0004561626.tif 000008
【図８】
0004561626.tif 000009
【図９】
0004561626.tif 000010
【図１０】
0004561626.tif 000011
【図１１】
0004561626.tif 000012
【図１２】
0004561626.tif 000013
【図１３】
0004561626.tif 000014
【図１４】
0004561626.tif 000015
【図１５】
0004561626.tif 000016
【図１６】
0004561626.tif 000017
【図１７】
0004561626.tif 000018