図面 (/)

技術 ネットワーク通信システム

出願人 大日本印刷株式会社
発明者 大木正矢野義博小川隆仲谷伸乃助加藤大樹太治和樹岡野卓矢中井俊之蜂木茂男伊藤憲朗
出願日 2017年8月21日 (3年5ヶ月経過) 出願番号 2019-537433
公開日 2020年10月29日 (3ヶ月経過) 公開番号 WO2019-038802
状態 未査定
技術分野 広域データ交換 電話通信サービス
主要キーワード タイプ確認 代替接続 基本発明 ブロック要素 ポート番 通信元アドレス 代替端末 試験アクセス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年10月29日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題・解決手段

接続仲介処理負荷を軽減しつつ、端末間の直接通信に問題がある場合にも支障なく通信を行う。予め各端末(203A,203B)が利用するルータのNATタイプを確認し、これを接続仲介装置(103)のアドレステーブル(T60)に記録しておく。通信元(203A)から通信先(203B)へ通信を開始するために、通信元(203A)から接続仲介装置(103)に対して接続仲介依頼(S2)を送信すると、これに応じて、通信先のアドレス(AD2)と、通常通信迂回通信かを指示する通信方法と、が返信(S4a)される。通信先(203B)のNATタイプが非対称型等の場合は通常通信が指示され、両端末間での直接的な通信(S7)が行われる。通信先(203B)のNATタイプが対称型等の場合は迂回通信が指示され、両端末の迂回通信処理部(273A,273B)が迂回通信中継部(143)を介して間接的な通信(S8a,S8b)を行う。

概要

背景

今日、パソコンスマートフォンをはじめとする様々な端末装置インターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末現時点での所在アドレスを何らかの方法で認識する必要がある。

このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献1には、第1の端末装置と中継装置との間にセキュアな第1の通信チャネルを確保し、第2の端末装置と中継装置との間にセキュアな第2の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。

そこで、最近は、SIP(Session Initiation Protocol)と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献2,3には、このSIPを利用して端末間におけるVPN通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。

概要

接続仲介処理負荷を軽減しつつ、端末間の直接通信に問題がある場合にも支障なく通信を行う。予め各端末(203A,203B)が利用するルータのNATタイプを確認し、これを接続仲介装置(103)のアドレステーブル(T60)に記録しておく。通信元(203A)から通信先(203B)へ通信を開始するために、通信元(203A)から接続仲介装置(103)に対して接続仲介依頼(S2)を送信すると、これに応じて、通信先のアドレス(AD2)と、通常通信迂回通信かを指示する通信方法と、が返信(S4a)される。通信先(203B)のNATタイプが非対称型等の場合は通常通信が指示され、両端末間での直接的な通信(S7)が行われる。通信先(203B)のNATタイプが対称型等の場合は迂回通信が指示され、両端末の迂回通信処理部(273A,273B)が迂回通信中継部(143)を介して間接的な通信(S8a,S8b)を行う。

目的

本発明は、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することができ、しかも端末装置間の直接通信に問題がある場合にも、両者間での通信を支障なく行うことが可能なネットワーク通信システムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ネットワーク(N)を介して相互に接続可能な複数の端末装置(201,203,205)と、前記複数の端末装置間の接続を仲介する接続仲介装置(101,103,105)と、を備えたネットワーク通信システムであって、前記複数の端末装置(201,203,205)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(101,103,105)は、前記端末IDを利用して通信元となる端末装置(201A,203A,205A)と通信先となる端末装置(201B,203B,205B)との間の接続を仲介する処理を実行し、前記複数の端末装置(201,203,205)のそれぞれは、自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(101,103,105)に対して通知する自己アドレス通知部(250,253,255)と、自己(201A,203A,205A)を通信元として、通信先の別な端末装置(201B,203B,205B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(101,103,105)に対して、前記通信先の別な端末装置(201B,203B,205B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、前記接続仲介依頼(S2)に応じて、前記接続仲介装置(101,103,105)から、前記通信先の別な端末装置(201B,203B,205B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(241A,243A,245A)と、前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(201B,203B,205B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(201B,203B,205B)との間に通信セッション確立して通信(S7)を開始する通信元セッション確立部(260A,261A,265A)と、通信元の別な端末装置(201A,203A,205A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(201A,203A,205A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(201A,203A,205A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B,235B)と、前記通信元セッション確立部(260A,261A,265A)と前記通信先セッション確立部(230B,235B)との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、前記接続仲介装置(101,103,105)を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部(271,273,275)と、を有し、前記接続仲介装置(101,103,105)は、前記端末装置(201,203,205)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T60,T70)を格納するアドレステーブル格納部(110,113,115)と、前記端末装置(201,203,205)の前記自己アドレス通知部(250,253,255)からの通知に基づいて、前記アドレステーブル(T,T60,T70)の内容を更新するアドレステーブル更新部(120,123,125)と、前記端末装置(201A,203A,205A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T,T60,T70)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130,133,135)と、第1の端末装置の迂回通信処理部(271,273,275)と第2の端末装置の迂回通信処理部(271,273,275)との間での迂回通信の中継依頼があったときに、前記第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部(141,143,145)と、を有することを特徴とするネットワーク通信システム。

請求項2

請求項1に記載のネットワーク通信システムにおいて、通信開始要求部(241A)が通信開始要求(S5)を行った後、これに応じた通信開始受諾確認(S6)が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部(271A)が、迂回通信中継部(141)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(141)を介して、相手方の迂回通信処理部(271B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。

請求項3

請求項1に記載のネットワーク通信システムにおいて、通信開始要求部(241A)が行った通信開始要求(S5)に対してアクノレッジが得られなかった場合に、迂回通信処理部(271A)が、迂回通信中継部(141)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(141)を介して、相手方の迂回通信処理部(271B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。

請求項4

請求項1に記載のネットワーク通信システムにおいて、複数の端末装置(203)のそれぞれが、ネットワーク(N)を介してNATタイプ判別装置(500)に対して自己のNATタイプを照会し、前記NATタイプ判別装置からの回答を得るNATタイプ確認部(283)を更に備え、自己アドレス通知部(253)が、接続仲介装置(103)に対して自己の所在アドレスを通知する際に、前記NATタイプ確認部(283)が得た回答を併せて通知し、接続仲介装置(103)内のアドレステーブル格納部(113)が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブル(T60)を格納する機能を有し、接続仲介装置(103)内のアドレステーブル更新部(123)が、前記自己アドレス通知部(253)からの通知に含まれる前記回答に基づいて、前記アドレステーブル(T60)内のNATタイプの更新を行う機能を有し、接続仲介装置(103)内の通信先アドレス返信部(133)が、接続仲介依頼(S2)の送信を受けたときに、前記アドレステーブル(T60)を参照して通信先の端末装置のNATタイプが「外部から当該通信先の端末装置宛に送信されてきたパケットについては、当該通信先の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信先の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信先の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、通信開始要求部(243A)が、前記接続仲介装置(103)から通信先アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(273A)に対して迂回通信指示(S5′)を行うことを特徴とするネットワーク通信システム。

請求項5

請求項4に記載のネットワーク通信システムにおいて、自己アドレス通知部(253)が、接続仲介装置(103)に対して自己の所在アドレスを通知する際に、NATタイプ確認部(283)に対してNATタイプ確認指示(S31)を出し、前記NATタイプ確認部(283)が、前記NATタイプ確認指示を受けたときに、NATタイプ判別装置(500)に対して自己のNATタイプを照会(S32)し、得られた回答(S33)を前記自己アドレス通知部(253)に報告(S34)し、前記自己アドレス通知部(253)が、前記報告に基づいて前記回答を接続仲介装置(103)に対して通知(S35)することを特徴とするネットワーク通信システム。

請求項6

請求項1に記載のネットワーク通信システムにおいて、自己アドレス通知部(255)が、接続仲介装置(105)に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知(S51)を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知(S53)を行い、接続仲介装置(105)内のアドレステーブル格納部(115)が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブル(T70)を格納する機能を有し、接続仲介装置(105)内のアドレステーブル更新部(125)が更新を行う際(S54)に、前記第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、前記第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、接続仲介装置(105)内の通信先アドレス返信部(135)が、接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T70)を参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、通信開始要求部(245A)が、前記接続仲介装置(105)から通信先アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、前記通信先アドレス(AD2)に対して通信プロトコルUDPを用いたアクセスにより通信開始要求(S5)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(275A)に対して迂回通信指示(S5′)を行い、通信方法として通常通信が選択されていた場合には、通信元セッション確立部(265A)と通信先セッション確立部(235B)との間で、通信プロトコルUDPを用いた通常通信(S7)を実行し、通信方法として迂回通信が選択されていた場合には、通信元の迂回通信処理部(275A)と通信先の迂回通信処理部(275B)との間で、通信プロトコルTCPを用いて、接続仲介装置(105)を介した迂回通信を実行することを特徴とするネットワーク通信システム。

請求項7

ネットワーク(N)を介して相互に接続可能な複数の端末装置(402,404,406)と、前記複数の端末装置間の接続を仲介する接続仲介装置(302,304,306)と、を備えたネットワーク通信システムであって、前記複数の端末装置(402,404,406)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(302,304,306)は、前記端末IDを利用して通信元となる端末装置(402B,404B,406B)と通信先となる端末装置(402A,404A,406A)との間の接続を仲介する処理を実行し、前記複数の端末装置(402,404,406)のそれぞれは、自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(302,304,306)に対して通知する自己アドレス通知部(450,454,456)と、自己(402B,404B,406B)を通信元として、通信先の別な端末装置(402A,404A,406A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(302,304,306)に対して、前記通信先の別な端末装置(402A,404A,406A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、前記接続仲介装置(302,304,306)から、通信元の別な端末装置(402B,404B,406B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(442A,444A,446A)と、前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(402B,404B,406B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(402B,404B,406B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A,462A,466A)と、前記通信先の別な端末装置(402A,404A,406A)から、自己(402B,404B,406B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(402A,404A,406A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(402A,404A,406A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B,436B)と、前記通信元セッション確立部(430B,436B)と前記通信先セッション確立部(460A,462A,466A)との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、前記接続仲介装置(302,304,306)を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部(472,474,476)と、を有し、前記接続仲介装置(302,304,306)は、前記端末装置(402,404,406)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T60,T70)を格納するアドレステーブル格納部(310,314,316)と、前記端末装置(402,404,406)の前記自己アドレス通知部(450,454,456)からの通知に基づいて、前記アドレステーブル(T,T60,T70)の内容を更新するアドレステーブル更新部(320,324,326)と、前記端末装置(402B,404B,406B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T,T60,T70)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(402B,404B,406B)の端末ID(0020)に対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330,334,336)と、第1の端末装置の迂回通信処理部(472,474,476)と第2の端末装置の迂回通信処理部(472,474,476)との間での迂回通信の中継依頼があったときに、前記第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部(342,344,346)と、を有することを特徴とするネットワーク通信システム。

請求項8

請求項7に記載のネットワーク通信システムにおいて、通信開始要求部(442A)が通信開始要求(S15)を行った後、これに応じた通信開始受諾確認(S16)が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部(472A)が、迂回通信中継部(342)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(342)を介して、相手方の迂回通信処理部(472B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。

請求項9

請求項7に記載のネットワーク通信システムにおいて、通信開始要求部(442A)が行った通信開始要求(S15)に対してアクノレッジが得られなかった場合に、迂回通信処理部(472A)が、迂回通信中継部(342)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(342)を介して、相手方の迂回通信処理部(472B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。

請求項10

請求項7に記載のネットワーク通信システムにおいて、複数の端末装置(404)のそれぞれが、ネットワーク(N)を介してNATタイプ判別装置(500)に対して自己のNATタイプを照会し、前記NATタイプ判別装置からの回答を得るNATタイプ確認部(484)を更に備え、自己アドレス通知部(454)が、接続仲介装置(304)に対して自己の所在アドレスを通知する際に、前記NATタイプ確認部(484)が得た回答を併せて通知し、接続仲介装置(304)内のアドレステーブル格納部(314)が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブル(T60)を格納する機能を有し、接続仲介装置(304)内のアドレステーブル更新部(324)が、前記自己アドレス通知部(454)からの通知に含まれる前記回答に基づいて、前記アドレステーブル(T60)内のNATタイプの更新を行う機能を有し、接続仲介装置(304)内の通信元アドレス送信部(334)が、接続仲介依頼(S12)の送信を受けたときに、前記アドレステーブル(T60)を参照して通信元の端末装置のNATタイプが「外部から当該通信元の端末装置宛に送信されてきたパケットについては、当該通信元の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信元の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信元の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、通信開始要求部(444A)が、前記接続仲介装置(304)から通信元アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(474A)に対して迂回通信指示(S15′)を行うことを特徴とするネットワーク通信システム。

請求項11

請求項10に記載のネットワーク通信システムにおいて、自己アドレス通知部(454)が、接続仲介装置(304)に対して自己の所在アドレスを通知する際に、NATタイプ確認部(484)に対してNATタイプ確認指示(S31)を出し、前記NATタイプ確認部(484)が、前記NATタイプ確認指示を受けたときに、NATタイプ判別装置(500)に対して自己のNATタイプを照会(S32)し、得られた回答(S33)を前記自己アドレス通知部(454)に報告(S34)し、前記自己アドレス通知部(454)が、前記報告に基づいて前記回答を接続仲介装置(304)に対して通知(S35)することを特徴とするネットワーク通信システム。

請求項12

請求項7に記載のネットワーク通信システムにおいて、自己アドレス通知部(456)が、接続仲介装置(306)に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知(S51)を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知(S53)を行い、接続仲介装置(306)内のアドレステーブル格納部(316)が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブル(T70)を格納する機能を有し、接続仲介装置(306)内のアドレステーブル更新部(326)が更新を行う際(S54)に、前記第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、前記第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、接続仲介装置(306)内の通信元アドレス送信部(336)が、接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T70)を参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、通信開始要求部(446A)が、前記接続仲介装置(306)から通信元アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、前記通信元アドレス(AD2)に対して通信プロトコルUDPを用いたアクセスにより通信開始要求(S15)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(476A)に対して迂回通信指示(S5′)を行い、通信方法として通常通信が選択されていた場合には、通信先セッション確立部(466A)と通信元セッション確立部(436B)との間で、通信プロトコルUDPを用いた通常通信(S17)を実行し、通信方法として迂回通信が選択されていた場合には、通信先の迂回通信処理部(476A)と通信元の迂回通信処理部(476B)との間で、通信プロトコルTCPを用いて、接続仲介装置(306)を介した迂回通信を実行することを特徴とするネットワーク通信システム。

請求項13

請求項4、5、10、11のいずれかに記載のネットワーク通信システムにおいて、端末装置(203,404)のNATタイプ確認部(283,484)からネットワーク(N)を介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置のNATタイプを判別し、判別したNATタイプを照会元の端末装置のNATタイプ確認部に回答する処理を行うNATタイプ判別装置(500)を更に備えることを特徴とするネットワーク通信システム。

請求項14

請求項13に記載のネットワーク通信システムにおいて、NATタイプ判別装置(500)として、STUNサーバを用いることを特徴とするネットワーク通信システム。

請求項15

請求項1〜12のいずれかに記載のネットワーク通信システムにおける複数の端末装置を構成する1台の端末装置(201,203,205,402,404,406)。

請求項16

請求項15に記載の1台の端末装置(201,203,205,402,404,406)としてコンピュータを機能させるプログラム

請求項17

請求項1〜12のいずれかに記載のネットワーク通信システムにおける接続仲介装置(101,103,105,302,304,306)。

請求項18

請求項17に記載の接続仲介装置(101,103,105,302,304,306)としてコンピュータを機能させるプログラム。

技術分野

0001

本発明は、ネットワークを介した端末間通信を行うためのネットワーク通信システムに関する。

背景技術

0002

今日、パソコンスマートフォンをはじめとする様々な端末装置インターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末現時点での所在アドレスを何らかの方法で認識する必要がある。

0003

このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献1には、第1の端末装置と中継装置との間にセキュアな第1の通信チャネルを確保し、第2の端末装置と中継装置との間にセキュアな第2の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。

0004

そこで、最近は、SIP(Session Initiation Protocol)と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献2,3には、このSIPを利用して端末間におけるVPN通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。

先行技術

0005

特開2005−229436号公報
特開2010−233167号公報
特開2013−038684号公報

発明が解決しようとする課題

0006

上述したとおり、特許文献2,3に開示されているネットワーク通信システムに用いられる接続仲介装置は、SIPを利用して両端末間の接続仲介処理を行うことになる。この接続仲介処理は、両端末間に通信セッションが確立されるまでの一時的な処理であるため、特許文献1に開示されている従来型中継処理に比べれば、その処理負荷は軽減されることになる。しかしながら、両端末間に通信セッションが確立するまで関与する必要があるため、多数の端末装置から同時に仲介依頼があると、その処理負荷は無視できないものになる。このため、仲介依頼が集中すると、通信セッション確立までの一時的な仲介処理であっても、システムの処理能力を超えてしまうおそれがある。

0007

また、近年は、セキュリティを確保するため、端末間通信に様々な制限を設ける措置がとられることがある。たとえば、ルータを介してインターネットに接続されている端末装置の場合、ルータにおいて、NAT(Network Address Translation)と呼ばれるアドレス変換が行われる。このNATにはいくつかのタイプがあり、たとえば、「Symmetric NAT」(対称型NAT)や「Port restricted cone NAT」と呼ばれるタイプのNAT(本願では、便宜上、関所型NATと呼ぶ)が採用されていた場合、過去に内部ホストからのパケットを受け取った外部ホストのみがパケットを送り返すことができるという制約が課される。

0008

あるいは、端末間通信のトランスポート層のプロトコルとして、UDP(User Datagram Protocol)を採用して端末間での直接通信を行うことを前提とするシステムの場合、端末間にUDPのパケットをブロックするファイアウォールが存在すると、両端末間のパケット通信阻害されてしまう。したがって、実用上は、上述したような様々な要因により、端末間の直接通信に何らかの制限が設けられている場合にも、両者間での通信を支障なく行うことが可能となるような対策を講じる必要がある。

0009

そこで本発明は、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することができ、しかも端末装置間の直接通信に問題がある場合にも、両者間での通信を支障なく行うことが可能なネットワーク通信システムを提供することを目的とする。

課題を解決するための手段

0010

(1) 本発明の第1の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレス返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信元セッション確立部と通信先セッション確立部との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、接続仲介装置を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部と、
を有し、
接続仲介装置は、
端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間での迂回通信の中継依頼があったときに、第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部と、
を有するようにしたものである。

0011

(2) 本発明の第2の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
通信開始要求部が通信開始要求を行った後、これに応じた通信開始受諾確認が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。

0012

(3) 本発明の第3の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
通信開始要求部が行った通信開始要求に対してアクノレッジが得られなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。

0013

(4) 本発明の第4の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
複数の端末装置のそれぞれが、ネットワークを介してNATタイプ判別装置に対して自己のNATタイプを照会し、NATタイプ判別装置からの回答を得るNATタイプ確認部を更に備え、
自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部が得た回答を併せて通知し、
接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブルを格納する機能を有し、
接続仲介装置内のアドレステーブル更新部が、自己アドレス通知部からの通知に含まれる回答に基づいて、アドレステーブル内のNATタイプの更新を行う機能を有し、
接続仲介装置内の通信先アドレス返信部が、接続仲介依頼の送信を受けたときに、アドレステーブルを参照して通信先の端末装置のNATタイプが「外部から当該通信先の端末装置宛に送信されてきたパケットについては、当該通信先の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信先の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信先の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
通信開始要求部が、接続仲介装置から通信先アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行うようにしたものである。

0014

(5) 本発明の第5の態様は、上述した第4の態様に係るネットワーク通信システムにおいて、
自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部に対してNATタイプ確認指示を出し、
NATタイプ確認部が、NATタイプ確認指示を受けたときに、NATタイプ判別装置に対して自己のNATタイプを照会し、得られた回答を自己アドレス通知部に報告し、
自己アドレス通知部が、この報告に基づいて上記回答を接続仲介装置に対して通知するようにしたものである。

0015

(6) 本発明の第6の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知を行い、
接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブルを格納する機能を有し、
接続仲介装置内のアドレステーブル更新部が更新を行う際に、第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、
接続仲介装置内の通信先アドレス返信部が、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
通信開始要求部が、接続仲介装置から通信先アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、通信先アドレスに対して通信プロトコルUDPを用いたアクセスにより通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行い、
通信方法として通常通信が選択されていた場合には、通信元セッション確立部と通信先セッション確立部との間で、通信プロトコルUDPを用いた通常通信を実行し、通信方法として迂回通信が選択されていた場合には、通信元の迂回通信処理部と通信先の迂回通信処理部との間で、通信プロトコルTCPを用いて、接続仲介装置を介した迂回通信を実行するようにしたものである。

0016

(7) 本発明の第7の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信元セッション確立部と通信先セッション確立部との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、接続仲介装置を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部と、
を有し、
接続仲介装置は、
端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間での迂回通信の中継依頼があったときに、第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部と、
を有するようにしたものである。

0017

(8) 本発明の第8の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
通信開始要求部が通信開始要求を行った後、これに応じた通信開始受諾確認が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。

0018

(9) 本発明の第9の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
通信開始要求部が行った通信開始要求に対してアクノレッジが得られなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。

0019

(10) 本発明の第10の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
複数の端末装置のそれぞれが、ネットワークを介してNATタイプ判別装置に対して自己のNATタイプを照会し、NATタイプ判別装置からの回答を得るNATタイプ確認部を更に備え、
自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部が得た回答を併せて通知し、
接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブルを格納する機能を有し、
接続仲介装置内のアドレステーブル更新部が、自己アドレス通知部からの通知に含まれる回答に基づいて、アドレステーブル内のNATタイプの更新を行う機能を有し、
接続仲介装置内の通信元アドレス送信部が、接続仲介依頼の送信を受けたときに、アドレステーブルを参照して通信元の端末装置のNATタイプが「外部から当該通信元の端末装置宛に送信されてきたパケットについては、当該通信元の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信元の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信元の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
通信開始要求部が、接続仲介装置から通信元アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行うようにしたものである。

0020

(11) 本発明の第11の態様は、上述した第10の態様に係るネットワーク通信システムにおいて、
自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部に対してNATタイプ確認指示を出し、
NATタイプ確認部が、NATタイプ確認指示を受けたときに、NATタイプ判別装置に対して自己のNATタイプを照会し、得られた回答を自己アドレス通知部に報告し、
自己アドレス通知部が、この報告に基づいて上記回答を接続仲介装置に対して通知するようにしたものである。

0021

(12) 本発明の第12の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知を行い、
接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブルを格納する機能を有し、
接続仲介装置内のアドレステーブル更新部が更新を行う際に、第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、
接続仲介装置内の通信元アドレス送信部が、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
通信開始要求部が、接続仲介装置から通信元アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、通信元アドレスに対して通信プロトコルUDPを用いたアクセスにより通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行い、
通信方法として通常通信が選択されていた場合には、通信先セッション確立部と通信元セッション確立部との間で、通信プロトコルUDPを用いた通常通信を実行し、通信方法として迂回通信が選択されていた場合には、通信先の迂回通信処理部と通信元の迂回通信処理部との間で、通信プロトコルTCPを用いて、接続仲介装置を介した迂回通信を実行するようにしたものである。

0022

(13) 本発明の第13の態様は、上述した第4、5、10、11の態様に係るネットワーク通信システムにおいて、
端末装置のNATタイプ確認部からネットワークを介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置のNATタイプを判別し、判別したNATタイプを照会元の端末装置のNATタイプ確認部に回答する処理を行うNATタイプ判別装置を更に設けるようにしたものである。

0023

(14) 本発明の第14の態様は、上述した第13の態様に係るネットワーク通信システムにおいて、
NATタイプ判別装置として、STUNサーバを用いるようにしたものである。

0024

(15) 本発明の第15の態様は、上述した第1〜第12の態様に係るネットワーク通信システムにおける複数の端末装置を構成する1台の端末装置に係るものである。

0025

(16) 本発明の第16の態様は、上述した第15の態様に係る1台の端末装置を、コンピュータプログラムを組み込むことにより構成したものである。

0026

(17) 本発明の第17の態様は、上述した第1〜第12の態様に係るネットワーク通信システムにおける接続仲介装置に係るものである。

0027

(18) 本発明の第18の態様は、上述した第17の態様に係る接続仲介装置を、コンピュータにプログラムを組み込むことにより構成したものである。

発明の効果

0028

本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階(第1の実施形態の場合)、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階(第2の実施形態の場合)まで行えば足りる。したがって、従来のSIPを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。

0029

また、本発明のネットワーク通信システムでは、通信方法として、端末装置間の直接的な通信を行う通常通信と、接続仲介装置を介して間接的に通信を行う迂回通信と、の2通りの通信方法が用意されているため、端末装置間の直接通信に問題がある場合にも、迂回通信を利用することにより、両者間での通信を支障なく行うことが可能になる。

図面の簡単な説明

0030

先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
図1に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。
図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。
図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
先願基本発明の第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
図6に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。
図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
図1もしくは図6に示すアドレステーブルの第1の変形例を示す図である。
図1もしくは図6に示すアドレステーブルの第2の変形例を示す図である。
図1もしくは図6に示すアドレステーブルの第3の変形例を示す図である。
図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順の変形例を示すブロック図である。
図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順の変形例を示すブロック図である。
ルータを介して端末装置をネットワークNに接続する場合の先願基本発明の実施形態を示すブロック図である。
図15に示す実施形態において、IPアドレスポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。
先願基本発明に係る端末装置を通信アプリケーションプログラムを用いて構成する場合における自己アドレスの通知タイミングを示す表である。
先願基本発明に係るネットワーク通信システムにおいて、VPNを利用した実施形態の全体構成を示すブロック図である。
図18に示す実施形態におけるVPN通信の原理を示す図である。
図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。
先願基本発明において通信障害が生じる具体例を示すブロック図である。
本発明の実施例1に係るネットワーク通信システムにおける端末装置201の詳細構成を示すブロック図である。
本発明の実施例1に係るネットワーク通信システムにおいて、通信元端末装置201Aと通信先端末装置201Bとの間の通信セッション確立の手順を示すブロック図である。
図23のブロック図に示されている実施例1における通信セッション確立手順を時系列で説明する流れ図である。
本発明の実施例2に係るネットワーク通信システムにおける端末装置402の詳細構成を示すブロック図である。
本発明の実施例2に係るネットワーク通信システムにおいて、通信元端末装置402Bと通信先端末装置402Aとの間の通信セッション確立の手順を示すブロック図である。
図26のブロック図に示されている実施例2における通信セッション確立手順を時系列で説明する流れ図である。
本発明の実施例3に係るネットワーク通信システムにおける端末装置203の詳細構成を示すブロック図である。
本発明の実施例3に係るネットワーク通信システムにおける通信手順事前処理を時系列で説明する流れ図である。
図29に示す事前処理によって作成されるアドレステーブルの一例を示す図である。
本発明の実施例3に係るネットワーク通信システムにおいて、通信元端末装置203Aと通信先端末装置203Bとの間の通信セッション確立の手順を示すブロック図である。
図31のブロック図に示されている実施例3における通信セッション確立手順を時系列で説明する流れ図である。
本発明の実施例4に係るネットワーク通信システムにおける端末装置404の詳細構成を示すブロック図である。
本発明の実施例4に係るネットワーク通信システムにおいて、通信元端末装置404Bと通信先端末装置404Aとの間の通信セッション確立の手順を示すブロック図である。
図34のブロック図に示されている実施例4における通信セッション確立手順を時系列で説明する流れ図である。
本発明の実施例5に係るネットワーク通信システムにおける端末装置205の詳細構成を示すブロック図である。
本発明の実施例5に係るネットワーク通信システムにおける通信手順の事前処理を時系列で説明する流れ図である。
図37に示す事前処理によって作成されるアドレステーブルの一例を示す図である。
本発明の実施例5に係るネットワーク通信システムにおいて、通信元端末装置205Aと通信先端末装置205Bとの間の通信セッション確立の手順を示すブロック図である。
図39のブロック図に示されている実施例5における通信セッション確立手順を時系列で説明する流れ図である。
本発明の実施例6に係るネットワーク通信システムにおける端末装置406の詳細構成を示すブロック図である。
本発明の実施例6に係るネットワーク通信システムにおいて、通信元端末装置406Bと通信先端末装置406Aとの間の通信セッション確立の手順を示すブロック図である。
図42のブロック図に示されている実施例6における通信セッション確立手順を時系列で説明する流れ図である。

実施例

0031

以下、本発明を図示する実施形態に基づいて説明する。なお、ここで述べる実施形態は、PCT/JP2016/055960に基づく優先権主張を伴う国際出願PCT/JP2017/006131(以下、先願となる国際出願と呼ぶ)に記載された発明(以下、先願基本発明と呼ぶ)を基礎として、この先願基本発明に接続仲介装置を介した迂回通信の機能を付加することにより、「端末装置間の直接通信に支障がある場合にも、両者間での通信を支障なく行うことが可能になる」という固有の付加的な作用効果が得られるようにしたものである。

0032

このような事情から、ここでは、先願基本発明を基礎とした本発明の実施形態を、本発明の好ましい一実施形態として述べることにする。そこで、以下の§1〜§4において、まず、先願基本発明の説明を行い、§5以降において、本発明に固有の特徴について述べることにする。したがって、以下の§1〜§4で述べる内容(図1図20に示す内容)は、実質的に先願となる国際出願PCT/JP2017/006131に記載された実施形態と同じものである。

0033

<<< §1. 先願基本発明の第1の実施形態 >>>
<1−1. 先願基本発明の第1の実施形態の構成>
図1は、先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置100と複数の端末装置200A〜200Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。

0034

図では、説明の便宜上、4台の端末装置200A〜200Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置200A〜200Dは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号200を用いて示し、相互に区別する必要がある場合には、符号末尾にA〜Dを付して示すことにする。端末装置200の内部構成要素を示す各符号についても同様である。

0035

結局、このネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置200A〜200Dと、これら複数の端末装置間の接続を仲介する接続仲介装置100と、を備えたシステムということになる。端末装置200としては、パソコン、携帯電話タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置100は、これら各端末装置200A〜200DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。

0036

各端末装置200A〜200Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置100は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置200A,200B,200C,200Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。

0037

なお、先願基本発明を実施する上で、端末IDは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、4台の端末装置しか用いられていないため、「0010」のような4桁の数字を端末IDとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなIDを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話を端末装置として用いる場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることが可能である。

0038

各端末装置200A〜200Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置200A,200B,200C,200Dには、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークNとしてインターネットを用い、通信プロトコルとしてIPを利用する場合は、個々の端末装置200のネットワークN上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT−IDを用いるのが好ましい。

0039

端末IDが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークNを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点置型の端末装置の場合も、プロバイダから付与されるIPアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。

0040

後述するように、先願基本発明に用いる端末装置200は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークNを介して接続仲介装置100に通知する機能を有している。このため、接続仲介装置100は、各端末装置200A〜200Dの最新アドレスを常に把握することができ、必要に応じて、各端末装置200A〜200Dにアクセスすることが可能である。

0041

図示のとおり、接続仲介装置100には、アドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130が設けられている。前述したとおり、この接続仲介装置100は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。

0042

アドレステーブル格納部110には、各端末装置200A〜200Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTが格納されており、アドレステーブル更新部120は、各端末装置200A〜200Dからの通知に基づいて、このアドレステーブルTの内容を更新する処理を行う。また、通信先アドレス返信部130は、各端末装置200A〜200Dから接続仲介依頼があると、アドレステーブルTを参照することにより、通信先アドレスを返信する処理を行う。

0043

図には、アドレステーブルTとして、4台の端末装置200A〜200Dのそれぞれについて、端末IDと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置200Aについては端末ID「0010」と所在アドレス「AD1」とが対応づけられ、端末装置200Bについては端末ID「0020」と所在アドレス「AD2」とが対応づけられ、端末装置200Cについては端末ID「0030」と所在アドレス「AD3」とが対応づけられ、端末装置200Dについては端末ID「0040」と所在アドレス「AD4」とが対応づけられている。

0044

続いて、図2を参照しながら、端末装置200の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置200には、接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信開始要求部240、自己アドレス通知部250、通信元セッション確立部260が設けられている。

0045

この端末装置200も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置200には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置200がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置200には、ユーザからの指示入力文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。

0046

結局、図2において、端末装置200内に6つのブロックとして描かれている構成要素は、先願基本発明に係る端末装置200において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の3通りの矢印が用いられている。ここで、太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立後の信号の流れを示している。

0047

また、図2では、端末装置200内の6つの構成要素が、楕円矩形、二重矩形という3通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置200が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置200が「通信先」として機能する場合に必要な処理を実行する構成要素である。

0048

本願において、「通信元」および「通信先」という用語は、2台の端末装置が相互に通信を行う場合に、これら2台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば,2台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。

0049

もちろん、端末装置200は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図2に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図2に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置200の6つの構成要素の各機能を順に説明する。

0050

上述したように、楕円ブロックで示されている自己アドレス通知部250は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理を実行する。所在アドレスとしてIPアドレスを用いるのであれば、自己アドレス通知部250は、現時点で自己に付与されたIPアドレスをネットワークNを介して接続仲介装置100に通知する処理を行うことになる。

0051

通常、インターネットに接続可能な端末装置200には、インターネットプロバイダから所定のグローバルIPアドレスが付与されるので、自己アドレス通知部250は、端末装置200に付与されたグローバルIPアドレスを、所在アドレスとして接続仲介装置100に対して通知すればよい。また、ルータのNAT機能を利用して、プライベートIPアドレスが付与されている場合には、NAT−IDを所在アドレスとして接続仲介装置100に対して通知すればよい。所在アドレスを通知する際には、端末IDを同時に送信するようにする。

0052

図1に示すアドレステーブル更新部120は、このような通知を受けて、アドレステーブルTの更新を行う。たとえば、端末装置200Aから接続仲介装置100に対して、端末ID「0010」と所在アドレス「AD1」とが通知された場合、アドレステーブル更新部120は、端末ID「0010」と所在アドレス「AD1」とを対応づけてアドレステーブルTに格納する処理を行う。

0053

前述したとおり、一般的な端末装置200の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部250には、所定周期で繰り返して、現時点の自己(端末装置200)の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部250が1分おきに繰り返し通知を行うようにすれば、アドレステーブルTは1分おきに最新の情報に更新されることになる。

0054

あるいは、自己アドレス通知部250には、自己(端末装置200)の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。

0055

次に、図2に矩形ブロックで示されている4つの構成要素について説明する。上述したように、これら4つの構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する。

0056

まず、通信要求受付部220は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置200(通信元)のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置(通信先)に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力(たとえば、タッチパネル上での操作)として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。

0057

接続仲介依頼部210は、通信要求受付部220によって通信要求が受け付けられたときに、接続仲介装置100に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末IDであってもよいし、当該端末IDを特定することが可能な別な情報であってもかまわない(詳細は、§3−1で述べる)。

0058

こうして、接続仲介依頼部210から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置100へと伝達される(前述したように、図における太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置100からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図1に示す通信先アドレス返信部130の機能によるものである。

0059

すなわち、通信先アドレス返信部130は、端末装置200の接続仲介依頼部210から、接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置200である。要するに、通信先アドレス返信部130は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルTを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。

0060

このように、接続仲介依頼部210によって接続仲介依頼を行うと、接続仲介装置100からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部240によって受信される。通信開始要求部240は、この通信先アドレスにネットワークNを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置200(通信元)から別な1台の端末装置200(通信先)に宛てた信号ということになる。

0061

このように、通信開始要求部240によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる(図の右側の細線矢印:この返信処理については、通信先の別な端末装置の通信先セッション確立部230の処理として後述する)。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部260によって受信される。通信元セッション確立部260は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図2の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。

0062

以上、図2に矩形ブロックで示されている4つの構成要素、すなわち、端末装置200が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図2に二重矩形ブロックで示されている構成要素、すなわち、端末装置200が「通信先」として機能する場合に処理を実行する構成要素について説明する。

0063

図2において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部230である。この通信先セッション確立部230は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら(図の左側の下向き細線矢印)、当該通信元の別な端末装置に対して通信開始受諾確認を送信し(図の左側の上向き細線矢印)、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図2の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。

0064

結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部260と通信先端末装置の通信先セッション確立部230との間で行われることになる。別言すれば、図2の右端の白抜矢印は、ネットワークNを介して、図2の左端の白抜矢印に連なることになる。

0065

<1−2. 第1の実施形態における具体的な通信手順>
これまで、図1および図2を参照しながら、先願基本発明の第1の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置100および端末装置200の各構成要素およびその機能を説明した。ここでは、この第1の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。

0066

図3は、図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでは、端末装置200C,200Dの図示は省略するが、自己アドレス通知部250の機能は同じである。なお、前述したとおり、接続仲介装置100と各端末装置200A,200Bとの間の情報のやりとり(太線矢印で示す)は、実際にはネットワークNを介して行われるが、ここでは説明の便宜上、ネットワークNの図示は省略する。

0067

図3に示す端末装置200A,200Bは、図2に示す端末装置200と同様に6つの構成要素を有している。すなわち、端末装置200Aは、構成要素210A〜260Aを有し、端末装置200Bは、構成要素210B〜260Bを有しており、これら各構成要素は、図2に示す構成要素210〜260と同一のものである(符号末尾のA,Bは、いずれの端末装置の構成要素であるかを区別するために付したものである)。なお、この図3は、端末装置200A,200Bの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部250A,250B以外の構成要素のブロックは破線で示してある。

0068

自己アドレス通知部250A,250Bは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100内のアドレステーブル更新部120に対して通知する処理を行う。図3には、自己アドレス通知部250Aからアドレステーブル更新部120への通知として、「0010:AD1」なるデータが送信されている例が示されているが、これは、自己の端末ID「0010」とともに自己の現時点での所在アドレス「AD1」を送信していることを示している。同様に、自己アドレス通知部250Bからアドレステーブル更新部120への通知として、「0020:AD2」なるデータが送信されている例が示されているが、これは、自己の端末ID「0020」とともに自己の現時点での所在アドレス「AD2」を送信していることを示している。

0069

各端末装置200A,200Bの自己アドレス通知部250A,250Bから、このような通知を受けたアドレステーブル更新部120が、当該通知に基づいて、アドレステーブルTの内容を更新する処理を行う点は、既に§1−1で述べたとおりである。また、自己アドレス通知部250A,250Bが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§1−1で述べたとおりである。

0070

このように、自己アドレス通知部250が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置100内のアドレステーブルTを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置100による正しい仲介処理が実現できるのである。

0071

続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図4は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。この図4においても、図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでも、接続仲介装置100と端末装置200Aとの間の情報のやりとり(太線矢印で示す)や、端末装置200A,200B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。

0072

また、ここでは、説明の便宜上、端末装置200Aを通信元、端末装置200Bを通信先とした場合の手順を説明する。このため、図4では、通信元端末装置200A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置200B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。

0073

一方、図5は、図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図4のブロック図を参照しながら、図5の流れ図に従って、第1の実施形態における具体的な通信手順を説明する。なお、図4のブロック図において、各矢印に付された符号S1〜S7は、図5の流れ図における各ステップS1〜S7に対応するものである。逆に、図5の流れ図の各ステップにおいて、括弧書きで示された符号は、図4のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。

0074

まず、ステップS1において、通信要求受付処理が行われる。これは、図4に示す通信要求受付部220Aによって行われる処理であり、たとえば、通信元端末装置200AのユーザAが、通信先端末装置200BのユーザBに対して電話をしたい、という場合に、ユーザAの操作入力に基づいて行われる処理である。たとえば、各端末装置200A,200Bが携帯電話であり、端末IDとして、それぞれの電話番号を用いている場合は、ユーザAは端末装置200Aに対して、端末装置200Bの端末ID(電話番号)を入力する操作を伴う通信要求S1を行えばよい。すなわち、端末装置200Aの通信要求受付部220Aは、自己を通信元として、通信先の別な端末装置200Bに対する通信要求S1を受け付ける処理を行うことになる。

0075

なお、通信要求受付部220Aが通信要求S1を受け付けるのは、必ずしもユーザAが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザA,Bが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。あるいは、端末装置200A,200Bが何らかのビジネス処理を行うパソコンであり、パソコン200Aに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン200Bに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。このように、先願基本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。

0076

こうして、ステップS1において通信要求受付が行われると、続くステップS2において、接続仲介依頼が行われる。これは、図4に示す接続仲介依頼部210Aによって行われる処理であり、既に述べたとおり、接続仲介装置100に対して、通信先の別な端末装置200Bの端末IDを特定するための通信先特定情報を含む接続仲介依頼S2を送信する処理である。

0077

なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛アクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部210Aから接続仲介依頼S2を送信する際には、自己の所在アドレス「AD1」が接続仲介装置100側に伝達されることになる。後述するステップS4における返信処理は、この所在アドレス「AD1」宛に行われる。

0078

こうして、通信元端末装置200Aの接続仲介依頼部210Aから、接続仲介装置100へ接続仲介依頼が送信されてくると、ステップS3において、この接続仲介依頼を受けた通信先アドレス返信部130が、アドレステーブル格納部110に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0020」)に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルTが、図1に示すようなものであったとすると、端末ID「0020」に対応づけられているアドレス「AD2」が通信先アドレスとして認識される。

0079

そこで、ステップS4において、通信先アドレス返信部130が、ステップS3で認識した通信先アドレス「AD2」を返信する処理を行う。もちろん、返信相手は、ステップS2において接続仲介依頼を行った通信元端末装置200Aである。前述したとおり、接続仲介依頼S2には通信元端末装置200Aの所在アドレス「AD1」の情報が含まれているので、通信先アドレス返信部130は、当該所在アドレス「AD1」宛に、通信先アドレス「AD2」を返信することができる。

0080

こうして、通信先アドレス返信部130から通信先アドレス返信S4(通信先アドレス「AD2」を伝達する情報)が送信されてくると、当該通信先アドレス返信S4は、通信開始要求部240Aによって受信される。結局、通信元端末装置200Aが、接続仲介装置100に対して接続仲介依頼S2を行うと、この接続仲介依頼S2に応じて、接続仲介装置100から、通信先端末装置200Bのネットワーク上での所在を示す通信先アドレス「AD2」が返信されてくることになる。接続仲介装置100に用意されているアドレステーブルTは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「AD2」は、通信先端末装置200Bの最新の所在アドレスということになる。

0081

そこで、この通信先アドレス返信S4により、通信先アドレス「AD2」を取得した通信開始要求部240Aは、ステップS5において、通信先端末装置200Bに対して通信開始要求S5を行う。すなわち、ネットワークNを介して、通信先アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。

0082

通信先アドレス「AD2」宛に行われた通信開始要求S5は、通信先端末装置200Bの通信先セッション確立部230Bによって受信される。通信先セッション確立部230Bは、通信元端末装置200Aから、自己(端末装置200B)を通信先とする通信開始要求S5がなされたら、まず、ステップS6において、ネットワークNを介して通信元端末装置200Aに対して通信開始受諾確認S6を送信する。そして、続くステップS7において、通信元端末装置200Aとの間に通信セッションを確立して通信S7を開始する。

0083

一方、通信元端末装置200A宛に送信されてきた通信開始受諾確認S6は、通信元セッション確立部260Aによって受信される。そして、ステップS7では、この通信開始受諾確認S6を受信した通信元セッション確立部260Aが、通信先端末装置200Bとの間に通信セッションを確立して通信S7を開始する処理も行われる。要するに、通信元端末装置200A側では、通信開始要求S5に応じて、通信先端末装置200Bから通信開始受諾確認S6が返信されてきたら、当該通信先端末装置200Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。

0084

かくして、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信S7が行われることになる。この図5に示す流れ図において、接続仲介装置100が行った処理は、ステップS3のアドレステーブル参照処理とステップS4の通信先アドレス返信処理だけである。すなわち、接続仲介装置100が行う仲介処理は、通信元端末装置200Aからの接続仲介依頼S2を受けて、アドレステーブルTを参照し(ステップS3)、得られた通信先アドレスを通信元端末装置200Aに対して返信する(ステップS4)だけである。接続仲介装置100がこのような仲介処理を行うだけで、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信が開始することになる。

0085

このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第1の実施形態に係るシステムの場合、接続仲介装置100は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。

0086

このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100が通信セッション確立まで関与しないため、接続仲介装置100は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部260Aもしくは通信先セッション確立部230Bから接続仲介装置100に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。

0087

なお、上述の実施例では、通信先セッション確立部230Bが、通信元端末装置200Aから、自己を通信先とする通信開始要求S5がなされた時に、ステップS6において、当該通信元端末装置200Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S5を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。すなわち、通信先セッション確立部230Bに何らかの条件判断機能をもたせておき、通信開始要求S5がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。

0088

たとえば、通信先端末装置200BのユーザBが、通信先セッション確立部230に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求S5に、通信元端末装置200Aを特定するための何らかの通信元特定情報(たとえば、端末ID)を含ませるようにしておけば、通信先セッション確立部230Bは、通信開始要求S5を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。

0089

たとえば、通信先セッション確立部230Bに、通信開始要求S5を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始要求S5を常に受諾する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信先セッション確立部230Bは、当該リストを参照することにより、通信開始要求S5を受諾するか拒絶するかの判断を行うことができる。

0090

また、§3−3で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S5に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。

0091

<<< §2.先願基本発明の第2の実施形態 >>>
<2−1. 先願基本発明の第2の実施形態の構成>
続いて、先願基本発明の第2の実施形態を説明する。図6は、この第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置300と複数の端末装置400A〜400Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。

0092

ここでも、説明の便宜上、4台の端末装置400A〜400Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置400A〜400Dは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号400を用いて示し、相互に区別する必要がある場合には、符号末尾にA〜Dを付して示すことにする。端末装置400の内部構成要素を示す各符号についても同様である。

0093

この図6に示すネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置400A〜400Dと、これら複数の端末装置間の接続を仲介する接続仲介装置300と、を備えたシステムということになる。やはり端末装置400としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置300は、これら各端末装置400A〜400DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。

0094

各端末装置400A〜400Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置300は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末IDとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。

0095

また、各端末装置400A〜400Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dに、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルIPアドレスもしくはNAT−IDを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。

0096

図示のとおり、接続仲介装置300には、アドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330が設けられている。この接続仲介装置300は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。

0097

アドレステーブル格納部310は、図1に示すアドレステーブル格納部110と同じ構成要素であり、各端末装置400A〜400Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTを格納する機能を有する。図6に示すアドレステーブルTは、図1に示すアドレステーブルTと全く同じものである。アドレステーブル更新部320は、図1に示すアドレステーブル更新部120と同じ構成要素であり、各端末装置400A〜400Dからの通知に基づいて、アドレステーブルTの内容を更新する処理を行う。このように、図6に示す構成要素310,320は、実質的に図1に示す構成要素110,120と同じものであるため、ここでは詳細な説明は省略する。

0098

一方、通信元アドレス送信部330は、図1に示す通信先アドレス返信部130に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部330は、各端末装置400A〜400Dから接続仲介依頼があると、アドレステーブルTを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。

0099

続いて、図7を参照しながら、端末装置400の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置400には、接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信開始要求部440、自己アドレス通知部450、通信先セッション確立部460が設けられている。

0100

この端末装置400も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置400にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。

0101

この図7においても、図2と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立後の信号の流れを示している。

0102

また、図2と同様に、図7に楕円ブロックで示されている構成要素は、端末装置400が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置400が、「通信元」になったときには、図7に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図7に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図7に示す端末装置400の6つの構成要素の各機能を順に説明する。

0103

まず、楕円ブロックで示されている自己アドレス通知部450は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置300に対して通知する処理を実行する。この自己アドレス通知部450の機能は、図2に示す自己アドレス通知部250の機能と全く同じであるため、ここでは詳しい説明は省略する。図6に示すアドレステーブル更新部320は、この通知を受けて、アドレステーブルTの更新を行う。

0104

次に、図7に矩形ブロックもしくは二重矩形ブロックで示されている5つの構成要素について説明する。上述したように、矩形ブロックで示されている3つの構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている2つの構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する。

0105

まず、通信要求受付部420は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図2に示す通信要求受付部220と全く同じ機能をもつ構成要素である。また、接続仲介依頼部410は、通信要求受付部420によって通信要求が受け付けられたときに、接続仲介装置300に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図2に示す接続仲介依頼部210と全く同じ機能をもつ構成要素である。

0106

こうして、接続仲介依頼部410から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置300へと伝達される(図における太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置300からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部440によって受信される。

0107

ここで留意すべき点は、接続仲介装置300からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図7に示す例において、矩形ブロックで示す接続仲介依頼部410は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部440は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部410と、これに応じて接続仲介装置300から送信されてくる通信元アドレスを受信する通信開始要求部440とは、それぞれ異なる端末装置400に所属していることになる。

0108

要するに、図6に示されている通信元アドレス送信部330は、ある端末装置400の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。

0109

この通信元アドレス送信部330の処理機能をより明確にするため、ここでは、図6に示す端末装置400Bを通信元、端末装置400Aを通信先とした具体例(たとえば、端末装置400BのユーザBが発呼側となり、端末装置400AのユーザAを着呼側として電話をかけたような場合)について、上記手順を説明しよう。

0110

この場合、通信元端末装置400Bから接続仲介装置300に対して、端末装置400Aを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部330は、アドレステーブルTを参照することにより、通信先として指定された端末装置400Aの所在アドレス「AD1」を認識する。前述した第1の実施形態における通信先アドレス返信部130は、こうして認識した通信先の所在アドレスを通信元(接続仲介依頼の送信元)に返信する処理を行っていた。これに対して、図6に示す第2の実施形態における通信元アドレス送信部330は、認識した通信先の所在アドレス「AD1」に宛てて、通信元端末装置400Bの所在を示す通信元アドレス「AD2」(これは、接続仲介依頼の送信元のアドレスとして認識できる)を送信する。

0111

結局、上例の場合、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼を行うと、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス(通信元端末装置400Bの所在アドレス「AD2」)が送信されることになる。ここが、前述した第1の実施形態と大きく異なる点である。

0112

こうして送信されてきた通信元アドレスは、図7に示すとおり、通信先端末装置400A内の通信開始要求部440によって受信される。通信開始要求部440は、この通信元アドレス(通信元端末装置400Bのアドレス)に対して通信開始要求を行う。すなわち、通信開始要求部440は、接続仲介装置300から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークNを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置400(通信先)から別な1台の端末装置400(通信元)に宛てた信号ということになる。

0113

一方、通信先の別な端末装置(上例の場合、端末装置400A)から通信開始要求がなされた端末装置(上例の場合、端末装置400B)は、当該通信開始要求を通信元セッション確立部430で受信する(図の左側の下向き細線矢印)。そして、この通信元セッション確立部430は、通信先の別な端末装置(上例の場合、端末装置400A)に対して通信開始受諾確認を返信し(図の左側の上向き細線矢印)、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図7の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。

0114

こうして、通信元端末装置400Bから通信先端末装置400Aに対して返信された通信開始受諾確認は、通信先端末装置400Aの通信先セッション確立部460によって受信される(図の右側の細線矢印)。通信先セッション確立部460は、この通信開始受諾確認を受信したら、通信元の別な端末装置400Bとの間に通信セッションを確立して通信を開始する。図7の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。

0115

かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部430と通信先端末装置の通信先セッション確立部460との間で行われることになる。別言すれば、図7の左端の白抜矢印は、ネットワークNを介して、図7の右端の白抜矢印に連なることになる。

0116

<2−2. 第2の実施形態における具体的な通信手順>
これまで、図6および図7を参照しながら、先願基本発明の第2の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置300および端末装置400の各構成要素およびその機能を説明した。ここでは、この第2の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。

0117

まず、図7に示す端末装置における自己アドレス通知部450の機能であるが、これは図3を用いて説明した自己アドレス通知部250A,250Bの機能と全く同じであるため、ここでは説明を省略する。

0118

そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図8は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。この図8では、図の上段に接続仲介装置300が示され、図の下段に2組の端末装置400A,400Bが示されている。ここでも、接続仲介装置300と各端末装置400A,400Bとの間の情報のやりとり(太線矢印で示す)や、端末装置400A,400B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。

0119

また、ここでは、説明の便宜上、端末装置400Bを通信元、端末装置400Aを通信先とした場合の手順を説明する。このため、図8では、通信元端末装置400B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置400A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。

0120

一方、図9は、図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図8のブロック図を参照しながら、図9の流れ図に従って、第2の実施形態における具体的な通信手順を説明する。なお、図8のブロック図において、各矢印に付された符号S11〜S17は、図9の流れ図における各ステップS11〜S17に対応するものである。逆に、図9の流れ図の各ステップにおいて、括弧書きで示された符号は、図8のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。

0121

まず、ステップS11において、通信要求受付処理が行われる。これは、図8に示す通信要求受付部420Bによって通信要求を受け付ける処理であり、図5のステップS1で述べた処理と同様であるため説明は省略する。続くステップS12では、この通信要求に基づいて、接続仲介依頼S12が行われる。これは、図8に示す接続仲介依頼部410Bによって行われる処理であり、図5のステップS2で述べた処理と同様であるため説明は省略する。

0122

こうして、通信元端末装置400Bの接続仲介依頼部410Bから、接続仲介装置300へ接続仲介依頼S12(図示の例では、通信先特定情報として、通信先端末装置400Aの端末ID「0010」が含まれている)が送信されてくると、ステップS13において、この接続仲介依頼S12を受けた通信元アドレス送信部330が、アドレステーブル格納部310に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0010」)に対応づけられている所在アドレスを通信先アドレスとして認識する(S13)。たとえば、その時点におけるアドレステーブルTが、図6に示すようなものであったとすると、端末ID「0010」に対応づけられているアドレス「AD1」が通信先アドレスとして認識される。

0123

そこで、ステップS14において、通信元アドレス返信部330が、ステップS13で認識した通信先アドレス「AD1」宛に、接続仲介依頼S12を送信した通信元端末装置400Bの端末ID「0020」に対応づけられている所在アドレス「AD2」を通信元アドレスとして送信する(S14)。

0124

前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部330は、接続仲介依頼S12を受信した時点で、その送信元である端末装置400Bの所在アドレス「AD2」を認識することができるので、通信元アドレス送信S14を行う際には、この認識した所在アドレス「AD2」をデータとして送信すればよい。

0125

このように、通信元端末装置400Bが、接続仲介装置300に対して接続仲介依頼S12を行うと、この接続仲介依頼S12に応じて、接続仲介装置300から、通信先端末装置400A宛に(アドレステーブルTで検索した所在アドレス「AD1」宛に)、通信元端末装置400Bの所在を示す通信元アドレス「AD2」が送信されることになる。接続仲介装置300に用意されているアドレステーブルTは、常に最新の状態に更新されているので、通信元アドレス送信S14は、常に通信先端末装置400Aの最新の所在アドレスに対して行われることになる。

0126

こうして、通信元アドレス送信部330から通信元アドレス送信S14(通信元アドレス「AD2」を伝達する情報)が送信されてくると、当該通信元アドレス送信S14は、通信先端末装置400Aの通信開始要求部440Aによって受信される。

0127

この通信元アドレス送信S14により、通信元アドレス「AD2」を取得した通信開始要求部440Aは、ステップS15において、通信元端末装置400Bに対して通信開始要求S15を行う。すなわち、ネットワークNを介して、通信元アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。

0128

通信元アドレス「AD2」宛に行われた通信開始要求S15は、通信元端末装置400Bの通信元セッション確立部430Bによって受信される。通信元セッション確立部430Bは、通信先端末装置400Aから、自己(端末装置400B)を通信元とする通信開始要求S15がなされたら、まず、ステップS16において、ネットワークNを介して通信先端末装置400Aに対して通信開始受諾確認S16を送信する。そして、続くステップS17において、通信先端末装置400Aとの間に通信セッションを確立して通信S17を開始する。

0129

一方、通信先端末装置400A宛に送信されてきた通信開始受諾確認S16は、通信先セッション確立部460Aによって受信される。そして、ステップS17では、この通信開始受諾確認S16を受信した通信先セッション確立部460Aが、通信元端末装置400Bとの間に通信セッションを確立して通信S17を開始する処理も行われる。要するに、通信先端末装置400A側では、通信開始要求S15に応じて、通信元端末装置400Bから通信開始受諾確認S16が返信されてきたら、当該通信元端末装置400Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。

0130

かくして、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信S17が行われることになる。この図9に示す流れ図において、接続仲介装置300が行った処理は、ステップS13のアドレステーブル参照処理とステップS14の通信元アドレス送信処理だけである。すなわち、接続仲介装置300が行う仲介処理は、通信元端末装置400Bからの接続仲介依頼S12を受けて、アドレステーブルTを参照し(ステップS13)、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する(ステップS14)だけである。接続仲介装置300がこのような仲介処理を行うだけで、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信が開始することになる。

0131

このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、第1の実施形態に係るネットワーク通信システムと同様に、接続仲介装置300の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第2の実施形態に係るシステムの場合、接続仲介装置300は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。

0132

このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、接続仲介装置300が通信セッション確立まで関与しないため、接続仲介装置300は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部430Bもしくは通信先セッション確立部460Aから接続仲介装置300に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。

0133

なお、上述の実施例では、通信先端末装置400Aの通信開始要求部440Aが、接続仲介装置300からの通信元アドレス送信S14を受信したときに、ステップS15において、自動的に通信開始要求S15を送信しているが、場合によっては、通信開始要求部440Aに何らかの条件判断機能をもたせておき、通信元アドレス送信S14を受信したときに、所定の条件を満たしている場合に限り、通信開始要求S15を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求S15の代わりに、通信開始拒絶通知を送信するようにしてもよい。

0134

たとえば、通信開始要求部440Aに、通信開始を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始を常に許可する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信開始要求部440Aは、当該リストを参照することにより、通信元アドレス送信S14によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求S15の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求S15を送信するような運用を行うことも可能である。

0135

また、上述の実施例では、通信元セッション確立部430Bが、通信先端末装置400Aから、自己を通信元とする通信開始要求S15がなされた時に、ステップS16において、当該通信先端末装置400Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S15を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。

0136

たとえば、§3−4で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S15に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。

0137

<<< §3. 先願基本発明の第1および第2の実施形態の変形例 >>>
ここでは、§1で述べた先願基本発明の第1の実施形態および§2で述べた先願基本発明の第2の実施形態について、いくつかの変形例を述べる。

0138

<3−1.端末IDに関する変形例>
これまで述べてきたように、図1の接続仲介装置100内のアドレステーブル格納部110には、アドレステーブルTが格納されている。図6の接続仲介装置300内のアドレステーブル格納部310も同様である。このアドレステーブルTは、個々の端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部130もしくは通信元アドレス送信部330は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルTを参照し、通信先の所在アドレスを取得する。

0139

たとえば、図4に示す第1の実施形態の場合、接続仲介依頼S2には、通信先端末装置200Bの端末ID「0020」が通信先特定情報として含まれており、通信先アドレス返信部130は、アドレステーブルTを参照することにより、端末ID「0020」に対応する所在アドレス「AD2」を取得することができる。同様に、図8に示す第2の実施形態の場合、接続仲介依頼S12には、通信先端末装置400Aの端末ID「0010」が通信先特定情報として含まれており、通信元アドレス送信部330は、アドレステーブルTを参照することにより、端末ID「0010」に対応する所在アドレス「AD1」を取得することができる。

0140

このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末IDを用いていた。この端末IDは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話として機能する端末装置の場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることができる。

0141

ただ、一般に、ユーザが、他のユーザの端末装置についての端末IDを記憶することは困難である。したがって、通信要求を行う際に、これらの端末IDを、ユーザ自身直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末IDで通信先を指定する代わりに、ユーザIDで通信先を指定させるようにするのが好ましい。端末IDが個々の端末装置を識別するためのIDであるのに対して、ユーザIDは個々のユーザを識別するためのIDである。一般的には、ユーザ名やニックネームをユーザIDとして用いることができる。

0142

端末IDの代わりにユーザIDを用いて通信要求を行うことができるようにするには、通信要求受付部220,420内に、ユーザIDと端末IDとの対応表を用意しておけばよい。そして、ユーザが特定のユーザID(たとえば、ユーザ名)を指定して通信要求を行ったときに、通信要求受付部220,420が、用意されている対応表を利用してユーザIDを端末IDに変換して接続仲介依頼部210,410へ引き渡すようにすればよい。そうすれば、接続仲介依頼部210,410は、端末IDを含む接続仲介依頼を送信することができる。このようなユーザID(たとえば、ユーザ名)から端末ID(たとえば、電話番号)への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。

0143

端末IDの代わりにユーザIDを利用できるようにする別な方法として、ユーザIDと端末IDとの対応表を接続仲介装置100,300側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部110,310内に、図1図6に示すアドレステーブルTの代わりに、図10に示すようなアドレステーブルT1を格納しておくようにする。このアドレステーブルT1は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDと、当該端末装置の端末IDと、を対応づける情報を含むテーブルである。

0144

図10では、説明の便宜上、ユーザIDとして、「John」,「Mary」のようなユーザ名を用いた例を示すが、実際には、テーブルに収録されている個々のユーザを相互に識別できるように、各ユーザのフルネームをユーザIDとして登録しておくようにし、もし同姓同名のユーザがいた場合には、相互に区別できるようなユーザIDを登録するようにする。実際には、端末装置200,400の自己アドレス通知部250,450に、このようなユーザIDを接続仲介装置100,300側に申告する機能を設けておき、アドレステーブル更新部120,320に、申告を受けたユーザIDをアドレステーブルT1に登録する機能を設けておけば、図10に示すようなアドレステーブルT1を用意することが可能になる。

0145

アドレステーブルT1を用意しておけば、通信元となる端末装置側では、通信先となる端末装置の端末IDを認識する必要はない。たとえば、図4に示す例において、通信元端末装置200Aから通信先端末装置200Bに対して発呼する場合、通信元端末装置200AのユーザA(John)は、通信先端末装置200BのユーザBのユーザ名「Mary」(ユーザID)を通信先として指定した通信要求を行えばよい。この場合、端末ID「0020」の代わりに、「Mary」なるユーザIDを通信先特定情報として含む接続仲介依頼S2が、接続仲介依頼部210Aから接続仲介装置100へ送信されることになる。

0146

このような接続仲介依頼S2を受信した通信先アドレス返信部130は、図10に示すアドレステーブルT1を参照することにより、通信先特定情報として含まれていたユーザ名「Mary」に対応する端末ID「0020」を認識することができ、更に、この端末ID「0020」をもつ通信先端末装置200Bの所在アドレス「AD2」を認識することができる。

0147

図11は、ユーザIDの代わりにアカウントIDを用いたアドレステーブルT2を示す図である。ユーザIDが、個々のユーザを特定する情報であるのに対して、アカウントIDは、個々のユーザが開設したユーザアカウントを特定する情報である。たとえば、図示の例における「U11111」なるアカウントIDは、ユーザ「John」が開設したユーザアカウントを示すIDであり、「U22222」なるアカウントIDは、ユーザ「Mary」が開設したユーザアカウントを示すIDである。もちろん、個々のユーザは、必要があれば複数のアカウントを開設することが可能である。

0148

端末装置200,400の自己アドレス通知部250,450に、このようなアカウントを開設するための申込機能を設けておき、アドレステーブル更新部120,320に、当該申込に応じて、所定のユーザアカウントを設定し、アカウントIDをアドレステーブルT2に登録する機能を設けておけば、図11に示すようなアドレステーブルT2を用意することが可能になる。

0149

図4に示す例において、アドレステーブル格納部110内に図11に示すようなアドレステーブルT2を用意しておけば、接続仲介依頼部210Aは、端末ID「0020」の代わりに、「U22222」なるアカウントIDを通信先特定情報として含む接続仲介依頼S2を接続仲介装置100へ送信すればよい。

0150

このように、先願基本発明において、接続仲介依頼部から送信される接続仲介依頼には、通信先となる別な端末装置の端末IDを特定する役割を果たす何らかの「通信先特定情報」が含まれていれば足りる。この「通信先特定情報」は、端末ID自身であってもよいし、上例のように、ユーザIDやアカウントIDであってもかまわない。

0151

結局、この§3−1で述べた変形例を§1で述べた第1の実施形態に適用する場合は、図4に示す構成において、アドレステーブル格納部110に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部210Aは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S2を送信するようにする。そして、通信先アドレス返信部130は、接続仲介依頼部210Aから接続仲介依頼S2が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S2に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにすればよい。

0152

一方、この§3−1で述べた変形例を§2で述べた第2の実施形態に適用する場合は、図8に示す構成において、アドレステーブル格納部310に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部410Bは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S12を送信するようにする。そして、通信元アドレス送信部330は、接続仲介依頼部410Bから接続仲介依頼S12が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S12に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレス宛に、通信元アドレスを送信する処理を行うようにすればよい。

0153

<3−2.代替端末を利用する変形例>
前述したとおり、先願基本発明に利用可能な端末装置は、パソコン、携帯電話、タブレット型端末など多岐にわたり、最近は、同一のユーザが複数の端末装置を使い分けることも珍しくなくなってきている。ここでは、そのような状況を考慮して、特定の端末装置に対する着呼があったときに、当該着呼を同一ユーザの別な端末装置へ誘導する仕組をもった変形例を述べることにする。

0154

ここで述べる変形例を実施する際には、予め、図12に示すようなアドレステーブルT3を用意しておく。このアドレステーブルT3の場合、4組のユーザID「John」,「Mary」,「Frank」,「Susie」について、それぞれ端末IDおよび所在アドレスが登録されているが、ユーザID「John」については2つの端末ID「0010」,「0011」が登録され、ユーザID「Frank」については3つの端末ID「0030」,「0031」,「0032」が登録されている。これは、ユーザJohnが、このネットワーク通信システムに利用可能な2台の端末装置を所有し、ユーザFrankが、3台の端末装置を所有しているためである。

0155

ここで、同一のユーザIDに対応づけられて登録されている複数の端末IDを、1つのグループに所属する端末IDとして把握し、同じグループに所属する1つの端末IDを別な1つの端末IDについての代替端末IDと呼ぶことにすれば、図12に示すアドレステーブルT3は、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルということができる。要するに、同一のユーザ名で複数の端末IDの登録があった場合には、これらの端末IDを同一のグループに所属するものとして把握し、相互に代替端末IDとして認識する取り扱いを行うようにすればよい。

0156

たとえば、図12に示す例の場合、端末ID「0010」については1つの代替端末ID「0011」が登録されており、逆に、端末ID「0011」については1つの代替端末ID「0010」が登録されていることになる。一方、端末ID「0030」については2つの代替端末ID「0031」,「0032」が登録されており、端末ID「0031」については2つの代替端末ID「0030」,「0032」が登録されており、端末ID「0032」については2つの代替端末ID「0030」,「0031」が登録されていることになる。

0157

ここで述べる変形例に係るシステムでは、このような代替端末IDを登録しておくことにより、利用不都合な状態にある端末装置宛に発呼があったときに、当該発呼を代替となる別な端末装置宛に転送させることができる。

0158

たとえば、ユーザJohnが、スマートフォンからなる第1の端末装置(端末ID「0010」)とパソコンからなる第2の端末装置(端末ID「0011」)とを所有しており、通常は、いずれの端末装置も利用可能な状態になっているものとしよう。ところが、ある日、スマートフォンからなる第1の端末装置について、バッテリ切れで一時的に利用できない状態になったとする。この場合、もし、ユーザMaryが、自己の端末装置を通信元として、ユーザJohnのスマートフォンを通信先とする通信要求を行ったとしても、ユーザJohnのスマートフォンに対する正常な接続を行うことはできない。

0159

ここで述べる変形例に係るシステムでは、このような場合、接続仲介装置が、ユーザJohnのスマートフォンの代わりに、その代替となるユーザJohnのパソコンに代替接続する処理を実行することができる。

0160

この§3−2で述べる変形例を§1で述べた先願基本発明の第1の実施形態に適用する場合は、図4に示す構成に対して、次のような変更を施せばよい。

0161

まず、アドレステーブル格納部110には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信先アドレス返信部130には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、たとえば、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。

0162

通信先アドレス返信部130は、接続仲介依頼S2が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにする。

0163

たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信先アドレス返信部130は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」を通信先アドレスとして返信する処理を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。

0164

ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」を通信先アドレスとして返信する処理を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。

0165

一方、この§3−2で述べる変形例を§2で述べた先願基本発明の第2の実施形態に適用する場合は、図8に示す構成に対して、次のような変更を施せばよい。

0166

まず、アドレステーブル格納部310には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信元アドレス送信部330には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、上述したように、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。

0167

通信元アドレス送信部330は、接続仲介依頼S12が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスに対して、接続仲介依頼S12を送信した通信元端末装置の所在アドレスを通信元アドレスとして送信する処理を行うようにする。

0168

たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信元アドレス送信部330は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」宛に通信元アドレスの送信を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。

0169

ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」宛に通信元アドレスの送信を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。なお、図12に示すユーザFrankのように、複数の代替端末IDが登録されている場合は、予め優先順位を定めておき、優先順位の高い順に実際に利用する代替端末IDを決定すればよい。

0170

なお、上述の実施例では、通信先アドレス返信部130や通信元アドレス送信部330は、接続仲介依頼を受信した時点で、本来の通信先に対する試験アクセスを行い、利用不都合な状態にあるか否かを判定する処理を行っているが、その代わりに、個々の端末装置に対して定期的な試験アクセスを行うようにし、利用不都合な状態にある端末装置については、その時点でアドレステーブルにその旨の記録を行うようにしてもよい。この場合、各端末装置は、接続仲介依頼の有無にかかわらず、定期的に試験アクセスを受け、利用不都合な状態にあるか否かのチェックを受けることになり、チェック結果がアドレステーブルに記録されることになる。したがって、実際に接続仲介依頼があった場合は、このアドレステーブルの記録に基づいて利用不都合な状態にあるか否かを判定することができる。

0171

なお、この変形例にいう「利用不都合な状態」とは、バッテリ切れの状態やネットワークへの接続障害が生じた状態のように「利用不能な状態」のみを意味するものではない。たとえば、端末装置の機能としては正常に利用可能な状態ではあるが、ユーザが恣意的に利用したくないと考え、そのような設定を行った状態も含むものである。たとえば、ユーザが自分の意思で「着信拒否」を設定した場合、当該端末装置は「利用不都合な状態」になる。したがって、上例の場合、ユーザJohnが所持するスマートフォンおよびパソコンがいずれも正常動作可能な状態であっても、もしユーザJohnが、スマートフォンに対して「着信拒否」を設定した場合、当該スマートフォンは「利用不都合な状態」になる。

0172

この「着信拒否」の設定(「利用不都合な状態」の設定)は、個々の端末装置内にのみ記録しておいてもよいが、接続仲介装置内のアドレステーブルに記録するようにしてもよい。アドレステーブルに記録しておけば、各端末装置への試験アクセスを行うことなしに、「利用不都合な状態」にあることを認識できる。

0173

<3−3.セキュリティを向上させる変形例(その1)>
ここでは、よりセキュリティを向上させたネットワーク通信システムを構築するための変形例を述べる。一般に、電子機器間でネットワークを介して情報のやりとりを行う場合、相手方の真正性担保することは重要である。真正性が担保されない相手との交信は、クラッカー攻撃を招くおそれがあり、セキュリティ上問題である。先願基本発明に係るネットワーク通信システムの場合、個々の端末装置と接続仲介装置との間の交信や、通信元端末装置と通信先端末装置との間の交信が不可欠であり、実用上、これら装置間通信におけるセキュリティ確保は重要である。

0174

図13は、図4に示す第1の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第1の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。

0175

第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置200Aから接続仲介装置100に対して接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S2を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200および接続仲介装置100には、このような認証処理機能が備わっていることになる。

0176

なお、図示の例の場合、接続仲介装置100から通信元端末装置200Aに対して通信先アドレス返信S4を行う際の相互認証処理は省略されている(通信先アドレス返信S4を示す矢印は実線で描かれている)。これは、接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信先アドレス返信S4を行う際にも、再び相互認証処理を実行するようにしてもかまわない。

0177

また、図13に示すシステムの場合、通信元端末装置200Aから通信先端末装置200Bに対して通信開始要求S5を送信するときにも、通信元端末装置200Aと通信先端末装置200Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S5を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200には、このような認証処理機能が備わっていることになる。

0178

なお、図示の例の場合、通信先端末装置200Bから通信元端末装置200Aに対して通信開始受諾確認S6を行う際の相互認証処理は省略されている(通信開始受諾確認S6を示す矢印は実線で描かれている)。これは、通信開始要求S5を送信するときに、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S6を行う際にも、再び相互認証処理を実行するようにしてもかまわない。

0179

ネットワークを介して接続された一対の装置間において、相手方の真正性を確認するための相互認証処理としては、既に種々の方法が知られているため、ここでは詳しい説明は省略する。一般的には、相手方の暗号鍵を利用した相互認証処理が利用されることが多い。たとえば、公開鍵暗号方式を利用した相互認証処理では、一方の装置で特定の平文データ相手方装置公開鍵を用いて暗号化し、得られた暗号文データを相手方に送信し、これを受信した他方の装置では、当該暗号文データを自己の暗号鍵を用いて復号し、元の平文データが復元できることを確認する、といった処理手順を採ることができる。この処理手順を双方で行えば、相互に相手方の真正性を確認することができる。

0180

なお、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理を、それぞれの暗号鍵を用いて行った場合は、当該暗号鍵を利用して、通信セッション確立後の両者間の通信S7を暗号化通信によって行うようにすれば、セキュリティを更に向上させることができる。具体的には、通信開始要求S5を送信するときの相互認証処理を、通信元端末装置200Aについての暗号鍵および通信先端末装置200Bについての暗号鍵を用いた処理によって行うようにし、通信元端末装置200Aと通信先端末装置200Bとの間における通信セッション確立後の通信S7が、上記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにすればよい。

0181

図13に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置100による仲介証明書発行である。図示の例の場合、接続仲介装置100は、通信元端末装置200Aと通信先端末装置200Bとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置100が発行する証明書である。通信先端末装置200Bは、この仲介証明書により、接続仲介装置100による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。

0182

まず、接続仲介依頼部210Aから通信先アドレス返信部130に対して、接続仲介依頼S2があると、通信先アドレス返信部130は、この接続仲介依頼S2の送信を受けて、通信元となる特定の端末装置200Aから通信先となる特定の端末装置200Bへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信先アドレス返信S4を行う際に、通信先アドレス「AD2」とともにこの仲介証明書を、通信元端末装置200Aに返信する。

0183

したがって、通信開始要求部240Aは、通信先アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部240Aは、当該通信先アドレス「AD2」に対して通信開始要求S5を行う際に、この仲介証明書を併せて送信する。そうすると、通信先セッション確立部230Bは、通信開始要求S5とともに仲介証明書を受信することになる。

0184

通信先セッション確立部230Bは、通信元の別な端末装置200Aから、自己を通信先とする通信開始要求S5とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信元の別な端末装置200Aに対して通信開始受諾確認S6を送信し、当該通信元の別な端末装置200Aとの間に通信セッションを確立して通信S7を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S6の送信を行わず、通信S7も開始しない。

0185

前述したとおり、上例の場合の仲介証明書は、接続仲介装置100が「端末装置200Aから端末装置200Bへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部230Bは、通信開始要求S5の内容が、当該仲介証明書の証明内容合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S5は端末装置200Aから送信されてきており、自分自信は端末装置200Bであるから、「端末装置200Aから端末装置200Bへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。

0186

通信先端末装置200B内の通信先セッション確立部230Bは、通信元端末装置200Aからの通信開始要求S5を受信して、通信元端末装置200Aに対して通信開始受諾確認S6を送信し、通信セッションを確立して通信S7を行う。このとき、受信した通信開始要求S5が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信元端末装置200Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置100を経由した正規の手順を踏まずに、不正な方法により通信開始要求S5がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。

0187

仲介証明書のこのような役割を考慮すると、通信先アドレス返信部130は、たとえば次のような方法で仲介証明書を作成すればよい。まず、接続仲介依頼S2に基づいて、通信元となる特定の端末装置200Aの所在アドレス(図示の例では「AD1」)および通信先となる特定の端末装置200Bの所在アドレス(図示の例では「AD2」)を認識する。そして、これら両所在アドレスを含む仲介証明用データを作成する。たとえば、両所在アドレスの文字列をそのまま連結して「AD1」+「AD2」のような文字列を仲介証明用データとしてもよいし、更に、別な秘密文字列HAPPY」を付加して、「AD1」+「AD2」+「HAPPY」のような文字列を仲介証明用データとしてもよい。

0188

続いて、こうして作成した仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより得られたデータを仲介証明書とすればよい。たとえば、一方向性関数としては、通信元端末装置200Aについての暗号鍵もしくは通信先端末装置200Bについての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。

0189

たとえば、仲介証明用データが、「AD1」+「AD2」+「HAPPY」という文字列によって構成され、当該文字列に、通信先端末装置200Bの公開鍵を利用したハッシュ関数を作用させることにより仲介証明書を作成した場合を例にとってみよう。こうして作成された仲介証明書は、仲介証明用データのハッシュ値ということになる。

0190

一方、通信開始要求S5とともに、上記仲介証明書を受信した通信先セッション確立部230Bは、次のような手順で、当該仲介証明書の正当性を確認することができる。まず、通信開始要求S5の送信元のアドレスとして、通信元端末装置200Aの所在アドレス「AD1」を認識することができる。また、自分自身の所在アドレス「AD2」も認識することができる。そして、予め取り決めがなされていた上記秘密文字列「HAPPY」(この秘密文字列は、当該ネットワーク通信システムの各構成装置のみが知り得るように管理されている)を用いることにより、「AD1」+「AD2」+「HAPPY」という文字列からなる仲介証明用データを作成する。

0191

続いて、この仲介証明用データに対して自分自身の公開鍵を用いたハッシュ関数を作用させることにより仲介証明書を作成する。そして最後に、こうして作成した仲介証明書が通信開始要求S5とともに送信されてきた仲介証明書と一致することを確認すればよい。両者が一致すれば、仲介証明書の正当性が確認されたことになる。もちろん、不一致であれば、正当性は確認できないので、何らかの不正が行われている可能性があると判断できる。すなわち、仲介証明書の正当性が確認できない場合は、通信先セッション確立部230Bが受信した通信開始要求S5は、接続仲介装置100による正規の仲介処理に基づいてなされたものではない、と判断することができる。そのような場合、通信先セッション確立部230Bは、通信開始受諾確認S6の送信を行わず、通信セッションの確立を拒絶することになる。

0192

なお、上例では、「AD1」+「AD2」+「HAPPY」なる仲介証明用データについてのハッシュ値を仲介証明書として用いているが、もちろん、上記仲介証明用データそのものを仲介証明書として用いることも可能である。ただ、十分なセキュリティを確保する上では、仲介証明用データそのものではなく、そのハッシュ値を仲介証明書として用いるのが好ましい。仲介証明用データには、「AD1」や「AD2」といった所在アドレスが含まれているので、クラッカーによる改竄を受けやすい。したがって、実用上は、上例のように、何らかの暗号鍵を利用した一方向性関数を作用させて仲介証明書を作成するのが好ましい。

0193

ハッシュ関数などの一方向性関数を用いて仲介証明書を作成すれば、元の仲介証明用データを復元することはできないので、仲介証明書がクラッカーの手に渡ったとしても、不正な改竄を受ける可能性を低減することができる。不正な改竄を防止するという点では、上例の「HAPPY」のような秘密文字列を付加して仲介証明用データを作成することは有効である。もちろん、仲介証明書を発行した日付、時間、曜日などの変動要素を秘密文字列として用いることも可能である。

0194

<3−4.セキュリティを向上させる変形例(その2)>
上述した§3−3では、§1で述べた先願基本発明の第1の実施形態についてセキュリティを向上させた変形例を述べた。ここでは、§2で述べた先願基本発明の第2の実施形態について、同様の方法でセキュリティを向上させた変形例を述べることにする。

0195

図14は、図8に示す第2の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第2の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。

0196

第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼S12を送信するときに、通信元端末装置400Bと接続仲介装置300との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S12を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。

0197

同様に、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス送信S14を行うときにも、接続仲介装置300と通信先端末装置400Aとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S14を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400および接続仲介装置300には、上述した認証処理機能が備わっていることになる。

0198

また、図14に示すシステムの場合、通信先端末装置400Aから通信元端末装置400Bに対して通信開始要求S15を送信するときにも、通信先端末装置400Aと通信元端末装置400Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S15を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400には、このような認証処理機能が備わっていることになる。

0199

なお、図示の例の場合、通信元端末装置400Bから通信先端末装置400Aに対して通信開始受諾確認S16を行う際の相互認証処理は省略されている(通信開始受諾確認S16を示す矢印は実線で描かれている)。これは、通信開始要求S15を送信するときに、通信先端末装置400Aと通信元端末装置400Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S16を行う際にも、再び相互認証処理を実行するようにしてもかまわない。

0200

相互認証処理の具体的な方法は、既に§3−3で述べたとおりである。また、この図14に示す変形例の場合も、相互認証処理に用いた暗号鍵を利用して、通信セッション確立後の両端末装置間の通信S17を暗号化通信によって行うようにしてもよい。

0201

図14に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置300による仲介証明書の発行である。図示の例の場合、接続仲介装置300は、通信元端末装置400Bと通信先端末装置400Aとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置300が発行する証明書である。通信元端末装置400Bは、この仲介証明書により、接続仲介装置300による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。

0202

まず、接続仲介依頼部410Bから通信元アドレス送信部330に対して、接続仲介依頼S12があると、通信元アドレス送信部330は、この接続仲介依頼S12の送信を受けて、通信元となる特定の端末装置400Bから通信先となる特定の端末装置400Aへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信元アドレス返信S14を行う際に、通信元アドレス「AD2」とともにこの仲介証明書を、通信先端末装置400Aに返信する。

0203

したがって、通信開始要求部440Aは、通信元アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部440Aは、当該通信元アドレス「AD2」に対して通信開始要求S15を行う際に、この仲介証明書を併せて送信する。そうすると、通信元セッション確立部430Bは、通信開始要求S15とともに仲介証明書を受信することになる。

0204

通信元セッション確立部430Bは、通信先の別な端末装置400Aから、自己を通信元とする通信開始要求S15とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信先の別な端末装置400Aに対して通信開始受諾確認S16を送信し、当該通信先の別な端末装置400Aとの間に通信セッションを確立して通信S17を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S16の送信を行わず、通信S17も開始しない。

0205

前述したとおり、上例の場合の仲介証明書は、接続仲介装置300が「端末装置400Bから端末装置400Aへの仲介処理を実行した」ことを証明するものであるから、通信元セッション確立部430Bは、通信開始要求S15の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S15は端末装置400Aから送信されてきており、自分自信は端末装置400Bであるから、「端末装置400Bから端末装置400Aへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。

0206

通信元端末装置400B内の通信元セッション確立部430Bは、通信先端末装置400Aからの通信開始要求S15を受信して、通信先端末装置400Aに対して通信開始受諾確認S16を送信し、通信セッションを確立して通信S17を行う。このとき、受信した通信開始要求S15が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信先端末装置400Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置300を経由した正規の手順を踏まずに、不正な方法により通信開始要求S15がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。

0207

仲介証明書の具体的な作成方法は、§3−3で述べたとおりである。すなわち、この図14に示す変形例の場合も、通信元アドレス送信部330は、通信元となる特定の端末装置400Bの所在アドレス「AD2」および通信先となる特定の端末装置400Aの所在アドレス「AD1」を含む仲介証明用データ(必要に応じて、その他の秘密文字列を付加してもよい)に対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成すればよい。一方向性関数としては、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。このような仲介証明書を用いた正当性確認の具体的な手順は、既に§3−3で述べたとおりであり、ここでは説明を省略する。

0208

<<< §4.ルータを用いた実用的な実施形態 >>>
これまで述べてきた先願基本発明の第1の実施形態や第2の実施形態では、各発明の基本原理を示す便宜上、各端末装置200A〜200D,400A〜400DがネットワークN(インターネット)に直接接続されている状態を示す図(図1図6参照)を用いて説明を行ってきた。しかしながら、通常、各端末装置は、ルータを介してネットワークN(インターネット)に接続される。そこで、ここでは、先願基本発明について、端末装置をルータを介してネットワークに接続した実用的な実施形態を説明する。

0209

<4−1.ルータを用いた基本的な実施例>
図15は、端末装置をルータを介してネットワークNに接続した先願基本発明の一実施形態を示すブロック図である。具体的には、この図15には、3台の端末装置200E,200F,200Gが、同一のルータRを介してネットワークN(インターネット)に接続された状態が示されている。

0210

既に述べたとおり、先願基本発明における端末装置200は、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する電子機器であれば、どのような装置であってもかまわない。最近は、企業内LANや家庭内LANが普及し、パソコンやタブレット型端末は、通常、企業や家庭に設置されたルータ経由でインターネットへ接続される。また、最近の携帯電話通信網では、ルータの機能を有する基地局が利用されてきており、携帯電話は、このルータ機能を有する基地局経由でインターネットに接続することができる。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ