(57)【要約】接続仲介処理の負荷を軽減し、任意の端末装置間の接続仲介処理を円滑に運ぶ。複数の端末装置（２００Ａ〜２００Ｉ）と複数の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）とがネットワーク（Ｎ）に接続される。各接続仲介装置は、端末ＩＤとその所在アドレスＡＤｘを対応づけたアドレステーブルを参照する機能と、自己が担当する端末装置を定める担当テーブルを参照する機能と、通信元端末から接続仲介依頼を受けたときに、アドレステーブルの参照結果に基づいて通信先端末のアドレスを返信する機能と、担当テーブルにおいて担当外となっている端末装置からのアクセスに対して、担当となる接続仲介装置を通知する機能と、を備える。各端末装置は、通知された担当接続仲介装置に対して接続仲介依頼を行う。各接続仲介装置の処理負荷に応じて、接続仲介装置の追加および削除、ならびに担当テーブルの更新が行われる。
2019035209.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク（Ｎ）を介して相互に接続可能な複数の端末装置（２００Ａ−２００Ｉ）と、前記複数の端末装置間の接続を仲介する複数の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）と、を備えたネットワーク通信システムであって、
前記複数の端末装置（２００Ａ−２００Ｉ）には、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、前記複数の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）は、前記端末ＩＤを利用して通信元となる端末装置（２００Ａ）と通信先となる端末装置（２００Ｂ）との間の接続を仲介する処理を実行し、
前記複数の端末装置（２００Ａ−２００Ｉ）のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、特定の外部装置（１００；５００）に対して通知する自己アドレス通知部（２５０）と、
自己（２００Ａ）を通信元として、通信先の別な端末装置（２００Ｂ）に対する通信要求（Ｓ１）を受け付ける通信要求受付部（２２０Ａ）と、
前記通信要求受付部（２２０Ａ）によって前記通信要求（Ｓ１）が受け付けられたときに、担当接続仲介装置（１００Ｘ）に対して、前記通信先の別な端末装置（２００Ｂ）の端末ＩＤ（００２０）を特定するための通信先特定情報を含む接続仲介依頼（Ｓ２）を送信する接続仲介依頼部（２１０Ａ）と、
前記接続仲介依頼（Ｓ２）に応じて、前記担当接続仲介装置（１００Ｘ）から、前記通信先の別な端末装置（２００Ｂ）のネットワーク上での所在を示す通信先アドレス（ＡＤ２）が返信されてきたときに、ネットワーク（Ｎ）を介して、前記通信先アドレス（ＡＤ２）にアクセスして通信開始要求（Ｓ５）を行う通信開始要求部（２４０Ａ）と、
前記通信開始要求（Ｓ５）に応じて、前記通信先の別な端末装置（２００Ｂ）から、通信開始受諾確認（Ｓ６）が返信されてきたら、前記通信先の別な端末装置（２００Ｂ）との間に通信セッションを確立して通信（Ｓ７）を開始する通信元セッション確立部（２６０Ａ）と、
通信元の別な端末装置（２００Ａ）から、自己を通信先とする通信開始要求（Ｓ５）がなされたら、前記通信元の別な端末装置（２００Ａ）に対して通信開始受諾確認（Ｓ６）を送信し、前記通信元の別な端末装置（２００Ａ）との間に通信セッションを確立して通信（Ｓ７）を開始する通信先セッション確立部（２３０Ｂ）と、
を有し、
前記複数の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）のそれぞれは、
前記端末装置（２００Ａ−２００Ｉ）のそれぞれについて前記端末ＩＤと前記所在アドレスとを対応づけたアドレステーブル（Ｔ）を参照するアドレステーブル参照機能と、
前記端末装置（２００Ａ−２００Ｉ）のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブル（Ｕ）を参照する担当テーブル参照機能と、
前記端末装置（２００Ａ）の前記接続仲介依頼部（２１０Ａ）から、前記接続仲介依頼（Ｓ２）が送信されてきたときに、前記アドレステーブル（Ｔ）の参照結果に基づいて、前記接続仲介依頼（Ｓ２）に含まれている通信先特定情報によって特定される端末ＩＤ（００２０）に対応づけられている所在アドレス（ＡＤ２）を通信先アドレスとして返信する通信先アドレス返信機能と、
前記接続仲介依頼（Ｓ２）を受信したときに、前記担当テーブル（Ｕ）の参照結果に基づいて、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する担当通知機能と、
を有し、
前記接続仲介依頼部（２１０Ａ）は、前記担当通知機能による最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼（Ｓ２）を送信することを特徴とすることを特徴とするネットワーク通信システム。
【請求項２】
請求項１に記載のネットワーク通信システムにおいて、
接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）が、
アドレステーブル（Ｔ）を格納するアドレステーブル格納部（１１０）と、
担当テーブル（Ｕ）を格納する担当テーブル格納部（１４０Ｘ）と、
端末装置（２００Ａ−２００Ｉ）の自己アドレス通知部（２５０）からの通知に基づいて、前記アドレステーブル（Ｔ）の内容を更新するアドレステーブル更新部（１２０）と、
与えられた担当変更指示に基づいて、前記担当テーブル（Ｕ）の内容を更新する担当テーブル更新部（１５０Ｘ）と、
端末装置（２００Ａ）の接続仲介依頼部（２１０Ａ）から、接続仲介依頼（Ｓ２）が送信されてきたときに、前記アドレステーブル（Ｔ）を参照して、前記接続仲介依頼（Ｓ２）に含まれている通信先特定情報によって特定される端末ＩＤ（００２０）に対応づけられている所在アドレス（ＡＤ２）を通信先アドレスとして返信する通信先アドレス返信部（１３０Ｘ）と、
を有し、
前記アドレステーブル更新部（１２０）および前記担当テーブル更新部（１５０Ｘ）は、必要に応じて別な接続仲介装置のアドレステーブル更新部（１２０）および担当テーブル更新部（１５０Ｘ）と通信することにより、すべての接続仲介装置内のアドレステーブル（Ｔ）および担当テーブル（Ｕ）の内容が一致するような同期処理を行い、
前記通信先アドレス返信部（１３０Ｘ）が、前記担当テーブル（Ｕ）を参照して、自己が、通信元となる端末装置（２００Ａ）についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置（２００Ａ）に対して、担当接続仲介装置を通知することを特徴とするネットワーク通信システム。
【請求項３】
ネットワーク（Ｎ）を介して相互に接続可能な複数の端末装置（４００Ａ−４００Ｄ）と、前記複数の端末装置間の接続を仲介する複数の接続仲介装置（３００；１００Ｘ，１００Ｙ，１００Ｚ）と、を備えたネットワーク通信システムであって、
前記複数の端末装置（４００Ａ−４００Ｄ）には、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、前記複数の接続仲介装置（３００；１００Ｘ，１００Ｙ，１００Ｚ）は、前記端末ＩＤを利用して通信元となる端末装置（４００Ｂ）と通信先となる端末装置（４００Ａ）との間の接続を仲介する処理を実行し、
前記複数の端末装置（４００Ａ−４００Ｄ）のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、特定の外部装置（３００；５００）に対して通知する自己アドレス通知部（４５０）と、
自己（４００Ｂ）を通信元として、通信先の別な端末装置（４００Ａ）に対する通信要求（Ｓ１１）を受け付ける通信要求受付部（４２０Ｂ）と、
前記通信要求受付部（４２０Ｂ）によって前記通信要求（Ｓ１１）が受け付けられたときに、担当接続仲介装置（１００Ｘ）に対して、前記通信先の別な端末装置（４００Ａ）の端末ＩＤ（００１０）を特定するための通信先特定情報を含む接続仲介依頼（Ｓ１２）を送信する接続仲介依頼部（４１０Ｂ）と、
前記接続仲介装置（１００Ｘ）から、通信元の別な端末装置（４００Ｂ）のネットワーク上での所在を示す通信元アドレス（ＡＤ２）が送信されてきたときに、ネットワーク（Ｎ）を介して、前記通信元アドレス（ＡＤ２）にアクセスして通信開始要求（Ｓ１５）を行う通信開始要求部（４４０Ａ）と、
前記通信開始要求（Ｓ１５）に応じて、前記通信元の別な端末装置（４００Ｂ）から、通信開始受諾確認（Ｓ１６）が返信されてきたら、前記通信元の別な端末装置（４００Ｂ）との間に通信セッションを確立して通信（Ｓ１７）を開始する通信先セッション確立部（４６０Ａ）と、
前記通信先の別な端末装置（４００Ａ）から、自己（４００Ｂ）を通信元とする通信開始要求（Ｓ１５）がなされたら、前記通信先の別な端末装置（４００Ａ）に対して通信開始受諾確認（Ｓ１６）を送信し、前記通信先の別な端末装置（４００Ａ）との間に通信セッションを確立して通信（Ｓ１７）を開始する通信元セッション確立部（４３０Ｂ）と、
を有し、
前記複数の接続仲介装置（３００；１００Ｘ，１００Ｙ，１００Ｚ）のそれぞれは、
前記端末装置（４００Ａ−４００Ｄ）のそれぞれについて前記端末ＩＤと前記所在アドレスとを対応づけたアドレステーブル（Ｔ）を参照するアドレステーブル参照機能と、
前記端末装置（４００Ａ−４００Ｄ）のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブル（Ｕ）を参照する担当テーブル参照機能と、
前記端末装置（４００Ｂ）の前記接続仲介依頼部（４１０Ｂ）から、前記接続仲介依頼（Ｓ１２）が送信されてきたときに、前記アドレステーブル（Ｔ）の参照結果に基づいて、前記接続仲介依頼（Ｓ１２）に含まれている通信先特定情報によって特定される端末ＩＤ（００１０）に対応づけられている所在アドレス（ＡＤ１）に対して、前記接続仲介依頼（Ｓ１２）を送信した通信元の端末装置（４００Ｂ）の端末ＩＤ（００２０）に対応づけられている所在アドレス（ＡＤ２）を通信元アドレスとして送信する通信元アドレス送信機能と、
前記接続仲介依頼（Ｓ１２）を受信したときに、前記担当テーブル（Ｕ）の参照結果に基づいて、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する担当通知機能と、
を有し、
前記接続仲介依頼部（４１０Ｂ）は、前記担当通知機能による最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼（Ｓ１２）を送信することを特徴とすることを特徴とするネットワーク通信システム。
【請求項４】
請求項３に記載のネットワーク通信システムにおいて、
接続仲介装置（３００；１００Ｘ，１００Ｙ，１００Ｚ）が、
アドレステーブル（Ｔ）を格納するアドレステーブル格納部（３１０）と、
担当テーブル（Ｕ）を格納する担当テーブル格納部（１４０Ｘ）と、
端末装置（４００Ａ−４００Ｄ）の自己アドレス通知部（４５０）からの通知に基づいて、前記アドレステーブル（Ｔ）の内容を更新するアドレステーブル更新部（３２０）と、
与えられた担当変更指示に基づいて、前記担当テーブル（Ｕ）の内容を更新する担当テーブル更新部（１５０Ｘ）と、
端末装置（４００Ｂ）の接続仲介依頼部（４１０Ｂ）から、接続仲介依頼（Ｓ１２）が送信されてきたときに、前記アドレステーブル（Ｔ）を参照して、前記接続仲介依頼（Ｓ１２）に含まれている通信先特定情報によって特定される端末ＩＤ（００１０）に対応づけられている所在アドレス（ＡＤ１）に対して、前記接続仲介依頼（Ｓ１２）を送信した通信元の端末装置（４００Ｂ）の端末ＩＤ（００２０）に対応づけられている所在アドレス（ＡＤ２）を通信元アドレスとして送信する通信元アドレス送信部（３３０）と、
を有し、
前記アドレステーブル更新部（３２０）および前記担当テーブル更新部（１５０Ｘ）は、必要に応じて別な接続仲介装置のアドレステーブル更新部（３２０）および担当テーブル更新部（１５０Ｘ）と通信することにより、すべての接続仲介装置内のアドレステーブル（Ｔ）および担当テーブル（Ｕ）の内容が一致するような同期処理を行い、
前記通信元アドレス送信部（３３０）が、前記担当テーブル（Ｕ）を参照して、自己が、通信元となる端末装置（４００Ｂ）についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置（４００Ｂ）に対して、担当接続仲介装置を通知することを特徴とするネットワーク通信システム。
【請求項５】
請求項２または４に記載のネットワーク通信システムにおいて、
各端末装置（２００Ａ−２００Ｉ；４００Ａ−４００Ｄ）の自己アドレス通知部（２５０；４５０）が、自己のネットワーク上での所在を示す所在アドレスを、自己を担当する担当接続仲介装置に対して通知することを特徴とするネットワーク通信システム。
【請求項６】
請求項２または４に記載のネットワーク通信システムにおいて、
固定アドレスが設定された固定接続仲介装置（１００Ｘ）と、浮動アドレスが設定された浮動接続仲介装置（１００Ｙ，１００Ｚ）と、を備え、
各端末装置（２００Ａ−２００Ｉ；４００Ａ−４００Ｄ）の自己アドレス通知部（２５０；４５０）が、自己のネットワーク上での所在を示す所在アドレスを、前記固定接続仲介装置に対して通知することを特徴とするネットワーク通信システム。
【請求項７】
請求項１または３に記載のネットワーク通信システムにおいて、
アドレステーブル（Ｔ）を格納するアドレステーブル格納部（５１０）と、
担当テーブル（Ｕ）を格納する担当テーブル格納部（５４０）と、
端末装置（２００Ａ−２００Ｉ；４００Ａ−４００Ｄ）の自己アドレス通知部（２５０；４５０）からの通知に基づいて、前記アドレステーブル（Ｔ）の内容を更新するアドレステーブル更新部（５２０）と、
与えられた担当変更指示に基づいて、前記担当テーブル（Ｕ）の内容を更新する担当テーブル更新部（５５０）と、
接続仲介装置（１００Ｘ′，１００Ｙ′，１００Ｚ′）からの照会に基づいて、前記アドレステーブル（Ｔ）もしくは前記担当テーブル（Ｕ）を参照し、参照結果を照会元に回答する照会回答部（５３０）と、
を有するテーブル格納装置（５００）を更に備え、
接続仲介装置（１００Ｘ′，１００Ｙ′，１００Ｚ′）は、前記テーブル格納装置（５００）に対する照会を行うことにより、アドレステーブル（Ｔ）の参照および担当テーブル（Ｕ）の参照を行うことを特徴とするネットワーク通信システム。
【請求項８】
請求項７に記載のネットワーク通信システムにおいて、
各端末装置（２００Ａ−２００Ｉ；４００Ａ−４００Ｄ）と各接続仲介装置（１００Ｘ′，１００Ｙ′，１００Ｚ′）との間および各端末装置（２００Ａ−２００Ｉ；４００Ａ−４００Ｄ）とテーブル格納装置（５００）との間をインターネット（Ｎ）を介して接続し、各接続仲介装置（１００Ｘ′，１００Ｙ′，１００Ｚ′）とテーブル格納装置（５００）との間をインターネット（Ｎ）より高速な通信が可能な高速通信線（Ｈ）によって接続したことを特徴とするネットワーク通信システム。
【請求項９】
請求項１〜８のいずれかに記載のネットワーク通信システムにおいて、
固定アドレスが設定された固定接続仲介装置（１００Ｘ）と、浮動アドレスが設定された浮動接続仲介装置（１００Ｙ，１００Ｚ）と、を備え、
端末装置（２００Ａ−２００Ｉ；４００Ａ−４００Ｄ）の接続仲介依頼部（２１０；４１０）は、自己の担当となる前記浮動接続仲介装置（１００Ｙ，１００Ｚ）に対して浮動アドレスを用いたアクセスを行ったときに、当該アスセスに失敗した場合には、前記固定接続仲介装置（１００Ｘ）に対して固定アドレスを用いた再アクセスを行うことを特徴とするネットワーク通信システム。
【請求項１０】
請求項１〜９のいずれかに記載のネットワーク通信システムにおいて、
新たな接続仲介装置をシステムに追加する追加処理および既存の接続仲介装置をシステムから削除する削除処理を行う管理用端末装置（２００Ｓ）を更に備え、
前記管理用端末装置（２００Ｓ）は、
前記追加処理を行う際には、追加対象となる新たな接続仲介装置が担当することになる端末装置を決定し、当該決定に基づいて、担当テーブル（Ｕ）の内容を更新するための担当変更指示を行い、
前記削除処理を行う際には、削除対象となる既存の接続仲介装置が担当していた端末装置について新たな担当を決定し、当該決定に基づいて、担当テーブル（Ｕ）の内容を更新するための担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１１】
請求項１０に記載のネットワーク通信システムにおいて、
管理用端末装置（２００Ｓ）が、オペレータからの指示に基づいて、追加処理および削除処理を実行し、オペレータからの指示に基づいて、担当テーブル（Ｕ）の内容を更新するための担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１２】
請求項１０に記載のネットワーク通信システムにおいて、
管理用端末装置（２００Ｓ）が、各接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）の負荷をモニタする機能を有し、前記モニタの結果、負荷が所定の上限値を超えるオーバーロード接続仲介装置の存在が判明した場合には、新たな接続仲介装置をシステムに追加する追加処理を実行し、前記オーバーロード接続仲介装置が担当していた一部の端末装置を前記新たな接続仲介装置に担当させる担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１３】
請求項１０に記載のネットワーク通信システムにおいて、
管理用端末装置（２００Ｓ）が、各接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）の負荷をモニタする機能を有し、前記モニタの結果、負荷が所定の下限値を下まわるアンダーロード接続仲介装置の存在が判明した場合には、前記アンダーロード接続仲介装置をシステムから削除する削除処理を実行し、前記アンダーロード接続仲介装置が担当していた端末装置を別な接続仲介装置に担当させる担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１４】
請求項１０に記載のネットワーク通信システムにおいて、
管理用端末装置（２００Ｓ）が、各接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）の負荷をモニタする機能を有し、前記モニタの結果を踏まえて、各接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）の負荷が分散されるような担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１５】
請求項１〜９のいずれかに記載のネットワーク通信システムにおいて、
接続仲介装置（１００Ｘ''）が、必要に応じて新たな接続仲介装置をシステムに追加する追加処理および既存の接続仲介装置をシステムから削除する削除処理を行う仲介自律管理部（１６０Ｘ）を更に備え、
前記仲介自律管理部（１６０Ｘ）は、
前記追加処理を行う際には、追加対象となる新たな接続仲介装置が担当することになる端末装置を決定し、当該決定に基づいて、担当テーブル（Ｕ）の内容を更新するため担当変更指示を行い、
前記削除処理を行う際には、削除対象となる既存の接続仲介装置が担当していた端末装置について新たな担当を決定し、当該決定に基づいて、担当テーブル（Ｕ）の内容を更新するための担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１６】
請求項１５に記載のネットワーク通信システムにおいて、
接続仲介装置（１００Ｘ''）に含まれる仲介自律管理部（１６０Ｘ）が、当該接続仲介装置（１００Ｘ''）自身の負荷である親負荷が所定の上限値を超えるオーバーロード状態である場合に、自己を親接続仲介装置（１００Ｘ''）として新たに子接続仲介装置（１００Ｙ）をシステムに追加する追加処理を実行し、前記親接続仲介装置（１００Ｘ''）が担当していた一部の端末装置を前記子接続仲介装置（１００Ｙ）に担当させる担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１７】
請求項１６に記載のネットワーク通信システムにおいて、
親接続仲介装置（１００Ｘ''）に含まれる仲介自律管理部（１６０Ｘ）が、既存の子接続仲介装置（１００Ｙ）の負荷である子負荷が所定の上限値を超えるオーバーロード状態である場合に、自己を親接続仲介装置（１００Ｘ''）として、前記既存の子接続仲介装置（１００Ｙ）とは別の新たな子接続仲介装置（１００Ｚ）をシステムに追加する追加処理を実行し、前記既存の子接続仲介装置（１００Ｙ）が担当していた一部の端末装置を前記新たな子接続仲介装置（１００Ｚ）に担当させる担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項１８】
請求項１７に記載のネットワーク通信システムにおいて、
既存の子接続仲介装置（１００Ｙ）が、当該子接続仲介装置（１００Ｙ）自身の負荷である子負荷が所定の上限値を超えるオーバーロード状態である場合に、親接続仲介装置（１００Ｘ''）に対して援助要請を行い、
親接続仲介装置（１００Ｘ''）に含まれる仲介自律管理部が、前記援助要請を受けたときに、別の新たな子接続仲介装置（１００Ｚ）をシステムに追加する追加処理を実行することを特徴とするネットワーク通信システム。
【請求項１９】
請求項１６〜１８のいずれかに記載のネットワーク通信システムにおいて、
親接続仲介装置（１００Ｘ''）に含まれる仲介自律管理部（１６０Ｘ）が、親接続仲介装置（１００Ｘ''）自身の負荷である親負荷と子接続仲介装置（１００Ｙ，１００Ｚ）の負荷である子負荷の合計が所定の下限値を下まわるアンダーロード状態である場合に、特定の子接続仲介装置をシステムから削除する削除処理を実行し、削除された子接続仲介装置が担当していた端末装置を前記親接続仲介装置（１００Ｘ''）もしくは削除されなかった子接続仲介装置に担当させる担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項２０】
請求項１６に記載のネットワーク通信システムにおいて、
親接続仲介装置（１００Ｘ''）に含まれる仲介自律管理部（１６０Ｘ）が、親接続仲介装置（１００Ｘ''）自身の負荷である親負荷と子接続仲介装置（１００Ｙ，１００Ｚ）の負荷である子負荷について偏りが生じている場合に、負荷の偏りが分散されるような担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項２１】
請求項２０に記載のネットワーク通信システムにおいて、
子接続仲介装置（１００Ｙ，１００Ｚ）が、当該子接続仲介装置（１００Ｙ，１００Ｚ）自身の負荷である子負荷が所定の警戒値を超える警戒状態である場合に、親接続仲介装置（１００Ｘ''）に対して警戒状態報告を行い、前記子負荷が所定の余裕値を下まわる余裕状態である場合に、親接続仲介装置（１００Ｘ''）に対して余裕状態報告を行い、
親接続仲介装置（１００Ｘ''）に含まれる仲介自律管理部（１６０Ｘ）が、前記警戒状態報告を行った子接続仲介装置が担当する端末装置の一部を、前記余裕状態報告を行った子接続仲介装置の担当に変更する担当変更指示を行うことを特徴とするネットワーク通信システム。
【請求項２２】
請求項１〜２１のいずれかに記載のネットワーク通信システムにおいて、
複数の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）には、個々の接続仲介装置を相互に識別するための仲介装置ＩＤがそれぞれ付与されており、
端末ＩＤと所在アドレスとを対応づけたアドレステーブル（Ｔ）と、端末ＩＤと仲介装置ＩＤとを対応づけた担当テーブル（Ｕ）と、が用いられることを特徴とするネットワーク通信システム。
【請求項２３】
請求項２２に記載のネットワーク通信システムにおいて、
端末ＩＤと所在アドレスと仲介装置ＩＤとを相互に対応づけた融合テーブル（Ｍ）を用意し、この融合テーブル（Ｍ）において、端末ＩＤと所在アドレスとの対応部分をアドレステーブル（Ｔ）として利用し、端末ＩＤと仲介装置ＩＤとの対応部分を担当テーブル（Ｕ）として利用することを特徴とするネットワーク通信システム。
【請求項２４】
請求項１〜２３のいずれかに記載のネットワーク通信システムにおける接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）。
【請求項２５】
請求項２４に記載の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）としてコンピュータを機能させるプログラム。
【請求項２６】
ネットワーク（Ｎ）を介して相互に接続可能な複数の端末装置（２００Ａ−２００Ｉ）について、通信元端末装置と通信先端末装置との間の接続を仲介する接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）であって、
前記端末装置（２００Ａ−２００Ｉ）のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブル（Ｔ）を参照するアドレステーブル参照手段と、
前記端末装置（２００Ａ−２００Ｉ）のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブル（Ｕ）を参照する担当テーブル参照手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、前記アドレステーブル（Ｔ）の参照結果に基づいて得られる前記通信先端末装置の所在アドレスを、前記通信元端末装置に返信する通信先アドレス返信手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、前記担当テーブル（Ｕ）の参照結果に基づいて、自己が、前記通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、前記通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、
を有することを特徴とする接続仲介装置。
【請求項２７】
ネットワーク（Ｎ）を介して相互に接続可能な複数の端末装置（４００Ａ−４００Ｄ）について、通信元端末装置と通信先端末装置との間の接続を仲介する接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）であって、
前記端末装置（４００Ａ−４００Ｄ）のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブル（Ｔ）を参照するアドレステーブル参照手段と、
前記端末装置（４００Ａ−４００Ｄ）のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブル（Ｕ）を参照する担当テーブル参照手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、前記アドレステーブル（Ｔ）の参照結果に基づいて得られる前記通信先端末装置の所在アドレスに対して、前記通信元端末装置の所在アドレスを送信する通信元アドレス送信手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、前記担当テーブル（Ｕ）の参照結果に基づいて、自己が、前記通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、前記通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、
を有することを特徴とする接続仲介装置。
【請求項２８】
ネットワーク（Ｎ）を介して相互に接続可能な複数の端末装置（２００Ａ−２００Ｉ，４００Ａ−４００Ｄ）について、通信元端末装置と通信先端末装置との間の接続を仲介する接続仲介システムであって、複数の接続仲介装置（１００Ｘ，１００Ｙ，１００Ｚ）を有し、
各接続仲介装置は、
前記端末装置（２００Ａ−２００Ｉ，４００Ａ−４００Ｄ）のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブル（Ｔ）を参照するアドレステーブル参照手段と、
前記端末装置（２００Ａ−２００Ｉ，４００Ａ−４００Ｄ）のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブル（Ｕ）を参照する担当テーブル参照手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、前記アドレステーブル（Ｔ）の参照結果に基づいて得られる前記通信先端末装置の所在アドレスを、前記通信元端末装置に返信する通信先アドレス返信手段もしくは前記アドレステーブル（Ｔ）の参照結果に基づいて得られる前記通信先端末装置の所在アドレスに対して、前記通信元端末装置の所在アドレスを送信する通信元アドレス送信手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、前記担当テーブル（Ｕ）の参照結果に基づいて、自己が、前記通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、前記通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、
を有することを特徴とする接続仲介システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介した端末間通信を行うためのネットワーク通信システムに関する。
【背景技術】
【０００２】
今日、パソコンやスマートフォンをはじめとする様々な端末装置がインターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末の現時点での所在アドレスを何らかの方法で認識する必要がある。【０００３】
このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間の通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献１には、第１の端末装置と中継装置との間にセキュアな第１の通信チャネルを確保し、第２の端末装置と中継装置との間にセキュアな第２の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。【０００４】
そこで、最近は、ＳＩＰ（Session Initiation Protocol）と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献２，３には、このＳＩＰを利用して端末間におけるＶＰＮ通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２２９４３６号公報
【特許文献２】特開２０１０−２３３１６７号公報
【特許文献３】特開２０１３−０３８６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したとおり、特許文献２，３に開示されているネットワーク通信システムに用いられる接続仲介装置は、ＳＩＰを利用して両端末間の接続仲介処理を行うことになる。この接続仲介処理は、両端末間に通信セッションが確立されるまでの一時的な処理であるため、特許文献１に開示されている従来型の中継処理に比べれば、その処理負荷は軽減されることになる。しかしながら、両端末間に通信セッションが確立するまで関与する必要があるため、多数の端末装置から同時に仲介依頼があると、その処理負荷は無視できないものになる。このため、仲介依頼が集中すると、通信セッション確立までの一時的な仲介処理であっても、システムの処理能力を超えてしまうおそれがある。【０００７】
特に、モバイル端末では、ネットワーク上の所在アドレスとして時間的に変動する浮動アドレスが付与されるため、接続仲介装置は、接続仲介依頼を受けた端末装置に対して、通信相手となる端末装置の現時点での浮動アドレスをその都度通知する必要がある。このため、多数の端末装置からの接続仲介依頼が集中すると、接続仲介装置は輻輳状態に陥り、仲介処理を円滑に運ぶことが困難になる。【０００８】
そこで本発明は、接続仲介処理の負荷を軽減し、任意の端末装置間の接続仲介処理を円滑に運ぶことが可能なネットワーク通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
(1)   本発明の第１の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する複数の接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、複数の接続仲介装置は、端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれには、
自己のネットワーク上での所在を示す所在アドレスを、特定の外部装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、担当接続仲介装置に対して、通信先の別な端末装置の端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介依頼に応じて、担当接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
を設け、
複数の接続仲介装置のそれぞれは、
端末装置のそれぞれについて端末ＩＤと所在アドレスとを対応づけたアドレステーブルを参照するアドレステーブル参照機能と、
端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルを参照する担当テーブル参照機能と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルの参照結果に基づいて、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信機能と、
接続仲介依頼を受信したときに、担当テーブルの参照結果に基づいて、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する担当通知機能と、
を有するようにし、
接続仲介依頼部が、担当通知機能による最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼を送信するようにしたものである。【００１０】
(2)   本発明の第２の態様は、上述した第１の態様に係るネットワーク通信システムにおいて、
接続仲介装置が、
アドレステーブルを格納するアドレステーブル格納部と、
担当テーブルを格納する担当テーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
与えられた担当変更指示に基づいて、担当テーブルの内容を更新する担当テーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
を有し、
アドレステーブル更新部および担当テーブル更新部は、必要に応じて別な接続仲介装置のアドレステーブル更新部および担当テーブル更新部と通信することにより、すべての接続仲介装置内のアドレステーブルおよび担当テーブルの内容が一致するような同期処理を行い、
通信先アドレス返信部が、担当テーブルを参照して、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知するようにしたものである。【００１１】
(3)   本発明の第３の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する複数の接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、複数の接続仲介装置は、端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれには、
自己のネットワーク上での所在を示す所在アドレスを、特定の外部装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、担当接続仲介装置に対して、通信先の別な端末装置の端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
を設け、
複数の接続仲介装置のそれぞれは、
端末装置のそれぞれについて端末ＩＤと所在アドレスとを対応づけたアドレステーブルを参照するアドレステーブル参照機能と、
端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルを参照する担当テーブル参照機能と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルの参照結果に基づいて、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末ＩＤに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信機能と、
接続仲介依頼を受信したときに、担当テーブルの参照結果に基づいて、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する担当通知機能と、
を有し、
接続仲介依頼部は、担当通知機能による最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼を送信するようにしたものである。【００１２】
(4)   本発明の第４の態様は、上述した第３の態様に係るネットワーク通信システムにおいて、
接続仲介装置が、
アドレステーブルを格納するアドレステーブル格納部と、
担当テーブルを格納する担当テーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
与えられた担当変更指示に基づいて、担当テーブルの内容を更新する担当テーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末ＩＤに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
を有し、
アドレステーブル更新部および担当テーブル更新部は、必要に応じて別な接続仲介装置のアドレステーブル更新部および担当テーブル更新部と通信することにより、すべての接続仲介装置内のアドレステーブルおよび担当テーブルの内容が一致するような同期処理を行い、
通信元アドレス送信部が、担当テーブルを参照して、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知するようにしたものである。【００１３】
(5)   本発明の第５の態様は、上述した第２または第４の態様に係るネットワーク通信システムにおいて、
各端末装置の自己アドレス通知部が、自己のネットワーク上での所在を示す所在アドレスを、自己を担当する担当接続仲介装置に対して通知するようにしたものである。【００１４】
(6)   本発明の第６の態様は、上述した第２または第４の態様に係るネットワーク通信システムにおいて、
固定アドレスが設定された固定接続仲介装置と、浮動アドレスが設定された浮動接続仲介装置と、を設け、
各端末装置の自己アドレス通知部が、自己のネットワーク上での所在を示す所在アドレスを、固定接続仲介装置に対して通知するようにしたものである。【００１５】
(7)   本発明の第７の態様は、上述した第１または第３の態様に係るネットワーク通信システムにおいて、
アドレステーブルを格納するアドレステーブル格納部と、
担当テーブルを格納する担当テーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
与えられた担当変更指示に基づいて、担当テーブルの内容を更新する担当テーブル更新部と、
接続仲介装置からの照会に基づいて、アドレステーブルもしくは担当テーブルを参照し、参照結果を照会元に回答する照会回答部と、
を有するテーブル格納装置を更に設け、
接続仲介装置が、テーブル格納装置に対する照会を行うことにより、アドレステーブルの参照および担当テーブルの参照を行うようにしたものである。【００１６】
(8)   本発明の第８の態様は、上述した第７の態様に係るネットワーク通信システムにおいて、
各端末装置と各接続仲介装置との間および各端末装置とテーブル格納装置との間をインターネットを介して接続し、各接続仲介装置とテーブル格納装置との間をインターネットより高速な通信が可能な高速通信線によって接続するようにしたものである。【００１７】
(9)   本発明の第９の態様は、上述した第１〜第８の態様に係るネットワーク通信システムにおいて、
固定アドレスが設定された固定接続仲介装置と、浮動アドレスが設定された浮動接続仲介装置と、を設け、
端末装置の接続仲介依頼部が、自己の担当となる浮動接続仲介装置に対して浮動アドレスを用いたアクセスを行ったときに、当該アスセスに失敗した場合には、固定接続仲介装置に対して固定アドレスを用いた再アクセスを行うようにしたものである。【００１８】
(10)  本発明の第１０の態様は、上述した第１〜第９の態様に係るネットワーク通信システムにおいて、
新たな接続仲介装置をシステムに追加する追加処理および既存の接続仲介装置をシステムから削除する削除処理を行う管理用端末装置を更に設け、
管理用端末装置が、
追加処理を行う際には、追加対象となる新たな接続仲介装置が担当することになる端末装置を決定し、当該決定に基づいて、担当テーブルの内容を更新するための担当変更指示を行い、
削除処理を行う際には、削除対象となる既存の接続仲介装置が担当していた端末装置について新たな担当を決定し、当該決定に基づいて、担当テーブルの内容を更新するための担当変更指示を行うようにしたものである。【００１９】
(11)  本発明の第１１の態様は、上述した第１０の態様に係るネットワーク通信システムにおいて、
管理用端末装置が、オペレータからの指示に基づいて、追加処理および削除処理を実行し、オペレータからの指示に基づいて、担当テーブルの内容を更新するための担当変更指示を行うようにしたものである。【００２０】
(12)  本発明の第１２の態様は、上述した第１０の態様に係るネットワーク通信システムにおいて、
管理用端末装置が、各接続仲介装置の負荷をモニタする機能を有し、モニタの結果、負荷が所定の上限値を超えるオーバーロード接続仲介装置の存在が判明した場合には、新たな接続仲介装置をシステムに追加する追加処理を実行し、オーバーロード接続仲介装置が担当していた一部の端末装置を新たな接続仲介装置に担当させる担当変更指示を行うようにしたものである。【００２１】
(13)  本発明の第１３の態様は、上述した第１０の態様に係るネットワーク通信システムにおいて、
管理用端末装置が、各接続仲介装置の負荷をモニタする機能を有し、モニタの結果、負荷が所定の下限値を下まわるアンダーロード接続仲介装置の存在が判明した場合には、アンダーロード接続仲介装置をシステムから削除する削除処理を実行し、アンダーロード接続仲介装置が担当していた端末装置を別な接続仲介装置に担当させる担当変更指示を行うようにしたものである。【００２２】
(14)  本発明の第１４の態様は、上述した第１０の態様に係るネットワーク通信システムにおいて、
管理用端末装置が、各接続仲介装置の負荷をモニタする機能を有し、モニタの結果を踏まえて、各接続仲介装置の負荷が分散されるような担当変更指示を行うようにしたものである。【００２３】
(15)  本発明の第１５の態様は、上述した第１〜第９の態様に係るネットワーク通信システムにおいて、
接続仲介装置に、必要に応じて新たな接続仲介装置をシステムに追加する追加処理および既存の接続仲介装置をシステムから削除する削除処理を行う仲介自律管理部を更に設け、
仲介自律管理部は、
追加処理を行う際には、追加対象となる新たな接続仲介装置が担当することになる端末装置を決定し、当該決定に基づいて、担当テーブルの内容を更新するため担当変更指示を行い、
削除処理を行う際には、削除対象となる既存の接続仲介装置が担当していた端末装置について新たな担当を決定し、当該決定に基づいて、担当テーブルの内容を更新するための担当変更指示を行うようにしたものである。【００２４】
(16)  本発明の第１６の態様は、上述した第１５の態様に係るネットワーク通信システムにおいて、
接続仲介装置に含まれる仲介自律管理部が、当該接続仲介装置自身の負荷である親負荷が所定の上限値を超えるオーバーロード状態である場合に、自己を親接続仲介装置として新たに子接続仲介装置をシステムに追加する追加処理を実行し、親接続仲介装置が担当していた一部の端末装置を子接続仲介装置に担当させる担当変更指示を行うようにしたものである。【００２５】
(17)  本発明の第１７の態様は、上述した第１６の態様に係るネットワーク通信システムにおいて、
親接続仲介装置に含まれる仲介自律管理部が、既存の子接続仲介装置の負荷である子負荷が所定の上限値を超えるオーバーロード状態である場合に、自己を親接続仲介装置として、既存の子接続仲介装置とは別の新たな子接続仲介装置をシステムに追加する追加処理を実行し、既存の子接続仲介装置が担当していた一部の端末装置を新たな子接続仲介装置に担当させる担当変更指示を行うようにしたものである。【００２６】
(18)  本発明の第１８の態様は、上述した第１７の態様に係るネットワーク通信システムにおいて、
既存の子接続仲介装置が、当該子接続仲介装置自身の負荷である子負荷が所定の上限値を超えるオーバーロード状態である場合に、親接続仲介装置に対して援助要請を行い、
親接続仲介装置に含まれる仲介自律管理部が、援助要請を受けたときに、別の新たな子接続仲介装置をシステムに追加する追加処理を実行するようにしたものである。【００２７】
(19)  本発明の第１９の態様は、上述した第１６〜第１８の態様に係るネットワーク通信システムにおいて、
親接続仲介装置に含まれる仲介自律管理部が、親接続仲介装置自身の負荷である親負荷と子接続仲介装置の負荷である子負荷の合計が所定の下限値を下まわるアンダーロード状態である場合に、特定の子接続仲介装置をシステムから削除する削除処理を実行し、削除された子接続仲介装置が担当していた端末装置を親接続仲介装置もしくは削除されなかった子接続仲介装置に担当させる担当変更指示を行うようにしたものである。【００２８】
(20)  本発明の第２０の態様は、上述した第１６の態様に係るネットワーク通信システムにおいて、
親接続仲介装置に含まれる仲介自律管理部が、親接続仲介装置自身の負荷である親負荷と子接続仲介装置の負荷である子負荷について偏りが生じている場合に、負荷の偏りが分散されるような担当変更指示を行うようにしたものである。【００２９】
(21)  本発明の第２１の態様は、上述した第２０の態様に係るネットワーク通信システムにおいて、
子接続仲介装置が、当該子接続仲介装置自身の負荷である子負荷が所定の警戒値を超える警戒状態である場合に、親接続仲介装置に対して警戒状態報告を行い、子負荷が所定の余裕値を下まわる余裕状態である場合に、親接続仲介装置に対して余裕状態報告を行い、
親接続仲介装置に含まれる仲介自律管理部が、警戒状態報告を行った子接続仲介装置が担当する端末装置の一部を、余裕状態報告を行った子接続仲介装置の担当に変更する担当変更指示を行うようにしたものである。【００３０】
(22)  本発明の第２２の態様は、上述した第１〜２１の態様に係るネットワーク通信システムにおいて、
複数の接続仲介装置に、個々の接続仲介装置を相互に識別するための仲介装置ＩＤをそれぞれ付与し、
端末ＩＤと所在アドレスとを対応づけたアドレステーブルと、端末ＩＤと仲介装置ＩＤとを対応づけた担当テーブルと、を用いるようにしたものである。【００３１】
(23)  本発明の第２３の態様は、上述した第２２の態様に係るネットワーク通信システムにおいて、
端末ＩＤと所在アドレスと仲介装置ＩＤとを相互に対応づけた融合テーブルを用意し、この融合テーブルにおいて、端末ＩＤと所在アドレスとの対応部分をアドレステーブルとして利用し、端末ＩＤと仲介装置ＩＤとの対応部分を担当テーブルとして利用するようにしたものである。【００３２】
(24)  本発明の第２４の態様は、上述した第１〜第２３の態様に係るネットワーク通信システムにおける接続仲介装置に係るものである。【００３３】
(25)  本発明の第２５の態様は、上述した第２４の態様に係る接続仲介装置を、コンピュータにプログラムを組み込むことにより構成したものである。【００３４】
(26)  本発明の第２６の態様は、ネットワークを介して相互に接続可能な複数の端末装置について、通信元端末装置と通信先端末装置との間の接続を仲介する接続仲介装置において、
端末装置のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブルを参照するアドレステーブル参照手段と、
端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルを参照する担当テーブル参照手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、アドレステーブルの参照結果に基づいて得られる通信先端末装置の所在アドレスを、通信元端末装置に返信する通信先アドレス返信手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、担当テーブルの参照結果に基づいて、自己が、通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、
を設けるようにしたものである。【００３５】
(27)  本発明の第２７の態様は、ネットワークを介して相互に接続可能な複数の端末装置について、通信元端末装置と通信先端末装置との間の接続を仲介する接続仲介装置において、
端末装置のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブルを参照するアドレステーブル参照手段と、
端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルを参照する担当テーブル参照手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、アドレステーブルの参照結果に基づいて得られる通信先端末装置の所在アドレスに対して、通信元端末装置の所在アドレスを送信する通信元アドレス送信手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、担当テーブルの参照結果に基づいて、自己が、通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、
を設けるようにしたものである。【００３６】
(28)  本発明の第２８の態様は、ネットワークを介して相互に接続可能な複数の端末装置について、通信元端末装置と通信先端末装置との間の接続を仲介する接続仲介装置システムにおいて、複数の接続仲介装置を設け、
各接続仲介装置には、
端末装置のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブルを参照するアドレステーブル参照手段と、
端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルを参照する担当テーブル参照手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、アドレステーブルの参照結果に基づいて得られる通信先端末装置の所在アドレスを、通信元端末装置に返信する通信先アドレス返信手段、もしくは、アドレステーブルの参照結果に基づいて得られる通信先端末装置の所在アドレスに対して、通信元端末装置の所在アドレスを送信する通信元アドレス送信手段と、
通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、担当テーブルの参照結果に基づいて、自己が、通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、
を設けるようにしたものである。
【発明の効果】
【００３７】
本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階（第１の実施形態の場合）、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階（第２の実施形態の場合）まで行えば足りる。したがって、従来のＳＩＰを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。【００３８】
しかも、本発明のネットワーク通信システムには、複数の接続仲介装置が設けられており、担当テーブルによって、個々の接続仲介装置が担当する端末装置が定められる。そして、各端末装置は、自己を担当する接続仲介装置に対して接続仲介依頼を行うことになる。このため、多数の端末装置からの接続仲介依頼が同時に発生しても、これらの接続仲介依頼は複数の接続仲介装置によって分散して処理されることになり、特定の接続仲介装置が輻輳状態に陥ることを防ぐことができる。【００３９】
また、システム運用中に各接続仲介装置の処理負荷に変動が生じた場合は、接続仲介装置の増減や担当変更を行うことにより、柔軟に対処することが可能である。たとえば、特定の接続仲介装置の処理負荷が急増した場合は、新たな接続仲介装置を追加して処理負荷を分散させることができ、特定の接続仲介装置の処理負荷が低減した場合は、当該接続仲介装置を削除して運用コストを下げることができる。もちろん、担当テーブルを適宜更新することにより、すべての端末装置について、いずれかの接続仲介装置を担当として充てることができる。【００４０】
各接続仲介装置は、端末装置からの接続仲介依頼があると、当該端末装置が自己の担当であるか否かにかかわらず、依頼された接続仲介処理を実行する。このため、担当変更後に、旧担当に対して接続仲介依頼が行われた場合でも、接続仲介処理は支障なく実行される。ただ、各接続仲介装置は、自己の担当でない端末装置からの接続仲介依頼があった場合には、依頼された接続仲介処理を実行するとともに、当該端末装置に対して、現時点での担当を通知する処理を行うので、当該端末装置は、以後、通知された担当接続仲介装置に対して接続仲介依頼を行うことができ、特定の接続仲介装置に接続仲介依頼が集中して輻輳状態になることを避けることができる。【００４１】
かくして、本発明のネットワーク通信システムによれば、任意の端末装置間の接続仲介処理を円滑に運ぶことが可能になる。
【図面の簡単な説明】
【００４２】
【図１】先願基本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
【図２】図１に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
【図３】図２に示す端末装置における自己アドレス通知部２５０の機能を示すブロック図である。
【図４】図１に示すネットワーク通信システムにおいて、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の通信セッション確立の手順を示すブロック図である。
【図５】図４のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
【図６】先願基本発明の第２の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
【図７】図６に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
【図８】図６に示すネットワーク通信システムにおいて、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の通信セッション確立の手順を示すブロック図である。
【図９】図８のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
【図１０】図１もしくは図６に示すアドレステーブルの第１の変形例を示す図である。
【図１１】図１もしくは図６に示すアドレステーブルの第２の変形例を示す図である。
【図１２】図１もしくは図６に示すアドレステーブルの第３の変形例を示す図である。
【図１３】図１に示すネットワーク通信システムにおいて、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の通信セッション確立の手順の変形例を示すブロック図である。
【図１４】図６に示すネットワーク通信システムにおいて、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の通信セッション確立の手順の変形例を示すブロック図である。
【図１５】ルータを介して端末装置をネットワークＮに接続する場合の先願基本発明の実施形態を示すブロック図である。
【図１６】図１５に示す実施形態において、ＩＰアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。
【図１７】先願基本発明に係る端末装置を通信アプリケーションプログラムを用いて構成する場合における自己アドレスの通知タイミングを示す表である。
【図１８】先願基本発明に係るネットワーク通信システムにおいて、ＶＰＮを利用した実施形態の全体構成を示すブロック図である。
【図１９】図１８に示す実施形態におけるＶＰＮ通信の原理を示す図である。
【図２０】図１８に示す実施形態に用いるために、ＶＩＰアドレスを追加したアドレステーブルの例を示す図である。
【図２１】本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
【図２２】図２１に示すネットワーク通信システムに利用されるアドレステーブルＴおよび担当テーブルＵの具体例を示す図である。
【図２３】図２２に示すアドレステーブルＴおよび担当テーブルＵを融合させた融合テーブルＭを示す図である。
【図２４】図２１に示すネットワーク通信システムにおいて、アドレステーブルＴおよび担当テーブルＵを各接続仲介装置の内部に格納した実施例を示すブロック図である。
【図２５】図２１に示すネットワーク通信システムにおいて、各接続仲介装置とは別にテーブル格納装置５００を設け、アドレステーブルＴおよび担当テーブルＵをこのテーブル格納装置５００の内部に格納した実施例を示すブロック図である。
【図２６】図２１に示すネットワーク通信システムにおいて、各接続仲介装置の内部に仲介自律管理部１６０Ｘを設け、接続仲介装置の追加・削除および担当変更処理を自律的に行うようにした実施例を示すブロック図である。
【発明を実施するための形態】
【００４３】
以下、本発明を図示する実施形態に基づいて説明する。なお、ここで述べる実施形態は、ＰＣＴ／ＪＰ２０１６／０５５９６０に基づく優先権主張を伴う国際出願ＰＣＴ／ＪＰ２０１７／００６１３１、以下、先願となる国際出願と呼ぶ）に記載された発明（以下、先願基本発明と呼ぶ）を基礎とするものである。本発明の特徴は、この先願基本発明に用いられている接続仲介装置を複数組設けて接続仲介処理を分散させることにより、各接続仲介装置の処理負荷を軽減し、任意の端末装置間の接続仲介処理を円滑に運ぶことができるようにした点にある。
【００４４】
このような事情から、ここでは、先願基本発明を基礎とした本発明の実施形態を、本発明の好ましい一実施形態として述べることにする。そこで、以下の§１〜§４において、まず、先願基本発明の説明を行い、§５以降において、本発明に固有の特徴について述べることにする。したがって、以下の§１〜§４で述べる内容（図１〜図２０に示す内容）は、実質的に先願となる国際出願ＰＣＴ／ＪＰ２０１７／００６１３１に記載された実施形態と同じものである。
【００４５】
＜＜＜  §１．  先願基本発明の第１の実施形態  ＞＞＞
＜１−１．  先願基本発明の第１の実施形態の構成＞
図１は、先願基本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置１００と複数の端末装置２００Ａ〜２００Ｄによって構成されており、これらの各装置はいずれもネットワークＮ（この例では、インターネット）を介して相互に接続することが可能である。
【００４６】
図では、説明の便宜上、４台の端末装置２００Ａ〜２００Ｄを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置２００Ａ〜２００Ｄは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号２００を用いて示し、相互に区別する必要がある場合には、符号末尾にＡ〜Ｄを付して示すことにする。端末装置２００の内部構成要素を示す各符号についても同様である。
【００４７】
結局、このネットワーク通信システムは、ネットワークＮを介して相互に接続可能な複数の端末装置２００Ａ〜２００Ｄと、これら複数の端末装置間の接続を仲介する接続仲介装置１００と、を備えたシステムということになる。端末装置２００としては、パソコン、携帯電話、タブレット型端末など、ネットワークＮに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置１００は、これら各端末装置２００Ａ〜２００ＤからネットワークＮを介してアクセスを受けるサーバコンピュータによって構成されている。
【００４８】
各端末装置２００Ａ〜２００Ｄには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、接続仲介装置１００は、この端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置２００Ａ，２００Ｂ，２００Ｃ，２００Ｄには、それぞれ「００１０」，「００２０」，「００３０」，「００４０」なる端末ＩＤが付与されているものとする。
【００４９】
なお、先願基本発明を実施する上で、端末ＩＤは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、４台の端末装置しか用いられていないため、「００１０」のような４桁の数字を端末ＩＤとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなＩＤを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているＣＰＵのシリアル番号、通信インターフェイスに付与されたＭＡＣアドレス、携帯電話を端末装置として用いる場合は電話番号やＳＩＭカードのシリアル番号、などを端末ＩＤとして用いることが可能である。
【００５０】
各端末装置２００Ａ〜２００Ｄには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置２００Ａ，２００Ｂ，２００Ｃ，２００Ｄには、それぞれＡＤ１，ＡＤ２，ＡＤ３，ＡＤ４なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークＮとしてインターネットを用い、通信プロトコルとしてＩＰを利用する場合は、個々の端末装置２００のネットワークＮ上での所在を示す所在アドレスとして、グローバルＩＰアドレスもしくはＮＡＴ−ＩＤを用いるのが好ましい。
【００５１】
端末ＩＤが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークＮを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点設置型の端末装置の場合も、プロバイダから付与されるＩＰアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。
【００５２】
後述するように、先願基本発明に用いる端末装置２００は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークＮを介して接続仲介装置１００に通知する機能を有している。このため、接続仲介装置１００は、各端末装置２００Ａ〜２００Ｄの最新アドレスを常に把握することができ、必要に応じて、各端末装置２００Ａ〜２００Ｄにアクセスすることが可能である。
【００５３】
図示のとおり、接続仲介装置１００には、アドレステーブル格納部１１０、アドレステーブル更新部１２０、通信先アドレス返信部１３０が設けられている。前述したとおり、この接続仲介装置１００は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
【００５４】
アドレステーブル格納部１１０には、各端末装置２００Ａ〜２００Ｄのそれぞれについて、端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴが格納されており、アドレステーブル更新部１２０は、各端末装置２００Ａ〜２００Ｄからの通知に基づいて、このアドレステーブルＴの内容を更新する処理を行う。また、通信先アドレス返信部１３０は、各端末装置２００Ａ〜２００Ｄから接続仲介依頼があると、アドレステーブルＴを参照することにより、通信先アドレスを返信する処理を行う。
【００５５】
図には、アドレステーブルＴとして、４台の端末装置２００Ａ〜２００Ｄのそれぞれについて、端末ＩＤと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置２００Ａについては端末ＩＤ「００１０」と所在アドレス「ＡＤ１」とが対応づけられ、端末装置２００Ｂについては端末ＩＤ「００２０」と所在アドレス「ＡＤ２」とが対応づけられ、端末装置２００Ｃについては端末ＩＤ「００３０」と所在アドレス「ＡＤ３」とが対応づけられ、端末装置２００Ｄについては端末ＩＤ「００４０」と所在アドレス「ＡＤ４」とが対応づけられている。
【００５６】
続いて、図２を参照しながら、端末装置２００の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置２００には、接続仲介依頼部２１０、通信要求受付部２２０、通信先セッション確立部２３０、通信開始要求部２４０、自己アドレス通知部２５０、通信元セッション確立部２６０が設けられている。
【００５７】
この端末装置２００も、実際には、種々のコンピュータ（携帯電話などの機器も含む）によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置２００には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置２００がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置２００には、ユーザからの指示入力や文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。
【００５８】
結局、図２において、端末装置２００内に６つのブロックとして描かれている構成要素は、先願基本発明に係る端末装置２００において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の３通りの矢印が用いられている。ここで、太線矢印は、端末装置２００と接続仲介装置１００との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置２００の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置２００の間でやりとりされる、通信セッション確立後の信号の流れを示している。
【００５９】
また、図２では、端末装置２００内の６つの構成要素が、楕円、矩形、二重矩形という３通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置２００が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置２００が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置２００が「通信先」として機能する場合に必要な処理を実行する構成要素である。
【００６０】
本願において、「通信元」および「通信先」という用語は、２台の端末装置が相互に通信を行う場合に、これら２台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば，２台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。
【００６１】
もちろん、端末装置２００は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図２に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図２に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置２００の６つの構成要素の各機能を順に説明する。
【００６２】
上述したように、楕円ブロックで示されている自己アドレス通知部２５０は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置１００に対して通知する処理を実行する。所在アドレスとしてＩＰアドレスを用いるのであれば、自己アドレス通知部２５０は、現時点で自己に付与されたＩＰアドレスをネットワークＮを介して接続仲介装置１００に通知する処理を行うことになる。
【００６３】
通常、インターネットに接続可能な端末装置２００には、インターネットプロバイダから所定のグローバルＩＰアドレスが付与されるので、自己アドレス通知部２５０は、端末装置２００に付与されたグローバルＩＰアドレスを、所在アドレスとして接続仲介装置１００に対して通知すればよい。また、ルータのＮＡＴ機能を利用して、プライベートＩＰアドレスが付与されている場合には、ＮＡＴ−ＩＤを所在アドレスとして接続仲介装置１００に対して通知すればよい。所在アドレスを通知する際には、端末ＩＤを同時に送信するようにする。
【００６４】
図１に示すアドレステーブル更新部１２０は、このような通知を受けて、アドレステーブルＴの更新を行う。たとえば、端末装置２００Ａから接続仲介装置１００に対して、端末ＩＤ「００１０」と所在アドレス「ＡＤ１」とが通知された場合、アドレステーブル更新部１２０は、端末ＩＤ「００１０」と所在アドレス「ＡＤ１」とを対応づけてアドレステーブルＴに格納する処理を行う。
【００６５】
前述したとおり、一般的な端末装置２００の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部２５０には、所定周期で繰り返して、現時点の自己（端末装置２００）の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部２５０が１分おきに繰り返し通知を行うようにすれば、アドレステーブルＴは１分おきに最新の情報に更新されることになる。
【００６６】
あるいは、自己アドレス通知部２５０には、自己（端末装置２００）の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。
【００６７】
次に、図２に矩形ブロックで示されている４つの構成要素について説明する。上述したように、これら４つの構成要素は、端末装置２００が「通信元」として機能する場合に必要な処理を実行する。
【００６８】
まず、通信要求受付部２２０は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置２００（通信元）のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置（通信先）に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力（たとえば、タッチパネル上での操作）として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。
【００６９】
接続仲介依頼部２１０は、通信要求受付部２２０によって通信要求が受け付けられたときに、接続仲介装置１００に対して、通信先の別な端末装置の端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末ＩＤであってもよいし、当該端末ＩＤを特定することが可能な別な情報であってもかまわない（詳細は、§３−１で述べる）。
【００７０】
こうして、接続仲介依頼部２１０から送信された接続仲介依頼は、ネットワークＮを介して接続仲介装置１００へと伝達される（前述したように、図における太線矢印は、端末装置２００と接続仲介装置１００との間でやりとりされる、通信セッション確立前の信号の流れを示している）。すると、接続仲介装置１００からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図１に示す通信先アドレス返信部１３０の機能によるものである。
【００７１】
すなわち、通信先アドレス返信部１３０は、端末装置２００の接続仲介依頼部２１０から、接続仲介依頼が送信されてきたときに、アドレステーブルＴを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置２００である。要するに、通信先アドレス返信部１３０は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルＴを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。
【００７２】
このように、接続仲介依頼部２１０によって接続仲介依頼を行うと、接続仲介装置１００からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部２４０によって受信される。通信開始要求部２４０は、この通信先アドレスにネットワークＮを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、１台の端末装置２００（通信元）から別な１台の端末装置２００（通信先）に宛てた信号ということになる。
【００７３】
このように、通信開始要求部２４０によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる（図の右側の細線矢印：この返信処理については、通信先の別な端末装置の通信先セッション確立部２３０の処理として後述する）。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部２６０によって受信される。通信元セッション確立部２６０は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図２の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【００７４】
以上、図２に矩形ブロックで示されている４つの構成要素、すなわち、端末装置２００が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図２に二重矩形ブロックで示されている構成要素、すなわち、端末装置２００が「通信先」として機能する場合に処理を実行する構成要素について説明する。
【００７５】
図２において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部２３０である。この通信先セッション確立部２３０は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら（図の左側の下向き細線矢印）、当該通信元の別な端末装置に対して通信開始受諾確認を送信し（図の左側の上向き細線矢印）、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図２の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【００７６】
結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部２６０と通信先端末装置の通信先セッション確立部２３０との間で行われることになる。別言すれば、図２の右端の白抜矢印は、ネットワークＮを介して、図２の左端の白抜矢印に連なることになる。
【００７７】
＜１−２．  第１の実施形態における具体的な通信手順＞
これまで、図１および図２を参照しながら、先願基本発明の第１の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置１００および端末装置２００の各構成要素およびその機能を説明した。ここでは、この第１の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
【００７８】
図３は、図２に示す端末装置における自己アドレス通知部２５０の機能を示すブロック図である。図の上段には接続仲介装置１００が示され、図の下段には２組の端末装置２００Ａ，２００Ｂが示されている。ここでは、端末装置２００Ｃ，２００Ｄの図示は省略するが、自己アドレス通知部２５０の機能は同じである。なお、前述したとおり、接続仲介装置１００と各端末装置２００Ａ，２００Ｂとの間の情報のやりとり（太線矢印で示す）は、実際にはネットワークＮを介して行われるが、ここでは説明の便宜上、ネットワークＮの図示は省略する。
【００７９】
図３に示す端末装置２００Ａ，２００Ｂは、図２に示す端末装置２００と同様に６つの構成要素を有している。すなわち、端末装置２００Ａは、構成要素２１０Ａ〜２６０Ａを有し、端末装置２００Ｂは、構成要素２１０Ｂ〜２６０Ｂを有しており、これら各構成要素は、図２に示す構成要素２１０〜２６０と同一のものである（符号末尾のＡ，Ｂは、いずれの端末装置の構成要素であるかを区別するために付したものである）。なお、この図３は、端末装置２００Ａ，２００Ｂの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部２５０Ａ，２５０Ｂ以外の構成要素のブロックは破線で示してある。
【００８０】
自己アドレス通知部２５０Ａ，２５０Ｂは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置１００内のアドレステーブル更新部１２０に対して通知する処理を行う。図３には、自己アドレス通知部２５０Ａからアドレステーブル更新部１２０への通知として、「００１０：ＡＤ１」なるデータが送信されている例が示されているが、これは、自己の端末ＩＤ「００１０」とともに自己の現時点での所在アドレス「ＡＤ１」を送信していることを示している。同様に、自己アドレス通知部２５０Ｂからアドレステーブル更新部１２０への通知として、「００２０：ＡＤ２」なるデータが送信されている例が示されているが、これは、自己の端末ＩＤ「００２０」とともに自己の現時点での所在アドレス「ＡＤ２」を送信していることを示している。
【００８１】
各端末装置２００Ａ，２００Ｂの自己アドレス通知部２５０Ａ，２５０Ｂから、このような通知を受けたアドレステーブル更新部１２０が、当該通知に基づいて、アドレステーブルＴの内容を更新する処理を行う点は、既に§１−１で述べたとおりである。また、自己アドレス通知部２５０Ａ，２５０Ｂが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§１−１で述べたとおりである。
【００８２】
このように、自己アドレス通知部２５０が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置１００内のアドレステーブルＴを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置１００による正しい仲介処理が実現できるのである。
【００８３】
続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図４は、図１に示すネットワーク通信システムにおいて、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の通信セッション確立の手順を示すブロック図である。この図４においても、図の上段には接続仲介装置１００が示され、図の下段には２組の端末装置２００Ａ，２００Ｂが示されている。ここでも、接続仲介装置１００と端末装置２００Ａとの間の情報のやりとり（太線矢印で示す）や、端末装置２００Ａ，２００Ｂ間の情報のやりとり（細線矢印で示す）は、実際にはネットワークＮを介して行われるが、説明の便宜上、ネットワークＮの図示は省略する。
【００８４】
また、ここでは、説明の便宜上、端末装置２００Ａを通信元、端末装置２００Ｂを通信先とした場合の手順を説明する。このため、図４では、通信元端末装置２００Ａ内の構成要素については、通信元として必要な処理を実行する構成要素（矩形ブロックの構成要素）のみを実線で示し、通信先端末装置２００Ｂ内の構成要素については、通信先として必要な処理を実行する構成要素（二重矩形ブロックの構成要素）のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
【００８５】
一方、図５は、図４のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図４のブロック図を参照しながら、図５の流れ図に従って、第１の実施形態における具体的な通信手順を説明する。なお、図４のブロック図において、各矢印に付された符号Ｓ１〜Ｓ７は、図５の流れ図における各ステップＳ１〜Ｓ７に対応するものである。逆に、図５の流れ図の各ステップにおいて、括弧書きで示された符号は、図４のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
【００８６】
まず、ステップＳ１において、通信要求受付処理が行われる。これは、図４に示す通信要求受付部２２０Ａによって行われる処理であり、たとえば、通信元端末装置２００ＡのユーザＡが、通信先端末装置２００ＢのユーザＢに対して電話をしたい、という場合に、ユーザＡの操作入力に基づいて行われる処理である。たとえば、各端末装置２００Ａ，２００Ｂが携帯電話であり、端末ＩＤとして、それぞれの電話番号を用いている場合は、ユーザＡは端末装置２００Ａに対して、端末装置２００Ｂの端末ＩＤ（電話番号）を入力する操作を伴う通信要求Ｓ１を行えばよい。すなわち、端末装置２００Ａの通信要求受付部２２０Ａは、自己を通信元として、通信先の別な端末装置２００Ｂに対する通信要求Ｓ１を受け付ける処理を行うことになる。
【００８７】
なお、通信要求受付部２２０Ａが通信要求Ｓ１を受け付けるのは、必ずしもユーザＡが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザＡ，Ｂが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部２２０Ａに対して通信要求Ｓ１が与えられることになる。あるいは、端末装置２００Ａ，２００Ｂが何らかのビジネス処理を行うパソコンであり、パソコン２００Ａに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン２００Ｂに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部２２０Ａに対して通信要求Ｓ１が与えられることになる。このように、先願基本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。
【００８８】
こうして、ステップＳ１において通信要求受付が行われると、続くステップＳ２において、接続仲介依頼が行われる。これは、図４に示す接続仲介依頼部２１０Ａによって行われる処理であり、既に述べたとおり、接続仲介装置１００に対して、通信先の別な端末装置２００Ｂの端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼Ｓ２を送信する処理である。
【００８９】
なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛にアクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部２１０Ａから接続仲介依頼Ｓ２を送信する際には、自己の所在アドレス「ＡＤ１」が接続仲介装置１００側に伝達されることになる。後述するステップＳ４における返信処理は、この所在アドレス「ＡＤ１」宛に行われる。
【００９０】
こうして、通信元端末装置２００Ａの接続仲介依頼部２１０Ａから、接続仲介装置１００へ接続仲介依頼が送信されてくると、ステップＳ３において、この接続仲介依頼を受けた通信先アドレス返信部１３０が、アドレステーブル格納部１１０に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤ（この例では、「００２０」）に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルＴが、図１に示すようなものであったとすると、端末ＩＤ「００２０」に対応づけられているアドレス「ＡＤ２」が通信先アドレスとして認識される。
【００９１】
そこで、ステップＳ４において、通信先アドレス返信部１３０が、ステップＳ３で認識した通信先アドレス「ＡＤ２」を返信する処理を行う。もちろん、返信相手は、ステップＳ２において接続仲介依頼を行った通信元端末装置２００Ａである。前述したとおり、接続仲介依頼Ｓ２には通信元端末装置２００Ａの所在アドレス「ＡＤ１」の情報が含まれているので、通信先アドレス返信部１３０は、当該所在アドレス「ＡＤ１」宛に、通信先アドレス「ＡＤ２」を返信することができる。
【００９２】
こうして、通信先アドレス返信部１３０から通信先アドレス返信Ｓ４（通信先アドレス「ＡＤ２」を伝達する情報）が送信されてくると、当該通信先アドレス返信Ｓ４は、通信開始要求部２４０Ａによって受信される。結局、通信元端末装置２００Ａが、接続仲介装置１００に対して接続仲介依頼Ｓ２を行うと、この接続仲介依頼Ｓ２に応じて、接続仲介装置１００から、通信先端末装置２００Ｂのネットワーク上での所在を示す通信先アドレス「ＡＤ２」が返信されてくることになる。接続仲介装置１００に用意されているアドレステーブルＴは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「ＡＤ２」は、通信先端末装置２００Ｂの最新の所在アドレスということになる。
【００９３】
そこで、この通信先アドレス返信Ｓ４により、通信先アドレス「ＡＤ２」を取得した通信開始要求部２４０Ａは、ステップＳ５において、通信先端末装置２００Ｂに対して通信開始要求Ｓ５を行う。すなわち、ネットワークＮを介して、通信先アドレス「ＡＤ２」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス（通信元アドレス「ＡＤ１」）も併せて伝達されることになる。
【００９４】
通信先アドレス「ＡＤ２」宛に行われた通信開始要求Ｓ５は、通信先端末装置２００Ｂの通信先セッション確立部２３０Ｂによって受信される。通信先セッション確立部２３０Ｂは、通信元端末装置２００Ａから、自己（端末装置２００Ｂ）を通信先とする通信開始要求Ｓ５がなされたら、まず、ステップＳ６において、ネットワークＮを介して通信元端末装置２００Ａに対して通信開始受諾確認Ｓ６を送信する。そして、続くステップＳ７において、通信元端末装置２００Ａとの間に通信セッションを確立して通信Ｓ７を開始する。
【００９５】
一方、通信元端末装置２００Ａ宛に送信されてきた通信開始受諾確認Ｓ６は、通信元セッション確立部２６０Ａによって受信される。そして、ステップＳ７では、この通信開始受諾確認Ｓ６を受信した通信元セッション確立部２６０Ａが、通信先端末装置２００Ｂとの間に通信セッションを確立して通信Ｓ７を開始する処理も行われる。要するに、通信元端末装置２００Ａ側では、通信開始要求Ｓ５に応じて、通信先端末装置２００Ｂから通信開始受諾確認Ｓ６が返信されてきたら、当該通信先端末装置２００Ｂとの間に通信セッションを確立して通信を開始する処理を行うことになる。
【００９６】
かくして、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間に通信セッションが確立され、両者間での通信Ｓ７が行われることになる。この図５に示す流れ図において、接続仲介装置１００が行った処理は、ステップＳ３のアドレステーブル参照処理とステップＳ４の通信先アドレス返信処理だけである。すなわち、接続仲介装置１００が行う仲介処理は、通信元端末装置２００Ａからの接続仲介依頼Ｓ２を受けて、アドレステーブルＴを参照し（ステップＳ３）、得られた通信先アドレスを通信元端末装置２００Ａに対して返信する（ステップＳ４）だけである。接続仲介装置１００がこのような仲介処理を行うだけで、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間に通信セッションが確立され、両者間での通信が開始することになる。
【００９７】
このように、先願基本発明の第１の実施形態に係るネットワーク通信システムでは、接続仲介装置１００の処理負荷は極めて軽くなる。前述したように、ＳＩＰを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第１の実施形態に係るシステムの場合、接続仲介装置１００は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
【００９８】
このように、先願基本発明の第１の実施形態に係るネットワーク通信システムでは、接続仲介装置１００が通信セッション確立まで関与しないため、接続仲介装置１００は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部２６０Ａもしくは通信先セッション確立部２３０Ｂから接続仲介装置１００に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
【００９９】
なお、上述の実施例では、通信先セッション確立部２３０Ｂが、通信元端末装置２００Ａから、自己を通信先とする通信開始要求Ｓ５がなされた時に、ステップＳ６において、当該通信元端末装置２００Ａに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求Ｓ５を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい（あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい）。すなわち、通信先セッション確立部２３０Ｂに何らかの条件判断機能をもたせておき、通信開始要求Ｓ５がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。
【０１００】
たとえば、通信先端末装置２００ＢのユーザＢが、通信先セッション確立部２３０に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求Ｓ５に、通信元端末装置２００Ａを特定するための何らかの通信元特定情報（たとえば、端末ＩＤ）を含ませるようにしておけば、通信先セッション確立部２３０Ｂは、通信開始要求Ｓ５を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。
【０１０１】
たとえば、通信先セッション確立部２３０Ｂに、通信開始要求Ｓ５を常に拒絶する通信元リスト（いわゆるブラックリスト）や通信開始要求Ｓ５を常に受諾する通信元リスト（いわゆるホワイトリスト）を用意しておけば、通信先セッション確立部２３０Ｂは、当該リストを参照することにより、通信開始要求Ｓ５を受諾するか拒絶するかの判断を行うことができる。
【０１０２】
また、§３−３で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求Ｓ５に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
【０１０３】
＜＜＜  §２．先願基本発明の第２の実施形態  ＞＞＞
＜２−１．  先願基本発明の第２の実施形態の構成＞
続いて、先願基本発明の第２の実施形態を説明する。図６は、この第２の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置３００と複数の端末装置４００Ａ〜４００Ｄによって構成されており、これらの各装置はいずれもネットワークＮ（この例では、インターネット）を介して相互に接続することが可能である。
【０１０４】
ここでも、説明の便宜上、４台の端末装置４００Ａ〜４００Ｄを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置４００Ａ〜４００Ｄは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号４００を用いて示し、相互に区別する必要がある場合には、符号末尾にＡ〜Ｄを付して示すことにする。端末装置４００の内部構成要素を示す各符号についても同様である。
【０１０５】
この図６に示すネットワーク通信システムは、ネットワークＮを介して相互に接続可能な複数の端末装置４００Ａ〜４００Ｄと、これら複数の端末装置間の接続を仲介する接続仲介装置３００と、を備えたシステムということになる。やはり端末装置４００としては、パソコン、携帯電話、タブレット型端末など、ネットワークＮに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置３００は、これら各端末装置４００Ａ〜４００ＤからネットワークＮを介してアクセスを受けるサーバコンピュータによって構成されている。
【０１０６】
各端末装置４００Ａ〜４００Ｄには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、接続仲介装置３００は、この端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末ＩＤとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第１の実施形態の場合と同様に、端末装置４００Ａ，４００Ｂ，４００Ｃ，４００Ｄには、それぞれ「００１０」，「００２０」，「００３０」，「００４０」なる端末ＩＤが付与されているものとする。
【０１０７】
また、各端末装置４００Ａ〜４００Ｄには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第１の実施形態の場合と同様に、端末装置４００Ａ，４００Ｂ，４００Ｃ，４００Ｄに、それぞれＡＤ１，ＡＤ２，ＡＤ３，ＡＤ４なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルＩＰアドレスもしくはＮＡＴ−ＩＤを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。
【０１０８】
図示のとおり、接続仲介装置３００には、アドレステーブル格納部３１０、アドレステーブル更新部３２０、通信元アドレス送信部３３０が設けられている。この接続仲介装置３００は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
【０１０９】
アドレステーブル格納部３１０は、図１に示すアドレステーブル格納部１１０と同じ構成要素であり、各端末装置４００Ａ〜４００Ｄのそれぞれについて、端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴを格納する機能を有する。図６に示すアドレステーブルＴは、図１に示すアドレステーブルＴと全く同じものである。アドレステーブル更新部３２０は、図１に示すアドレステーブル更新部１２０と同じ構成要素であり、各端末装置４００Ａ〜４００Ｄからの通知に基づいて、アドレステーブルＴの内容を更新する処理を行う。このように、図６に示す構成要素３１０，３２０は、実質的に図１に示す構成要素１１０，１２０と同じものであるため、ここでは詳細な説明は省略する。
【０１１０】
一方、通信元アドレス送信部３３０は、図１に示す通信先アドレス返信部１３０に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部３３０は、各端末装置４００Ａ〜４００Ｄから接続仲介依頼があると、アドレステーブルＴを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。
【０１１１】
続いて、図７を参照しながら、端末装置４００の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置４００には、接続仲介依頼部４１０、通信要求受付部４２０、通信元セッション確立部４３０、通信開始要求部４４０、自己アドレス通知部４５０、通信先セッション確立部４６０が設けられている。
【０１１２】
この端末装置４００も、実際には、種々のコンピュータ（携帯電話などの機器も含む）によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置４００にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。
【０１１３】
この図７においても、図２と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置４００と接続仲介装置３００との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置４００の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置４００の間でやりとりされる、通信セッション確立後の信号の流れを示している。
【０１１４】
また、図２と同様に、図７に楕円ブロックで示されている構成要素は、端末装置４００が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置４００が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置４００が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置４００が、「通信元」になったときには、図７に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図７に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図７に示す端末装置４００の６つの構成要素の各機能を順に説明する。
【０１１５】
まず、楕円ブロックで示されている自己アドレス通知部４５０は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置３００に対して通知する処理を実行する。この自己アドレス通知部４５０の機能は、図２に示す自己アドレス通知部２５０の機能と全く同じであるため、ここでは詳しい説明は省略する。図６に示すアドレステーブル更新部３２０は、この通知を受けて、アドレステーブルＴの更新を行う。
【０１１６】
次に、図７に矩形ブロックもしくは二重矩形ブロックで示されている５つの構成要素について説明する。上述したように、矩形ブロックで示されている３つの構成要素は、端末装置４００が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている２つの構成要素は、端末装置４００が「通信先」として機能する場合に必要な処理を実行する。
【０１１７】
まず、通信要求受付部４２０は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図２に示す通信要求受付部２２０と全く同じ機能をもつ構成要素である。また、接続仲介依頼部４１０は、通信要求受付部４２０によって通信要求が受け付けられたときに、接続仲介装置３００に対して、通信先の別な端末装置の端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図２に示す接続仲介依頼部２１０と全く同じ機能をもつ構成要素である。
【０１１８】
こうして、接続仲介依頼部４１０から送信された接続仲介依頼は、ネットワークＮを介して接続仲介装置３００へと伝達される（図における太線矢印は、端末装置４００と接続仲介装置３００との間でやりとりされる、通信セッション確立前の信号の流れを示している）。すると、接続仲介装置３００からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部４４０によって受信される。
【０１１９】
ここで留意すべき点は、接続仲介装置３００からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図７に示す例において、矩形ブロックで示す接続仲介依頼部４１０は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部４４０は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部４１０と、これに応じて接続仲介装置３００から送信されてくる通信元アドレスを受信する通信開始要求部４４０とは、それぞれ異なる端末装置４００に所属していることになる。
【０１２０】
要するに、図６に示されている通信元アドレス送信部３３０は、ある端末装置４００の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルＴを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末ＩＤに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。
【０１２１】
この通信元アドレス送信部３３０の処理機能をより明確にするため、ここでは、図６に示す端末装置４００Ｂを通信元、端末装置４００Ａを通信先とした具体例（たとえば、端末装置４００ＢのユーザＢが発呼側となり、端末装置４００ＡのユーザＡを着呼側として電話をかけたような場合）について、上記手順を説明しよう。
【０１２２】
この場合、通信元端末装置４００Ｂから接続仲介装置３００に対して、端末装置４００Ａを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部３３０は、アドレステーブルＴを参照することにより、通信先として指定された端末装置４００Ａの所在アドレス「ＡＤ１」を認識する。前述した第１の実施形態における通信先アドレス返信部１３０は、こうして認識した通信先の所在アドレスを通信元（接続仲介依頼の送信元）に返信する処理を行っていた。これに対して、図６に示す第２の実施形態における通信元アドレス送信部３３０は、認識した通信先の所在アドレス「ＡＤ１」に宛てて、通信元端末装置４００Ｂの所在を示す通信元アドレス「ＡＤ２」（これは、接続仲介依頼の送信元のアドレスとして認識できる）を送信する。
【０１２３】
結局、上例の場合、通信元端末装置４００Ｂから接続仲介装置３００に対して接続仲介依頼を行うと、接続仲介装置３００から通信先端末装置４００Ａに対して通信元アドレス（通信元端末装置４００Ｂの所在アドレス「ＡＤ２」）が送信されることになる。ここが、前述した第１の実施形態と大きく異なる点である。
【０１２４】
こうして送信されてきた通信元アドレスは、図７に示すとおり、通信先端末装置４００Ａ内の通信開始要求部４４０によって受信される。通信開始要求部４４０は、この通信元アドレス（通信元端末装置４００Ｂのアドレス）に対して通信開始要求を行う。すなわち、通信開始要求部４４０は、接続仲介装置３００から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークＮを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、１台の端末装置４００（通信先）から別な１台の端末装置４００（通信元）に宛てた信号ということになる。
【０１２５】
一方、通信先の別な端末装置（上例の場合、端末装置４００Ａ）から通信開始要求がなされた端末装置（上例の場合、端末装置４００Ｂ）は、当該通信開始要求を通信元セッション確立部４３０で受信する（図の左側の下向き細線矢印）。そして、この通信元セッション確立部４３０は、通信先の別な端末装置（上例の場合、端末装置４００Ａ）に対して通信開始受諾確認を返信し（図の左側の上向き細線矢印）、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図７の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【０１２６】
こうして、通信元端末装置４００Ｂから通信先端末装置４００Ａに対して返信された通信開始受諾確認は、通信先端末装置４００Ａの通信先セッション確立部４６０によって受信される（図の右側の細線矢印）。通信先セッション確立部４６０は、この通信開始受諾確認を受信したら、通信元の別な端末装置４００Ｂとの間に通信セッションを確立して通信を開始する。図７の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【０１２７】
かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部４３０と通信先端末装置の通信先セッション確立部４６０との間で行われることになる。別言すれば、図７の左端の白抜矢印は、ネットワークＮを介して、図７の右端の白抜矢印に連なることになる。
【０１２８】
＜２−２．  第２の実施形態における具体的な通信手順＞
これまで、図６および図７を参照しながら、先願基本発明の第２の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置３００および端末装置４００の各構成要素およびその機能を説明した。ここでは、この第２の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
【０１２９】
まず、図７に示す端末装置における自己アドレス通知部４５０の機能であるが、これは図３を用いて説明した自己アドレス通知部２５０Ａ，２５０Ｂの機能と全く同じであるため、ここでは説明を省略する。
【０１３０】
そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図８は、図６に示すネットワーク通信システムにおいて、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の通信セッション確立の手順を示すブロック図である。この図８では、図の上段に接続仲介装置３００が示され、図の下段に２組の端末装置４００Ａ，４００Ｂが示されている。ここでも、接続仲介装置３００と各端末装置４００Ａ，４００Ｂとの間の情報のやりとり（太線矢印で示す）や、端末装置４００Ａ，４００Ｂ間の情報のやりとり（細線矢印で示す）は、実際にはネットワークＮを介して行われるが、説明の便宜上、ネットワークＮの図示は省略する。
【０１３１】
また、ここでは、説明の便宜上、端末装置４００Ｂを通信元、端末装置４００Ａを通信先とした場合の手順を説明する。このため、図８では、通信元端末装置４００Ｂ内の構成要素については、通信元として必要な処理を実行する構成要素（矩形ブロックの構成要素）のみを実線で示し、通信先端末装置４００Ａ内の構成要素については、通信先として必要な処理を実行する構成要素（二重矩形ブロックの構成要素）のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
【０１３２】
一方、図９は、図８のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図８のブロック図を参照しながら、図９の流れ図に従って、第２の実施形態における具体的な通信手順を説明する。なお、図８のブロック図において、各矢印に付された符号Ｓ１１〜Ｓ１７は、図９の流れ図における各ステップＳ１１〜Ｓ１７に対応するものである。逆に、図９の流れ図の各ステップにおいて、括弧書きで示された符号は、図８のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
【０１３３】
まず、ステップＳ１１において、通信要求受付処理が行われる。これは、図８に示す通信要求受付部４２０Ｂによって通信要求を受け付ける処理であり、図５のステップＳ１で述べた処理と同様であるため説明は省略する。続くステップＳ１２では、この通信要求に基づいて、接続仲介依頼Ｓ１２が行われる。これは、図８に示す接続仲介依頼部４１０Ｂによって行われる処理であり、図５のステップＳ２で述べた処理と同様であるため説明は省略する。
【０１３４】
こうして、通信元端末装置４００Ｂの接続仲介依頼部４１０Ｂから、接続仲介装置３００へ接続仲介依頼Ｓ１２（図示の例では、通信先特定情報として、通信先端末装置４００Ａの端末ＩＤ「００１０」が含まれている）が送信されてくると、ステップＳ１３において、この接続仲介依頼Ｓ１２を受けた通信元アドレス送信部３３０が、アドレステーブル格納部３１０に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤ（この例では、「００１０」）に対応づけられている所在アドレスを通信先アドレスとして認識する（Ｓ１３）。たとえば、その時点におけるアドレステーブルＴが、図６に示すようなものであったとすると、端末ＩＤ「００１０」に対応づけられているアドレス「ＡＤ１」が通信先アドレスとして認識される。
【０１３５】
そこで、ステップＳ１４において、通信元アドレス返信部３３０が、ステップＳ１３で認識した通信先アドレス「ＡＤ１」宛に、接続仲介依頼Ｓ１２を送信した通信元端末装置４００Ｂの端末ＩＤ「００２０」に対応づけられている所在アドレス「ＡＤ２」を通信元アドレスとして送信する（Ｓ１４）。
【０１３６】
前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部３３０は、接続仲介依頼Ｓ１２を受信した時点で、その送信元である端末装置４００Ｂの所在アドレス「ＡＤ２」を認識することができるので、通信元アドレス送信Ｓ１４を行う際には、この認識した所在アドレス「ＡＤ２」をデータとして送信すればよい。
【０１３７】
このように、通信元端末装置４００Ｂが、接続仲介装置３００に対して接続仲介依頼Ｓ１２を行うと、この接続仲介依頼Ｓ１２に応じて、接続仲介装置３００から、通信先端末装置４００Ａ宛に（アドレステーブルＴで検索した所在アドレス「ＡＤ１」宛に）、通信元端末装置４００Ｂの所在を示す通信元アドレス「ＡＤ２」が送信されることになる。接続仲介装置３００に用意されているアドレステーブルＴは、常に最新の状態に更新されているので、通信元アドレス送信Ｓ１４は、常に通信先端末装置４００Ａの最新の所在アドレスに対して行われることになる。
【０１３８】
こうして、通信元アドレス送信部３３０から通信元アドレス送信Ｓ１４（通信元アドレス「ＡＤ２」を伝達する情報）が送信されてくると、当該通信元アドレス送信Ｓ１４は、通信先端末装置４００Ａの通信開始要求部４４０Ａによって受信される。
【０１３９】
この通信元アドレス送信Ｓ１４により、通信元アドレス「ＡＤ２」を取得した通信開始要求部４４０Ａは、ステップＳ１５において、通信元端末装置４００Ｂに対して通信開始要求Ｓ１５を行う。すなわち、ネットワークＮを介して、通信元アドレス「ＡＤ２」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス（通信元アドレス「ＡＤ１」）も併せて伝達されることになる。
【０１４０】
通信元アドレス「ＡＤ２」宛に行われた通信開始要求Ｓ１５は、通信元端末装置４００Ｂの通信元セッション確立部４３０Ｂによって受信される。通信元セッション確立部４３０Ｂは、通信先端末装置４００Ａから、自己（端末装置４００Ｂ）を通信元とする通信開始要求Ｓ１５がなされたら、まず、ステップＳ１６において、ネットワークＮを介して通信先端末装置４００Ａに対して通信開始受諾確認Ｓ１６を送信する。そして、続くステップＳ１７において、通信先端末装置４００Ａとの間に通信セッションを確立して通信Ｓ１７を開始する。
【０１４１】
一方、通信先端末装置４００Ａ宛に送信されてきた通信開始受諾確認Ｓ１６は、通信先セッション確立部４６０Ａによって受信される。そして、ステップＳ１７では、この通信開始受諾確認Ｓ１６を受信した通信先セッション確立部４６０Ａが、通信元端末装置４００Ｂとの間に通信セッションを確立して通信Ｓ１７を開始する処理も行われる。要するに、通信先端末装置４００Ａ側では、通信開始要求Ｓ１５に応じて、通信元端末装置４００Ｂから通信開始受諾確認Ｓ１６が返信されてきたら、当該通信元端末装置４００Ｂとの間に通信セッションを確立して通信を開始する処理を行うことになる。
【０１４２】
かくして、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間に通信セッションが確立され、両者間での通信Ｓ１７が行われることになる。この図９に示す流れ図において、接続仲介装置３００が行った処理は、ステップＳ１３のアドレステーブル参照処理とステップＳ１４の通信元アドレス送信処理だけである。すなわち、接続仲介装置３００が行う仲介処理は、通信元端末装置４００Ｂからの接続仲介依頼Ｓ１２を受けて、アドレステーブルＴを参照し（ステップＳ１３）、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する（ステップＳ１４）だけである。接続仲介装置３００がこのような仲介処理を行うだけで、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間に通信セッションが確立され、両者間での通信が開始することになる。
【０１４３】
このように、先願基本発明の第２の実施形態に係るネットワーク通信システムでは、第１の実施形態に係るネットワーク通信システムと同様に、接続仲介装置３００の処理負荷は極めて軽くなる。前述したように、ＳＩＰを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第２の実施形態に係るシステムの場合、接続仲介装置３００は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
【０１４４】
このように、先願基本発明の第２の実施形態に係るネットワーク通信システムでは、接続仲介装置３００が通信セッション確立まで関与しないため、接続仲介装置３００は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部４３０Ｂもしくは通信先セッション確立部４６０Ａから接続仲介装置３００に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
【０１４５】
なお、上述の実施例では、通信先端末装置４００Ａの通信開始要求部４４０Ａが、接続仲介装置３００からの通信元アドレス送信Ｓ１４を受信したときに、ステップＳ１５において、自動的に通信開始要求Ｓ１５を送信しているが、場合によっては、通信開始要求部４４０Ａに何らかの条件判断機能をもたせておき、通信元アドレス送信Ｓ１４を受信したときに、所定の条件を満たしている場合に限り、通信開始要求Ｓ１５を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求Ｓ１５の代わりに、通信開始拒絶通知を送信するようにしてもよい。
【０１４６】
たとえば、通信開始要求部４４０Ａに、通信開始を常に拒絶する通信元リスト（いわゆるブラックリスト）や通信開始を常に許可する通信元リスト（いわゆるホワイトリスト）を用意しておけば、通信開始要求部４４０Ａは、当該リストを参照することにより、通信元アドレス送信Ｓ１４によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求Ｓ１５の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求Ｓ１５を送信するような運用を行うことも可能である。
【０１４７】
また、上述の実施例では、通信元セッション確立部４３０Ｂが、通信先端末装置４００Ａから、自己を通信元とする通信開始要求Ｓ１５がなされた時に、ステップＳ１６において、当該通信先端末装置４００Ａに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求Ｓ１５を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい（あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい）。
【０１４８】
たとえば、§３−４で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求Ｓ１５に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
【０１４９】
＜＜＜  §３．  先願基本発明の第１および第２の実施形態の変形例  ＞＞＞
ここでは、§１で述べた先願基本発明の第１の実施形態および§２で述べた先願基本発明の第２の実施形態について、いくつかの変形例を述べる。
【０１５０】
＜３−１．  端末ＩＤに関する変形例＞
これまで述べてきたように、図１の接続仲介装置１００内のアドレステーブル格納部１１０には、アドレステーブルＴが格納されている。図６の接続仲介装置３００内のアドレステーブル格納部３１０も同様である。このアドレステーブルＴは、個々の端末装置のそれぞれについて、端末ＩＤと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部１３０もしくは通信元アドレス送信部３３０は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルＴを参照し、通信先の所在アドレスを取得する。
【０１５１】
たとえば、図４に示す第１の実施形態の場合、接続仲介依頼Ｓ２には、通信先端末装置２００Ｂの端末ＩＤ「００２０」が通信先特定情報として含まれており、通信先アドレス返信部１３０は、アドレステーブルＴを参照することにより、端末ＩＤ「００２０」に対応する所在アドレス「ＡＤ２」を取得することができる。同様に、図８に示す第２の実施形態の場合、接続仲介依頼Ｓ１２には、通信先端末装置４００Ａの端末ＩＤ「００１０」が通信先特定情報として含まれており、通信元アドレス送信部３３０は、アドレステーブルＴを参照することにより、端末ＩＤ「００１０」に対応する所在アドレス「ＡＤ１」を取得することができる。
【０１５２】
このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末ＩＤを用いていた。この端末ＩＤは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているＣＰＵのシリアル番号、通信インターフェイスに付与されたＭＡＣアドレス、携帯電話として機能する端末装置の場合は電話番号やＳＩＭカードのシリアル番号、などを端末ＩＤとして用いることができる。
【０１５３】
ただ、一般に、ユーザが、他のユーザの端末装置についての端末ＩＤを記憶することは困難である。したがって、通信要求を行う際に、これらの端末ＩＤを、ユーザ自身に直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末ＩＤで通信先を指定する代わりに、ユーザＩＤで通信先を指定させるようにするのが好ましい。端末ＩＤが個々の端末装置を識別するためのＩＤであるのに対して、ユーザＩＤは個々のユーザを識別するためのＩＤである。一般的には、ユーザ名やニックネームをユーザＩＤとして用いることができる。
【０１５４】
端末ＩＤの代わりにユーザＩＤを用いて通信要求を行うことができるようにするには、通信要求受付部２２０，４２０内に、ユーザＩＤと端末ＩＤとの対応表を用意しておけばよい。そして、ユーザが特定のユーザＩＤ（たとえば、ユーザ名）を指定して通信要求を行ったときに、通信要求受付部２２０，４２０が、用意されている対応表を利用してユーザＩＤを端末ＩＤに変換して接続仲介依頼部２１０，４１０へ引き渡すようにすればよい。そうすれば、接続仲介依頼部２１０，４１０は、端末ＩＤを含む接続仲介依頼を送信することができる。このようなユーザＩＤ（たとえば、ユーザ名）から端末ＩＤ（たとえば、電話番号）への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。
【０１５５】
端末ＩＤの代わりにユーザＩＤを利用できるようにする別な方法として、ユーザＩＤと端末ＩＤとの対応表を接続仲介装置１００，３００側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部１１０，３１０内に、図１や図６に示すアドレステーブルＴの代わりに、図１０に示すようなアドレステーブルＴ１を格納しておくようにする。このアドレステーブルＴ１は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザＩＤと、当該端末装置の端末ＩＤと、を対応づける情報を含むテーブルである。
【０１５６】
図１０では、説明の便宜上、ユーザＩＤとして、「John」，「Mary」のようなユーザ名を用いた例を示すが、実際には、テーブルに収録されている個々のユーザを相互に識別できるように、各ユーザのフルネームをユーザＩＤとして登録しておくようにし、もし同姓同名のユーザがいた場合には、相互に区別できるようなユーザＩＤを登録するようにする。実際には、端末装置２００，４００の自己アドレス通知部２５０，４５０に、このようなユーザＩＤを接続仲介装置１００，３００側に申告する機能を設けておき、アドレステーブル更新部１２０，３２０に、申告を受けたユーザＩＤをアドレステーブルＴ１に登録する機能を設けておけば、図１０に示すようなアドレステーブルＴ１を用意することが可能になる。
【０１５７】
アドレステーブルＴ１を用意しておけば、通信元となる端末装置側では、通信先となる端末装置の端末ＩＤを認識する必要はない。たとえば、図４に示す例において、通信元端末装置２００Ａから通信先端末装置２００Ｂに対して発呼する場合、通信元端末装置２００ＡのユーザＡ（John）は、通信先端末装置２００ＢのユーザＢのユーザ名「Mary」（ユーザＩＤ）を通信先として指定した通信要求を行えばよい。この場合、端末ＩＤ「００２０」の代わりに、「Mary」なるユーザＩＤを通信先特定情報として含む接続仲介依頼Ｓ２が、接続仲介依頼部２１０Ａから接続仲介装置１００へ送信されることになる。
【０１５８】
このような接続仲介依頼Ｓ２を受信した通信先アドレス返信部１３０は、図１０に示すアドレステーブルＴ１を参照することにより、通信先特定情報として含まれていたユーザ名「Mary」に対応する端末ＩＤ「００２０」を認識することができ、更に、この端末ＩＤ「００２０」をもつ通信先端末装置２００Ｂの所在アドレス「ＡＤ２」を認識することができる。
【０１５９】
図１１は、ユーザＩＤの代わりにアカウントＩＤを用いたアドレステーブルＴ２を示す図である。ユーザＩＤが、個々のユーザを特定する情報であるのに対して、アカウントＩＤは、個々のユーザが開設したユーザアカウントを特定する情報である。たとえば、図示の例における「U11111」なるアカウントＩＤは、ユーザ「John」が開設したユーザアカウントを示すＩＤであり、「U22222」なるアカウントＩＤは、ユーザ「Mary」が開設したユーザアカウントを示すＩＤである。もちろん、個々のユーザは、必要があれば複数のアカウントを開設することが可能である。
【０１６０】
端末装置２００，４００の自己アドレス通知部２５０，４５０に、このようなアカウントを開設するための申込機能を設けておき、アドレステーブル更新部１２０，３２０に、当該申込に応じて、所定のユーザアカウントを設定し、アカウントＩＤをアドレステーブルＴ２に登録する機能を設けておけば、図１１に示すようなアドレステーブルＴ２を用意することが可能になる。
【０１６１】
図４に示す例において、アドレステーブル格納部１１０内に図１１に示すようなアドレステーブルＴ２を用意しておけば、接続仲介依頼部２１０Ａは、端末ＩＤ「００２０」の代わりに、「U22222」なるアカウントＩＤを通信先特定情報として含む接続仲介依頼Ｓ２を接続仲介装置１００へ送信すればよい。
【０１６２】
このように、先願基本発明において、接続仲介依頼部から送信される接続仲介依頼には、通信先となる別な端末装置の端末ＩＤを特定する役割を果たす何らかの「通信先特定情報」が含まれていれば足りる。この「通信先特定情報」は、端末ＩＤ自身であってもよいし、上例のように、ユーザＩＤやアカウントＩＤであってもかまわない。
【０１６３】
結局、この§３−１で述べた変形例を§１で述べた第１の実施形態に適用する場合は、図４に示す構成において、アドレステーブル格納部１１０に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザＩＤもしくはユーザアカウントを特定するアカウントＩＤと、当該端末装置の端末ＩＤと、を対応づける情報を含むアドレステーブルＴ１（図１０）もしくはＴ２（図１１）を格納しておくようにする。また、接続仲介依頼部２１０Ａは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザＩＤもしくはユーザアカウントを特定するアカウントＩＤを用いた接続仲介依頼Ｓ２を送信するようにする。そして、通信先アドレス返信部１３０は、接続仲介依頼部２１０Ａから接続仲介依頼Ｓ２が送信されてきたときに、アドレステーブルＴ１もしくはＴ２を参照して、接続仲介依頼Ｓ２に含まれていたユーザＩＤもしくはアカウントＩＤに対応づけられている端末ＩＤを決定し、決定された端末ＩＤに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにすればよい。
【０１６４】
一方、この§３−１で述べた変形例を§２で述べた第２の実施形態に適用する場合は、図８に示す構成において、アドレステーブル格納部３１０に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザＩＤもしくはユーザアカウントを特定するアカウントＩＤと、当該端末装置の端末ＩＤと、を対応づける情報を含むアドレステーブルＴ１（図１０）もしくはＴ２（図１１）を格納しておくようにする。また、接続仲介依頼部４１０Ｂは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザＩＤもしくはユーザアカウントを特定するアカウントＩＤを用いた接続仲介依頼Ｓ１２を送信するようにする。そして、通信元アドレス送信部３３０は、接続仲介依頼部４１０Ｂから接続仲介依頼Ｓ１２が送信されてきたときに、アドレステーブルＴ１もしくはＴ２を参照して、接続仲介依頼Ｓ１２に含まれていたユーザＩＤもしくはアカウントＩＤに対応づけられている端末ＩＤを決定し、決定された端末ＩＤに対応づけられている所在アドレス宛に、通信元アドレスを送信する処理を行うようにすればよい。
【０１６５】
＜３−２．  代替端末を利用する変形例＞
前述したとおり、先願基本発明に利用可能な端末装置は、パソコン、携帯電話、タブレット型端末など多岐にわたり、最近は、同一のユーザが複数の端末装置を使い分けることも珍しくなくなってきている。ここでは、そのような状況を考慮して、特定の端末装置に対する着呼があったときに、当該着呼を同一ユーザの別な端末装置へ誘導する仕組をもった変形例を述べることにする。
【０１６６】
ここで述べる変形例を実施する際には、予め、図１２に示すようなアドレステーブルＴ３を用意しておく。このアドレステーブルＴ３の場合、４組のユーザＩＤ「John」，「Mary」，「Frank」，「Susie」について、それぞれ端末ＩＤおよび所在アドレスが登録されているが、ユーザＩＤ「John」については２つの端末ＩＤ「００１０」，「００１１」が登録され、ユーザＩＤ「Frank」については３つの端末ＩＤ「００３０」，「００３１」，「００３２」が登録されている。これは、ユーザJohnが、このネットワーク通信システムに利用可能な２台の端末装置を所有し、ユーザFrankが、３台の端末装置を所有しているためである。
【０１６７】
ここで、同一のユーザＩＤに対応づけられて登録されている複数の端末ＩＤを、１つのグループに所属する端末ＩＤとして把握し、同じグループに所属する１つの端末ＩＤを別な１つの端末ＩＤについての代替端末ＩＤと呼ぶことにすれば、図１２に示すアドレステーブルＴ３は、特定の端末ＩＤについて、１つもしくは複数の代替端末ＩＤを登録したアドレステーブルということができる。要するに、同一のユーザ名で複数の端末ＩＤの登録があった場合には、これらの端末ＩＤを同一のグループに所属するものとして把握し、相互に代替端末ＩＤとして認識する取り扱いを行うようにすればよい。
【０１６８】
たとえば、図１２に示す例の場合、端末ＩＤ「００１０」については１つの代替端末ＩＤ「００１１」が登録されており、逆に、端末ＩＤ「００１１」については１つの代替端末ＩＤ「００１０」が登録されていることになる。一方、端末ＩＤ「００３０」については２つの代替端末ＩＤ「００３１」，「００３２」が登録されており、端末ＩＤ「００３１」については２つの代替端末ＩＤ「００３０」，「００３２」が登録されており、端末ＩＤ「００３２」については２つの代替端末ＩＤ「００３０」，「００３１」が登録されていることになる。
【０１６９】
ここで述べる変形例に係るシステムでは、このような代替端末ＩＤを登録しておくことにより、利用不都合な状態にある端末装置宛に発呼があったときに、当該発呼を代替となる別な端末装置宛に転送させることができる。
【０１７０】
たとえば、ユーザJohnが、スマートフォンからなる第１の端末装置（端末ＩＤ「００１０」）とパソコンからなる第２の端末装置（端末ＩＤ「００１１」）とを所有しており、通常は、いずれの端末装置も利用可能な状態になっているものとしよう。ところが、ある日、スマートフォンからなる第１の端末装置について、バッテリ切れで一時的に利用できない状態になったとする。この場合、もし、ユーザMaryが、自己の端末装置を通信元として、ユーザJohnのスマートフォンを通信先とする通信要求を行ったとしても、ユーザJohnのスマートフォンに対する正常な接続を行うことはできない。
【０１７１】
ここで述べる変形例に係るシステムでは、このような場合、接続仲介装置が、ユーザJohnのスマートフォンの代わりに、その代替となるユーザJohnのパソコンに代替接続する処理を実行することができる。
【０１７２】
この§３−２で述べる変形例を§１で述べた先願基本発明の第１の実施形態に適用する場合は、図４に示す構成に対して、次のような変更を施せばよい。
【０１７３】
まず、アドレステーブル格納部１１０には、特定の端末ＩＤについて、１つもしくは複数の代替端末ＩＤを登録したアドレステーブル（たとえば、図１２に示すアドレステーブルＴ３）を格納しておく。そして、通信先アドレス返信部１３０には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、たとえば、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
【０１７４】
通信先アドレス返信部１３０は、接続仲介依頼Ｓ２が送信されてきたときに、通信先特定情報で特定される本来の端末ＩＤが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末ＩＤが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末ＩＤに代えて代替端末ＩＤに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにする。
【０１７５】
たとえば、図１２に示すアドレステーブルＴ３が用意されている状態において、通信先特定情報として本来の端末ＩＤ「００１０」（ユーザJohnのスマートフォン）を含む接続仲介依頼が送信されてきた場合、通信先アドレス返信部１３０は、まず、端末ＩＤ「００１０」に対応する所在アドレス「ＡＤ１」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「ＡＤ１」を通信先アドレスとして返信する処理を行えばよい。この場合、通信元端末装置は、本来の端末ＩＤ「００１０」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
【０１７６】
ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ＩＤ「００１０」が付与された端末装置（ユーザJohnのスマートフォン）が利用不都合な状態にあると判断し、本来の端末ＩＤ「００１０」に代えて、アドレステーブルＴ３において端末ＩＤ「００１０」についての代替端末ＩＤとして登録されている端末ＩＤ「００１１」に対応づけられている所在アドレス「ＡＤ５」を通信先アドレスとして返信する処理を行うようにする。この場合、通信元端末装置は、本来の端末ＩＤ「００１０」が付与されたユーザJohnのスマートフォンではなく、代替端末ＩＤ「００１１」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。
【０１７７】
一方、この§３−２で述べる変形例を§２で述べた先願基本発明の第２の実施形態に適用する場合は、図８に示す構成に対して、次のような変更を施せばよい。
【０１７８】
まず、アドレステーブル格納部３１０には、特定の端末ＩＤについて、１つもしくは複数の代替端末ＩＤを登録したアドレステーブル（たとえば、図１２に示すアドレステーブルＴ３）を格納しておく。そして、通信元アドレス送信部３３０には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、上述したように、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
【０１７９】
通信元アドレス送信部３３０は、接続仲介依頼Ｓ１２が送信されてきたときに、通信先特定情報で特定される本来の端末ＩＤが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末ＩＤが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末ＩＤに代えて代替端末ＩＤに対応づけられている所在アドレスに対して、接続仲介依頼Ｓ１２を送信した通信元端末装置の所在アドレスを通信元アドレスとして送信する処理を行うようにする。
【０１８０】
たとえば、図１２に示すアドレステーブルＴ３が用意されている状態において、通信先特定情報として本来の端末ＩＤ「００１０」（ユーザJohnのスマートフォン）を含む接続仲介依頼が送信されてきた場合、通信元アドレス送信部３３０は、まず、端末ＩＤ「００１０」に対応する所在アドレス「ＡＤ１」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「ＡＤ１」宛に通信元アドレスの送信を行えばよい。この場合、通信元端末装置は、本来の端末ＩＤ「００１０」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
【０１８１】
ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ＩＤ「００１０」が付与された端末装置（ユーザJohnのスマートフォン）が利用不都合な状態にあると判断し、本来の端末ＩＤ「００１０」に代えて、アドレステーブルＴ３において端末ＩＤ「００１０」についての代替端末ＩＤとして登録されている端末ＩＤ「００１１」に対応づけられている所在アドレス「ＡＤ５」宛に通信元アドレスの送信を行うようにする。この場合、通信元端末装置は、本来の端末ＩＤ「００１０」が付与されたユーザJohnのスマートフォンではなく、代替端末ＩＤ「００１１」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。なお、図１２に示すユーザFrankのように、複数の代替端末ＩＤが登録されている場合は、予め優先順位を定めておき、優先順位の高い順に実際に利用する代替端末ＩＤを決定すればよい。
【０１８２】
なお、上述の実施例では、通信先アドレス返信部１３０や通信元アドレス送信部３３０は、接続仲介依頼を受信した時点で、本来の通信先に対する試験アクセスを行い、利用不都合な状態にあるか否かを判定する処理を行っているが、その代わりに、個々の端末装置に対して定期的な試験アクセスを行うようにし、利用不都合な状態にある端末装置については、その時点でアドレステーブルにその旨の記録を行うようにしてもよい。この場合、各端末装置は、接続仲介依頼の有無にかかわらず、定期的に試験アクセスを受け、利用不都合な状態にあるか否かのチェックを受けることになり、チェック結果がアドレステーブルに記録されることになる。したがって、実際に接続仲介依頼があった場合は、このアドレステーブルの記録に基づいて利用不都合な状態にあるか否かを判定することができる。
【０１８３】
なお、この変形例にいう「利用不都合な状態」とは、バッテリ切れの状態やネットワークへの接続障害が生じた状態のように「利用不能な状態」のみを意味するものではない。たとえば、端末装置の機能としては正常に利用可能な状態ではあるが、ユーザが恣意的に利用したくないと考え、そのような設定を行った状態も含むものである。たとえば、ユーザが自分の意思で「着信拒否」を設定した場合、当該端末装置は「利用不都合な状態」になる。したがって、上例の場合、ユーザJohnが所持するスマートフォンおよびパソコンがいずれも正常動作可能な状態であっても、もしユーザJohnが、スマートフォンに対して「着信拒否」を設定した場合、当該スマートフォンは「利用不都合な状態」になる。
【０１８４】
この「着信拒否」の設定（「利用不都合な状態」の設定）は、個々の端末装置内にのみ記録しておいてもよいが、接続仲介装置内のアドレステーブルに記録するようにしてもよい。アドレステーブルに記録しておけば、各端末装置への試験アクセスを行うことなしに、「利用不都合な状態」にあることを認識できる。
【０１８５】
＜３−３．  セキュリティを向上させる変形例（その１）＞
ここでは、よりセキュリティを向上させたネットワーク通信システムを構築するための変形例を述べる。一般に、電子機器間でネットワークを介して情報のやりとりを行う場合、相手方の真正性を担保することは重要である。真正性が担保されない相手との交信は、クラッカーの攻撃を招くおそれがあり、セキュリティ上問題である。先願基本発明に係るネットワーク通信システムの場合、個々の端末装置と接続仲介装置との間の交信や、通信元端末装置と通信先端末装置との間の交信が不可欠であり、実用上、これら装置間通信におけるセキュリティ確保は重要である。
【０１８６】
図１３は、図４に示す第１の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第１の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための２つの対策が施されている。
【０１８７】
第１の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置２００Ａから接続仲介装置１００に対して接続仲介依頼Ｓ２を送信するときに、通信元端末装置２００Ａと接続仲介装置１００との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼Ｓ２を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置２００および接続仲介装置１００には、このような認証処理機能が備わっていることになる。
【０１８８】
なお、図示の例の場合、接続仲介装置１００から通信元端末装置２００Ａに対して通信先アドレス返信Ｓ４を行う際の相互認証処理は省略されている（通信先アドレス返信Ｓ４を示す矢印は実線で描かれている）。これは、接続仲介依頼Ｓ２を送信するときに、通信元端末装置２００Ａと接続仲介装置１００との間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信先アドレス返信Ｓ４を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
【０１８９】
また、図１３に示すシステムの場合、通信元端末装置２００Ａから通信先端末装置２００Ｂに対して通信開始要求Ｓ５を送信するときにも、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求Ｓ５を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置２００には、このような認証処理機能が備わっていることになる。
【０１９０】
なお、図示の例の場合、通信先端末装置２００Ｂから通信元端末装置２００Ａに対して通信開始受諾確認Ｓ６を行う際の相互認証処理は省略されている（通信開始受諾確認Ｓ６を示す矢印は実線で描かれている）。これは、通信開始要求Ｓ５を送信するときに、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認Ｓ６を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
【０１９１】
ネットワークを介して接続された一対の装置間において、相手方の真正性を確認するための相互認証処理としては、既に種々の方法が知られているため、ここでは詳しい説明は省略する。一般的には、相手方の暗号鍵を利用した相互認証処理が利用されることが多い。たとえば、公開鍵暗号方式を利用した相互認証処理では、一方の装置で特定の平文データを相手方装置の公開鍵を用いて暗号化し、得られた暗号文データを相手方に送信し、これを受信した他方の装置では、当該暗号文データを自己の暗号鍵を用いて復号し、元の平文データが復元できることを確認する、といった処理手順を採ることができる。この処理手順を双方で行えば、相互に相手方の真正性を確認することができる。
【０１９２】
なお、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の相互認証処理を、それぞれの暗号鍵を用いて行った場合は、当該暗号鍵を利用して、通信セッション確立後の両者間の通信Ｓ７を暗号化通信によって行うようにすれば、セキュリティを更に向上させることができる。具体的には、通信開始要求Ｓ５を送信するときの相互認証処理を、通信元端末装置２００Ａについての暗号鍵および通信先端末装置２００Ｂについての暗号鍵を用いた処理によって行うようにし、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間における通信セッション確立後の通信Ｓ７が、上記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにすればよい。
【０１９３】
図１３に示すシステムにおいて、セキュリティを向上させるために施された第２の対策は、接続仲介装置１００による仲介証明書の発行である。図示の例の場合、接続仲介装置１００は、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置１００が発行する証明書である。通信先端末装置２００Ｂは、この仲介証明書により、接続仲介装置１００による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
【０１９４】
まず、接続仲介依頼部２１０Ａから通信先アドレス返信部１３０に対して、接続仲介依頼Ｓ２があると、通信先アドレス返信部１３０は、この接続仲介依頼Ｓ２の送信を受けて、通信元となる特定の端末装置２００Ａから通信先となる特定の端末装置２００Ｂへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信先アドレス返信Ｓ４を行う際に、通信先アドレス「ＡＤ２」とともにこの仲介証明書を、通信元端末装置２００Ａに返信する。
【０１９５】
したがって、通信開始要求部２４０Ａは、通信先アドレス「ＡＤ２」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部２４０Ａは、当該通信先アドレス「ＡＤ２」に対して通信開始要求Ｓ５を行う際に、この仲介証明書を併せて送信する。そうすると、通信先セッション確立部２３０Ｂは、通信開始要求Ｓ５とともに仲介証明書を受信することになる。
【０１９６】
通信先セッション確立部２３０Ｂは、通信元の別な端末装置２００Ａから、自己を通信先とする通信開始要求Ｓ５とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信元の別な端末装置２００Ａに対して通信開始受諾確認Ｓ６を送信し、当該通信元の別な端末装置２００Ａとの間に通信セッションを確立して通信Ｓ７を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認Ｓ６の送信を行わず、通信Ｓ７も開始しない。
【０１９７】
前述したとおり、上例の場合の仲介証明書は、接続仲介装置１００が「端末装置２００Ａから端末装置２００Ｂへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部２３０Ｂは、通信開始要求Ｓ５の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求Ｓ５は端末装置２００Ａから送信されてきており、自分自信は端末装置２００Ｂであるから、「端末装置２００Ａから端末装置２００Ｂへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
【０１９８】
通信先端末装置２００Ｂ内の通信先セッション確立部２３０Ｂは、通信元端末装置２００Ａからの通信開始要求Ｓ５を受信して、通信元端末装置２００Ａに対して通信開始受諾確認Ｓ６を送信し、通信セッションを確立して通信Ｓ７を行う。このとき、受信した通信開始要求Ｓ５が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信元端末装置２００Ａがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置１００を経由した正規の手順を踏まずに、不正な方法により通信開始要求Ｓ５がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
【０１９９】
仲介証明書のこのような役割を考慮すると、通信先アドレス返信部１３０は、たとえば次のような方法で仲介証明書を作成すればよい。まず、接続仲介依頼Ｓ２に基づいて、通信元となる特定の端末装置２００Ａの所在アドレス（図示の例では「ＡＤ１」）および通信先となる特定の端末装置２００Ｂの所在アドレス（図示の例では「ＡＤ２」）を認識する。そして、これら両所在アドレスを含む仲介証明用データを作成する。たとえば、両所在アドレスの文字列をそのまま連結して「ＡＤ１」＋「ＡＤ２」のような文字列を仲介証明用データとしてもよいし、更に、別な秘密文字列「ＨＡＰＰＹ」を付加して、「ＡＤ１」＋「ＡＤ２」＋「ＨＡＰＰＹ」のような文字列を仲介証明用データとしてもよい。
【０２００】
続いて、こうして作成した仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより得られたデータを仲介証明書とすればよい。たとえば、一方向性関数としては、通信元端末装置２００Ａについての暗号鍵もしくは通信先端末装置２００Ｂについての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。
【０２０１】
たとえば、仲介証明用データが、「ＡＤ１」＋「ＡＤ２」＋「ＨＡＰＰＹ」という文字列によって構成され、当該文字列に、通信先端末装置２００Ｂの公開鍵を利用したハッシュ関数を作用させることにより仲介証明書を作成した場合を例にとってみよう。こうして作成された仲介証明書は、仲介証明用データのハッシュ値ということになる。
【０２０２】
一方、通信開始要求Ｓ５とともに、上記仲介証明書を受信した通信先セッション確立部２３０Ｂは、次のような手順で、当該仲介証明書の正当性を確認することができる。まず、通信開始要求Ｓ５の送信元のアドレスとして、通信元端末装置２００Ａの所在アドレス「ＡＤ１」を認識することができる。また、自分自身の所在アドレス「ＡＤ２」も認識することができる。そして、予め取り決めがなされていた上記秘密文字列「ＨＡＰＰＹ」（この秘密文字列は、当該ネットワーク通信システムの各構成装置のみが知り得るように管理されている）を用いることにより、「ＡＤ１」＋「ＡＤ２」＋「ＨＡＰＰＹ」という文字列からなる仲介証明用データを作成する。
【０２０３】
続いて、この仲介証明用データに対して自分自身の公開鍵を用いたハッシュ関数を作用させることにより仲介証明書を作成する。そして最後に、こうして作成した仲介証明書が通信開始要求Ｓ５とともに送信されてきた仲介証明書と一致することを確認すればよい。両者が一致すれば、仲介証明書の正当性が確認されたことになる。もちろん、不一致であれば、正当性は確認できないので、何らかの不正が行われている可能性があると判断できる。すなわち、仲介証明書の正当性が確認できない場合は、通信先セッション確立部２３０Ｂが受信した通信開始要求Ｓ５は、接続仲介装置１００による正規の仲介処理に基づいてなされたものではない、と判断することができる。そのような場合、通信先セッション確立部２３０Ｂは、通信開始受諾確認Ｓ６の送信を行わず、通信セッションの確立を拒絶することになる。
【０２０４】
なお、上例では、「ＡＤ１」＋「ＡＤ２」＋「ＨＡＰＰＹ」なる仲介証明用データについてのハッシュ値を仲介証明書として用いているが、もちろん、上記仲介証明用データそのものを仲介証明書として用いることも可能である。ただ、十分なセキュリティを確保する上では、仲介証明用データそのものではなく、そのハッシュ値を仲介証明書として用いるのが好ましい。仲介証明用データには、「ＡＤ１」や「ＡＤ２」といった所在アドレスが含まれているので、クラッカーによる改竄を受けやすい。したがって、実用上は、上例のように、何らかの暗号鍵を利用した一方向性関数を作用させて仲介証明書を作成するのが好ましい。
【０２０５】
ハッシュ関数などの一方向性関数を用いて仲介証明書を作成すれば、元の仲介証明用データを復元することはできないので、仲介証明書がクラッカーの手に渡ったとしても、不正な改竄を受ける可能性を低減することができる。不正な改竄を防止するという点では、上例の「ＨＡＰＰＹ」のような秘密文字列を付加して仲介証明用データを作成することは有効である。もちろん、仲介証明書を発行した日付、時間、曜日などの変動要素を秘密文字列として用いることも可能である。
【０２０６】
＜３−４．  セキュリティを向上させる変形例（その２）＞
上述した§３−３では、§１で述べた先願基本発明の第１の実施形態についてセキュリティを向上させた変形例を述べた。ここでは、§２で述べた先願基本発明の第２の実施形態について、同様の方法でセキュリティを向上させた変形例を述べることにする。
【０２０７】
図１４は、図８に示す第２の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第２の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための２つの対策が施されている。
【０２０８】
第１の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置４００Ｂから接続仲介装置３００に対して接続仲介依頼Ｓ１２を送信するときに、通信元端末装置４００Ｂと接続仲介装置３００との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼Ｓ１２を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。
【０２０９】
同様に、接続仲介装置３００から通信先端末装置４００Ａに対して通信元アドレス送信Ｓ１４を行うときにも、接続仲介装置３００と通信先端末装置４００Ａとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼Ｓ１４を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置４００および接続仲介装置３００には、上述した認証処理機能が備わっていることになる。
【０２１０】
また、図１４に示すシステムの場合、通信先端末装置４００Ａから通信元端末装置４００Ｂに対して通信開始要求Ｓ１５を送信するときにも、通信先端末装置４００Ａと通信元端末装置４００Ｂとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求Ｓ１５を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置４００には、このような認証処理機能が備わっていることになる。
【０２１１】
なお、図示の例の場合、通信元端末装置４００Ｂから通信先端末装置４００Ａに対して通信開始受諾確認Ｓ１６を行う際の相互認証処理は省略されている（通信開始受諾確認Ｓ１６を示す矢印は実線で描かれている）。これは、通信開始要求Ｓ１５を送信するときに、通信先端末装置４００Ａと通信元端末装置４００Ｂとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認Ｓ１６を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
【０２１２】
相互認証処理の具体的な方法は、既に§３−３で述べたとおりである。また、この図１４に示す変形例の場合も、相互認証処理に用いた暗号鍵を利用して、通信セッション確立後の両端末装置間の通信Ｓ１７を暗号化通信によって行うようにしてもよい。
【０２１３】
図１４に示すシステムにおいて、セキュリティを向上させるために施された第２の対策は、接続仲介装置３００による仲介証明書の発行である。図示の例の場合、接続仲介装置３００は、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置３００が発行する証明書である。通信元端末装置４００Ｂは、この仲介証明書により、接続仲介装置３００による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
【０２１４】
まず、接続仲介依頼部４１０Ｂから通信元アドレス送信部３３０に対して、接続仲介依頼Ｓ１２があると、通信元アドレス送信部３３０は、この接続仲介依頼Ｓ１２の送信を受けて、通信元となる特定の端末装置４００Ｂから通信先となる特定の端末装置４００Ａへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信元アドレス返信Ｓ１４を行う際に、通信元アドレス「ＡＤ２」とともにこの仲介証明書を、通信先端末装置４００Ａに返信する。
【０２１５】
したがって、通信開始要求部４４０Ａは、通信元アドレス「ＡＤ２」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部４４０Ａは、当該通信元アドレス「ＡＤ２」に対して通信開始要求Ｓ１５を行う際に、この仲介証明書を併せて送信する。そうすると、通信元セッション確立部４３０Ｂは、通信開始要求Ｓ１５とともに仲介証明書を受信することになる。
【０２１６】
通信元セッション確立部４３０Ｂは、通信先の別な端末装置４００Ａから、自己を通信元とする通信開始要求Ｓ１５とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信先の別な端末装置４００Ａに対して通信開始受諾確認Ｓ１６を送信し、当該通信先の別な端末装置４００Ａとの間に通信セッションを確立して通信Ｓ１７を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認Ｓ１６の送信を行わず、通信Ｓ１７も開始しない。
【０２１７】
前述したとおり、上例の場合の仲介証明書は、接続仲介装置３００が「端末装置４００Ｂから端末装置４００Ａへの仲介処理を実行した」ことを証明するものであるから、通信元セッション確立部４３０Ｂは、通信開始要求Ｓ１５の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求Ｓ１５は端末装置４００Ａから送信されてきており、自分自信は端末装置４００Ｂであるから、「端末装置４００Ｂから端末装置４００Ａへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
【０２１８】
通信元端末装置４００Ｂ内の通信元セッション確立部４３０Ｂは、通信先端末装置４００Ａからの通信開始要求Ｓ１５を受信して、通信先端末装置４００Ａに対して通信開始受諾確認Ｓ１６を送信し、通信セッションを確立して通信Ｓ１７を行う。このとき、受信した通信開始要求Ｓ１５が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信先端末装置４００Ａがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置３００を経由した正規の手順を踏まずに、不正な方法により通信開始要求Ｓ１５がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
【０２１９】
仲介証明書の具体的な作成方法は、§３−３で述べたとおりである。すなわち、この図１４に示す変形例の場合も、通信元アドレス送信部３３０は、通信元となる特定の端末装置４００Ｂの所在アドレス「ＡＤ２」および通信先となる特定の端末装置４００Ａの所在アドレス「ＡＤ１」を含む仲介証明用データ（必要に応じて、その他の秘密文字列を付加してもよい）に対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成すればよい。一方向性関数としては、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。このような仲介証明書を用いた正当性確認の具体的な手順は、既に§３−３で述べたとおりであり、ここでは説明を省略する。
【０２２０】
＜＜＜  §４．  ルータを用いた実用的な実施形態  ＞＞＞
これまで述べてきた先願基本発明の第１の実施形態や第２の実施形態では、各発明の基本原理を示す便宜上、各端末装置２００Ａ〜２００Ｄ，４００Ａ〜４００ＤがネットワークＮ（インターネット）に直接接続されている状態を示す図（図１，図６参照）を用いて説明を行ってきた。しかしながら、通常、各端末装置は、ルータを介してネットワークＮ（インターネット）に接続される。そこで、ここでは、先願基本発明について、端末装置をルータを介してネットワークに接続した実用的な実施形態を説明する。
【０２２１】
＜４−１．  ルータを用いた基本的な実施例＞
図１５は、端末装置をルータを介してネットワークＮに接続した先願基本発明の一実施形態を示すブロック図である。具体的には、この図１５には、３台の端末装置２００Ｅ，２００Ｆ，２００Ｇが、同一のルータＲを介してネットワークＮ（インターネット）に接続された状態が示されている。
【０２２２】
既に述べたとおり、先願基本発明における端末装置２００は、パソコン、携帯電話、タブレット型端末など、ネットワークＮに接続して通信を行う機能を有する電子機器であれば、どのような装置であってもかまわない。最近は、企業内ＬＡＮや家庭内ＬＡＮが普及し、パソコンやタブレット型端末は、通常、企業や家庭に設置されたルータ経由でインターネットへ接続される。また、最近の携帯電話通信網では、ルータの機能を有する基地局が利用されてきており、携帯電話は、このルータ機能を有する基地局経由でインターネットに接続することができる。
【０２２３】
したがって、先願基本発明に利用される各端末装置は、実用上は、図１５に例示するように、ルータＲを介してインターネットに接続されることになる。ルータＲは、ＬＡＮを構築する機能を有し、図示の例の場合、ルータＲより左側に描かれた部分が１つのサブネットを構成しており、クラスＣのプライベートＩＰアドレスが付与されている。具体的には、各端末装置には、「192.168」なるネットワーク部と「0.11」，「0.12」，「0.13」なるホスト部とを有するＩＰアドレスが付与されている。このサブネット内の装置同士の交信は、ルータＲを介さずに行うことができるが、サブネット外の装置にアクセスする場合は、ルータＲを介した交信が必要になる。
【０２２４】
図示の例の場合、端末装置２００Ｅ（端末ＩＤ：００５０）には、「192.168.0.11」なるプライベートＩＰアドレスが付与され、端末装置２００Ｆ（端末ＩＤ：００６０）には、「192.168.0.12」なるプライベートＩＰアドレスが付与され、端末装置２００Ｇ（端末ＩＤ：００７０）には、「192.168.0.13」なるプライベートＩＰアドレスが付与されている。また、実際の通信には、これらのＩＰアドレスとともにポート番号が利用される。図には、端末装置２００Ｅの１本の通信路にポート番号Ｐ１、端末装置２００Ｆの２本の通信路にポート番号Ｐ２，Ｐ３、端末装置２００Ｇの４本の通信路にポート番号Ｐ４〜Ｐ７が付与された例が示されている。
【０２２５】
ポート番号は、２バイトのデータからなり、通信のエンドポイントを特定するために利用される。たとえば、図に示す端末装置２００Ｆには、所定のＯＳプログラムの下で動作する２組のアプリケーションプログラムＡＰＰ１，ＡＰＰ２がインストールされており、ＡＰＰ１についての通信路にはポート番号Ｐ２が割り当てられ、ＡＰＰ２についての通信路にはポート番号Ｐ３が割り当てられている。したがって、同じＩＰアドレス「192.168.0.12」を用いた通信であっても、ポート番号Ｐ２／Ｐ３の違いにより、ＡＰＰ１についての通信か、ＡＰＰ２についての通信かを区別することができる。
【０２２６】
一方、図に示す端末装置２００Ｇには、やはり２組のアプリケーションプログラムＡＰＰ１，ＡＰＰ２がインストールされているが、ＡＰＰ１については２組のポート番号Ｐ４，Ｐ５が割り当てられ、ＡＰＰ２については２組のポート番号Ｐ６，Ｐ７が割り当てられている。このように、同一のアプリケーションプログラムに複数のポート番号を割り当てて、複数の通信路を相互に区別することも可能である。たとえば、アプリケーションプログラムＡＰＰ１がＷｅｂブラウザプログラムであった場合、第１のＷｅｂページについての通信にはポート番号Ｐ４を割り当て、第２のＷｅｂページについての通信にはポート番号Ｐ５を割り当てる、という運用を行えば、それぞれ別のＷｅｂサーバに対して別個独立した通信が可能になる。このように、ポート番号は、個々のアプリケーションプログラムの都合に応じて任意に割り当てることができる。
【０２２７】
ここでは、図示されているアプリケーションプログラムＡＰＰ２が、先願基本発明に係るネットワーク通信システムとしての機能を果たすための専用の通信アプリケーションプログラムであるものとして以下の説明を続ける。別言すれば、図示の端末装置２００Ｆ，２００Ｇは、所定のＯＳプログラムの管理下で動作する汎用のパソコン、スマートフォン、タブレット型端末などの装置であり、当該装置に専用の通信アプリケーションプログラムＡＰＰ２をインストールすることにより、これらの装置が先願基本発明に係る端末装置として機能することになる。
【０２２８】
この場合、図２に示す端末装置２００の構成要素である自己アドレス通知部２５０、通信要求受付部２２０、接続仲介依頼部２１０、通信開始要求部２４０、通信元セッション確立部２６０、通信先セッション確立部２３０による処理機能は、この通信アプリケーションプログラムＡＰＰ２を実行することにより実現される（一部の処理機能は、ＯＳプログラムの実行により実現されるようにしてもよい）。同様に、図７に示す端末装置４００の構成要素である自己アドレス通知部４５０、通信要求受付部４２０、接続仲介依頼部４１０、通信開始要求部４４０、通信元セッション確立部４３０、通信先セッション確立部４６０による処理機能は、この通信アプリケーションプログラムＡＰＰ２を実行することにより実現される（一部の処理機能は、ＯＳプログラムの実行により実現されるようにしてもよい）。
【０２２９】
図１５には、このアプリケーションプログラムＡＰＰ２を示すブロックおよびその通信路を太線で示してある。各端末装置２００Ｅ，２００Ｆ，２００Ｇとサブネット外の装置との間の通信は、ルータＲを介して行われる。ルータＲは、ネットワークアドレス変換機能（ＮＡＴ（Network Address Translation）機能）を有しており、内側（図におけるルータＲの左側）に接続された通信路について付与されたプライベートＩＰアドレスを、外側（図におけるルータＲの右側）に接続された通信路について付与されたグローバルＩＰアドレスに変換するとともに、その逆の変換も行う。
【０２３０】
図示の例の場合、ルータＲの内側について付与された「192.168.0.11」〜「192.168.0.13」なるプライベートＩＰアドレスと、ルータＲの外側について付与された「xx.73.5.111」なるグローバルＩＰアドレス（以下、ＡＤｘと記す）との間のアドレス変換が行われている。なお、上記グローバルＩＰアドレス内のxxは、任意の１バイトデータを示す（本願では、固有のグローバルＩＰアドレスの特定を避けるため、グローバルＩＰアドレスについては、その一部をxx，yy，zz等の記号で示すことにする）。また、上記アドレス変換の際には、一般にＮＡＰＴ（Network Address Port Translation）と呼ばれている機能により、ポート番号についての変換も行われる。
【０２３１】
たとえば、端末装置２００Ｆの通信アプリケーションプログラムＡＰＰ２からの通信路に付与されたプライベートＩＰアドレスとポート番号との組み合わせ「192.168.0.12(P3)」は、グローバルＩＰアドレスＡＤｘとポート番号との組み合わせ「xx.73.5.111(P13)」に変換されている。したがって、ネットワーク（インターネット）Ｎを介して接続された外部装置に対して、端末装置２００ＦのＡＰＰ２は、「xx.73.5.111(P13)」なる所在アドレス（ＩＰアドレスにポート番号を付加した情報）で特定されることになる。同様に、端末装置２００ＧのＡＰＰ２は、「xx.73.5.111(P16)」もしくは「xx.73.5.111(P17)」なる所在アドレスで特定されることになる。
【０２３２】
図示の例の場合、ルータＲの外側の複数の通信路には、いずれも同じグローバルＩＰアドレスＡＤｘ（具体的には、「xx.73.5.111」）が付与されているが、ポート番号がそれぞれ異なるため、相互に区別することができる。ルータＲの外側の装置から内側の装置に対するアクセスがあった場合には、逆に、グローバルＩＰアドレスＡＤｘをプライベートＩＰアドレスに変換する処理が行われる。たとえば、外部装置から「xx.73.5.111(P16)」なる所在アドレス宛のアクセスがあった場合、当該所在アドレスは、「192.168.0.13(P6)」に変換され、端末装置２００Ｇの通信アプリケーションプログラムＡＰＰ２の第１番目の通信路宛のアクセスとして処理される。このようなＮＡＰＴ機能は、広く利用されている既存の技術であるため、ここでは詳しい説明は省略する。
【０２３３】
さて、先願基本発明に係るネットワーク通信システムの構成要素となる端末装置２００には、図２に示すとおり、自己アドレス通知部２５０が含まれており、この自己アドレス通知部２５０により、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置１００に対して通知する処理が行われる。前述したとおり、この通知処理は、実際には端末装置２００にインストールされている通信アプリケーションプログラムＡＰＰ２によって実行される。
【０２３４】
したがって、図１５に示す実施例の場合も、通信アプリケーションプログラムＡＰＰ２によって、接続仲介装置１００宛に所在アドレスの通知が行われ、これを受けて、接続仲介装置１００内のアドレステーブル更新部１２０が、各端末装置のそれぞれについて、端末ＩＤと所在アドレスとを対応づけた情報を、アドレステーブル格納部１１０内のアドレステーブルＴに書き込む処理を実行する。
【０２３５】
図１５に示す実施例の場合、端末装置２００Ｆ，２００Ｇは、ルータＲを介してネットワークＮに接続されているため、自己アドレス通知部２５０は、ルータＲが管理するＬＡＮ（サブネット）内のプライベートＩＰアドレスを所在アドレスとして通知する処理を行う。ただ、このプライベートＩＰアドレスは、ルータＲによるＮＡＴ機能によりグローバルＩＰアドレスＡＤｘに変換されてネットワークＮに送信される。したがって、接続仲介装置１００に届くアドレスは、プライベートＩＰアドレスではなく、グローバルＩＰアドレスＡＤｘということになり、アドレステーブル更新部１２０は、このグローバルＩＰアドレスＡＤｘを、所在アドレスとしてアドレステーブルＴに格納する処理を行う。
【０２３６】
また、図１５に示す実施例の場合、各端末装置のネットワーク上での所在を示す所在アドレスとして、ＩＰアドレスにポート番号を付加した情報が用いられている。このため、自己アドレス通知部２５０は、プライベートＩＰアドレスにポート番号を付加した情報を所在アドレスとして通知する処理を行い、当該情報がルータＲによって、グローバルＩＰアドレスにポート番号を付加した情報に変換され、接続仲介装置１００に届くことになる。したがって、アドレステーブルＴには、グローバルＩＰアドレスにポート番号を付加した情報が所在アドレスとして書き込まれることになる。
【０２３７】
図１６は、図１５に示す実施形態において、ＩＰアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。図１６(a) に示すアドレステーブルＴ４１は、図１５に示す端末装置２００Ｆ（端末ＩＤ：００６０）内の自己アドレス通知部２５０（通信アプリケーションプログラムＡＰＰ２）からの通知に基づいて、「端末ＩＤ：００６０」に対応する所在アドレス（ＩＰアドレスＡＤｘとポート番号Ｐ１３との組み合わせ）の書き込みを行うとともに、端末装置２００Ｇ（端末ＩＤ：００７０）内の自己アドレス通知部２５０（通信アプリケーションプログラムＡＰＰ２）からの通知に基づいて、「端末ＩＤ：００７０」に対応する所在アドレス（ＩＰアドレスＡＤｘとポート番号Ｐ１６との組み合わせ、及びＩＰアドレスＡＤｘとポート番号Ｐ１７との組み合わせ）の書き込みを行った例である。
【０２３８】
図１５に示す例の場合、各端末装置２００Ｆ，２００Ｇ内の自己アドレス通知部２５０（通信アプリケーションプログラムＡＰＰ２）は、プライベートＩＰアドレスにポート番号を付加した情報を所在アドレスとして送信する処理を行うが、ルータＲによって、グローバルＩＰアドレスにポート番号を付加した情報に変換されるため、実際にアドレステーブルＴ４１に格納される所在アドレスは、図示のとおり、グローバルＩＰアドレスＡＤｘと変換後のポート番号との組み合わせになる。
【０２３９】
たとえば、端末装置２００Ｆの自己アドレス通知部２５０からは、送信元である自己の所在を示す所在アドレスとして「192.168.0.12」なるプライベートＩＰアドレスにポート番号「Ｐ３」を付加した情報が、端末ＩＤ「００６０」を示す情報とともに送信されてくるが、ルータＲを通過する際に、送信元である自己の所在を示す所在アドレスが、「xx.73.5.111」なるグローバルＩＰアドレスにポート番号「Ｐ１３」を付加した情報に変換されることになる。したがって、アドレステーブルＴ４１には、端末ＩＤ「００６０」に対応する所属アドレスとして、「xx.73.5.111」なるグローバルＩＰアドレスＡＤｘと「Ｐ１３」なるポート番号との組み合わせが書き込まれることになる。
【０２４０】
図１６(b) に示すアドレステーブルＴ４２は、図１６(a) に示すアドレステーブルＴ４１の所在アドレス欄の情報を具体的なデータとして例示したものである。前述したとおり、図１５に示す例の場合、ルータＲの外側の通信路には、「xx.73.5.111」なるグローバルＩＰアドレスが付与されているため、図１６(b) に示すアドレステーブルＴ４２のＩＰアドレス欄には、いずれも「xx.73.5.111」なるデータが格納されている。一方、ルータＲの外側の通信路に付与されるポート番号は、ルータＲによって相互に重複しないように発生された２バイトの番号であり、図１６(b) に示す例では、６２８０１〜６２８０３なるデータが格納されている。
【０２４１】
結局、図１５に示す接続仲介装置１００には、端末装置２００Ｆ，２００Ｇについて、図１６(b) に示すようなアドレステーブルＴ４２が格納されることになる。そこで、図示されていない外部の通信元から、通信先特定情報として端末ＩＤ「００６０」を含む接続仲介依頼があると、接続仲介装置１００内の通信先アドレス返信部１３０は、アドレステーブルＴ４２を参照することにより、端末ＩＤ「００６０」に対応した所在アドレス（ＩＰアドレス「xx.73.5.111」にポート番号「６２８０１」を付加した情報）を通信先アドレスとして返信する。そこで、通信元となる端末装置は、ＩＰアドレス「xx.73.5.111」およびポート番号「６２８０１」で特定される通信先に対して、通信開始要求を行うことができる。
【０２４２】
以上、主として図１に示す第１の実施形態（接続仲介装置１００と端末装置２００を用いる実施形態）においてルータＲを用いた例を述べたが、図７に示す第２の実施形態（接続仲介装置３００と端末装置４００を用いる実施形態）においてルータＲを用いた場合も同様である。
【０２４３】
なお、接続仲介装置１００，３００内のアドレステーブル更新部１２０，３２０は、各端末装置の自己アドレス通知部２５０，４５０から所在アドレスの通知を受けるたびに、図１６に例示したアドレステーブルを更新する処理を行う。前述したとおり、図１５に示す実施例の場合、端末装置２００Ｆ，２００Ｇの自己アドレス通知部の処理機能は、所定のＯＳプログラムの管理下で動作する通信アプリケーションプログラムＡＰＰ２を実行することにより実現される。
【０２４４】
そこで、実用上は、自己アドレス通知部２５０，４５０による自己アドレスの通知処理は、図１７の表に示すタイミングで行うのが好ましい。図示の表におけるタイミング(1) は、通信アプリケーションプログラムＡＰＰ２に対するユーザによる操作入力時である。たとえば、通信アプリケーションプログラムＡＰＰ２を起動した後、「通信準備を行いますか（Yes／No）？」のようなメッセージを表示し、ユーザが「Yes」を指示する操作入力を行った時点で、自己アドレスの通知処理を行うようにすればよい。通常、通信アプリケーションプログラムＡＰＰ２が起動された時点では、既に端末装置のプライベートＩＰアドレスや、これに対応するグローバルＩＰアドレスが定まっており、自己アドレスの通知処理を行う環境が整っている。
【０２４５】
図示の表におけるタイミング(2) は、通信アプリケーションプログラムＡＰＰ２の起動時である。このタイミング(2) を採用した場合、上述したメッセージの表示やユーザによる操作入力を待たずして、自動的に自己アドレスの通知処理が実行されることになる。実際には、プログラムＡＰＰ２の起動ルーチンに自己アドレス通知部２５０，４５０としての処理機能を組み込んでおけばよい。
【０２４６】
図示の表におけるタイミング(3) は、ＯＳプログラムの起動時であり、実質的には、端末装置の起動時ということになる。このタイミング(3) を採用する場合、ＯＳプログラムの起動ルーチンに自己アドレス通知部２５０，４５０としての処理機能を組み込んでおけばよい。通常、ＯＳプログラムの起動ルーチンにおいて、端末装置のプライベートＩＰアドレスや、これに対応するグローバルＩＰアドレスを決定する処理が行われるため、その後に、自己アドレス通知処理を自動的に行うようにしておけばよい。
【０２４７】
＜４−２．  ＶＰＮを利用した実施例＞
続いて、先願基本発明に係るネットワーク通信システムにおいて、ＶＰＮ（Virtual Private Network）を利用した実施例を述べる。図１５には、ルータＲを介して端末装置をネットワークＮに接続した実施例を例示した。この例の場合、ルータＲの内側（図の左側）に構築されたローカルネットワークが１つのプライベートネットワークを構成しており、各端末装置２００Ｅ，２００Ｆ，２００Ｇには、いずれも「192.168」なるネットワーク部で始まるプライベートＩＰアドレスが付与されている。このようなプライベートネットワークを、インターネットＮなどの公衆ネットワークを跨いで拡張する方法として、ＶＰＮの技術が普及している。
【０２４８】
図１８は、先願基本発明に係るネットワーク通信システムにおいて、ＶＰＮを利用した実施形態の全体構成を示すブロック図である。ここでは、説明の便宜上、ある企業の東京本社に設定された３台の端末装置２００Ｈ，２００Ｉ，２００Ｊ（端末ＩＤは、それぞれ００８１，００８２，００８３）と、パリ支社に設置された１台の端末装置２００Ｋ（端末ＩＤは、００９１）という合計４台の端末装置によって、ＶＰＮを構築した単純な例を示すことにする。また、東京本社に設置された３台の端末装置２００Ｈ，２００Ｉ，２００Ｊを第１グループに所属する第１の端末装置と呼び、パリ支社に設置された１台の端末装置２００Ｋを第２グループに所属する第２の端末装置と呼ぶことにする。
【０２４９】
図示のとおり、第１の端末装置２００Ｈ，２００Ｉ，２００Ｊは、第１のルータＲ１を介してネットワーク（インターネット）Ｎに接続されており、第２の端末装置２００Ｋは、第２のルータＲ２を介してネットワーク（インターネット）Ｎに接続されている。したがって、基本的には、図において第１のルータＲ１より上方に配置されている第１の端末装置２００Ｈ，２００Ｉ，２００Ｊは、第１のルータＲ１が管理する第１のＬＡＮ内のホストということになり、図において第２のルータＲ２より下方に配置されている第２の端末装置２００Ｋは、第２のルータＲ２が管理する第２のＬＡＮ内のホストということになる。
【０２５０】
このため、第１の端末装置２００Ｈ，２００Ｉ，２００Ｊには、第１のルータＲ１が管理する第１のＬＡＮ内のプライベートＩＰアドレスが付与され、第２の端末装置２００Ｋには、第２のルータＲ２が管理する第２のＬＡＮ内のプライベートＩＰアドレスが付与されている。また、図１５に示す例と同様に、ＩＰアドレスとともにポート番号も付与されている。
【０２５１】
図示の例の場合、第１のＬＡＮについては、クラスＢのプライベートＩＰアドレスが付与されており、第１の端末装置２００Ｈ，２００Ｉ，２００Ｊには、それぞれ「172.16.6.11(P1)」，「172.16.6.12(P2)」，「172.16.6.13(P3)」なるＩＰアドレスおよびポート番号が付与されている（ポート番号Ｐ１，Ｐ２，Ｐ３等は、実際には２バイトのデータである）。これらの情報は、第１のルータＲ１によって、それぞれ「yy.88.105.19(P11)」，「yy.88.105.19(P12)」，「yy.88.105.19(P13)」なるグローバルＩＰアドレスＡＤｙとポート番号との組み合わせに変換された後、インターネットＮへ接続される。一方、図示の例の場合、第２のＬＡＮについては、クラスＣのプライベートＩＰアドレスが付与されており、第２の端末装置２００Ｋには、「192.168.99.11(P4)」なるＩＰアドレスおよびポート番号が付与されている。この情報は、第２のルータＲ２によって、「zz.99.214.28(P21)」なるグローバルＩＰアドレスＡＤｚとポート番号との組み合わせに変換された後、インターネットＮへ接続される。
【０２５２】
このままの状態では、第１グループに所属する第１の端末装置２００Ｈ，２００Ｉ，２００Ｊが所属する第１のＬＡＮと、第２グループに所属する第２の端末装置２００Ｋが所属する第２のＬＡＮとは、それぞれ別個独立したプライベートネットワークになるが、図示する実施例の場合、第１のＬＡＮの範囲をインターネットＮを跨いで拡張するためのＶＰＮが構築されている。すなわち、第２の端末装置２００Ｋには、第２のルータＲ２が管理する第２のＬＡＮ内のプライベートＩＰアドレスおよびポート番号「192.168.99.11(P4)」が付与されるとともに、第１のルータＲ１が管理する第１のＬＡＮ内のプライベートＩＰアドレスおよびポート番号「172.16.6.14(P5)」が、ＶＩＰアドレスとして仮想的に付与されており、第１の端末装置２００Ｈ，２００Ｉ，２００Ｊと第２の端末装置２００Ｋとの間には、このＶＩＰアドレスを用いて相互に交信することが可能となるようにＶＰＮの設定がなされている。
【０２５３】
したがって、図に破線で示すように、パリ支社に設置された端末装置２００Ｋは、東京本社に設置された端末装置２００Ｈ，２００Ｉ，２００Ｊと同様に、第１のルータＲ１が管理する第１のＬＡＮ内の端末装置として取り扱うことができる。図１９は、図１８に示す実施形態におけるＶＮＰ通信の原理を示す図である。図示の例は、東京本社に設置された端末装置２００Ｈとパリ支社に設置された端末装置２００Ｋとの間のＶＰＮ通信を示している。
【０２５４】
図１９に示すように、端末装置２００ＨにはＶＰＮ通信部２０１Ｈが、端末装置２００ＫにはＶＰＮ通信部２０１Ｋが、それぞれ設けられており、両者間にＶＰＮ暗号通信路が開設される。両者間でやりとりされるデータは暗号化されるため、実際には、インターネットＮなどの公衆ネットワークを介して情報が伝達されるにもかかわらず、あたかもプライベートネットワークを介した利便性・安全性をもった情報の送受が可能になる。ＶＰＮ通信部２０１Ｈ，２０１Ｋは、実際には、各端末装置にインストールされた専用のＶＰＮ用アプリケーションプログラムによって構築される。このようなＶＰＮの具体的な仕組は公知の技術であるため、ここでは詳しい説明は省略する。
【０２５５】
さて、このようなＶＰＮの仕組を先願基本発明に係るネットワーク通信システムにおいて利用する場合は、接続仲介装置１００内に格納されるアドレステーブルＴに、ＶＩＰアドレスを格納しておくようにすると便利である。図２０は、図１８に示す実施形態に用いるために、ＶＩＰアドレスを追加したアドレステーブルの例を示す図である。図２０(a) に示すアドレステーブルＴ５１は、ＶＰＮの構成メンバーである端末装置２００Ｈ〜２００Ｋ内の自己アドレス通知部２５０からの通知に基づいて、各端末ＩＤに対応する所在アドレス（ＩＰアドレスとポート番号）を格納したものである。
【０２５６】
ここで、端末装置２００Ｈ〜２００Ｊ（端末ＩＤ：００８１〜００８３）は、東京本社に構築された第１のＬＡＮに所属する装置であるが、端末装置２００Ｋ（端末ＩＤ：００９１）は、パリ支社に構築された第２のＬＡＮに所属する装置である。ただ、上述したＶＰＮの仕組により、第１のＬＡＮは端末装置２００Ｋまで仮想的に拡張されており、端末装置２００Ｋには、「ＶＩＰ（２００Ｋ）」なるＶＩＰアドレスが付与されている。このため、図２０(a) に示すアドレステーブルＴ５１の端末ＩＤ「００９１」については、更に、ＶＩＰ欄に「ＶＩＰ（２００Ｋ）」なるＶＩＰアドレスが格納されている。
【０２５７】
図２０(b) に示すアドレステーブルＴ５２は、図２０(a) に示すアドレステーブルＴ５１の所在アドレス欄およびＶＩＰ欄の情報を具体的なデータとして例示したものである。図１８に示す例の場合、第１のルータＲ１の外側の各通信路には、「yy.88.105.19」なるグローバルＩＰアドレスＡＤｙに、ポート番号Ｐ１１〜Ｐ１３を付加した情報が所在アドレスとして付与されているため、図２０(b) に示すアドレステーブルＴ５２の端末ＩＤ「００８１〜００８３」のＩＰアドレス欄には、いずれも「yy.88.105.19」なるデータが格納されており、ポート番号欄には、第１のルータＲ１によって発生された２バイトの番号「５４７０１〜５４７０３」が格納されている。
【０２５８】
一方、第２のルータＲ２の外側の各通信路には、「zz.99.214.28」なるグローバルＩＰアドレスＡＤｚに、ポート番号Ｐ２１を付加した情報が所在アドレスとして付与されているため、図２０(b) に示すアドレステーブルＴ５２の端末ＩＤ「００９１」のＩＰアドレス欄には、「zz.99.214.28」なるデータが格納されており、ポート番号欄には、第２のルータＲ２によって発生された２バイトの番号「６１９９９」が格納されている。そして、更に、端末ＩＤ「００９１」のＶＩＰ欄には、「172.16.6.14」なるＶＩＰアドレス（ＶＰＮの設定により、端末装置２００Ｋに対して付与された第１のＬＡＮについての仮想的なプライベートアドレス）が格納されている。
【０２５９】
このように、アドレステーブルＴ５２のＶＩＰ欄に「172.16.6.14」なるＶＩＰアドレスを格納するには、第２の端末装置２００Ｋの自己アドレス通知部２５０に、接続仲介装置１００に対して、ＶＰＮの設定により付与されたＶＩＰアドレスを通知する機能をもたせておき、アドレステーブル更新部１２０に、このＶＩＰアドレスを第２の端末装置２００Ｋの所在アドレスと対応づけてアドレステーブルＴ５２に格納する機能をもたせておけばよい。
【０２６０】
このように、アドレステーブルＴ５２に第２の端末装置２００ＫのＶＩＰアドレスを格納しておくようにすれば、たとえば、第１の端末装置２００Ｈが第２の端末装置２００Ｋを通信先として通信を行う際に、第１の端末装置２００Ｈの接続仲介依頼部２１０が、第２の端末装置２００ＫのＶＩＰアドレス「ＶＩＰ（２００Ｋ）」を通信先特定情報として用いて通信先の特定を行うことができる。
【０２６１】
具体的には、端末装置２００Ｈの接続仲介依頼部２１０が、通信先特定情報として「172.16.6.14」なるＶＩＰアドレスを含む接続仲介依頼を行うようにすれば、接続仲介装置１００内の通信先アドレス返信部１３０は、図２０(b) に示すアドレステーブルＴ５２を参照することにより、ＶＩＰアドレス「172.16.6.14」に対応する所在アドレス「zz.99.214.28（61999）」を通信先アドレスとして返信することができる。通常、ＶＰＮの設定を行った場合、アプリケーションプログラムのレイヤーでは、端末装置２００Ｋは、「172.16.6.14」なるＶＩＰアドレスをもった装置として認識されているので、このＶＩＰアドレスを用いて接続仲介依頼を行うことができれば便利である。
【０２６２】
もちろん、必要があれば、ＶＩＰアドレス「172.16.6.14」とともに、ポート番号「Ｐ５」を格納しておくようにしてもよい。そうすれば、「172.16.6.14（P5）」なる情報を用いて、特定のポート番号の指定を含む接続仲介依頼を行うことができる。
【０２６３】
以上、図１に示す先願基本発明の第１の実施形態（接続仲介装置１００と端末装置２００を用いる実施形態）においてＶＰＮの設定を行い、プライベートネットワークの範囲を仮想的に拡張する例を述べたが、図７に示す先願基本発明の第２の実施形態（接続仲介装置３００と端末装置４００を用いる実施形態）においてＶＰＮの設定を行う場合も同様である。
【０２６４】
＜＜＜  §５．  本発明の第１の実施形態  ＞＞＞
これまで、国際出願ＰＣＴ／ＪＰ２０１７／００６１３１に記載されている先願基本発明に係るネットワーク通信システムを説明してきた。しかしながら、この先願基本発明に係るシステムでは、多数の端末装置からの接続仲介依頼が集中すると、接続仲介装置は輻輳状態に陥り、仲介処理を円滑に運ぶことが困難になる。
【０２６５】
たとえば、図１には、説明の便宜上、接続仲介装置１００が、ネットワークＮに接続された４台の端末装置２００Ａ〜２００Ｄについての接続仲介処理を行う例が示されているが、実用上、端末装置２００の台数はより多数になる。特に、近年は、ＩｏＴ（Internet of Things）という考え方が普及し始めており、様々な物がそれぞれ独立した端末装置としての機能をもち、相互に通信を行うようになってゆくことが予想される。本発明をこのような通信インフラとして利用した場合、システムに含まれる端末装置は膨大な数にのぼり、多数の端末装置からの接続仲介依頼が集中すると、接続仲介装置１００は輻輳状態に陥り、円滑な仲介処理を阻む要因になる。
【０２６６】
本発明は、このような問題を対処するための技術であり、その基本概念は、接続仲介装置１００を複数組設けて接続仲介処理を分散させることにより、各接続仲介装置１００の処理負荷を軽減し、任意の端末装置間の接続仲介処理を円滑に運ぶことができるようにする点にある。
【０２６７】
＜５−１．  本発明の第１の実施形態の基本構成＞
図２１は、本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。ここに示すネットワーク通信システムは、§１で述べた先願基本発明の第１の実施形態に、上述した本発明の基本概念を適用したものである。
【０２６８】
図示のとおり、このネットワーク通信システムは、ネットワークＮ（この例では、インターネット）を介して相互に接続可能な複数の端末装置２００Ａ〜２００Ｉと、これら複数の端末装置間の接続を仲介する複数の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚと、を備えている。図１に示す先願基本発明に係るネットワーク通信システムでは、１台の接続仲介装置１００が４台の端末装置２００Ａ〜２００Ｄについての接続仲介処理を実行するのに対して、図２１に示す本発明に係るネットワーク通信システムでは、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚが９台の端末装置２００Ａ〜２００Ｉについての接続仲介処理を実行することになる。
【０２６９】
ここで、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚによる接続仲介処理の手順は、§１で述べた先願基本発明に係る接続仲介装置１００による接続仲介処理の手順と全く同じである。
【０２７０】
すなわち、各端末装置２００Ａ〜２００Ｉには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚは、この端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。具体的には、図示の例の場合、各端末装置２００Ａ〜２００Ｉには、それぞれ端末ＩＤ「００１０」〜「００９０」が付与されており、各端末装置２００Ａ〜２００Ｉは、これら端末ＩＤにより特定されることになる。
【０２７１】
また、各端末装置２００Ａ〜２００Ｉには、それぞれネットワーク上での所在を示す所在アドレスが設定されている。図示の例の場合、各端末装置２００Ａ〜２００Ｉの所在アドレスは、各ブロックの右上に記したように、アドレス「ＡＤ１」〜「ＡＤ９」になっている。これらのアドレスは、時間的に変動が生じない固定アドレスであってもよいし、時間的に変動が生じる浮動アドレスであってもよい。端末装置がモバイル端末である場合は、通常、浮動アドレスが設定される。
【０２７２】
§１で述べたように、浮動アドレスが設定された端末装置についても、常にその所在アドレスを把握することができるように、各端末装置２００Ａ−２００Ｉのそれぞれについて端末ＩＤと所在アドレスとを対応づけたアドレステーブルが用意される。具体的には、図２１に示す実施例の場合、図２２(a) に示すように、各端末ＩＤ「００１０」〜「００９０」に各所在アドレス「ＡＤ１」〜「ＡＤ９」を対応づけたアドレステーブルＴが用意される。
【０２７３】
本発明では、この図２２(a) に示すようなアドレステーブルＴの他に、図２２(b) に示すような担当テーブルＵが用意される。この担当テーブルＵは、各端末装置２００Ａ〜２００Ｉのそれぞれについて、当該端末装置を担当する担当接続仲介装置を示す情報を含むテーブルである。図２１に示す実施例の場合、９台の端末装置２００Ａ〜２００Ｉのそれぞれを、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚのいずれかによって担当させることになる。
【０２７４】
図示の例は、端末装置２００Ａ〜２００Ｄを接続仲介装置１００Ｘによって担当させ、端末装置２００Ｅ，２００Ｆを接続仲介装置１００Ｙによって担当させ、端末装置２００Ｇ〜２００Ｉを接続仲介装置１００Ｚによって担当させたものである。したがって、図２２(b) に示す担当テーブルＵでは、各端末ＩＤ「００１０」〜「００９０」に、仲介装置ＩＤとして、「１００Ｘ」，「１００Ｙ」，「１００Ｚ」のいずれかが対応づけられている。各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚには、仲介装置ＩＤがそれぞれ付与されている。ここで、仲介装置ＩＤは、個々の接続仲介装置を相互に識別することができるＩＤであれば、どのような情報を用いてもかまわない。ここでは説明の便宜上、図２１において各接続仲介装置に付した参照符号「１００Ｘ」，「１００Ｙ」，「１００Ｚ」をそのまま仲介装置ＩＤとして用いることにする。
【０２７５】
もちろん、仲介装置ＩＤとして、各接続仲介装置のネットワーク上での所在を示す所在アドレスを用いることも可能である。図２１に示す実施例の場合、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの所在アドレスは、各ブロックの右上に記したように、アドレス「ＡＤＸ」，「ＡＤＹ」，「ＡＤＺ」になっている。これら接続仲介装置のアドレスも、端末装置のアドレスと同様に、時間的に変動が生じない固定アドレスであってもよいし、時間的に変動が生じる浮動アドレスであってもよい。
【０２７６】
図示の例の場合、接続仲介装置１００Ｘの所在アドレス「ＡＤＸ」は固定アドレス、接続仲介装置１００Ｙおよび１００Ｚの所在アドレス「ＡＤＹ」，「ＡＤＺ」は浮動アドレスになっている。実用上は、このように、複数の接続仲介装置のうちの少なくとも１台には固定アドレスを付与しておくのが好ましい。そうすれば、端末装置が自己を担当する接続仲介装置にアクセスを行ったときに、当該担当接続仲介装置に付与された所在アドレスが浮動アドレスであったためにアドレスが変更されており、アクセスに失敗した場合でも、固定アドレスが付与された接続仲介装置に代替アクセスを行うことができるようになる。
【０２７７】
要するに、複数の接続仲介装置を、固定アドレスが設定された固定接続仲介装置と、浮動アドレスが設定された浮動接続仲介装置とによって構成しておくようにすれば、浮動接続仲介装置に対するアクセスに失敗しても、常に固定接続仲介装置に対する代替アクセスが可能になる。このような代替アクセスを行うためには、すべての端末装置２００Ａ〜２００Ｉに、固定接続仲介装置１００Ｘの固定アドレスＡＤＸを記録しておくようにすればよい。
【０２７８】
たとえば、図２１に示す実施例の場合、端末装置２００Ｇの接続仲介依頼部２１０が、自己の担当となる浮動接続仲介装置１００Ｚに対して浮動アドレスＡＤＺを用いたアクセスを行ったときに、浮動アドレスＡＤＺが変更になっていると、アクセスに失敗してしまう。このようにアクセスに失敗した場合、端末装置２００Ｇは、固定接続仲介装置１００Ｘに対して固定アドレスＡＤＸを用いた再アクセスを行うことにより、固定接続仲介装置１００Ｘに対して接続仲介依頼を行うことが可能になる。
【０２７９】
各端末装置２００Ａ〜２００Ｉには、いずれかの接続仲介装置から、少なくとも自己を担当する接続仲介装置の所在アドレスもしくは当該所在アドレスを認識するために必要な情報が通知される。たとえば、端末装置２００Ｅには、担当接続仲介装置１００Ｙの所在アドレス「ＡＤＹ」が通知される。あるいは、当該所在アドレス「ＡＤＹ」を認識するために必要な情報を通知してもよい。具体的には、担当接続仲介装置１００Ｙの所在アドレス「ＡＤＹ」を通知する代わりに、仲介装置ＩＤ「１００Ｙ」を通知してもよい。この場合、図２２(a) に示すアドレステーブルＴに、仲介装置ＩＤとその所在アドレスとの対応関係も記録しておくようにする。そうすれば、端末装置２００Ｅは、通知された仲介装置ＩＤ「１００Ｙ」に基づいて、このアドレステーブルＴを参照することにより、担当接続仲介装置１００Ｙの所在アドレス「ＡＤＹ」を認識することができる。
【０２８０】
もちろん、浮動アドレスが付与されている接続仲介装置については、その所在アドレスが変更された場合、担当する端末装置にその旨を通知するか、アドレステーブルＴの内容を逐次更新する処理を行うようにする。たとえば、浮動アドレスが付与されている接続仲介装置１００Ｙの所在アドレス「ＡＤＹ」が「ＡＤＹ′」に変更された場合、接続仲介装置１００Ｙが変更後のアドレスを、担当する端末装置に通知するか、アドレステーブルＴの内容を更新する処理を行うようにすればよい。
【０２８１】
後述するように、必要に応じて、担当テーブルＵの内容も変更することが可能である。たとえば、図２１に示す例の場合、接続仲介装置１００Ｘは４台の端末装置２００Ａ〜２００Ｄを担当しているが、接続仲介処理の負荷が増大して輻輳が生じる事態になった場合には、たとえば、端末装置２００Ｄの担当を、余力のある接続仲介装置１００Ｙに変更することができる。この場合、図２２(b) に示す担当テーブルＵにおいて、端末ＩＤ「００４０」に対応する仲介装置ＩＤの欄を「１００Ｘ」から「１００Ｙ」に書き換えればよい。
【０２８２】
なお、図２２には、端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴ（図(a) ）と端末ＩＤと仲介装置ＩＤとを対応づけた担当テーブルＵ（図(b) ）とを別個のテーブルとして用意した例を示したが、各テーブルの形態は、この図２２に示す例に限定されるものではない。たとえば、図２３は、端末ＩＤ、所在アドレス、仲介装置ＩＤの三者を相互に対応づけた融合テーブルＭを用意した例である。この融合テーブルＭの場合、端末ＩＤと所在アドレスとの対応部分（第２欄と第３欄）をアドレステーブルＴとして利用し、端末ＩＤと仲介装置ＩＤとの対応部分（第１欄と第２欄）を担当テーブルＵとして利用することができる。
【０２８３】
図２２に示すアドレステーブルＴおよび担当テーブルＵや、図２３に示す融合テーブルＭは、基本的には、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚ内に格納しておくのが好ましいが、後述する変形例（§５−３：図２５参照）のように、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚとは別個にテーブル格納装置５００を設け、このテーブル格納装置５００内に各テーブルを格納することも可能である。要するに、これらのテーブルは、各接続仲介装置によって参照可能な場所に用意されていれば足りる。
【０２８４】
一方、図２１に示す各端末装置２００Ａ〜２００Ｉの構成および機能は、§１で述べた先願基本発明に係る各端末装置２００Ａ〜２００Ｄの構成および機能と全く同じである。具体的には、図２１に示す各端末装置２００Ａ〜２００Ｉは、いずれも、図２に示す端末装置２００と同様に、接続仲介依頼部２１０、通信要求受付部２２０、通信先セッション確立部２３０、通信開始要求部２４０、自己アドレス通知部２５０、通信元セッション確立部２６０を有している。
【０２８５】
ここで、自己アドレス通知部２５０は、自己のネットワーク上での所在を示す所在アドレスを通知する機能を果たす構成要素である。前述のとおり、端末装置２００がモバイル端末であるような場合、付与される所在アドレスは浮動アドレスになるため、新たな所在アドレスが付与されるたびに、自己アドレス通知部２５０によって当該新アドレスが通知されることになる。
【０２８６】
ただ、この自己アドレス通知部２５０による所在アドレスの通知先は、図２に示す先願基本発明の場合、単一の接続仲介装置１００だけになるが（図３参照）、本発明の場合、若干の修正が必要である。自己アドレス通知部２５０によって所在アドレスを特定の外部装置（アドレステーブルを格納している装置）に通知する目的は、当該特定の外部装置に格納されているアドレステーブルＴを更新するためである。図２に示す先願基本発明の場合、アドレステーブルＴは単一の接続仲介装置１００に格納されているため、通知先は接続仲介装置１００だけでかまわない。
【０２８７】
これに対して、本発明では、アドレステーブルＴの格納場所を、各接続仲介装置の内部とする運用（§５−２：図２４参照）を採ることもできるし、各接続仲介装置とは別個に設けたテーブル格納装置５００の内部とする運用（§５−３：図２５参照）を採ることもできる。前者の運用を採る場合、自己アドレス通知部２５０による所在アドレスの通知先は、接続仲介装置１００Ｘ，１００Ｙ，１００Ｚになるが、後者の運用を採る場合、自己アドレス通知部２５０による所在アドレスの通知先は、テーブル格納装置５００になる。
【０２８８】
一方、図４で説明したとおり、通信要求受付部２２０Ａは、自己（端末装置２００Ａ）を通信元として、通信先の別な端末装置（２００Ｂ）に対する通信要求Ｓ１を受け付ける役割を果たし、接続仲介依頼部２１０Ａは、この通信要求Ｓ１が受け付けられたときに、接続仲介装置１００に対して、通信先の別な端末装置（２００Ｂ）の端末ＩＤ「００２０」を特定するための通信先特定情報を含む接続仲介依頼Ｓ２を送信する。
【０２８９】
ただ、図４に示す先願基本発明の場合、接続仲介依頼Ｓ２の送信先は単一の接続仲介装置１００ということになるが、本発明の場合、複数の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚが存在するため、送信先をいずれかに絞る必要がある。前述したとおり、本発明では、各端末装置について、担当接続仲介装置が定められているので、接続仲介依頼Ｓ２の送信先は、当該担当接続仲介装置ということになる。
【０２９０】
たとえば、図２１に示す実施例の場合、端末装置２００Ｅの担当は、接続仲介装置１００Ｙであるので、端末装置２００Ｅ内の接続仲介依頼部２１０には、予め担当接続仲介装置１００Ｙの所在アドレス「ＡＤＹ」もしくは当該所在アドレスを認識するために必要な情報（たとえば、仲介装置ＩＤである「１００Ｙ」）が通知されており、接続仲介依頼部２１０内には、これらの情報が格納されている。そこで、接続仲介依頼部２１０は、この担当接続仲介装置１００Ｙに対して接続仲介依頼Ｓ２を送信することになる。
【０２９１】
結局、図２１に示す実施例の場合、端末装置２００Ａ〜２００Ｄは、担当接続仲介装置１００Ｘに対して接続仲介依頼Ｓ２を送信し、端末装置２００Ｅ，２００Ｆは、担当接続仲介装置１００Ｙに対して接続仲介依頼Ｓ２を送信し、端末装置２００Ｇ〜２００Ｉは、担当接続仲介装置１００Ｚに対して接続仲介依頼Ｓ２を送信することになり、以後の接続仲介処理は、それぞれ担当接続仲介装置によって実行される。このように、本発明では、複数台の端末装置からの接続仲介依頼が、それぞれの担当接続仲介装置によって振り分けられて分散処理されることになる。このため、特定の接続仲介装置に接続仲介依頼が集中して輻輳状態に陥ることを防ぐことができ、任意の端末装置間の接続仲介処理を円滑に運ぶことが可能になる。
【０２９２】
図４に示す通り、接続仲介依頼Ｓ２を受けた担当接続仲介装置１００Ｘは、通信先となる別な端末装置２００Ｂのネットワーク上での所在を示す通信先アドレス「ＡＤ２」を返信してくる。通信開始要求部２４０Ａは、この通信先アドレス「ＡＤ２」の返信があったときに、ネットワークＮを介して、当該アドレス「ＡＤ２」にアクセスして通信開始要求Ｓ５を行うことになる。そして、通信元セッション確立部２６０Ａは、上記通信開始要求Ｓ５に応じて、通信先の別な端末装置（２００Ｂ）から、通信開始受諾確認Ｓ６が返信されてきたときに、この通信先の別な端末装置（２００Ｂ）との間に通信セッションを確立して通信Ｓ７を開始する。
【０２９３】
一方、通信先セッション確立部２３０Ｂは、端末装置が通信先（２００Ｂ）となった場合に機能する構成要素であり、通信元の別な端末装置（２００Ａ）から、自己を通信先とする通信開始要求Ｓ５がなされたら、通信元の別な端末装置（２００Ａ）に対して通信開始受諾確認Ｓ６を送信し、通信元の別な端末装置（２００Ａ）との間に通信セッションを確立して通信Ｓ７を開始する。
【０２９４】
このように、本発明に係るネットワーク通信システムの構成要素となる複数の端末装置２００Ａ〜２００Ｉの基本機能は、図２に示す先願基本発明の端末装置２００と同じである。ただ、本発明の場合、各端末装置が接続仲介の依頼を行う際に、自己を担当する担当接続仲介装置に対して接続仲介依頼を行うことになる。
【０２９５】
続いて、本発明に係るネットワーク通信システムの構成要素となる複数の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの機能について説明する。図２１の右上のブロックに吹き出しとして記載されているように、接続仲介装置１００Ｘには、アドレステーブル参照機能、担当テーブル参照機能、通信先アドレス返信機能、担当通知機能が備わっている。図には示されていないが、接続仲介装置１００Ｙ，１００Ｚにも、全く同様の機能が備わっている。
【０２９６】
ここで、アドレステーブル参照機能は、各端末装置２００Ａ〜２００Ｉのそれぞれについて端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴ（たとえば、図２２(a) に示すテーブル）を参照する機能であり、担当テーブル参照機能は、端末装置２００Ａ〜２００Ｉのそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルＵ（たとえば、図２２(b) に示すテーブル）を参照する機能である。前述したとおり、これらのテーブルＴ，Ｕは、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚ内に格納しておいてもよいし、別個に設けられたテーブル格納装置５００内に格納しておいてもよい。
【０２９７】
また、通信先アドレス返信機能は、たとえば図４に示す例のように、通信元となる端末装置２００Ａの接続仲介依頼部２１０Ａから、接続仲介依頼Ｓ２が送信されてきたときに、アドレステーブルＴの参照結果に基づいて、接続仲介依頼Ｓ２に含まれている通信先特定情報によって特定される端末ＩＤ「００２０」に対応づけられている所在アドレス「ＡＤ２」を通信先アドレスとして返信する機能である。
【０２９８】
接続仲介装置としての接続仲介処理は、上記通信先アドレス返信機能の実行により完了することになるが、本発明に係る接続仲介装置には、更に、担当通知機能が設けられている。この担当通知機能は、送信元となる端末装置２００Ａから接続仲介依頼Ｓ２を受信したときに、担当テーブルＵの参照結果に基づいて、自己が、通信元となる端末装置２００Ａについての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置２００Ａに対して、担当接続仲介装置を通知する機能である。
【０２９９】
前述したとおり、各端末装置の接続仲介依頼部は、担当接続仲介装置に対して、接続仲介依頼Ｓ２を送信することになるので、基本的には、特定の端末装置からの接続仲介依頼Ｓ２を受信した接続仲介装置は、当該特定の端末装置についての担当接続仲介装置になっているはずである。しかしながら、担当変更が行われた直後などでは、端末装置からの接続仲介依頼Ｓ２が旧担当接続仲介装置に対して送信される場合もある。このような場合、旧担当接続仲介装置は、通信先アドレス返信機能の実行により接続仲介処理を完了するとともに、担当通知機能により、通信元となる端末装置に対して、新担当接続仲介装置を通知する処理を行う。
【０３００】
各端末装置の接続仲介依頼部２１０は、以後、この担当通知機能によって通知された新担当接続仲介装置に対して、接続仲介依頼Ｓ２を送信する。要するに、接続仲介依頼部２１０は、常に、担当通知機能による最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼Ｓ２を送信することになる。
【０３０１】
結局、本発明の第１の実施形態に係るネットワーク通信システムに用いられる各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚは、ネットワークＮを介して相互に接続可能な複数の端末装置２００Ａ〜２００Ｉについて、通信元端末装置と通信先端末装置との間の接続を仲介する役割を果たす装置ということになる。
【０３０２】
そして、この接続仲介装置は、端末装置のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブルＴを参照するアドレステーブル参照手段と、各端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルＵを参照する担当テーブル参照手段と、通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、アドレステーブルＴの参照結果に基づいて得られる通信先端末装置の所在アドレスを、通信元端末装置に返信する通信先アドレス返信手段と、通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、担当テーブルＵの参照結果に基づいて、自己が、通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、を有している。
【０３０３】
実際には、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚは、ネットワークＮに接続されたサーバコンピュータに、上記各手段としての機能を果たすための専用プログラムを組み込むことにより構成することができる。
【０３０４】
＜５−２．  各テーブルを接続仲介装置の内部に格納した実施例＞
上述した§５−１では、図２１を参照しながら、本発明の第１の実施形態に係るネットワーク通信システムの全体構成を説明した。そして、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚが、アドレステーブル参照機能と担当テーブル参照機能を有する点を説明し、各テーブルＴ，Ｕの格納場所は任意の場所でよい点を述べた。ここでは、各テーブルＴ，Ｕを接続仲介装置の内部に格納した実施例を説明する。
【０３０５】
図２４は、図２１に示すネットワーク通信システムにおいて、アドレステーブルＴおよび担当テーブルＵを接続仲介装置１００Ｘの内部に格納した実施例を示すブロック図である。この図２４では、便宜上、接続仲介装置１００Ｙ，１００Ｚの図示は省略しているが、図２１に示す例と同様に、接続仲介装置１００Ｙ，１００Ｚが設けられている。これら接続仲介装置１００Ｙ，１００Ｚの構成および動作は、接続仲介装置１００Ｘの構成および動作と同様であり、図２４に示すネットワーク通信システムは、図２１に示すネットワーク通信システムと同様に、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚによって、９台の端末装置２００Ａ〜２００Ｉについての接続仲介処理を実行するシステムである。なお、図２４の右下には、管理用端末装置２００Ｓが描かれているが、この管理用端末装置２００Ｓの機能については、§５−４で述べる。
【０３０６】
図２４に示すとおり、この実施例における接続仲介装置１００Ｘは、アドレステーブル格納部１１０と、アドレステーブル更新部１２０と、通信先アドレス返信部１３０Ｘと、担当テーブル格納部１４０Ｘと、担当テーブル更新部１５０Ｘと、を有しており、ネットワークＮ上において所在アドレス「ＡＤＸ」が付与されている。
【０３０７】
アドレステーブル格納部１１０は、前述したアドレステーブルＴを格納する構成要素であり、図２４には、図２２(a) に示すアドレステーブルＴが格納された状態が示されている。同様に、担当テーブル格納部１４０Ｘは、前述した担当テーブルＵを格納する構成要素であり、図２４には、図２２(b) に示す担当テーブルＵが格納された状態が示されている。
【０３０８】
一方、アドレステーブル更新部１２０は、各端末装置２００Ａ〜２００Ｉの自己アドレス通知部２５０からの通知に基づいて、アドレステーブルＴの内容を更新する構成要素である。図３に示すように、自己アドレス通知部２５０は、自己のネットワーク上での所在を示す所在アドレスを、外部装置に対して通知する役割を果たす。モバイル端末等では、所在アドレスが時間的に変化するが、自己アドレス通知部２５０が所定周期で繰り返して現時点の所在アドレスを通知するようにしておき、アドレステーブル更新部１２０がこの通知に基づいて、アドレステーブル格納部１１０に格納されているアドレステーブルＴの内容を書き換えるようにしておけば、アドレステーブルＴを常に最新の状態に維持することができる。
【０３０９】
また、担当テーブル更新部１５０Ｘは、与えられた担当変更指示に基づいて、担当テーブルＵの内容を更新する構成要素である。ここに示す実施例の場合、管理用端末装置２００Ｓによって接続仲介装置１００Ｘに対する担当変更指示が与えられる。担当テーブル更新部１５０Ｘは、この担当変更指示に従って、担当テーブル格納部１４０Ｘに格納されている担当テーブルＵの内容を書き換える処理を行う。
【０３１０】
そして、通信先アドレス返信部１３０Ｘは、図４に示す接続仲介装置１００内の通信先アドレス返信部１３０と同様に、接続仲介依頼Ｓ２のあった端末装置に対して、通信先アドレスを返信する構成要素である。たとえば、図４に示すように、端末装置２００Ａの接続仲介依頼部２１０Ａから、接続仲介依頼Ｓ２が送信されてきた場合は、アドレステーブル格納部１１０に格納されているアドレステーブルＴを参照して、接続仲介依頼Ｓ２に含まれている通信先特定情報によって特定される端末ＩＤ「００２０」に対応づけられている所在アドレス「ＡＤ２」を、通信先アドレスとして、端末装置２００Ａの通信開始要求部２４０Ａに対して返信する処理を実行する。
【０３１１】
このように、図２４に示す通信先アドレス返信部１３０Ｘは、図４に示す通信先アドレス返信部１３０と同様に、接続仲介依頼Ｓ２のあった端末装置に対して、通信先アドレス返信Ｓ４を行う通信先アドレス返信機能を有しているが、それに加えて、前述した担当通知機能も有している。すなわち、通信元となる端末装置から接続仲介依頼Ｓ２を受信したときに、担当テーブル格納部１４０Ｘに格納されている担当テーブルＵを参照して、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する処理を実行する。
【０３１２】
§５−１で述べたとおり、各端末装置の接続仲介依頼部２１０は、基本的には、最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼Ｓ２を送信する。ところが、担当変更が行われた直後などでは、担当テーブルＵ上では既に担当変更が反映されていたとしても、担当変更の情報が各端末装置には伝達されていない可能性もある。このような場合、端末装置からは、担当外の接続仲介装置に対して接続仲介依頼Ｓ２が送信されることになる。そこで、端末装置から担当外の接続仲介装置に対して接続仲介依頼Ｓ２が送信された場合には、当該担当外の接続仲介装置による担当通知機能によって、その時点での正しい担当接続仲介装置（その時点での担当テーブルＵによって担当とされている接続仲介装置）を当該端末装置に対して通知する処理が行われる。
【０３１３】
ここで重要な点は、担当外の接続仲介装置に対して接続仲介依頼Ｓ２が送信された場合でも、通信先アドレス返信機能による返信処理は実行される点である。別言すれば、各接続仲介装置は、自分が担当する端末装置から接続仲介依頼Ｓ２を受けた場合でも、自分が担当しない端末装置から接続仲介依頼Ｓ２を受けた場合でも、当該接続仲介依頼Ｓ２に応じて通信先アドレスを返信することになる。要するに、通信先アドレス返信機能による返信処理は、どの端末装置からの接続仲介依頼Ｓ２に対しても区別なく実行されることになる。
【０３１４】
ただ、各接続仲介装置は、自分が担当しない端末装置から接続仲介依頼Ｓ２を受けた場合には、担当通知機能によって、現時点での正しい担当を通知する処理を行うので、以後、当該通知を受けた端末装置は、正しい担当接続仲介装置に対して接続仲介依頼Ｓ２を送信することになる。かくして、以後は、輻輳状態が緩和されることになる。
【０３１５】
端末装置からの接続仲介依頼Ｓ２が、できるだけ正しい担当接続仲介装置に対してなされるようにするには、担当テーブルＵの更新により担当変更が生じたときに、その旨を遅滞なく端末装置に通知するようにすればよい。そのためには、担当変更が生じた時点で直ちに、接続仲介装置から端末装置に対して担当変更を知らしめる通知（いわゆる、プッシュ型配信）を行えばよい。
【０３１６】
しかしながら、現実的には、このようなプッシュ型配信による通知を行うことは困難である。端末装置に対してプッシュ型配信を行うためには、当該端末装置が通信可能状態になっている必要がある。すなわち、端末装置の電源がＯＮ状態となっており、ネットワークＮに接続されており（モバイル端末の場合、通信圏外ではない状態）、接続仲介装置からの通知を受信可能な状態になっている必要がある。ところが、パソコン、スマートフォン、タブレットなどの一般的な端末装置は、必ずしも、そのような状態になっているとは限らない。このため、実用上は、端末装置から接続仲介装置に対してアクセスがあったとき（たとえば、接続仲介依頼Ｓ２があったとき）に、その返信として、接続仲介装置から端末装置に対して担当変更を知らしめる通知（いわゆる、プル型配信）を行わざるを得ない。本発明における接続仲介装置の担当通知機能は、このようなプル型配信を行う機能に他ならない。
【０３１７】
たとえば、図２１に示すように、当初は、接続仲介装置１００Ｘが４台の端末装置２００Ａ〜２００Ｄを担当していたが、その接続仲介処理の負荷が増大して輻輳が生じる事態になったため、端末装置２００Ｄの担当を、余力のある接続仲介装置１００Ｙに変更した場合を考えてみよう。この場合、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚに格納されている担当テーブルＵにおいて、端末ＩＤ「００４０」に対応する仲介装置ＩＤの欄が「１００Ｘ」から「１００Ｙ」に書き換えられる。そして、本来であれば、その時点で、端末装置２００Ｄに対して、担当接続仲介装置が１００Ｘから１００Ｙに変更になった旨の通知（仲介装置ＩＤ「１００Ｙ」もしくはその所在アドレス「ＡＤＹ」の通知）を行うべきである。
【０３１８】
しかしながら、そのような通知は、プッシュ型配信による通知になるため、現実的には困難である。このため、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚに格納されている担当テーブルＵ上では、端末装置２００Ｄの担当が１００Ｙに変更されているにもかかわらず、端末装置２００Ｄ自身には、その旨の通知がなされていない状態が生じることになる。すなわち、端末装置２００Ｄ内の接続仲介依頼部２１０には、担当接続仲介装置が依然として１００Ｘである旨の記録がなされていることになる。
【０３１９】
したがって、端末装置２００Ｄが他のいずれかの端末装置に対して通信を行う必要が生じた場合、端末装置２００Ｄから旧担当接続仲介装置１００Ｘに対して、接続仲介依頼Ｓ２が送信されることになる。この接続仲介依頼Ｓ２を受信した旧担当接続仲介装置１００Ｘは、担当外からの依頼であるが、前述したとおり、通信先アドレス返信機能によって、端末装置２００Ｄに対して通信先アドレスを返信する。そして、担当通知機能によって、端末装置２００Ｄに対して、正しい担当接続仲介装置が１００Ｙである旨を通知する（仲介装置ＩＤ「１００Ｙ」もしくはその所在アドレス「ＡＤＹ」の通知）。接続仲介依頼部２１０は、当該通知に基づいて、新たな担当接続仲介装置が１００Ｙである旨の記録を行う。かくして、接続仲介依頼部２１０は、以後の接続仲介依頼Ｓ２を新たな担当接続仲介装置が１００Ｙ宛に行うことになる。
【０３２０】
なお、前述したように、図２４に示す実施例では、実際には、図示されている接続仲介装置１００Ｘと全く同じ構成を有する接続仲介装置１００Ｙ，１００Ｚが設けられており、接続仲介処理は、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの分担作業によって行われる。ここで、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚには、それぞれ独立したアドレステーブルＴおよび担当テーブルＵが格納されることになるが、これらアドレステーブルＴおよび担当テーブルＵについては、相互に内容が一致するような同期処理がなされる。
【０３２１】
すなわち、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚには、それぞれ独立してアドレステーブル更新部および担当テーブル更新部が設けられることになるが、このアドレステーブル更新部および担当テーブル更新部は、必要に応じて別な接続仲介装置のアドレステーブル更新部および担当テーブル更新部と通信する機能を有しており、この相互通信によって、すべての接続仲介装置内のアドレステーブルＴおよび担当テーブルＵの内容が一致するような同期処理が行われる。
【０３２２】
各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚは、実際には、ネットワークＮに常時接続されたサーバコンピュータによって構成されており、常に相互通信が可能な状態におかれている。したがって、ある１台の接続仲介装置内のアドレステーブルＴもしくは担当テーブルＵの内容が更新されると、更新内容が相互通信によって直ちに別な接続仲介装置にも伝達されるようになっている。このため、任意の１台の接続仲介装置内のテーブルが書き換えられると、厳密には若干の遅延が生じるものの、ほぼ同時にすべての接続仲介装置内のテーブルを書き換える同期処理が実行される。したがって、アドレステーブルＴもしくは担当テーブルＵの内容更新は、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚのいずれに対して行ってもかまわない。
【０３２３】
たとえば、アドレステーブルＴは、図３で説明したように、各端末装置２００Ａ〜２００Ｉの自己アドレス通知部２５０が、自己のネットワーク上での所在を示す所在アドレスを随時通知することによって最新の状態に書き換えられる。この場合、各端末装置２００Ａ〜２００Ｉの自己アドレス通知部２５０は、所在アドレスの通知を３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚのいずれに対して行ってもかまわない。上述したように、いずれかの接続仲介装置のアドレステーブルＴがアドレステーブル更新部１２０によって書き換えられると、同期処理によって、他の接続仲介装置のアドレステーブルＴも書き換えられることになるので、自己アドレス通知部２５０からの通知は、任意の接続仲介装置に対して行えば十分である。
【０３２４】
したがって、各端末装置２００Ａ〜２００Ｉの自己アドレス通知部２５０は、たとえば、自己を担当する担当接続仲介装置に対して所在アドレスの通知を行うようにすればよい。
【０３２５】
あるいは、図２１に示す実施例のように、固定アドレスが設定された固定接続仲介装置１００Ｘと、浮動アドレスが設定された浮動接続仲介装置１００Ｙ，１００Ｚとが設けられている場合は、自己を担当する担当接続仲介装置の代わりに、固定接続仲介装置に対して通知するような運用を行ってもよい。このような運用を行うと、図２１に示す実施例の場合、すべての端末装置２００Ａ〜２００Ｉの自己アドレス通知部２５０は、自己のネットワーク上での所在を示す所在アドレスを、固定接続仲介装置１００Ｘに対して通知することになるが、上述した同期処理により、固定接続仲介装置１００Ｘ内のアドレステーブルＴに対する更新内容は、浮動接続仲介装置１００Ｙ，１００Ｚ内のアドレステーブルＴにも直ちに反映されることになる。
【０３２６】
このように、自己アドレス通知部２５０による所在アドレスの通知先を常に固定接続仲介装置１００Ｘとする運用を採用すると、常に確実な通知が可能になるというメリットが得られる。図２１に示す実施例の場合、浮動接続仲介装置１００Ｙおよび１００Ｚの所在アドレス「ＡＤＹ」，「ＡＤＺ」は浮動アドレスであるため、将来、変更される可能性がある。もちろん、変更があった場合には、その旨を各端末装置２００Ａ〜２００Ｉに通知すればよいが、実際には、前述したように、このような通知をプッシュ型配信によって直ちに行うことは困難である。したがって、自己アドレス通知部２５０による所在アドレスの通知先が浮動接続仲介装置１００Ｙ，１００Ｚであると、アドレスＡＤＹ，ＡＤＺの変更により、通知に失敗する可能性がある。これに対して、固定接続仲介装置１００ＸのアドレスＡＤＸは常に固定されたアドレスであるため、アドレス変更による通知の失敗が生じることはない。
【０３２７】
もちろん、自己アドレス通知部２５０による所在アドレスの通知先を、担当接続仲介装置（固定接続仲介装置である場合もあるし、浮動接続仲介装置である場合もある）としておき、もし通知に失敗した場合には、改めて固定接続仲介装置に対して通知を行うような運用も可能である。このような運用を行うには、すべての端末装置の自己アドレス通知部２５０に、固定接続仲介装置１００ＸのアドレスＡＤＸを記録しておくようにすればよい。
【０３２８】
＜５−３．  各テーブルをテーブル格納装置に格納した実施例＞
上述した§５−２では、図２４を参照しながら、アドレステーブルＴおよび担当テーブルＵを、個々の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの内部に格納した実施例を述べた。このように、アドレステーブルＴおよび担当テーブルＵを、各接続仲介装置の内部に格納しておけば、各接続仲介装置は、通信元端末装置から接続仲介依頼を受けたときに、これらのテーブルＴ，Ｕを参照することにより、通信先端末装置の所在アドレスを直ちに認識することができ、また、自己が、通信元端末装置についての担当接続仲介装置であるか否かを直ちに判定することができる。
【０３２９】
しかしながら、各接続仲介装置のそれぞれに別個独立したアドレステーブルＴおよび担当テーブルＵが存在するため、テーブルの内容を変更する必要が生じた場合には、すべての接続仲介装置に格納されている個々のテーブルをそれぞれ更新して各テーブルの内容を一致させる同期処理が必要になる。以下に述べる実施例は、アドレステーブルＴおよび担当テーブルＵを一元管理し、同期処理を不要にする形態を採るものである。
【０３３０】
図２５は、図２１に示すネットワーク通信システムにおいて、各接続仲介装置とは別にテーブル格納装置５００を設け、アドレステーブルＴおよび担当テーブルＵをこのテーブル格納装置５００の内部に格納した実施例を示すブロック図である。図２４に示す実施形態では、接続仲介装置１００Ｘ内にアドレステーブル格納部１１０および担当テーブル格納部１４０Ｘが設けられ、アドレステーブルＴおよび担当テーブルＵが格納されている（図示されていないが、接続仲介装置１００Ｙ，１００Ｚも同様）。これに対して、図２５に示す実施形態では、新たにテーブル格納装置５００が設けられ、このテーブル格納装置５００内にアドレステーブルＴおよび担当テーブルＵが格納されている。
【０３３１】
図示のとおり、テーブル格納装置５００は、アドレステーブルＴを格納するアドレステーブル格納部５１０と、アドレステーブルＴを更新するアドレステーブル更新部５２０と、照会回答部５３０と、担当テーブルＵを格納する担当テーブル格納部５４０と、担当テーブルＵを更新する担当テーブル更新部５５０と、を備えている。実際には、このテーブル格納装置５００は、ネットワークＮに接続されたサーバコンピュータに専用のプログラムを組み込むことにより構成される。
【０３３２】
アドレステーブル格納部５１０に格納されているアドレステーブルＴは、図２４に示すアドレステーブルＴと全く同一のテーブルである。アドレステーブル更新部５２０は、各端末装置２００Ａ〜２００Ｉの自己アドレス通知部２５０からの通知に基づいて、このアドレステーブルＴの内容を更新する処理を実行する。また、担当テーブル格納部５４０に格納されている担当テーブルＵは、図２４に示す担当テーブルＵと全く同一のテーブルである。担当テーブル更新部５５０は、外部から与えられた担当変更指示に基づいて、この担当テーブルＵの内容を更新する処理を実行する。図示の実施例の場合、担当変更が必要な場合、管理用端末装置２００Ｓから担当テーブル更新部５５０に対して担当変更指示が与えられ、担当テーブルＵの内容が更新される。
【０３３３】
この実施例の場合、アドレステーブルＴおよび担当テーブルＵは、テーブル格納装置５００内に格納されて一元管理され、個々の接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′内には、アドレステーブルＴおよび担当テーブルＵは存在しない。すなわち、図２４に示す接続仲介装置１００Ｘには、アドレステーブル格納部１１０、アドレステーブル更新部１２０、担当テーブル格納部１４０Ｘ、担当テーブル更新部１５０Ｘが設けられているが、図２５に示す接続仲介装置１００Ｘ′には、これらの構成要素は設けられておらず、実質的に、通信先アドレス返信部１３０Ｘと同等の機能を果たす構成要素だけが設けられている。接続仲介装置１００Ｙ′，１００Ｚ′も同様である。
【０３３４】
もっとも、図２４に示す通信先アドレス返信部１３０Ｘは、接続仲介装置１００Ｘ内に格納されているアドレステーブルＴおよび担当テーブルＵを参照することにより、その機能を果たすことができるが、図２５に示す接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′は、内部にアドレステーブルＴおよび担当テーブルＵを格納していないため、外部のテーブル格納装置５００に対する照会を行うことにより、アドレステーブルＴの参照および担当テーブルＵの参照を行うことになる。テーブル格納装置５００の照会回答部５３０は、接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′から照会があった場合に、この照会に基づいて、アドレステーブル格納部５１０内のアドレステーブルＴもしくは担当テーブル格納部５４０内の担当テーブルＵを参照し、参照結果を照会元に回答する処理を行う。
【０３３５】
結局、図２５に示す接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′は、アドレステーブルＴを参照するアドレステーブル参照機能と、担当テーブルＵを参照する担当テーブル参照機能と、端末装置から接続仲介依頼Ｓ２が送信されてきたときに、アドレステーブルＴの参照結果に基づいて通信先アドレスを返信する通信先アドレス返信機能と、担当外の端末装置から接続仲介依頼Ｓ２が送信されてきたときに、担当接続仲介装置を通知する担当通知機能と、を有する装置であるという観点では、図２４に示す接続仲介装置１００Ｘ，１００Ｙ，１００Ｚと変わりはないが、アドレステーブルＴおよび担当テーブルＵの参照を、外部のテーブル格納装置５００に対して行う点が異なっている。
【０３３６】
このように、図２４に示す実施例と図２５に示す実施例とでは、「アドレステーブルＴおよび担当テーブルＵをどこに格納するか」という考え方において根本的な相違があり、それぞれ一長一短を有する。前者では、各接続仲介装置がテーブルＴ，Ｕを保有しているため、外部への問い合わせは不要になるが、テーブルＴ，Ｕの内容に変更が生じた場合、全接続仲介装置内のテーブルを更新する同期処理が必要になる。これに対して後者では、共通のテーブルＴ，Ｕがテーブル格納装置５００において一元管理されるため、複数のテーブルを同期させる処理は不要になるが、各接続仲介装置は、テーブルＴ，Ｕを参照するために外部のテーブル格納装置５００に照会を行う必要がある。
【０３３７】
図２５に示すとおり、テーブル格納装置５００も、ネットワークＮに接続された構成要素であり（図において、ネットワークＮの楕円ブロックの右端から伸びる実線を参照）、ネットワークＮを介して、各端末装置２００Ａ〜２００Ｉ，２００Ｓや、各接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′と交信することができる。ただ、上述したとおり、各接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′は、テーブルＴ，Ｕを参照する必要が生じるたびに、外部のテーブル格納装置５００に対して照会を行う必要があり、システムの実運用時には、このような照会およびこれに対する回答が頻繁に行われることになる。
【０３３８】
そこで、図２５に示す実施例では、各端末装置２００Ａ〜２００Ｉ，２００Ｓと、各接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′との間、および端末装置２００Ａ〜２００Ｉ，２００Ｓと、テーブル格納装置５００との間、をインターネットＮを介して接続する（図の細い実線参照）とともに、各接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′とテーブル格納装置５００との間（具体的には、照会回答部５３０との間）を、インターネットＮより高速な通信が可能な高速通信線Ｈによって接続している（図の太い実線参照）。
【０３３９】
このように、一部に高速通信線Ｈを設けるようにすれば、各接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′とテーブル格納装置５００（照会回答部５３０）との間の交信を高速に行うことが可能になる。すなわち、各接続仲介装置１００Ｘ′，１００Ｙ′，１００Ｚ′から照会回答部５３０に対する照会や、照会回答部５３０から照会元への回答は、この高速通信線Ｈを介して高速に行うことができるので、システムの実運用時に照会や回答が頻繁に行われることになっても、処理の遅延を抑制することができる。
【０３４０】
＜５−４．  管理用端末装置の機能＞
図２４に示す実施例や図２５に示す実施例には、端末装置２００Ａ〜２００Ｉとは別個に、管理用端末装置２００Ｓが設けられている。ここで、端末装置２００Ａ〜２００Ｉは、このネットワーク通信システムを利用する個々のユーザの端末装置であるのに対して、管理用端末装置２００Ｓは、このネットワーク通信システムの運営者がシステムを管理するために用いる端末装置である。
【０３４１】
具体的には、管理用端末装置２００Ｓは、新たな接続仲介装置をシステムに追加する追加処理、既存の接続仲介装置をシステムから削除する削除処理、各接続仲介装置の担当を変更する担当変更処理を行う機能を有する。図示のとおり、この管理用端末装置２００Ｓも、所定の所在アドレスＡＤｓをもってネットワークＮに接続された装置であり、たとえば、パソコンなどに専用のプログラムを組み込むことにより構成される。
【０３４２】
図２１には、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚによって９台の端末装置２００Ａ〜２００Ｉについての接続仲介処理を実行する例を示したが、実用上は、より多数の端末装置についての接続仲介処理を行うことになる。このため、実運用を開始した後に、たとえば端末装置の数が増加した場合や各端末装置の通信頻度が増加した場合は、３台の接続仲介装置だけではその処理能力の限界を超えて輻輳状態に陥ることがある。このような場合、４台目、５台目といった新たな接続仲介装置を追加して、各接続仲介装置の処理負荷を分散させる必要がある。
【０３４３】
このように、接続仲介装置の追加処理を行う際には、追加対象となる新たな接続仲介装置を用意した上で、当該新たな接続仲介装置が担当することになる端末装置を決定し、当該決定に基づいて、担当テーブルＵの内容を更新する必要がある。新たな接続仲介装置を用意するには、新たなサーバコンピュータをネットワークＮに接続し、必要な専用ソフトウエアを組み込めばよい。そして、担当テーブルＵについては、既存の接続仲介装置がこれまで担当していた端末装置の一部を、追加した新たな接続仲介装置の担当に変更するような担当変更を行えばよい。
【０３４４】
図２４に示す実施例の場合、管理用端末装置２００Ｓによって担当変更処理が実行される。具体的には、管理用端末装置２００Ｓから各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの担当テーブル更新部に対して担当変更指示がなされ、担当テーブルＵの更新が行われる。あるいは、管理用端末装置２００Ｓから代表となる接続仲介装置（たとえば、接続仲介装置１００Ｘ）の担当テーブル更新部に対して担当変更指示を行い、各担当テーブル更新部による同期処理により、各担当テーブルＵの内容を同期させるようにしてもかまわない。もちろん、新たに追加された接続仲介装置にも、更新後の担当テーブルＵが格納されることになる。
【０３４５】
一方、図２５に示す実施例の場合、管理用端末装置２００Ｓからテーブル格納装置５００内の担当テーブル更新部５５０に対して担当変更指示がなされ、担当テーブルＵの更新が行われる。この実施例では、担当テーブルＵはテーブル格納装置５００によって一元管理されているため、テーブル格納装置５００内の担当テーブルＵを更新するだけで足りる。
【０３４６】
このように接続仲介装置を増加させる必要が生じるケースとは逆に、接続仲介装置を減少させる必要が生じるケースもありうる。たとえば端末装置の数が減少した場合や各端末装置の通信頻度が減少した場合は、各接続仲介装置の処理負荷が減少することになる。このような処理負荷の減少により技術的な問題が生じることはない。ただ、実際には必要のない無用なハードウエア資源を投入していることになるので、運用コストが嵩むという経済的な問題が生じることになる。このような場合、より効率的な運営を行うという見地から、既存の接続仲介装置の一部を削除する必要がある。
【０３４７】
このように、接続仲介装置の削除処理を行う際には、削除対象となる既存の接続仲介装置を撤去するとともに、当該既存の接続仲介装置が担当していた端末装置について新たな担当を決定し、当該決定に基づいて、担当テーブルＵの内容を更新するための担当変更指示を行うようにすればよい。前述したとおり、図２４に示す実施例の場合、このような担当変更指示は、管理用端末装置２００Ｓによって、接続仲介装置１００Ｘ，１００Ｙ，１００Ｚ（もしくは、これらのうちの代表）の担当テーブル更新部に対してなされる。また、図２５に示す実施例の場合、管理用端末装置２００Ｓからテーブル格納装置５００内の担当テーブル更新部５５０に対して担当変更指示がなされる。
【０３４８】
以上述べた新たな接続仲介装置の追加処理および既存の接続仲介装置の削除処理や、これに付随する担当変更の処理は、このネットワーク通信システムを管理するオペレータの指示に基づいて行うことができる。オペレータは、各接続仲介装置の稼働状態を監視しながら接続仲介装置の増減の必要性を判断し、追加処理や削除処理のために必要な作業を行うとともに、これに付随して必要な担当変更を管理用端末装置２００Ｓに対して指示する。管理用端末装置２００Ｓは、オペレータからの指示に基づいて、追加処理および削除処理を実行し、オペレータからの指示に基づいて、担当テーブルＵの内容を更新するための担当変更指示を行う。
【０３４９】
もちろん、接続仲介装置の追加や削除を行わずに、担当変更指示のみを行うことも可能である。たとえば、図２１に示す実施例において、接続仲介装置１００Ｘの処理負荷が増加して逼迫する可能性が高まっているのに対し、接続仲介装置１００Ｙの処理負荷が減少しているような場合は、接続仲介装置１００Ｘの担当となっている端末装置の一部を接続仲介装置１００Ｙの担当に変更する担当変更指示を行えばよい。そうすれば、接続仲介装置の追加や削除を行うことなしに、円滑な仲介処理を実現することができる。
【０３５０】
このように、オペレータは、自己の判断に基づいて管理用端末装置２００Ｓに対して指示を行うことにより、接続仲介装置の追加や削除あるいは担当変更についての的確な管理を行うことができる。もっとも、このような管理を、オペレータの手を煩わせずに、管理用端末装置２００Ｓによって自動的に実行させるようにすることも可能である。
【０３５１】
具体的には、追加処理を自動化するには、管理用端末装置２００Ｓに、既存の各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの負荷を適宜モニタする機能をもたせておき、モニタの結果、負荷が所定の上限値を超えるオーバーロード接続仲介装置の存在が判明した場合には、新たな接続仲介装置をシステムに追加する追加処理を実行し、このオーバーロード接続仲介装置が担当していた一部の端末装置を、追加した新たな接続仲介装置に担当させる担当変更指示を行う機能をもたせておくようにすればよい。
【０３５２】
なお、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの負荷をモニタするには、たとえば、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚから管理用端末装置２００Ｓに対して、定期的に自己の処理負荷を報告させるようにすればよい。
【０３５３】
もちろん、管理用端末装置２００Ｓは、あくまでもソフトウエア的な処理を行う装置であり、新たな接続仲介装置を物理的に設置するようなハードウエア的な処理を行うことはできない。したがって、管理用端末装置２００Ｓによる接続仲介装置の追加処理を自動化する場合は、予め接続仲介装置として機能しうるサーバコンピュータなどを待機装置として準備しておき、必要に応じて、管理用端末装置２００Ｓによるソフトウエア的な処理によって、この待機装置を新たな接続仲介装置として稼働させることになる。
【０３５４】
一方、削除処理を自動化するには、管理用端末装置２００Ｓに、既存の各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの負荷を適宜モニタする機能をもたせておき、モニタの結果、負荷が所定の下限値を下まわるアンダーロード接続仲介装置の存在が判明した場合には、アンダーロード接続仲介装置をシステムから削除する削除処理を実行し、アンダーロード接続仲介装置が担当していた端末装置を別な接続仲介装置に担当させる担当変更指示を行う機能をもたせておくようにすればよい。削除対象となった接続仲介装置は待機状態となるが、必要があれば、追加処理によって再び稼働することになる。
【０３５５】
また、管理用端末装置２００Ｓは、接続仲介装置の追加や削除を行わずに、担当変更処理だけを自動的に行うこともできる。担当変更処理を自動化するには、管理用端末装置２００Ｓに、既存の各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの負荷を適宜モニタする機能をもたせておき、モニタの結果を踏まえて、各接続仲介装置１００Ｘ，１００Ｙ，１００Ｚの負荷が分散されるような担当変更指示を行う機能をもたせておくようにすればよい。
【０３５６】
どの端末装置をどの接続仲介装置に担当させるかは、予め定められた効率的なアルゴリズムに基づいて決定すればよい。具体的には、たとえば、所在アドレスに基づいて各端末装置の地理的な位置を推定し、個々の端末装置について、地理的に近い位置に設置されている接続仲介装置を担当にするアルゴリズムを採用することができる。一般に、インターネットを介した二者通信では、中継局を介したホッピングが行われるが、ホッピング数が少ないほど、通信に必要な時間を短縮することができる。したがって、地理的に近い接続仲介装置を担当にすれば、接続仲介処理の時間を短縮することができる。
【０３５７】
もちろん、各端末装置の担当を決定する際には、その他のアルゴリズムを採用してもかまわない。たとえば、過去の通信履歴を参照することにより、互いに親密な端末装置（過去に頻繁に通信が行われた端末装置）を同一の接続仲介装置に担当させる方法を採ることもできる。
【０３５８】
＜５−５．  仲介自律管理部の機能＞
上述した§５−４では、管理用端末装置２００Ｓによって、接続仲介装置の追加処理や削除処理、担当変更処理を行う例を述べた。ここでは、接続仲介装置自身が自律的に、これらの各処理を行う例を説明する。
【０３５９】
図２６は、図２１に示すネットワーク通信システムにおいて、接続仲介装置の内部に仲介自律管理部を設けた例である。図２６には、ネットワークＮに９台の端末装置２００Ａ〜２００Ｉと、３台の接続仲介装置１００Ｘ''，１００Ｙ，１００Ｚが接続された状態が示されている。ここで、図２６に示す端末装置２００Ａ〜２００Ｉは、図２４に示す端末装置２００Ａ〜２００Ｉと同一の構成要素である。また、図２６に示す接続仲介装置１００Ｙ，１００Ｚは、図２４に示す接続仲介装置１００Ｘと同一の構成要素である（もちろん、格納されているテーブルＴ，Ｕの内容は異なる）。
【０３６０】
これに対して、図２６に示す接続仲介装置１００Ｘ''は、図２４に示す接続仲介装置１００Ｘに、新たな構成要素である仲介自律管理部１６０Ｘを付加したものである。この仲介自律管理部１６０Ｘは、必要に応じて、新たな接続仲介装置をシステムに追加する追加処理、既存の接続仲介装置をシステムから削除する削除処理、各接続仲介装置についての担当変更処理を自動的に行う機能を有しており、接続仲介装置の増減や担当変更といった仲介処理の基幹部分の管理を自律的に行う構成要素である。
【０３６１】
具体的には、仲介自律管理部１６０Ｘは、追加処理を行う際には、追加対象となる新たな接続仲介装置が担当することになる端末装置を決定し、当該決定に基づいて、担当テーブルＵの内容を更新するため担当変更指示を行い、削除処理を行う際には、削除対象となる既存の接続仲介装置が担当していた端末装置について新たな担当を決定し、当該決定に基づいて、担当テーブルＵの内容を更新するための担当変更指示を行う。以下、この仲介自律管理部１６０Ｘの処理機能を具体的な事例について説明する。
【０３６２】
ここでは説明の便宜上、図２６において、接続仲介装置１００Ｘ''を「親接続仲介装置」と呼び、接続仲介装置１００Ｙ，１００Ｚを「子接続仲介装置」と呼ぶことにする。このように各接続仲介装置を「親」と「子」に区別して取り扱うのは、親接続仲介装置１００Ｘ''に備わっている仲介自律管理部１６０Ｘによって、子接続仲介装置１００Ｙ，１００Ｚの追加処理や削除処理が行われ、また、各接続仲介装置についての担当変更処理が行われるためである。別言すれば、子接続仲介装置１００Ｙ，１００Ｚは、親接続仲介装置１００Ｘ''の管理下にあることになる。
【０３６３】
図２６には、このネットワーク通信システムに、既に子接続仲介装置１００Ｙ，１００Ｚが追加された状態が示されているが、ここでは、この追加に至るプロセスを説明するために、子接続仲介装置１００Ｙ，１００Ｚが追加される前の状態を考えてみる。追加前の状態では、親接続仲介装置１００Ｘ''のみによって、すべての端末装置についての仲介処理が行われることになる。したがって、親接続仲介装置１００Ｘ''内に格納されている担当テーブルＵでは、端末ＩＤ「００１０」〜「００９０」のすべてについて、仲介装置ＩＤ「１００Ｘ''」が対応づけられている。
【０３６４】
この場合、仲介処理の負荷が、親接続仲介装置１００Ｘ''の処理能力に見合ったものであればよいが、端末装置が増加したり、通信量が増加したりすると、親接続仲介装置１００Ｘ''の処理能力を超える負荷がかかるようになり、輻輳が生じる事態になる。たとえば、このネットワーク通信システムに新たな端末装置２００Ｊ，２００Ｋ，２００Ｌ，… を追加する際には、図２４に示す管理用端末装置２００Ｓによって、担当テーブルＵに、当該新たな端末装置２００Ｊ，２００Ｋ，２００Ｌ等についての端末ＩＤとこれを担当する接続仲介装置の仲介装置ＩＤ「１００Ｘ''」を追加する処理を行えばよいが、親接続仲介装置１００Ｘ''の担当が増えるため、それだけ処理負荷は増大することになる。もちろん、新たな端末装置の追加がなくても、個々の端末装置の通信量が増加すれば、親接続仲介装置１００Ｘ''の処理負荷は増大する。以下、この親接続仲介装置１００Ｘ''の処理負荷（たとえば、通信先アドレス返信部１３０Ｘに対してなされる接続仲介依頼の件数）を「親負荷」と呼ぶことにする。
【０３６５】
接続仲介装置１００Ｘ''に含まれる仲介自律管理部１６０Ｘは、当該接続仲介装置１００Ｘ''自身の負荷である親負荷が所定の上限値を超えるオーバーロード状態である場合に、自己を「親接続仲介装置１００Ｘ''」として新たに「子接続仲介装置１００Ｙ」をシステムに追加する追加処理を実行する。いわば「親１００Ｘ''が、子供１００Ｙに手伝いをさせる」運用ということができる。
【０３６６】
もちろん、仲介自律管理部１６０Ｘは、あくまでもソフトウエア的な処理を行う構成要素であり、新たな接続仲介装置を物理的に設置するようなハードウエア的な処理を行うことはできない。したがって、仲介自律管理部１６０Ｘによる自律的な追加処理を行う場合は、予め接続仲介装置として機能しうるサーバコンピュータなどを待機装置として準備しておき、必要に応じて、仲介自律管理部１６０Ｘによるソフトウエア的な処理によって、この待機装置を新たな接続仲介装置として稼働させることになる。
【０３６７】
こうして、待機装置を新たに子接続仲介装置１００Ｙとして稼働させる際には、仲介自律管理部１６０Ｘによって、当該待機装置内に必要なプログラムや情報を組み込む処理が行われるとともに、これまで親接続仲介装置１００Ｘ''が担当していた一部の端末装置を子接続仲介装置１００Ｙに担当させる担当変更指示が行われる。具体的には、予め定められた所定のアルゴリズムに基づいて、どの端末装置をどの接続仲介装置に担当させるかを決定し、担当テーブル更新部１５０Ｘに担当変更指示を与えればよい。前述したように、担当テーブル更新部１５０Ｘは、すべての接続仲介装置内の担当テーブルＵの内容を一致させる同期処理を行う機能を有しているので、親接続仲介装置１００Ｘ''内の担当テーブルＵが更新されると、その内容は、新たに設置された子接続仲介装置１００Ｙ内の担当テーブルＵにも反映されることになる。
【０３６８】
かくして、親接続仲介装置１００Ｘ''がオーバーロード状態になると、仲介自律管理部１６０Ｘによる自律的な処理機能により、子接続仲介装置１００Ｙが自動的に追加されて稼働状態になり、接続仲介処理の役割分担が図られることになる。これによって、親接続仲介装置１００Ｘ''の処理負荷は軽減され、輻輳状態は解消する。もちろん、子接続仲介装置１００Ｙを追加した当初は輻輳状態は解消していたものの、その後、親接続仲介装置１００Ｘ''が再びオーバーロード状態になった場合には、仲介自律管理部１６０Ｘによる自律的な処理機能により、更に別な子接続仲介装置１００Ｚを追加する処理が自動的に行われる。このような運用は、いわば「親１００Ｘ''が、長男１００Ｙの手伝いだけでは足りず、次男１００Ｚにも手伝いをさせる」運用ということができる。
【０３６９】
図２６には、こうして、親接続仲介装置１００Ｘ''によって、２台の子接続仲介装置１００Ｙ，１００Ｚが追加された状態が示されている。２台目の子接続仲介装置１００Ｚを追加する際には、これまで親接続仲介装置１００Ｘ''が担当していた端末装置の一部を子接続仲介装置１００Ｚに担当させるだけでなく、必要があれば、これまで子接続仲介装置１００Ｙが担当していた端末装置の一部を子接続仲介装置１００Ｚに担当させるような担当変更を行うことも可能である。
【０３７０】
もちろん、親接続仲介装置１００Ｘ''と子接続仲介装置１００Ｙとの２台が稼働中の状態において、子接続仲介装置１００Ｙがオーバーロード状態になった場合に、新たに子接続仲介装置１００Ｚを追加して、合計３台を稼働させるような追加処理を行うことも可能である。たとえば、子接続仲介装置１００Ｙから親接続仲介装置１００Ｘ''に対して、定期的に自己の処理負荷を報告させるような運用を行えば、親接続仲介装置１００Ｘ''内の仲介自律管理部１６０Ｘは、親接続仲介装置１００Ｘ''の親負荷だけでなく、子接続仲介装置１００Ｙの子負荷を把握できるので、子接続仲介装置１００Ｙがオーバーロード状態に陥ったことを認識することができる。
【０３７１】
したがって、仲介自律管理部１６０Ｘは、既存の子接続仲介装置１００Ｙの負荷である子負荷が所定の上限値を超えるオーバーロード状態である場合に、自己を親接続仲介装置１００Ｘ''として、既存の子接続仲介装置１００Ｙとは別の新たな子接続仲介装置１００Ｚをシステムに追加する追加処理を実行し、当該既存の子接続仲介装置１００Ｙが担当していた一部の端末装置を新たな子接続仲介装置１００Ｚに担当させる担当変更指示を行うことができる。このような運用は、いわば「親１００Ｘ''が、長男１００Ｙの苦労を見かねて、次男１００Ｚに長男１００Ｙの手伝いをさせる」運用ということができる。
【０３７２】
なお、上記運用では、親接続仲介装置１００Ｘ''が、子接続仲介装置１００Ｙの子負荷を監視してオーバーロード状態を認識するという方法を採っているが、この子接続仲介装置１００Ｙが、当該子接続仲介装置１００Ｙ自身の負荷である子負荷が所定の上限値を超えるオーバーロード状態である場合に、親接続仲介装置１００Ｘ''に対して援助要請を行うようにすることも可能である。この場合、親接続仲介装置１００Ｘ''に含まれる仲介自律管理部１６０Ｘは、上記援助要請を受けたときに、別の新たな子接続仲介装置１００Ｚをシステムに追加する追加処理を実行することになる。このような運用は、いわば「親１００Ｘ''が、長男１００Ｙからの援助要請に応えて、次男１００Ｚに長男１００Ｙの手伝いをさせる」運用ということができる。
【０３７３】
以上、接続仲介装置の処理負荷がオーバーロード状態になったときに、新たな接続仲介装置を追加する追加処理について述べたが、逆に、接続仲介装置の処理負荷がアンダーロード状態になったときには、既存の接続仲介装置を削除する削除処理が行われる。たとえば端末装置の数が減少した場合や各端末装置の通信頻度が減少した場合は、各接続仲介装置の処理負荷が減少することになるので、そのままの状態で稼働させておくと、運用コストが嵩むという経済的な問題が生じる。このような場合は、より効率的な運営を行うという見地から、既存の接続仲介装置の一部を削除するのが好ましい。
【０３７４】
そこで、たとえば図２６に示すように、３台の接続仲介装置１００Ｘ''，１００Ｙ，１００Ｚが稼働中の状態において、親接続仲介装置１００Ｘ''に含まれる仲介自律管理部１６０Ｘが、親接続仲介装置１００Ｘ''自身の負荷である親負荷と子接続仲介装置１００Ｙ，１００Ｚの負荷である子負荷を監視するようにし、親負荷と子負荷の合計が所定の下限値を下まわるアンダーロード状態である場合には、特定の子接続仲介装置をシステムから削除する削除処理を実行し、削除された子接続仲介装置が担当していた端末装置を親接続仲介装置１００Ｘ''もしくは削除されなかった子接続仲介装置に担当させる担当変更指示を行うようにするのが好ましい。
【０３７５】
すなわち、３台の接続仲介装置１００Ｘ''，１００Ｙ，１００Ｚの処理負荷の合計が低減し、２台の接続仲介装置で処理してもその処理能力内に収まる程度であるならば、３台の接続仲介装置を稼働しておく必要はないので、１台について削除処理を行うのが効率的である。図２６に示す例の場合、３台の合計負荷がアンダーロード状態であると判断された場合には、仲介自律管理部１６０Ｘによる削除処理が実行され、たとえば、子接続仲介装置１００Ｚが削除される（ソフトウエア的に削除され、稼働装置から待機装置に移行する）。そして、これまで子接続仲介装置１００Ｚが担当していた端末装置を、親接続仲介装置１００Ｘ''もしくは子接続仲介装置１００Ｙに担当させる担当変更処理がなされることになる。
【０３７６】
仲介自律管理部１６０Ｘは、新たな接続仲介装置を追加する追加処理や、既存の接続仲介装置を削除する削除処理のみならず、接続仲介装置の稼働台数を変更せずに維持したまま、担当変更のみを行う機能も有している。すなわち、図２６において、親接続仲介装置１００Ｘ''に含まれる仲介自律管理部１６０Ｘは、親接続仲介装置１００Ｘ''自身の負荷である親負荷と子接続仲介装置１００Ｙ，１００Ｚの負荷である子負荷について偏りが生じている場合に、負荷の偏りが分散されるような担当変更指示を行う機能を有する。
【０３７７】
たとえば、子接続仲介装置１００Ｙの処理負荷が、親接続仲介装置１００Ｘ''の処理負荷や子接続仲介装置１００Ｚの処理負荷に比べて大きいと判断された場合には、子接続仲介装置１００Ｙの担当の一部を親接続仲介装置１００Ｘ''の担当や子接続仲介装置１００Ｚの担当に変更することにより、負荷分散を図ることができる。このような負荷分散は、将来、特定の接続仲介装置がオーバーロードにより輻輳状態になる可能性を低減する上で有益である。
【０３７８】
上記負荷分散を自動的に行うには、子接続仲介装置１００Ｙ，１００Ｚに、当該子接続仲介装置１００Ｙ，１００Ｚ自身の負荷である子負荷が所定の警戒値を超える警戒状態である場合に、親接続仲介装置１００Ｘ''に対して警戒状態報告を行い、子負荷が所定の余裕値を下まわる余裕状態である場合に、親接続仲介装置１００Ｘ''に対して余裕状態報告を行う機能を設けておけばよい。そうすれば、親接続仲介装置１００Ｘ''に含まれる仲介自律管理部１６０Ｘは、警戒状態報告を行った子接続仲介装置が担当する端末装置の一部を、余裕状態報告を行った子接続仲介装置の担当に変更する担当変更指示を行うことができる。
【０３７９】
この場合、警戒状態報告には、所定の警戒値を超える程度を示す数値を含ませておき、余裕状態報告には、所定の余裕値を下まわる程度を示す数値を含ませておくのが好ましい。そうすれば、仲介自律管理部１６０Ｘは、これらの数値を勘案することにより、担当変更すべき端末装置の合理的な台数を算出することができる。
【０３８０】
以上、図２６に示す実施例を参照しながら、親接続仲介装置１００Ｘ''の管理下に子接続仲介装置１００Ｙ，１００Ｚを設置した例を説明したが、子接続仲介装置１００Ｙ，１００Ｚにも仲介自律管理部１６０Ｘと同等の機能をもった仲介自律管理部１６０Ｙ，１６０Ｚを設けるようにすれば、これら仲介自律管理部１６０Ｙ，１６０Ｚによって、孫接続仲介装置を追加したり削除したりすることも可能になる。もちろん、孫接続仲介装置にも仲介自律管理部を設けておけば、更にひ孫接続仲介装置等を設置することも可能である。
【０３８１】
また、図２６に示す実施例は、図２４に示す実施例（§５−２で述べた各テーブルを接続仲介装置の内部に格納した実施例）について仲介自律管理部を設けた変形例であるが、図２５に示す実施例（§５−３で述べた各テーブルをテーブル格納装置に格納した実施例）についても、仲介自律管理部を設けた変形例を適用することが可能である。この場合、仲介自律管理部１６０Ｘからの担当変更指示は、テーブル格納装置５００内の担当テーブル更新部５５０に対して与えられることになる。
【０３８２】
＜＜＜  §６．  本発明の第２の実施形態  ＞＞＞
§１では、先願基本発明の第１の実施形態を説明し、§２では、先願基本発明の第２の実施形態を説明した。ここで、両者の相違点は、第１の実施形態では、図４に示すように、通信元端末装置２００Ａから接続仲介装置１００に対して接続仲介依頼Ｓ２があると、接続仲介装置１００から通信元端末装置２００Ａに対して、通信先端末装置２００ＢのアドレスＡＤ２を示す通信先アドレス返信Ｓ４があるのに対して、第２の実施形態では、図８に示すように、通信元端末装置４００Ｂから接続仲介装置３００に対して接続仲介依頼Ｓ１２があると、接続仲介装置３００から通信先端末装置４００Ａに対して、通信元端末装置４００ＢのアドレスＡＤ２を示す通信元アドレス送信Ｓ１４がある点である。
【０３８３】
そして、§５では、「接続仲介装置を複数組設けて接続仲介処理を分散させ、各接続仲介装置の処理負荷を軽減する」という本発明の基本概念を、先願基本発明の第１の実施形態に適用した例を、本発明の第１の実施形態として説明した。そこで、この§６では、上記本発明の基本概念を、先願基本発明の第２の実施形態に適用した例を、本発明の第２の実施形態として述べることにする。もっとも、第１の実施形態と第２の実施形態との違いは、接続仲介装置から通信元に通信先のアドレスを返信するか、通信先に通信元のアドレスを送信するか、という点だけなので、この相違点を除けば、ここで述べる第２の実施形態についても、§５で述べた第１の実施形態に関する種々の実施形態を適用することが可能である。
【０３８４】
要するに、本発明の第２の実施形態に係るネットワーク通信システムに用いられる各接続仲介装置は、ネットワークを介して相互に接続可能な複数の端末装置について、通信元端末装置と通信先端末装置との間の接続を仲介する役割を果たす装置という点において、第１の実施形態で用いられる各接続仲介装置と共通している。
【０３８５】
また、この第２の実施形態に係る接続仲介装置は、端末装置のそれぞれについて個々の端末装置を相互に識別するための端末ＩＤと個々の端末装置のネットワーク上での所在を示す所在アドレスとを対応づけたアドレステーブルＴを参照するアドレステーブル参照手段と、各端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルＵを参照する担当テーブル参照手段と、通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、担当テーブルＵの参照結果に基づいて、自己が、通信元端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元端末装置に対して、担当接続仲介装置を通知する担当通知手段と、を有する点においても、第１の実施形態で用いられる各接続仲介装置と共通している。
【０３８６】
ただ、第２の実施形態で用いられる各接続仲介装置は、第１の実施形態で用いられる各接続仲介装置が有していた通信先アドレス返信手段の代わりに、通信元端末装置から通信先端末装置に対する接続仲介依頼が送信されてきたときに、アドレステーブルＴの参照結果に基づいて得られる通信先端末装置の所在アドレスに対して、通信元端末装置の所在アドレスを送信する通信元アドレス送信手段を有している点が異なっている。もちろん、実際には、この第２の実施形態で用いられる各接続仲介装置も、ネットワークに接続されたサーバコンピュータに、上記各手段としての機能を果たすための専用プログラムを組み込むことにより構成することができる。
【０３８７】
図２１に示すネットワーク通信システムの実施例は、第１の実施形態に係る実施例であるが、これを第２の実施形態に変更するには、各接続仲介装置の「通信先アドレス返信機能（通信元端末装置に通信先のアドレスを返信する機能）」を「通信元アドレス送信機能（通信先端末装置に通信元のアドレスを送信する機能）」に変更すればよい。
【０３８８】
そのような変更を施したネットワーク通信システムは、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する複数の接続仲介装置と、を備えたネットワーク通信システムということになり、複数の端末装置には、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、複数の接続仲介装置は、この端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。
【０３８９】
ここで、複数の端末装置のそれぞれは、自己のネットワーク上での所在を示す所在アドレスを、特定の外部装置（接続仲介装置３００やテーブル格納装置５００などのアドレステーブルを格納している装置）に対して通知する自己アドレス通知部４５０（図７参照）と、自己を通信元として、通信先の別な端末装置に対する通信要求Ｓ１１を受け付ける通信要求受付部４２０Ｂ（図８参照、以下同様）と、通信要求受付部４２０Ｂによって通信要求Ｓ１１が受け付けられたときに、担当接続仲介装置３００に対して、通信先の別な端末装置４００Ａの端末ＩＤ「００１０」を特定するための通信先特定情報を含む接続仲介依頼Ｓ１２を送信する接続仲介依頼部４１０Ｂと、接続仲介装置３００から、通信元の別な端末装置４００Ｂのネットワーク上での所在を示す通信元アドレスＡＤ２が送信されてきたときに、ネットワークＮを介して、通信元アドレスＡＤ２にアクセスして通信開始要求Ｓ１５を行う通信開始要求部４４０Ａと、通信開始要求Ｓ１５に応じて、通信元の別な端末装置４００Ｂから、通信開始受諾確認Ｓ１６が返信されてきたら、通信元の別な端末装置４００Ｂとの間に通信セッションを確立して通信Ｓ１７を開始する通信先セッション確立部４６０Ａと、通信先の別な端末装置４００Ａから、自己を通信元とする通信開始要求Ｓ１５がなされたら、通信先の別な端末装置４００Ａに対して通信開始受諾確認Ｓ１６を送信し、通信先の別な端末装置４００Ａとの間に通信セッションを確立して通信Ｓ１７を開始する通信元セッション確立部４３０Ｂと、を有している。
【０３９０】
一方、複数の接続仲介装置のそれぞれは、端末装置のそれぞれについて端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴを参照するアドレステーブル参照機能と、端末装置のそれぞれについて当該端末装置を担当する担当接続仲介装置を示す情報を含む担当テーブルＵを参照する担当テーブル参照機能と、端末装置４００Ｂの接続仲介依頼部４１０Ｂから、接続仲介依頼Ｓ１２が送信されてきたときに、アドレステーブルＴの参照結果に基づいて、接続仲介依頼Ｓ１２に含まれている通信先特定情報によって特定される端末ＩＤ「００１０」に対応づけられている所在アドレスＡＤ１に対して、接続仲介依頼Ｓ１２を送信した通信元の端末装置４００Ｂの端末ＩＤ「００２０」に対応づけられている所在アドレスＡＤ２を通信元アドレスとして送信する通信元アドレス送信機能と、接続仲介依頼Ｓ１２を受信したときに、担当テーブルＵの参照結果に基づいて、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する担当通知機能と、を有している。
【０３９１】
そして、端末装置４００Ｂ内の接続仲介依頼部４１０Ｂは、接続仲介装置の担当通知機能による最新の通知によって示された接続仲介装置を担当接続仲介装置として、接続仲介依頼Ｓ１２を送信することになる。
【０３９２】
もちろん、この第２の実施形態においても、§５−２で述べたように、各テーブルＴ，Ｕを接続仲介装置の内部に格納する形態を採ることができる。この場合、接続仲介装置には、アドレステーブルＴを格納するアドレステーブル格納部と、担当テーブルＵを格納する担当テーブル格納部と、端末装置の自己アドレス通知部からの通知に基づいて、前記アドレステーブルＴの内容を更新するアドレステーブル更新部と、与えられた担当変更指示に基づいて、担当テーブルＵの内容を更新する担当テーブル更新部と、端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルＴを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末ＩＤに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、を設ければよい。
【０３９３】
このとき、アドレステーブル更新部および前記担当テーブル更新部には、必要に応じて別な接続仲介装置のアドレステーブル更新部および担当テーブル更新部と通信することにより、すべての接続仲介装置内のアドレステーブルＴおよび担当テーブルＵの内容が一致するような同期処理を行う機能を設けておくようにする。また、通信元アドレス送信部には、担当テーブルＵを参照して、自己が、通信元となる端末装置についての担当接続仲介装置であるか否かを判定し、自己が担当接続仲介装置でない場合には、通信元となる端末装置に対して、担当接続仲介装置を通知する機能を設けておくようにする。
【０３９４】
もちろん、この第２の実施形態においても、§５−３で述べたように、各テーブルＴ，Ｕをテーブル格納装置５００に格納する形態を採ることもできる。また、§５−４で述べたように、管理用端末装置を設ける形態を採ることもできるし、§５−５で述べたように、仲介自律管理部を設ける形態を採ることもできる。これらの各形態については、内容が重複するため、ここでは説明を省略する。
【０３９５】
なお、実用上は、第１の実施形態と第２の実施形態とを混合させた混合実施形態を採ることも可能である。具体的には、たとえば、図２１に示す実施形態において、接続仲介装置１００Ｘについては第１の実施形態を適用し、接続仲介装置１００Ｙ，１００Ｚについては第２の実施形態を適用することにより、３台の接続仲介装置１００Ｘ，１００Ｙ，１００Ｚによって接続仲介システムを構成することが可能である。この場合、接続仲介装置１００Ｘには、図示のとおり、通信先端末装置の所在アドレスを通信元端末装置に返信する「通信先アドレス返信機能」を設けておき、接続仲介装置１００Ｙ，１００Ｚには、この「通信先アドレス返信機能」の代わりに、通信先端末装置の所在アドレスに対して通信元端末装置の所在アドレスを送信する「通信元アドレス送信機能」を設けておけばよい。
【産業上の利用可能性】
【０３９６】
本発明に係るネットワーク通信システムは、パソコン、携帯電話、タブレット型端末など、インターネットに接続可能な様々な端末装置が利用されている状態において、任意の端末装置間での円滑な通信を可能にする技術を提供するものであり、産業上、十分な利用可能性を有している。
【符号の説明】
【０３９７】
１００：接続仲介装置
１００Ｘ，１００Ｙ，１００Ｚ：接続仲介装置
１００Ｘ′，１００Ｙ′，１００Ｚ′：接続仲介装置
１００Ｘ''：接続仲介装置
１１０：アドレステーブル格納部
１２０：アドレステーブル更新部
１３０：通信先アドレス返信部
１３０Ｘ：通信先アドレス返信部
１４０Ｘ：担当テーブル格納部
１５０Ｘ：担当テーブル更新部
１６０Ｘ：仲介自律管理部
２００，２００Ａ〜２００Ｋ：端末装置
２００Ｓ：管理用端末装置
２０１Ｈ，２０１Ｋ：ＶＰＮ通信部
２１０，２１０Ａ，２１０Ｂ：接続仲介依頼部
２２０，２２０Ａ，２２０Ｂ：通信要求受付部
２３０，２３０Ａ，２３０Ｂ：通信先セッション確立部
２４０，２４０Ａ，２４０Ｂ：通信開始要求部
２５０，２５０Ａ，２５０Ｂ：自己アドレス通知部
２６０，２６０Ａ，２６０Ｂ：通信元セッション確立部
３００：接続仲介装置
３１０：アドレステーブル格納部
３２０：アドレステーブル更新部
３３０：通信元アドレス送信部
４００，４００Ａ〜４００Ｄ：端末装置
４１０，４１０Ａ，４１０Ｂ：接続仲介依頼部
４２０，４２０Ａ，４２０Ｂ：通信要求受付部
４３０，４３０Ａ，４３０Ｂ：通信元セッション確立部
４４０，４４０Ａ，４４０Ｂ：通信開始要求部
４５０，４５０Ａ，４５０Ｂ：自己アドレス通知部
４６０，４６０Ａ，４６０Ｂ：通信先セッション確立部
５００：テーブル格納装置
５１０：アドレステーブル格納部
５２０：アドレステーブル更新部
５３０：照会回答部
５４０：担当テーブル格納部
５５０：担当テーブル更新部
ＡＤ１〜ＡＤ９，ＡＤｓ：端末装置の所在アドレス
ＡＤＸ，ＡＤＹ，ＡＤＺ：接続仲介装置の所在アドレス
ＡＤｘ，ＡＤｙ，ＡＤｚ：グローバルＩＰアドレス
ＡＰＰ１，ＡＰＰ２：アプリケーションプログラム
Ｈ：高速通信線
Ｍ：融合テーブル
Ｎ：ネットワーク（インターネット）
Ｐ１〜Ｐ２１：ポート番号
Ｒ，Ｒ１，Ｒ２：ルータ
Ｓ１〜Ｓ７，Ｓ１１〜Ｓ１７：流れ図の各ステップ
Ｔ，Ｔ１〜Ｔ３，Ｔ４１，Ｔ４２，Ｔ５１，Ｔ５２：アドレステーブル
Ｕ：担当テーブル
【図１】
2019035209.tif 000003
【図２】
2019035209.tif 000004
【図３】
2019035209.tif 000005
【図４】
2019035209.tif 000006
【図５】
2019035209.tif 000007
【図６】
2019035209.tif 000008
【図７】
2019035209.tif 000009
【図８】
2019035209.tif 000010
【図９】
2019035209.tif 000011
【図１０】
2019035209.tif 000012
【図１１】
2019035209.tif 000013
【図１２】
2019035209.tif 000014
【図１３】
2019035209.tif 000015
【図１４】
2019035209.tif 000016
【図１５】
2019035209.tif 000017
【図１６】
2019035209.tif 000018
【図１７】
2019035209.tif 000019
【図１８】
2019035209.tif 000020
【図１９】
2019035209.tif 000021
【図２０】
2019035209.tif 000022
【図２１】
2019035209.tif 000023
【図２２】
2019035209.tif 000024
【図２３】
2019035209.tif 000025
【図２４】
2019035209.tif 000026
【図２５】
2019035209.tif 000027
【図２６】
2019035209.tif 000028
【手続補正書】
【提出日】令和2年2月7日(2020.2.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１９７
【補正方法】変更
【補正の内容】
【０１９７】
前述したとおり、上例の場合の仲介証明書は、接続仲介装置１００が「端末装置２００Ａから端末装置２００Ｂへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部２３０Ｂは、通信開始要求Ｓ５の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求Ｓ５は端末装置２００Ａから送信されてきており、自分自身は端末装置２００Ｂであるから、「端末装置２００Ａから端末装置２００Ｂへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
【国際調査報告】
2019035209.tif 000029
2019035209.tif 000030
2019035209.tif 000031