(57)【要約】接続仲介処理の負荷を軽減しつつ、ルータ（ＲＡ，ＲＢ）を介してネットワークに接続された端末間について効率的な通信を行う。予め各端末（２００Ａ〜２００Ｃ）のグローバルアドレスＧＩＰとプライベートアドレスＰＩＰを接続仲介装置（１００）に通知し、これをアドレステーブルに記録しておく。通信元端末から通信先端末へ通信を開始するために、通信元から接続仲介装置に対して接続仲介依頼を送信すると、これに応じて、通信先のアドレスが返信されるので、通信元は返信されたアドレスに直接アクセスして通信先との通信を開始する。接続仲介装置は、通信元と通信先のＧＩＰが異なる場合には通信先のＧＩＰを通信元に返信し、通信元と通信先のＧＩＰが同じ場合には通信先のＰＩＰを通信元に返信する。送信元は、同一サブネット内の送信先へはＰＩＰを用い、異なるサブネット内の送信先へはＧＩＰを用いてアクセスする。
2019038874.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)  本発明の第２８の態様は、後の§９−６で実施例６の変形例として詳述するように、上述した第２３の態様に係るネットワーク通信システムにおいて、
通信元アドレス送信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末ＩＤに対応づけられているグローバルＩＰアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられているグローバルＩＰアドレスと、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、グローバルＩＰアドレスのみを通信元アドレスとして送信し、判断対象となる両者が同一のＩＰアドレスである場合には、通信元となる端末装置に対してプライベートＩＰアドレスの照会を行い、グローバルＩＰアドレスおよび照会によって得られたプライベートＩＰアドレスの両アドレスを通信元アドレスとして送信し、
通信開始要求部が、グローバルＩＰアドレスのみの送信があった場合には、送信されてきたグローバルＩＰアドレスを用いて通信開始要求を行い、両アドレスの送信があった場合には、まず、送信されてきたプライベートＩＰアドレスを用いて通信開始要求をトライし、この通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルＩＰアドレスを用いた通信開始要求を行うようにしたものである。【００３８】
(29)  本発明の第２９の態様は、後の§９−６で実施例６の変形例として詳述するように、または、後の§８−４で追加事項として詳述するように、上述した第２７または第２８の態様に係るネットワーク通信システムにおいて、
通信開始要求部が、プライベートＩＰアドレスを用いて通信開始要求を行った後、所定のタイムアウト時間内に通信元の端末装置から通信開始受諾確認が送信されてこなかったときに、通信開始要求に失敗したと判断するようにしたものである。【００３９】
(30)  本発明の第３０の態様は、後の§５−３で詳述するように、上述した第１６〜第２９の態様に係るネットワーク通信システムにおいて、
通信先の端末装置の通信開始要求部が、グローバルＩＰアドレスを用いて通信開始要求を行った場合は、これに応じて以後に行われる、通信元の端末装置の通信元セッション確立部と通信先の端末装置の通信先セッション確立部との間の相互アクセスはグローバルＩＰアドレスを用いて行い、
通信先の端末装置の通信開始要求部が、プライベートＩＰアドレスを用いて通信開始要求を行った場合は、これに応じて以後に行われる、通信元の端末装置の通信元セッション確立部と通信先の端末装置の通信先セッション確立部との間の相互アクセスはプライベートＩＰアドレスを用いて行うようにしたものである。【００４０】
(31)  本発明の第３１の態様は、後の§５で詳述するように、上述した第１〜第３０の態様に係るネットワーク通信システムにおける複数の端末装置を構成する１台の端末装置を単体で製品として提供するようにしたものである。【００４１】
(32)  本発明の第３２の態様は、後の§５で詳述するように、上述した第３１の態様に係る１台の端末装置を、コンピュータにプログラムを組み込むことにより構成したものである。【００４２】
(33)  本発明の第３３の態様は、後の§５で詳述するように、上述した第１〜第３０の態様に係るネットワーク通信システムにおける接続仲介装置を単体で製品として提供するようにしたものである。【００４３】
(34)  本発明の第３４の態様は、後の§５で詳述するように、上述した第３３の態様に係る接続仲介装置を、コンピュータにプログラムを組み込むことにより構成したものである。
【発明の効果】
【００４４】
本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階（第１の実施形態の場合）、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階（第２の実施形態の場合）まで行えば足りる。したがって、従来のＳＩＰを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。【００４５】
また、本発明のネットワーク通信システムでは、端末装置間での直接的な通信を開始する際に、相手方の端末装置に対して、グローバルＩＰアドレスおよびプライベートＩＰアドレスを選択的に用いて通信開始要求を行うことができるため、ルータを介してネットワークに接続された端末装置間についても効率的な通信を行うことが可能になる。
【図面の簡単な説明】
【００４６】
【図１】先願基本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
【図２】図１に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
【図３】図２に示す端末装置における自己アドレス通知部２５０の機能を示すブロック図である。
【図４】図１に示すネットワーク通信システムにおいて、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の通信セッション確立の手順を示すブロック図である。
【図５】図４のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
【図６】先願基本発明の第２の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
【図７】図６に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
【図８】図６に示すネットワーク通信システムにおいて、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の通信セッション確立の手順を示すブロック図である。
【図９】図８のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
【図１０】図１もしくは図６に示すアドレステーブルの第１の変形例を示す図である。
【図１１】図１もしくは図６に示すアドレステーブルの第２の変形例を示す図である。
【図１２】図１もしくは図６に示すアドレステーブルの第３の変形例を示す図である。
【図１３】図１に示すネットワーク通信システムにおいて、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の通信セッション確立の手順の変形例を示すブロック図である。
【図１４】図６に示すネットワーク通信システムにおいて、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の通信セッション確立の手順の変形例を示すブロック図である。
【図１５】ルータを介して端末装置をネットワークＮに接続する場合の先願基本発明の実施形態を示すブロック図である。
【図１６】図１５に示す実施形態において、ＩＰアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。
【図１７】先願基本発明に係る端末装置を通信アプリケーションプログラムを用いて構成する場合における自己アドレスの通知タイミングを示す表である。
【図１８】先願基本発明に係るネットワーク通信システムにおいて、ＶＰＮを利用した実施形態の全体構成を示すブロック図である。
【図１９】図１８に示す実施形態におけるＶＰＮ通信の原理を示す図である。
【図２０】図１８に示す実施形態に用いるために、ＶＩＰアドレスを追加したアドレステーブルの例を示す図である。
【図２１】ルータを介してネットワークＮに接続されている端末装置を含むネットワーク通信システムの全体構成を示すブロック図である。
【図２２】図２１に示すネットワーク通信システムにおける端末装置２００Ａ−２００Ｃ間の通信形態を示すブロック図である。
【図２３】図２１に示すネットワーク通信システムにおける端末装置２００Ａ−２００Ｂ間の通信形態を示すブロック図である。
【図２４】図２１に示すネットワーク通信システムにおいて、各端末装置のグローバルＩＰアドレス（ＧＩＰ）とプライベートＩＰアドレス（ＰＩＰ）の双方をアドレステーブルに格納した例を示す図である。
【図２５】本発明の第１の実施形態に係るネットワーク通信システムにおいて、接続仲介装置がＧＩＰ／ＰＩＰの選択を行うアプローチを用いた実施例１についての装置間信号の流れを示すダイアグラムである。
【図２６】本発明の第２の実施形態に係るネットワーク通信システムにおいて、接続仲介装置がＧＩＰ／ＰＩＰの選択を行うアプローチを用いた実施例２についての装置間信号の流れを示すダイアグラムである。
【図２７】本発明の第１の実施形態に係るネットワーク通信システムにおいて、端末装置がＧＩＰ／ＰＩＰの選択を行うアプローチを用いた実施例３についての装置間信号の流れを示すダイアグラムである。
【図２８】本発明の第２の実施形態に係るネットワーク通信システムにおいて、端末装置がＧＩＰ／ＰＩＰの選択を行うアプローチを用いた実施例４についての装置間信号の流れを示すダイアグラムである。
【図２９】本発明の第１の実施形態に係るネットワーク通信システムにおいて、端末装置がＰＩＰ失敗時にＧＩＰで再度トライするアプローチを用いた実施例５についての装置間信号の流れを示すダイアグラムである。
【図３０】本発明の第２の実施形態に係るネットワーク通信システムにおいて、端末装置がＰＩＰ失敗時にＧＩＰで再度トライするアプローチを用いた実施例６についての装置間信号の流れを示すダイアグラムである。
【図３１】多層構造をもって設置されたルータを介してネットワークＮに接続されている端末装置を含むネットワーク通信システムの全体構成を示すブロック図である。
【図３２】図３１に示すネットワーク通信システムにおいて、各端末装置のグローバルＩＰアドレス（ＧＩＰ）とプライベートＩＰアドレス（ＰＩＰ）の双方をアドレステーブルに格納した例を示す図である。
【図３３】図２５に示す実施例１において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
【図３４】図２６に示す実施例２において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
【図３５】図２７に示す実施例３において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
【図３６】図２８に示す実施例４において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
【図３７】図２９に示す実施例５において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
【図３８】図３０に示す実施例６において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
【発明を実施するための形態】
【００４７】
以下、本発明を図示する実施形態に基づいて説明する。なお、ここで述べる実施形態は、ＰＣＴ／ＪＰ２０１６／０５５９６０に基づく優先権主張を伴う国際出願ＰＣＴ／ＪＰ２０１７／００６１３１（以下、先願となる国際出願と呼ぶ）に記載された発明（以下、先願基本発明と呼ぶ）を基礎として、この先願基本発明に、グローバルＩＰアドレスおよびプライベートＩＰアドレスを選択的に用いて通信開始要求を行う機能を付加することにより、「ルータを介してネットワークに接続された端末装置間についても効率的な通信を行うことが可能になる」という固有の付加的な作用効果が得られるようにしたものである。
【００４８】
このような事情から、ここでは、先願基本発明を基礎とした本発明の実施形態を、本発明の好ましい一実施形態として述べることにする。そこで、以下の§１〜§４において、まず、先願基本発明の説明を行い、§５以降において、本発明に固有の特徴について述べることにする。したがって、以下の§１〜§４で述べる内容（図１〜図２０に示す内容）は、実質的に先願となる国際出願ＰＣＴ／ＪＰ２０１７／００６１３１に記載された実施形態と同じものである。
【００４９】
＜＜＜  §１．  先願基本発明の第１の実施形態  ＞＞＞
＜１−１．  先願基本発明の第１の実施形態の構成＞
図１は、先願基本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置１００と複数の端末装置２００Ａ〜２００Ｄによって構成されており、これらの各装置はいずれもネットワークＮ（この例では、インターネット）を介して相互に接続することが可能である。
【００５０】
図では、説明の便宜上、４台の端末装置２００Ａ〜２００Ｄを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置２００Ａ〜２００Ｄは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号２００を用いて示し、相互に区別する必要がある場合には、符号末尾にＡ〜Ｄを付して示すことにする。端末装置２００の内部構成要素を示す各符号についても同様である。
【００５１】
結局、このネットワーク通信システムは、ネットワークＮを介して相互に接続可能な複数の端末装置２００Ａ〜２００Ｄと、これら複数の端末装置間の接続を仲介する接続仲介装置１００と、を備えたシステムということになる。端末装置２００としては、パソコン、携帯電話、タブレット型端末など、ネットワークＮに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置１００は、これら各端末装置２００Ａ〜２００ＤからネットワークＮを介してアクセスを受けるサーバコンピュータによって構成されている。
【００５２】
各端末装置２００Ａ〜２００Ｄには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、接続仲介装置１００は、この端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置２００Ａ，２００Ｂ，２００Ｃ，２００Ｄには、それぞれ「００１０」，「００２０」，「００３０」，「００４０」なる端末ＩＤが付与されているものとする。
【００５３】
なお、先願基本発明を実施する上で、端末ＩＤは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、４台の端末装置しか用いられていないため、「００１０」のような４桁の数字を端末ＩＤとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなＩＤを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているＣＰＵのシリアル番号、通信インターフェイスに付与されたＭＡＣアドレス、携帯電話を端末装置として用いる場合は電話番号やＳＩＭカードのシリアル番号、などを端末ＩＤとして用いることが可能である。
【００５４】
各端末装置２００Ａ〜２００Ｄには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置２００Ａ，２００Ｂ，２００Ｃ，２００Ｄには、それぞれＡＤ１，ＡＤ２，ＡＤ３，ＡＤ４なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークＮとしてインターネットを用い、通信プロトコルとしてＩＰを利用する場合は、個々の端末装置２００のネットワークＮ上での所在を示す所在アドレスとして、グローバルＩＰアドレスもしくはＮＡＴ−ＩＤを用いるのが好ましい。
【００５５】
端末ＩＤが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークＮを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点設置型の端末装置の場合も、プロバイダから付与されるＩＰアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。
【００５６】
後述するように、先願基本発明に用いる端末装置２００は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークＮを介して接続仲介装置１００に通知する機能を有している。このため、接続仲介装置１００は、各端末装置２００Ａ〜２００Ｄの最新アドレスを常に把握することができ、必要に応じて、各端末装置２００Ａ〜２００Ｄにアクセスすることが可能である。
【００５７】
図示のとおり、接続仲介装置１００には、アドレステーブル格納部１１０、アドレステーブル更新部１２０、通信先アドレス返信部１３０が設けられている。前述したとおり、この接続仲介装置１００は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
【００５８】
アドレステーブル格納部１１０には、各端末装置２００Ａ〜２００Ｄのそれぞれについて、端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴが格納されており、アドレステーブル更新部１２０は、各端末装置２００Ａ〜２００Ｄからの通知に基づいて、このアドレステーブルＴの内容を更新する処理を行う。また、通信先アドレス返信部１３０は、各端末装置２００Ａ〜２００Ｄから接続仲介依頼があると、アドレステーブルＴを参照することにより、通信先アドレスを返信する処理を行う。
【００５９】
図には、アドレステーブルＴとして、４台の端末装置２００Ａ〜２００Ｄのそれぞれについて、端末ＩＤと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置２００Ａについては端末ＩＤ「００１０」と所在アドレス「ＡＤ１」とが対応づけられ、端末装置２００Ｂについては端末ＩＤ「００２０」と所在アドレス「ＡＤ２」とが対応づけられ、端末装置２００Ｃについては端末ＩＤ「００３０」と所在アドレス「ＡＤ３」とが対応づけられ、端末装置２００Ｄについては端末ＩＤ「００４０」と所在アドレス「ＡＤ４」とが対応づけられている。
【００６０】
続いて、図２を参照しながら、端末装置２００の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置２００には、接続仲介依頼部２１０、通信要求受付部２２０、通信先セッション確立部２３０、通信開始要求部２４０、自己アドレス通知部２５０、通信元セッション確立部２６０が設けられている。
【００６１】
この端末装置２００も、実際には、種々のコンピュータ（携帯電話などの機器も含む）によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置２００には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置２００がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置２００には、ユーザからの指示入力や文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。
【００６２】
結局、図２において、端末装置２００内に６つのブロックとして描かれている構成要素は、先願基本発明に係る端末装置２００において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の３通りの矢印が用いられている。ここで、太線矢印は、端末装置２００と接続仲介装置１００との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置２００の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置２００の間でやりとりされる、通信セッション確立後の信号の流れを示している。
【００６３】
また、図２では、端末装置２００内の６つの構成要素が、楕円、矩形、二重矩形という３通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置２００が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置２００が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置２００が「通信先」として機能する場合に必要な処理を実行する構成要素である。
【００６４】
本願において、「通信元」および「通信先」という用語は、２台の端末装置が相互に通信を行う場合に、これら２台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば，２台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。
【００６５】
もちろん、端末装置２００は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図２に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図２に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置２００の６つの構成要素の各機能を順に説明する。
【００６６】
上述したように、楕円ブロックで示されている自己アドレス通知部２５０は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置１００に対して通知する処理を実行する。所在アドレスとしてＩＰアドレスを用いるのであれば、自己アドレス通知部２５０は、現時点で自己に付与されたＩＰアドレスをネットワークＮを介して接続仲介装置１００に通知する処理を行うことになる。
【００６７】
通常、インターネットに接続可能な端末装置２００には、インターネットプロバイダから所定のグローバルＩＰアドレスが付与されるので、自己アドレス通知部２５０は、端末装置２００に付与されたグローバルＩＰアドレスを、所在アドレスとして接続仲介装置１００に対して通知すればよい。また、ルータのＮＡＴ機能を利用して、プライベートＩＰアドレスが付与されている場合には、ＮＡＴ−ＩＤを所在アドレスとして接続仲介装置１００に対して通知すればよい。所在アドレスを通知する際には、端末ＩＤを同時に送信するようにする。
【００６８】
図１に示すアドレステーブル更新部１２０は、このような通知を受けて、アドレステーブルＴの更新を行う。たとえば、端末装置２００Ａから接続仲介装置１００に対して、端末ＩＤ「００１０」と所在アドレス「ＡＤ１」とが通知された場合、アドレステーブル更新部１２０は、端末ＩＤ「００１０」と所在アドレス「ＡＤ１」とを対応づけてアドレステーブルＴに格納する処理を行う。
【００６９】
前述したとおり、一般的な端末装置２００の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部２５０には、所定周期で繰り返して、現時点の自己（端末装置２００）の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部２５０が１分おきに繰り返し通知を行うようにすれば、アドレステーブルＴは１分おきに最新の情報に更新されることになる。
【００７０】
あるいは、自己アドレス通知部２５０には、自己（端末装置２００）の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。
【００７１】
次に、図２に矩形ブロックで示されている４つの構成要素について説明する。上述したように、これら４つの構成要素は、端末装置２００が「通信元」として機能する場合に必要な処理を実行する。
【００７２】
まず、通信要求受付部２２０は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置２００（通信元）のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置（通信先）に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力（たとえば、タッチパネル上での操作）として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。
【００７３】
接続仲介依頼部２１０は、通信要求受付部２２０によって通信要求が受け付けられたときに、接続仲介装置１００に対して、通信先の別な端末装置の端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末ＩＤであってもよいし、当該端末ＩＤを特定することが可能な別な情報であってもかまわない（詳細は、§３−１で述べる）。
【００７４】
こうして、接続仲介依頼部２１０から送信された接続仲介依頼は、ネットワークＮを介して接続仲介装置１００へと伝達される（前述したように、図における太線矢印は、端末装置２００と接続仲介装置１００との間でやりとりされる、通信セッション確立前の信号の流れを示している）。すると、接続仲介装置１００からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図１に示す通信先アドレス返信部１３０の機能によるものである。
【００７５】
すなわち、通信先アドレス返信部１３０は、端末装置２００の接続仲介依頼部２１０から、接続仲介依頼が送信されてきたときに、アドレステーブルＴを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置２００である。要するに、通信先アドレス返信部１３０は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルＴを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。
【００７６】
このように、接続仲介依頼部２１０によって接続仲介依頼を行うと、接続仲介装置１００からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部２４０によって受信される。通信開始要求部２４０は、この通信先アドレスにネットワークＮを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、１台の端末装置２００（通信元）から別な１台の端末装置２００（通信先）に宛てた信号ということになる。
【００７７】
このように、通信開始要求部２４０によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる（図の右側の細線矢印：この返信処理については、通信先の別な端末装置の通信先セッション確立部２３０の処理として後述する）。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部２６０によって受信される。通信元セッション確立部２６０は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図２の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【００７８】
以上、図２に矩形ブロックで示されている４つの構成要素、すなわち、端末装置２００が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図２に二重矩形ブロックで示されている構成要素、すなわち、端末装置２００が「通信先」として機能する場合に処理を実行する構成要素について説明する。
【００７９】
図２において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部２３０である。この通信先セッション確立部２３０は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら（図の左側の下向き細線矢印）、当該通信元の別な端末装置に対して通信開始受諾確認を送信し（図の左側の上向き細線矢印）、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図２の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【００８０】
結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部２６０と通信先端末装置の通信先セッション確立部２３０との間で行われることになる。別言すれば、図２の右端の白抜矢印は、ネットワークＮを介して、図２の左端の白抜矢印に連なることになる。
【００８１】
＜１−２．  第１の実施形態における具体的な通信手順＞
これまで、図１および図２を参照しながら、先願基本発明の第１の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置１００および端末装置２００の各構成要素およびその機能を説明した。ここでは、この第１の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
【００８２】
図３は、図２に示す端末装置における自己アドレス通知部２５０の機能を示すブロック図である。図の上段には接続仲介装置１００が示され、図の下段には２組の端末装置２００Ａ，２００Ｂが示されている。ここでは、端末装置２００Ｃ，２００Ｄの図示は省略するが、自己アドレス通知部２５０の機能は同じである。なお、前述したとおり、接続仲介装置１００と各端末装置２００Ａ，２００Ｂとの間の情報のやりとり（太線矢印で示す）は、実際にはネットワークＮを介して行われるが、ここでは説明の便宜上、ネットワークＮの図示は省略する。
【００８３】
図３に示す端末装置２００Ａ，２００Ｂは、図２に示す端末装置２００と同様に６つの構成要素を有している。すなわち、端末装置２００Ａは、構成要素２１０Ａ〜２６０Ａを有し、端末装置２００Ｂは、構成要素２１０Ｂ〜２６０Ｂを有しており、これら各構成要素は、図２に示す構成要素２１０〜２６０と同一のものである（符号末尾のＡ，Ｂは、いずれの端末装置の構成要素であるかを区別するために付したものである）。なお、この図３は、端末装置２００Ａ，２００Ｂの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部２５０Ａ，２５０Ｂ以外の構成要素のブロックは破線で示してある。
【００８４】
自己アドレス通知部２５０Ａ，２５０Ｂは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置１００内のアドレステーブル更新部１２０に対して通知する処理を行う。図３には、自己アドレス通知部２５０Ａからアドレステーブル更新部１２０への通知として、「００１０：ＡＤ１」なるデータが送信されている例が示されているが、これは、自己の端末ＩＤ「００１０」とともに自己の現時点での所在アドレス「ＡＤ１」を送信していることを示している。同様に、自己アドレス通知部２５０Ｂからアドレステーブル更新部１２０への通知として、「００２０：ＡＤ２」なるデータが送信されている例が示されているが、これは、自己の端末ＩＤ「００２０」とともに自己の現時点での所在アドレス「ＡＤ２」を送信していることを示している。
【００８５】
各端末装置２００Ａ，２００Ｂの自己アドレス通知部２５０Ａ，２５０Ｂから、このような通知を受けたアドレステーブル更新部１２０が、当該通知に基づいて、アドレステーブルＴの内容を更新する処理を行う点は、既に§１−１で述べたとおりである。また、自己アドレス通知部２５０Ａ，２５０Ｂが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§１−１で述べたとおりである。
【００８６】
このように、自己アドレス通知部２５０が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置１００内のアドレステーブルＴを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置１００による正しい仲介処理が実現できるのである。
【００８７】
続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図４は、図１に示すネットワーク通信システムにおいて、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間の通信セッション確立の手順を示すブロック図である。この図４においても、図の上段には接続仲介装置１００が示され、図の下段には２組の端末装置２００Ａ，２００Ｂが示されている。ここでも、接続仲介装置１００と端末装置２００Ａとの間の情報のやりとり（太線矢印で示す）や、端末装置２００Ａ，２００Ｂ間の情報のやりとり（細線矢印で示す）は、実際にはネットワークＮを介して行われるが、説明の便宜上、ネットワークＮの図示は省略する。
【００８８】
また、ここでは、説明の便宜上、端末装置２００Ａを通信元、端末装置２００Ｂを通信先とした場合の手順を説明する。このため、図４では、通信元端末装置２００Ａ内の構成要素については、通信元として必要な処理を実行する構成要素（矩形ブロックの構成要素）のみを実線で示し、通信先端末装置２００Ｂ内の構成要素については、通信先として必要な処理を実行する構成要素（二重矩形ブロックの構成要素）のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
【００８９】
一方、図５は、図４のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図４のブロック図を参照しながら、図５の流れ図に従って、第１の実施形態における具体的な通信手順を説明する。なお、図４のブロック図において、各矢印に付された符号Ｓ１〜Ｓ７は、図５の流れ図における各ステップＳ１〜Ｓ７に対応するものである。逆に、図５の流れ図の各ステップにおいて、括弧書きで示された符号は、図４のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
【００９０】
まず、ステップＳ１において、通信要求受付処理が行われる。これは、図４に示す通信要求受付部２２０Ａによって行われる処理であり、たとえば、通信元端末装置２００ＡのユーザＡが、通信先端末装置２００ＢのユーザＢに対して電話をしたい、という場合に、ユーザＡの操作入力に基づいて行われる処理である。たとえば、各端末装置２００Ａ，２００Ｂが携帯電話であり、端末ＩＤとして、それぞれの電話番号を用いている場合は、ユーザＡは端末装置２００Ａに対して、端末装置２００Ｂの端末ＩＤ（電話番号）を入力する操作を伴う通信要求Ｓ１を行えばよい。すなわち、端末装置２００Ａの通信要求受付部２２０Ａは、自己を通信元として、通信先の別な端末装置２００Ｂに対する通信要求Ｓ１を受け付ける処理を行うことになる。
【００９１】
なお、通信要求受付部２２０Ａが通信要求Ｓ１を受け付けるのは、必ずしもユーザＡが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザＡ，Ｂが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部２２０Ａに対して通信要求Ｓ１が与えられることになる。あるいは、端末装置２００Ａ，２００Ｂが何らかのビジネス処理を行うパソコンであり、パソコン２００Ａに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン２００Ｂに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部２２０Ａに対して通信要求Ｓ１が与えられることになる。このように、先願基本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。
【００９２】
こうして、ステップＳ１において通信要求受付が行われると、続くステップＳ２において、接続仲介依頼が行われる。これは、図４に示す接続仲介依頼部２１０Ａによって行われる処理であり、既に述べたとおり、接続仲介装置１００に対して、通信先の別な端末装置２００Ｂの端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼Ｓ２を送信する処理である。
【００９３】
なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛にアクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部２１０Ａから接続仲介依頼Ｓ２を送信する際には、自己の所在アドレス「ＡＤ１」が接続仲介装置１００側に伝達されることになる。後述するステップＳ４における返信処理は、この所在アドレス「ＡＤ１」宛に行われる。
【００９４】
こうして、通信元端末装置２００Ａの接続仲介依頼部２１０Ａから、接続仲介装置１００へ接続仲介依頼が送信されてくると、ステップＳ３において、この接続仲介依頼を受けた通信先アドレス返信部１３０が、アドレステーブル格納部１１０に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤ（この例では、「００２０」）に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルＴが、図１に示すようなものであったとすると、端末ＩＤ「００２０」に対応づけられているアドレス「ＡＤ２」が通信先アドレスとして認識される。
【００９５】
そこで、ステップＳ４において、通信先アドレス返信部１３０が、ステップＳ３で認識した通信先アドレス「ＡＤ２」を返信する処理を行う。もちろん、返信相手は、ステップＳ２において接続仲介依頼を行った通信元端末装置２００Ａである。前述したとおり、接続仲介依頼Ｓ２には通信元端末装置２００Ａの所在アドレス「ＡＤ１」の情報が含まれているので、通信先アドレス返信部１３０は、当該所在アドレス「ＡＤ１」宛に、通信先アドレス「ＡＤ２」を返信することができる。
【００９６】
こうして、通信先アドレス返信部１３０から通信先アドレス返信Ｓ４（通信先アドレス「ＡＤ２」を伝達する情報）が送信されてくると、当該通信先アドレス返信Ｓ４は、通信開始要求部２４０Ａによって受信される。結局、通信元端末装置２００Ａが、接続仲介装置１００に対して接続仲介依頼Ｓ２を行うと、この接続仲介依頼Ｓ２に応じて、接続仲介装置１００から、通信先端末装置２００Ｂのネットワーク上での所在を示す通信先アドレス「ＡＤ２」が返信されてくることになる。接続仲介装置１００に用意されているアドレステーブルＴは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「ＡＤ２」は、通信先端末装置２００Ｂの最新の所在アドレスということになる。
【００９７】
そこで、この通信先アドレス返信Ｓ４により、通信先アドレス「ＡＤ２」を取得した通信開始要求部２４０Ａは、ステップＳ５において、通信先端末装置２００Ｂに対して通信開始要求Ｓ５を行う。すなわち、ネットワークＮを介して、通信先アドレス「ＡＤ２」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス（通信元アドレス「ＡＤ１」）も併せて伝達されることになる。
【００９８】
通信先アドレス「ＡＤ２」宛に行われた通信開始要求Ｓ５は、通信先端末装置２００Ｂの通信先セッション確立部２３０Ｂによって受信される。通信先セッション確立部２３０Ｂは、通信元端末装置２００Ａから、自己（端末装置２００Ｂ）を通信先とする通信開始要求Ｓ５がなされたら、まず、ステップＳ６において、ネットワークＮを介して通信元端末装置２００Ａに対して通信開始受諾確認Ｓ６を送信する。そして、続くステップＳ７において、通信元端末装置２００Ａとの間に通信セッションを確立して通信Ｓ７を開始する。
【００９９】
一方、通信元端末装置２００Ａ宛に送信されてきた通信開始受諾確認Ｓ６は、通信元セッション確立部２６０Ａによって受信される。そして、ステップＳ７では、この通信開始受諾確認Ｓ６を受信した通信元セッション確立部２６０Ａが、通信先端末装置２００Ｂとの間に通信セッションを確立して通信Ｓ７を開始する処理も行われる。要するに、通信元端末装置２００Ａ側では、通信開始要求Ｓ５に応じて、通信先端末装置２００Ｂから通信開始受諾確認Ｓ６が返信されてきたら、当該通信先端末装置２００Ｂとの間に通信セッションを確立して通信を開始する処理を行うことになる。
【０１００】
かくして、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間に通信セッションが確立され、両者間での通信Ｓ７が行われることになる。この図５に示す流れ図において、接続仲介装置１００が行った処理は、ステップＳ３のアドレステーブル参照処理とステップＳ４の通信先アドレス返信処理だけである。すなわち、接続仲介装置１００が行う仲介処理は、通信元端末装置２００Ａからの接続仲介依頼Ｓ２を受けて、アドレステーブルＴを参照し（ステップＳ３）、得られた通信先アドレスを通信元端末装置２００Ａに対して返信する（ステップＳ４）だけである。接続仲介装置１００がこのような仲介処理を行うだけで、通信元端末装置２００Ａと通信先端末装置２００Ｂとの間に通信セッションが確立され、両者間での通信が開始することになる。
【０１０１】
このように、先願基本発明の第１の実施形態に係るネットワーク通信システムでは、接続仲介装置１００の処理負荷は極めて軽くなる。前述したように、ＳＩＰを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第１の実施形態に係るシステムの場合、接続仲介装置１００は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
【０１０２】
このように、先願基本発明の第１の実施形態に係るネットワーク通信システムでは、接続仲介装置１００が通信セッション確立まで関与しないため、接続仲介装置１００は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部２６０Ａもしくは通信先セッション確立部２３０Ｂから接続仲介装置１００に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
【０１０３】
なお、上述の実施例では、通信先セッション確立部２３０Ｂが、通信元端末装置２００Ａから、自己を通信先とする通信開始要求Ｓ５がなされた時に、ステップＳ６において、当該通信元端末装置２００Ａに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求Ｓ５を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい（あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい）。すなわち、通信先セッション確立部２３０Ｂに何らかの条件判断機能をもたせておき、通信開始要求Ｓ５がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。
【０１０４】
たとえば、通信先端末装置２００ＢのユーザＢが、通信先セッション確立部２３０に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求Ｓ５に、通信元端末装置２００Ａを特定するための何らかの通信元特定情報（たとえば、端末ＩＤ）を含ませるようにしておけば、通信先セッション確立部２３０Ｂは、通信開始要求Ｓ５を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。
【０１０５】
たとえば、通信先セッション確立部２３０Ｂに、通信開始要求Ｓ５を常に拒絶する通信元リスト（いわゆるブラックリスト）や通信開始要求Ｓ５を常に受諾する通信元リスト（いわゆるホワイトリスト）を用意しておけば、通信先セッション確立部２３０Ｂは、当該リストを参照することにより、通信開始要求Ｓ５を受諾するか拒絶するかの判断を行うことができる。
【０１０６】
また、§３−３で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求Ｓ５に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
【０１０７】
＜＜＜  §２．先願基本発明の第２の実施形態  ＞＞＞
＜２−１．  先願基本発明の第２の実施形態の構成＞
続いて、先願基本発明の第２の実施形態を説明する。図６は、この第２の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置３００と複数の端末装置４００Ａ〜４００Ｄによって構成されており、これらの各装置はいずれもネットワークＮ（この例では、インターネット）を介して相互に接続することが可能である。
【０１０８】
ここでも、説明の便宜上、４台の端末装置４００Ａ〜４００Ｄを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置４００Ａ〜４００Ｄは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号４００を用いて示し、相互に区別する必要がある場合には、符号末尾にＡ〜Ｄを付して示すことにする。端末装置４００の内部構成要素を示す各符号についても同様である。
【０１０９】
この図６に示すネットワーク通信システムは、ネットワークＮを介して相互に接続可能な複数の端末装置４００Ａ〜４００Ｄと、これら複数の端末装置間の接続を仲介する接続仲介装置３００と、を備えたシステムということになる。やはり端末装置４００としては、パソコン、携帯電話、タブレット型端末など、ネットワークＮに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置３００は、これら各端末装置４００Ａ〜４００ＤからネットワークＮを介してアクセスを受けるサーバコンピュータによって構成されている。
【０１１０】
各端末装置４００Ａ〜４００Ｄには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、接続仲介装置３００は、この端末ＩＤを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末ＩＤとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第１の実施形態の場合と同様に、端末装置４００Ａ，４００Ｂ，４００Ｃ，４００Ｄには、それぞれ「００１０」，「００２０」，「００３０」，「００４０」なる端末ＩＤが付与されているものとする。
【０１１１】
また、各端末装置４００Ａ〜４００Ｄには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第１の実施形態の場合と同様に、端末装置４００Ａ，４００Ｂ，４００Ｃ，４００Ｄに、それぞれＡＤ１，ＡＤ２，ＡＤ３，ＡＤ４なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルＩＰアドレスもしくはＮＡＴ−ＩＤを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。
【０１１２】
図示のとおり、接続仲介装置３００には、アドレステーブル格納部３１０、アドレステーブル更新部３２０、通信元アドレス送信部３３０が設けられている。この接続仲介装置３００は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
【０１１３】
アドレステーブル格納部３１０は、図１に示すアドレステーブル格納部１１０と同じ構成要素であり、各端末装置４００Ａ〜４００Ｄのそれぞれについて、端末ＩＤと所在アドレスとを対応づけたアドレステーブルＴを格納する機能を有する。図６に示すアドレステーブルＴは、図１に示すアドレステーブルＴと全く同じものである。アドレステーブル更新部３２０は、図１に示すアドレステーブル更新部１２０と同じ構成要素であり、各端末装置４００Ａ〜４００Ｄからの通知に基づいて、アドレステーブルＴの内容を更新する処理を行う。このように、図６に示す構成要素３１０，３２０は、実質的に図１に示す構成要素１１０，１２０と同じものであるため、ここでは詳細な説明は省略する。
【０１１４】
一方、通信元アドレス送信部３３０は、図１に示す通信先アドレス返信部１３０に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部３３０は、各端末装置４００Ａ〜４００Ｄから接続仲介依頼があると、アドレステーブルＴを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。
【０１１５】
続いて、図７を参照しながら、端末装置４００の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置４００には、接続仲介依頼部４１０、通信要求受付部４２０、通信元セッション確立部４３０、通信開始要求部４４０、自己アドレス通知部４５０、通信先セッション確立部４６０が設けられている。
【０１１６】
この端末装置４００も、実際には、種々のコンピュータ（携帯電話などの機器も含む）によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置４００にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。
【０１１７】
この図７においても、図２と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置４００と接続仲介装置３００との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置４００の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置４００の間でやりとりされる、通信セッション確立後の信号の流れを示している。
【０１１８】
また、図２と同様に、図７に楕円ブロックで示されている構成要素は、端末装置４００が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置４００が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置４００が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置４００が、「通信元」になったときには、図７に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図７に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図７に示す端末装置４００の６つの構成要素の各機能を順に説明する。
【０１１９】
まず、楕円ブロックで示されている自己アドレス通知部４５０は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置３００に対して通知する処理を実行する。この自己アドレス通知部４５０の機能は、図２に示す自己アドレス通知部２５０の機能と全く同じであるため、ここでは詳しい説明は省略する。図６に示すアドレステーブル更新部３２０は、この通知を受けて、アドレステーブルＴの更新を行う。
【０１２０】
次に、図７に矩形ブロックもしくは二重矩形ブロックで示されている５つの構成要素について説明する。上述したように、矩形ブロックで示されている３つの構成要素は、端末装置４００が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている２つの構成要素は、端末装置４００が「通信先」として機能する場合に必要な処理を実行する。
【０１２１】
まず、通信要求受付部４２０は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図２に示す通信要求受付部２２０と全く同じ機能をもつ構成要素である。また、接続仲介依頼部４１０は、通信要求受付部４２０によって通信要求が受け付けられたときに、接続仲介装置３００に対して、通信先の別な端末装置の端末ＩＤを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図２に示す接続仲介依頼部２１０と全く同じ機能をもつ構成要素である。
【０１２２】
こうして、接続仲介依頼部４１０から送信された接続仲介依頼は、ネットワークＮを介して接続仲介装置３００へと伝達される（図における太線矢印は、端末装置４００と接続仲介装置３００との間でやりとりされる、通信セッション確立前の信号の流れを示している）。すると、接続仲介装置３００からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部４４０によって受信される。
【０１２３】
ここで留意すべき点は、接続仲介装置３００からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図７に示す例において、矩形ブロックで示す接続仲介依頼部４１０は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部４４０は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部４１０と、これに応じて接続仲介装置３００から送信されてくる通信元アドレスを受信する通信開始要求部４４０とは、それぞれ異なる端末装置４００に所属していることになる。
【０１２４】
要するに、図６に示されている通信元アドレス送信部３３０は、ある端末装置４００の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルＴを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末ＩＤに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。
【０１２５】
この通信元アドレス送信部３３０の処理機能をより明確にするため、ここでは、図６に示す端末装置４００Ｂを通信元、端末装置４００Ａを通信先とした具体例（たとえば、端末装置４００ＢのユーザＢが発呼側となり、端末装置４００ＡのユーザＡを着呼側として電話をかけたような場合）について、上記手順を説明しよう。
【０１２６】
この場合、通信元端末装置４００Ｂから接続仲介装置３００に対して、端末装置４００Ａを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部３３０は、アドレステーブルＴを参照することにより、通信先として指定された端末装置４００Ａの所在アドレス「ＡＤ１」を認識する。前述した第１の実施形態における通信先アドレス返信部１３０は、こうして認識した通信先の所在アドレスを通信元（接続仲介依頼の送信元）に返信する処理を行っていた。これに対して、図６に示す第２の実施形態における通信元アドレス送信部３３０は、認識した通信先の所在アドレス「ＡＤ１」に宛てて、通信元端末装置４００Ｂの所在を示す通信元アドレス「ＡＤ２」（これは、接続仲介依頼の送信元のアドレスとして認識できる）を送信する。
【０１２７】
結局、上例の場合、通信元端末装置４００Ｂから接続仲介装置３００に対して接続仲介依頼を行うと、接続仲介装置３００から通信先端末装置４００Ａに対して通信元アドレス（通信元端末装置４００Ｂの所在アドレス「ＡＤ２」）が送信されることになる。ここが、前述した第１の実施形態と大きく異なる点である。
【０１２８】
こうして送信されてきた通信元アドレスは、図７に示すとおり、通信先端末装置４００Ａ内の通信開始要求部４４０によって受信される。通信開始要求部４４０は、この通信元アドレス（通信元端末装置４００Ｂのアドレス）に対して通信開始要求を行う。すなわち、通信開始要求部４４０は、接続仲介装置３００から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークＮを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、１台の端末装置４００（通信先）から別な１台の端末装置４００（通信元）に宛てた信号ということになる。
【０１２９】
一方、通信先の別な端末装置（上例の場合、端末装置４００Ａ）から通信開始要求がなされた端末装置（上例の場合、端末装置４００Ｂ）は、当該通信開始要求を通信元セッション確立部４３０で受信する（図の左側の下向き細線矢印）。そして、この通信元セッション確立部４３０は、通信先の別な端末装置（上例の場合、端末装置４００Ａ）に対して通信開始受諾確認を返信し（図の左側の上向き細線矢印）、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図７の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【０１３０】
こうして、通信元端末装置４００Ｂから通信先端末装置４００Ａに対して返信された通信開始受諾確認は、通信先端末装置４００Ａの通信先セッション確立部４６０によって受信される（図の右側の細線矢印）。通信先セッション確立部４６０は、この通信開始受諾確認を受信したら、通信元の別な端末装置４００Ｂとの間に通信セッションを確立して通信を開始する。図７の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号（通信パケット）の流れを示している。
【０１３１】
かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部４３０と通信先端末装置の通信先セッション確立部４６０との間で行われることになる。別言すれば、図７の左端の白抜矢印は、ネットワークＮを介して、図７の右端の白抜矢印に連なることになる。
【０１３２】
＜２−２．  第２の実施形態における具体的な通信手順＞
これまで、図６および図７を参照しながら、先願基本発明の第２の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置３００および端末装置４００の各構成要素およびその機能を説明した。ここでは、この第２の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
【０１３３】
まず、図７に示す端末装置における自己アドレス通知部４５０の機能であるが、これは図３を用いて説明した自己アドレス通知部２５０Ａ，２５０Ｂの機能と全く同じであるため、ここでは説明を省略する。
【０１３４】
そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図８は、図６に示すネットワーク通信システムにおいて、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間の通信セッション確立の手順を示すブロック図である。この図８では、図の上段に接続仲介装置３００が示され、図の下段に２組の端末装置４００Ａ，４００Ｂが示されている。ここでも、接続仲介装置３００と各端末装置４００Ａ，４００Ｂとの間の情報のやりとり（太線矢印で示す）や、端末装置４００Ａ，４００Ｂ間の情報のやりとり（細線矢印で示す）は、実際にはネットワークＮを介して行われるが、説明の便宜上、ネットワークＮの図示は省略する。
【０１３５】
また、ここでは、説明の便宜上、端末装置４００Ｂを通信元、端末装置４００Ａを通信先とした場合の手順を説明する。このため、図８では、通信元端末装置４００Ｂ内の構成要素については、通信元として必要な処理を実行する構成要素（矩形ブロックの構成要素）のみを実線で示し、通信先端末装置４００Ａ内の構成要素については、通信先として必要な処理を実行する構成要素（二重矩形ブロックの構成要素）のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
【０１３６】
一方、図９は、図８のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図８のブロック図を参照しながら、図９の流れ図に従って、第２の実施形態における具体的な通信手順を説明する。なお、図８のブロック図において、各矢印に付された符号Ｓ１１〜Ｓ１７は、図９の流れ図における各ステップＳ１１〜Ｓ１７に対応するものである。逆に、図９の流れ図の各ステップにおいて、括弧書きで示された符号は、図８のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
【０１３７】
まず、ステップＳ１１において、通信要求受付処理が行われる。これは、図８に示す通信要求受付部４２０Ｂによって通信要求を受け付ける処理であり、図５のステップＳ１で述べた処理と同様であるため説明は省略する。続くステップＳ１２では、この通信要求に基づいて、接続仲介依頼Ｓ１２が行われる。これは、図８に示す接続仲介依頼部４１０Ｂによって行われる処理であり、図５のステップＳ２で述べた処理と同様であるため説明は省略する。
【０１３８】
こうして、通信元端末装置４００Ｂの接続仲介依頼部４１０Ｂから、接続仲介装置３００へ接続仲介依頼Ｓ１２（図示の例では、通信先特定情報として、通信先端末装置４００Ａの端末ＩＤ「００１０」が含まれている）が送信されてくると、ステップＳ１３において、この接続仲介依頼Ｓ１２を受けた通信元アドレス送信部３３０が、アドレステーブル格納部３１０に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ＩＤ（この例では、「００１０」）に対応づけられている所在アドレスを通信先アドレスとして認識する（Ｓ１３）。たとえば、その時点におけるアドレステーブルＴが、図６に示すようなものであったとすると、端末ＩＤ「００１０」に対応づけられているアドレス「ＡＤ１」が通信先アドレスとして認識される。
【０１３９】
そこで、ステップＳ１４において、通信元アドレス返信部３３０が、ステップＳ１３で認識した通信先アドレス「ＡＤ１」宛に、接続仲介依頼Ｓ１２を送信した通信元端末装置４００Ｂの端末ＩＤ「００２０」に対応づけられている所在アドレス「ＡＤ２」を通信元アドレスとして送信する（Ｓ１４）。
【０１４０】
前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部３３０は、接続仲介依頼Ｓ１２を受信した時点で、その送信元である端末装置４００Ｂの所在アドレス「ＡＤ２」を認識することができるので、通信元アドレス送信Ｓ１４を行う際には、この認識した所在アドレス「ＡＤ２」をデータとして送信すればよい。
【０１４１】
このように、通信元端末装置４００Ｂが、接続仲介装置３００に対して接続仲介依頼Ｓ１２を行うと、この接続仲介依頼Ｓ１２に応じて、接続仲介装置３００から、通信先端末装置４００Ａ宛に（アドレステーブルＴで検索した所在アドレス「ＡＤ１」宛に）、通信元端末装置４００Ｂの所在を示す通信元アドレス「ＡＤ２」が送信されることになる。接続仲介装置３００に用意されているアドレステーブルＴは、常に最新の状態に更新されているので、通信元アドレス送信Ｓ１４は、常に通信先端末装置４００Ａの最新の所在アドレスに対して行われることになる。
【０１４２】
こうして、通信元アドレス送信部３３０から通信元アドレス送信Ｓ１４（通信元アドレス「ＡＤ２」を伝達する情報）が送信されてくると、当該通信元アドレス送信Ｓ１４は、通信先端末装置４００Ａの通信開始要求部４４０Ａによって受信される。
【０１４３】
この通信元アドレス送信Ｓ１４により、通信元アドレス「ＡＤ２」を取得した通信開始要求部４４０Ａは、ステップＳ１５において、通信元端末装置４００Ｂに対して通信開始要求Ｓ１５を行う。すなわち、ネットワークＮを介して、通信元アドレス「ＡＤ２」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス（通信元アドレス「ＡＤ１」）も併せて伝達されることになる。
【０１４４】
通信元アドレス「ＡＤ２」宛に行われた通信開始要求Ｓ１５は、通信元端末装置４００Ｂの通信元セッション確立部４３０Ｂによって受信される。通信元セッション確立部４３０Ｂは、通信先端末装置４００Ａから、自己（端末装置４００Ｂ）を通信元とする通信開始要求Ｓ１５がなされたら、まず、ステップＳ１６において、ネットワークＮを介して通信先端末装置４００Ａに対して通信開始受諾確認Ｓ１６を送信する。そして、続くステップＳ１７において、通信先端末装置４００Ａとの間に通信セッションを確立して通信Ｓ１７を開始する。
【０１４５】
一方、通信先端末装置４００Ａ宛に送信されてきた通信開始受諾確認Ｓ１６は、通信先セッション確立部４６０Ａによって受信される。そして、ステップＳ１７では、この通信開始受諾確認Ｓ１６を受信した通信先セッション確立部４６０Ａが、通信元端末装置４００Ｂとの間に通信セッションを確立して通信Ｓ１７を開始する処理も行われる。要するに、通信先端末装置４００Ａ側では、通信開始要求Ｓ１５に応じて、通信元端末装置４００Ｂから通信開始受諾確認Ｓ１６が返信されてきたら、当該通信元端末装置４００Ｂとの間に通信セッションを確立して通信を開始する処理を行うことになる。
【０１４６】
かくして、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間に通信セッションが確立され、両者間での通信Ｓ１７が行われることになる。この図９に示す流れ図において、接続仲介装置３００が行った処理は、ステップＳ１３のアドレステーブル参照処理とステップＳ１４の通信元アドレス送信処理だけである。すなわち、接続仲介装置３００が行う仲介処理は、通信元端末装置４００Ｂからの接続仲介依頼Ｓ１２を受けて、アドレステーブルＴを参照し（ステップＳ１３）、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する（ステップＳ１４）だけである。接続仲介装置３００がこのような仲介処理を行うだけで、通信元端末装置４００Ｂと通信先端末装置４００Ａとの間に通信セッションが確立され、両者間での通信が開始することになる。
【０１４７】
このように、先願基本発明の第２の実施形態に係るネットワーク通信システムでは、第１の実施形態に係るネットワーク通信システムと同様に、接続仲介装置３００の処理負荷は極めて軽くなる。前述したように、ＳＩＰを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第２の実施形態に係るシステムの場合、接続仲介装置３００は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
【０１４８】
このように、先願基本発明の第２の実施形態に係るネットワーク通信システムでは、接続仲介装置３００が通信セッション確立まで関与しないため、接続仲介装置３００は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部４３０Ｂもしくは通信先セッション確立部４６０Ａから接続仲介装置３００に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
【０１４９】
なお、上述の実施例では、通信先端末装置４００Ａの通信開始要求部４４０Ａが、接続仲介装置３００からの通信元アドレス送信Ｓ１４を受信したときに、ステップＳ１５において、自動的に通信開始要求Ｓ１５を送信しているが、場合によっては、通信開始要求部４４０Ａに何らかの条件判断機能をもたせておき、通信元アドレス送信Ｓ１４を受信したときに、所定の条件を満たしている場合に限り、通信開始要求Ｓ１５を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求Ｓ１５の代わりに、通信開始拒絶通知を送信するようにしてもよい。
【０１５０】
たとえば、通信開始要求部４４０Ａに、通信開始を常に拒絶する通信元リスト（いわゆるブラックリスト）や通信開始を常に許可する通信元リスト（いわゆるホワイトリスト）を用意しておけば、通信開始要求部４４０Ａは、当該リストを参照することにより、通信元アドレス送信Ｓ１４によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求Ｓ１５の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求Ｓ１５を送信するような運用を行うことも可能である。
【０１５１】
また、上述の実施例では、通信元セッション確立部４３０Ｂが、通信先端末装置４００Ａから、自己を通信元とする通信開始要求Ｓ１５がなされた時に、ステップＳ１６において、当該通信先端末装置４００Ａに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求Ｓ１５を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい（あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい）。
【０１５２】
たとえば、§３−４で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求Ｓ１５に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
【０１５３】
＜＜＜  §３．  先願基本発明の第１および第２の実施形態の変形例  ＞＞＞
ここでは、§１で述べた先願基本発明の第１の実施形態および§２で述べた先願基本発明の第２の実施形態について、いくつかの変形例を述べる。
【０１５４】
＜３−１．  端末ＩＤに関する変形例＞
これまで述べてきたように、図１の接続仲介装置１００内のアドレステーブル格納部１１０には、アドレステーブルＴが格納されている。図６の接続仲介装置３００内のアドレステーブル格納部３１０も同様である。このアドレステーブルＴは、個々の端末装置のそれぞれについて、端末ＩＤと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部１３０もしくは通信元アドレス送信部３３０は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルＴを参照し、通信先の所在アドレスを取得する。
【０１５５】
たとえば、図４に示す第１の実施形態の場合、接続仲介依頼Ｓ２には、通信先端末装置２００Ｂの端末ＩＤ「００２０」が通信先特定情報として含まれており、通信先アドレス返信部１３０は、アドレステーブルＴを参照することにより、端末ＩＤ「００２０」に対応する所在アドレス「ＡＤ２」を取得することができる。同様に、図８に示す第２の実施形態の場合、接続仲介依頼Ｓ１２には、通信先端末装置４００Ａの端末ＩＤ「００１０」が通信先特定情報として含まれており、通信元アドレス送信部３３０は、アドレステーブルＴを参照することにより、端末ＩＤ「００１０」に対応する所在アドレス「ＡＤ１」を取得することができる。
【０１５６】
このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末ＩＤを用いていた。この端末ＩＤは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているＣＰＵのシリアル番号、通信インターフェイスに付与されたＭＡＣアドレス、携帯電話として機能する端末装置の場合は電話番号やＳＩＭカードのシリアル番号、などを端末ＩＤとして用いることができる。
【０１５７】
ただ、一般に、ユーザが、他のユーザの端末装置についての端末ＩＤを記憶することは困難である。したがって、通信要求を行う際に、これらの端末ＩＤを、ユーザ自身に直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末ＩＤで通信先を指定する代わりに、ユーザＩＤで通信先を指定させるようにするのが好ましい。端末ＩＤが個々の端末装置を識別するためのＩＤであるのに対して、ユーザＩＤは個々のユーザを識別するためのＩＤである。一般的には、ユーザ名やニックネームをユーザＩＤとして用いることができる。
【０１５８】
端末ＩＤの代わりにユーザＩＤを用いて通信要求を行うことができるようにするには、通信要求受付部２２０，４２０内に、ユーザＩＤと端末ＩＤとの対応表を用意しておけばよい。そして、ユーザが特定のユーザＩＤ（たとえば、ユーザ名）を指定して通信要求を行ったときに、通信要求受付部２２０，４２０が、用意されている対応表を利用してユーザＩＤを端末ＩＤに変換して接続仲介依頼部２１０，４１０へ引き渡すようにすればよい。そうすれば、接続仲介依頼部２１０，４１０は、端末ＩＤを含む接続仲介依頼を送信することができる。このようなユーザＩＤ（たとえば、ユーザ名）から端末ＩＤ（たとえば、電話番号）への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。
【０１５９】
端末ＩＤの代わりにユーザＩＤを利用できるようにする別な方法として、ユーザＩＤと端末ＩＤとの対応表を接続仲介装置１００，３００側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部１１０，３１０内に、図１や図６に示すアドレステーブルＴの代わりに、図１０に示すようなアドレステーブルＴ１を格納しておくようにする。このアドレステーブルＴ１は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザＩＤと、当該端末装置の端末ＩＤと、を対応づける情報を含むテーブルである。
【０１６０】
図１０では、説明の便宜上、ユーザＩＤとして、「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）」なる情報を用いて、特定のポート番号の指定を含む接続仲介依頼を行うことができる。
【０２６７】
以上、図１に示す先願基本発明の第１の実施形態（接続仲介装置１００と端末装置２００を用いる実施形態）においてＶＰＮの設定を行い、プライベートネットワークの範囲を仮想的に拡張する例を述べたが、図７に示す先願基本発明の第２の実施形態（接続仲介装置３００と端末装置４００を用いる実施形態）においてＶＰＮの設定を行う場合も同様である。
【０２６８】
＜＜＜  §５．  本発明により解決される技術的な問題  ＞＞＞
これまで、国際出願ＰＣＴ／ＪＰ２０１７／００６１３１に記載されている先願基本発明に係るネットワーク通信システムを説明してきた。特に、§４−１では、ルータを用いた基本的な実施例を示した。前述したとおり、個々の端末装置は、通常、ルータを介してネットワークに接続されることが多い。この場合、図１５に示す例のように、各端末装置にはルータによってプライベートＩＰアドレス（本願では、ＰＩＰという省略形を用いる）が付与されるが、ルータのＮＡＴ機能によりグローバルＩＰアドレス（本願では、ＧＩＰという省略形を用いる）への変換が行われ、接続仲介装置１００に対してはグローバルＩＰアドレスが通知されることになる。したがって、接続仲介装置１００内のアドレステーブルＴには、図１６に例示するように、所在アドレスとしてグローバルＩＰアドレス（およびポート番号）が格納される。
【０２６９】
このように、先願基本発明の第１の実施形態に係るネットワーク通信システムの場合、接続仲介装置１００は、通信元の端末装置からの接続仲介依頼に応じて、通信先となる端末装置のグローバルＩＰアドレスを返信する。そして、通信元の端末装置は、このグローバルＩＰアドレスを用いて、通信先の端末装置に対して通信開始要求を行うことになる。ところが、ネットワーク環境によっては、グローバルＩＰアドレスを用いた通信開始要求が好ましくない場合がある。以下、その理由と解決方法を説明する。
【０２７０】
＜５−１．  問題の所在＞
図２１は、ルータを介してネットワークＮ（インターネット）に接続されている端末装置を含む、先願基本発明の第１の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。ここでは説明の便宜上、４台の端末装置２００Ａ〜２００ＤがネットワークＮに接続されているものとする（実際には、各ルータＲＡ，ＲＢには、より多数の端末装置が接続されているが、ここでは図示を省略する）。図示のとおり、端末装置２００Ａおよび２００Ｂは、ルータＲＡを介してネットワークＮに接続されており、端末装置２００Ｃは、ルータＲＢを介してネットワークＮに接続されており、端末装置２００Ｄは、ルータを介さずにネットワークＮに直接接続されている。また、接続仲介装置１００もネットワークＮに直接接続されている。
【０２７１】
なお、図２１に括弧書きで示されている符号４００Ａ〜４００Ｄ，３００は、上述した先願基本発明の第１の実施形態を、先願基本発明の第２の実施形態に置き換えた場合の符号である。以下、便宜上、先願基本発明の第１の実施形態についての問題の所在を説明するが、このような問題は、先願基本発明の第２の実施形態についても同様に発生する。
【０２７２】
ここで、各端末装置２００Ａ〜２００Ｄの所在アドレスをそれぞれＡＤ１〜ＡＤ４とすれば、これまで述べてきた先願基本発明では、所在アドレスＡＤ１〜ＡＤ４として、いずれもグローバルＩＰアドレス（およびポート番号、以下同様）を用い、接続仲介装置１００内のアドレステーブルＴには、このグローバルＩＰアドレスが格納されることになる。すなわち、端末装置２００Ａの所在アドレスＡＤ１としてはグローバルＩＰアドレスＧＩＰ１が、端末装置２００Ｂの所在アドレスＡＤ２としてはグローバルＩＰアドレスＧＩＰ２が、端末装置２００Ｃの所在アドレスＡＤ３としてはグローバルＩＰアドレスＧＩＰ３が、端末装置２００Ｄの所在アドレスＡＤ４としてはグローバルＩＰアドレスＧＩＰ４が、それぞれ接続仲介装置１００に通知され、アドレステーブルＴに格納される。なお、図では、各ＧＩＰのうしろにポート番号Ｐ１〜Ｐ３を括弧書きで示してある。
【０２７３】
一方、ルータＲＡ，ＲＢを介してネットワークＮに接続されている端末装置２００Ａ，２００Ｂ，２００Ｃには、ルータＲＡもしくはＲＢから、それぞれプライベートＩＰアドレスＰＩＰ１，ＰＩＰ２，ＰＩＰ３が付与されている。図２１では、説明の便宜上、ＧＩＰ１〜ＧＩＰ４およびＰＩＰ１〜ＰＩＰ３についての実アドレスが例示されている。
【０２７４】
具体的には、ルータＲＡは、「192.168.2.0/24」で示されるプライベートＩＰアドレスが付与されたサブネットを構築しており、このサブネット内において、端末装置２００Ａに対してはＰＩＰ１＝「192.168.2.1」なるプライベートＩＰアドレスが付与され、端末装置２００Ｂに対してはＰＩＰ２＝「192.168.2.2」なるプライベートＩＰアドレスが付与されている。また、このルータＲＡには、「xx.5.1.1」なるグローバルＩＰアドレスが付与されており、ネットワークＮに対しては、当該グローバルＩＰアドレスおよびポート番号が各端末装置２００Ａ，２００Ｂの所在アドレスとして利用される。したがって、ネットワークＮから各端末装置２００Ａ，２００Ｂに対してアクセスする際には、このグローバルＩＰアドレス「xx.5.1.1」と所定のポート番号が所在アドレスとして用いられることになる。
【０２７５】
図示の例の場合、端末装置２００Ａに対してはＧＩＰ１＝「xx.5.1.1(P1)」なるグローバルＩＰアドレスおよびポート番号が付与され、端末装置２００Ｂに対してはＧＩＰ２＝「xx.5.1.1(P2)」なるグローバルＩＰアドレスおよびポート番号が付与されている。両者には、同じグローバルＩＰアドレス「xx.5.1.1」が付与されるが、ポート番号「P1」，「P2」によって区別されることになる。実際には、ルータＲＡのＮＡＴ機能により、グローバルＩＰアドレスとプライベートＩＰアドレスとの変換が行われる点は、既に§４で述べたとおりである。
【０２７６】
一方、ルータＲＢは、「192.168.10.0/24」で示されるプライベートＩＰアドレスが付与されたサブネットを構築しており、このサブネット内において、端末装置２００Ｃに対してはＰＩＰ３＝「192.168.10.1」なるプライベートＩＰアドレスが付与されている。また、このルータＲＢには、「xx.5.7.1」なるグローバルＩＰアドレスが付与されており、ネットワークＮに対しては、当該グローバルＩＰアドレスおよびポート番号が端末装置２００Ｃの所在アドレスとして利用される。図示の例の場合、端末装置２００Ｃに対してはＧＩＰ３＝「xx.5.7.1(P3)」なるグローバルＩＰアドレスおよびポート番号が付与されている。
【０２７７】
なお、端末装置２００Ｄは、ルータを介さずにネットワークＮに直接接続されているため、プライベートＩＰアドレスは付与されておらず、グローバルＩＰアドレスとしてＧＩＰ４＝「xx.5.8.100」が付与されている。
【０２７８】
これまで述べてきた先願基本発明に係るネットワーク通信システムの場合、各端末装置２００Ａ〜２００Ｄの自己アドレス通知機能によって、接続仲介装置１００には、それぞれのグローバルＩＰアドレスが通知され、アドレステーブルＴに格納される。
【０２７９】
さて、この図２１に示す例において、端末装置２００Ａを通信元、端末装置２００Ｃを通信先として、両端末装置間で通信を行う場合を考えてみる。図２２は、図２１に示すネットワーク通信システムにおける端末装置２００Ａ−２００Ｃ間の通信形態を示すブロック図である。図に示す細線矢印Ｌ１は、一対の端末装置２００Ａ，２００Ｃの間で通信セッション確立前にやりとりされる信号の流れを示し、白抜矢印Ｌ２は、一対の端末装置２００Ａ，２００Ｃの間で通信セッション確立後にやりとりされる信号の流れを示している。実際には、この２種類の矢印Ｌ１，Ｌ２で示される信号の流れは、いずれもルータＲＡ，ＲＢおよびネットワークＮを通ることになる。
【０２８０】
上述したとおり、各端末装置２００Ａ，２００ＣにはプライベートＩＰアドレスＰＩＰ１，ＰＩＰ３が付与されているが、信号がルータＲＡ，ＲＢを通ってインターネットＮへ向かう際に、それぞれグローバルＩＰアドレスＧＩＰ１，ＧＩＰ３に変換される。図示の例の場合、端末装置２００Ａには、ＰＩＰ１＝「192.168.2.1」が付与されているが、信号がルータＲＡを通る際に、ＰＩＰ１＝「192.168.2.1」は、グローバルＩＰアドレスＧＩＰ１＝「xx.5.1.1(P1)」に変換されている。同様に、端末装置２００Ｃには、ＰＩＰ３＝「192.168.10.1」が付与されているが、信号がルータＲＢを通る際に、ＰＩＰ３＝「192.168.10.1」は、グローバルＩＰアドレスＧＩＰ３＝「xx.5.7.1(P3)」に変換されている。
【０２８１】
図４に示すとおり、通信元である端末装置２００Ａが通信を開始するには、まず、接続仲介装置１００に対して接続仲介依頼Ｓ２を行う。この接続仲介依頼Ｓ２を受けた接続仲介装置１００は、アドレステーブルＴを参照することにより、通信先となる端末装置のグローバルＩＰアドレスを把握し、この通信先アドレスを通信元である端末装置２００Ａに返信する。図２２に示す例の場合、通信先となる端末装置２００ＣのグローバルＩＰアドレスＧＩＰ３「xx.5.7.1(P3)」が、通信元の端末装置２００Ａに返信される。そこで、通信元の端末装置２００Ａは、このＧＩＰ３「xx.5.7.1(P3)」を用いて通信先となる端末装置２００Ｃに対して通信開始要求（図４のＳ５）を行うことになる。
【０２８２】
その後、通信先となる端末装置２００Ｃ内の通信先セッション確立部２３０と、通信元となる端末装置２００Ａ内の通信元セッション確立部２３０と、の間で、通信開始受諾確認（Ｓ６）の送受が行われる。この通信開始要求（Ｓ５）および通信開始受諾確認（Ｓ６）は、図２２の矢印Ｌ１で示される信号経路を介して行われる。そして、最後に、両端末装置間で通信（Ｓ７）が行われる。この通信（Ｓ７）は、図２２の矢印Ｌ２で示される信号経路を介して行われる。
【０２８３】
ここで、信号経路Ｌ１，Ｌ２は、いずれもルータＲＡ，ＲＢおよびネットワークＮを通る経路であり、このような経路を前提とすれば、端末装置２００Ａの所在アドレスとしてグローバルＩＰアドレスＧＩＰ１「xx.5.1.1(P1)」を用い、端末装置２００Ｃの所在アドレスとしてグローバルＩＰアドレスＧＩＰ３「xx.5.7.1(P3)」を用いることは理にかなっている。すなわち、信号経路Ｌ１，Ｌ２を経る信号（データパケット）は、ルータＲＡ，ＲＢを通って外部のインターネットＮに出るため、相手方の所在アドレスとしてグローバルＩＰアドレスが必要になる。
【０２８４】
次に、図２１に示す例において、端末装置２００Ａを通信元、端末装置２００Ｂを通信先として、両端末装置間で通信を行う場合を考えてみる。図２３は、図２１に示すネットワーク通信システムにおける端末装置２００Ａ−２００Ｂ間の通信形態を示すブロック図である。図２２に示す一対の端末装置２００Ａ，２００Ｃは、互いに異なるルータＲＡ，ＲＢを介してネットワークＮに接続されていたが、図２３に示す一対の端末装置２００Ａ，２００Ｂは、同一のルータＲＡを介してネットワークＮに接続されている。別言すれば、図２３に示す例は、同一のサブネットに所属する一対の端末装置間の通信ということになる。
【０２８５】
この図２３においても、細線矢印Ｌ３，Ｌ５は、一対の端末装置２００Ａ，２００Ｂの間で通信セッション確立前にやりとりされる信号の流れを示し、白抜矢印Ｌ４，Ｌ６は、一対の端末装置２００Ａ，２００Ｂの間で通信セッション確立後にやりとりされる信号の流れを示している。ただ、矢印Ｌ３，Ｌ４で示される信号の流れは、いずれもルータＲＡおよびネットワークＮを通る信号経路をとるものになるのに対して、矢印Ｌ５，Ｌ６で示される信号の流れは、いずれもルータＲＡによるサブネット内の信号経路をとるものになる。別言すれば、前者はサブネットからルータＲＡの外側（インターネットＮ）に出て、再びルータＲＡを経てサブネット内に戻る経路をとるのに対して、後者はルータＲＡの外側（インターネットＮ）に出ることなしに、ルータＲＡの内側（サブネット）のみを通る経路をとることになる。
【０２８６】
上述したとおり、各端末装置２００Ａ，２００Ｂには、それぞれプライベートＩＰアドレスＰＩＰ１「192.168.2.1」，ＰＩＰ２「192.168.2.2」が付与されているが、信号がルータＲＡを通ってインターネットＮへ向かう際には、それぞれグローバルＩＰアドレスＧＩＰ１「xx.5.1.1(P1)」，ＧＩＰ２「xx.5.1.1(P2)」に変換される。
【０２８７】
これまで述べてきた先願基本発明に係るネットワーク通信システムの場合、通信元となる端末装置２００Ａが通信先となる端末装置２００Ｂにアクセスするために、接続仲介装置１００に対して接続仲介依頼を行うと、接続仲介装置１００は、通信先となる端末装置２００ＢのグローバルＩＰアドレスＧＩＰ２「xx.5.1.1(P2)」を通信先アドレスとして返信してくることになる。したがって、通信元となる端末装置２００Ａは、このグローバルＩＰアドレスＧＩＰ２「xx.5.1.1(P2)」を用いて、通信先となる端末装置２００Ｂに対して通信開始要求（Ｓ５）を行う。
【０２８８】
その後、通信先となる端末装置２００Ｂ内の通信先セッション確立部２３０と、通信元となる端末装置２００Ａ内の通信元セッション確立部２３０と、の間で、通信開始受諾確認（Ｓ６）の送受が行われる。この通信開始要求（Ｓ５）および通信開始受諾確認（Ｓ６）は、図２３の矢印Ｌ３で示される信号経路を介して行われる。そして、最後に、両端末装置間で通信（Ｓ７）が行われる。この通信（Ｓ７）は、図２３の矢印Ｌ４で示される信号経路を介して行われる。
【０２８９】
しかしながら、この矢印Ｌ３，Ｌ４で示される信号経路は、効率的な通信を行うという観点からは問題である。すなわち、図２３に示す例では、通信元端末装置２００Ａと通信先端末装置２００Ｂとが同一のサブネットに所属している。したがって、両者間でやりとりする信号は、一旦、ルータＲＡの外側へ出てインターネットＮを通って再びルータＲＡの内側に戻ってくる経路をとる必要はない。別言すれば、この図２３に示す例では、矢印Ｌ３，Ｌ４で示される信号経路をとる代わりに、矢印Ｌ５，Ｌ６で示される信号経路をとった方が効率的である。
【０２９０】
このような問題は、単に、通信経路の効率性を低下させるだけでなく、通信に支障が生じる問題に発展する可能性がある。これは、ルータによっては、同一のネットワークに所属する端末装置間の通信にグローバルＩＰアドレスを利用すると、接続を拒絶する設定を採用するものが存在するためである。もし、図２３に示すルータＲＡに、このような設定がなされていた場合、ルータＲＡの内側から外側へと通過した信号が、再びルータＲＡの内側に戻ってくることは禁止される。
【０２９１】
したがって、たとえば、通信元端末装置２００Ａから通信先端末装置２００Ｂ宛に通信開始要求（Ｓ５）を送信する際に、通信先端末装置２００Ｂの所在アドレスとしてグローバルＩＰアドレスＧＩＰ２「xx.5.1.1(P2)」を用いた場合（これまで述べてきた先願基本発明に係る方法を採る場合）、当該通信開始要求（Ｓ５）の送信は失敗することになる。すなわち、当該通信開始要求（Ｓ５）の信号（データパケット）は、矢印Ｌ３の信号経路をとることになるので、ルータＲＡを通って一旦インターネットＮへ出ることになり、その後、再びルータＲＡの内側へ戻ろうとするが、上記設定がなされているルータＲＡは、このような出戻り信号を拒絶することになる。これにより、出戻り信号（通信開始要求（Ｓ５））はルータＲＡの内側に戻ることができず、通信先端末装置２００Ｂには届かないことになる。
【０２９２】
このように、図２３に示す例の場合、両端末装置２００Ａ，２００Ｂ間の信号のやりとりに、信号経路Ｌ３，Ｌ４（一旦、ルータＲＡの外側に出てから内側に戻る経路）を用いた場合、通信効率の低下を招くとともに、ルータＲＡの設定によっては、一旦外側に出た信号が再び内側に戻ることを拒絶され、通信に失敗する可能性もある。このような問題に対処するには、信号経路Ｌ３，Ｌ４を用いる代わりに、信号経路Ｌ５，Ｌ６を用いる必要がある。信号経路Ｌ５，Ｌ６を用いれば、両端末装置２００Ａ，２００Ｂ間の信号（データパケット）は、ルータＲＡの内側（ルータＲＡによって構築されたサブネット内）のみを通ることになり、ルータＲＡの外側に出ることはない。よって、通信効率を向上させることができ、また、ルータＲＡの設定に起因した通信障害を防ぐこともできる。
【０２９３】
＜５−２．  第１の実施形態についての問題の解決方法＞
図２２に示す例のように、異なるサブネットに所属する端末装置２００Ａ−２００Ｃ間の通信は、通信経路Ｌ１，Ｌ２に示すように、一旦ルータの外側に出てから別なルータの内側に入る経路を採らざるを得ない。これに対して、図２３に示す例のように、同じサブネットに所属する端末装置２００Ａ−２００Ｂ間の通信は、通信経路Ｌ３，Ｌ４に示すように、一旦ルータの外側に出てから同じルータの内側に戻るような経路を採るよりも、通信経路Ｌ５，Ｌ６に示すように、ルータの内側のみを通る経路を採る方が好ましいことになる。
【０２９４】
結局、先願基本発明に係るネットワーク通信システムにおいて、ルータを介してネットワークに接続されている端末装置間について効率的な通信を行うには、基本的には、信号をルータの外側へ出して、ネットワークＮを介して通信が行われるような方法を採用しつつ、同一のルータによって構築された同一のサブネットに所属する端末装置間の通信に関しては、信号をルータの外側に出さず、サブネット内の経路のみを利用した通信が行われるような方法を採用すればよい。そのためには、基本的には、グローバルＩＰアドレス（ＧＩＰ）を用いて相手方の端末装置にアクセスする方法を採用しつつ、同一のルータによって構築された同一のサブネットに所属する端末装置間の通信に関しては、プライベートＩＰアドレス（ＰＩＰ）を用いて相手方の端末装置にアクセスする方法を採用すればよい。
【０２９５】
§１で述べた先願基本発明の第１の実施形態に係るネットワーク通信システムは、図４のブロック図に示すとおり、ネットワークＮを介して相互に接続可能な複数の端末装置２００Ａ，２００Ｂと、これら複数の端末装置間の接続を仲介する接続仲介装置１００と、を備えている。そして、各端末装置２００Ａ，２００Ｂには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、接続仲介装置１００は、この端末ＩＤを利用して通信元となる端末装置２００Ａと通信先となる端末装置２００Ｂとの間の接続を仲介する処理を実行する。
【０２９６】
図２に示すとおり、各端末装置２００は、接続仲介依頼部２１０、通信要求受付部２２０、通信先セッション確立部２３０、通信開始要求部２４０、自己アドレス通知部２５０、通信元セッション確立部２６０を有しており、これら各構成要素の機能は、既に§１で述べたとおりである。一方、図４に示すとおり、接続仲介装置１００は、アドレステーブル格納部１１０、アドレステーブル更新部１２０、通信先アドレス返信部１３０を有しており、これら各構成要素の機能も、既に§１で述べたとおりである。
【０２９７】
この先願基本発明の第１の実施形態に本発明を適用するには、上記各構成要素のいくつかに、付加的な機能を設けるようにすればよい。具体的には、以下に述べる各構成要素に付加機能を追加すればよい。
【０２９８】
まず、自己アドレス通知部２５０については、端末装置２００がルータを介してネットワークＮに接続されていた場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、当該ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置１００に対して通知する付加機能を追加する。たとえば、図２１に示す例の場合、端末装置２００Ａ内の自己アドレス通知部２５０Ａは、ＧＩＰ１「xx.5.1.1(P1)」とともにＰＩＰ１「192.168.2.1」を接続仲介装置１００に通知し、端末装置２００Ｂ内の自己アドレス通知部２５０Ｂは、ＧＩＰ２「xx.5.1.1(P2)」とともにＰＩＰ２「192.168.2.2」を接続仲介装置１００に通知し、端末装置２００Ｃ内の自己アドレス通知部２５０Ｃは、ＧＩＰ３「xx.5.7.1(P3)」とともにＰＩＰ３「192.168.10.1」を接続仲介装置１００に通知する。ネットワークＮに直接接続されている端末装置２００Ｄに関しては、プライベートＩＰアドレスは付与されていないので、ＧＩＰ４「xx.5.8.100」のみが通知される。
【０２９９】
実用上、グローバルＩＰアドレス（ＧＩＰ）の通知は、接続仲介装置１００に対して何らかのデータパケットを送信すればよい。通信プロトコルとしてＩＰを採用してデータパケットを送信すれば、受信側では、当該データパケットの送信元のグローバルＩＰアドレスを自動的に認識できる仕様になっている。たとえば、端末装置２００Ａから接続仲介装置１００に対して、何らかのデータパケットを送信すれば、接続仲介装置１００は、当該データパケットの送信元の所在アドレスが、ＧＩＰ１「xx.5.1.1(P1)」であることを認識できる。したがって、端末装置２００Ａ内の自己アドレス通知部２５０Ａは、自己の端末ＩＤ「００１０」と自己に付与されているＰＩＰ１「192.168.2.1」をデータパケットに記載し、これを自己アドレスとして接続仲介装置１００に送信すればよい。
【０３００】
一方、このような自己アドレス通知を受けた接続仲介装置１００内のアドレステーブル更新部１２０は、端末ＩＤ「００１０」，ＧＩＰ１「xx.5.1.1(P1)」，ＰＩＰ１「192.168.2.1」を対応づけてアドレステーブルＴに格納する更新処理を実行する。したがって、図４に示す先願基本発明の第１の実施形態に本発明を適用するには、アドレステーブル格納部１１０に、所在アドレスとして、各端末装置のグローバルＩＰアドレス（ＧＩＰ）を端末ＩＤに対応づけて格納するとともに、プライベートＩＰアドレス（ＰＩＰ）が通知された端末装置については、更に当該プライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけて格納する付加機能をもたせておけばよい。
【０３０１】
図２４は、図２１に示すネットワーク通信システムにおいて、各端末装置のグローバルＩＰアドレス（ＧＩＰ）とプライベートＩＰアドレス（ＰＩＰ）の双方をアドレステーブルに格納した例を示す図である。図２４(a) に示すアドレステーブルＴ６１は、各アドレスを符号で表したものであり、端末ＩＤ「００１０」〜「００４０」（図２１に示す端末装置２００Ａ〜２００ＤのＩＤ）に対応させて、グローバルＩＰアドレスＧＩＰ１〜ＧＩＰ４と、ポート番号Ｐ１〜Ｐ３と、プライベートＩＰアドレスＰＩＰ１〜ＰＩＰ３と、がそれぞれ格納されている。なお、端末ＩＤ「００４０」をもつ端末装置２００Ｄは、ルータを介さずにネットワークＮに直接接続されているため、ポート番号およびＰＩＰの情報はない。
【０３０２】
図２４(b) に示すアドレステーブルＴ６２は、図２４(a) に示すアドレステーブルＴ６１における各アドレスを具体的な数値例で表したものであり、端末ＩＤ「００１０」〜「００４０」に対応させて、グローバルＩＰアドレス「xx.5.1.1」，「xx.5.1.1」，「xx.5.7.1」，「xx.5.8.100」と、ポート番号「54701」，「54702」，「61999」と、プライベートＩＰアドレス「192.168.2.1」，「192.168.2.2」，「192.168.10.1」と、がそれぞれ格納されている。
【０３０３】
§１で述べたとおり、接続仲介装置１００内の通信先アドレス返信部１３０は、アドレステーブルを参照して通信先アドレスを確認し、通信元の端末装置に対して通信先アドレスを返信する処理を行う。このとき、§１で述べた実施形態の場合、返信される通信先アドレスは、通信先となる端末装置のグローバルＩＰアドレスである。これに対して本発明の場合、図２４のアドレステーブルＴ６１，Ｔ６２に示すように、ルータを介して接続された端末装置については、所在アドレスとしてグローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）も格納されている。そこで、本発明に係る通信先アドレス返信部１３０には、このアドレステーブルＴ６１，Ｔ６２の内容に応じて、グローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を通信先アドレスとして返信する付加機能をもたせるようにする。
【０３０４】
こうすることにより、端末装置２００内の通信開始要求部２４０は、通信先についてのグローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を通信先アドレスとして受け取ることができる。そこで、本発明に係る通信開始要求部２４０には、グローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を用いて通信開始要求Ｓ５を行う付加機能をもたせるようにする。そうすれば、通信開始要求部２４０は、自己と通信先との間のネットワーク環境に応じて、適宜、グローバルＩＰアドレス（ＧＩＰ）およびプライベートＩＰアドレス（ＰＩＰ）を選択的に利用して、通信先に対して通信開始要求Ｓ５を行うことができるようになる。
【０３０５】
グローバルＩＰアドレス（ＧＩＰ）か、プライベートＩＰアドレス（ＰＩＰ）か、のいずれを利用して通信開始要求Ｓ５を行うかの判断は、通信元と通信先のグローバルＩＰアドレスを比較することによって行うことができる。具体的には、通信元となる端末装置２００の通信開始要求部２４０は、自己のグローバルＩＰアドレスと通信先となる端末装置のグローバルＩＰアドレスとが同一のＩＰアドレスである場合には、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行い、異なるＩＰアドレスである場合には、グローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ５を行うようにすればよい。
【０３０６】
このような運用を行った場合の具体的な通信形態を、図２１に示す例について考えてみよう。この例の場合、接続仲介装置１００内には、図２４(b) に示すようなアドレステーブルＴ６２が格納されている。そこで、まず、端末装置２００Ａが通信元となって、別なサブネットに所属する端末装置２００Ｃを通信先とする通信を行う場合を考える。この場合、図２４(b) のアドレステーブルＴ６２を参照すると、端末装置２００Ａ（端末ＩＤ「００１０」）のグローバルＩＰアドレス「ＧＩＰ１」は「xx.5.1.1」であるのに対して、相手方の端末装置２００Ｃ（端末ＩＤ「００３０」）のグローバルＩＰアドレス「ＧＩＰ３」は「xx.5.7.1」であり、両者は異なっている。そこで、通信元となる端末装置２００Ａの通信開始要求部２４０Ａは、グローバルＩＰアドレス（ＧＩＰ３）である「xx.5.7.1」に対して通信開始要求Ｓ５を行うことになる。
【０３０７】
もちろん、通信元の端末装置２００Ａの通信開始要求部２４０Ａが、グローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ５を行った場合は、以後、通信先の端末装置２００Ｃの通信先セッション確立部２３０Ｃと通信元の端末装置２００Ａの通信元セッション確立部２６０Ａとの間の相互アクセスはグローバルＩＰアドレス（ＧＩＰ）を用いて行われる。その結果、図２２の通信経路Ｌ１，Ｌ２を用いた通信（ネットワークＮを経由した通信）が行われることになる。
【０３０８】
続いて、端末装置２００Ａが通信元となって、同じサブネットに所属する端末装置２００Ｂを通信先とする通信を行う場合を考える。この場合、図２４(b) のアドレステーブルＴ６２を参照すると、端末装置２００Ａ（端末ＩＤ「００１０」）のグローバルＩＰアドレス「ＧＩＰ１」は「xx.5.1.1」であり、相手方の端末装置２００Ｂ（端末ＩＤ「００２０」）のグローバルＩＰアドレス「ＧＩＰ２」も「xx.5.1.1」であり、両者は同一である。そこで、通信元となる端末装置２００Ａの通信開始要求部２４０Ａは、通信先となる端末装置ＢのプライベートＩＰアドレス（ＰＩＰ２）である「192.168.2.2」に対して通信開始要求Ｓ５を行うことになる。その結果、図２３の通信経路Ｌ５，Ｌ６を用いた通信（ネットワークＮを経由しない通信）が行われる。
【０３０９】
もちろん、通信元の端末装置２００Ａの通信開始要求部２４０Ａが、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行った場合は、以後、通信先の端末装置２００Ｂの通信先セッション確立部２３０Ｂと通信元の端末装置２００Ａの通信元セッション確立部２６０Ａとの間の相互アクセスはプライベートＩＰアドレス（ＰＩＰ）を用いて行われる。その結果、図２３の通信経路Ｌ５，Ｌ６を用いた通信が行われることになる。
【０３１０】
要するに、本発明では、異なるサブネットに所属する端末装置間の通信にはグローバルＩＰアドレスを利用し、同一のサブネットに所属する端末装置間の通信にはプライベートＩＰアドレスを利用することになる。したがって、後者の場合には、無駄な通信経路を省くことができ、通信効率を向上させることができる。また、上述のように信号の出戻りを拒絶する設定がなされているルータが存在した場合でも、支障なく通信を行うことができる。
【０３１１】
結局、先願基本発明の第１の実施形態に本発明を適用したネットワーク通信システムの基本構成は、図４のブロック図に示すものと同様であるが、いくつかの構成要素に上述した付加機能が加えられることになる。もちろん、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって構成することができる。また、商業上は、個々の端末装置２００を単独で販売したり、接続仲介装置１００を単独で販売したりすることが可能であり、更に、端末装置２００に組み込むためのプログラムや、接続仲介装置１００に組み込むためのプログラムを単独で販売することも可能である。
【０３１２】
＜５−３．  第２の実施形態についての問題の解決方法＞
§５−２では、§１で述べた先願基本発明の第１の実施形態に係るネットワーク通信システムに本発明を適用するための方法を述べた。ここでは、§２で述べた先願基本発明の第２の実施形態に係るネットワーク通信システムに本発明を適用するための方法を述べる。
【０３１３】
§２で述べた先願基本発明の第２の実施形態に係るネットワーク通信システムは、図８のブロック図に示すとおり、ネットワークＮを介して相互に接続可能な複数の端末装置４００Ａ，４００Ｂと、これら複数の端末装置間の接続を仲介する接続仲介装置３００と、を備えている。そして、各端末装置４００Ａ，４００Ｂには、個々の端末装置を相互に識別するための端末ＩＤがそれぞれ付与されており、接続仲介装置３００は、この端末ＩＤを利用して通信元となる端末装置４００Ｂと通信先となる端末装置４００Ａとの間の接続を仲介する処理を実行する。
【０３１４】
図７に示すとおり、各端末装置４００は、接続仲介依頼部４１０、通信要求受付部４２０、通信元セッション確立部４３０、通信開始要求部４４０、自己アドレス通知部４５０、通信先セッション確立部４６０を有しており、これら各構成要素の機能は、既に§２で述べたとおりである。一方、図８に示すとおり、接続仲介装置３００は、アドレステーブル格納部３１０、アドレステーブル更新部３２０、通信元アドレス送信部３３０を有しており、これら各構成要素の機能も、既に§２で述べたとおりである。
【０３１５】
この先願基本発明の第２の実施形態に本発明を適用するには、上記各構成要素のいくつかに、付加的な機能を設けるようにすればよい。具体的には、以下に述べる各構成要素に付加機能を追加すればよい。
【０３１６】
まず、自己アドレス通知部４５０については、端末装置４００がルータを介してネットワークＮに接続されていた場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、当該ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置３００に対して通知する付加機能を追加する。この付加機能は、§５−２で述べた自己アドレス通知部２５０についての付加機能と同様である。
【０３１７】
一方、このような自己アドレス通知を受けた接続仲介装置３００内のアドレステーブル更新部３２０は、端末ＩＤに、グローバルＩＰアドレス（ＧＩＰ）とプライベートＩＰアドレス（ＰＩＰ）とを対応づけてアドレステーブルＴに格納する更新処理を実行する。したがって、図８に示す先願基本発明の第２の実施形態に本発明を適用するには、アドレステーブル格納部３１０に、所在アドレスとして、各端末装置のグローバルＩＰアドレス（ＧＩＰ）を端末ＩＤに対応づけて格納するとともに、プライベートＩＰアドレス（ＰＩＰ）が通知された端末装置については、更に当該プライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけて格納する付加機能をもたせておけばよい。このようなアドレステーブルの実例は、既に図２４を用いて説明したとおりである。
【０３１８】
§２で述べたとおり、接続仲介装置３００内の通信元アドレス送信部３３０は、アドレステーブルを参照して通信先アドレスを確認し、この通信先の端末装置に対して通信元アドレスを送信する処理を行う。このとき、§２で述べた実施形態の場合、送信される通信元アドレスは、通信元となる端末装置のグローバルＩＰアドレスである。これに対して本発明の場合、図２４のアドレステーブルＴ６１，Ｔ６２に示すように、ルータを介して接続された端末装置については、所在アドレスとしてグローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）も格納されている。そこで、本発明に係る通信元アドレス送信部３３０には、このアドレステーブルＴ６１，Ｔ６２の内容に応じて、グローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を通信元アドレスとして送信する付加機能をもたせるようにする。
【０３１９】
こうすることにより、端末装置４００内の通信開始要求部４４０は、通信元についてのグローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を通信元アドレスとして受け取ることができる。そこで、本発明に係る通信開始要求部４４０には、グローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を用いて通信開始要求Ｓ１５を行う付加機能をもたせるようにする。そうすれば、通信開始要求部４４０は、自己と通信元との間のネットワーク環境に応じて、適宜、グローバルＩＰアドレス（ＧＩＰ）およびプライベートＩＰアドレス（ＰＩＰ）を選択的に利用して、通信元に対して通信開始要求Ｓ１５を行うことができるようになる。
【０３２０】
グローバルＩＰアドレス（ＧＩＰ）か、プライベートＩＰアドレス（ＰＩＰ）か、のいずれを利用して通信開始要求Ｓ１５を行うかの判断は、§５−２で述べた例と同様に、通信元と通信先のグローバルＩＰアドレスを比較することによって行うことができる。具体的には、通信先となる端末装置４００の通信開始要求部４４０は、自己のグローバルＩＰアドレスと通信元となる端末装置のグローバルＩＰアドレスとが同一のＩＰアドレスである場合には、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行い、異なるＩＰアドレスである場合には、グローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ１５を行うようにすればよい。
【０３２１】
このような運用を行った場合の具体的な通信形態は、§５−２で図２１に示す例について述べたものと同様である。具体的には、図２１に示す第１の実施形態に係る各端末装置２００Ａ〜２００Ｄを、それぞれ第２の実施形態に係る端末装置４００Ａ〜４００Ｄに置き換え、第１の実施形態に係る接続仲介装置１００を、第２の実施形態に係る接続仲介装置３００に置き換えればよい。括弧書きの符号は、このような置き換えを行ったものである。接続仲介装置３００内には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。
【０３２２】
まず、端末装置４００Ｂ（図２１の２００Ｂを置き換えたもの）が通信元となって、別なサブネットに所属する端末装置４００Ｃ（図２１の２００Ｃを置き換えたもの）を通信先とする通信を行う場合を考える。この場合、図２４(b) のアドレステーブルＴ６２を参照すると、端末装置４００Ｂ（端末ＩＤ「００２０」）のグローバルＩＰアドレス「ＧＩＰ２」は「xx.5.1.1」であるのに対して、相手方の端末装置４００Ｃ（端末ＩＤ「００３０」）のグローバルＩＰアドレス「ＧＩＰ３」は「xx.5.7.1」であり、両者は異なっている。そこで、通信先となる端末装置４００Ｃの通信開始要求部４４０は、通信元となる端末装置４００ＢのグローバルＩＰアドレス（ＧＩＰ２）である「xx.5.１.1(P2)」に対して通信開始要求Ｓ１５を行うことになる。
【０３２３】
もちろん、通信先の端末装置４００Ｃの通信開始要求部４４０が、グローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ１５を行った場合は、以後、通信先の端末装置４００Ｃの通信先セッション確立部４６０Ｃと通信元の端末装置４００Ｂの通信元セッション確立部４３０Ｂとの間の相互アクセスはグローバルＩＰアドレス（ＧＩＰ）を用いて行われる。その結果、図２２の通信経路Ｌ１，Ｌ２の例と同様に、ネットワークＮを経由した通信が行われることになる。
【０３２４】
続いて、端末装置４００Ｂ（図２１の２００Ｂを置き換えたもの）が通信元となって、同じサブネットに所属する端末装置４００Ａ（図２１の２００Ａを置き換えたもの）を通信先とする通信を行う場合を考える。この場合、図２４(b) のアドレステーブルＴ６２を参照すると、端末装置４００Ｂ（端末ＩＤ「００２０」）のグローバルＩＰアドレス「ＧＩＰ２」は「xx.5.1.1」であり、相手方の端末装置４００Ａ（端末ＩＤ「００１０」）のグローバルＩＰアドレス「ＧＩＰ１」も「xx.5.1.1」であり、両者は同一である。そこで、通信先となる端末装置４００Ａの通信開始要求部４４０Ａは、プライベートＩＰアドレス（ＰＩＰ２）である「192.168.2.2」に対して通信開始要求Ｓ１５を行うことになる。その結果、図２３の通信経路Ｌ５，Ｌ６の例と同様に、ネットワークＮを経由しない通信が行われることになる。
【０３２５】
もちろん、通信先の端末装置４００Ａの通信開始要求部４４０Ａが、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行った場合は、以後、通信元の端末装置４００Ｂの通信元セッション確立部４３０Ｂと通信先の端末装置４００Ａの通信先セッション確立部４６０Ａとの間の相互アクセスはプライベートＩＰアドレス（ＰＩＰ）を用いて行われる。その結果、図２３の通信経路Ｌ５，Ｌ６を用いた通信（ネットワークＮを経由しない通信）が行われることになる。
【０３２６】
このように、本発明を先願基本発明の第２の実施形態に適用した場合も、異なるサブネットに所属する端末装置間の通信にはグローバルＩＰアドレスを利用し、同一のサブネットに所属する端末装置間の通信にはプライベートＩＰアドレスを利用することになる。したがって、後者の場合には、無駄な通信経路を省くことができ、通信効率を向上させることができる。また、上述のように信号の出戻りを拒絶する設定がなされているルータが存在した場合でも、支障なく通信を行うことができる。
【０３２７】
結局、先願基本発明の第２の実施形態に本発明を適用したネットワーク通信システムの基本構成は、図８のブロック図に示すものと同様であるが、いくつかの構成要素に上述した付加機能が加えられることになる。もちろん、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって構成することができる。また、商業上は、個々の端末装置４００を単独で販売したり、接続仲介装置３００を単独で販売したりすることが可能であり、更に、端末装置４００に組み込むためのプログラムや、接続仲介装置３００に組み込むためのプログラムを単独で販売することも可能である。
【０３２８】
＜５−４．  本発明を適用するためのアプローチ＞
前述したとおり、本発明において端末装置間の通信に、ＧＩＰ／ＰＩＰいずれのアドレスを利用するかという点に関する基本概念は、異なるサブネットに所属する端末装置間の通信にはグローバルＩＰアドレス（ＧＩＰ）を利用し、同一のサブネットに所属する端末装置間の通信にはプライベートＩＰアドレス（ＰＩＰ）を利用する、というものである。ここでは、このような基本概念を実際に適用するための具体的なアプローチをいくつか述べる。
【０３２９】
まず、第１のアプローチは、「接続仲介装置がＧＩＰ／ＰＩＰの選択を行うアプローチ」である。接続仲介装置は、接続仲介依頼があったときに、アドレステーブルを参照して通信先アドレスもしくは通信元アドレスを端末装置に送信することになるが、このとき、アドレステーブルの内容に応じて、ＧＩＰ／ＰＩＰのいずれを送信するかを選択すればよい。たとえば、図２４(b) に示すようなアドレステーブルＴ６２を参照して、通信元と通信先のグローバルＩＰアドレスが同じか否かを判断し、同じ場合には、プライベートＩＰアドレス（ＰＩＰ）を送信し、異なる場合には、グローバルＩＰアドレス（ＧＩＰ）を送信するようにする。そして、端末装置は、送信を受けたアドレスをそのまま用いて、通信開始要求を行うようにする。
【０３３０】
要するに、この第１のアプローチでは、通信開始要求に用いるアドレスとして、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を接続仲介装置に委ね、接続仲介装置が、選択したいずれか一方のアドレスのみを端末装置に送信するようにする。端末装置は、送信のあったアドレスをそのまま用いて通信開始要求を行うことになる。この第１のアプローチの具体的な手順については、後述する§６において、実施例１，２として詳述する。
【０３３１】
第２のアプローチは、「端末装置がＧＩＰ／ＰＩＰの選択を行うアプローチ」である。接続仲介装置は、接続仲介依頼があったときに、アドレステーブルを参照して通信先アドレスもしくは通信元アドレスを端末装置に送信することになるが、このとき、送信対象となるアドレスについて、アドレステーブルにＧＩＰのみが格納されていた場合には、ＧＩＰのみを送信し、ＧＩＰとＰＩＰの両方が格納されていた場合には、これら両方を送信すればよい。別言すれば、接続仲介装置は、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を行わず、アドレステーブルに格納されている送信対象アドレスをそのまま端末装置に送信することになる。
【０３３２】
端末装置は、送信を受けたアドレスがＧＩＰのみであった場合には、当該ＧＩＰを用いて通信開始要求を行うが、ＧＩＰとＰＩＰの両方の送信を受けた場合には、自己のＧＩＰと送信を受けたＧＩＰ（相手方のＧＩＰ）とを比較して、いずれを用いて通信開始要求を行うかを選択することになる。すなわち、自己のＧＩＰと送信を受けたＧＩＰとが同じ場合には、相手先は自己と同じサブネットに存在するものと判断し、相手方のプライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求を行うようにする。これに対して、自己のＧＩＰと送信を受けたＧＩＰとが異なる場合には、相手先は自己とは異なるサブネットに存在するものと判断し、相手方のグローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求を行うようにする。
【０３３３】
要するに、この第２のアプローチでは、通信開始要求に用いるアドレスとして、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を端末装置に委ね、端末装置が、選択したいずれか一方のアドレスを用いて相手方に対する通信開始要求を行うようにする。この第２のアプローチの具体的な手順については、後述する§７において、実施例３，４として詳述する。
【０３３４】
第３のアプローチは、「ＰＩＰ失敗時にＧＩＰでトライするアプローチ」である。第３のアプローチでは、通信開始要求に用いるアドレスとしてＧＩＰ／ＰＩＰのいずれを選択するかの判断は行われない。接続仲介装置は、接続仲介依頼があったときに、アドレステーブルを参照して通信先アドレスもしくは通信元アドレスを端末装置に送信することになるが、このとき、送信対象となるアドレスについて、アドレステーブルにＧＩＰのみが格納されていた場合には、ＧＩＰのみを送信し、ＧＩＰとＰＩＰの両方が格納されていた場合には、これら両方を送信すればよい。すなわち、上述した第２のアプローチと同様に、接続仲介装置は、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を行わず、アドレステーブルに格納されている送信対象アドレスをそのまま端末装置に送信することになる。
【０３３５】
端末装置は、送信を受けたアドレスがＧＩＰのみであった場合には、当該ＧＩＰを用いて通信開始要求を行う。一方、端末装置は、送信を受けたアドレスがＧＩＰとＰＩＰの両方であった場合には、まず、ＰＩＰを用いて通信開始要求をトライし、このＰＩＰを用いた通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、ＧＩＰを用いて通信開始要求を行う。
【０３３６】
要するに、この第３のアプローチでは、通信開始要求に用いるアドレスとして、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を行わず、端末装置がＧＩＰ／ＰＩＰの両方の送信を受けた場合には、まずＰＩＰを試し、失敗したら、もしくは失敗が予想されたらＧＩＰを試すという手順をとることになる。この第３のアプローチの具体的な手順については、後述する§８において、実施例５，６として詳述する。
【０３３７】
＜＜＜  §６．  接続仲介装置がＧＩＰ／ＰＩＰの選択を行うアプローチ  ＞＞＞
この§６で述べる実施形態は、前述したとおり、通信開始要求に用いるアドレスとして、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を接続仲介装置に委ねるアプローチを採るものである。このアプローチを採る場合、接続仲介装置は、選択したいずれか一方のアドレスのみを端末装置に送信するようにし、端末装置は、送信のあったアドレスをそのまま用いて通信開始要求を行うことになる。以下、このアプローチを、§１に示す先願基本発明の第１の実施形態（図４）に適用した例を実施例１として説明し、§２に示す先願基本発明の第２の実施形態（図８）に適用した例を実施例２として説明する。もちろん、以下に述べる実施例１，２については、§３や§４で述べた各種変形例を適用することも可能である。
【０３３８】
＜６−１．  実施例１＞
ここでは、本発明の実施例１を説明する。この実施例１は、§１で述べた先願基本発明の第１の実施形態の構成要素のいくつかに付加機能を追加したものであり、接続仲介装置がＧＩＰ／ＰＩＰの選択を行うアプローチを採用するものである。この実施例１に係るネットワーク通信システムの構成は、基本的には、図４に示す先願基本発明の第１の実施形態の構成と同じであるが、§５−２で述べたとおり、いくつかの構成要素に付加機能が追加されている。
【０３３９】
具体的には、各端末装置２００の自己アドレス通知部２５０には、ルータを介してネットワークＮに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置１００に対して通知する付加機能が追加されている。また、接続仲介装置１００内のアドレステーブル格納部１１０には、図２４に示すように、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけたアドレステーブルＴ６１が格納されている。
【０３４０】
また、この実施例１の場合、図４に示す通信先アドレス返信部１３０は、通信元の端末装置２００Ａから接続仲介依頼Ｓ２が送信されてきたときに、アドレステーブル格納部１１０に格納されているアドレステーブルを参照して、接続仲介依頼Ｓ２を送信した通信元の端末装置２００Ａの端末ＩＤ「００１０」に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ２に含まれている通信先特定情報によって特定される端末ＩＤ「００２０」に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が同一のＩＰアドレスである場合には、プライベートＩＰアドレス（ＰＩＰ）を選択通信先アドレスとして返信し、判断対象となる両者が異なるＩＰアドレスである場合には、グローバルＩＰアドレス（ＧＩＰ）を選択通信先アドレスとして返信する。そして、このような返信を受けた通信開始要求部２４０Ａは、返信されてきた選択通信先アドレスをそのまま用いて通信開始要求Ｓ５を行う。
【０３４１】
たとえば、図２１に示すようなネットワーク環境が構成されていた場合、アドレステーブル格納部１１０には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。この場合、端末装置２００Ａを通信元として、端末装置２００Ｃを通信先とする接続仲介依頼Ｓ２がなされたとすると、通信元（端末ＩＤ「００１０」）と通信先（端末ＩＤ「００３０」）のグローバルＩＰアドレス（ＧＩＰ）は異なっているので、通信先アドレス返信部１３０は、通信先のグローバルＩＰアドレス「xx.5.7.1」を選択通信先アドレスとして返信する（実際には、ポート番号も一緒に返信される。以下の各実施例でも同様。）。その結果、通信元端末装置２００Ａは、この選択通信先アドレス「xx.5.7.1」を用いて、通信先端末装置２００Ｃに対して通信開始要求Ｓ５を行うことになる。かくして、端末装置２００Ａ−２００Ｃ間において、ネットワークＮを介した通信が行われる。
【０３４２】
これに対して、端末装置２００Ａを通信元として、端末装置２００Ｂを通信先とする接続仲介依頼Ｓ２がなされたとすると、通信元（端末ＩＤ「００１０」）と通信先（端末ＩＤ「００２０」）のグローバルＩＰアドレス（ＧＩＰ）は同一なので、通信先アドレス返信部１３０は、通信先のプライベートＩＰアドレス「192.168.2.2」を選択通信先アドレスとして返信する。その結果、通信元端末装置２００Ａは、この選択通信先アドレス「192.168.2.2」を用いて、通信先端末装置２００Ｂに対して通信開始要求Ｓ５を行うことになる。かくして、端末装置２００Ａ−２００Ｂ間において、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０３４３】
図２５は、実施例１についての装置間信号の流れを示すダイアグラムである。図２１には、４台の端末装置２００Ａ〜２００Ｄがそれぞれ固有のネットワーク環境で接続されている例が示されているが、ここでは、より一般化した説明を行うために、通信元の端末装置を２００Ｘ、通信先の端末装置を２００Ｙと呼ぶことにし、両者ともにルータを介してネットワークＮに接続されているものとする。図２５において、左端に配置された縦線は通信元端末装置２００Ｘを示し、中央に配置された縦線は接続仲介装置１００を示し、右端に配置された縦線は通信先端末装置２００Ｙを示す。また、各縦線は、上から下へ向かう時間軸を示しており、以下、この時間軸に沿って、各信号の流れを順に説明する。なお、以下の説明では、グローバルＩＰアドレスを「ＧＩＰ」と省略して記載し、プライベートＩＰアドレスを「ＰＩＰ」と省略して記載する。
【０３４４】
まず、準備段階の処理として、通信元端末装置２００Ｘから接続仲介装置１００に対して自己アドレス通知Ｓ０Ｘが行われる。これは、通信元端末装置２００Ｘ内の自己アドレス通知部２５０によって行われる処理であり、前述したとおり、通信元端末装置２００ＸのＧＩＰとＰＩＰの両方が通知される。同様に、通信先端末装置２００Ｙから接続仲介装置１００に対して自己アドレス通知Ｓ０Ｙが行われる。これは、通信先端末装置２００Ｙ内の自己アドレス通知部２５０によって行われる処理であり、前述したとおり、通信先端末装置２００ＹのＧＩＰとＰＩＰの両方が通知される。
【０３４５】
図２５には、説明の便宜上、通信元端末装置２００Ｘからの自己アドレス通知Ｓ０Ｘが行われた後に、通信先端末装置２００Ｙからの自己アドレス通知Ｓ０Ｙが行われた例が示されているが、もちろん、各端末装置からの自己アドレス通知は、それぞれ所定のタイミングで行われるものであり、自己アドレス通知Ｓ０Ｘ，Ｓ０Ｙの順序は逆になる場合もあるし、同時の場合もある。また、この準備段階では、まだ、いずれが通信元になり、いずれが通信先になるかは定まっていない。この準備段階により、接続仲介装置１００内のアドレステーブルには、両端末装置２００Ｘ，２００ＹのＧＩＰとＰＩＰの両方が格納されることになる。
【０３４６】
さて、続く通信段階において、端末装置２００Ｘに対して、端末装置２００Ｙを通信先とする通信要求Ｓ１がなされたものとしよう。これにより、端末装置２００Ｘを通信元とし、端末装置２００Ｙを通信先とする通信を行うための手順が開始される。まず、通信元端末装置２００Ｘから接続仲介装置１００に対して、通信先端末装置２００Ｙの端末ＩＤを含む接続仲介依頼Ｓ２がなされる。この接続仲介依頼Ｓ２を受けた接続仲介装置１００は、アドレステーブルを参照する処理Ｓ３を行い、通信先端末装置２００Ｙの所在アドレスを通信先アドレスとして把握する。
【０３４７】
ただ、アドレステーブルに格納されている通信先端末装置２００Ｙの所在アドレスには、ＧＩＰとＰＩＰが含まれている。そこで、接続仲介装置１００内の通信先アドレス返信部１３０は、ＧＩＰ／ＰＩＰのいずれか一方を選択通信先アドレスとして選択し、この選択通信先アドレスを通信元端末装置２００Ｘに通知する通信先アドレス返信Ｓ４を行う。この通信先アドレス返信Ｓ４には、通信先端末装置２００ＹのＧＩＰかＰＩＰか、いずれか一方のアドレスが選択通信先アドレスとして含まれている。このように、実施例１では、接続仲介装置１００がＧＩＰ／ＰＩＰの選択を行うアプローチが採用されている。
【０３４８】
通信先アドレス返信部１３０が、ＧＩＰ／ＰＩＰの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信先アドレス返信部１３０は、アドレステーブルを参照することにより、通信元と通信先のＧＩＰが同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が同一のＩＰアドレスである場合には、ＰＩＰを選択通信先アドレスとして返信し、判断対象となる両者が異なるＩＰアドレスである場合には、ＧＩＰを選択通信先アドレスとして返信する。
【０３４９】
この選択通信先アドレスの返信を受けた通信元端末装置２００Ｘ内の通信開始要求部２４０は、返信されてきた選択通信先アドレスをそのまま用いて、通信先端末装置２００Ｙに対して通信開始要求Ｓ５を行う。すなわち、ＧＩＰが返信されてきたらＧＩＰを用いて通信開始要求Ｓ５を行い、ＰＩＰが返信されてきたらＰＩＰを用いて通信開始要求Ｓ５を行う。この通信開始要求Ｓ５を受けた通信先端末装置２００Ｙ内の通信先セッション確立部２３０は、通信元端末装置２００Ｘに対して、通信開始要求Ｓ５がＧＩＰで行われた場合には同じくＧＩＰを用いて通信開始受諾確認Ｓ６を行い、通信開始要求Ｓ５がＰＩＰで行われた場合には同じくＰＩＰを用いて通信開始受諾確認Ｓ６を行う。かくして、端末装置２００Ｘ−２００Ｙ間における通信Ｓ７が、通信開始要求Ｓ５がＧＩＰで行われた場合には同じくＧＩＰを用いて行われ、通信開始要求Ｓ５がＰＩＰで行われた場合には同じくＰＩＰを用いて行われることになる。
【０３５０】
＜６−２．  実施例２＞
続いて、本発明の実施例２を説明する。この実施例２は、§２で述べた先願基本発明の第２の実施形態の構成要素のいくつかに付加機能を追加したものであり、接続仲介装置がＧＩＰ／ＰＩＰの選択を行うアプローチを採用するものである。この実施例２に係るネットワーク通信システムの構成は、基本的には、図８に示す先願基本発明の第２の実施形態の構成と同じであるが、§５−３で述べたとおり、いくつかの構成要素に付加機能が追加されている。
【０３５１】
具体的には、各端末装置４００の自己アドレス通知部４５０には、ルータを介してネットワークＮに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置３００に対して通知する付加機能が追加されている。また、接続仲介装置３００内のアドレステーブル格納部３１０には、図２４に示すように、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけたアドレステーブルＴ６１が格納されている。
【０３５２】
また、この実施例２の場合、図８に示す通信元アドレス送信部３３０は、通信元の端末装置４００Ｂから接続仲介依頼Ｓ１２が送信されてきたときに、アドレステーブル格納部３１０に格納されているアドレステーブルを参照して、接続仲介依頼Ｓ１２を送信した通信元の端末装置４００Ｂの端末ＩＤ「００２０」に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ１２に含まれている通信先特定情報によって特定される端末ＩＤ「００１０」に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が同一のＩＰアドレスである場合には、プライベートＩＰアドレス（ＰＩＰ）を選択通信元アドレスとして送信し、判断対象となる両者が異なるＩＰアドレスである場合には、グローバルＩＰアドレス（ＧＩＰ）を選択通信元アドレスとして送信する。そして、このような送信を受けた通信開始要求部４４０Ａは、送信されてきた選択通信元アドレスをそのまま用いて通信開始要求Ｓ１５を行う。
【０３５３】
たとえば、図２１に示す第１の実施形態に係る各端末装置２００Ａ〜２００Ｄを、それぞれ第２の実施形態に係る端末装置４００Ａ〜４００Ｄに置き換え、第１の実施形態に係る接続仲介装置１００を、第２の実施形態に係る接続仲介装置３００に置き換えた例を考えた場合（置き換えた符号を図２１では括弧書きで示してある）、接続仲介装置３００内には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。
【０３５４】
この場合、端末装置４００Ｂを通信元として、端末装置４００Ｃを通信先とする接続仲介依頼Ｓ１２がなされたとすると、通信元（端末ＩＤ「００２０」）と通信先（端末ＩＤ「００３０」）のグローバルＩＰアドレス（ＧＩＰ）は異なっているので、通信元アドレス送信部３３０は、通信元のグローバルＩＰアドレス「xx.5.1.1」を選択通信元アドレスとして送信する。その結果、通信先端末装置４００Ｃは、この選択通信元アドレス「xx.5.1.1」を用いて、通信元端末装置４００Ｂに対して通信開始要求Ｓ１５を行うことになる。かくして、端末装置４００Ｂ−４００Ｃ間において、ネットワークＮを介した通信が行われる。
【０３５５】
これに対して、端末装置４００Ｂを通信元として、端末装置４００Ａを通信先とする接続仲介依頼Ｓ１２がなされたとすると、通信元（端末ＩＤ「００２０」）と通信先（端末ＩＤ「００１０」）のグローバルＩＰアドレス（ＧＩＰ）は同一なので、通信元アドレス送信部３３０は、通信元のプライベートＩＰアドレス「192.168.2.2」を選択通信元アドレスとして送信する。その結果、通信先端末装置４００Ａは、この選択通信元アドレス「192.168.2.2」を用いて、通信元端末装置４００Ｂに対して通信開始要求Ｓ１５を行うことになる。かくして、端末装置４００Ａ−４００Ｂ間において、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０３５６】
図２６は、実施例２についての装置間信号の流れを示すダイアグラムである。ここでも、より一般化した説明を行うために、通信元の端末装置を４００Ｘ、通信先の端末装置を４００Ｙと呼ぶことにし、両者ともにルータを介してネットワークＮに接続されているももとする。図２６において、左端に配置された縦線は通信元端末装置４００Ｘを示し、中央に配置された縦線は接続仲介装置３００を示し、右端に配置された縦線は通信先端末装置４００Ｙを示す。また、各縦線は、上から下へ向かう時間軸を示しており、以下、この時間軸に沿って、各信号の流れを順に説明する。なお、以下の説明では、グローバルＩＰアドレスを「ＧＩＰ」と省略して記載し、プライベートＩＰアドレスを「ＰＩＰ」と省略して記載する。
【０３５７】
まず、準備段階の処理として、通信元端末装置４００Ｘから接続仲介装置３００に対して自己アドレス通知Ｓ０Ｘが行われる。これは、通信元端末装置４００Ｘ内の自己アドレス通知部４５０によって行われる処理であり、前述したとおり、通信元端末装置４００ＸのＧＩＰとＰＩＰの両方が通知される。同様に、通信先端末装置４００Ｙから接続仲介装置３００に対して自己アドレス通知Ｓ０Ｙが行われる。これは、通信先端末装置４００Ｙ内の自己アドレス通知部４５０によって行われる処理であり、前述したとおり、通信先端末装置４００ＹのＧＩＰとＰＩＰの両方が通知される。
【０３５８】
図２５に示すダイアグラムと同様に、各端末装置からの自己アドレス通知は、それぞれ所定のタイミングで行われるものであり、自己アドレス通知Ｓ０Ｘ，Ｓ０Ｙの順序は逆になる場合もあるし、同時の場合もある。また、この準備段階では、まだ、いずれが通信元になり、いずれが通信先になるかは定まっていない。この準備段階により、接続仲介装置３００内のアドレステーブルには、両端末装置４００Ｘ，４００ＹのＧＩＰとＰＩＰの両方が格納されることになる。
【０３５９】
さて、続く通信段階において、端末装置４００Ｘに対して、端末装置４００Ｙを通信先とする通信要求Ｓ１１がなされたものとしよう。これにより、端末装置４００Ｘを通信元とし、端末装置４００Ｙを通信先とする通信を行うための手順が開始される。まず、通信元端末装置４００Ｘから接続仲介装置３００に対して、通信先端末装置４００Ｙの端末ＩＤを含む接続仲介依頼Ｓ１２がなされる。この接続仲介依頼Ｓ１２を受けた接続仲介装置３００は、アドレステーブルを参照する処理Ｓ１３を行い、通信先端末装置４００Ｙの所在アドレスを通信先アドレスとして把握し、通信元端末装置４００Ｘの所在アドレスを通信元アドレスとして把握する。
【０３６０】
ただ、アドレステーブルに格納されている通信元端末装置４００Ｘの所在アドレスには、ＧＩＰとＰＩＰが含まれている。そこで、接続仲介装置３００内の通信元アドレス送信部３３０は、ＧＩＰ／ＰＩＰのいずれか一方を選択通信元アドレスとして選択し、この選択通信元アドレスを通信先端末装置４００Ｙに通知する通信元アドレス送信Ｓ１４を行う。この通信元アドレス送信Ｓ１４には、通信元端末装置４００ＸのＧＩＰかＰＩＰか、いずれか一方のアドレスが選択通信元アドレスとして含まれている。このように、実施例２では、接続仲介装置３００がＧＩＰ／ＰＩＰの選択を行うアプローチが採用されている。
【０３６１】
通信元アドレス送信部３３０が、ＧＩＰ／ＰＩＰの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信元アドレス送信部３３０は、アドレステーブルを参照することにより、通信元と通信先のＧＩＰが同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が同一のＩＰアドレスである場合には、ＰＩＰを選択通信元アドレスとして送信し、判断対象となる両者が異なるＩＰアドレスである場合には、ＧＩＰを選択通信元アドレスとして送信する。
【０３６２】
この選択通信元アドレスの送信を受けた通信先端末装置４００Ｙ内の通信開始要求部４４０は、送信されてきた選択通信元アドレスをそのまま用いて、通信元端末装置４００Ｘに対して通信開始要求Ｓ１５を行う。すなわち、ＧＩＰが送信されてきたらＧＩＰを用いて通信開始要求Ｓ１５を行い、ＰＩＰが送信されてきたらＰＩＰを用いて通信開始要求Ｓ１５を行う。この通信開始要求Ｓ１５を受けた通信元端末装置４００Ｘ内の通信元セッション確立部４３０は、通信先端末装置４００Ｙに対して、通信開始要求Ｓ１５がＧＩＰで行われた場合には同じくＧＩＰを用いて通信開始受諾確認Ｓ１６を行い、通信開始要求Ｓ１５がＰＩＰで行われた場合には同じくＰＩＰを用いて通信開始受諾確認Ｓ１６を行う。かくして、端末装置４００Ｘ−４００Ｙ間における通信Ｓ１７が、通信開始要求Ｓ１５がＧＩＰで行われた場合には同じくＧＩＰを用いて行われ、通信開始要求Ｓ１５がＰＩＰで行われた場合には同じくＰＩＰを用いて行われることになる。
【０３６３】
＜＜＜  §７．  端末装置がＧＩＰ／ＰＩＰの選択を行うアプローチ  ＞＞＞
§６では、通信開始要求に用いるアドレスとして、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を接続仲介装置に委ねるアプローチを採る実施例１，２を説明した。この§７では、この判断を端末装置に委ねるアプローチを採る実施例について説明する。このようなアプローチを採る場合、接続仲介装置は、ＧＩＰ／ＰＩＰの両方を有する所在アドレスについては、この両方を端末装置に送信するようにし、端末装置側において、いずれか一方を選択して通信開始要求を行うことになる。以下、このアプローチを、§１に示す先願基本発明の第１の実施形態（図４）に適用した例を実施例３として説明し、§２に示す先願基本発明の第２の実施形態（図８）に適用した例を実施例４として説明する。もちろん、以下に述べる実施例３，４については、§３や§４で述べた各種変形例を適用することも可能である。
【０３６４】
＜７−１．  実施例３＞
ここでは、本発明の実施例３を説明する。この実施例３は、§１で述べた先願基本発明の第１の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置がＧＩＰ／ＰＩＰの選択を行うアプローチを採用するものである。この実施例３に係るネットワーク通信システムの構成は、基本的には、図４に示す先願基本発明の第１の実施形態の構成と同じであるが、§５−２で述べたとおり、いくつかの構成要素に付加機能が追加されている。
【０３６５】
具体的には、各端末装置２００の自己アドレス通知部２５０には、ルータを介してネットワークＮに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置１００に対して通知する付加機能が追加されている。また、接続仲介装置１００内のアドレステーブル格納部１１０には、図２４に示すように、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけたアドレステーブルＴ６１が格納されている。
【０３６６】
また、この実施例３の場合、図４に示す通信先アドレス返信部１３０は、通信元の端末装置２００Ａから接続仲介依頼Ｓ２が送信されてきたときに、返信対象となる所在アドレスとしてグローバルＩＰアドレス（ＧＩＰ）およびプライベートＩＰアドレス（ＰＩＰ）の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信先アドレスとして返信する。
【０３６７】
そして、通信開始要求部２４０Ａは、上記両アドレスの返信があったときに、通信先アドレスとして返信されてきたグローバルＩＰアドレス（ＧＩＰ）と、通信元である自己のグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が同一のＩＰアドレスである場合には、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行い、判断対象となる両者が異なるＩＰアドレスである場合には、グローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ５を行う。もちろん、ＧＩＰのみしか返信されてこなかった場合は、当該ＧＩＰを用いて通信開始要求Ｓ５を行えばよい。
【０３６８】
たとえば、図２１に示すようなネットワーク環境が構成されていた場合、アドレステーブル格納部１１０には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。この場合、端末装置２００Ａを通信元として、端末装置２００Ｃを通信先とする接続仲介依頼Ｓ２がなされたとすると、通信先アドレス返信部１３０は、通信先端末装置２００Ｃについて、グローバルＩＰアドレス「xx.5.7.1(P3)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.10.1」との両アドレスを通信先アドレスとして返信する。
【０３６９】
このような両アドレスの返信を受けた通信元端末装置２００Ａの通信開始要求部２４０Ａは、返信されてきた通信先端末装置２００ＣのグローバルＩＰアドレス「xx.5.7.1」と、通信元である自己のグローバルＩＰアドレス「xx.5.1.1」と、が同一のＩＰアドレスであるか否かを判断する。自己のグローバルＩＰアドレス「xx.5.1.1」については、通信開始要求部２４０Ａが予めルータＲＡに問い合わせを行い、これを保存しておくようにすればよい。上例の場合、通信元のグローバルＩＰアドレス「xx.5.1.1」と通信先のグローバルＩＰアドレス「xx.5.7.1」とは異なっているので、通信開始要求部２４０Ａは、グローバルＩＰアドレス「xx.5.7.1(P3)」を用いて通信先端末装置２００Ｃに対して通信開始要求Ｓ５を行う。かくして、端末装置２００Ａ−２００Ｃ間において、ネットワークＮを介した通信が行われる。
【０３７０】
これに対して、端末装置２００Ａを通信元として、端末装置２００Ｂを通信先とする接続仲介依頼Ｓ２がなされたとすると、通信先アドレス返信部１３０は、通信先端末装置２００Ｂについて、グローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.2.2」との両アドレスを通信先アドレスとして返信する。
【０３７１】
このような両アドレスの返信を受けた通信元端末装置２００Ａの通信開始要求部２４０Ａは、返信されてきた通信先端末装置２００ＢのグローバルＩＰアドレス「xx.5.1.1」と、通信元である自己のグローバルＩＰアドレス「xx.5.1.1」と、が同一のＩＰアドレスであるとの判断を行い、プライベートＩＰアドレス「192.168.2.2」を用いて通信先端末装置２００Ｂに対して通信開始要求Ｓ５を行う。かくして、端末装置２００Ａ−２００Ｂ間において、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０３７２】
図２７は、実施例３についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図２５に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置２００Ｘから接続仲介装置１００に対して自己アドレス通知Ｓ０Ｘが行われ、ＧＩＰとＰＩＰの両方が通知される。同様に、通信先端末装置２００Ｙから接続仲介装置１００に対して自己アドレス通知Ｓ０Ｙが行われ、ＧＩＰとＰＩＰの両方が通知される。この準備段階の処理は、図２５に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置１００内のアドレステーブルには、両端末装置２００Ｘ，２００ＹのＧＩＰとＰＩＰの両方が格納されることになる。なお、図２１の端末装置２００Ｄのように、ルータを介さずにネットワークＮに直接接続されている端末装置については、ＧＩＰのみがアドレステーブルに格納されるが、以下、両端末装置２００Ｘ，２００Ｙについて、ＧＩＰとＰＩＰの両方が格納されている場合を基本とした説明を行う。
【０３７３】
ここでは、続く通信段階において、端末装置２００Ｘに対して、端末装置２００Ｙを通信先とする通信要求Ｓ１がなされたものとしよう。これにより、端末装置２００Ｘを通信元とし、端末装置２００Ｙを通信先とする通信を行うための手順が開始される。まず、通信元端末装置２００Ｘから接続仲介装置１００に対して、通信先端末装置２００Ｙの端末ＩＤを含む接続仲介依頼Ｓ２がなされる。この接続仲介依頼Ｓ２を受けた接続仲介装置１００は、アドレステーブルを参照する処理Ｓ３を行い、通信先端末装置２００Ｙの所在アドレスを通信先アドレスとして把握する。
【０３７４】
ただ、アドレステーブルに格納されている通信先端末装置２００Ｙの所在アドレスには、ＧＩＰとＰＩＰが含まれている。そこで、接続仲介装置１００内の通信先アドレス返信部１３０は、ＧＩＰおよびＰＩＰの両方を通信先アドレスとして通信元端末装置２００Ｘに通知する通信先アドレス返信Ｓ４を行う（もちろん、アドレステーブルにＧＩＰのみしか含まれていない端末装置については、ＧＩＰのみを返信する）。このように、実施例３では、接続仲介装置１００は、ＧＩＰ／ＰＩＰの選択を行わない。
【０３７５】
こうして、ＧＩＰおよびＰＩＰの両方を含む通信先アドレスの返信を受けた通信元端末装置２００Ｘ内の通信開始要求部２４０は、通信開始要求Ｓ５に用いるアドレスとして、ＧＩＰかＰＩＰのいずれか一方を選ぶアドレス選択Ｓ４′を行う（もちろん、ＧＩＰのみ返信された場合には、選択は不要である）。通信開始要求部２４０が、ＧＩＰ／ＰＩＰの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信開始要求部２４０は、通信先アドレスとして返信されてきたＧＩＰと自己のＧＩＰとが同一のＩＰアドレスであるか否かを判断し、両者が同一のＩＰアドレスである場合には、ＰＩＰを用いて通信開始要求Ｓ５を行い、両者が異なるＩＰアドレスである場合には、ＧＩＰを用いて通信開始要求Ｓ５を行う。
【０３７６】
この通信開始要求Ｓ５を受けた通信先端末装置２００Ｙ内の通信先セッション確立部２３０は、通信元端末装置２００Ｘに対して、通信開始要求Ｓ５がＧＩＰで行われた場合には同じくＧＩＰを用いて通信開始受諾確認Ｓ６を行い、通信開始要求Ｓ５がＰＩＰで行われた場合には同じくＰＩＰを用いて通信開始受諾確認Ｓ６を行う。かくして、端末装置２００Ｘ−２００Ｙ間における通信Ｓ７が、通信開始要求Ｓ５がＧＩＰで行われた場合には同じくＧＩＰを用いて行われ、通信開始要求Ｓ５がＰＩＰで行われた場合には同じくＰＩＰを用いて行われることになる。
【０３７７】
＜７−２．  実施例４＞
続いて、本発明の実施例４を説明する。この実施例４は、§２で述べた先願基本発明の第２の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置がＧＩＰ／ＰＩＰの選択を行うアプローチを採用するものである。この実施例４に係るネットワーク通信システムの構成は、基本的には、図８に示す先願基本発明の第２の実施形態の構成と同じであるが、§５−３で述べたとおり、いくつかの構成要素に付加機能が追加されている。
【０３７８】
具体的には、各端末装置４００の自己アドレス通知部４５０には、ルータを介してネットワークＮに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置３００に対して通知する付加機能が追加されている。また、接続仲介装置３００内のアドレステーブル格納部３１０には、図２４に示すように、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけたアドレステーブルＴ６１が格納されている。
【０３７９】
また、この実施例４の場合、図８に示す通信元アドレス送信部３３０は、通信元の端末装置４００Ｂから接続仲介依頼Ｓ１２が送信されてきたときに、アドレステーブル格納部３１０に格納されているアドレステーブルを参照して、送信対象となる所在アドレスとしてグローバルＩＰアドレス（ＧＩＰ）およびプライベートＩＰアドレス（ＰＩＰ）の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信元アドレスとして送信する。
【０３８０】
そして、通信開始要求部４４０Ａは、上記両アドレスの送信があったときに、通信元アドレスとして送信されてきたグローバルＩＰアドレス（ＧＩＰ）と、通信先である自己のグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が同一のＩＰアドレスである場合には、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行い、判断対象となる両者が異なるＩＰアドレスである場合には、グローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ１５を行う。もちろん、ＧＩＰのみしか送信されてこなかった場合は、当該ＧＩＰを用いて通信開始要求Ｓ５を行えばよい。
【０３８１】
たとえば、図２１に示す第１の実施形態に係る各端末装置２００Ａ〜２００Ｄを、それぞれ第２の実施形態に係る端末装置４００Ａ〜４００Ｄに置き換え、第１の実施形態に係る接続仲介装置１００を、第２の実施形態に係る接続仲介装置３００に置き換えた例を考えた場合（置き換えた符号を図２１では括弧書きで示してある）、接続仲介装置３００内には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。
【０３８２】
この場合、端末装置４００Ｂを通信元として、端末装置４００Ｃを通信先とする接続仲介依頼Ｓ１２がなされたとすると、通信元アドレス送信部３３０は、通信元端末装置４００ＢのグローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置４００Ｃに送信する。
【０３８３】
このような両アドレスの送信を受けた通信先端末装置４００Ｃの通信開始要求部４４０は、送信されてきた通信元端末装置４００ＢのグローバルＩＰアドレス「xx.5.1.1」と、通信先である自己のグローバルＩＰアドレス「xx.5.7.1」と、が同一のＩＰアドレスであるか否かを判断する。自己のグローバルＩＰアドレス「xx.5.7.1」については、通信開始要求部４４０が予めルータＲＢに問い合わせを行い、これを保存しておくようにすればよい。上例の場合、通信元のグローバルＩＰアドレス「xx.5.1.1」と通信先のグローバルＩＰアドレス「xx.5.7.1」とは異なっているので、通信先端末装置４００Ｃの通信開始要求部４４０は、グローバルＩＰアドレス「xx.5.1.1(P2)」を用いて通信元端末装置２００Ｂに対して通信開始要求Ｓ１５を行う。かくして、端末装置４００Ｂ−４００Ｃ間において、ネットワークＮを介した通信が行われる。
【０３８４】
これに対して、端末装置４００Ｂを通信元として、端末装置４００Ａを通信先とする接続仲介依頼Ｓ１２がなされたとすると、通信元アドレス送信部３３０は、通信元端末装置４００ＢのグローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置４００Ａに送信する。
【０３８５】
このような両アドレスの送信を受けた通信先端末装置４００Ａの通信開始要求部４４０は、送信されてきた通信元端末装置４００ＢのグローバルＩＰアドレス「xx.5.1.1」と、通信先である自己のグローバルＩＰアドレス「xx.5.1.1」と、が同一のＩＰアドレスであるか否かを判断する。自己のグローバルＩＰアドレス「xx.5.1.1」については、通信開始要求部４４０が予めルータＲＡに問い合わせを行い、これを保存しておくようにすればよい。上例の場合、通信元のグローバルＩＰアドレス「xx.5.1.1」と通信先のグローバルＩＰアドレス「xx.5.1.1」とは同一なので、通信開始要求部４４０は、プライベートＩＰアドレス「192.168.2.2」を用いて通信元端末装置４００Ｂに対して通信開始要求Ｓ１５を行う。かくして、端末装置４００Ａ−４００Ｂ間において、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０３８６】
図２８は、実施例４についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図２６に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置４００Ｘから接続仲介装置３００に対して自己アドレス通知Ｓ０Ｘが行われ、ＧＩＰとＰＩＰの両方が通知される。同様に、通信先端末装置４００Ｙから接続仲介装置３００に対して自己アドレス通知Ｓ０Ｙが行われ、ＧＩＰとＰＩＰの両方が通知される。この準備段階の処理は、図２６に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置３００内のアドレステーブルには、両端末装置４００Ｘ，４００ＹのＧＩＰとＰＩＰの両方が格納されることになる。なお、図２１の端末装置４００Ｄのように、ルータを介さずにネットワークＮに直接接続されている端末装置については、ＧＩＰのみがアドレステーブルに格納されるが、以下、両端末装置４００Ｘ，４００Ｙについて、ＧＩＰとＰＩＰの両方が格納されている場合を基本とした説明を行う。
【０３８７】
さて、続く通信段階において、端末装置４００Ｘに対して、端末装置４００Ｙを通信先とする通信要求Ｓ１１がなされたものとしよう。これにより、端末装置４００Ｘを通信元とし、端末装置４００Ｙを通信先とする通信を行うための手順が開始される。まず、通信元端末装置４００Ｘから接続仲介装置３００に対して、通信先端末装置４００Ｙの端末ＩＤを含む接続仲介依頼Ｓ１２がなされる。この接続仲介依頼Ｓ１２を受けた接続仲介装置３００は、アドレステーブルを参照する処理Ｓ１３を行い、通信先端末装置４００Ｙの所在アドレスを通信先アドレスとして把握し、通信元端末装置４００Ｘの所在アドレスを通信元アドレスとして把握する。
【０３８８】
アドレステーブルに格納されている通信元端末装置４００Ｘの所在アドレスには、ＧＩＰとＰＩＰが含まれている。そこで、接続仲介装置３００内の通信元アドレス送信部３３０は、ＧＩＰおよびＰＩＰの両方を通信元アドレスとして、これを通信先端末装置４００Ｙに通知する通信元アドレス返信Ｓ１４を行う（もちろん、アドレステーブルにＧＩＰのみしか含まれていない端末装置については、ＧＩＰのみを送信する）。この通信元アドレス返信Ｓ１４には、通信元端末装置４００ＸのＧＩＰとＰＩＰの両方のアドレスが通信元アドレスとして含まれている。このように、実施例４では、接続仲介装置３００は、ＧＩＰ／ＰＩＰの選択を行わない。
【０３８９】
こうして、ＧＩＰおよびＰＩＰの両方を含む通信元アドレスの送信を受けた通信先端末装置４００Ｙ内の通信開始要求部４４０は、通信開始要求Ｓ１５に用いるアドレスとして、ＧＩＰかＰＩＰのいずれか一方を選ぶアドレス選択Ｓ１４′を行う（もちろん、ＧＩＰのみ送信された場合には、選択は不要である）。通信開始要求部４４０が、ＧＩＰ／ＰＩＰの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信開始要求部４４０は、通信元アドレスとして送信されてきたＧＩＰと自己のＧＩＰとが同一のＩＰアドレスであるか否かを判断し、両者が同一のＩＰアドレスである場合には、ＰＩＰを用いて通信開始要求Ｓ１５を行い、両者が異なるＩＰアドレスである場合には、ＧＩＰを用いて通信開始要求Ｓ１５を行う。
【０３９０】
この通信開始要求Ｓ１５を受けた通信元端末装置４００Ｘ内の通信元セッション確立部４３０は、通信先端末装置４００Ｙに対して、通信開始要求Ｓ１５がＧＩＰで行われた場合には同じくＧＩＰを用いて通信開始受諾確認Ｓ１６を行い、通信開始要求Ｓ１５がＰＩＰで行われた場合には同じくＰＩＰを用いて通信開始受諾確認Ｓ１６を行う。かくして、端末装置４００Ｘ−４００Ｙ間における通信Ｓ１７が、通信開始要求Ｓ１５がＧＩＰで行われた場合には同じくＧＩＰを用いて行われ、通信開始要求Ｓ１５がＰＩＰで行われた場合には同じくＰＩＰを用いて行われることになる。
【０３９１】
＜＜＜  §８．  ＰＩＰ失敗時にＧＩＰでトライするアプローチ  ＞＞＞
§６では、通信開始要求に用いるアドレスとして、ＧＩＰ／ＰＩＰのいずれを選択するかの判断を接続仲介装置に委ねるアプローチを採る実施例１，２を説明し、§７では、当該判断を端末装置に委ねるアプローチを採る実施例３，４を説明した。そこで、この§８では、ＧＩＰ／ＰＩＰを選択するための判断を行わないアプローチを採る実施例を説明する。このアプローチを採る場合、接続仲介装置は、ＧＩＰ／ＰＩＰの両方を有する所在アドレスについては、この両方を端末装置に送信するようにする。そして、端末装置側では、ＧＩＰ／ＰＩＰの両方が送信されてきた場合には、通信開始要求を行う際に、まずＰＩＰを試し、失敗したらＧＩＰを試すという手順をとる。以下、このアプローチを、§１に示す先願基本発明の第１の実施形態（図４）に適用した例を実施例５として説明し、§２に示す先願基本発明の第２の実施形態（図８）に適用した例を実施例６として説明する。もちろん、以下に述べる実施例５，６については、§３や§４で述べた各種変形例を適用することも可能である。
【０３９２】
＜８−１．  実施例５＞
ここでは、本発明の実施例５を説明する。この実施例５は、§１で述べた先願基本発明の第１の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置が通信開始要求を行う際に、まずＰＩＰを試し、失敗したらＧＩＰを試すというアプローチを採用するものである。この実施例５に係るネットワーク通信システムの構成は、基本的には、図４に示す先願基本発明の第１の実施形態の構成と同じであるが、§５−２で述べたとおり、いくつかの構成要素に付加機能が追加されている。
【０３９３】
具体的には、各端末装置２００の自己アドレス通知部２５０には、ルータを介してネットワークＮに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置１００に対して通知する付加機能が追加されている。また、接続仲介装置１００内のアドレステーブル格納部１１０には、図２４に示すように、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけたアドレステーブルＴ６１が格納されている。
【０３９４】
また、この実施例５の場合、図４に示す通信先アドレス返信部１３０は、通信元の端末装置２００Ａから接続仲介依頼Ｓ２が送信されてきたときに、返信対象となる所在アドレスとしてグローバルＩＰアドレス（ＧＩＰ）およびプライベートＩＰアドレス（ＰＩＰ）の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信先アドレスとして返信する。もちろん、アドレステーブルにＧＩＰのみしか含まれていない端末装置については、ＧＩＰのみを返信する。
【０３９５】
そして、通信開始要求部２４０Ａは、上記両アドレスの返信があったときに、まず、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５をトライし、この通信開始要求Ｓ５に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルＩＰアドレス（ＧＩＰ）を用いた通信開始要求Ｓ５′を行う。もちろん、ＧＩＰのみしか返信されてこなかった場合は、最初からＧＩＰを用いた通信開始要求Ｓ５を行えばよい。
【０３９６】
プライベートＩＰアドレス（ＰＩＰ）を用いた通信開始要求Ｓ５に失敗したか否かを判断する方法としては、たとえば、通信開始要求部２４０が、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行った後、所定のタイムアウト時間内に通信先の端末装置２００から通信開始受諾確認Ｓ６が送信されてこなかったときに、ＰＩＰを用いた通信開始要求Ｓ５に失敗したと判断する方法を採ることができる。
【０３９７】
あるいは、ＰＩＰを用いた通信開始要求Ｓ５を行っても失敗することが予め予想される場合には、実際にＰＩＰを用いた通信開始要求Ｓ５を行う前に、ＰＩＰを用いた通信開始要求Ｓ５を断念して、ＧＩＰを用いた通信開始要求Ｓ５′を行うようにしてもよい。ＰＩＰを用いた通信開始要求Ｓ５の失敗予想は、通信開始要求Ｓ５を行うために用いるＰＩＰが、自己が接続されているサブネットに割り当てられているプライベートアドレスの範囲内に入っているか否かを調べることにより行うことができる。すなわち、通信開始要求Ｓ５を行うために用いるＰＩＰが、サブネットのアドレス範囲外であれば、実際にＰＩＰを用いた通信開始要求Ｓ５を行う前に失敗を予想することができる。
【０３９８】
たとえば、図２１に示すようなネットワーク環境が構成されていた場合、アドレステーブル格納部１１０には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。この場合、端末装置２００Ａを通信元として、端末装置２００Ｃを通信先とする接続仲介依頼Ｓ２がなされたとすると、通信先アドレス返信部１３０は、通信先端末装置２００Ｃについて、グローバルＩＰアドレス「xx.5.7.1(P3)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.10.1」との両アドレスを通信先アドレスとして返信する。
【０３９９】
このような両アドレスの返信を受けた通信元端末装置２００Ａの通信開始要求部２４０Ａは、まず、プライベートＩＰアドレス「192.168.10.1」を用いて、通信先端末装置２００Ｃに対する通信開始要求Ｓ５をトライする。しかしながら、図２１に示すとおり、通信元端末装置２００Ａは、ルータＲＡによって構築されたサブネットに接続されており、当該サブネットで用いられるプライベートＩＰアドレスは、「192.168.2.0/24」で示される範囲内のものであるので、この範囲外のプライベートＩＰアドレス「192.168.10.1」を用いた通信開始要求Ｓ５は失敗する。当該失敗は、通信開始要求Ｓ５を行った後、所定のタイムアウト時間内に通信先の端末装置２００Ｃから通信開始受諾確認Ｓ６が送信されてこないことにより認識できる。
【０４００】
あるいは、実際に通信開始要求Ｓ５を行う前に、失敗を予測することもできる。すなわち、上例の場合、通信開始要求Ｓ５を行うために用いるＰＩＰ「192.168.10.1」は、通信元端末装置２００Ａが所属するサブネットのプライベートアドレス「192.168.2.0/24」の範囲外であるので、実際にＰＩＰを用いた通信開始要求Ｓ５を行う前に失敗を予想することができる。
【０４０１】
こうして、プライベートＩＰアドレス「192.168.10.1」を用いた通信開始要求Ｓ５に失敗したと判断される場合もしくは失敗が予想される場合には、通信開始要求部２４０Ａは、グローバルＩＰアドレス「xx.5.7.1(P3)」（ポート番号付きのアドレス）を用いて、通信先端末装置２００Ｃに対する通信開始要求Ｓ５′を行う。当該通信開始要求Ｓ５′は、ルータＲＡ、ネットワークＮ、ルータＲＢを通って通信先端末装置２００Ｃに届くことになる。かくして、端末装置２００Ａ−２００Ｃ間において、ネットワークＮを介した通信が行われる。
【０４０２】
なお、図２１に示す例の場合、ルータＲＡが構築するサブネットのアドレス範囲「192.168.2.0/24」とルータＲＢが構築するサブネットのアドレス範囲「192.168.10.0/24」とが異なるため、上述したとおり、通信元端末装置２００Ａから通信先端末装置２００Ｃに向けて、ＰＩＰ「192.168.10.1」を用いた通信開始要求Ｓ５を行っても失敗することが事前に予想できる。しかしながら、場合によっては、ルータＲＡとルータＲＢが構築するサブネットのアドレス範囲が同一のケースもあり得る。たとえば、図２１に示す例において、ルータＲＢが構築するサブネットのアドレス範囲が「192.168.2.0/24」になっており、通信先端末装置２００Ｃに付与されたＰＩＰが「192.168.2.8」であったとすると、当該ＰＩＰを用いた通信開始要求Ｓ５の失敗は事前に予想できない。
【０４０３】
すなわち、上例の場合、通信先端末装置２００ＣのＰＩＰ「192.168.2.8」は、通信元端末装置２００Ａが所属するサブネットのアドレス範囲「192.168.2.0/24」内のものであるから、ＰＩＰ「192.168.2.8」に宛てた通信開始要求Ｓ５は、同一サブネット宛の有効な通信とみなされ、事前に失敗予想を行うことはできない。ここで、ルータＲＡによって構築されたサブネット内に、ＰＩＰ「192.168.2.8」が付与された端末装置が存在しなければ、上記通信開始要求Ｓ５は失敗することになり、通信元端末装置２００Ａによって事後に失敗が認識される。
【０４０４】
一方、上例の場合において、ルータＲＡによって構築されたサブネット内に、たまたまＰＩＰ「192.168.2.8」が付与された端末装置（正規の相手方である通信先端末装置２００Ｃとは全く別の端末装置）が存在すると、上記通信開始要求Ｓ５は当該別の端末装置に届くことになる。しかしながら、上記通信開始要求Ｓ５に、正規の相手方の端末ＩＤとして通信先端末装置２００Ｃの端末ＩＤ「００３０」を含ませておき、通信先セッション確立部２３０に、通信開始要求Ｓ５を受信した場合にこの端末ＩＤを確認して、自分が正規の相手方であるか否かを判断する機能を設けておけば、上記別の端末装置は、自分が正規の相手方ではない旨を認識できるので、通信開始受諾確認Ｓ６の返信を行わない措置をとることができる。したがって、このような場合も、やはり上記通信開始要求Ｓ５は失敗することになり、通信元端末装置２００Ａによって事後に失敗が認識される。
【０４０５】
次に、端末装置２００Ａを通信元として、端末装置２００Ｂを通信先とする接続仲介依頼Ｓ２がなされた場合を考える。この場合、通信先アドレス返信部１３０は、通信先端末装置２００ＢのグローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.2.2」との両アドレスを、通信元端末装置２００Ａに通信先アドレスとして返信する。
【０４０６】
このような両アドレスの返信を受けた通信元端末装置２００Ａの通信開始要求部２４０Ａは、まず、プライベートＩＰアドレス「192.168.2.2」を用いて、通信先端末装置２００Ｂに対する通信開始要求Ｓ５をトライする。図２１に示すとおり、通信元端末装置２００Ａと通信先端末装置２００Ｂとは、ルータＲＡによって構築された同一のサブネットに所属しているため、プライベートＩＰアドレス「192.168.2.2」を用いた通信開始要求Ｓ５は、このサブネットを通って通信先端末装置２００Ｂに無事に届く。かくして、端末装置２００Ａ−２００Ｂ間において、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０４０７】
図２９は、実施例５についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図２５に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置２００Ｘから接続仲介装置１００に対して自己アドレス通知Ｓ０Ｘが行われ、ＧＩＰとＰＩＰの両方が通知される。同様に、通信先端末装置２００Ｙから接続仲介装置１００に対して自己アドレス通知Ｓ０Ｙが行われ、ＧＩＰとＰＩＰの両方が通知される。この準備段階の処理は、図２５に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置１００内のアドレステーブルには、両端末装置２００Ｘ，２００ＹのＧＩＰとＰＩＰの両方が格納されることになる。なお、図２１の端末装置２００Ｄのように、ルータを介さずにネットワークＮに直接接続されている端末装置については、ＧＩＰのみがアドレステーブルに格納されるが、以下、図２９のダイアグラムでは、両端末装置２００Ｘ，２００Ｙについて、ＧＩＰとＰＩＰの両方が格納されている場合を基本とした説明を行う。
【０４０８】
ここでは、続く通信段階において、端末装置２００Ｘに対して、端末装置２００Ｙを通信先とする通信要求Ｓ１がなされたものとしよう。これにより、端末装置２００Ｘを通信元とし、端末装置２００Ｙを通信先とする通信を行うための手順が開始される。まず、通信元端末装置２００Ｘから接続仲介装置１００に対して、通信先端末装置２００Ｙの端末ＩＤを含む接続仲介依頼Ｓ２がなされる。この接続仲介依頼Ｓ２を受けた接続仲介装置１００は、アドレステーブルを参照する処理Ｓ３を行い、通信先端末装置２００Ｙの所在アドレスを通信先アドレスとして把握する。
【０４０９】
ただ、アドレステーブルに格納されている通信先端末装置２００Ｙの所在アドレスには、ＧＩＰとＰＩＰが含まれている。そこで、接続仲介装置１００内の通信先アドレス返信部１３０は、ＧＩＰおよびＰＩＰの両方を通信先アドレスとして通信元端末装置２００Ｘに通知する通信先アドレス返信Ｓ４を行う（もちろん、アドレステーブルにＧＩＰのみしか含まれていない端末装置については、ＧＩＰのみを返信する）。このように、実施例５では、接続仲介装置１００は、ＧＩＰ／ＰＩＰの選択を行わない。
【０４１０】
こうして、ＧＩＰおよびＰＩＰの両方を含む通信先アドレスの返信を受けた通信元端末装置２００Ｘ内の通信開始要求部２４０は、まず、ＰＩＰを用いた通信開始要求Ｓ５にトライする。図には、実際にＰＩＰを用いた通信開始要求Ｓ５が行われた例が示されている。
【０４１１】
この通信開始要求Ｓ５を受けた通信先端末装置２００Ｙ内の通信先セッション確立部２３０は、通信元端末装置２００Ｘに対して、同じくＰＩＰを用いて通信開始受諾確認Ｓ６を行う。このようにして、通信開始要求Ｓ５に成功すると、通信開始受諾確認Ｓ６が返信されることになる。この場合、ダイアグラムの「成功？」の分岐ブロックから「ＹＥＳ」の分岐に従って一番下へとジャンプし、端末装置２００Ｘ−２００Ｙ間における通信Ｓ７が、ＰＩＰを用いて行われることになり、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０４１２】
一方、ＰＩＰを用いた通信開始要求Ｓ５にトライした結果、この通信開始要求Ｓ５に失敗したと判断される場合には、ダイアグラムの通信開始要求Ｓ５および通信開始受諾確認Ｓ６が正常に行われないことになる。この場合、ダイアグラムの「成功？」の分岐ブロックから「ＮＯ」の分岐に従って、ＧＩＰを用いた通信開始要求Ｓ５′が行われる。この通信開始要求Ｓ５′を受けた通信先端末装置２００Ｙ内の通信先セッション確立部２３０は、通信元端末装置２００Ｘに対して、同じくＧＩＰを用いて通信開始受諾確認Ｓ６′を行う。これにより、ダイアグラムの一番下に示すとおり、端末装置２００Ｘ−２００Ｙ間における通信Ｓ７が、ＧＩＰを用いて行われることになり、ネットワークＮを介した通信が行われる。
【０４１３】
以上、図２９のダイアグラムでは、接続仲介装置１００からＧＩＰとＰＩＰの両アドレスの返信を受けた場合の手順を示したが、接続仲介装置１００からＧＩＰのみの返信を受けた場合には、当然ながら、ＰＩＰを用いた通信開始要求Ｓ５をトライする代わりに、最初からＧＩＰを用いた通信開始要求Ｓ５′を行うことになる。
【０４１４】
＜８−２．  実施例６＞
続いて、本発明の実施例６を説明する。この実施例６は、§２で述べた先願基本発明の第２の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置が通信開始要求を行う際に、まずＰＩＰを試し、失敗したらＧＩＰを試すというアプローチを採用するものである。この実施例６に係るネットワーク通信システムの構成は、基本的には、図８に示す先願基本発明の第２の実施形態の構成と同じであるが、§５−３で述べたとおり、いくつかの構成要素に付加機能が追加されている。
【０４１５】
具体的には、各端末装置４００の自己アドレス通知部４５０には、ルータを介してネットワークＮに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）とともに、ルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を接続仲介装置３００に対して通知する付加機能が追加されている。また、接続仲介装置３００内のアドレステーブル格納部３１０には、図２４に示すように、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）を端末ＩＤに対応づけたアドレステーブルＴ６１が格納されている。
【０４１６】
また、この実施例６の場合、図８に示す通信元アドレス送信部３３０は、通信元の端末装置４００Ｂから接続仲介依頼Ｓ１２が送信されてきたときに、アドレステーブル格納部３１０に格納されているアドレステーブルを参照して、送信対象となる所在アドレスとしてグローバルＩＰアドレス（ＧＩＰ）およびプライベートＩＰアドレス（ＰＩＰ）の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信元アドレスとして送信する。
【０４１７】
そして、通信開始要求部４４０Ａは、上記両アドレスの送信があったときに、まず、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５をトライし、この通信開始要求Ｓ１５に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルＩＰアドレス（ＧＩＰ）を用いた通信開始要求Ｓ１５′を行う。もちろん、ＧＩＰのみしか送信されてこなかった場合は、最初からＧＩＰを用いた通信開始要求Ｓ１５を行えばよい。
【０４１８】
プライベートＩＰアドレス（ＰＩＰ）を用いた通信開始要求Ｓ１５に失敗したか否かを判断する方法としては、たとえば、通信開始要求部４４０が、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行った後、所定のタイムアウト時間内に通信元の端末装置４００から通信開始受諾確認Ｓ１６が送信されてこなかったときに、ＰＩＰを用いた通信開始要求Ｓ１５に失敗したと判断する方法を採ることができる。
【０４１９】
あるいは、ＰＩＰを用いた通信開始要求Ｓ１５を行っても失敗することが予め予想される場合には、実際にＰＩＰを用いた通信開始要求Ｓ１５を行う前に、ＰＩＰを用いた通信開始要求Ｓ１５を断念して、ＧＩＰを用いた通信開始要求Ｓ１５′を行うようにしてもよい。ＰＩＰを用いた通信開始要求Ｓ１５の失敗予想は、通信開始要求Ｓ１５を行うために用いるＰＩＰが、自己が接続されているサブネットに割り当てられているプライベートアドレスの範囲内に入っているか否かを調べることにより行うことができる。すなわち、通信開始要求Ｓ１５を行うために用いるＰＩＰが、サブネットのアドレス範囲外であれば、実際にＰＩＰを用いた通信開始要求Ｓ１５を行う前に失敗を予想することができる。
【０４２０】
たとえば、図２１に示す第１の実施形態に係る各端末装置２００Ａ〜２００Ｄを、それぞれ第２の実施形態に係る端末装置４００Ａ〜４００Ｄに置き換え、第１の実施形態に係る接続仲介装置１００を、第２の実施形態に係る接続仲介装置３００に置き換えた例を考えた場合（置き換えた符号を図２１では括弧書きで示してある）、接続仲介装置３００内には、図２４(b) に示すようなアドレステーブルＴ６２が格納されることになる。
【０４２１】
この場合、端末装置４００Ｂを通信元として、端末装置４００Ｃを通信先とする接続仲介依頼Ｓ１２がなされたとすると、通信元アドレス送信部３３０は、通信元端末装置４００ＢのグローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置４００Ｃに送信する。
【０４２２】
このような両アドレスの送信を受けた通信先端末装置４００Ｃの通信開始要求部４４０は、まず、プライベートＩＰアドレス「192.168.2.2」を用いて、通信元端末装置４００Ｂに対する通信開始要求Ｓ１５をトライする。しかしながら、図２１に示すとおり、通信先端末装置４００Ｃは、ルータＲＢによって構築されたサブネットに接続されており、当該サブネットで用いられるプライベートＩＰアドレスは、「192.168.10.0/24」で示される範囲内のものであるので、この範囲外のプライベートＩＰアドレス「192.168.2.2」を用いた通信開始要求Ｓ１５は失敗する。当該失敗は、通信開始要求Ｓ１５を行った後、所定のタイムアウト時間内に通信元の端末装置４００Ｂから通信開始受諾確認Ｓ１６が送信されてこないことにより認識できる。
【０４２３】
あるいは、実際に通信開始要求Ｓ１５を行う前に、失敗を予測することもできる。すなわち、上例の場合、通信開始要求Ｓ１５を行うために用いるＰＩＰ「192.168.2.2」は、通信先端末装置４００Ｃが所属するサブネットのプライベートアドレス「192.168.10.0/24」の範囲外であるので、実際にＰＩＰを用いた通信開始要求Ｓ１５を行う前に失敗を予想することができる。
【０４２４】
こうして、プライベートＩＰアドレス「192.168.2.2」を用いた通信開始要求Ｓ１５に失敗したと判断される場合もしくは失敗が予想される場合には、通信先端末装置４００Ｃの通信開始要求部４４０は、グローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）を用いて、通信元端末装置４００Ｂに対する通信開始要求Ｓ１５′を行う。当該通信開始要求Ｓ１５′は、ルータＲＢ、ネットワークＮ、ルータＲＡを通って通信元端末装置２００Ｂに届くことになる。かくして、端末装置４００Ｂ−４００Ｃ間において、ネットワークＮを介した通信が行われる。
【０４２５】
なお、図２１に示す例の場合、ルータＲＡが構築するサブネットのアドレス範囲「192.168.2.0/24」とルータＲＢが構築するサブネットのアドレス範囲「192.168.10.0/24」とが異なるため、上述したとおり、通信先端末装置４００Ｃから通信元端末装置４００Ｂに向けて、ＰＩＰ「192.168.2.2」を用いた通信開始要求Ｓ１５を行っても失敗することが事前に予想できる。しかしながら、場合によっては、ルータＲＡとルータＲＢが構築するサブネットのアドレス範囲が同一のケースもあり得る。たとえば、図２１に示す例において、ルータＲＢが構築するサブネットのアドレス範囲が「192.168.2.0/24」になっており、通信先端末装置２００Ｃに付与されたＰＩＰが「192.168.2.8」であったとすると、当該ＰＩＰを用いた通信開始要求Ｓ１５の失敗は事前に予想できない。
【０４２６】
すなわち、上例の場合、通信元端末装置４００ＢのＰＩＰ「192.168.2.2」は、通信先端末装置４００Ｃが所属するサブネットのアドレス範囲「192.168.2.0/24」内のものであるから、ＰＩＰ「192.168.2.2」に宛てた通信開始要求Ｓ１５は、同一サブネット宛の有効な通信とみなされ、事前に失敗予想を行うことはできない。ここで、ルータＲＢによって構築されたサブネット内に、ＰＩＰ「192.168.2.2」が付与された端末装置が存在しなければ、上記通信開始要求Ｓ１５は失敗することになり、通信先端末装置４００Ｃによって事後に失敗が認識される。
【０４２７】
一方、上例の場合において、ルータＲＢによって構築されたサブネット内に、たまたまＰＩＰ「192.168.2.2」が付与された端末装置（正規の相手方である通信先端末装置４００Ｂとは全く別の端末装置）が存在すると、上記通信開始要求Ｓ１５は当該別の端末装置に届くことになる。しかしながら、上記通信開始要求Ｓ１５に、正規の相手方の端末ＩＤとして通信元端末装置４００Ｂの端末ＩＤ「００２０」を含ませておき、通信元セッション確立部４３０に、通信開始要求Ｓ１５を受信した場合にこの端末ＩＤを確認して、自分が正規の相手方であるか否かを判断する機能を設けておけば、上記別の端末装置は、自分が正規の相手方ではない旨を認識できるので、通信開始受諾確認Ｓ１６の返信を行わない措置をとることができる。したがって、このような場合も、やはり上記通信開始要求Ｓ１５は失敗することになり、通信先端末装置４００Ｃによって事後に失敗が認識される。
【０４２８】
次に、端末装置４００Ｂを通信元として、端末装置４００Ａを通信先とする接続仲介依頼Ｓ１２がなされた場合を考える。この場合、通信元アドレス送信部３３０は、通信元端末装置４００ＢのグローバルＩＰアドレス「xx.5.1.1(P2)」（ポート番号付きのアドレス）とプライベートＩＰアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置４００Ａに送信する。
【０４２９】
このような両アドレスの送信を受けた通信先端末装置４００Ａの通信開始要求部４４０は、まず、プライベートＩＰアドレス「192.168.2.2」を用いて、通信元端末装置４００Ｂに対する通信開始要求Ｓ１５をトライする。図２１に示すとおり、通信元端末装置４００Ｂと通信先端末装置４００Ａとは、ルータＲＡによって構築された同一のサブネットに所属しているため、プライベートＩＰアドレス「192.168.2.2」を用いた通信開始要求Ｓ１５は、このサブネットを通って通信元端末装置４００Ｂに無事に届く。かくして、端末装置４００Ａ−４００Ｂ間において、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０４３０】
図３０は、実施例６についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図２６に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置４００Ｘから接続仲介装置３００に対して自己アドレス通知Ｓ０Ｘが行われ、ＧＩＰとＰＩＰの両方が通知される。同様に、通信先端末装置４００Ｙから接続仲介装置３００に対して自己アドレス通知Ｓ０Ｙが行われ、ＧＩＰとＰＩＰの両方が通知される。この準備段階の処理は、図２６に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置３００内のアドレステーブルには、両端末装置４００Ｘ，４００ＹのＧＩＰとＰＩＰの両方が格納されることになる。なお、図２１の端末装置４００Ｄのように、ルータを介さずにネットワークＮに直接接続されている端末装置については、ＧＩＰのみがアドレステーブルに格納されるが、以下、図３０のダイアグラムでは、両端末装置４００Ｘ，４００Ｙについて、ＧＩＰとＰＩＰの両方が格納されている場合を基本とした説明を行う。
【０４３１】
ここでは、続く通信段階において、端末装置４００Ｘに対して、端末装置４００Ｙを通信先とする通信要求Ｓ１１がなされたものとしよう。これにより、端末装置４００Ｘを通信元とし、端末装置４００Ｙを通信先とする通信を行うための手順が開始される。まず、通信元端末装置４００Ｘから接続仲介装置３００に対して、通信先端末装置４００Ｙの端末ＩＤを含む接続仲介依頼Ｓ１２がなされる。この接続仲介依頼Ｓ１２を受けた接続仲介装置３００は、アドレステーブルを参照する処理Ｓ１３を行い、通信先端末装置４００Ｙの所在アドレスを通信先アドレスとして把握し、通信元端末装置４００Ｘの所在アドレスを通信元アドレスとして把握する。
【０４３２】
アドレステーブルに格納されている通信元端末装置４００Ｘの所在アドレスには、ＧＩＰとＰＩＰが含まれている。そこで、接続仲介装置３００内の通信元アドレス送信部３３０は、ＧＩＰおよびＰＩＰの両方を通信元アドレスとして、これを通信先端末装置４００Ｙに通知する通信元アドレス返信Ｓ１４を行う（もちろん、アドレステーブルにＧＩＰのみしか含まれていない端末装置については、ＧＩＰのみを送信する）。この通信元アドレス送信Ｓ１４には、通信元端末装置４００ＸのＧＩＰとＰＩＰの両方のアドレスが通信元アドレスとして含まれている。このように、実施例６では、接続仲介装置３００は、ＧＩＰ／ＰＩＰの選択を行わない。
【０４３３】
こうして、ＧＩＰおよびＰＩＰの両方を含む通信先アドレスの返信を受けた通信先端末装置４００Ｙ内の通信開始要求部４４０は、まず、ＰＩＰを用いた通信開始要求Ｓ１５にトライする。図には、実際にＰＩＰを用いた通信開始要求Ｓ１５が行われた例が示されている。
【０４３４】
この通信開始要求Ｓ１５を受けた通信元端末装置４００Ｘ内の通信元セッション確立部４３０は、通信先端末装置４００Ｙに対して、同じくＰＩＰを用いて通信開始受諾確認Ｓ１６を行う。このようにして、通信開始要求Ｓ１５に成功すると、通信開始受諾確認Ｓ１６が返信されることになる。この場合、ダイアグラムの「成功？」の分岐ブロックから「ＹＥＳ」の分岐に従って一番下へとジャンプし、端末装置４００Ｘ−４００Ｙ間における通信Ｓ１７が、ＰＩＰを用いて行われることになり、ネットワークＮを介さずに、同一サブネット内での通信が行われる。
【０４３５】
一方、ＰＩＰを用いた通信開始要求Ｓ１５にトライした結果、この通信開始要求Ｓ１５に失敗したと判断される場合には、ダイアグラムの通信開始要求Ｓ１５および通信開始受諾確認Ｓ１６が正常に行われないことになる。この場合、ダイアグラムの「成功？」の分岐ブロックから「ＮＯ」の分岐に従って、ＧＩＰを用いた通信開始要求Ｓ１５′が行われる。この通信開始要求Ｓ１５′を受けた通信元端末装置２００Ｘ内の通信先セッション確立部４６０は、通信先端末装置４００Ｙに対して、同じくＧＩＰを用いて通信開始受諾確認Ｓ１６′を行う。これにより、ダイアグラムの一番下に示すとおり、端末装置４００Ｘ−４００Ｙ間における通信Ｓ１７が、ＧＩＰを用いて行われることになり、ネットワークＮを介した通信が行われる。
【０４３６】
以上、図３０のダイアグラムでは、接続仲介装置３００からＧＩＰとＰＩＰの両アドレスの送信を受けた場合の手順を示したが、接続仲介装置３００からＧＩＰのみの送信を受けた場合には、当然ながら、ＰＩＰを用いた通信開始要求Ｓ１５をトライする代わりに、最初からＧＩＰを用いた通信開始要求Ｓ１５′を行うことになる。
【０４３７】
＜８−３．  多層ルータへの対処＞
§８−１で述べた実施例５や、§８−２で述べた実施例６は、ＰＩＰ失敗時にＧＩＰでトライするアプローチを採用するものであるが、ここでは、このようなアプローチの利点として、多層ルータへの対処が可能になる点を説明しておく。
【０４３８】
図２１には、ルータＲＡを介してネットワークＮに接続された端末装置２００Ａ，２００Ｂ、ルータＲＢを介してネットワークＮに接続された端末装置２００Ｃ、ルータを介さずに直接ネットワークＮに接続された端末装置２００Ｄ、という４台の端末装置を有するネットワーク通信システムの例を示した。この例の場合、２台のルータＲＡ，ＲＢは、並列的に設けられており、それぞれ独立した別個のサブネットを構築している。これに対して、複数のルータが多層構造をもって設置される場合もある。
【０４３９】
図３１は、多層構造をもって設置されたルータを介してネットワークＮに接続されている端末装置を含むネットワーク通信システムの全体構成を示すブロック図である。この図３１には、２台のルータＲＡ，ＲＣと、４台の端末装置２００Ａ，２００Ｂ，２００Ｄ，２００Ｅとが、ネットワークＮに接続された状態が示されている。ただ、２台のルータＲＡ，ＲＣは、並列的ではなく、階層構造をもって設定されている。すなわち、ルータＲＣは、ルータＲＡによって構築されたサブネットの下位階層に設置されている。
【０４４０】
要するに、この図３１に示すシステムは、図２１に示すシステムにおいて、ルータＲＢおよび端末装置２００Ｃの部分の枝を、そっくり切り取ってルータＲＡの配下に移動させ、それぞれルータＲＣおよび端末装置２００Ｅと命名したものに相当する。したがって、図３１におけるルータＲＡ，端末装置２００Ａ，２００Ｂ，２００Ｄは、いずれも図２１に示す同符号の構成要素と全く同じものである。
【０４４１】
一方、図３１に示すルータＲＣは、ルータＲＡによって構築されたサブネットに接続されており、このルータＲＡのサブネット上において「192.168.2.3」なるプライベートＩＰアドレス（ＰＩＰ）が付与されている。また、ルータＲＣは、「192.168.10.0/24」で示されるプライベートＩＰアドレスが付与された別なサブネットを構築しており、端末ＩＤ「００５０」が与えられた端末装置２００Ｅは、このルータＲＣのサブネットに接続されている。図示のとおり、このルータＲＣのサブネット内において、端末装置２００Ｅに対しては、ＰＩＰ５＝「192.168.10.1」なるプライベートＩＰアドレスが付与されている。ただ、この端末装置２００Ｅは、ネットワークＮに対しては、最終的にルータＲＡを介して接続されているため、所在アドレスＡＤ５として「xx.5.1.1(P5)」なるポート番号付きのグローバルＩＰアドレスも付与されることになる。
【０４４２】
この図３１に示す例のように、多層構造をもって設置されたルータを含むシステムに本発明を適用する場合、§８−１で述べた実施例５や、§８−２で述べた実施例６を採用するのが好ましい。これは、多層構造をもって設置されたルータを含む複雑なシステムの場合、ＰＩＰ失敗時にＧＩＰでトライするアプローチが効果的になるためである。以下にその理由を説明する。
【０４４３】
この図３１に示すシステムの場合も、各端末装置２００Ａ，２００Ｂ，２００Ｄ，２００Ｅから接続仲介装置１００に対して、自己アドレス通知がなされる。ルータＲＡやＲＣを介してネットワークＮに接続されている端末装置２００Ａ，２００Ｂ，２００Ｅについては、グローバルＩＰアドレス（ＧＩＰ）とともにプライベートＩＰアドレス（ＰＩＰ）も通知される。
【０４４４】
図３２は、図３１に示すネットワーク通信システムにおいて、各端末装置のグローバルＩＰアドレス（ＧＩＰ）とプライベートＩＰアドレス（ＰＩＰ）の双方をアドレステーブルに格納した例を示す図である。図３２(a) に示すアドレステーブルＴ７１は、各アドレスを符号で表したものであり、端末ＩＤ「００１０」，「００２０」，「００５０」，「００４０」（図３１に示す各端末装置のＩＤ）に対応させて、グローバルＩＰアドレスＧＩＰ１，ＧＩＰ２，ＧＩＰ５，ＧＩＰ４と、ポート番号Ｐ１，Ｐ２，Ｐ５と、プライベートＩＰアドレスＰＩＰ１，ＰＩＰ２，ＰＩＰ５と、がそれぞれ格納されている。なお、端末ＩＤ「００４０」をもつ端末装置２００Ｄは、ルータを介さずにネットワークＮに直接接続されているため、ポート番号およびＰＩＰの情報はない。
【０４４５】
図３２(b) に示すアドレステーブルＴ７２は、図３２(a) に示すアドレステーブルＴ７１における各アドレスを具体的な数値例で表したものであり、端末ＩＤ「００１０」，「００２０」，「００５０」，「００４０」に対応させて、グローバルＩＰアドレス「xx.5.1.1」，「xx.5.1.1」，「xx.5.1.1」，「xx.5.8.100」と、ポート番号「54701」，「54702」，「54703」と、プライベートＩＰアドレス「192.168.2.1」，「192.168.2.2」，「192.168.10.1」と、がそれぞれ格納されている。ここで、端末装置２００Ｅ（端末ＩＤ「００５０」）の欄をみると、ＰＩＰとしては「192.168.10.1」というルータＲＣのサブネットアドレスが格納されているものの、ＧＩＰとしては「xx.5.1.1」というルータＲＡのグローバルＩＰアドレスが格納されていることがわかる。すなわち、３台の端末装置２００Ａ，２００Ｂ，２００Ｅは、ＧＩＰに関しては同一のＩＰアドレスを有している。
【０４４６】
いま、図３１において、前述した実施例１，３，５を前提として、端末装置２００Ａを通信元、端末装置２００Ｅを通信先とする通信を開始する場合を考えてみよう。この場合、通信元端末装置２００Ａから通信先端末装置２００Ｅに対して、通信開始要求Ｓ５を行うことになるが、この通信開始要求Ｓ５を通信先端末装置２００ＥのＰＩＰを用いて行った場合、これまでの説明とは異なる事態が発生するため、実施例によっては通信に障害が生じることがある。
【０４４７】
たとえば、実施例１の場合、接続仲介装置１００がＧＩＰ／ＰＩＰの選択を行うアプローチが採用されるが、図３２(b) に示すアドレステーブルＴ７２を参照すると、通信元端末装置２００Ａ（端末ＩＤ「００１０」）のＧＩＰと通信先端末装置２００Ｅ（端末ＩＤ「００５０」）のＧＩＰは、いずれも「xx.5.1.1」であり、両者は同一である。したがって、接続仲介装置１００は、通信元端末装置２００Ａに対して、通信先端末装置２００ＥのＰＩＰ５「192.168.10.1」を選択通信先アドレスとして返信する。これは、接続仲介装置１００が、「通信元と通信先とが同一のサブネットに所属する端末装置であるから、ＰＩＰによる相互通信を行うのが好ましい」と判断したためである。
【０４４８】
しかしながら、実際には、図３１に示すとおり、通信元はルータＲＡのサブネットに所属するのに対して、通信先はルータＲＣのサブネットに所属しており、両者は同一のサブネットに所属する端末装置ではない。このため、通信元端末装置２００Ａが、通信先端末装置２００Ｅに対して、ＰＩＰ５「192.168.10.1」を用いて通信開始要求Ｓ５を行うと失敗することになる。前述した実施例１は、このような失敗を想定していないため、図３１に示すシステムに実施例１を適用した場合は通信障害が生じる。説明は省略するが、このような通信障害は、図３１に示すシステムに実施例２を適用した場合にも生じる（端末装置２００Ｅを通信元、端末装置２００Ａを通信先とする通信に障害が生じる）。
【０４４９】
一方、実施例３の場合、端末装置２００がＧＩＰ／ＰＩＰの選択を行うアプローチが採用され、通信元端末装置２００Ａには、通信先端末装置２００ＥのＧＩＰとＰＩＰの両方が返信される。上例の場合、通信元端末装置２００Ａには、通信先アドレスとして、通信先端末装置２００ＥのＧＩＰ５「xx.5.1.1(P5)」とＰＩＰ５「192.168.10.1」の両方が返信されてくる。そこで、通信元端末装置２００Ａは、返信されてきたＧＩＰ５「xx.5.1.1(P5)」と自己のＧＩＰ「xx.5.1.1(P1)」とが同一のＩＰアドレスであるため、通信先端末装置２００Ｅに対して、ＰＩＰ５「192.168.10.1」を用いて通信開始要求Ｓ５を行うことになり、当該通信開始要求Ｓ５は失敗することになる。前述した実施例３は、このような失敗を想定していないため、図３１に示すシステムに実施例３を適用した場合は通信障害が生じる。説明は省略するが、このような通信障害は、図３１に示すシステムに実施例４を適用した場合にも生じる（端末装置２００Ｅを通信元、端末装置２００Ａを通信先とする通信に障害が生じる）。
【０４５０】
これに対して、実施例５の場合、もともと、ＰＩＰ失敗時にＧＩＰでトライするアプローチを採用するものであるから、図３１に示すシステムに適用した場合にも通信に障害が生じることはない。すなわち、上例の場合、通信元端末装置２００Ａには、通信先アドレスとして、通信先端末装置２００ＥのＧＩＰ５「xx.5.1.1(P5)」とＰＩＰ５「192.168.10.1」の両方が返信されてくる。通信元端末装置２００Ａは、まず、通信先端末装置２００Ｅに対して、ＰＩＰ５「192.168.10.1」を用いて通信開始要求Ｓ５を行うが、上述したとおり、当該通信開始要求Ｓ５は失敗する。そこで、今度は、通信先端末装置２００Ｅに対して、ＧＩＰ５「xx.5.1.1(P5)」を用いて通信開始要求Ｓ５′を行う。通常（ルータＲＡに出戻りを拒絶する設定がなされていない場合）、ＧＩＰ５を用いた通信開始要求Ｓ５′は成功することになり、通信障害を防ぐことができる。説明は省略するが、図３１に示すシステムに実施例６を適用した場合も、同様の理由で通信障害を防ぐことができる（端末装置２００Ｅを通信元、端末装置２００Ａを通信先とする通信に障害は生じない）。
【０４５１】
このように、§８−１で述べた実施例５や、§８−２で述べた実施例６は、ＰＩＰ失敗時にＧＩＰでトライするアプローチを採用しているため、図３１に示すような多層ルータを含むシステムについても対処が可能になる。
【０４５２】
＜８−４．  実施例３，４への失敗時のアプローチ追加＞
上述した§８−３では、図３１に示すような多層ルータを含むシステムについて、実施例３，４（端末装置がＧＩＰ／ＰＩＰの選択を行う行うアプローチを採るもの）を適用した場合、通信障害が生じるケースがあることを述べた。このような通信障害は、実施例３，４に、「ＰＩＰ失敗時にＧＩＰでトライするアプローチ」を追加することにより回避することができる。
【０４５３】
すなわち、実施例３では、通信元端末装置にＧＩＰ／ＰＩＰの両アドレスが返信され、当該通信元端末装置の判断において、いずれか一方を選択して、通信先端末装置に対する通信開始要求Ｓ５を行うことになる。ここで、通信元端末装置がＰＩＰを選択して、ＰＩＰを用いた通信開始要求Ｓ５に失敗したと判断される場合もしくは失敗が予想される場合には、ＧＩＰ用いた通信開始要求Ｓ５′を行うようにすればよい。
【０４５４】
同様に、実施例４では、通信先端末装置にＧＩＰ／ＰＩＰの両アドレスが送信され、当該通信先端末装置の判断において、いずれか一方を選択して、通信元端末装置に対する通信開始要求Ｓ１５を行うことになる。ここで、通信先端末装置がＰＩＰを選択して、ＰＩＰを用いた通信開始要求Ｓ１５に失敗したと判断される場合もしくは失敗が予想される場合には、ＧＩＰ用いた通信開始要求Ｓ１５′を行うようにすればよい。
【０４５５】
このように、実施例３，４に対して、「ＰＩＰを用いた通信開始要求に失敗したときにはＧＩＰ用いた通信開始要求を行う」という失敗時のアプローチを追加することにより、§８−３で述べた通信障害の問題を解決することができる。
【０４５６】
＜＜＜  §９．  プライベートＩＰアドレスの照会を行う変形例  ＞＞＞
最後に、プライベートＩＰアドレスをアドレステーブルに格納する代わりに、接続仲介装置から照会を行う変形例を述べる。これまで§６〜§８において述べてきた実施例１〜６では、準備段階として各端末装置から接続仲介装置に対して自発的に自己アドレスを通知する際に、ＰＩＰが付与されている端末装置についてはＧＩＰとともにＰＩＰを通知し、アドレステーブルに格納しておくことが前提であった。このような前提では、図２４や図３２に示す例のように、ＰＩＰが付与されている端末装置については、準備段階においてアドレステーブルにＧＩＰとＰＩＰの両方が格納されることになり、接続仲介装置は、通信段階で必要なときに、このアドレステーブルを参照することにより、各端末装置のＧＩＰとＰＩＰの両方を認識することができる。
【０４５７】
ここで述べる変形例は、実施例１〜６において、準備段階として各端末装置から接続仲介装置に対して自発的に自己アドレスを通知する際には、ＧＩＰのみを通知し、アドレステーブルにＧＩＰのみを格納しておくようにする。そして、接続仲介装置は、通信段階で必要なときに、各端末装置に対してＰＩＰを照会し、その回答を得ることにより必要なＰＩＰを認識する、という方法を採用する。
【０４５８】
要するに、これまで述べてきた実施例１〜６と、ここで述べるその変形例との相違点は、前者では、準備段階で自発的に通知されたＧＩＰ／ＰＩＰをアドレステーブルに記録しておき、接続仲介装置が、通信段階でこのアドレステーブルを参照することによりＧＩＰとＰＩＰの双方を認識して利用できるようにしているのに対して、後者では、準備段階で自発的に通知するのはＧＩＰのみとし、アドレステーブルにはＧＩＰのみを記録しておき、接続仲介装置が、通信段階でＰＩＰが必要になった場合には、その都度、端末装置に対する照会を行ってＰＩＰを認識して利用する、という点である。
【０４５９】
具体的には、実施例１，３，５（先願基本発明の第１の実施形態を基礎とした実施例）については、次の２点を変更することにより、ここで述べる変形例を適用することができる。
【０４６０】
第１の変更点は、端末装置２００の自己アドレス通知部２５０に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）を接続仲介装置１００に対して自発的に通知する自発通知機能と、接続仲介装置１００から照会を受けたときに、ネットワークＮへの接続に用いられているルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を回答する回答通知機能と、をもたせるようにする点である。上記自発通知機能は、§１で述べた先願基本発明の第１の実施形態の自己アドレス通知部２５０に備わっている機能であるから、ここで述べる変形例を実施する際には、この先願基本発明の第１の実施形態の自己アドレス通知部２５０に、上記回答通知機能を追加すればよい。アドレステーブル格納部１１０には、所在アドレスとして、自発通知機能によって通知された各端末装置のグローバルＩＰアドレス（ＧＩＰ）およびポート番号を端末ＩＤに対応づけて格納しておけばよい。
【０４６１】
第２の変更点は、接続仲介装置１００の通信先アドレス返信部１３０が、アドレステーブルの参照によって必要と判断される場合には、通信先となる端末装置に対してプライベートＩＰアドレス（ＰＩＰ）の照会を行い、グローバルＩＰアドレス（ＧＩＰ）もしくは上記照会によって得られたプライベートＩＰアドレス（ＰＩＰ）、またはその両方を通信先アドレスとして、通信元の端末装置に返信するようにする点である。これまで述べた実施例１，３，５では、アドレステーブルを参照することによりＰＩＰを得ていたが、この変形例では、必要なときに、端末装置に対して照会を行うことにより、ＰＩＰを得ることになる。
【０４６２】
実際には、図４に示す例の場合、接続仲介装置１００の通信先アドレス返信部１３０は、アドレステーブルを参照して、通信元となる端末装置２００ＡのグローバルＩＰアドレスと通信先となる端末装置２００ＢのグローバルＩＰアドレスとが同一のＩＰアドレスである場合に、通信先となる端末装置２００Ｂに対してプライベートＩＰアドレスの照会を行えばよい。これは、両者のグローバルＩＰアドレスが同一の場合は、基本的には、両者が同じサブネットに所属していると判断でき、ＰＩＰを用いた通信開始要求が可能と判断できるためである（もちろん、図３１に示す例のように、多層ルータが設けられている場合は例外になる）。逆言すれば、両者のグローバルＩＰアドレスが異なる場合は、ＰＩＰを用いた通信開始要求はできないので、ＰＩＰアドレスは不要であり、照会の必要はないことになる。
【０４６３】
もちろん、この変形例においても、通信元端末装置の通信開始要求部２４０が、グローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を用いて通信開始要求Ｓ５を行う点に変わりはない。たとえば、図４に示す例の場合、通信開始要求部２４０Ａは、通信元となる端末装置２００ＡのグローバルＩＰアドレスと通信先となる端末装置２００ＢのグローバルＩＰアドレスとが同一の場合には、プライベートＩＰアドレスを用いて通信開始要求Ｓ５を行い、異なる場合には、グローバルＩＰアドレスを用いて通信開始要求Ｓ５を行うことになる。
【０４６４】
一方、実施例２，４，６（先願基本発明の第２の実施形態を基礎とした実施例）については、次の２点を変更することにより、ここで述べる変形例を適用することができる。
【０４６５】
第１の変更点は、端末装置４００の自己アドレス通知部４５０に、自己の所在アドレスとして、ネットワーク上のグローバルＩＰアドレス（ＧＩＰ）を接続仲介装置３００に対して自発的に通知する自発通知機能と、接続仲介装置３００から照会を受けたときに、ネットワークＮへの接続に用いられているルータから付与されたプライベートＩＰアドレス（ＰＩＰ）を回答する回答通知機能と、をもたせるようにする点である。上記自発通知機能は、§２で述べた先願基本発明の第２の実施形態の自己アドレス通知部４５０に備わっている機能であるから、ここで述べる変形例を実施する際には、この先願基本発明の第２の実施形態の自己アドレス通知部４５０に、上記回答通知機能を追加すればよい。アドレステーブル格納部３１０には、所在アドレスとして、自発通知機能によって通知された各端末装置のグローバルＩＰアドレス（ＧＩＰ）およびポート番号を端末ＩＤに対応づけて格納しておけばよい。
【０４６６】
第２の変更点は、接続仲介装置３００の通信元アドレス送信部３３０が、アドレステーブルの参照によって必要と判断される場合には、通信元となる端末装置に対してプライベートＩＰアドレス（ＰＩＰ）の照会を行い、グローバルＩＰアドレス（ＧＩＰ）もしくは上記照会によって得られたプライベートＩＰアドレス（ＰＩＰ）、またはその両方を通信元アドレスとして、通信先の端末装置に送信するようにする点である。これまで述べた実施例２，４，６では、アドレステーブルを参照することによりＰＩＰを得ていたが、この変形例では、必要なときに、端末装置に対して照会を行うことにより、ＰＩＰを得ることになる。
【０４６７】
実際には、図８に示す例の場合、接続仲介装置３００の通信元アドレス送信部３３０は、アドレステーブルを参照して、通信元となる端末装置４００ＢのグローバルＩＰアドレスと通信先となる端末装置４００ＡのグローバルＩＰアドレスとが同一のＩＰアドレスである場合に、通信元となる端末装置４００Ｂに対してプライベートＩＰアドレスの照会を行えばよい。これは、両者のグローバルＩＰアドレスが同一の場合は、基本的には、両者が同じサブネットに所属していると判断でき、ＰＩＰを用いた通信開始要求が可能と判断できるためである（もちろん、図３１に示す例のように、多層ルータが設けられている場合は例外になる）。逆言すれば、両者のグローバルＩＰアドレスが異なる場合は、ＰＩＰを用いた通信開始要求はできないので、ＰＩＰアドレスは不要であり、照会の必要はないことになる。
【０４６８】
もちろん、この変形例においても、通信先端末装置の通信開始要求部４４０が、グローバルＩＰアドレス（ＧＩＰ）もしくはプライベートＩＰアドレス（ＰＩＰ）、またはその両方を用いて通信開始要求Ｓ１５を行う点に変わりはない。たとえば、図８に示す例の場合、通信開始要求部４４０Ａは、通信元となる端末装置４００ＢのグローバルＩＰアドレスと通信先となる端末装置４００ＡのグローバルＩＰアドレスとが同一の場合には、プライベートＩＰアドレスを用いて通信開始要求Ｓ１５を行い、異なる場合には、グローバルＩＰアドレスを用いて通信開始要求Ｓ１５を行うことになる。
【０４６９】
以下、実施例１〜実施例６の変形例について、それぞれ図３３〜図３８のダイアグラムを用いながら、具体的な装置間信号の流れを説明する。以下に述べる変形例では、準備段階でＰＩＰを通知する必要はないので、図３３〜図３８のダイアグラムの準備段階における自己アドレス通知Ｓ０Ｘ，Ｓ０Ｙでは、ＧＩＰのみが通知されている。もちろん、これら実施例１〜６の変形例についても、§３や§４で述べた各種変形例を適用することが可能である。
【０４７０】
＜９−１．  実施例１の変形例＞
図３３は、図２５に示す実施例１において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図２５に示すダイアグラムと図３３に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照（Ｓ３）アドレス選択」のブロックが、後者では、「照会？」の分岐ブロックおよびＰＩＰ照会（Ｓ３ａ）／ＰＩＰ回答（Ｓ３ｂ）の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
【０４７１】
まず、図３３に示すダイアグラムにおける「照会？」の分岐ブロックでは、通信先アドレス返信部１３０が、アドレステーブルを参照して、接続仲介依頼Ｓ２を送信した通信元の端末装置２００Ｘの端末ＩＤに対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ２に含まれている通信先特定情報によって特定される端末ＩＤ（通信先の端末装置２００Ｙの端末ＩＤ）に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会？」の分岐ブロックから「ＮＯ」の分岐に従ってジャンプし、グローバルＩＰアドレス（ＧＩＰ）を選択通信先アドレスとして通信元端末装置Ｘに返信する通信先アドレス返信Ｓ４を実行する。
【０４７２】
一方、上記判断対象となる両者が同一のＩＰアドレスである場合には、ダイアグラムの「照会？」の分岐ブロックから「ＹＥＳ」の分岐に従って、通信先となる端末装置２００Ｙに対してプライベートＩＰアドレスを問い合わせるＰＩＰ照会Ｓ３ａを行い、これに応じたＰＩＰ回答Ｓ３ｂを得る。そして、この照会によって得られたプライベートＩＰアドレス（ＰＩＰ）を選択通信先アドレスとして通信元端末装置Ｘに返信する通信先アドレス返信Ｓ４を実行する。
【０４７３】
この後、通信元端末装置Ｘの通信開始要求部２４０が、返信されてきた選択通信先アドレスを用いて通信開始要求Ｓ５を行う点は、実施例１と変わりない。
【０４７４】
＜９−２．  実施例２の変形例＞
図３４は、図２６に示す実施例２において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図２６に示すダイアグラムと図３４に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照（Ｓ１３）アドレス選択」のブロックが、後者では、「照会？」の分岐ブロックおよびＰＩＰ照会（Ｓ１３ａ）／ＰＩＰ回答（Ｓ１３ｂ）の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
【０４７５】
まず、図３４に示すダイアグラムにおける「照会？」の分岐ブロックでは、通信元アドレス送信部３３０が、アドレステーブルを参照して、接続仲介依頼Ｓ１２を送信した通信元の端末装置４００Ｘの端末ＩＤに対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ１２に含まれている通信先特定情報によって特定される端末ＩＤ（通信先の端末装置４００Ｙの端末ＩＤ）に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会？」の分岐ブロックから「ＮＯ」の分岐に従ってジャンプし、グローバルＩＰアドレス（ＧＩＰ）を選択通信元アドレスとして通信先端末装置Ｙに送信する通信元アドレス送信Ｓ１４を実行する。
【０４７６】
一方、上記判断対象となる両者が同一のＩＰアドレスである場合には、ダイアグラムの「照会？」の分岐ブロックから「ＹＥＳ」の分岐に従って、通信元となる端末装置４００Ｘに対してプライベートＩＰアドレスを問い合わせるＰＩＰ照会Ｓ１３ａを行い、これに応じたＰＩＰ回答Ｓ１３ｂを得る。そして、この照会によって得られたプライベートＩＰアドレス（ＰＩＰ）を選択通信元アドレスとして通信先端末装置Ｙに返信する通信先アドレス返信Ｓ１４を実行する。
【０４７７】
この後、通信先端末装置Ｙの通信開始要求部４４０が、送信されてきた選択通信元アドレスを用いて通信開始要求Ｓ１５を行う点は、実施例１と変わりない。
【０４７８】
＜９−３．  実施例３の変形例＞
図３５は、図２７に示す実施例３において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図２７に示すダイアグラムと図３５に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照（Ｓ３）」のブロックが、後者では、「照会？」の分岐ブロックおよびＰＩＰ照会（Ｓ３ａ）／ＰＩＰ回答（Ｓ３ｂ）の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
【０４７９】
まず、図３５に示すダイアグラムにおける「照会？」の分岐ブロックでは、通信先アドレス返信部１３０が、アドレステーブルを参照して、接続仲介依頼Ｓ２を送信した通信元の端末装置２００Ｘの端末ＩＤに対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ２に含まれている通信先特定情報によって特定される端末ＩＤ（通信先の端末装置２００Ｙの端末ＩＤ）に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会？」の分岐ブロックから「ＮＯ」の分岐に従ってジャンプし、グローバルＩＰアドレス（ＧＩＰ）のみを通信先アドレスとして通信元端末装置Ｘに返信する通信先アドレス返信Ｓ４を実行する。
【０４８０】
一方、上記判断対象となる両者が同一のＩＰアドレスである場合には、ダイアグラムの「照会？」の分岐ブロックから「ＹＥＳ」の分岐に従って、通信先となる端末装置２００Ｙに対してプライベートＩＰアドレスを問い合わせるＰＩＰ照会Ｓ３ａを行い、これに応じたＰＩＰ回答Ｓ３ｂを得る。そして、アドレステーブルに格納されていた通信先端末装置２００ＹのグローバルＩＰアドレス（ＧＩＰ）と、照会によって得られたプライベートＩＰアドレス（ＰＩＰ）と、の両アドレスを、通信先アドレスとして通信元端末装置Ｘに返信する通信先アドレス返信Ｓ４を実行する。
【０４８１】
この後、通信元端末装置Ｘの通信開始要求部２４０は、グローバルＩＰアドレス（ＧＩＰ）のみの返信があった場合には、返信されてきたグローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ５を行い、両アドレスの返信があった場合には、返信されてきたプライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行えばよい。なお、実施例３では、端末装置が、送信元のＧＩＰと送信先のＧＩＰが同一か否かを調べることによってＧＩＰ／ＰＩＰの選択判断を行うことになっているが、この変形例では、実質的に接続仲介装置において当該選択判断が行われているので（照会するか否かの判断において、ＧＩＰの同一性が調べられている）、端末装置において改めてＧＩＰの同一性を調べてＧＩＰ／ＰＩＰの選択判断を行う必要はない。
【０４８２】
また、§８−４で述べたように、実施例３に「ＰＩＰ失敗時にＧＩＰでトライするアプローチ」を追加する運用を行う際には、通信元端末装置Ｘの通信開始要求部２４０が、プライベートＩＰアドレス（ＰＩＰ）を用いた通信開始要求Ｓ５に失敗したと判断される場合もしくは失敗が予想される場合に、グローバルＩＰアドレス（ＧＩＰ）を用いた通信開始要求Ｓ５′を行うようにすればよい。
【０４８３】
この場合、通信開始要求部２４０は、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行った後、所定のタイムアウト時間内に通信先の端末装置２００Ｙから通信開始受諾確認Ｓ６が送信されてこなかったときに、通信開始要求Ｓ５に失敗したと判断することができる。
【０４８４】
＜９−４．  実施例４の変形例＞
図３６は、図２８に示す実施例４において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図２８に示すダイアグラムと図３６に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照（Ｓ１３）」のブロックが、後者では、「照会？」の分岐ブロックおよびＰＩＰ照会（Ｓ１３ａ）／ＰＩＰ回答（Ｓ１３ｂ）の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
【０４８５】
まず、図３６に示すダイアグラムにおける「照会？」の分岐ブロックでは、通信元アドレス送信部３３０が、アドレステーブルを参照して、接続仲介依頼Ｓ１２を送信した通信元の端末装置４００Ｘの端末ＩＤに対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ１２に含まれている通信先特定情報によって特定される端末ＩＤ（通信先の端末装置４００Ｙの端末ＩＤ）に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会？」の分岐ブロックから「ＮＯ」の分岐に従ってジャンプし、グローバルＩＰアドレス（ＧＩＰ）のみを通信元アドレスとして通信先端末装置Ｙに送信する通信元アドレス送信Ｓ１４を実行する。
【０４８６】
一方、上記判断対象となる両者が同一のＩＰアドレスである場合には、ダイアグラムの「照会？」の分岐ブロックから「ＹＥＳ」の分岐に従って、通信元となる端末装置４００Ｘに対してプライベートＩＰアドレスを問い合わせるＰＩＰ照会Ｓ１３ａを行い、これに応じたＰＩＰ回答Ｓ１３ｂを得る。そして、アドレステーブルに格納されていた通信元端末装置４００ＸのグローバルＩＰアドレス（ＧＩＰ）と、照会によって得られたプライベートＩＰアドレス（ＰＩＰ）と、の両アドレスを、通信元アドレスとして通信先端末装置Ｙに送信する通信元アドレス送信Ｓ１４を実行する。
【０４８７】
この後、通信先端末装置Ｙの通信開始要求部４４０は、グローバルＩＰアドレス（ＧＩＰ）のみの送信があった場合には、送信されてきたグローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ１５を行い、両アドレスの送信があった場合には、送信されてきたプライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行えばよい。なお、実施例４では、端末装置が、送信元のＧＩＰと送信先のＧＩＰが同一か否かを調べることによってＧＩＰ／ＰＩＰの選択判断を行うことになっているが、この変形例では、実質的に接続仲介装置において当該選択判断が行われているので（照会するか否かの判断において、ＧＩＰの同一性が調べられている）、端末装置において改めてＧＩＰの同一性を調べてＧＩＰ／ＰＩＰの選択判断を行う必要はない。
【０４８８】
また、§８−４で述べたように、実施例４に「ＰＩＰ失敗時にＧＩＰでトライするアプローチ」を追加する運用を行う際には、通信先端末装置Ｙの通信開始要求部４４０が、プライベートＩＰアドレス（ＰＩＰ）を用いた通信開始要求Ｓ１５に失敗したと判断される場合もしくは失敗が予想される場合に、グローバルＩＰアドレス（ＧＩＰ）を用いた通信開始要求Ｓ１５′を行うようにすればよい。
【０４８９】
この場合、通信開始要求部４４０は、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行った後、所定のタイムアウト時間内に通信元の端末装置４００Ｘから通信開始受諾確認Ｓ１６が送信されてこなかったときに、通信開始要求Ｓ１５に失敗したと判断することができる。
【０４９０】
＜９−５．  実施例５の変形例＞
図３７は、図２９に示す実施例５において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図２９に示すダイアグラムと図３７に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照（Ｓ３）」のブロックが、後者では、「照会？」の分岐ブロックおよびＰＩＰ照会（Ｓ３ａ）／ＰＩＰ回答（Ｓ３ｂ）の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
【０４９１】
まず、図３７に示すダイアグラムにおける「照会？」の分岐ブロックでは、通信先アドレス返信部１３０が、アドレステーブルを参照して、接続仲介依頼Ｓ２を送信した通信元の端末装置２００Ｘの端末ＩＤに対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ２に含まれている通信先特定情報によって特定される端末ＩＤ（通信先の端末装置２００Ｙの端末ＩＤ）に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会？」の分岐ブロックから「ＮＯ」の分岐に従ってジャンプし、グローバルＩＰアドレス（ＧＩＰ）のみを通信先アドレスとして通信元端末装置Ｘに返信する通信先アドレス返信Ｓ４を実行する。
【０４９２】
一方、上記判断対象となる両者が同一のＩＰアドレスである場合には、ダイアグラムの「照会？」の分岐ブロックから「ＹＥＳ」の分岐に従って、通信先となる端末装置２００Ｙに対してプライベートＩＰアドレスを問い合わせるＰＩＰ照会Ｓ３ａを行い、これに応じたＰＩＰ回答Ｓ３ｂを得る。そして、アドレステーブルに格納されていた通信先端末装置２００ＹのグローバルＩＰアドレス（ＧＩＰ）と、照会によって得られたプライベートＩＰアドレス（ＰＩＰ）と、の両アドレスを、通信先アドレスとして通信元端末装置Ｘに返信する通信先アドレス返信Ｓ４を実行する。
【０４９３】
この後、通信元端末装置Ｘの通信開始要求部２４０が、両アドレスの返信があった場合には、まず、返信されてきたプライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５をトライし、この通信開始要求Ｓ５に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルＩＰアドレス（ＧＩＰ）を用いた通信開始要求Ｓ５′を行い、グローバルＩＰアドレス（ＧＩＰ）のみの返信があった場合には、返信されてきたグローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ５′を行う点は、実施例５と変わりない。
【０４９４】
この場合、通信開始要求部２４０は、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ５を行った後、所定のタイムアウト時間内に通信先の端末装置２００Ｙから通信開始受諾確認Ｓ６が送信されてこなかったときに、通信開始要求Ｓ５に失敗したと判断することができる。
【０４９５】
＜９−６．  実施例６の変形例＞
図３８は、図３０に示す実施例６において、ＰＩＰをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図３０に示すダイアグラムと図３８に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照（Ｓ１３）」のブロックが、後者では、「照会？」の分岐ブロックおよびＰＩＰ照会（Ｓ１３ａ）／ＰＩＰ回答（Ｓ１３ｂ）の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
【０４９６】
まず、図３８に示すダイアグラムにおける「照会？」の分岐ブロックでは、通信元アドレス送信部３３０が、アドレステーブルを参照して、接続仲介依頼Ｓ１２を送信した通信元の端末装置４００Ｘの端末ＩＤに対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、接続仲介依頼Ｓ１２に含まれている通信先特定情報によって特定される端末ＩＤ（通信先の端末装置４００Ｙの端末ＩＤ）に対応づけられているグローバルＩＰアドレス（ＧＩＰ）と、が同一のＩＰアドレスであるか否かを判断し、判断対象となる両者が異なるＩＰアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会？」の分岐ブロックから「ＮＯ」の分岐に従ってジャンプし、グローバルＩＰアドレス（ＧＩＰ）のみを通信元アドレスとして通信先端末装置Ｙに送信する通信元アドレス送信Ｓ１４を実行する。
【０４９７】
一方、上記判断対象となる両者が同一のＩＰアドレスである場合には、ダイアグラムの「照会？」の分岐ブロックから「ＹＥＳ」の分岐に従って、通信元となる端末装置４００Ｘに対してプライベートＩＰアドレスを問い合わせるＰＩＰ照会Ｓ１３ａを行い、これに応じたＰＩＰ回答Ｓ１３ｂを得る。そして、アドレステーブルに格納されていた通信元端末装置４００ＸのグローバルＩＰアドレス（ＧＩＰ）と、照会によって得られたプライベートＩＰアドレス（ＰＩＰ）と、の両アドレスを、通信元アドレスとして通信先端末装置Ｙに送信する通信元アドレス送信Ｓ１４を実行する。
【０４９８】
この後、通信先端末装置Ｙの通信開始要求部４４０が、両アドレスの返信があった場合には、まず、返信されてきたプライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５をトライし、この通信開始要求Ｓ１５に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルＩＰアドレス（ＧＩＰ）を用いた通信開始要求Ｓ１５′を行い、グローバルＩＰアドレス（ＧＩＰ）のみの返信があった場合には、返信されてきたグローバルＩＰアドレス（ＧＩＰ）を用いて通信開始要求Ｓ１５′を行う点は、実施例６と変わりない。
【０４９９】
この場合、通信開始要求部４４０は、プライベートＩＰアドレス（ＰＩＰ）を用いて通信開始要求Ｓ１５を行った後、所定のタイムアウト時間内に通信元の端末装置４００Ｘから通信開始受諾確認Ｓ１６が送信されてこなかったときに、通信開始要求Ｓ１５に失敗したと判断することができる。
【産業上の利用可能性】
【０５００】
本発明に係るネットワーク通信システムは、パソコン、携帯電話、タブレット型端末など、インターネットに接続可能な様々な端末装置が利用されている状態において、任意の端末装置間での効率的な通信を可能にする技術を提供するものであり、産業上、十分な利用可能性を有している。
【符号の説明】
【０５０１】
１００：接続仲介装置
１１０：アドレステーブル格納部
１２０：アドレステーブル更新部
１３０：通信先アドレス返信部
２００，２００Ａ〜２００Ｋ，２００Ｘ，２００Ｙ：端末装置
２０１Ｈ，２０１Ｋ：ＶＰＮ通信部
２１０，２１０Ａ，２１０Ｂ：接続仲介依頼部
２２０，２２０Ａ，２２０Ｂ：通信要求受付部
２３０，２３０Ａ，２３０Ｂ：通信先セッション確立部
２４０，２４０Ａ，２４０Ｂ：通信開始要求部
２５０，２５０Ａ，２５０Ｂ：自己アドレス通知部
２６０，２６０Ａ，２６０Ｂ：通信元セッション確立部
３００：接続仲介装置
３１０：アドレステーブル格納部
３２０：アドレステーブル更新部
３３０：通信元アドレス送信部
４００，４００Ａ〜４００Ｄ，４００Ｘ，４００Ｙ：端末装置
４１０，４１０Ａ，４１０Ｂ：接続仲介依頼部
４２０，４２０Ａ，４２０Ｂ：通信要求受付部
４３０，４３０Ａ，４３０Ｂ：通信元セッション確立部
４４０，４４０Ａ，４４０Ｂ：通信開始要求部
４５０，４５０Ａ，４５０Ｂ：自己アドレス通知部
４６０，４６０Ａ，４６０Ｂ：通信先セッション確立部
ＡＤ１〜ＡＤ７：所在アドレス
ＡＤｘ，ＡＤｙ，ＡＤｚ：グローバルＩＰアドレス
ＡＰＰ１，ＡＰＰ２：アプリケーションプログラム
Ｂ１，Ｂ２：基地局
ＧＩＰ，ＧＩＰ１〜ＧＩＰ５：グローバルＩＰアドレス
Ｌ１〜Ｌ６：ブロック間の信号の流れを示す矢印／信号経路
Ｎ：ネットワーク（インターネット）
Ｐ１〜Ｐ２１：ポート番号
ＰＩＰ，ＰＩＰ１〜ＰＩＰ５：プライベートＩＰアドレス
Ｒ，Ｒ１，Ｒ２，ＲＡ，ＲＢ，ＲＣ：ルータ
Ｓ１〜Ｓ７，Ｓ１１〜Ｓ１７：流れ図の各ステップ
Ｓ０Ｘ，Ｓ０Ｙ：自己アドレス通知
Ｔ，Ｔ１〜Ｔ３，Ｔ４１，Ｔ４２，Ｔ５１，Ｔ５２，Ｔ６１，Ｔ６２，Ｔ７１，Ｔ７２：アドレステーブル
【図１】
2019038874.tif 000003
【図２】
2019038874.tif 000004
【図３】
2019038874.tif 000005
【図４】
2019038874.tif 000006
【図５】
2019038874.tif 000007
【図６】
2019038874.tif 000008
【図７】
2019038874.tif 000009
【図８】
2019038874.tif 000010
【図９】
2019038874.tif 000011
【図１０】
2019038874.tif 000012
【図１１】
2019038874.tif 000013
【図１２】
2019038874.tif 000014
【図１３】
2019038874.tif 000015
【図１４】
2019038874.tif 000016
【図１５】
2019038874.tif 000017
【図１６】
2019038874.tif 000018
【図１７】
2019038874.tif 000019
【図１８】
2019038874.tif 000020
【図１９】
2019038874.tif 000021
【図２０】
2019038874.tif 000022
【図２１】
2019038874.tif 000023
【図２２】
2019038874.tif 000024
【図２３】
2019038874.tif 000025
【図２４】
2019038874.tif 000026
【図２５】
2019038874.tif 000027
【図２６】
2019038874.tif 000028
【図２７】
2019038874.tif 000029
【図２８】
2019038874.tif 000030
【図２９】
2019038874.tif 000031
【図３０】
2019038874.tif 000032
【図３１】
2019038874.tif 000033
【図３２】
2019038874.tif 000034
【図３３】
2019038874.tif 000035
【図３４】
2019038874.tif 000036
【図３５】
2019038874.tif 000037
【図３６】
2019038874.tif 000038
【図３７】
2019038874.tif 000039
【図３８】
2019038874.tif 000040
【国際調査報告】
2019038874.tif 000041
2019038874.tif 000042