JP4798197B2 - 中継サーバ、中継通信システム - Google Patents

中継サーバ、中継通信システム Download PDF

Info

Publication number
JP4798197B2
JP4798197B2 JP2008230312A JP2008230312A JP4798197B2 JP 4798197 B2 JP4798197 B2 JP 4798197B2 JP 2008230312 A JP2008230312 A JP 2008230312A JP 2008230312 A JP2008230312 A JP 2008230312A JP 4798197 B2 JP4798197 B2 JP 4798197B2
Authority
JP
Japan
Prior art keywords
relay server
information
relay
client terminal
call control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008230312A
Other languages
English (en)
Other versions
JP2010068058A (ja
Inventor
好史 谷本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2008230312A priority Critical patent/JP4798197B2/ja
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to PCT/JP2009/004255 priority patent/WO2010026727A1/ja
Priority to US13/061,725 priority patent/US8296391B2/en
Priority to EP09811257.6A priority patent/EP2323320B1/en
Priority to EP12184998.8A priority patent/EP2538624B1/en
Priority to CN200980134063.3A priority patent/CN102239667B/zh
Publication of JP2010068058A publication Critical patent/JP2010068058A/ja
Application granted granted Critical
Publication of JP4798197B2 publication Critical patent/JP4798197B2/ja
Priority to US13/610,172 priority patent/US8799488B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、遠隔のLAN(Local Area Network)に接続されるクライアント端末が、WAN(Wide Area Network)を超えて通信することを可能にする中継サーバおよび中継通信システムに関する。
遠隔のLANに接続されるクライアント端末が、WANを超えて通信することがある。VPN(Virtual Private Network)は、遠隔のLANが直接に接続されているかのようなネットワークを構築できる。しかし、VPNは、拡張性および柔軟性のあるネットワークを構築することが困難である。
特許文献1が開示する中継通信システムは、VPNと同様に、遠隔のLANが直接に接続されているかのようなネットワークを構築できる。そして、中継通信システムは、VPNと異なり、拡張性および柔軟性のあるネットワークを構築することが容易である。
中継通信システムは、WAN、複数のLANを備える。各LANは、中継サーバを備える。各中継サーバは、中継通信システムが備える中継サーバについての中継グループ情報、中継通信システムが共有するリソースについての共有リソース情報を格納する。
一のLANに接続されるクライアント端末が、他のLANに接続されるクライアント端末が格納するリソースを操作するときには、これらのLANに接続される中継サーバは、中継グループ情報および共有リソース情報に基づいて、リソースの操作を中継する。
中継通信システムが備えるLANが増減することがある。中継通信システムが共有するリソースが更新されることがある。しかし、中継通信システムは、これらの変化に対応して、中継グループ情報および共有リソース情報を更新できる。そして、中継通信システムは、これらの変化に対応して、拡張性および柔軟性のあるネットワークを構築できる。
特開2008−129991号公報
特許文献1が開示する中継通信システムにおいて、一のLANに接続されるクライアント端末は、他のLANに接続されるクライアント端末と以下のように通信を実行する。
最初の区間として、一のLANに接続されるクライアント端末および中継サーバの相互間において、通信が開始する。中間の区間として、一のLANおよび他のLANに接続される中継サーバの相互間において、通信が中継される。最後の区間として、他のLANに接続される中継サーバおよびクライアント端末の相互間において、通信が終了する。
各区間において、複数の呼制御が実行されることがあり、複数のメディアセッションが確立されることがある。しかし、各区間において、複数の呼制御が交錯しないようにして、複数のメディアセッションが交錯しないようにする具体的な手段は開示されていない。
そこで、本発明は前記問題点に鑑み、遠隔のLANに接続されるクライアント端末がWANを超えて通信することを可能にする中継通信システムにおいて、各区間における複数の呼制御が交錯しないようにして、各区間における複数のメディアセッションが交錯しないようにする具体的な手段を提供することを目的とする。
上記課題を解決するため、請求項1記載の発明は、第1ネットワークに接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバであって、前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部と、前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含み、前記第1中継サーバが作成する第1中継サーバ情報と、前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含み、前記第2中継サーバが作成する第2中継サーバ情報と、を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部と、前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有するクライアント端末間共有部と、前記中継グループ情報と前記中継サーバ情報とに基づいて選択された宛先に対する、前記第2中継サーバが中継する通信を実行する通信実行部と、を備え、前記通信実行部は、前記宛先と前記中継グループ情報と前記中継サーバ情報とに基づいて、前記第2中継サーバが中継する通信の転送先を決定する転送先決定部と、前記転送先との間で呼制御プロトコルを利用して第1セッションを確立する呼制御確立部と、前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した識別情報が、前記第1セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第1セッションの呼制御と対応付けた第1通信経路を確立する通信経路確立部と、を含むことを特徴とする。
請求項2記載の発明は、請求項1に記載の中継サーバにおいて、前記呼制御確立部は、前記転送先との間で呼制御プロトコルを利用して第2セッションを確立する並列呼制御確立部と、前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した第2識別情報が、前記第2セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第2セッションの呼制御と対応付けた第2通信経路を確立する並列通信経路確立部と、を含むことを特徴とする。
請求項3記載の発明は、第1ネットワークと、第2ネットワークと、前記第1ネットワークに接続される第1中継サーバと、前記第2ネットワークに接続される第2中継サーバと、を備える中継通信システムであって、前記第1中継サーバと前記第2中継サーバとは、前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部、を含み、前記第1中継サーバは、前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含む第1中継サーバ情報を作成する第1中継サーバ情報作成部、を含み、前記第2中継サーバは、前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含む第2中継サーバ情報を作成する第2中継サーバ情報作成部、を含み、前記第1中継サーバと前記第2中継サーバとは、前記第1中継サーバ情報と前記第2中継サーバ情報と、を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部、を含み、前記第1中継サーバは、前記中継グループ情報と前記中継サーバ情報とを前記第1中継サーバと前記第1クライアント端末との間で共有する第1クライアント端末間共有部、を含み、前記第2中継サーバは、前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有する第2クライアント端末間共有部、を含み、前記第1中継サーバは、前記中継グループ情報と前記中継サーバ情報とに基づいて選択された宛先に対する、前記第1中継サーバが中継する通信を実行する通信実行部、を含み、前記通信実行部は、前記宛先と前記中継グループ情報と前記中継サーバ情報とに基づいて、前記第1中継サーバが中継する通信の転送先を決定する転送先決定部と、前記転送先との間で呼制御プロトコルを利用して第1セッションを確立する呼制御確立部と、前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した第1識別情報が、前記第1セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第1セッションの呼制御と対応付けた第1通信経路を確立する通信経路確立部と、を含むことを特徴とする。
請求項4記載の発明は、請求項3に記載の中継通信システムにおいて、前記呼制御確立部は、前記転送先との間で呼制御プロトコルを利用して第2セッションを確立する並列呼制御確立部と、前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した第2識別情報が、前記第2セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第2セッションの呼制御と対応付けた第2通信経路を確立する並列通信経路確立部と、を含むことを特徴とする。
中継通信システムは、第1ネットワークおよび第2ネットワークを備える。第1ネットワークは、第1中継サーバおよび第1クライアント端末を備える。第2ネットワークは、第2中継サーバおよび第2クライアント端末を備える。第1中継サーバおよび第2中継サーバは、第1クライアント端末および第2クライアント端末の相互間の通信を中継する。
第1(第2)中継サーバは、中継グループ情報、第1(第2)中継サーバ情報、クライアント端末情報を作成する。中継グループ情報は、第1中継サーバおよび第2中継サーバが中継グループを構成することを示す情報である。第1(第2)中継サーバ情報は、第1(第2)中継サーバと通信可能である第1(第2)クライアント端末を示す情報である。クライアント端末情報は、第1(第2)クライアント端末の第1(第2)ネットワークにおける接続環境を示す情報である。
第1(第2)中継サーバは、中継グループ情報を参照することにより、第1中継サーバ情報および第2中継サーバ情報を、第1中継サーバおよび第2中継サーバの相互間において共有できる。第1(第2)中継サーバは、各々のクライアント端末情報を参照することにより、中継グループ情報および中継サーバ情報を、第1(第2)中継サーバおよび第1(第2)クライアント端末の相互間において共有できる。
第1(第2)中継サーバは、中継グループ情報および中継サーバ情報に基づいて選択された宛先に対する、第1(第2)中継サーバが中継する通信を実行する。第1(第2)中継サーバは、宛先および中継グループ情報および中継サーバ情報に基づいて、第1(第2)中継サーバが中継する通信の転送先を決定する。
第1(第2)中継サーバは、転送先に対して呼制御を実行するときに、転送先に対して呼制御の識別情報を送信する。第1(第2)中継サーバは、転送先から通信経路を確立されるときに、転送先から呼制御の識別情報を受信する。第1(第2)中継サーバは、送受信した呼制御の識別情報を照合することにより、呼制御および通信経路を対応付ける。
第1(第2)クライアント端末は、第1(第2)中継サーバに対して呼制御を実行するときに、第1(第2)中継サーバに対して呼制御の識別情報を送信する。第1(第2)クライアント端末は、第1(第2)中継サーバから通信経路を確立されるときに、第1(第2)中継サーバから呼制御の識別情報を受信する。第1(第2)クライアント端末は、送受信した呼制御の識別情報を照合することにより、呼制御および通信経路を対応付ける。
第1(第2)中継サーバおよび第1(第2)クライアント端末は、複数の呼制御を実行するにあたり、各呼制御および各通信経路を対応付けることにより、複数の呼制御を交錯させないようにできて、複数の通信経路を交錯させないようにできる。
{中継通信システムの全体構成}
以下、図面を参照しつつ、本発明の実施の形態について説明する。図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の相互間の通信が直接に実行されればよい。
クライアント端末11および中継サーバ12の相互間、中継サーバ12および中継サーバ22の相互間、中継サーバ22およびクライアント端末21の相互間、の各区間において、複数の呼制御が実行されることがあり、複数のメディアセッションが確立されることがある。しかし、各区間において、各呼制御および各メディアセッションは、各呼制御の識別情報に基づいて対応付けられる。そこで、各区間において、複数の呼制御が交錯することはなく、複数のメディアセッションが交錯することはない。
{中継サーバの構成要素}
図2は、中継サーバ12(22)の構成要素を示す図である。中継サーバ12(22)は、インターフェース部121(221)、制御部122(222)、データベース格納部123(223)から構成される。括弧が付されていない符号は、中継サーバ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)から構成される。以上の情報の具体例について以下に説明する。
{中継グループ情報の具体例}
図3は、中継グループ情報の具体例として、中継グループ情報40を示す図である。中継グループ情報は、中継通信システムを構成する中継サーバの概要を示す情報である。
中継グループ情報40は、上位情報401、下位情報402から構成される。
上位情報401は、上位にある中継グループについての情報である。「id」は、中継グループの識別情報を示す。「lastmod」は、中継グループ情報の最新更新時刻を示す。「name」は、中継グループの名称を示す。
下位情報402は、下位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。
中継グループ情報40は、中継グループ情報格納部124、224において格納される。すなわち、中継グループ情報40は、中継サーバ12、22により共有される。さらに、中継グループ情報40は、中継サーバ12、22およびクライアント端末11、21により共有される。
{中継サーバ情報の具体例}
図4は、中継サーバ情報の具体例として、中継サーバ情報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を含む。
上位情報501−1、501−2は、上位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。「name」は、中継サーバの名称を示す。中継サーバ起動情報503−1、503−2は、中継サーバが起動しているかどうかについての情報である。
下位情報502−1、502−2は、下位にあるクライアント端末についての情報である。「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。クライアント端末サイト情報504−1、504−2は、クライアント端末がログオンしている中継サーバの識別情報を示す。
中継サーバ情報50は、中継サーバ情報格納部125、225において格納される。すなわち、中継サーバ情報50は、中継サーバ12、22により共有される。さらに、中継サーバ情報50は、中継サーバ12、22およびクライアント端末11、21により共有される。
中継サーバが起動しているときには、中継サーバ起動情報503−1、503−2が「active」になっている。中継サーバが起動していないときには、中継サーバ起動情報503−1、503−2が空欄になっている。これにより、中継サーバが起動しているかどうかについての情報が、中継通信システム全体として共有される。
クライアント端末が中継サーバにログオンしているときには、クライアント端末サイト情報504−1、504−2が記載されている。クライアント端末が中継サーバにログオンしていないときには、クライアント端末サイト情報504−1、504−2が記載されていない。これにより、クライアント端末が中継サーバにログオンしているかどうかについての情報が、中継通信システム全体として共有される。
{クライアント端末情報の具体例}
図5は、クライアント端末情報の具体例として、クライアント端末情報60、70を示す図である。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報である。
クライアント端末情報60、70は、各々、クライアント端末アドレス情報601、701、クライアント端末有効期限情報602、702、クライアント端末ポート情報603、703を含む。
「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。クライアント端末アドレス情報601、701は、クライアント端末のIPアドレスを示す。クライアント端末有効期限情報602、702は、クライアント端末のレジスト有効期限を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「pass」は、クライアント端末のパスワードを示す。クライアント端末ポート情報603、703は、クライアント端末のポート番号を示す。
クライアント端末情報60は、クライアント端末情報格納部126のみにおいて格納されて、クライアント端末情報70は、クライアント端末情報格納部226のみにおいて格納される。すなわち、クライアント端末情報60は、中継サーバ12のみにより保有されて、クライアント端末情報70は、中継サーバ22のみにより保有される。
{情報共有の流れ}
図6は、中継グループ情報、中継サーバ情報が共有される処理の流れを示す図である。中継サーバ12、22が、中継通信システムに参加する。クライアント端末11のユーザが、中継サーバ12にログオンして、クライアント端末21のユーザが、中継サーバ22にログオンする。
[ステップS1からステップS2までの処理の流れ]
中継サーバ12の管理者および中継サーバ22の管理者は、LAN1、2の相互間において中継通信システムのグループを構築する契約を結ぶ。
中継サーバ12の管理者は、クライアント端末11のユーザに対して、アカウントを作成する(ステップS1:CreateAccount())。制御部122は、中継サーバ情報51−1を作成して、中継サーバ情報格納部125に格納する。
中継サーバ22の管理者は、クライアント端末21のユーザに対して、アカウントを作成する(ステップS2:CreateAccount())。制御部222は、中継サーバ情報51−2を作成して、中継サーバ情報格納部225に格納する。
以上の処理の流れにより、中継サーバ12は、中継サーバ情報51−1を保有する。中継サーバ22は、中継サーバ情報51−2を保有する。
図7の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」が設定されている。クライアント端末サイト情報514−1は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
図7の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」が設定されている。クライアント端末サイト情報514−2は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。
[ステップ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により共有されている。
図8の1番目の枠内は、中継グループ情報42を示す。上位情報421は、上位にある中継グループについての情報である。「id」として、「20070402133100@relay−server−1.abc.net」が設定されている。「lastmod」として、「20070402133100」が設定されている。「name」として、「GROUP 1」が設定されている。
下位情報422は、下位にある中継サーバ12、22についての情報である。「id」として、「relay−server−1@abc.net」、「relay−server−2@abc.net」が設定されている。
図8の2番目の枠内は、中継サーバ情報52を示す。上位情報521−1、521−2は、各々、図7の上位情報511−1、511−2と同様である。下位情報522−1、522−2は、各々、図7の下位情報512−1、512−2と同様である。
図8の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にログオンしていない。
図8の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にログオンしていない。
[ステップS5からステップS7までの処理の流れ]
クライアント端末11のユーザは、クライアント端末11の識別情報として、「client−1@relay−server−1.abc.net」を入力して、クライアント端末11のパスワードとして、「client−1」を入力する。クライアント端末11のユーザは、中継サーバ12にログオンする(ステップS5:REGISTER(ID,PASS))。制御部122は、クライアント端末情報62を参照することにより、クライアント端末11のユーザの認証を実行する。
制御部122は、クライアント端末11のユーザのログオンを受け付ける。制御部122は、中継サーバ情報52を更新することにより、中継サーバ情報53を作成して、中継サーバ情報格納部125に格納する。制御部122は、クライアント端末情報62を更新することにより、クライアント端末情報63を作成して、クライアント端末情報格納部126に格納する。制御部122は、中継グループ情報42を更新することはない。
クライアント端末11は、中継サーバ12に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS6:get())。中継サーバ12は、クライアント端末11に対して、中継グループ情報42および中継サーバ情報53の複製を送信する。クライアント端末11は、中継グループ情報42、中継サーバ情報53を格納する。
制御部122は、中継グループ情報42、中継サーバ情報53を参照することにより、中継サーバ情報52が中継サーバ情報53に更新されたことを通知すべき中継サーバを決定する。制御部122は、中継サーバ情報53の中継サーバ起動情報533−2が「active」である中継サーバ22を、通知すべき中継サーバとして決定する。
中継サーバ12は、中継サーバ22に対して、中継サーバ情報52が中継サーバ情報53に更新されたことを通知する(ステップ7:NOTIFY())。制御部222は、中継サーバ情報52を更新することにより、中継サーバ情報53を作成して、中継サーバ情報格納部225に格納する。
制御部222は、クライアント端末情報72を参照することにより、中継サーバ情報52が中継サーバ情報53に更新されたことを通知すべきクライアント端末を決定する。制御部222は、クライアント端末情報72のクライアント端末アドレス情報721が空欄であり、クライアント端末情報72のクライアント端末ポート情報723が空欄であるクライアント端末21を、通知すべきクライアント端末として決定することはない。
以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報53、クライアント端末情報63を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報53、クライアント端末情報72を保有する。クライアント端末11は、中継グループ情報42、中継サーバ情報53を保有する。中継グループ情報42、中継サーバ情報53は、中継サーバ12、22、クライアント端末11により共有されている。
図9の1番目の枠内は、中継グループ情報42を示す。ステップS5からステップS7までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報42が更新されることはない。
図9の2番目の枠内は、中継サーバ情報53を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、下位情報532−1のクライアント端末サイト情報534−1は、「relay−server−1@abc.net」に確定されている。
図9の3番目の枠内は、クライアント端末情報63を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、クライアント端末アドレス情報631は、「192.168.10.2」に確定されている。また、クライアント端末有効期限情報632は、「1213935960484」に確定されている。さらに、クライアント端末ポート情報633は、「5070」に確定されている。
図9の4番目の枠内は、クライアント端末情報72を示す。ステップS5からステップS7までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22にログオンしていないため、クライアント端末情報72が更新されることはない。
[ステップS8からステップS11までの処理の流れ]
クライアント端末21のユーザは、クライアント端末21の識別情報として、「client−2@relay−server−2.abc.net」を入力して、クライアント端末21のパスワードとして、「client−2」を入力する。クライアント端末21のユーザは、中継サーバ22にログオンする(ステップS8:REGISTER(ID,PASS))。制御部222は、クライアント端末情報72を参照することにより、クライアント端末21のユーザの認証を実行する。
制御部222は、クライアント端末21のユーザのログオンを受け付ける。制御部222は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部225に格納する。制御部222は、クライアント端末情報72を更新することにより、クライアント端末情報74を作成して、クライアント端末情報格納部226に格納する。制御部222は、中継グループ情報42を更新することはない。
クライアント端末21は、中継サーバ22に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS9:get())。中継サーバ22は、クライアント端末21に対して、中継グループ情報42および中継サーバ情報54の複製を送信する。クライアント端末21は、中継グループ情報42、中継サーバ情報54を格納する。
制御部222は、中継グループ情報42、中継サーバ情報54を参照することにより、中継サーバ情報53が中継サーバ情報54に更新されたことを通知すべき中継サーバを決定する。制御部222は、中継サーバ情報54の中継サーバ起動情報543−1が「active」である中継サーバ12を、通知すべき中継サーバとして決定する。
中継サーバ22は、中継サーバ12に対して、中継サーバ情報53が中継サーバ情報54に更新されたことを通知する(ステップ10:NOTIFY())。制御部122は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部125に格納する。
制御部122は、クライアント端末情報63を参照することにより、中継サーバ情報53が中継サーバ情報54に更新されたことを通知すべきクライアント端末を決定する。制御部122は、クライアント端末情報63のクライアント端末アドレス情報631が確定されていて、クライアント端末情報63のクライアント端末ポート情報633が確定されているクライアント端末11を、通知すべきクライアント端末として決定する。
中継サーバ12は、クライアント端末11に対して、中継サーバ情報53が中継サーバ情報54に更新されたことを通知する(ステップ11:NOTIFY())。クライアント端末11は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報54を格納する。
以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報54、クライアント端末情報63を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報54、クライアント端末情報74を保有する。クライアント端末11は、中継グループ情報42、中継サーバ情報54を保有する。クライアント端末21は、中継グループ情報42、中継サーバ情報54を保有する。中継グループ情報42、中継サーバ情報54は、中継サーバ12、22、クライアント端末11、21により共有されている。
図10の1番目の枠内は、中継グループ情報42を示す。ステップS8からステップS11までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報42が更新されることはない。
図10の2番目の枠内は、中継サーバ情報54を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、下位情報542−2のクライアント端末サイト情報544−2は、「relay−server−2@abc.net」に確定されている。
図10の3番目の枠内は、クライアント端末情報63を示す。ステップS8からステップS11までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報63が更新されることはない。
図10の4番目の枠内は、クライアント端末情報74を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、クライアント端末アドレス情報741は、「192.168.1.10」に確定されている。また、クライアント端末有効期限情報742は、「1213935978484」に確定されている。さらに、クライアント端末ポート情報743は、「5070」に確定されている。
{情報共有のまとめ}
中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。そこで、一の中継サーバは、状態変化を認識したときには、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
そして、一の中継サーバは、中継グループ情報および中継サーバ情報に記載されている他の中継サーバに、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。さらに、一の中継サーバは、クライアント端末情報に記載されているクライアント端末に、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。
しかし、一の中継サーバは、他の中継サーバが中継グループ情報および中継サーバ情報に記載されているとしても、他の中継サーバが未接続状態にあると判断したときには、他の中継サーバに直ちに通知することはない。さらに、一の中継サーバは、クライアント端末がクライアント端末情報に記載されているとしても、クライアント端末が未接続状態にあると判断したときには、クライアント端末に直ちに通知することはない。
これにより、LANおよびクライアント端末の増減状態および接続状態についての情報は、中継通信システム全体としてリアルタイムに共有される。
{データ送受信の流れ}
図11から図13までは、クライアント端末11および中継サーバ22の相互間におけるデータ送受信の流れを示す図である。図14から図16までは、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信の流れを示す図である。
図11から図13までおよび図14から図16までにおいては、図10に示した中継グループ情報42、中継サーバ情報54、クライアント端末情報63、74が格納されている。クライアント端末11のユーザは、中継サーバ12にログオンしている。クライアント端末21のユーザは、中継サーバ22にログオンしている。
クライアント端末11および中継サーバ22の相互間におけるデータ送受信、および、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信は、並列して実行される。最初に、クライアント端末11および中継サーバ22の相互間におけるデータ送受信について説明する。次に、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信について説明する。最後に、並列して実行されるデータ送受信について説明する。
{クライアント端末11および中継サーバ22の相互間におけるデータ送受信}
[メディアセッション確立前の呼制御]
図11は、クライアント端末11および中継サーバ22の相互間におけるデータ送受信において、メディアセッション確立前の呼制御の流れを示す図である。クライアント端末11のユーザは、クライアント端末11が所属する中継グループを確認する。具体的には、クライアント端末11のユーザは、中継グループ情報42をクライアント端末11の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、22の識別情報「relay−server−1@abc.net」、「relay−server−2@abc.net」が設定されている。クライアント端末11のユーザは、クライアント端末11が中継サーバ12、22により構成される中継グループに所属していることを確認する。
クライアント端末11のユーザは、中継グループ情報42に対応する中継サーバ情報54を、クライアント端末11の表示画面に表示させる(getServer())。クライアント端末11のユーザは、中継サーバ情報54を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末を確認する。
クライアント端末11のユーザは、中継サーバ情報54を参照して、中継サーバ22とのデータの送受信が可能であることを確認する。
クライアント端末11のユーザは、中継サーバ12について、中継サーバ情報54の中継サーバ起動情報543−1が「active」に設定されていることを確認する。すなわち、中継サーバ12が起動していることを確認する。
クライアント端末11のユーザは、中継サーバ22について、中継サーバ情報54の中継サーバ起動情報543−2が「active」に設定されていることを確認する。すなわち、中継サーバ22が起動していることを確認する。
クライアント端末11のユーザは、中継サーバ12を介して、中継サーバ22に対して、データを送信できることを確認する。クライアント端末11のユーザは、中継サーバ22に対して、データを送信することを決定する。
クライアント端末11は、クライアント端末11および中継サーバ12の相互間の通信(dialog(1))において、中継サーバ12に対して、呼制御を行なう(ステップS12:INVITE)。ここで、クライアント端末11は、dialog(1)における呼制御の識別情報として、「1234」を送信する。さらに、クライアント端末11は、メディアセッションのポート番号として、「5678」を送信する。
クライアント端末11および中継サーバ12の相互間において、後述するように複数の呼制御が実行されることがある。そこで、複数の呼制御が識別されるように、相互に異なる識別情報が複数の呼制御に対して設定される。
図11〜図13において、各端末、サーバで利用されるChannelの情報を示す。Channel情報のうち、“TS”はTransactionを、“S”はSource(送信元)を、“D”はDestination(送信先)を、MSはMediaSessionを示している。また、Destinationにおいて、relay−server−2を単にServer2と記載している。
クライアント端末11が利用するChannelには、dialog(1)のIDとして「1234」が設定されている。メディアセッションは確立されていないので、MSの欄はブランクになっている。
中継サーバ12は、dialog(1)において、クライアント端末11から、呼制御を受ける。中継サーバ12は、クライアント端末11にOKレスポンスを送信する。OKレスポンスを受信したクライアント端末11は、中継サーバ12にACKを送信する(ステップS13)。
制御部122は、中継グループ情報42の下位情報422、または、中継サーバ情報54の上位情報541−2を参照することにより、呼制御の実行先である中継サーバ22が、LAN1側になくWAN3側にあることを確認する。
中継サーバ12は、中継サーバ12および中継サーバ22の相互間の通信(dialog(2))において、中継サーバ22に対して、呼制御を行なう(ステップS14:INVITE)。ここで、中継サーバ12は、dialog(2)における呼制御の識別情報として、「4321」を送信する。さらに、中継サーバ12は、メディアセッションのポート番号として、「5678」を送信する。
中継サーバ12および中継サーバ22の相互間において、後述するように複数の呼制御が実行されることがある。そこで、複数の呼制御が識別されるように、相互に異なる識別情報が複数の呼制御に対して設定される。
しかし、クライアント端末11および中継サーバ12の相互間、および、中継サーバ12および中継サーバ22の相互間において、各々独立に呼制御が実行される。そこで、クライアント端末11および中継サーバ12の相互間、および、中継サーバ12および中継サーバ22の相互間において、相互に同一の識別情報が各々独立の呼制御に対して設定されるとしても、各々独立の呼制御は識別される。
中継サーバ12が利用するChannelには、dialog(1)のID「1234」とdialog(2)のID「4321」が設定されている。メディアセッションは確立されていないので、MSの欄はいずれもブランクになっている。
中継サーバ22は、dialog(2)において、中継サーバ12から、呼制御を受ける。中継サーバ22は、中継サーバ12にOKレスポンスを送信する。OKレスポンスを受信した中継サーバ12は、中継サーバ22にACKを送信する(ステップS15)。
dialog(1)は、クライアント端末11および中継サーバ12の相互間の通信である。dialog(2)は、中継サーバ12および中継サーバ22の相互間の通信である。中継サーバ12は、dialog(1)およびdialog(2)を関連付ける。
中継サーバ12は、dialog(1)において受信したときには、dialog(1)およびdialog(2)を関連付けたことを示す情報を作成したうえで、dialog(2)において送信する。この送受信において、dialog(1)およびdialog(2)が関連付けられたことが、「dialog(1):recv()==dialog(2):send()」により示されている。
中継サーバ12は、dialog(2)において受信したときには、dialog(1)およびdialog(2)を関連付けたことを示す情報を参照したうえで、dialog(1)において送信する。この送受信において、dialog(1)およびdialog(2)が関連付けられたことが、「dialog(1):send()==dialog(2):recv()」により示されている。
中継サーバ22が利用するChannelには、dialog(2)のID「4321」が設定されている。メディアセッションは確立されていないので、MSの欄はブランクになっている。
[メディアセッション確立]
図12は、クライアント端末11および中継サーバ22の相互間におけるデータ送受信において、メディアセッション確立の流れを示す図である。呼制御を受けた側がメディアセッション確立を行なう。呼制御を行なった側がメディアセッション確立を受ける。
呼制御を行なう側は、呼制御を受ける側に対して、呼制御の識別情報を送信する。呼制御を受けた側は、呼制御を行なった側に対して、受信した呼制御の識別情報を送信する。呼制御を行なった側は、受信した呼制御の識別情報を、送信した呼制御の識別情報と照合する。呼制御を行なった側は、呼制御を受けた側およびメディアセッション確立を行なった側が一致することを認証できる。
中継サーバ22は、中継サーバ12に対して、メディアセッション確立を要求する(ステップS16:SYN)。中継サーバ12は、中継サーバ22にSYN,ACKを返信する。中継サーバ22は中継サーバ12にACKを送信する(ステップS17)。
次に、中継サーバ22は、メディアセッションを利用して中継サーバ12に対して、呼制御の識別情報として、「4321」を送信する(ステップS18:send)。中継サーバ12は、ステップS18において受信した呼制御の識別情報を、ステップS14において送信した呼制御の識別情報と照合する。
中継サーバ12は、ステップS16においてメディアセッション確立要求を行なった側が、ステップS14において呼制御を受けた側と、中継サーバ22として一致することを認証する。すなわち、中継サーバ12は、中継サーバ22から、ステップS16において、不正なメディアセッション確立要求を受けたわけではない。中継サーバ12は、中継サーバ22に対して、OKレスポンスを送信する。
中継サーバ22が利用するChannelの情報には、dialog(2)と関連付けられたメディアセッションとしてClientSocket(1)が設定されている。中継サーバ12が利用するChannelの情報には、dialog(2)と関連付けられたメディアセッションとしてServerSocket(1)が設定されている。
続いて、中継サーバ12は、クライアント端末11に対して、メディアセッション確立を要求する(ステップS19:SYN)。クライアント端末11は、中継サーバ12にSYN,ACKを返信する。中継サーバ12はクライアント端末11にACKを送信する(ステップS20)。
次に、中継サーバ12は、メディアセッションを利用して、クライアント端末11に対して、呼制御の識別情報として、「1234」を送信する(ステップS21:send)。クライアント端末11は、ステップS21において受信した呼制御の識別情報を、ステップS12において送信した呼制御の識別情報と照合する。
クライアント端末11は、ステップS19においてメディアセッション確立要求を行なった側が、ステップS12において呼制御を受けた側と、中継サーバ12として一致することを認証する。すなわち、クライアント端末11は、中継サーバ12から、ステップS19において、不正なメディアセッション確立要求を受けたわけではない。クライアント端末11は、中継サーバ12に対して、OKレスポンスを送信する。
中継サーバ12が利用するChannelの情報には、さらに、dialog(1)と関連付けられたメディアセッションとしてClientSocket(2)が設定されている。クライアント端末11が利用するChannelの情報には、dialog(1)と関連付けられたメディアセッションとしてServerSocket(2)が設定されている。
以上の処理の流れにより、中継サーバ22と中継サーバ12との間、および中継サーバ12とクライアント端末11との間でメディアセッションが確立される。
[メディアセッション切断]
図13は、クライアント端末11および中継サーバ22の相互間におけるデータ送受信において、メディアセッション切断の流れを示す図である。
クライアント端末11は、dialog(1)において、中継サーバ12に対して、セッションの切断を要求する(ステップS22:BYE)。中継サーバ12はクライアント端末11にOKレスポンスを返す。
クライアント端末11および中継サーバ12が利用するChannelの情報からは、dialog(1)の情報が削除される。
中継サーバ12は、dialog(2)において、中継サーバ22に対して、セッションの切断を要求する(ステップS23:BYE)。中継サーバ22は中継サーバ12にOKレスポンスを返す。
中継サーバ12および中継サーバ22が利用するChannelの情報からは、dialog(2)の情報が削除される。
クライアント端末11は、中継サーバ12に対して、メディアセッション切断を要求する(ステップS24:FIN,ACK)。中継サーバ12はクライアント端末11にACKを返信し、続いてクライアント端末11に対して、メディアセッション切断を要求する(ステップS25:FIN,ACK)。
クライアント端末11および中継サーバ12が利用するChannelの情報からは、dialog(1)と関連付けられていたメディアセッションの情報が削除される。
中継サーバ12は、中継サーバ22に対して、メディアセッション切断を要求する(ステップS26:FIN,ACK)。中継サーバ22は中継サーバ12にACKを返信し、続いて中継サーバ12に対して、メディアセッション切断を要求する(ステップS27:FIN,ACK)。中継サーバ12は中継サーバ22にACKを返信する。以上の手順によりメディアセッションが切断される。
中継サーバ12および中継サーバ22が利用するChannelの情報からは、dialog(2)と関連付けられていたメディアセッションの情報が削除される。
{クライアント端末11およびクライアント端末21の相互間におけるデータ送受信}
[メディアセッション確立前の呼制御]
図14は、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信において、メディアセッション確立前の呼制御の流れを示す図である。クライアント端末11のユーザは、クライアント端末11が所属する中継グループを確認する。具体的には、クライアント端末11のユーザは、中継グループ情報42をクライアント端末11の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、22の識別情報「relay−server−1@abc.net」、「relay−server−2@abc.net」が設定されている。クライアント端末11のユーザは、クライアント端末11が中継サーバ12、22により構成される中継グループに所属していることを確認する。
クライアント端末11のユーザは、中継グループ情報42に対応する中継サーバ情報54を、クライアント端末11の表示画面に表示させる(getServer())。クライアント端末11のユーザは、中継サーバ情報54を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末を確認する。
クライアント端末11のユーザは、中継サーバ情報54を参照して、クライアント端末21とのデータの送受信が可能であることを確認する。
クライアント端末11のユーザは、ステップS12の準備段階と同様にして、中継サーバ12、22が起動していることを確認する。
クライアント端末11のユーザは、クライアント端末21について、中継サーバ情報54のクライアント端末サイト情報544−2が「relay−server−2@abc.net」に設定されていることを確認する。すなわち、クライアント端末21が中継サーバ22にログオンしていることを確認する。
クライアント端末11のユーザは、中継サーバ12、22を介して、クライアント端末21に対して、データを送信できることを確認する。クライアント端末11のユーザは、クライアント端末21に対して、データを送信することを決定する。
クライアント端末11は、クライアント端末11および中継サーバ12の相互間の通信(dialog(3))において、中継サーバ12に対して、呼制御を行なう(ステップS28:INVITE)。ここで、クライアント端末11は、dialog(3)における呼制御の識別情報として、「4321」を送信する。さらに、クライアント端末11は、メディアセッションのポート番号として、「5678」を送信する。
図14〜図16においても、各端末、サーバで利用されるChannelの情報を示す。クライアント端末11が利用するChannelには、dialog(3)のIDとして「4321」が設定されている。メディアセッションは確立されていないので、MSの欄はブランクになっている。
中継サーバ12は、dialog(3)において、クライアント端末11から、呼制御を受ける。中継サーバ12は、クライアント端末11にOKレスポンスを送信する。OKレスポンスを受信したクライアント端末11は、中継サーバ12にACKを送信する(ステップS29)。
クライアント端末11および中継サーバ12の相互間において、dialog(1)およびdialog(3)が実行される。しかし、dialog(1)における呼制御の識別情報は「1234」であり、dialog(3)における呼制御の識別情報は「4321」であり、各々の呼制御の識別情報は相互に異なる。そのため、dialog(1)における呼制御およびdialog(3)における呼制御は識別される。
中継サーバ12は、中継サーバ12および中継サーバ22の相互間の通信(dialog(4))において、中継サーバ22に対して、呼制御を行なう(ステップS30:INVITE)。ここで、中継サーバ12は、dialog(4)における呼制御の識別情報として、「1234」を送信する。さらに、中継サーバ12は、メディアセッションのポート番号として、「5678」を送信する。
中継サーバ12が利用するChannelには、dialog(3)のID「4321」とdialog(4)のID「1234」が設定されている。メディアセッションは確立されていないので、MSの欄はいずれもブランクになっている。
中継サーバ22は、dialog(4)において、中継サーバ12から、呼制御を受ける。中継サーバ22は、中継サーバ12にOKレスポンスを送信する。OKレスポンスを受信した中継サーバ12は、中継サーバ22にACKを送信する(ステップS31)。
中継サーバ12および中継サーバ22の相互間において、dialog(2)およびdialog(4)が実行される。しかし、dialog(2)における呼制御の識別情報は「4321」であり、dialog(4)における呼制御の識別情報は「1234」であり、各々の呼制御の識別情報は相互に異なる。そのため、dialog(2)における呼制御およびdialog(4)における呼制御は識別される。
dialog(1)およびdialog(4)における呼制御の識別情報は、相互に同一である「1234」である。しかし、dialog(1)およびdialog(4)における呼制御は、異なる区間における呼制御であるため識別される。
dialog(2)およびdialog(3)における呼制御の識別情報は、相互に同一である「4321」である。しかし、dialog(2)およびdialog(3)における呼制御は、異なる区間における呼制御であるため識別される。
中継サーバ12は、dialog(3)において受信したときには、dialog(3)およびdialog(4)を関連付けたことを示す情報を作成したうえで、dialog(4)において送信する。この送受信において、dialog(3)およびdialog(4)が関連付けられたことが、「dialog(3):recv()==dialog(4):send()」により示されている。
中継サーバ12は、dialog(4)において受信したときには、dialog(3)およびdialog(4)を関連付けたことを示す情報を参照したうえで、dialog(3)において送信する。この送受信において、dialog(3)およびdialog(4)が関連付けられたことが、「dialog(3):send()==dialog(4):recv()」により示されている。
中継サーバ22は、中継サーバ22およびクライアント端末21の相互間の通信(dialog(5))において、クライアント端末21に対して、呼制御を行なう(ステップS32:INVITE)。ここで、中継サーバ22は、dialog(5)における呼制御の識別情報として、「8765」を送信する。さらに、中継サーバ22は、メディアセッションのポート番号として、「5678」を送信する。
中継サーバ22が利用するChannelには、dialog(4)のID「1234」とdialog(5)のID「8765」が設定されている。メディアセッションは確立されていないので、MSの欄はいずれもブランクになっている。
クライアント端末21は、dialog(5)において、中継サーバ22から、呼制御を受ける。クライアント端末21は、中継サーバ22にOKレスポンスを送信する。OKレスポンスを受信した中継サーバ22は、クライアント端末21にACKを送信する(ステップS33)。
クライアント端末21が利用するChannelには、dialog(5)のID「8765」が設定されている。メディアセッションは確立されていないので、MSの欄はブランクになっている。
[メディアセッション確立]
図15は、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信において、メディアセッション確立の流れを示す図である。
クライアント端末21は、中継サーバ22に対して、メディアセッション確立を要求する(ステップS34:SYN)。中継サーバ22は、クライアント端末21にSYN,ACKを返信する。クライアント端末21は中継サーバ22にACKを送信する(ステップS35)。
次に、クライアント端末21は、メディアセッションを利用して、中継サーバ22に対して、呼制御の識別情報として、「8765」を送信する(ステップS36:send)。中継サーバ22は、ステップS36において受信した呼制御の識別情報を、ステップS32において送信した呼制御の識別情報と照合する。
中継サーバ22は、ステップS34においてメディアセッション確立要求を行なった側が、ステップS32において呼制御を受けた側と、クライアント端末21として一致することを認証する。すなわち、中継サーバ22は、クライアント端末21から、ステップS34において、不正なメディアセッション確立要求を受けたわけではない。中継サーバ22は、中継サーバ22に対して、OKレスポンスを送信する。
クライアント端末21が利用するChannelの情報には、dialog(5)と関連付けられたメディアセッションとしてClientSocket(3)が設定されている。中継サーバ22が利用するChannelの情報には、dialog(5)と関連付けられたメディアセッションとしてServerSocket(3)が設定されている。
続いて、中継サーバ22は、中継サーバ12に対して、メディアセッション確立を要求する(ステップS37:SYN)。中継サーバ12は、中継サーバ22にSYN,ACKを返信する。中継サーバ22は中継サーバ12にACKを送信する(ステップS38)。
次に、中継サーバ22は、メディアセッションを利用して、中継サーバ12に対して、呼制御の識別情報として、「1234」を送信する(ステップS39:send)。中継サーバ12は、ステップS39において受信した呼制御の識別情報を、ステップS30において送信した呼制御の識別情報と照合する。
中継サーバ12は、ステップS37においてメディアセッション確立要求を行なった側が、ステップS30において呼制御を受けた側と、中継サーバ22として一致することを認証する。すなわち、中継サーバ12は、中継サーバ22から、ステップS37において、不正なメディアセッション確立要求を受けたわけではない。中継サーバ12は、中継サーバ22に対して、OKレスポンスを送信する。
中継サーバ22が利用するChannelの情報には、さらに、dialog(4)と関連付けられたメディアセッションとしてClientSocket(4)が設定されている。中継サーバ12が利用するChannelの情報には、dialog(4)と関連付けられたメディアセッションとしてServerSocket(4)が設定されている。
続いて、中継サーバ12は、クライアント端末11に対して、メディアセッション確立を要求する(ステップS40:SYN)。クライアント端末11は、中継サーバ12にSYN,ACKを返信する。中継サーバ12はクライアント端末11にACKを送信する(ステップS41)。
次に、中継サーバ12は、メディアセッションを利用して、クライアント端末11に対して、呼制御の識別情報として、「4321」を送信する(ステップS42:send)。クライアント端末11は、ステップS42において受信した呼制御の識別情報を、ステップS28において送信した呼制御の識別情報と照合する。
クライアント端末11は、ステップS40においてメディアセッション確立要求を行なった側が、ステップS28において呼制御を受けた側と、中継サーバ12として一致することを認証する。すなわち、クライアント端末11は、中継サーバ12から、ステップS40において、不正なメディアセッション確立要求を受けたわけではない。クライアント端末11は、中継サーバ12に対して、OKレスポンスを送信する。
中継サーバ12が利用するChannelの情報には、さらに、dialog(3)と関連付けられたメディアセッションとしてClientSocket(5)が設定されている。クライアント端末11が利用するChannelの情報には、dialog(3)と関連付けられたメディアセッションとしてServerSocket(5)が設定されている。
以上の処理の流れにより、クライアント端末21と中継サーバ22との間、中継サーバ22と中継サーバ12との間、および中継サーバ12とクライアント端末11との間でメディアセッションが確立される。
[メディアセッション切断]
図16は、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信において、メディアセッション切断の流れを示す図である。
クライアント端末11は、dialog(3)において、中継サーバ12に対して、セッションの切断を要求する(ステップS43:BYE)。中継サーバ12はクライアント端末11にOKレスポンスを返す。
クライアント端末11および中継サーバ12が利用するChannelの情報からは、dialog(3)の情報が削除される。
中継サーバ12は、dialog(4)において、中継サーバ22に対して、セッションの切断を要求する(ステップS44:BYE)。中継サーバ22は中継サーバ12にOKレスポンスを返す。
中継サーバ12および中継サーバ22が利用するChannelの情報からは、dialog(4)の情報が削除される。
中継サーバ22は、dialog(5)において、クライアント端末21に対して、セッションの切断を要求する(ステップS45:BYE)。クライアント端末21は中継サーバ22にOKレスポンスを返す。
中継サーバ22およびクライアント端末21が利用するChannelの情報からは、dialog(5)の情報が削除される。
クライアント端末11は、中継サーバ12に対して、メディアセッション切断を要求する(ステップS46:FIN,ACK)。中継サーバ12はクライアント端末11にACKを返信し、続いてクライアント端末11に対して、メディアセッション切断を要求する(ステップS47:FIN,ACK)。クライアント端末11は中継サーバ12にACKを返信する。以上の手順によりメディアセッションが切断される。
クライアント端末11および中継サーバ12が利用するChannelの情報からは、dialog(3)と関連付けられていたメディアセッションの情報が削除される。
同様に、中継サーバ12と中継サーバ22との間においてもメディアセッションが切断される(ステップS48、S49)。
中継サーバ12および中継サーバ22が利用するChannelの情報からは、dialog(4)と関連付けられていたメディアセッションの情報が削除される。
さらに、中継サーバ22とクライアント端末21との間においてもメディアセッションが切断される(ステップS50、S51)。
中継サーバ22およびクライアント端末21が利用するChannelの情報からは、dialog(5)と関連付けられていたメディアセッションの情報が削除される。
{並列して実行されるデータ送受信}
クライアント端末11および中継サーバ22の相互間におけるデータ送受信、および、クライアント端末11およびクライアント端末21の相互間におけるデータ送受信は、並列して実行される。ステップS12からステップS27までのみに注目すれば、この順序により処理が実行される。ステップS28からステップS51までのみに注目すれば、この順序により処理が実行される。
クライアント端末11および中継サーバ12の相互間において、dialog(1)およびdialog(3)が実行される。しかし、dialog(1)における呼制御の識別情報は「1234」であり、dialog(3)における呼制御の識別情報は「4321」であり、各々の呼制御の識別情報は異なる。
クライアント端末11は、ステップS19において、メディアセッション確立要求を受信するとともに、ステップS21において、呼制御の識別情報を受信する。クライアント端末11は、ステップS19におけるメディアセッション確立要求は、ステップS12における呼制御実行に対応するものであり、ステップS28における呼制御実行に対応するものでないことを認証できる。
クライアント端末11は、ステップS40において、メディアセッション確立要求を受信するとともに、ステップS42において、呼制御の識別情報を受信する。クライアント端末11は、ステップS40におけるメディアセッション確立要求は、ステップS28における呼制御実行に対応するものであり、ステップS12における呼制御実行に対応するものでないことを認証できる。
中継サーバ12および中継サーバ22の相互間において、dialog(2)およびdialog(4)が実行される。しかし、dialog(2)における呼制御の識別情報は「4321」であり、dialog(4)における呼制御の識別情報は「1234」であり、各々の呼制御の識別情報は異なる。
中継サーバ12は、ステップS16において、メディアセッション確立要求を受信するとともに、ステップS18において、呼制御の識別情報を受信する。中継サーバ12は、ステップS16におけるメディアセッション確立要求は、ステップS14における呼制御実行に対応するものであり、ステップS30における呼制御実行に対応するものでないことを認証できる。
中継サーバ12は、ステップS37において、メディアセッション確立要求を受信するとともに、ステップS39において、呼制御の識別情報を受信する。中継サーバ12は、ステップS37におけるメディアセッション確立要求は、ステップS30における呼制御実行に対応するものであり、ステップS14における呼制御実行に対応するものでないことを認証できる。
以上の処理の流れを応用すれば、クライアント端末11、中継サーバ12、22は、不正なメディアセッション確立要求を受けることを防止できる。
クライアント端末11は、ステップS19、S40と同様にしてメディアセッション確立要求を受信したとしても、ステップS21、S42と同様にして正当な呼制御の識別情報を受信しなければ、OKレスポンスを送信しなければよい。
中継サーバ12は、ステップS16、S37と同様にしてメディアセッション確立要求を受信したとしても、ステップS18、S39と同様にして正当な呼制御の識別情報を受信しなければ、OKレスポンスを送信しなければよい。
中継サーバ22は、ステップS34と同様にしてメディアセッション確立要求を受信したとしても、ステップS36と同様にして正当な呼制御の識別情報を受信しなければ、OKレスポンスを送信しなければよい。
呼制御を行なう側は、複数の呼制御を行なうにあたり、各呼制御および各メディアセッションを、各呼制御の識別情報に基づいて対応付けることにより、複数の呼制御を交錯させないようにできて、複数のメディアセッションを交錯させないようにできる。呼制御を行なう側は、呼制御を行なうにあたり、不正なメディアセッション確立要求を受けることを防止できる。
中継通信システムの全体構成を示す図である。 中継サーバの構成要素を示す図である。 中継グループ情報の具体例を示す図である。 中継サーバ情報の具体例を示す図である。 クライアント端末情報の具体例を示す図である。 情報共有の流れを示す図である。 ステップS2後に格納される情報を示す図である。 ステップS4後に格納される情報を示す図である。 ステップS7後に格納される情報を示す図である。 ステップS11後に格納される情報を示す図である。 データ送受信の流れを示す図である。 データ送受信の流れを示す図である。 データ送受信の流れを示す図である。 データ送受信の流れを示す図である。 データ送受信の流れを示す図である。 データ送受信の流れを示す図である。
符号の説明
1、2 LAN
3 WAN
11、21 クライアント端末
12、22 中継サーバ
31 SIPサーバ
121、221 インターフェース部
122、222 制御部
123、223 データベース格納部
124、224 中継グループ情報格納部
125、225 中継サーバ情報格納部
126、226 クライアント端末情報格納部

Claims (4)

  1. 第1ネットワークに接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバであって、
    前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部と、
    前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含み、前記第1中継サーバが作成する第1中継サーバ情報と、
    前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含み、前記第2中継サーバが作成する第2中継サーバ情報と、
    を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部と、
    前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有するクライアント端末間共有部と、
    前記中継グループ情報と前記中継サーバ情報とに基づいて選択された宛先に対する、前記第2中継サーバが中継する通信を実行する通信実行部と、
    を備え、
    前記通信実行部は、
    前記宛先と前記中継グループ情報と前記中継サーバ情報とに基づいて、前記第2中継サーバが中継する通信の転送先を決定する転送先決定部と、
    前記転送先との間で呼制御プロトコルを利用して第1セッションを確立する呼制御確立部と、
    前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した識別情報が、前記第1セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第1セッションの呼制御と対応付けた第1通信経路を確立する通信経路確立部と、
    を含むことを特徴とする中継サーバ。
  2. 請求項1に記載の中継サーバにおいて、
    前記呼制御確立部は、
    前記転送先との間で呼制御プロトコルを利用して第2セッションを確立する並列呼制御確立部と、
    前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した第2識別情報が、前記第2セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第2セッションの呼制御と対応付けた第2通信経路を確立する並列通信経路確立部と、
    を含むことを特徴とする中継サーバ。
  3. 第1ネットワークと、第2ネットワークと、
    前記第1ネットワークに接続される第1中継サーバと、
    前記第2ネットワークに接続される第2中継サーバと、
    を備える中継通信システムであって、
    前記第1中継サーバと前記第2中継サーバとは、
    前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部、
    を含み、
    前記第1中継サーバは、
    前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含む第1中継サーバ情報を作成する第1中継サーバ情報作成部、
    を含み、
    前記第2中継サーバは、
    前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含む第2中継サーバ情報を作成する第2中継サーバ情報作成部、
    を含み、
    前記第1中継サーバと前記第2中継サーバとは、
    前記第1中継サーバ情報と前記第2中継サーバ情報と、を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部、
    を含み、
    前記第1中継サーバは、
    前記中継グループ情報と前記中継サーバ情報とを前記第1中継サーバと前記第1クライアント端末との間で共有する第1クライアント端末間共有部、
    を含み、
    前記第2中継サーバは、
    前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有する第2クライアント端末間共有部、
    を含み、
    前記第1中継サーバは、
    前記中継グループ情報と前記中継サーバ情報とに基づいて選択された宛先に対する、前記第1中継サーバが中継する通信を実行する通信実行部、
    を含み、
    前記通信実行部は、
    前記宛先と前記中継グループ情報と前記中継サーバ情報とに基づいて、前記第1中継サーバが中継する通信の転送先を決定する転送先決定部と、
    前記転送先との間で呼制御プロトコルを利用して第1セッションを確立する呼制御確立部と、
    前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した第1識別情報が、前記第1セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第1セッションの呼制御と対応付けた第1通信経路を確立する通信経路確立部と、
    を含むことを特徴とする中継通信システム。
  4. 請求項3に記載の中継通信システムにおいて、
    前記呼制御確立部は、
    前記転送先との間で呼制御プロトコルを利用して第2セッションを確立する並列呼制御確立部と、
    前記転送先から通信経路の確立要求を受けたとき、確立要求とともに受信した第2識別情報が、前記第2セッションの呼制御情報に含まれる識別情報と一致するかどうかを確認し、一致する場合には、前記第2セッションの呼制御と対応付けた第2通信経路を確立する並列通信経路確立部と、
    を含むことを特徴とする中継通信システム。
JP2008230312A 2008-09-05 2008-09-08 中継サーバ、中継通信システム Active JP4798197B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2008230312A JP4798197B2 (ja) 2008-09-08 2008-09-08 中継サーバ、中継通信システム
US13/061,725 US8296391B2 (en) 2008-09-05 2009-08-31 Relay server, relay communication system, and communication apparatus
EP09811257.6A EP2323320B1 (en) 2008-09-05 2009-08-31 Relay server, relay communication system and communication apparatus
EP12184998.8A EP2538624B1 (en) 2008-09-05 2009-08-31 Communication apparatus for communicating via a first relay server with a second relay server
PCT/JP2009/004255 WO2010026727A1 (ja) 2008-09-05 2009-08-31 中継サーバ、中継通信システム、および通信装置
CN200980134063.3A CN102239667B (zh) 2008-09-05 2009-08-31 中继服务器、中继通信系统和通信装置
US13/610,172 US8799488B2 (en) 2008-09-05 2012-09-11 Relay server, relay communication system, and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008230312A JP4798197B2 (ja) 2008-09-08 2008-09-08 中継サーバ、中継通信システム

Publications (2)

Publication Number Publication Date
JP2010068058A JP2010068058A (ja) 2010-03-25
JP4798197B2 true JP4798197B2 (ja) 2011-10-19

Family

ID=42193287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008230312A Active JP4798197B2 (ja) 2008-09-05 2008-09-08 中継サーバ、中継通信システム

Country Status (1)

Country Link
JP (1) JP4798197B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3743506B2 (ja) * 2001-04-03 2006-02-08 村田機械株式会社 中継サーバ及び中継システム
JP4207078B2 (ja) * 2006-10-11 2009-01-14 村田機械株式会社 中継サーバ

Also Published As

Publication number Publication date
JP2010068058A (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
EP2323315B1 (en) Relay communication system
CN107810627A (zh) 媒体会话
US8472454B2 (en) Relay-server arranged to carry out communications between communication terminals on different LANS
EP2865160B1 (en) System and method for integrating voip client for audio conferencing
EP2408153B1 (en) First relay server and second relay server
WO2010026727A1 (ja) 中継サーバ、中継通信システム、および通信装置
US8554935B2 (en) Relay server and relay communication system
JP4831148B2 (ja) 中継サーバ、中継通信システム
JP4798197B2 (ja) 中継サーバ、中継通信システム
JP2009177338A (ja) 複数のセッション管理サーバからなる経路を動的に切り替える経路制御方法及びシステム
JP4831145B2 (ja) 中継サーバおよび中継通信システム
KR101446974B1 (ko) 중계 통신 시스템 및 중계 서버
JP5141453B2 (ja) 通信装置および中継サーバ
JP4803229B2 (ja) 中継サーバ、中継通信システム
JP5012738B2 (ja) 中継サーバ、中継通信システム
JP5458610B2 (ja) 中継通信システム
JP5402181B2 (ja) 中継通信システム
JP4947086B2 (ja) 中継通信システム
JP2013115464A (ja) 中継サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110617

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110620

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110701

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110718

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4798197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250