<1.中継通信システムの全体構成>
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、中継通信システムの全体構成の概略図である。中継通信システムは、LAN1、2、3と、WAN(Wide Area Network)100とから構成される。WAN100は、インターネットなどの広域ネットワークである。
LAN1には、クライアント端末11、12と、中継サーバ13とが接続されている。LAN2には、クライアント端末21と、中継サーバ22とが接続されている。LAN3には、クライアント端末31、32と、中継サーバ33とが接続されている。WAN100には、SIP(Session Initiation Protocol)サーバ101が接続されている。
LAN1〜3にそれぞれ接続されるクライアント端末は、パーソナルコンピュータなどである。中継サーバ13、22、33は、異なる二つのLANにそれぞれ接続されたクライアント端末同士の通信を中継する。SIPサーバ101は、各中継サーバ間の通信を中継する。本実施の形態において、各中継サーバは、他の中継サーバとの通信時にSIPを利用するが、SIP以外のプロトコルを利用してもよい。
<2.中継サーバの構成>
図2は、中継サーバ13の構成を示すブロック図である。中継サーバ13は、インタフェース部131と、制御部132と、データベース格納部133とから構成される。中継サーバ22、33の構成は、中継サーバ13と同様である。
インタフェース部131は、プライベートIP(Internet Protocol)アドレスを利用して、クライアント端末11、12と通信を行う。インタフェース部131は、グローバルIPアドレスを利用して、SIPサーバ101と通信を行う。
制御部132は、データベース格納部133に格納される各種データベースを管理する。データベース格納部133は、中継グループ情報格納部134と、中継サーバ情報格納部135と、クライアント端末情報格納部136と、ルーティンググループ情報格納部137とから構成される。
<3.クライアント端末の構成>
図3は、クライアント端末11の構成を示す図である。クライアント端末11は、インタフェース部111と、制御部112と、操作部113と、モニタ114と、データベース格納部115とを備える。なお、クライアント端末12、21、31、32の構成は、クライアント端末11と同様である。
インタフェース部111は、プライベートIPアドレスを用いて、中継サーバ13との通信を行う。
制御部112は、LANドライバ191、LAN側IPパケット処理部192、WAN側IPパケット処理部193、ルーティング制御部194、ルーティングセッション処理部195、ルーティングセッション部196を備える。
LANドライバ191は、インタフェース部111を制御するドライバソフトウェアである。LAN側IPパケット処理部192は、クライアント端末12などから受信した通信パケットを処理し、ルーティング制御部194に出力する。ルーティング制御部194は、データベース格納部115に格納された情報に基づいて、通信パケットのルーティング先を決定する。ルーティングセッション処理部195は、データベース格納部115に格納された情報に基づいて、通信パケットを中継すべきルーティングセッションを決定し、ルーティングセッションX部196に出力する。ルーティングセッションXは、特定の中継サーバまたはクライアント端末との間に確立されるメディアセッションである。ルーティングセッションX部196は、は、通信パケットをWAN側IPパケット処理部193に出力する。WAN側IPパケット処理部193は、ルーティングセッションXを介した通信パケットの送受信を行う。
操作部113は、キーボードおよびマウスなどであり、クライアント端末31に対する指示を受け付ける。モニタ114は、液晶ディスプレイなどである。
データベース格納部115は、中継グループ情報格納部117と、中継サーバ情報格納部118と、ルーティンググループ情報格納部119とから構成される。
以下、図1に示す中継通信システムの処理の流れについて、中継グループの構築、ルーティング処理の順に説明する。
<4.中継グループの構築>
図4は、中継グループに参加する中継サーバおよびクライアント端末を登録する処理の流れを示す図である。中継サーバ13、22、33の各管理者は、LAN1、2、3の相互間において中継通信システムのグループを構築することを取り決めている。
<4.1.中継サーバとクライアント端末の登録>
まず、中継サーバ13の管理者は、中継サーバ13の識別情報およびグローバルIPアドレスをSIPサーバ101に登録する(ステップS1)。同様に、中継サーバ22、33の各管理者が、中継サーバ22、33の識別情報およびグローバルIPアドレスをSIPサーバ101にそれぞれ登録する(ステップS2、S3)。
SIPサーバ101は、各中継サーバの識別情報とグローバルIPアドレスとを対応付けて管理する。これにより、SIPサーバ101は、各中継サーバのグローバルIPアドレスを用いて中継サーバ間の通信を中継することが可能となる。
次に、各クライアント端末のアカウントが作成される(ステップS4〜S8)。具体的には、中継サーバ13の管理者が、クライアント端末11のユーザに対してアカウントを作成し(ステップS4)、クライアント端末12のユーザに対してアカウントを作成する(ステップS5)。中継サーバ13は、中継サーバ13の詳細を示す中継サーバ情報51−1と、クライアント端末11、12の詳細を示すクライアント端末情報61を作成する。中継サーバ情報51−1およびクライアント端末情報61は、中継サーバ情報格納部135およびクライアント端末情報格納部136にそれぞれ格納される。
同様に、中継サーバ22の管理者は、クライアント端末21のユーザに対してアカウントを作成する(ステップS6)。中継サーバ22は、中継サーバ22の詳細を示す中継サーバ情報51−2と、クライアント端末21の詳細を示すクライアント端末情報71とを作成する。
中継サーバ33の管理者は、クライアント端末31のユーザに対してアカウントを作成し(ステップS7)、クライアント端末32のユーザに対してアカウントを作成する(ステップS8)。中継サーバ33は、中継サーバ33の詳細を示す中継サーバ情報51−3と、クライアント端末31、32の詳細を示すクライアント端末情報81とを作成する。
<4.2.クライアント端末のログオン処理>
クライアント端末のユーザのアカウントが作成された後で、各クライアント端末が、中継サーバにログオンする(ステップS9〜S15)。なお、各クライアント端末がログオンする順序は、以下に説明する順序でなくてもよい。
まず、クライアント端末11、12のログオン(ステップS9〜S11)について説明する。クライアント端末11のユーザは、クライアント端末11の識別情報およびパスワードを入力し、中継サーバ13にログオンする(ステップS9)。クライアント端末11のログオンに応じて、中継サーバ情報51−1およびクライアント端末情報61が更新される。クライアント端末11は、中継サーバ13へのログオンの応答として、中継サーバ情報51−1を受信する。
図5は、ステップS9に示す処理の後で中継サーバ13が保持する情報を示す図である。中継サーバ情報51−1は、中継サーバ13に関する上位情報511−1と、クライアント端末11、12に関する下位情報512−1とから構成される。
上位情報511−1において、「id」および「name」は、中継サーバ情報13の識別情報および名称を示す。「id」には、中継サーバ13の識別情報「relay−server−1@abc.net」が設定されている。起動情報513−1には、中継サーバ13が起動中であることを示す「active」が設定されている。
下位情報512−1には、クライアント端末11、12のそれぞれに対応する二つのnodeタグが作成される。各nodeタグにおいて、「div」、「id」、および「name」は、クライアント端末の設置部署名、識別情報、および名称を示す。これらの情報は、クライアント端末情報61の作成時に設定される。「group」は、クライアント端末が参加する中継グループを示す。サイト情報514−1は、クライアント端末のログオン先の中継サーバの識別情報を示す。
下位情報512−1の各nodeタグの「group」は、この時点で中継グループが構築されていないため、空欄である。下位情報512−1の上側のnodeタグは、クライアント端末11に対応し、「id」としてクライアント端末11の識別情報「client−11@relay−server−1.abc.net」が設定されている。サイト情報514−1には、クライアント端末11のログオンに伴って、中継サーバ13の識別情報が設定される。
下位情報512−1の下側のnodeタグは、クライアント端末12に対応し、「id」としてクライアント端末12の識別情報「client−12@relay−server−1.abc.net」が設定されている。サイト情報514−1は、クライアント端末12がログオンしていないため、空欄である。
クライアント端末情報61には、クライアント端末11、12のそれぞれに対応する二つのnodeタグが作成される。クライアント端末情報61の各nodeタグにおいて、「div」、「id」、「name」、および「pass」は、クライアント端末の設置部署名、識別情報、名称、およびパスワードを示す。これらの情報は、クライアント端末情報61の作成時に設定される。「group」は、クライアント端末が参加する中継グループを示す。アドレス情報611、有効期限情報612、およびポート情報613は、クライアント端末のIPアドレス、レジスト有効期限、およびポート番号を示し、各クライアント端末がログオンした際に設定される。
クライアント端末情報61において、各nodeタグの「group」は、中継グループが構築されていないため、空欄である。クライアント端末情報61の上側のnodeタグは、クライアント端末11に対応し、「id」としてクライアント端末11の識別情報が設定されている。クライアント端末11がログオンする(ステップS9)ことにより、アドレス情報611、有効期限情報612、およびポート情報613に、「192.168.1.11」、「1213」、および「5070」がそれぞれ設定される。
クライアント端末情報61の下側のnodeタグは、クライアント端末12に対応し、「id」としてクライアント端末12の識別情報が設定されている。ステップS9の時点でクライアント端末12が中継サーバ13にログオンしていないため、アドレス情報611は空欄である。また、有効期限情報612およびポート情報613には、「0」が設定される。
クライアント端末11のログオン(ステップS9)の後で、クライアント端末12のユーザは、クライアント端末12の識別情報およびパスワードを入力し、中継サーバ13にログオンする(ステップS10)。
中継サーバ13は、クライアント端末12のログオンに伴って、中継サーバ情報51−1およびクライアント端末情報61を、中継サーバ情報52−1およびクライアント端末情報62にそれぞれ更新する。クライアント端末12は、中継サーバ13へのログオンの応答として、中継サーバ情報52−1を受信する。
図6は、ステップS10に示す処理の後で中継サーバ13が保持する情報を示す図である。クライアント端末12のログオンに伴う更新箇所に下線を付している。
クライアント端末12のログオンにより、下位情報522−1の下側のnodeタグのサイト情報524−1において、中継サーバ13の識別情報が設定される。クライアント端末情報62の下側のnodeタグでは、アドレス情報621、有効期限情報622、およびサイト情報623に、「192.168.2.22」、「1213」、および「5070」がそれぞれ設定される。
クライアント端末12のログオンの後に、中継サーバ13は、中継サーバ情報52−1をクライアント端末11に送信する(ステップS11)。これにより、クライアント端末11が保持する中継サーバ情報51−1が、中継サーバ情報52−1に更新される。
次に、クライアント端末21のログオン(ステップS12)について説明する。クライアント端末21のユーザは、クライアント端末21の識別情報およびパスワードを入力し、中継サーバ22にログオンする(ステップS12)。中継サーバ22は、クライアント端末21のログオンに伴って、中継サーバ情報51−2およびクライアント端末情報71を更新する。クライアント端末21は、中継サーバ22へのログオンの応答として、中継サーバ情報51−2を受信する。
図7は、ステップS12の処理の後で中継サーバ22が保持する情報を示す図である。中継サーバ情報51−2は、上位情報511−2と、下位情報512−2とから構成される。上位情報511−2の「id」には、中継サーバ22の識別情報「relay−server−2@abc.net」が登録される。起動情報513−2には、中継サーバ22が起動中であることを示す「active」が設定されている。
下位情報512−2およびクライアント端末情報71の各nodeタグの「group」は、中継グループが構築されていないため、空欄である。
下位情報512−2のnodeタグには、クライアント端末21に関する情報が登録される。「id」には、クライアント端末21の識別情報「client−21@relay−server−2.abc.net」が登録されている。クライアント端末21のログオンに伴って、サイト情報514−2に中継サーバ22の識別情報が設定される。
クライアント端末情報71において、nodeタグは、クライアント端末21に対応し、「id」としてクライアント端末21の識別情報が設定される。クライアント端末21のログオンに伴って、アドレス情報711、有効期限情報712、およびポート情報713に、「172.16.1.21」、「1213」、および「5070」がそれぞれ登録される。
次に、クライアント端末31、32のログオン処理(ステップS13〜S15)について説明する。クライアント端末31のユーザは、クライアント端末31の識別情報およびパスワードを入力し、中継サーバ33にログオンする(ステップS13)。クライアント端末31のログオンに応じて、中継サーバ情報51−3およびクライアント端末情報81が更新される。クライアント端末31は、ステップS13の応答として中継サーバ情報51−3を受信し、中継サーバ情報格納部318に格納する。
図8は、ステップS13の処理の後で中継サーバ33が保持する情報を示す図である。中継サーバ情報51−3は、上位情報511−3と、下位情報512−3とから構成される。上位情報511−3には、「id」として、中継サーバ33の識別情報「relay−server−3@abc.net」が登録される。起動情報513−3には、中継サーバ33が起動中であることを示す「active」が設定されている。
下位情報512−3およびクライアント端末情報81の各nodeタグの「group」は、中継グループが構築されていないため、空欄である。
下位情報512−3の上側のnodeタグは、クライアント端末31に対応し、「id」としてクライアント端末31の識別情報「client−31@relay−server−3.abc.net」が設定されている。サイト情報514−3は、クライアント端末31がログオンすることにより、中継サーバ33の識別情報が設定される。
下位情報512−3の下側のnodeタグは、クライアント端末32に対応し、「id」としてクライアント端末32の識別情報「client−32@relay−server−3.abc.net」が設定されている。サイト情報514−3は、クライアント端末32がログオンしていないため、空欄である。
クライアント端末情報81の上側のnodeタグは、クライアント端末31に対応し、「id」にクライアント端末31の識別情報が設定されている。クライアント端末31のログオンに伴って、アドレス情報811、有効期限情報812、およびポート情報813に、「200.1.2.31」、「1213」、および「5070」がそれぞれ設定されている。
クライアント端末情報81の下側のnodeタグは、クライアント端末32に対応し、「id」としてクライアント端末32の識別情報が設定されている。クライアント端末32がログオンしていないため、アドレス情報811は空欄である。また、有効期限情報812、およびポート情報813には、「0」が設定されている。
クライアント端末31のログオン(ステップS13)の後で、クライアント端末32のユーザが、クライアント端末32の識別情報およびパスワードを入力し、中継サーバ33にログオンする(ステップS14)。
中継サーバ33は、クライアント端末32のログオンに伴って、中継サーバ情報51−3およびクライアント端末情報81を、中継サーバ情報52−3およびクライアント端末情報82にそれぞれ更新する。クライアント端末32は、中継サーバ情報52−3をステップS14の応答として受信する。
図9は、ステップS14の処理の後で中継サーバ33が保持する情報を示す図である。クライアント端末32のログオンに伴う更新箇所に下線を付している。
下位情報522−3の下側のnodeタグのサイト情報524−3において、中継サーバ33の識別情報が設定される。また、クライアント端末情報82の下側のnodeタグでは、アドレス情報821、有効期限情報822、およびサイト情報823に、「200.1.3.132」、「1213」、および「5070」がそれぞれ設定される。
クライアント端末32のログオンの後に、中継サーバ33は、中継サーバ情報52−3をクライアント端末31に送信する(ステップS15)。クライアント端末31は、中継サーバ情報格納部318に格納された中継サーバ情報51−3を、中継サーバ情報52−3に更新する。
<4.3.中継グループ情報の作成>
図10は、中継グループの構築に関する処理の流れを示す図である。図10では、クライアント端末22、33の表示を省略している。
ステップS15に示す処理の後に、中継サーバ13の管理者は、中継サーバ13、22、33の識別情報を入力し、中継サーバ13に中継グループの構築を指示する。中継サーバ13は、中継グループ情報41を新たに作成し、中継グループ情報格納部134に格納する。
図11は、中継グループの構築が指示された後に、中継サーバ13が保持する情報を示す図である。中継サーバ情報52−1およびクライアント端末情報62は、図6から変化していない。
中継グループ情報41は、中継グループに関する上位情報411と、中継グループに参加する中継サーバに関する下位情報412とから構成される。上位情報411において、「id」には、中継グループの識別情報「group−a@relay−server−1.abc.net」が設定されている。「lastmod」および「name」は、中継グループ情報41の最終更新時刻および中継グループの名称を示す。また、下位情報412の各siteタグには、中継サーバ13、22、33の識別情報が設定される。
中継サーバ13は、SIPサーバ101を介して、中継サーバ13、22、33が参加した中継グループの構築を、中継サーバ22に要求する(ステップS16、S16.1)。同様に、中継サーバ13は、SIPサーバ101を介して、中継サーバ33に中継グループの構築を要求する(ステップS17、S17.1)。中継グループの構築要求の際に、中継グループ情報41が中継サーバ22、33に送信される。
<4.4.中継サーバ情報の合成>
次に、中継サーバ13は、SIPサーバ101を介して、中継サーバ情報51−2の送信を中継サーバ22に要求し(ステップS18、S18.1)、中継サーバ情報52−3の送信を中継サーバ33に要求する(ステップS19、S19.1)。中継サーバ13は、中継サーバ情報52−1、51−2、52−3を合成して、中継サーバ情報53を作成する。クライアント端末情報62が、クライアント端末情報63に更新される。中継サーバ情報格納部135には、中継サーバ情報52−1、53が格納される。
図12は、ステップS19の処理の後で中継サーバ13が保持する情報を示す図である。ステップS18に示す処理に伴う更新箇所に、下線を付している。
中継サーバ情報53において、上位情報531−1と下位情報532−1とは、図6に示す上位情報521−1と下位情報522−1とに対応する。同様に、上位情報531−2と下位情報532−2とは、図7に示す上位情報511−2と下位情報512−2とに対応する。上位情報531−3と下位情報532−3とは、図9に示す上位情報521−3と下位情報522−3とに対応する。
中継グループの構築に伴って、下位情報532−1、532−2、532−3の各nodeタグの「group」と、クライアント端末情報63の各nodeタグの「group」とに、中継グループの識別情報が設定される。
中継サーバ13は、クライアント端末情報63を参照して、クライアント端末11、12がログオン中であることを確認する。中継グループ情報41および中継サーバ情報53が、クライアント端末11、12に送信される(ステップS20、S21)。
図13は、中継グループの構築におけるステップS22以降の処理の流れを示す図である。図13では、クライアント端末11、12の表示を省略している。
中継サーバ22は、SIPサーバ101を介して、中継サーバ情報52−1の送信を中継サーバ13に要求し(ステップS22、S22.1)、中継サーバ情報52−3の送信を中継サーバ33に要求する(ステップS23、S23.1)。中継サーバ22は、中継サーバ情報52−1、51−2、52−3を合成して、中継サーバ情報53を作成する。クライアント端末情報71が、クライアント端末情報72に更新される。中継サーバ22は、中継サーバ情報51−2を引き続き保持している。
図14は、ステップS23に示す処理の後で中継サーバ22が保持する情報を示す図である。ステップS23に示す処理に伴う変更箇所に、下線を付している。クライアント端末情報72の「group」に、中継グループの識別情報が新たに設定される。
中継サーバ22は、クライアント端末情報72を参照して、クライアント端末21がログオン中であることを確認する。中継グループ情報41および中継サーバ情報53がクライアント端末21に送信される(ステップ24)。
次に、中継サーバ33が、SIPサーバ101を介して、中継サーバ情報52−1の送信を中継サーバ13に要求し(ステップS25、S25.1)、中継サーバ情報51−2の送信を中継サーバ22に要求する(ステップS26、S26.1)。中継サーバ33は、中継サーバ情報52−1、51−2、52−3を合成して、中継サーバ情報53を作成する。クライアント端末情報82が、クライアント端末情報83に更新される。
図15は、ステップS26に示す処理の後で中継サーバ33が保持する情報を示す図である。ステップS26の処理に伴う変更箇所を下線で示す。クライアント端末情報83の各nodeタグの「group」に、中継グループの識別情報が新たに設定される。
中継サーバ33は、クライアント端末情報83を参照して、クライアント端末31、32がログオンしていることを確認する。中継グループ情報41および中継サーバ情報53がクライアント端末31、32にそれぞれ送信される(ステップS27、S28)。
ここまでの処理により、クライアント端末11、12、21、31、32と、中継サーバ13、22、33とが参加した中継グループが構築される。中継グループに参加するコンピュータは、中継グループ情報41および中継サーバ情報53を参照して、中継グループの構成、あるいは各コンピュータの動作状態などを確認することができる。
<5.ルーティング処理の流れ(第1の実施の形態)>
図1に示す中継通信システムにおける、第1の実施の形態に係るルーティング処理について説明する。
<5.1.LANの詳細な構成>
図16は、LAN1〜3の詳細な構成を示す図である。図16において、SIPサーバ101の表示を省略している。LAN1〜3には、クライアント端末として機能しないパーソナルコンピュータである一般端末が接続されている。
LAN1は、LAN10−1とLAN10−2とが汎用ルータ14を介して接続された構成である。LAN10−1には、クライアント端末11と、中継サーバ13と、一般端末15とが接続されている。LAN10−2には、クライアント端末12と、一般端末16とが接続されている。LAN10−1、10−2のネットワークアドレスは、「192.168.1.0/24」、「192.168.2.0/24」である(末尾の24はサブネットマスクである)。
LAN2には、クライアント端末21および中継サーバ22の他に、一般端末23が接続されている。LAN2のネットワークアドレスは、「192.100.1.0/24」である。
LAN3は、LAN30−1とLAN30−2とが汎用ルータ34を介して接続され、LAN30−1とLAN30−3とが汎用ルータ35を介して接続された構成である。LAN30−1には、中継サーバ33が接続されている。LAN30−2には、クライアント端末31と、一般端末36とが接続され、LAN30−3には、クライアント端末32と一般端末37とが接続されている。LAN30−2、30−3のネットワークアドレスは、「200.1.2.0/24」、「200.1.3.0/24」である。
<5.2.ルーティンググループ情報の共有>
本実施の形態に係るルーティング処理で使用するルーティンググループ情報91の共有について説明する。
図17を参照する。クライアント端末11のユーザが、第1ルーティンググループの構築を指示する。クライアント端末11は、ユーザの指示に応じて作成したルーティンググループ情報91を、ルーティンググループ情報格納部119に格納する。クライアント端末11は、ルーティンググループ情報91を中継サーバ13に送信して(ステップS31)、第1ルーティンググループの構築を通知する。中継サーバ13は、受信したルーティンググループ情報91を、ルーティンググループ情報格納部137に格納する。
図18は、ルーティンググループ情報91を示す図である。ルーティンググループ情報91は、本体情報911と、ルーティング対象情報912と、ルーティング許可情報913と、セッション情報914とから構成される。
本体情報911は、ルーティンググループ情報91自体に関する情報である。「group」は、中継グループの識別情報を示す。「id」、「lastmod」、「name」、および「owner」は、ルーティンググループ情報91の識別情報、最終更新時刻、名称、および作成元を示す。
ルーティング対象情報912は、ルーティング対象のネットワークに関する情報であり、ネットワーク情報912−1〜912−3から構成される。各ネットワーク情報において、「addr」は、ルーティング対象のネットワークのネットワークアドレスを示す。「router」は、「addr」に設定されたネットワークからのIPパケットをルーティングするクライアント端末を示す。
ネットワーク情報912−1では、「addr」としてLAN10−2のネットワークアドレスが、「router」としてクライアント端末11の識別情報が設定される。ネットワーク情報912−2では、「addr」としてLAN2のネットワークアドレスが、「router」としてクライアント端末21の識別情報が設定される。ネットワーク情報912−3では、「addr」としてLAN30−2のネットワークアドレスが、「router」としてクライアント端末31の識別情報が設定される。つまり、クライアント端末11、21、31が、ルーティング装置として機能するように設定されている。
ルーティング許可情報913は、中継通信システムのルーティング機能を利用することができる通信端末を示し、許可端末情報913−1〜913−3から構成される。ここで、「通信端末」とは、LAN1〜3にそれぞれ接続された全ての中継サーバ、クライアント端末および一般端末を指す。たとえば、LAN1では、クライアント端末11、12と、中継サーバ13と、一般端末15、16とが通信端末に該当する。このように、中継通信システムを構成しない一般端末であっても、中継通信システムのルーティング機能を利用することができる。
各許可端末情報において、「name」および「addr」は、ルーティング機能を利用できる通信端末の名称およびIPアドレスを示す。許可端末情報913−1は、一般端末16に対応し、「addr」として「192.168.2.150」が設定されている。許可端末情報913−2は、一般端末23に対応し、「addr」として「192.100.1.150」が設定されている。許可端末情報913−3には、「addr」として、LAN30−2に接続された全通信端末がルーティング機能を利用できることを示す「200.1.2.*」が設定されている。なお、許可端末情報913−1〜913−2には、一般端末の識別情報が設定されているが、クライアント端末および中継サーバの識別情報を設定してもよい。
セッション情報914は、通信パケットのルーティングに用いるルーティングセッションに関するポイント情報914−1〜914−3から構成される。各ポイント情報の「start」および「end」は、ルーティングセッションの始点および終点を示す。
ポイント情報914−1〜914−3が作成されているため、第1ルーティンググループでは、三つのルーティングセッションが確立される。ポイント情報914−1は、第1ルーティングセッションに対応し、「start」、「end」にクライアント端末11、21の識別情報が設定されている。ポイント情報914−2は、第2ルーティングセッションに対応し、「start」、「end」にクライアント端末11、31の識別情報が設定されている。ポイント情報914−3は、第3ルーティングセッションに対応し、「start」、「end」にクライアント端末21、31の識別情報が設定されている。
再び、図17を参照する。中継サーバ13は、ルーティング装置として機能するクライアント端末21、31に、第1ルーティンググループの構築を通知する。具体的には、中継サーバ13は、SIPサーバ101と中継サーバ22とを介して、ルーティンググループ情報91をクライアント端末21に送信する(ステップS32、S32.1、およびS32.1.1)。同様に、ルーティンググループ情報91が、SIPサーバ101と中継サーバ33とを介して、クライアント端末31に送信される(ステップS33、S33.1、およびS33.1.1)。これにより、中継サーバ13、22、33と、ルーティング装置として機能するクライアント端末11、21、31とが、ルーティンググループ情報91を共有する。
<5.3.ルーティングセッションの確立>
次に、第1〜第3ルーティングセッションが確立される。クライアント端末11が、ポイント情報914−1、914−2を参照して、自端末が第1、第2ルーティングセッションの始点に設定されていることを確認する。
クライアント端末11は、クライアント端末11、21の間に第1ルーティングセッションを確立するために、第1ルーティングセッションの確立要求を中継サーバ13に送信する(ステップS34)。クライアント端末11は、中継サーバ13からの応答に応じて、ACKを中継サーバ13に送信する(ステップS35)。中継サーバ33は、ACKに応じて、クライアント端末11と中継サーバ13との間にメディアセッションを確立する(ステップS36)。
ステップS36の後に、中継サーバ13が、SIPサーバ101を介して、第1ルーティングセッションの確立要求を中継サーバ22に送信する(ステップS37、S37.1)。中継サーバ13は、中継サーバ22からの応答に応じて、ACKをSIPサーバ101を介して中継サーバ22に送信する(ステップS38、S38.1)。中継サーバ13は、ACKに応じて、中継サーバ13、22の間にメディアセッションを確立する(ステップS39)。
ステップS39の後に、クライアント端末21と中継サーバ22との間にメディアセッションが確立される(ステップS40、S41、およびS42)。これらの処理は、ステップS34〜S36と同様である。
ステップS36、S39、およびS42で確立された三つのメディアセッションにより、第1ルーティングセッションが構成される。
図19を参照する。第1ルーティングセッションの確立と同様に、クライアント端末11、31の間に第2ルーティングセッションが確立される。クライアント端末11と中継サーバ13との間に、メディアセッションが確立される(ステップS43、S44、およびS45)。中継サーバ13、33の間にメディアセッションが確立される(ステップS46、S46.1、S47、S47.1、およびS48)。クライアント端末31と中継サーバ33との間にメディアセッションが確立される(ステップS49、S50、およびS51)。ステップS45、S48、およびS51で確立された三つのメディアセッションにより、第2ルーティングセッションが構成される。
クライアント端末21は、ポイント情報914−3を参照して、自端末が第3ルーティングセッションの始点に設定されていることを確認する。そして、クライアント端末21、31の間に第3ルーティングセッションが確立される。
図20を参照する。クライアント端末21と中継サーバ22との間に、メディアセッションが確立される(ステップS52、S53、およびS54)。中継サーバ22、33の間にメディアセッションが確立される(ステップS55、S55.1、S56、S56.1、およびS57)。クライアント端末31と中継サーバ33との間にメディアセッションが確立される(ステップS58、S59、およびS60)。ステップS54、S57、およびS60で確立された三つのメディアセッションにより、第3ルーティングセッションが構成される。
<5.4.通信パケットのルーティング制御>
許可端末情報913−1〜913−3に設定された通信端末同士は、第1〜第3ルーティングセッションを介して、直接IPアドレスを指定した通信を行うことができる。
図21を参照する。一般端末16が、一般端末23を宛先とした第1通信パケットを送出する(ステップS61)。クライアント端末11は、第1通信パケットを受信した場合、ルーティンググループ情報91を参照して、第1通信パケットのルーティングの可否を判定する。
まず、クライアント端末11は、ルーティング対象情報912に基づいて、第1通信パケットをルーティングできるかどうかを判定する。第1通信パケットの宛先(一般端末23)のIPアドレス「192.100.1.150」が、ネットワーク情報912−2に設定されたLAN2のネットワークアドレスに対応する。送信元(一般端末16)のIPアドレス「192.168.2.150」が、ネットワーク情報912−1に設定されたLAN10−2のネットワークアドレスに対応する。このため、クライアント端末11は、第1通信パケットをルーティングできると判断する。
次に、クライアント端末11は、ルーティング許可情報913を参照して、第1通信パケットのルーティングが許可されているかどうかを確認する。第1通信パケットの送信元(一般端末16)のIPアドレスが許可端末情報913−1に設定され、宛先(一般端末23)のIPアドレスが許可端末情報913−2に設定されている。このため、クライアント端末11は、第1通信パケットのルーティングが許可されていると判断する。なお、ルーティングの可否の判断が、第1通信パケットの送信元のIPアドレスおよび宛先のIPアドレスのいずれか一方に基づいて行われてもよい。
クライアント端末11は、ネットワーク情報912−2とポイント情報914−1とにクライアント端末21の識別情報が設定されていることから、第1通信パケットのルーティングに第1ルーティングセッションを用いることを決定する。そして、第1通信パケットが、第1ルーティングセッションを利用して送出される(ステップS62、S62.1、およびS62.1.1)。クライアント端末21は、第1ルーティングセッションを介して受信した第1通信パケットを、一般端末23に転送する(ステップS63)。
第1通信パケットは、第1ルーティングセッションを利用して転送される際に、カプセル化されるため、一般端末16、23は、クライアント端末11からクライアント端末21までのネットワークの経路を意識することなく通信できる。つまり、一般端末16、23は、プライベートIPアドレスを利用して、WAN100を介して相互に通信することができる。
次に、一般端末16が、一般端末36を宛先とした第2通信パケットを送出する(ステップS64)。第2通信パケットの宛先が、ネットワーク情報912−3に対応し、送信元がネットワーク情報912−1に対応することから、クライアント端末11は、第2通信パケットをルーティングできると判断する。また、第2通信パケットの宛先(一般端末36)のIPアドレス「200.1.2.150」が、許可端末情報913−3に設定された「200.1.2.*」に対応し、送信元が許可端末情報913−1に対応する。このため、クライアント端末11は、第2通信パケットのルーティングが許可されていると判断し、第2通信パケットを第2ルーティングセッションを利用して送出する(ステップS65、S65.1、およびS65.1.1)。クライアント端末21は、第2通信パケットを一般端末36に転送する(ステップS66)。
次に、一般端末23が、一般端末36を宛先とした第3通信パケットを送出する(ステップS67)。第3通信パケットの宛先がネットワーク情報912−3に対応し、送信元がネットワーク情報912−2に対応する。また、第3通信パケットの宛先が許可端末情報913−3に対応し、送信元が許可端末情報913−2に対応する。このため、クライアント端末21は、受信した第3通信パケットをルーティング可能であると判定し、第3ルーティングセッションを利用して送出する(ステップS68、S68.1、およびS68.1.1)。クライアント端末31は、第3通信パケットを一般端末36に送信する(ステップS69)。
このように、本実施の形態に係るルーティング機能は、相互に通信できるクライアント端末間で、ルーティンググループ情報を共有することで有効化される。そして、ルーティングのために確立された第1〜第3のルーティングセッションを用いて、中継通信システムの機能によってIPパケットのルーティング制御が行われる。このように、本実施の形態で有効されるルーティングは、アプリケーション層において実行されるルーティングであり、通常のIPルーティングとは異なる。
また、本実施の形態では、「クライアント端末」および「一般端末」という文言の他に、敢えて「通信端末」という文言を使用している。「クライアント端末」は、中継サーバにログオン可能な端末であり、「一般端末」は、中継サーバにログオンすることができない端末であるのに対して、「通信端末」は、「中継サーバ」と、「クライアント端末」と、「一般端末」とを含むすべての端末を示している。これは、中継サーバと、中継サーバにログオンしているクライアント端末とに限定されることなく、LAN1〜3に接続され、許可端末情報に登録された「通信端末」は、上記のルーティングセッションを利用してルーティング可能となるからである。
以上説明したように、本実施の形態の中継通信システムは、ルーティンググループ情報91を用いて、クライアント端末をルーティング装置として機能させることができる。したがって、中継通信システムを用いたルーティング制御を柔軟に実行することができる。
また、ルーティング機能を利用できる通信端末をルーティング許可情報913に登録することにより、ルーティングする通信パケットを制限することができる。このため、中継通信システムのルーティング機能を利用できる通信端末の管理が容易となる。
<6.ルーティング制御の流れ(第2の実施の形態)>
第2の実施の形態に係るルーティング制御について説明する。本実施の形態において、LAN1〜3の構成は、図16に示す構成と同様である。
本実施の形態では、中継サーバ13がルーティング装置として機能する点と、ルーティング制御の終了処理が行われる点が、上記第1の実施の形態と異なる。以下、上記第1の実施の形態と異なる点を中心に説明する。
中継サーバ13は、第2ルーティンググループの構築の指示に応じて、ルーティンググループ情報92を作成する。なお、中継サーバ13の制御部132は、クライアント端末11の制御部112と同様の構成である。
図22は、ルーティンググループ情報92を示す図である。ルーティング対象情報922のネットワーク情報922−1では、「addr」にLAN10−1のネットワークアドレスが、「router」に中継サーバ13の識別情報が設定される。ネットワーク情報922−2では、「addr」にLAN30−3のネットワークアドレスが、「router」にクライアント端末32の識別情報が設定される。
ルーティング許可情報923の許可端末情報923−1には、一般端末15のIPアドレス「192.168.1.150」が設定されている。許可端末情報923−2には、LAN30−3に接続される全通信端末を示す「200.1.3.*」が設定されている。セッション情報924のポイント情報924−1は、第4ルーティングセッションに対応し、「start」、「end」に中継サーバ13、クライアント端末32の識別情報が設定されている。
以下、図23を参照する。ルーティンググループ情報92が、SIPサーバ101と中継サーバ33とを介して、クライアント端末32に転送される(ステップ70、S70.1、およびS70.1.1)。これにより、中継サーバ33と、ルーティング装置として機能する中継サーバ13およびクライアント端末32とが、ルーティンググループ情報92を共有する。
ルーティンググループ情報92に基づいて、中継サーバ13とクライアント端末32との間に第4ルーティングセッションが確立される。中継サーバ13、33の間にメディアセッションが確立される(ステップS71、S71.1、ステップS72、S72.1およびS73)。クライアント端末32と中継サーバ33との間に、メディアセッションが確立される(ステップS74、S75、およびS76)。ステップS73、S76で確立された二つのメディアセッションにより、第4ルーティングセッションが構成される。
次に、一般端末15が、一般端末37を宛先とした第4通信パケットを送出する(ステップS77)。第4通信パケットの宛先は、ネットワーク情報922−2に対応し、送信元は、ネットワーク情報922−1に対応している。また、第4通信パケットの宛先が許可端末情報923−2に対応し、送信元が許可端末情報923−1に対応している。このため、中継サーバ13は、受信した第4通信パケットをルーティング可能と判定し、第4ルーティングセッションを利用してクライアント端末32に転送する(ステップS78、S78.1)。クライアント端末32は、第4通信パケットを一般端末37に転送する(ステップS79)。
図24を参照して、ルーティング終了の流れについて説明する。クライアント端末32は、ルーティンググループ情報92に基づくルーティングの終了指示に応じて、ルーティンググループ情報92を削除する。終了指示が、中継サーバ33とSIPサーバ101とを介して中継サーバ13に送信される(ステップS80、S80.1、およびS80.1.1)。中継サーバ13は、終了指示に基づいて、ルーティンググループ情報92を削除する。
クライアント端末32は、終了指示の応答を受信した場合、第4ルーティングセッションの切断要求を中継サーバ33に送信する(ステップS81)。切断要求に基づいて、第4ルーティングセッションのうち、クライアント端末32と中継サーバ33との間のメディアセッションが切断される。中継サーバ33が、第4ルーティングセッションの切断要求を、SIPサーバ101を介して中継サーバ13に送信する(ステップS82、S82.1)。切断要求に基づいて、第4ルーティングセッションのうち、中継サーバ13、33の間のメディアセッションが切断される。これにより、ルーティンググループ情報92に基づくルーティング処理が終了する。
ルーティング処理の終了に伴って、一般端末15、37間の通信は不可能となる。一般端末15が第4通信パケットを送出しても(ステップS83)、中継サーバ13は、ルーティンググループ情報92を保持していないため、受信した第4通信パケットの宛先を認識することができない。このため、中継サーバ13は、一般端末15に対して宛先到達不能を通知する。
このように、本実施の形態では、中継サーバ13をルーティング装置として機能させることができる。また、終了指示に応じて、第4ルーティングセッションが切断されるため、中継通信システムのルーティング機能の管理がさらに容易になる。
<7.ルーティング処理の流れ(第3の実施の形態)>
第3の実施の形態に係るルーティング処理について説明する。LAN1〜3の構成は、図16に示す構成と同様である。本実施の形態では、ルーティンググループ情報の変更に伴って、ルーティングセッションの構成が変更される。以下、上記第1、第2の実施の形態と異なる点を中心に説明する。
まず、クライアント端末31が、ユーザの指示に応じて、ルーティンググループ情報91をルーティンググループ情報93に更新する。
図25は、ルーティンググループ情報93を示す図である。ルーティンググループ情報92からの変更箇所に、下線を付している。本体情報931および「lastmod」が設定されたタグにおいて、最終更新時刻が変更されている。
ルーティング対象情報932において、ネットワーク情報912−1、912−3は変更されていない。ネットワーク情報912−2に代えて、「addr」にLAN30−3のネットワークアドレスが、「router」にクライアント端末32の識別情報が登録されたネットワーク情報932−1が設定されている。
ルーティング許可情報933において、許可端末情報913−1、913−3は、「lastmod」が変更されている。許可端末情報913−2に代えて、「addr」にLAN30−3の全通信端末を示す「200.1.3.*」が登録された許可端末情報933−1が設定されている。
セッション情報934において、ポイント情報914−2は、変更されていない。ポイント情報914−1に代えて、第5ルーティングセッションに対応し、「start」および「end」にクライアント端末11、32の識別情報が登録されたポイント情報934−1が設定されている。ポイント情報913−3に代えて、第6ルーティングセッションに対応し、「start」および「end」にクライアント端末31、32の識別情報が登録されたポイント情報934−2が設定されている。
図26を参照する。クライアント端末31は、ルーティンググループ情報92の変更通知として、ルーティンググループ情報93を中継サーバ33に送信する(ステップS83)。中継サーバ33は、ネットワーク情報912、932の「router」に識別情報が設定されたクライアント端末に、変更通知としてルーティンググループ情報93を転送する。ルーティンググループ情報93が、SIPサーバ101と中継サーバ13とを介してクライアント端末11に送信される(ステップS83.1、S83.1.1、およびS83.1.1.1)。ルーティンググループ情報93が、SIPサーバ101から中継サーバ22を介して、クライアント端末21に転送される(ステップS83.1.2、S83.1.2.1)。また、中継サーバ33は、ルーティンググループ情報93をクライアント端末32に送信する(ステップS83.2)。
ルーティンググループ情報93への更新に基づく、第1、第3ルーティングセッションの切断について説明する。クライアント端末11は、ルーティンググループ情報93を参照して、第1ルーティングセッションに対応するポイント情報914−1が削除されたことを確認する。そして、第1ルーティングセッションが切断される(ステップS84、S85、S85.1およびS86)。クライアント端末21は、ルーティングループ情報93を参照して、自端末がルーティング対象情報932に登録されていないことを確認する。そして、第3ルーティングセッションが切断される(ステップS87、S88、S88.1およびS89)。
なお、ポイント情報914−2はルーティンググループ情報93に設定された状態のため、クライアント端末11、31の間に確立された第2ルーティングセッションは維持される。
図27を参照する。クライアント端末11、32の間に第5ルーティングセッションを確立するために、クライアント端末11と中継サーバ13との間にメディアセッションが確立される(ステップS90、S91、およびS92)。中継サーバ13、33の間にメディアセッションが確立される(ステップS93、S93.1、S94、S94.1およびS95)。クライアント端末32と中継サーバ33との間にメディアセッションが確立される(S96、S97、およびS98)。ステップS92、S95、およびS96で確立された三つのメディアセッションが、第5ルーティングセッションを構成する。
次に、クライアント端末31、32の間に第6ルーティングセッションを確立するために、クライアント端末31と中継サーバ33との間にメディアセッションが確立される(ステップS99、S100、およびS101)。クライアント端末32と中継サーバ33との間にメディアセッションが確立される(S102、S103、およびS104)。ステップS101およびS104で確立された二つのメディアセッションが、第6ルーティングセッションを構成する。
図28を参照して、第5、第6ルーティングセッションを利用したルーティング処理について説明する。一般端末37が、一般端末16を宛先とした第5通信パケットを送出する(ステップS105)。第5通信パケットの宛先がネットワーク情報912−1に対応し、送信元がネットワーク情報932−1に対応する。また、第5通信パケットの宛先が許可端末情報913−1に対応し、送信元(一般端末37)のIPアドレス「200.1.3.250」が、許可端末情報933−1に設定された「200.1.3.*」に対応している。このため、クライアント端末32は、受信した第5通信パケットをルーティング可能と判断し、第5ルーティングセッションを利用してクライアント端末11に転送する(ステップS106、S106.1、およびS106.1.1)。クライアント端末11は、第5通信パケットを一般端末15に転送する(ステップS107)。
次に、一般端末36が、一般端末37を宛先とした第6通信パケットを送出する(ステップS108)。第6通信パケットの宛先がネットワーク情報932−1に対応し、送信元がネットワーク情報912−3に対応する。また、第6通信パケットの宛先が許可端末情報933−1に対応し、送信元が許可端末情報913−3に対応する。このため、クライアント端末31は、受信した第6通信パケットをルーティング可能と判断し、第6ルーティングセッションを利用してクライアント端末32に転送する(ステップS109、S109.1)。クライアント端末32は、第6通信パケットを一般端末37に転送する(ステップS110)。
このように、本実施の形態に係る中継通信システムは、ルーティングループ情報92をルーティンググループ情報93に変更することにより、ルーティングセッションの構成を動的に変更することができる。
<8.クライアント端末の動作>
ここでは、ルーティング装置として機能するクライアント端末の動作について、図29〜図31を用いて説明する。以下の説明は、中継サーバ13にも適用される。
<8.1.ルーティング処理の開始>
図29は、ルーティング処理を開始する流れを示すフローチャートである。ここでは、クライアント端末11を例にして説明する。
クライアント端末11は、第1ルーティンググループの構築の指示に応じて、ルーティンググループ情報91を新たに作成する(ステップS201)。この時点では、ネットワーク情報、許可端末情報、ポイント情報は、ルーティンググループ情報91に設定されていない。
LANのネットワークアドレスと、ルーティング装置として機能するクライアント端末の識別情報が設定された場合(ステップS202においてYes)、ルーティンググループ情報91に、ネットワーク情報が追加される(ステップS203)。ルーティング機能を利用が許可された通信端末が設定された場合(ステップS204においてYes)、ルーティンググループ情報91に、許可端末情報が追加される(ステップS205)。
設定終了が指示された場合(ステップS206においてYes)、各ネットワーク情報に登録されたクライアント端末を始点および終点に設定することにより、ポイント情報が作成され(ステップS207)、ルーティンググループ情報91に追加される。
これにより、ルーティンググループ情報91は、図18に示す状態となる。ルーティンググループ情報91は、第1ルーティンググループの構築を通知するために、中継サーバ13に送信される(ステップS208)。この処理は、ステップS31に対応している(図17参照)。
次に、クライアント端末11が、ルーティングセッションの確立を要求するルーティングコマンドを送信することにより(ステップS209)、ルーティングセッションが確立される(ステップS210)。ステップS209、S210の処理がポイント情報の数に応じて繰り返されることで、第1〜第3ルーティングセッションが確立される。ステップS209の処理は、ステップS31〜S33(図17参照)などに対応し、ステップS210の処理は、ステップS34〜S42(図17参照)などに対応する。クライアント端末11は、ルーティングセッションを用いたルーティングを開始する(ステップS211)。
<8.2.ルーティング処理の終了>
図30は、ルーティング処理の終了時のクライアント端末の動作を示す図である。ここでは、第2ルーティンググループに基づくルーティング処理(第2の実施の形態)を実行しているクライアント端末32を例にして説明する。
まず、クライアント端末32のユーザが、ルーティンググループ情報92に基づくルーティング処理の終了を指示する。クライアント端末32は、終了対象としてルーティンググループ情報92が選択されているため(ステップS301においてYes)。第4ルーティングセッションを用いたルーティング処理を停止する(ステップS302)。
クライアント端末32は、ルーティンググループ情報92の削除コマンドを、ネットワーク情報922−2に登録された中継サーバ13に送信する(ステップS303)。この処理は、ステップS80〜S80.1.1(図24参照)に対応する。クライアント端末32は、ルーティンググループ情報92を削除する(ステップS304)。そして、第4ルーティングセッションが切断される(ステップS305)。この処理は、ステップS81〜S82.1(図24参照)に対応する。
<8.3.パケット受信処理>
図31は、ルーティングセッションが確立されている状態におけるクライアント端末の動作を示す図である。ここでは、クライアント端末11を例にして説明する。
クライアント端末11は、通信パケットを受信した場合、通信パケットを解析し(ステップS401)、通信パケットがルーティングパケットであるかどうかを判定する(ステップS402)。通信パケットがルーティングパケットでないならば(ステップS402においてNo)、クライアント端末11は、通常のパケット受信処理を行う(ステップS403)。
通信パケットがルーティングパケットであるならば(ステップS402においてYes)、クライアント端末11は、通信パケットの宛先IPアドレスと送信元IPアドレスとを検出する(ステップS404)。ルーティンググループ情報91を保持していない場合(ステップS405においてNo)、クライアント端末11は、通信パケットの送信元に宛先到達不能を通知する(ステップS406)。
ルーティンググループ情報91を保持している場合(ステップS405においてYes)、クライアント端末11は、ルーティンググループ情報91を読み込み(ステップS407)、通信パケットがルーティング条件に合致するかどうかを確認する(ステップS408)。
下記の第1条件および第2条件を満たす場合、通信パケットがルーティング条件を満たすと判定される。第1条件は、通信パケットの宛先IPアドレスおよび送信元IPアドレスがネットワーク情報912−1〜912−3のいずれかに設定されていることである。第2条件は、通信パケットの宛先IPアドレスおよび送信元IPアドレスが、許可端末情報913−1〜913−3のいずれかに対応していることである。
通信パケットがルーティング条件を満たしていれば(ステップS408においてYes)、クライアント端末11は、通信パケットを転送するルーティングセッションを選択し(ステップS409)、通信パケットを選択したルーティングセッションに送出する(ステップS410)。一方、通信パケットがルーティング条件を満たしていない場合(ステップS408においてNo)。クライアント端末11は、宛先到達不能を送信元に通知する(ステップS406)。
以上説明したように、本発明に係る中継通信システムは、ルーティングに必要なルーティングセッションに関するルーティンググループ情報に基づいて、WAN100を介した通信端末間の通信パケットをルーティングする。ルーティング装置として機能するクライアント端末および中継サーバがルーティングループ情報に基づいてルーティングセッションを確立することができるため、中継通信システムのルーティング機能の管理が容易となる。
また、通信パケットをルーティングするかどうかを、ルーティンググループ情報の許可端末情報に設定されたIPアドレスと、通信パケットの送信元IPアドレスおよび宛先IPアドレスとに基づいて判定する。したがって、中継通信システムのルーティング機能を利用できる通信端末を、容易に管理することができる。