{中継通信システムの全体構成}
以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、中継通信システムの全体構成を示す図である。中継通信システムは、LAN1、2、WAN3から構成される。LAN1、2は、遠隔に構築される小規模なネットワークである。WAN3は、インターネットなどの大規模なネットワークである。
LAN1は、クライアント端末11、中継サーバ12から構成される。LAN2は、クライアント端末21、中継サーバ22から構成される。WAN3は、SIP(Session Initiation Protocol)サーバ31から構成される。
クライアント端末11、21は、パーソナルコンピュータなどである。中継サーバ12、22は、クライアント端末11、21の相互間の通信を中継する。SIPサーバ31は、中継サーバ12、22の相互間の通信を中継する。
本実施の形態においては、中継サーバ12、22の相互間の通信プロトコルとして、SIPを利用するが、SIP以外のプロトコルを利用してもよい。SIP以外のプロトコルを利用するときには、中継サーバ12、22の相互間の通信が直接に実行されればよい。
{中継サーバの構成要素}
図2は、中継サーバ12(22)の構成要素を示す図である。中継サーバ12(22)は、インターフェース部121(221)、制御部122(222)、データベース格納部123(223)、中継グループマップ表示部127(227)、仮想LANドライバ128(228)から構成される。括弧が付されていない符号は、中継サーバ12における符号を示す。括弧が付されている符号は、中継サーバ22における符号を示す。
インターフェース部121(221)は、プライベートIPアドレスを利用して、LAN1(2)に接続されるクライアント端末11(21)に対して通信を実行する。インターフェース部121(221)は、グローバルIPアドレスを利用して、WAN3に接続されるSIPサーバ31に対して通信を実行する。
制御部122(222)は、クライアント端末11、21の相互間の通信を中継するための制御を行なう。制御部122(222)は、データベース格納部123(223)に格納される以下の情報を作成または更新する。
データベース格納部123(223)は、中継グループ情報格納部124(224)、中継サーバ情報格納部125(225)、クライアント端末情報格納部126(226)から構成される。中継グループマップ表示部127(227)は、中継グループ情報および中継サーバ情報を参照することにより、中継グループマップを中継サーバ12(22)において表示する。仮想LANドライバ128(228)は、中継通信システムにおいて仮想的に割り付けられた、中継サーバ12(22)の仮想プライベートIPアドレスを登録する。中継通信システムにおいて、各中継サーバに対して、仮想プライベートIPアドレスが割り付けられる方法については後述する。また、以上の情報および中継グループマップの具体例についても後述する。
{クライアント端末の構成要素}
図3は、クライアント端末11(21)の構成要素を示す図である。クライアント端末11(21)は、インターフェース部111(211)、制御部112(212)、ウェブブラウザ113(ウェブサーバ213)、仮想LANドライバ114(214)、データベース格納部115(215)、中継グループマップ表示部118(218)から構成される。括弧が付されていない符号は、クライアント端末11における符号を示す。括弧が付されている符号は、クライアント端末21における符号を示す。
インターフェース部111(211)は、プライベートIPアドレスを利用して、LAN1(2)に接続される中継サーバ12(22)に対して通信を実行する。
制御部112(212)は、クライアント端末11(21)および中継サーバ12(22)の相互間の通信を実行するための制御を行なう。
制御部112(212)は、ウェブブラウザ113(ウェブサーバ213)に処理される情報を入力または出力する。ウェブブラウザ113は、ウェブサーバ213に対して、WAN3を介して、コンテンツを要求する。ウェブサーバ213は、ウェブブラウザ113に対して、WAN3を介して、コンテンツを提供する。
仮想LANドライバ114(214)は、中継通信システムにおいて仮想的に割り付けられた、クライアント端末11(21)の仮想プライベートIPアドレスを登録する。中継通信システムにおいて、各クライアント端末に対して、仮想プライベートIPアドレスが割り付けられる方法については後述する。
制御部112(212)は、データベース格納部115(215)に格納される以下の情報を作成または更新する。データベース格納部115(215)は、中継グループ情報格納部116(216)、中継サーバ情報格納部117(217)から構成される。中継グループマップ表示部118(218)は、中継グループ情報および中継サーバ情報を参照することにより、中継グループマップをクライアント端末11(21)において表示する。以上の情報および中継グループマップの具体例について後述する。
{中継グループ情報の具体例}
図4は、中継グループ情報の具体例として、中継グループ情報40を示す図である。中継グループ情報は、中継通信システムを構成する中継サーバの概要を示す情報である。
中継グループ情報40は、上位情報401、下位情報402から構成される。上位情報401は、中継グループ仮想アドレス情報403を含む。下位情報402は、中継サーバ仮想アドレス情報404、コネクション確立情報405を含む。
上位情報401は、上位にある中継グループについての情報である。「id」は、中継グループの識別情報を示す。「lastmod」は、中継グループ情報の最新更新時刻を示す。「name」は、中継グループの名称を示す。中継グループ仮想アドレス情報403は、中継通信システムにおいて仮想的に割り付けられた、中継グループの仮想プライベートIPアドレス(ネットワークアドレス)を示す。中継通信システムにおいて、サブネットマスクは「255.255.255.0」に設定されて、「*」は各装置に一意に設定される。
下位情報402は、下位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。中継サーバ仮想アドレス情報404は、中継通信システムにおいて仮想的に割り付けられた、中継サーバの仮想プライベートIPアドレスを示す。コネクション確立情報405は、WAN3を介する各中継サーバの相互間において、コネクションが確立されているかどうかについての情報である。
中継グループ情報40は、中継グループ情報格納部124、224、116、216において格納される。すなわち、中継グループ情報40は、中継サーバ12、22およびクライアント端末11、21により共有される。
WAN3を介する各中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているときには、コネクション確立情報405が記載されている。WAN3を介する各中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されていないときには、コネクション確立情報405が記載されていない。これにより、WAN3を介する各中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているかどうかについての情報が、中継通信システム全体として共有される。さらに、中継サーバの仮想プライベートIPアドレスについての情報が、中継通信システム全体として共有される。
{中継サーバ情報の具体例}
図5は、中継サーバ情報の具体例として、中継サーバ情報50を示す図である。中継サーバ情報は、中継通信システムを構成する中継サーバの詳細を示す情報であり、中継通信システムを構成するクライアント端末の概要を示す情報である。
中継サーバ情報50は、上位情報501−1、501−2、下位情報502−1、502−2から構成される。上位情報501−1、501−2は、各々、中継サーバ起動情報503−1、503−2を含む。下位情報502−1、502−2は、各々、クライアント端末仮想アドレス情報504−1、504−2、コネクション確立情報505−1、505−2、クライアント端末が中継サーバにログインしているかどうかを示すクライアント端末サイト情報506−1、506−2を含む。
上位情報501−1、501−2は、上位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。「name」は、中継サーバの名称を示す。中継サーバ起動情報503−1、503−2は、中継サーバが起動しているかどうかについての情報である。
下位情報502−1、502−2は、下位にあるクライアント端末についての情報である。「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。
クライアント端末仮想アドレス情報504−1、504−2は、中継通信システムにおいて仮想的に割り付けられた、クライアント端末の仮想プライベートIPアドレスを示す。コネクション確立情報505−1、505−2は、同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているかどうかについての情報である。クライアント端末サイト情報506−1、506−2は、クライアント端末がログオンしている中継サーバの識別情報を示す。
中継サーバ情報50は、中継サーバ情報格納部125、225、117、217において格納される。すなわち、中継サーバ情報50は、中継サーバ12、22およびクライアント端末11、21により共有される。
中継サーバが起動しているときには、中継サーバ起動情報503−1、503−2が「active」になっている。中継サーバが起動していないときには、中継サーバ起動情報503−1、503−2が空欄になっている。これにより、中継サーバが起動しているかどうかについての情報が、中継通信システム全体として共有される。
クライアント端末が中継サーバにログオンしているときには、クライアント端末サイト情報506−1、506−2が記載されている。クライアント端末が中継サーバにログオンしていないときには、クライアント端末サイト情報506−1、506−2が記載されていない。これにより、クライアント端末が中継サーバにログオンしているかどうかについての情報が、中継通信システム全体として共有される。
同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているときには、コネクション確立情報505−1、505−2が記載されている。同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されていないときには、コネクション確立情報505−1、505−2が記載されていない。これにより、同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているかどうかについての情報が、中継通信システム全体として共有される。さらに、クライアント端末の仮想プライベートIPアドレスについての情報が、中継通信システム全体として共有される。
{クライアント端末情報の具体例}
図6は、クライアント端末情報の具体例として、クライアント端末情報60、70を示す図である。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報である。
クライアント端末情報60、70は、各々、クライアント端末アドレス情報601、701、クライアント端末有効期限情報602、702、クライアント端末ポート情報603、703を含む。クライアント端末アドレス情報601、701は、各々、クライアント端末仮想アドレス情報504−1、504−2と必ずしも一致しない。
「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。クライアント端末アドレス情報601、701は、各々、LAN1、2においてのみ一意に割り付けられた、クライアント端末のIPアドレスを示す。クライアント端末有効期限情報602、702は、クライアント端末のレジスト有効期限を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「pass」は、クライアント端末のパスワードを示す。クライアント端末ポート情報603、703は、クライアント端末のポート番号を示す。
クライアント端末情報60は、クライアント端末情報格納部126のみにおいて格納されて、クライアント端末情報70は、クライアント端末情報格納部226のみにおいて格納される。すなわち、クライアント端末情報60は、中継サーバ12のみにより保有されて、クライアント端末情報70は、中継サーバ22のみにより保有される。
{情報共有の流れ}
図7から図9までは、中継グループ情報、中継サーバ情報が共有される処理の流れを示す図である。中継サーバ12、22が、中継通信システムに参加する。そして、クライアント端末11のユーザが、中継サーバ12にログオンして、クライアント端末21のユーザが、中継サーバ22にログオンする。さらに、中継サーバ12、22の相互間、クライアント端末11および中継サーバ12の相互間、クライアント端末21および中継サーバ22の相互間、の各区間において、仮想アドレスを利用したIP通信用のコネクションが確立される。
[ステップS1からステップS2までの処理の流れ]
中継サーバ12の管理者および中継サーバ22の管理者は、LAN1、2の相互間において中継通信システムのグループを構築する契約を結ぶ。中継サーバ12の管理者および中継サーバ22の管理者は、サブネットマスクとして「255.255.255.0」を設定して、仮想プライベートIPアドレスとして「192.168.0.*」を設定して、「*」として各装置に一意の数値を設定する契約を結ぶ。
中継サーバ12の管理者は、クライアント端末11のユーザに対して、アカウントを作成する(ステップS1:CreateAccount())。制御部122は、中継サーバ情報51−1を作成して、中継サーバ情報格納部125に格納する。
中継サーバ22の管理者は、クライアント端末21のユーザに対して、アカウントを作成する(ステップS2:CreateAccount())。制御部222は、中継サーバ情報51−2を作成して、中継サーバ情報格納部225に格納する。
以上の処理の流れにより、中継サーバ12は、中継サーバ情報51−1を保有する。中継サーバ22は、中継サーバ情報51−2を保有する。
図10の1番目の枠内は、中継サーバ情報51−1を示す。上位情報511−1は、上位にある中継サーバ12についての情報である。「id」として、「relay−server−1@abc.net」が設定されている。「name」として、「RELAY SERVER 1」が設定されている。中継サーバ起動情報513−1として、「active」が設定されている。すなわち、中継サーバ12は、起動している。
下位情報512−1は、下位にあるクライアント端末11についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay−server−1.abc.net」が設定されている。「id」として、「client−1@relay−server−1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。クライアント端末サイト情報516−1は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。そのため、クライアント端末仮想アドレス情報およびコネクション確立情報は、いまだ記載されていない。
図10の2番目の枠内は、中継サーバ情報51−2を示す。上位情報511−2は、上位にある中継サーバ22についての情報である。「id」として、「relay−server−2@abc.net」が設定されている。「name」として、「RELAY SERVER 2」が設定されている。中継サーバ起動情報513−2として、「active」が設定されている。すなわち、中継サーバ22は、起動している。
下位情報512−2は、下位にあるクライアント端末21についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay−server−1.abc.net」が設定されている。「id」として、「client−2@relay−server−2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。クライアント端末サイト情報516−2は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。そのため、クライアント端末仮想アドレス情報およびコネクション確立情報は、いまだ記載されていない。
図11は、中継グループマップを示す。この時点では、未だ中継グループは形成されていないので、中継グループマップ表示部127、227、118、218は、表示すべき中継グループがないことを示すメッセージを表示する。
[ステップS3からステップS4までの処理の流れ]
以下の説明においては、中継サーバ12、22の相互間の通信は、SIPサーバ31により中継される。中継サーバ12(22)が中継サーバ22(12)に対してSIPサーバ31を介して通信を実行する方法について説明する。
中継サーバ12(22)は、SIPサーバ31に対して、中継サーバ22(12)のアカウントが通信先として指定されたデータなどを送信する。SIPサーバ31は、中継サーバ12、22のアカウントを、各々、中継サーバ12、22のグローバルIPアドレスに対応付けている。SIPサーバ31は、中継サーバ22(12)のアカウントに基づいて、中継サーバ22(12)のグローバルIPアドレスを取得する。SIPサーバ31は、中継サーバ22(12)に対して、中継サーバ22(12)のグローバルIPアドレスが通信先として指定されたデータなどを送信する。
中継サーバ12は、中継サーバ22に対して、中継通信システムのグループ構築を要求する(ステップS3:SetGroup())。制御部122は、中継グループ情報42を作成して、中継グループ情報格納部124に格納する。制御部222は、中継グループ情報42を作成して、中継グループ情報格納部224に格納する。
中継サーバ12は、中継サーバ22に対して、中継サーバ情報の交換を要求する(ステップS4:exchange(db))。中継サーバ12は、中継サーバ22に対して、中継サーバ情報51−1の複製を送信する。中継サーバ22は、中継サーバ12に対して、中継サーバ情報51−2の複製を送信する。
制御部122は、中継サーバ情報51−2の複製、中継サーバ情報51−1を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部125に格納する。制御部222は、中継サーバ情報51−1の複製、中継サーバ情報51−2を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部225に格納する。
制御部122は、クライアント端末情報62を作成して、クライアント端末情報格納部126に格納する。制御部222は、クライアント端末情報72を作成して、クライアント端末情報格納部226に格納する。クライアント端末情報62の作成処理および格納処理は、ステップS1において実行され、クライアント端末情報72の作成処理および格納処理は、ステップS2において実行される。
以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報52、クライアント端末情報62を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報52、クライアント端末情報72を保有する。中継グループ情報42、中継サーバ情報52は、中継サーバ12、22により共有されている。
図12の1番目の枠内は、中継グループ情報42を示す。上位情報421は、上位にある中継グループについての情報である。「id」として、「20070402133100@relay−server−1.abc.net」が設定されている。「lastmod」として、「20070402133100」が設定されている。「name」として、「GROUP 1」が設定されている。しかし、中継サーバ12、22の相互間において、コネクションは確立されていない。そのため、中継グループ仮想アドレス情報は、いまだ記載されていない。
下位情報422は、下位にある中継サーバ12、22についての情報である。「id」として、「relay−server−1@abc.net」、「relay−server−2@abc.net」が設定されている。しかし、中継サーバ12、22の相互間において、仮想アドレスを利用したIP通信用のコネクションは確立されていない。そのため、中継サーバ仮想アドレス情報およびコネクション確立情報は、いまだ記載されていない。
図12の2番目の枠内は、中継サーバ情報52を示す。上位情報521−1、521−2は、各々、図10の上位情報511−1、511−2と同様である。下位情報522−1、522−2は、各々、図10の下位情報512−1、512−2と同様である。
図12の3番目の枠内は、クライアント端末情報62を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay−server−1.abc.net」が設定されている。「id」として、「client−1@relay−server−1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。「pass」として、「client−1」が設定されている。
クライアント端末アドレス情報621は、空欄になっている。クライアント端末有効期限情報622として、「0」が設定されている。クライアント端末ポート情報623は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
図12の4番目の枠内は、クライアント端末情報72を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay−server−1.abc.net」が設定されている。「id」として、「client−2@relay−server−2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。「pass」として、「client−2」が設定されている。
クライアント端末アドレス情報721は、空欄になっている。クライアント端末有効期限情報722として、「0」が設定されている。クライアント端末ポート情報723は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。
図13は、中継グループマップを示す。中継サーバ12の中継グループマップ表示部127および中継サーバ22の中継グループマップ表示部227は、中継グループ情報42および中継サーバ情報52を参照することにより、中継グループマップを表示する。
中継サーバ12は、中継サーバ22に対して、中継通信システムのグループ構築を要求している。そのため、図11の中継グループマップが合成されて、図13の中継グループマップが表示されている。しかし、中継グループ情報42において、コネクション確立情報は、いまだ記載されていない。そのため、「中継サーバ12」および「中継サーバ22」の相互間において、「コネクション未確立」および傍らの破線が記載されている。
[ステップS5からステップS6までの処理の流れ]
中継サーバ12は、中継サーバ22に対して、呼制御を実行して(ステップS5:INVITE())、コネクション確立を要求する(ステップS6:connect())。制御部122は、中継グループ情報42を更新することにより、中継グループ情報43を作成して、中継グループ情報格納部124に格納する。中継サーバ12と中継サーバ22のコネクションが確立された時点で、中継サーバ12と中継サーバ22は、それぞれの仮想プライベートアドレスを割り当てる。制御部222は、中継グループ情報42を更新することにより、中継グループ情報43を作成して、中継グループ情報格納部224に格納する。制御部122は、中継サーバ情報52およびクライアント端末情報62を更新することはない。制御部222は、中継サーバ情報52およびクライアント端末情報72を更新することはない。
以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報52、クライアント端末情報62を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報52、クライアント端末情報72を保有する。中継グループ情報43、中継サーバ情報52は、中継サーバ12、22により共有されている。
図14の1番目の枠内は、中継グループ情報43を示す。更新部分を下線部により示す。中継サーバ12は、中継サーバ22に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。
制御部122、222は、中継サーバ12、22の管理者が結んだ契約に基づいて、上位情報431の中継グループ仮想アドレス情報433を、「192.168.0.*」に設定している。中継通信システムにおいて、「*」は各装置に一意に設定される。
制御部122、222は、中継グループ仮想アドレス情報433に基づいて、下位情報432の中継サーバ12、22についての中継サーバ仮想アドレス情報434を、相互に異なる数値に設定している。制御部122は、「*」を「1」に設定して、中継サーバ12についての中継サーバ仮想アドレス情報434を、「192.168.0.1」に設定している。制御部222は、「*」を「2」に設定して、中継サーバ22についての中継サーバ仮想アドレス情報434を、「192.168.0.2」に設定している。
制御部122は、下位情報432の中継サーバ12についてのコネクション確立情報435を、「s1」に設定している。制御部222は、下位情報432の中継サーバ22についてのコネクション確立情報435を、「s2」に設定している。図7において、中継サーバ12、22の相互間の仮想アドレスを利用したIP通信用のコネクションのうち、中継サーバ12、22のソケットについて、「Transaction」は各々「s1」、「s2」に設定されている。
「groupID」は、コネクションが確立されている中継グループの識別情報を示しており、「20070402133100@relay−server−1.abc.net」に設定されている。「MediaSession」は、「socket」に設定されている。以上の2種類の情報は、図7および図9において同様である。
図14の2番目の枠内は、中継サーバ情報52を示す。ステップS5からステップS6までの処理の流れにおいては、クライアント端末11のユーザは、中継サーバ12にログオンしておらず、クライアント端末21のユーザは、中継サーバ22にログオンしていないため、中継サーバ情報52が更新されることはない。
図14の3番目の枠内は、クライアント端末情報62を示す。ステップS5からステップS6までの処理の流れにおいては、クライアント端末11のユーザは、中継サーバ12にログオンしていないため、クライアント端末情報62が更新されることはない。
図14の4番目の枠内は、クライアント端末情報72を示す。ステップS5からステップS6までの処理の流れにおいては、クライアント端末21のユーザは、中継サーバ22にログオンしていないため、クライアント端末情報72が更新されることはない。
図15は、中継グループマップを示す。中継サーバ12の中継グループマップ表示部127および中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報52を参照することにより、中継グループマップを表示する。
中継サーバ12は、中継サーバ22に対して、呼制御を実行していて、仮想アドレスを利用したIP通信用のコネクション確立を要求している。そして、中継グループ情報43において、中継サーバ仮想アドレス情報434およびコネクション確立情報435が、すでに記載されている。そのため、中継サーバ12、22の仮想プライベートIPアドレスが記載されるに至った。そして、「中継サーバ12」および「中継サーバ22」の相互間において、「コネクション確立」および傍らの実線が記載されるに至った。
[ステップS7からステップS9までの処理の流れ]
図8を参照する。クライアント端末11のユーザは、クライアント端末11の識別情報として、「client−1@relay−server−1.abc.net」を入力して、クライアント端末11のパスワードとして、「client−1」を入力する。クライアント端末11のユーザは、中継サーバ12にログオンする(ステップS7:REGISTER(ID,PASS))。制御部122は、クライアント端末情報62を参照することにより、クライアント端末11のユーザの認証を実行する。
制御部122は、クライアント端末11のユーザのログオンを受け付ける。制御部122は、中継サーバ情報52を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部125に格納する。クライアント端末11が中継サーバ12にログオンした時点で、中継サーバ12はクライアント端末11の仮想プライベートアドレスを割り当てる。制御部122は、クライアント端末情報62を更新することにより、クライアント端末情報64を作成して、クライアント端末情報格納部126に格納する。制御部122は、中継グループ情報43を更新することはない。
クライアント端末11は、中継サーバ12に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS8:get())。中継サーバ12は、クライアント端末11に対して、中継グループ情報43および中継サーバ情報54の複製を送信する。クライアント端末11は、中継グループ情報43を中継グループ情報格納部116に格納して、中継サーバ情報54を中継サーバ情報格納部117に格納する。
制御部122は、中継グループ情報43、中継サーバ情報54を参照することにより、中継サーバ情報52が中継サーバ情報54に更新されたことを通知すべき中継サーバを決定する。制御部122は、中継サーバ情報54の中継サーバ起動情報543−2が「active」である中継サーバ22を、通知すべき中継サーバとして決定する。
中継サーバ12は、中継サーバ22に対して、中継サーバ情報52が中継サーバ情報54に更新されたことを通知する(ステップS9:NOTIFY())。制御部222は、中継サーバ情報52を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部225に格納する。
制御部222は、クライアント端末情報72を参照することにより、中継サーバ情報52が中継サーバ情報54に更新されたことを通知すべきクライアント端末を決定する。制御部222は、クライアント端末情報72のクライアント端末アドレス情報721が空欄であり、クライアント端末情報72のクライアント端末ポート情報723が空欄であるクライアント端末21を、通知すべきクライアント端末として決定することはない。
以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報54、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報54、クライアント端末情報72を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報54を保有する。中継グループ情報43、中継サーバ情報54は、中継サーバ12、22、クライアント端末11により共有されている。
図16の1番目の枠内は、中継グループ情報43を示す。ステップS7からステップS9までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
図16の2番目の枠内は、中継サーバ情報54を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、下位情報542−1のクライアント端末サイト情報546−1は、「relay−server−1@abc.net」に確定されている。
制御部122は、「*」を「11」に設定して、下位情報542−1のクライアント端末11についてのクライアント端末仮想アドレス情報544−1を、「192.168.0.11」に設定している。ここで、当該仮想プライベートIPアドレスは、すでに設定されている仮想プライベートIPアドレスと重複しない。
制御部122は、下位情報542−1のクライアント端末11についてのコネクション確立情報545−1を、空欄に設定している。すなわち、クライアント端末11および中継サーバ12の相互間において、仮想アドレスを利用したIP通信用のコネクションはいまだ確立されていない。
図16の3番目の枠内は、クライアント端末情報64を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、クライアント端末アドレス情報641は、「192.168.10.2」に確定されている。ここで、クライアント端末11について、物理的なプライベートIPアドレス「192.168.10.2」は、仮想的なプライベートIPアドレス「192.168.0.11」と一致していない。また、クライアント端末有効期限情報642は、「1213935960484」に確定されている。さらに、クライアント端末ポート情報643は、「5070」に確定されている。
図16の4番目の枠内は、クライアント端末情報72を示す。ステップS7からステップS9までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22にログオンしていないため、クライアント端末情報72が更新されることはない。
図17は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報54を参照することにより、中継グループマップを表示する。
クライアント端末11のユーザは、中継サーバ12にログオンしている。そして、中継サーバ情報54において、クライアント端末仮想アドレス情報544−1が、すでに記載されている。そのため、クライアント端末11の仮想プライベートIPアドレスが記載されるに至った。しかし、中継サーバ情報54において、コネクション確立情報545−1が、いまだ記載されていない。そのため、「クライアント端末11」および「中継サーバ12」の相互間において、「コネクション確立」および傍らの実線が記載されていない。
[ステップS10からステップS13までの処理の流れ]
クライアント端末21のユーザは、クライアント端末21の識別情報として、「client−2@relay−server−2.abc.net」を入力して、クライアント端末21のパスワードとして、「client−2」を入力する。クライアント端末21のユーザは、中継サーバ22にログオンする(ステップS10:REGISTER(ID,PASS))。制御部222は、クライアント端末情報72を参照することにより、クライアント端末21のユーザの認証を実行する。
制御部222は、クライアント端末21のユーザのログオンを受け付ける。制御部222は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成して、中継サーバ情報格納部225に格納する。クライアント端末21が中継サーバ22にログオンした時点で、中継サーバ22はクライアント端末21の仮想プライベートアドレスを割り当てる。制御部222は、クライアント端末情報72を更新することにより、クライアント端末情報75を作成して、クライアント端末情報格納部226に格納する。制御部222は、中継グループ情報43を更新することはない。
クライアント端末21は、中継サーバ22に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS11:get())。中継サーバ22は、クライアント端末21に対して、中継グループ情報43および中継サーバ情報55の複製を送信する。クライアント端末21は、中継グループ情報43を中継グループ情報格納部216に格納して、中継サーバ情報55を中継サーバ情報格納部217に格納する。
制御部222は、中継グループ情報43、中継サーバ情報55を参照することにより、中継サーバ情報54が中継サーバ情報55に更新されたことを通知すべき中継サーバを決定する。制御部222は、中継サーバ情報55の中継サーバ起動情報553−1が「active」である中継サーバ12を、通知すべき中継サーバとして決定する。
中継サーバ22は、中継サーバ12に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS12:NOTIFY())。制御部122は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成して、中継サーバ情報格納部125に格納する。
制御部122は、クライアント端末情報64を参照することにより、中継サーバ情報54が中継サーバ情報55に更新されたことを通知すべきクライアント端末を決定する。制御部122は、クライアント端末情報64のクライアント端末アドレス情報641が確定されていて、クライアント端末情報64のクライアント端末ポート情報643が確定されているクライアント端末11を、通知すべきクライアント端末として決定する。
中継サーバ12は、クライアント端末11に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS13:NOTIFY())。制御部112は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成して、中継サーバ情報格納部117に格納する。
以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報55、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報55、クライアント端末情報75を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報55を保有する。クライアント端末21は、中継グループ情報43、中継サーバ情報55を保有する。中継グループ情報43、中継サーバ情報55は、中継サーバ12、22、クライアント端末11、21により共有されている。
図18の1番目の枠内は、中継グループ情報43を示す。ステップS10からステップS13までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
図18の2番目の枠内は、中継サーバ情報55を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、下位情報552−2のクライアント端末サイト情報556−2は、「relay−server−2@abc.net」に確定されている。
制御部222は、「*」を「12」に設定して、下位情報552−2のクライアント端末21についてのクライアント端末仮想アドレス情報554−2を、「192.168.0.12」に設定している。ここで、当該仮想プライベートIPアドレスは、すでに設定されている仮想プライベートIPアドレスと重複しない。
制御部222は、下位情報552−2のクライアント端末21についてのコネクション確立情報555−2を、空欄に設定している。すなわち、クライアント端末21および中継サーバ22の相互間において、仮想アドレスを利用したIP通信用のコネクションはいまだ確立されていない。
図18の3番目の枠内は、クライアント端末情報64を示す。ステップS10からステップS13までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報64が更新されることはない。
図18の4番目の枠内は、クライアント端末情報75を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、クライアント端末アドレス情報751は、「192.168.1.10」に確定されている。ここで、クライアント端末21について、物理的なプライベートIPアドレス「192.168.1.10」は、仮想的なプライベートIPアドレス「192.168.0.12」と一致していない。また、クライアント端末有効期限情報752は、「1213935978484」に確定されている。さらに、クライアント端末ポート情報753は、「5070」に確定されている。
図19は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、クライアント端末21の中継グループマップ表示部218、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報55を参照することにより、中継グループマップを表示する。
クライアント端末21のユーザは、中継サーバ22にログオンしている。そして、中継サーバ情報55において、クライアント端末仮想アドレス情報554−2が、すでに記載されている。そのため、クライアント端末21の仮想プライベートIPアドレスが記載されるに至った。しかし、中継サーバ情報55において、コネクション確立情報555−2が、いまだ記載されていない。そのため、「クライアント端末21」および「中継サーバ22」の相互間において、「コネクション確立」および傍らの実線が記載されていない。
[ステップS14からステップS17までの処理の流れ]
図9を参照する。クライアント端末11は、中継サーバ12に対して、呼制御を実行して(ステップS14:INVITE())、仮想アドレスを利用したIP通信用のコネクションの確立を要求する(ステップS15:connect())。制御部122、112は、中継サーバ情報55を更新することにより、中継サーバ情報56を作成して、各々、中継サーバ情報格納部125、117に格納する。制御部122は、中継グループ情報43およびクライアント端末情報64を更新することはない。制御部112は、中継グループ情報43を更新することはない。
ステップS16からステップS17までの処理の流れは、ステップS9、S12、S13と同様にして実行される。中継サーバ12は、中継サーバ22に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS16:NOTIFY())。中継サーバ22は、クライアント端末21に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS17:NOTIFY())。
以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報56、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報56、クライアント端末情報75を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報56を保有する。クライアント端末21は、中継グループ情報43、中継サーバ情報56を保有する。中継グループ情報43、中継サーバ情報56は、中継サーバ12、22、クライアント端末11、21により共有されている。
図20の1番目の枠内は、中継グループ情報43を示す。ステップS14からステップS17までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
図20の2番目の枠内は、中継サーバ情報56を示す。クライアント端末11は、中継サーバ12に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。
制御部122、112は、下位情報562−1のコネクション確立情報565−1を、「c1」に設定している。図9において、クライアント端末11および中継サーバ12の相互間のコネクションのうち、クライアント端末11および中継サーバ12のソケットについて、「Transaction」は「c1」に設定されている。「groupID」および「MediaSession」は上述の通りである。
ここで、クライアント端末11および中継サーバ12の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ12のソケット、および、中継サーバ12および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ12のソケットは、相互に異なるソケットである。しかし、これらのソケットは、同一のgroupIDにより関連付けられる。
図20の3番目の枠内は、クライアント端末情報64を示す。ステップS14からステップS17までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報64が更新されることはない。
図20の4番目の枠内は、クライアント端末情報75を示す。ステップS14からステップS17までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22からログオフしていないため、クライアント端末情報75が更新されることはない。
図21は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、クライアント端末21の中継グループマップ表示部218、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報56を参照することにより、中継グループマップを表示する。
クライアント端末11は、中継サーバ12に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。そして、中継サーバ情報56において、コネクション確立情報565−1が、すでに記載されている。そのため、「クライアント端末11」および「中継サーバ12」の相互間において、「コネクション確立」および傍らの実線が記載されるに至った。
[ステップS18からステップS21までの処理の流れ]
クライアント端末21は、中継サーバ22に対して、呼制御を実行して(ステップS18:INVITE())、仮想アドレスを利用したIP通信用のコネクションの確立を要求する(ステップS19:connect())。制御部222、212は、中継サーバ情報56を更新することにより、中継サーバ情報57を作成して、各々、中継サーバ情報格納部225、217に格納する。制御部222は、中継グループ情報43およびクライアント端末情報75を更新することはない。制御部212は、中継グループ情報43を更新することはない。
ステップS20からステップS21までの処理の流れは、ステップS9、S12、S13と同様にして実行される。中継サーバ22は、中継サーバ12に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS20:NOTIFY())。中継サーバ12は、クライアント端末11に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS21:NOTIFY())。
以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報57、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報57、クライアント端末情報75を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報57を保有する。クライアント端末21は、中継グループ情報43、中継サーバ情報57を保有する。中継グループ情報43、中継サーバ情報57は、中継サーバ12、22、クライアント端末11、21により共有されている。
図22の1番目の枠内は、中継グループ情報43を示す。ステップS18からステップS21までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
図22の2番目の枠内は、中継サーバ情報57を示す。クライアント端末21は、中継サーバ22に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。
制御部222、212は、下位情報572−2のコネクション確立情報575−2を、「c2」に設定している。図9において、クライアント端末21および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションのうち、クライアント端末21および中継サーバ22のソケットについて、「Transaction」は「c2」に設定されている。「groupID」および「MediaSession」は上述の通りである。
ここで、クライアント端末21および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ22のソケット、および、中継サーバ12および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ22のソケットは、相互に異なるソケットである。しかし、これらのソケットは、同一のgroupIDにより関連付けられる。
図22の3番目の枠内は、クライアント端末情報64を示す。ステップS18からステップS21までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報64が更新されることはない。
図22の4番目の枠内は、クライアント端末情報75を示す。ステップS18からステップS21までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22からログオフしていないため、クライアント端末情報75が更新されることはない。
図23は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、クライアント端末21の中継グループマップ表示部218、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報57を参照することにより、中継グループマップを表示する。
クライアント端末21は、中継サーバ22に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。そして、中継サーバ情報57において、コネクション確立情報575−2が、すでに記載されている。そのため、「クライアント端末21」および「中継サーバ22」の相互間において、「コネクション確立」および傍らの実線が記載されるに至った。
{情報共有のまとめ}
中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。そこで、一の中継サーバは、状態変化を認識したときには、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
そして、一の中継サーバは、中継グループ情報および中継サーバ情報に記載されている他の中継サーバに、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。さらに、一の中継サーバは、クライアント端末情報に記載されているクライアント端末に、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。
しかし、一の中継サーバは、他の中継サーバが中継グループ情報および中継サーバ情報に記載されているとしても、他の中継サーバが未接続状態にあると判断したときには、他の中継サーバに直ちに通知することはない。さらに、一の中継サーバは、クライアント端末がクライアント端末情報に記載されているとしても、クライアント端末が未接続状態にあると判断したときには、クライアント端末に直ちに通知することはない。
一の中継サーバの管理者は、他の中継サーバの管理者と交渉することにより、仮想プライベートIPアドレスを各装置に割り付ける方法を決定する。一の中継サーバは、他の中継サーバと通信することにより、各装置の仮想プライベートIPアドレスが重複しないように、自装置の仮想プライベートIPアドレスを決定する。中継サーバは、自装置にログオンするクライアント端末と通信することにより、各装置の仮想プライベートIPアドレスが重複しないように、クライアント端末の仮想プライベートIPアドレスを決定する。
各装置の仮想プライベートIPアドレスについての情報は、中継グループ情報および中継サーバ情報に含まれる。各装置の仮想アドレスを利用したIP通信用のコネクション確立状態についての情報は、中継グループ情報および中継サーバ情報に含まれる。各装置のこれらの情報が変化したときには、中継グループ情報および中継サーバ情報が中継通信システム全体にわたって更新される。
これにより、LANおよびクライアント端末の増減状態および接続状態についての情報は、中継通信システム全体としてリアルタイムに共有される。そして、各装置の仮想プライベートIPアドレスについての情報、および、各装置の仮想アドレスを利用したIP通信用のコネクション確立状態についての情報は、中継通信システム全体としてリアルタイムに共有される。さらに、以上に説明されたすべての情報は、各装置においてリアルタイムに表示される。
なお、上記の実施の形態においては、中継サーバ12、22間でコネクションが確立されたとき、あるいはクライアント端末11、21が中継サーバ12、22にログオンしたときに、中継サーバ12、22が各サーバや各端末に仮想プライベートアドレスを動的に割り当てるようにした。しかし、仮想アドレスを付与するタイミングはこれに限定されるものではない。たとえば、グループが形成された時点で、登録されている全てのクライアント端末に一括して仮想アドレスを割り当てるようにしてもよいし、中継サーバやクライアント端末を作成した時点で仮想アドレスを割り当ててもよい。その場合でもログオン状態をチェックすることで仮想アドレスを利用した通信の可否を判断できる。
また、上記の実施の形態においては、全ての中継サーバ、全てのクライアント端末が仮想LANドライバを備え、仮想アドレスを利用しているが、一部のサーバやクライアント端末のみが仮想LANドラバイを備える構成であってもよい。仮想LANドライバを利用するWEBサーバが中継グループ内に存在してもよい。
{データ送受信の流れ}
図24は、情報共有後におけるデータ送受信の流れを示す図である。情報共有後においては、図22に示した中継グループ情報43、中継サーバ情報57、クライアント端末情報64、75が格納されていて、図23に示した中継グループマップが表示されている。ウェブブラウザ113は、ウェブサーバ213に対して、コンテンツを要求する。ウェブサーバ213は、ウェブブラウザ113に対して、コンテンツを提供する。
[ステップS22からステップS25までの処理の流れ]
図24を参照する。仮想LANドライバ114およびウェブブラウザ113は、コンテンツの送受信に先立ち起動する。仮想LANドライバ114は、中継サーバ情報格納部117に格納された中継サーバ情報57に基づいて、クライアント端末11の仮想プライベートIPアドレスとして「192.168.0.11」を取得する(ステップS22:open(192.168.0.11))。ウェブブラウザ113は、ステップS22と同様にして、クライアント端末11の仮想プライベートIPアドレスとして「192.168.0.11」を取得する(ステップS24:start(192.168.0.11))。
仮想LANドライバ214およびウェブサーバ213は、コンテンツの送受信に先立ち起動する。仮想LANドライバ214は、中継サーバ情報格納部217に格納された中継サーバ情報57に基づいて、クライアント端末21の仮想プライベートIPアドレスとして「192.168.0.12」を取得する(ステップS23:open(192.168.0.12))。ウェブサーバ213は、ステップS23と同様にして、クライアント端末21の仮想プライベートIPアドレスとして「192.168.0.12」を取得する(ステップS25:start(192.168.0.12))。
[ステップS26の処理の流れ]
ウェブブラウザ113は、仮想LANドライバ114に対して、送信先の仮想プライベートIPアドレスが「192.168.0.12」である、コンテンツ要求情報を出力する(ステップS26:http(192.168.0.12))。
仮想LANドライバ114は、制御部112に対して、コンテンツ要求情報の通信パケットを出力する。送信先の仮想プライベートIPアドレスは「192.168.0.12」に設定されていて、送信元の仮想プライベートIPアドレスは「192.168.0.11」に設定されている(ステップS26.1:packet(192.168.0.12,192.168.0.11))。
制御部112は、中継サーバ情報格納部117に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574−2を参照することにより、送信先がLAN1になくWAN3を介したLAN2にあることを確認する。
クライアント端末11は、ステップS15で確立されて「groupID=20070402133100@relay−server−1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c1」に設定された自装置のソケットに向けて、カプセル化したコンテンツ要求情報の通信パケットを出力する。クライアント端末11は、中継サーバ12に対して、コンテンツ要求情報の通信パケットを送信する(ステップS26.1.1:connection(packet))。
中継サーバ12は、クライアント端末11から通信パケットを受信する。制御部122は、中継サーバ情報格納部125に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574−2を参照することにより、送信先がLAN1になくWAN3を介したLAN2にあることを確認する。
中継サーバ12は、ステップS6で確立されて「groupID=20070402133100@relay−server−1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:s1」に設定された自装置のソケットに向けて、カプセル化したコンテンツ要求情報の通信パケットを出力する。中継サーバ12は、中継サーバ22に対して、コンテンツ要求情報の通信パケットを送信する(ステップS26.1.1.1:connection(packet))。
中継サーバ22は、中継サーバ12から通信パケットを受信する。制御部222は、中継サーバ情報格納部225に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574−2を参照することにより、送信先がWAN3を介したLAN1になくLAN2にあることを確認する。
中継サーバ22は、ステップS19で確立されて「groupID=20070402133100@relay−server−1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c2」に設定された自装置のソケットに向けて、カプセル化したコンテンツ要求情報の通信パケットを出力する。中継サーバ22は、クライアント端末21に対して、コンテンツ要求情報の通信パケットを送信する(ステップS26.1.1.1.1:connection(packet))。
クライアント端末21は、中継サーバ22から通信パケットを受診する。制御部212は、仮想LANドライバ214に対して、コンテンツ要求情報の通信パケットを出力する(ステップS26.1.1.1.1.1:packet(192.168.0.12,192.168.0.11))。
仮想LANドライバ214は、ウェブサーバ213に対して、送信元の仮想プライベートIPアドレスが「192.168.0.11」である、コンテンツ要求情報を出力する(ステップS26.1.1.1.1.1.1:http(192.168.0.11))。以上の処理の流れにより、コンテンツの要求が終了する。
[ステップS27の処理の流れ]
ウェブサーバ213は、仮想LANドライバ214に対して、送信先の仮想プライベートIPアドレスが「192.168.0.11」である、コンテンツを出力する(ステップS27:http(192.168.0.11))。
仮想LANドライバ214は、制御部212に対して、コンテンツの通信パケットを出力する。送信先の仮想プライベートIPアドレスは「192.168.0.11」に設定されていて、送信元の仮想プライベートIPアドレスは「192.168.0.12」に設定されている(ステップS27.1:packet(192.168.0.11,192.168.0.12))。
制御部212は、中継サーバ情報格納部217に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574−1を参照することにより、送信先がLAN2になくWAN3を介したLAN1にあることを確認する。
クライアント端末21は、ステップS19で確立されて「groupID=20070402133100@relay−server−1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c2」に設定された自装置のソケットに向けて、カプセル化したコンテンツの通信パケットを出力する。クライアント端末21は、中継サーバ22に対して、コンテンツの通信パケットを送信する(ステップS27.1.1:connection(packet))。
中継サーバ22は、クライアント端末21から通信パケットを受信する。制御部222は、中継サーバ情報格納部225に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574−1を参照することにより、送信先がLAN2になくWAN3を介したLAN1にあることを確認する。
中継サーバ22は、ステップS6で確立されて「groupID=20070402133100@relay−server−1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:s2」に設定された自装置のソケットに向けて、カプセル化したコンテンツの通信パケットを出力する。中継サーバ22は、中継サーバ12に対して、コンテンツの通信パケットを送信する(ステップS27.1.1.1:connection(packet))。
中継サーバ12は、中継サーバ22から通信パケットを受信する。制御部122は、中継サーバ情報格納部125に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574−1を参照することにより、送信先がWAN3を介したLAN2になくLAN1にあることを確認する。
中継サーバ12は、ステップS15で確立されて「groupID=20070402133100@relay−server−1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c1」に設定された自装置のソケットに向けて、カプセル化したコンテンツの通信パケットを出力する。中継サーバ12は、クライアント端末11に対して、コンテンツの通信パケットを送信する(ステップS27.1.1.1.1:connection(packet))。
クライアント端末11は、中継サーバ12から通信パケットを受信する。制御部112は、仮想LANドライバ114に対して、コンテンツの通信パケットを出力する(ステップS27.1.1.1.1.1:packet(192.168.0.11,192.168.0.12))。
仮想LANドライバ114は、ウェブブラウザ113に対して、送信元の仮想プライベートIPアドレスが「192.168.0.12」である、コンテンツを出力する(ステップS27.1.1.1.1.1.1:http(192.168.0.12))。以上の処理の流れにより、コンテンツの提供が終了する。
{データ送受信のまとめ}
中継通信システムを構成する各装置は、仮想プライベートIPアドレスを割り付けられていて、相互間において仮想アドレスを利用したIP通信用のコネクションを確立している。中継通信システムを構成する各装置は、全装置の仮想プライベートIPアドレスおよび全装置の仮想アドレスを利用したIP通信用のコネクション確立についての情報を、中継通信システムの状態変化に対応してリアルタイムに共有している。
データ送信側は、データ受信側の仮想プライベートIPアドレスが送信先として指定されたデータを送信する。データ受信側は、データ送信側の仮想プライベートIPアドレスが送信元として指定されたデータを受信する。送信データの通信パケットは、遠隔のLANの相互間に介在するWANにおいて、カプセル化されている。
データ送受信に関与する各装置は、データ受信側の仮想プライベートIPアドレスを、中継サーバ仮想アドレス情報またはクライアント端末仮想アドレス情報と照合することにより、送信データの通信パケットをいずれの装置に転送するかを決定する。データ送受信に関与する各装置は、仮想アドレスを利用したIP通信用のコネクション確立情報を参照することにより、送信データの通信パケットをいずれのコネクションのソケットに出力するかを決定する。
従来技術のVPNにおいては、各装置は仮想プライベートIPアドレスを割り付けられている。しかし、各装置は、全装置の仮想プライベートIPアドレスについての情報を共有していないうえに、全装置のコネクション確立についての情報をも共有していない。そのため、各装置がデータを送信するにあたり通信エラーが発生したときには、送信先として指定された仮想プライベートIPアドレスが存在しないのか、送信先として指定された装置がコネクションを確立していないのか、が不明確である問題点があった。
本発明の中継通信システムにおいては、各装置は仮想プライベートIPアドレスを割り付けられている。さらに、各装置は、全装置の仮想プライベートIPアドレスについての情報を共有しているうえに、全装置のコネクション確立についての情報をも共有している。そのため、従来技術のVPNにおける問題点を解消できるうえに、中継通信システムの状態変化に対応して拡張性および柔軟性のある仮想ネットワークを構築できる。