(57)【特許請求の範囲】
【請求項１】
第１通信装置と通信可能な中継装置であって、
ＷＡＮを介して接続される他のＬＡＮに接続された他の中継装置のログイン状態に変化が生じた場合、変化した状態情報を受信する手段と、
前記他の中継装置がログイン状態となったことを示す状態情報を受信したとき、前記他の中継装置との間で中継用の通信コネクションを確立して保持する保持手段と、
前記第１通信装置から前記他のＬＡＮ内の第２通信装置に対する通信要求を受信する手段と、
前記第２通信装置に対する通信要求を転送すべき中継装置として前記他の中継装置を特定し、前記第２通信装置に対する通信要求を前記中継用の通信コネクションを利用して、前記他の中継装置に転送する手段と、
を備え、
前記保持手段は、
前記他の中継装置がログオフ状態であることを示す状態情報を受信したとき、接続不可状態を前記第１通信装置に通知し、前記他の中継装置がログイン状態となったことを示す状態情報を受信したとき、前記第１通信装置に接続可能状態を通知する手段、
を含むことを特徴とする中継装置。
【請求項２】
請求項１に記載の中継装置において、
前記保持手段によって保持されている中継用コネクション上には、前記第１通信装置を送信元あるいは送信先とするデータのみが中継されることを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置間で送受信されるデータを中継する技術に関する。
【背景技術】
【０００２】
ＶＰＮ（Virtual Private Network）、トンネリングなどの技術を用いることで、プライベートネットワーク内に配置された端末から送信されたデータを、インターネットを経由して他のプライベートネットワーク内の端末へ中継することが可能である。たとえば、本社のＬＡＮと支社のＬＡＮとをＶＰＮで接続することにより、ＬＡＮに接続された端末間のデータをインターネット経由で中継することが可能である。
【０００３】
下記特許文献１においても、インターネットを介して接続されたローカルシステム間でデータを中継するための技術が開示されている。この技術は、ローカルシステム内に配置された各端末からインターネット上の中継サーバにアクセスしてＴＣＰコネクションを確立し、そのＴＣＰコネクションを利用してローカルシステム間でデータの送受信を行うものである。
【０００４】
【特許文献１】特開２００２−２１７９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＶＰＮ、トンネリングの技術を用いることで、インターネットを介して接続されたＬＡＮ間でデータを送受信することが可能である。しかし、これらの技術は固定的な設定により構築されるシステムである。つまり、それぞれのＬＡＮとインターネットの間に設置される中継装置において固定的にＬＡＮ同士の接続設定を行うものである。したがって、たとえば、会社の本社と支社のように恒常的にＶＰＮを維持したい場合であれば問題はないが、動的に異なるプライベートなネットワークとの接続を試みたいようなケースには対応することができない。
【０００６】
ＶＰＮなどの技術は、基本的にはＬＡＮとＬＡＮなどネットワーク同士を接続する技術であり、個々の端末間の接続を単位とする技術ではない。したがって、インフラとしてＶＰＮが整備されたネットワーク同士で通信を可能とする技術であり、個人的に特定のネットワークとの間で通信を希望するような場合に対応できる技術ではない。
【０００７】
そこで、本発明は前記問題点に鑑み、インターネットを介して接続されたネットワーク間のデータの中継を個々の端末の要求に応じて動的に設定可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１記載の発明は、第１通信装置と通信可能な中継装置であって、ＷＡＮを介して接続される他のＬＡＮに接続された他の中継装置のログイン状態に変化が生じた場合、変化した状態情報を受信する手段と、前記他の中継装置がログイン状態となったことを示す状態情報を受信したとき、前記他の中継装置との間で中継用の通信コネクションを確立して保持する保持手段と、前記第１通信装置から前記他のＬＡＮ内の第２通信装置に対する通信要求を受信する手段と、前記第２通信装置に対する通信要求を転送すべき中継装置として前記他の中継装置を特定し、前記第２通信装置に対する通信要求を前記中継用の通信コネクションを利用して前記他の中継装置に転送する手段と、を備え、前記保持手段は、前記他の中継装置がログオフ状態であることを示す状態情報を受信したとき、接続不可状態を前記第１通信装置に通知し、前記他の中継装置がログイン状態となったことを示す状態情報を受信したとき、前記第１通信装置に接続可能状態を通知する手段、を含むことを特徴とする。
【００１０】
請求項２記載の発明は、請求項１に記載の中継装置において、前記保持手段によって保持されている中継用コネクション上には、前記第１通信装置を送信元あるいは送信先とするデータのみが中継されることを特徴とする。
【発明の効果】
【００１３】
本発明の中継装置は、第１通信装置から他の中継装置を指定した中継送信指示を受け付け、サーバ装置に他の中継装置の状態を問い合わせ、他の中継装置が接続を受け入れる状態にある場合には、他の中継装置との間で動的に中継用コネクションを確立して保持する。したがって、本発明の中継装置と通信可能な通信装置は、本発明の中継装置に対して中継先を指定した要求を行うことで、他の中継装置と通信可能な通信装置と通信を行うことができる。通信端末からの要求に応じて中継装置同士が接続されるので、通信相手のネットワークをより動的に選択して接続することが可能である。
【００１４】
また、サーバ装置から他の中継装置が接続を受け入れる状態となったことの通知を受けた場合には第１通信装置に接続可能状態を通知する。これにより、中継先の準備が整った時点で即座に中継送信を開始することが可能である。
【００１５】
また、保持手段によって保持されている中継用コネクション上には、第１通信装置を送信元あるいは送信先とするデータのみが中継される。したがって、中継装置の接続要求を行った端末が、形成されたコネクションを専有することが可能である。
【発明を実施するための最良の形態】
【００１６】
｛第１の実施の形態｝
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、第１の実施の形態に係る通信システムの構成図である。この通信システムは、２つのＬＡＮ１０，２０がＷＡＮ３０を介して接続されている。ＬＡＮ１０，２０は、たとえば会社の社内ＬＡＮであり、ＷＡＮ３０は、たとえばインターネットなどのパブリックなネットワークである。つまり、プライベートな２つの異なるＬＡＮ１０，２０がインターネットなどのパブリックなネットワークを介して接続されている。
【００１７】
図に示すように、ＬＡＮ１０には２つの通信装置１１、１２および中継装置１５が接続されている。そして、ＬＡＮ１０はゲートウェイ１６を介してＷＡＮ３０に接続されている。ＬＡＮ２０には２つの通信装置２１、２２および中継装置２５が接続されている。そして、ＬＡＮ２０はゲートウェイ２６を介してＷＡＮ３０に接続されている。
【００１８】
通信装置１１，１２はパーソナルコンピュータなどの端末であり、ネットワーク機能を備えている。具体的には、ＴＣＰ／ＩＰが実装されており、ＴＣＰ／ＩＰを利用してＬＡＮ１０に接続された中継装置１５や他のコンピュータと通信可能となっている。同様に通信装置２１，２２もＴＣＰ／ＩＰが実装されており、ＴＣＰ／ＩＰを利用してＬＡＮ２０に接続された中継装置２５や他のコンピュータと通信可能となっている。また、中継装置１５，２５やゲートウェイ１６，２６についてもＴＣＰ／ＩＰを利用した通信が可能となっている。
【００１９】
ＷＡＮ３０には、サーバ装置３５が接続されている。ＷＡＮ３０は上述したようにインターネットなどのパブリックなネットワークである。したがって、ＬＡＮ１０，２０やＷＡＮ３０に接続されている端末は、サーバ装置３５のグローバルＩＰアドレスを指定することで、ＴＣＰコネクションを確立することが可能である。
【００２０】
これに対して、ＬＡＮ１０，２０に接続されている通信装置１１，１２，２１，２２および中継装置１５，２５は、プライベートなＩＰアドレスが付与されている。そして、ゲートウェイ１６，２６はファイアーウォールを形成しており、外部のネットワークから直接内部の端末を指定した接続が行えないようになっている。したがって、ＷＡＮ３０に接続さている端末などは中継装置１５，２５に対してＴＣＰコネクションの接続要求を行うことが制限されている。本実施の形態においては、後述するようにサーバ装置３５はＳＩＰサーバ（ＳＩＰのプロキシサーバ、登録サーバ）として機能するため、サーバ装置３５から中継装置１５，２５に対する特定のポートを指定した通信が可能なようにゲートウェイ１６，２６の設定が行われている。
【００２１】
表１は、サーバ装置３５が管理している中継装置データベース３５１の登録例を示す表である。この例では、３つの中継装置Ａ〜Ｃが登録されている。中継装置Ａ〜Ｃは、たとえば中継装置１５や中継装置２５に付けられている装置名称である。それぞれの中継装置Ａ〜Ｃについて、ＵＲＬとＩＰアドレスとログイン状態のフラグが設定されている。
【００２２】
【表１】
0004535019.tif 000002
【００２３】
なお、中継装置データベース３５１に登録されている各中継装置のＩＰアドレスは、各中継装置のプライベートネットワーク内におけるＩＰアドレスではなく、ゲートウェイによってＮＡＴ（Network Address Translation）やＩＰマスカレードなどの機能により変換されたグローバルＩＰアドレスである。たとえば、中継装置１５は、ＬＡＮ１０内でプライベートアドレスが割り当てられているが、サーバ装置３５にアクセスする際には、そのＩＰアドレスがゲートウェイ１６においてグローバルＩＰアドレスに変換されている。
【００２４】
各中継装置Ａ〜Ｃは、サーバ装置３５に接続してサーバ装置３５にログインする。中継装置データベース３５１の「状態」フィールドには、各中継装置Ａ〜Ｃがサーバ装置３５に現在ログイン中であるかログアウト状態にあるかを示す情報が設定される。サーバ装置３５は各中継装置がログイン状態にある場合には、他の各中継装置との間でＴＣＰコネクションを確立する準備があると判断できるのである。言い換えると、中継装置がサーバ装置３５にログインしている状態は、相手の端末から送られてきたＴＣＰコネクションの接続要求を受け入れられる状態にあることを示しているのである。
【００２５】
以上の構成の通信システムにおける通信処理の流れについて図２ないし図４を参照しながら説明する。図２は、中継装置１５，２５およびサーバ装置３５を含めた通信システムの全体の処理の流れを示す図である。なお、以下の説明において、中継装置１５，２５とサーバ装置３５との間の通信はＳＩＰ（Session Initiation Protocol）を利用している場合を例に説明するが、その他のプロトコルを利用してもよい。
【００２６】
各中継装置１５，２５は、初期化の際あるいは定期的にＳＩＰの「ＲＥＧＩＳＴＥＲリクエストメッセージ」をサーバ装置３５に送信し、中継装置の位置情報（ＩＰアドレス，ポート番号等）をサーバ装置３５に通知している。サーバ装置３５は、この位置情報を元に表１の中継装置データベース３５１を管理している。サーバ装置３５は、この位置情報に基づいてゲートウェイを越えて各中継装置に通信可能となっている。図２において、最初の状態では、中継装置１５および中継装置２５はサーバ装置３５にログインしている。まず、中継装置２５がサーバ装置３５に対してログアウトの状態情報を通知し（ステップＳ１０１）、サーバ装置３５がこれに応答する（Ｓ１０２）。サーバ装置３５は、中継装置２５のログアウト処理を実行し、中継装置データベース３５１において中継装置２５の「状態」フィールドをログアウトに更新する。
【００２７】
この状態で、中継装置１５がサーバ装置３５に対して状態情報の通知要求を行うと（Ｓ１０３）、サーバ装置３５は応答を行い（Ｓ１０４）、続いて中継装置２５がログアウト状態であることを通知する（Ｓ１０５）。中継装置１５は、この通知に応答する（Ｓ１０６）。
【００２８】
次に、中継装置２５がサーバ装置３５に対してログインの状態情報を通知し（ステップＳ１０７）、サーバ装置３５がこれに応答する（Ｓ１０８）。サーバ装置３５は中継装置２５のログイン処理を実行し、中継装置データベース３５１の「状態」フィールドをログインに更新する。さらに、サーバ装置３５は、中継装置２５がログイン状態となったことを中継装置１５に通知する（Ｓ１０９）。中継装置１５は、この通知に応答する（Ｓ１１０）。
【００２９】
中継装置１５は、中継装置２５がログイン状態となった通知を受けると、次に、中継装置２５に対する接続要求をサーバ装置３５に送信する（Ｓ１１１）。この接続要求は、図に例示したように、ＳＩＰの「ＩＮＶＩＴＥリクエストメッセージ」であり、空白行に続くボディ部にＴＣＰ接続情報が含まれている。図に示した例では、中継装置１５（送信元）のＩＰアドレス（200.1.1.1）、ＴＣＰのポート番号(6109)などが含まれている。サーバ装置３５は、この接続要求を中継装置２５に中継する（Ｓ１１２）。この要求に対して中継装置２５は接続を許可する旨の応答をサーバ装置３５に送信する（Ｓ１１３）。この応答は、図に例示したように、ＳＩＰの「２００ ＯＫ レスポンスメッセージ」であり、空白行に続くボディ部にＴＣＰ接続情報が含まれる。図に示した例では、中継装置２５（送信元）のＩＰアドレス（200.2.2.2）、ＴＣＰのポート番号(7109)などが含まれている。サーバ装置３５は、この応答を中継装置１５に中継する（Ｓ１１４）。このように、中継装置１５と中継装置２５は、ＳＩＰのＩＮＶＩＴＥリクエストとＯＫレスポンスを利用して、ＴＣＰの接続情報を交換し、ＴＣＰコネクションを確立するためのネゴシエーションを行うのである。この応答を受けて、中継装置１５は中継装置２５に対してＴＣＰの接続要求を送信する（Ｓ１１５）。これにより、中継装置１５と中継装置２５との間にＴＣＰコネクションが確立される。
【００３０】
以上のような処理が、たとえばＬＡＮ１０あるいはＬＡＮ２０のネットワーク管理者によって実行される。つまり、ネットワーク管理者は、他のＬＡＮとの間の接続を動的に実行できるよう準備するのであれば、ステップＳ１０７で示したように、ネットワーク内にある中継装置をサーバ装置３５にログインさせるのである。これにより、他の中継装置からＴＣＰの接続要求を受ける準備が整う。そして、ネットワーク管理者は、他のＬＡＮとの間の接続を行いたい場合には、サーバ装置３５にアクセスして、相手の中継装置の状態を取得し、相手の中継装置がログイン状態となっていることを知ると、接続要求をサーバ装置３５に対して送信するのである。
【００３１】
つまり、本発明においては、中継装置１５がサーバ装置３５を介してＳＩＰのＩＮＶＩＴＥリクエストを送信することで、中継用のＴＣＰコネクション（メディアセッション）を確立する。つまり、呼制御プロトコルを利用してメディアセッションとしての中継路を生成するため、動的に中継用の通信路を確立できるのである。
【００３２】
このようにして中継装置１５と中継装置２５との間でＴＣＰのコネクションが確立されると、中継装置１５と中継装置２５はこのＴＣＰコネクションを保持する。そして、中継装置１５は、通信装置１１，１２等から通信装置２１，２２等に対して送信するデータを受信すると、このデータを中継装置２５に中継する。中継装置２５は中継されたデータをさらに通信装置２１，２２等に中継するのである（Ｓ１１６）。通信装置２１，２２等から送信されたデータも同様にして、中継装置２５、中継装置１５を経由して通信装置１１，２１等に中継される（Ｓ１１７）。
【００３３】
なお、このようなＷＡＮ３０を介してＬＡＮ１０とＬＡＮ２０との間で通信を行うために、各中継装置１５，２５は、それぞれのＬＡＮに接続された通信装置の装置名のリストを管理している。そして、中継装置１５と中継装置２５との間でＴＣＰコネクションが確立されたときに、このリストを交換するのである。そして、ＬＡＮ１０に接続された通信装置とＬＡＮ２０に接続された通信装置とが通信を行う場合には、送信先のＬＡＮの中継装置と送信先の通信装置の装置名とを合わせて指定するようにすればよい。つまり、この通信システムを利用する中継装置についてはユニークな装置名が付与されているので（中継装置データベース３５１に登録されている。）、中継装置の装置名と通信装置の装置名を合わせて指定することで、送信先の通信装置をユニークに識別できるのである。たとえば、通信装置名＠中継装置名などの名称を用いてもよい。また、各中継装置は、自装置が接続しているＬＡＮに接続されている通信装置については、通信装置名とＩＰアドレスの対応付けが分かっているので、通信装置名＠中継装置名で指定された通信装置にデータを中継することが可能である。
【００３４】
通信装置間でのデータの送受信が終了し、中継装置１５と中継装置２５との間のコネクションが不要となった時点でネットワーク管理者はコネクションの切断を行う。まず、中継装置１５が中継装置２５に対する切断要求をサーバ装置３５に送信する（Ｓ１１８）。サーバ装置３５は、この要求を中継装置２５に中継する（Ｓ１１９）。中継装置２５からの応答はサーバ装置３５に送信され（Ｓ１２０）、中継装置１５に中継される（Ｓ１２１）。
【００３５】
図３は、図２で説明した処理において中継装置１５の処理に着目したフローチャートである。まず、中継装置１５は、中継接続の開始要求をサーバ装置３５に送信する（ステップＳ２０１）。この開始要求には、中継先の中継装置２５が指定される。サーバ装置３５からの応答により中継先の中継装置２５がログアウトしていることが判明すると（Ｓ２０２でＮＯ）、ログイン通知を受信するまで待機する（Ｓ２０３）。ログイン通知を受信するとステップＳ２０４に以降する。
【００３６】
ステップＳ２０２において中継先の中継装置２５がログイン中であることが判明すると、ＴＣＰ接続情報を生成し（Ｓ２０４）、接続要求を送信する（Ｓ２０５）。そして、中継装置２５からの応答を待ち（Ｓ２０６）、応答を受信すると応答中のＴＣＰ接続情報を解析する（Ｓ２０７）。つまり、中継装置２５から送信された応答に含まれるポート番号情報などを取得する。そして、中継装置２５に対してＴＣＰ接続を行う（Ｓ２０８）。
【００３７】
ＴＣＰコネクションが確立され保持している状態で、通信装置１１等が中継データを送信した場合（Ｓ２０９でＹＥＳ）、通信装置２１等にデータを中継送信する（Ｓ２１０）。通信装置１１等に対する中継データを受信した場合には（Ｓ２１１でＹＥＳ）、中継先の通信装置１１等へデータを中継送信する（Ｓ２１２）。中継装置２５から切断要求を受信した場合には（Ｓ２１３でＹＥＳ）、応答送信を行い（Ｓ２１４）、ＴＣＰコネクションを切断する（Ｓ２１５）。
【００３８】
これに対してＬＡＮ１０のネットワーク管理者により切断要求が行われた場合（Ｓ２１６）には、中継装置２５に対して切断要求を送信し（Ｓ２１７）、応答を受信すれば（Ｓ２１８でＹＥＳ）、ＴＣＰコネクションを切断する（Ｓ２１９）。
【００３９】
図４は、図２で説明した処理において中継装置２５の処理に着目したフローチャートである。まず、ＬＡＮ２０のネットワーク管理者は、他のＬＡＮとの接続を準備するかどうかを判断する。他のＬＡＮとの接続を準備する場合には、中継装置２５に対して中継機能を有効にする操作を行う。中継機能が有効になると（ステップＳ３０１でＹＥＳ）、サーバ装置３５に対してログインコマンドを送信する（Ｓ３０２）。そして、サーバ装置３５から応答を受信し（Ｓ３０３）、中継機能を有効とする処理が完了する。
【００４０】
このように、中継装置１５は、中継先の中継装置２５がログイン状態にあれば、すなわち、中継装置２５が接続を受け入れる状態にあれば動的に中継装置２５に対してＴＣＰコネクションを確立し、インターネットなどのＷＡＮ３０を介してデータ送受信可能とすることができる。たとえば、ある会社の本社と支社のように恒常的にトラフィックが安定して発生する場合には従来から利用されているＶＰＮを利用し、固定的にＬＡＮ同士を接続すればよい。これに対して、任意のタイミングでＷＡＮ３０を経由する異なるネットワークと接続してデータ通信を行いたい場合などにおいては、本実施の形態の通信システムを利用するとよい。
【００４１】
また、本実施の形態の通信システムによれば、相手の中継装置の接続環境（ＩＰアドレスやポート番号）が変更された場合にも、中継装置は最初にネゴシエーション（Ｓ１１１〜Ｓ１１４）を行うので、確実にデータ中継用のコネクションを確立することが可能である。
【００４２】
また、本実施の形態の中継装置１５，２５は、複数の中継装置との間でＴＣＰコネクションを確立することが可能である。たとえば、図５に示したように、中継装置１５が３つの中継装置２５，４５，５５と個別にＴＣＰコネクションを確立することが可能である。中継装置４５，５５との間でＴＣＰコネクションを確立する方法は、中継装置２５に対して行った処理と同様である。そして、各中継装置１５，２５等は、複数の中継装置との間でＴＣＰコネクションを確立して、複数の中継装置に対してデータを中継するのである。図５の例であれば、中継装置１５は、ある通信装置から送信されるデータを中継装置４５に中継するとともに、別の通信装置から送信されるデータを中継装置５５に中継するのである。
【００４３】
そして、各中継装置４５，５５とのＴＣＰコネクションを切断する方法も、中継装置２５に対して行った処理と同様である。つまり、複数の中継装置２５，４５，５５と個別にＴＣＰコネクションを確立し、個別にＴＣＰコネクションを切断することができるのである。
【００４４】
従来、ＶＰＮなどにおいては複数のＬＡＮが接続される場合、複数のＬＡＮが１つのＶＰＮとして接続される形態であった。これに対して、本実施の形態の通信システムは、通信を行いたい中継装置とだけ個別に接続し、通信を行う必要がなくなった中継装置とは個別に切断を行うことができるので、無駄なリソースを消費することなく、効率的な通信システムを構築できる。
【００４５】
｛第２の実施の形態｝
次に、本発明の第２の実施の形態について説明する。第１の実施の形態においては、ネットワーク管理者の指示により中継装置間を動的に接続した。第２の実施の形態においては、通信装置からの指定によって中継装置間の接続が行われる。具体的には、第１の実施の形態においては、通信装置間で発生する通信の状態を想定してネットワーク管理者が中継装置同士を接続したり切断したりする操作を行った。これに対して第２の実施の形態においては、通信装置から発生する通信処理に対応して、より動的に中継装置間の接続、切断制御を行うものである。以下の説明において、第１の実施の形態と同様の説明は省略する。
【００４６】
図６は、第２の実施の形態における通信システムの構成図である。図１のシステム構成に加えて図６ではＬＡＮ４０を追加しているが、基本的なシステム構成は第１の実施の形態と同様である。ＬＡＮ４０についても、通信装置４１と中継装置４５が接続されており、ＬＡＮ４０はゲートウェイ４６を介してＷＡＮ３０に接続されている。
【００４７】
中継装置１５，２５，４５は、それぞれ中継コネクションデータベース１５１，２５１，４５１を備えている。表２は、中継装置１５が備える中継コネクションデータベース１５１の登録例を示す表である。
【００４８】
【表２】
0004535019.tif 000003
【００４９】
中継コネクションデータベース１５１は、中継装置１５が現在確立しているＴＣＰコネクションを管理するデータベースである。「クライアント」フィールドには、中継装置との接続を要求した通信装置（以下の説明において適宜、要求元通信装置と呼ぶ。）の装置名が設定される。表におけるClientX，ClientYは、たとえば、通信装置１１，２１等に付与されている装置の名称である。「中継先ＵＲＬ」、「ＩＰアドレス」フィールドには、中継先の中継装置のＵＲＬとＩＰアドレスが設定される。「コネクション番号」フィールドには、生成したＴＣＰコネクションのポート番号が設定され、「生成時刻」フィールドには、ＴＣＰコネクションを生成したときの時刻が設定される。
【００５０】
本実施の形態においては、要求元通信装置からの指定により通信先の中継装置との間でＴＣＰコネクションが確立されるが、このＴＣＰコネクションを利用して通信を行うことができるのは、要求元通信装置のみとしている。つまり、表２でも示したように、通信装置とＴＣＰコネクションは１対１に対応する。
【００５１】
中継コネクションデータベース２５１，４５１の内容についても表２で示した中継コネクションデータベース１５１と同様である。それぞれ中継装置２５，４５が現在確立しているＴＣＰコネクションの状態が登録されている。
【００５２】
以上の構成の通信システムにおける通信処理の流れについて図７ないし図９を参照しながら説明する。図７は、通信装置１１，１２、中継装置１５，２５およびサーバ装置３５を含めた通信システムの全体の処理の流れを示す図である。なお、以下の説明において、中継装置１５，２５とサーバ装置３５との間の通信はＳＩＰ（Session Initiation Protocol）を利用している場合を例に説明するが、その他のプロトコルを利用してもよい。
【００５３】
第１の実施の形態と同様、各中継装置１５，２５は、初期化の際あるいは定期的にＳＩＰの「ＲＥＧＩＳＴＥＲリクエストメッセージ」をサーバ装置３５に送信し、中継装置の位置情報（ＩＰアドレス，ポート番号等）をサーバ装置３５に通知している。図７において、最初の状態では、中継装置１５および中継装置２５はサーバ装置３５にログインしている。まず、中継装置２５がサーバ装置３５に対してログアウトの状態情報を通知し（ステップＳ４０１）、サーバ装置３５がこれに応答する（Ｓ４０２）。サーバ装置３５は、中継装置２５のログアウト処理を実行し、中継装置データベース３５１において中継装置２５の「状態」フィールドをログアウトに更新する。
【００５４】
この状態で、通信装置１１が中継装置２５を指定したデータの中継送信要求と状態確認要求とを中継装置１５に送信する（Ｓ４０３）。中継装置１５がサーバ装置３５に対して状態情報の通知要求を行うと（Ｓ４０４）、サーバ装置３５は応答を行い（Ｓ４０５）、続いて中継装置２５がログアウト状態であることを通知する（Ｓ４０６）。中継装置１５は、この通知に応答する（Ｓ４０７）。さらに、中継装置１５は、通信装置１１に対して中継装置２５がログアウト状態であることを通知する（Ｓ４０８）。これにより、通信装置１１は、中継装置２５がログイン状態となるまで待機することになる。
【００５５】
次に、中継装置２５がサーバ装置３５に対してログインの状態情報を通知し（ステップＳ４０９）、サーバ装置３５がこれに応答する（Ｓ４１０）。サーバ装置３５は中継装置２５のログイン処理を実行し、中継装置データベース３５１の「状態」フィールドをログインに更新する。さらに、サーバ装置３５は、中継装置２５がログイン状態となったことを中継装置１５に通知する（Ｓ４１１）。中継装置１５は、この通知に応答する（Ｓ４１２）。さらに、中継装置１５は、通信装置１１に対して中継装置２５がログイン状態となったことを通知する（Ｓ４１３）。
【００５６】
待機していた通信装置１１は、Ｓ４１３による通知を受けると、再び中継装置２５を指定した中継送信要求を行う（Ｓ４１４）。なお、この実施の形態においては、通信装置１１は中継装置２５がログイン状態となったことの通知を受けるまで待機するようにしたが、このような通知を待たず、定期的に中継送信要求を中継装置１５に送信する形態であってもよい。
【００５７】
中継装置１５は、通信装置１１からの中継送信要求を受けると、中継装置２５に対する接続要求をサーバ装置３５に送信する（Ｓ４１５）。この接続要求は、第１の実施の形態でも説明したように、ＳＩＰの「ＩＮＶＩＴＥリクエストメッセージ」であり、ＴＣＰの接続情報が含まれている。サーバ装置３５は、この接続要求を中継装置２５に中継する（Ｓ４１６）。この要求に対して中継装置２５は接続を許可する旨の応答をサーバ装置３５に送信する（Ｓ４１７）。この応答は、第１の実施の形態でも説明したように、ＳＩＰの「２００ ＯＫ レスポンスメッセージ」であり、ＴＣＰの接続情報が含まれる。サーバ装置３５は、この応答を中継装置１５に中継する（Ｓ４１８）。このようにして中継装置１５と中継装置２５は、ＴＣＰの接続情報を交換する。この応答を受けて、中継装置１５は中継装置２５に対してＴＣＰの接続要求を送信する（Ｓ４１９）。これにより、中継装置１５と中継装置２５との間にＴＣＰコネクションが確立される。
【００５８】
以上のような処理は、たとえば通信装置１１から通信装置２１に対する通信処理が発生したときに動的に処理される。つまり、中継装置間は固定的に接続されているのではなく、トラフィックが発生したことをトリガとして接続が行われるのである。ただし、相手の中継装置からの接続要求に準備するために、ネットワーク管理者は、ステップＳ４０９で示したように、ネットワーク内にある中継装置をサーバ装置３５にログインさせて準備しておく必要はある。
【００５９】
本発明においては、通信装置１１からの指示を受けて中継装置１５がサーバ装置３５を介してＳＩＰのＩＮＶＩＴＥリクエストを送信することで、中継用のＴＣＰコネクション（メディアセッション）を確立する。つまり、通信装置からの接続要求が発生した時点で、呼制御プロトコルを利用してメディアセッションとしての中継路を生成するため、動的に中継用の通信路を確立できるのである。
【００６０】
このようにして中継装置１５と中継装置２５との間でＴＣＰのコネクションが確立されると、中継装置１５と中継装置２５はこのＴＣＰコネクションを保持する。そして、通信装置１１が、通信装置２１，２２等に対するデータを送信すると（Ｓ４２１）、中継装置１５が中継装置２５にデータを中継する（Ｓ４２２）。中継装置２５は中継されたデータをさらに通信装置２１，２２等に中継するのである。通信装置２１，２２等から送信されたデータも同様にして、中継装置２５を経由して中継装置１５に中継され（Ｓ４２３）、さらに、中継装置１５を経由して通信装置１１に中継される（Ｓ４２４）。
【００６１】
通信装置１１は、中継装置２５を利用した中継送信が終了すると、切断指示を中継装置１５に送信する（Ｓ４２５）。中継装置１５は、中継装置２５に対する切断要求をサーバ装置３５に送信する（Ｓ４２６）。サーバ装置３５は、この要求を中継装置２５に中継する（Ｓ４２７）。中継装置２５からの応答はサーバ装置３５に送信され（Ｓ４２８）、中継装置１５に中継される（Ｓ４２９）。これにより、中継装置１５と中継装置２５との間のＴＣＰコネクションは切断され、中継装置１５は通信装置１１に切断されたこを通知する（Ｓ４３０）。
【００６２】
このような状態で、別の通信装置１２が再び中継装置２５を指定した中継送信要求を行うと（Ｓ４３１）、中継装置１５からサーバ装置３５に接続要求が送信される（Ｓ４３２）。この時点では中継装置２５がログアウト状態となっていれば、サーバ装置３５よりログアウト状態が通知され（Ｓ４３３）、通信装置１２に相手の中継装置２５がログアウト状態であることが通知される。通信装置１２では、上記の通信装置１１の処理と同様、中継装置２５がログイン状態となったところで再び中継装置２５への中継送信要求を行う。これにより、中継装置１５と中継装置２５との間でＴＣＰコネクションが確立される。
【００６３】
図８は、図７で説明した処理において中継装置１５の処理に着目したフローチャートである。まず、中継装置１５は、通信装置１１，１２等から中継指示が発生しているかどうかを確認し（ステップＳ５０１）、発生している場合には、状態確認指示が発生しているかどうかを確認する（Ｓ５０２）。状態確認指示が発生している場合には、中継先の中継装置がログイン中であるかどうかのチェックを行う（Ｓ５０３）。中継先の中継装置がログアウトしていることが判明すると（Ｓ５０３でＮＯ）、ログイン通知を受信するまで待機する（Ｓ５０４）。
【００６４】
中継先の中継装置がログイン状態となったことの通知をサーバ装置３５から受信すると、要求元通信装置に対して中継先がログインとなったことを通知する（Ｓ５０５）。そして、再び、通信装置１１，１２等から中継指示を受けるまで待機する（Ｓ５０６）。中継指示を受けるとＳ５０８に移行する。また、Ｓ５０３において、中継先の中継装置がログイン中であることが判明すると即座にＳ５０８に移行する。また、通信装置からの要求に状態監視指示が含まれていない場合（Ｓ５０２でＮＯ）には、中継先がログイン中であれば（Ｓ５０７でＹＥＳ）、Ｓ５０８に移行し、中継先がログイン中でなければ、Ｓ５０２に戻り繰り返し処理を行う。つまり、要求元通信端末から状態監視指示を受信している場合には、中継先の中継装置がログインするまで監視して、ログイン状態の通知を受けたところで、要求元通信装置にもその情報を通知するのである。
【００６５】
中継装置１５は、次にＴＣＰ接続情報を生成し（Ｓ５０８）、接続要求を送信する（Ｓ５０９）。そして、中継装置２５からの応答を待ち（Ｓ５１０）、応答がなければ要求元通信装置へエラー通知を行い（Ｓ５１１）、Ｓ５０１に戻り処理を繰り返す。応答を受信すると応答中のＴＣＰ接続情報を解析する（Ｓ５１２）。つまり、中継装置２５から送信された応答に含まれるポート番号情報などを取得する。そして、中継装置２５に対してＴＣＰ接続を行う（Ｓ５１３）。要求元通信装置へは中継先との接続が完了したことを通知する（Ｓ５１４）。そして、中継コネクションデータベース１５１に新たに生成したＴＣＰコネクションの情報を登録する（Ｓ５１５）。
【００６６】
図９のフローチャートに移る。ＴＣＰコネクションが確立され保持している状態で、通信装置１１等から中継データが送信されると（Ｓ５１６でＹＥＳ）、通信装置２１等にデータを中継送信する（Ｓ５１７）。通信装置１１等に対する中継データを受信した場合には（Ｓ５１８でＹＥＳ）、中継先の通信装置１１等へデータを中継送信する（Ｓ５１９）。中継装置２５から切断要求を受信した場合には（Ｓ５２０でＹＥＳ）、応答送信を行い（Ｓ５２１）、ＴＣＰコネクションを切断する（Ｓ５２２）。要求元通信装置により切断要求が行われた場合には（Ｓ５２３でＹＥＳ）、中継先の中継装置２５に対して切断要求を送信し（Ｓ５２４）、応答を受信すれば（Ｓ５２５でＹＥＳ）、ＴＣＰコネクションを切断する（Ｓ５２６）。そして、要求元通信装置に対して中継先との接続が切断されたこを通知し（Ｓ５２７）、中継コネクションデータベース１５１に登録されていたＴＣＰコネクションの情報を削除する（Ｓ５２８）。
【００６７】
このように第２の実施の形態によれば、通信装置からの中継指示が発生すると、動的に中継先の中継装置との間でＴＣＰコネクションが確立され、プライベートなネットワーク間の通信が可能となる。従来の固定的に設定されるＶＰＮなどとは異なり、通信の要求が発生した場合に、その通信に必要なコネクションを確立するので、リソースを効率的に利用することが可能である。
【００６８】
また、第２の実施の形態においては、ある通信装置からの要求に応じて生成された通信コネクションについては、要求元通信装置のみが利用できるようにしている。たとえば、通信装置１１から通信装置２１に対して通信の要求が発生し、この要求に応じて中継装置１５と中継装置２５との間にＴＣＰコネクションが確立されると、このＴＣＰコネクションは、通信装置１１と通信装置２１との間の通信にのみ利用されるのである。言い換えると、中継装置１５と中継装置２５は、このＴＣＰコネクションには、通信装置１１と通信装置２１との間で送受信されるデータだけを中継するのである。したがって、通信装置から発生した要求によって生成されたコネクションは、その通信装置が専有することができる。
【００６９】
図６で示した例であれば、通信装置１１の要求により中継装置１５と中継装置２５が接続されている状態で、さらに、通信装置１２の要求により中継装置１５と中継装置４５が接続されたとする。この場合には、個別のデータ中継コネクションが生成されることを図５を用いて説明した。したがって、通信装置１１と通信装置１２は、それぞれ別のＴＣＰコネクションを利用して中継送信を行う。これに対して、通信装置１１が中継装置２５を指定した中継送信を行っている状態で、通信装置１２も同じ中継装置２５を指定した中継指示を行った場合、この場合にも、既に生成されているＴＣＰコネクションは通信装置１１により専有されているので、別の通信コネクションを形成するのである。
【００７０】
｛第３の実施の形態｝
次に、本発明の第３の実施の形態について説明する。第３の実施の形態においても、第２の実施の形態と同様、通信装置からの要求に応じて中継装置間の接続が行われる。ただし、第３の実施の形態においては、既に中継装置間のコネクションが形成されている場合には、他の通信装置もそのコネクションを共用する点が第２の実施の形態と異なる。以下、第２の実施の形態と異なる点を主に説明する。
【００７１】
表３は、第３の実施の形態において、中継装置１５が備える中継コネクションデータベース１５１の登録例を示す表である。表に示すように、１つのＴＣＰコネクションに対して複数のクライアント（通信装置）が対応付けられている。この表の例であれば、２つの通信装置（ClientX,ClientY）から中継送信要求が発生し、いずれの通信装置も同じ中継装置（Relayserver1@sample.net）を指定しているため、コネクション番号49583のＴＣＰコネクションを共用しているのである。
【００７２】
【表３】
0004535019.tif 000004
【００７３】
中継装置２５，４５が備える中継コネクションデータベース２５１，４５１の内容についても表３で示した中継コネクションデータベース１５１と同様である。それぞれ中継装置２５，４５が現在確立しているＴＣＰコネクションの状態が登録されている。
【００７４】
以上の構成の通信システムにおける通信処理の流れについて図１０ないし図１２を参照しながら説明する。図１０は、通信装置１１，１２、中継装置１５，２５およびサーバ装置３５を含めた通信システムの全体の処理の流れを示す図である。なお、以下の説明において、中継装置１５，２５とサーバ装置３５との間の通信はＳＩＰ（Session Initiation Protocol）を利用している場合を例に説明するが、その他のプロトコルを利用してもよい。
【００７５】
図１０において、ステップＳ７０１からステップＳ７２４までの処理は、図７におけるステップＳ４０１からステップＳ４２４にそれぞれ対応しており、同様の処理であるので、説明を省略する。つまり、通信装置１１から中継装置２５を指定した中継送信要求が発生し、中継装置１５と中継装置２５との間でＴＣＰコネクションが確立される。そして、通信装置１１と通信装置２１等との間でデータの送受信が行われるのである。
【００７６】
このような状態でさらに、別の通信装置１２が再び中継装置２５を指定した中継送信要求を行う（Ｓ７２５）。中継装置１５は、現在中継装置２５との間でＴＣＰコネクションが確立されているので、通信装置１２にデータの中継送信がＯＫであるとの通知を行う（Ｓ７２６）。これにより、通信装置１２からデータが送信されると（Ｓ７２７）、中継装置１５は、既に確立されていたＴＣＰコネクションを利用して、通信装置１２から送信されたデータを中継装置２５に中継するのである（Ｓ７２８）。中継装置２５も、通信装置２１等から通信装置１２に対して送信されたデータを、既に確立されていたＴＣＰコネクションを利用して中継装置１５に中継するのである（Ｓ７２９）。中継装置１５は、さらに受信データを通信端末１２に送信する（Ｓ７３０）。
【００７７】
このように、第３の実施の形態においては、既に中継装置間にＴＣＰコネクションが確立されており、さらに発生した中継送信要求に、そのＴＣＰコネクションが利用できる場合には、新たなＴＣＰコネクションを確立しない。複数の通信端末で同じＴＣＰコネクションを共用させるのである。これにより、ＴＣＰコネクションの確立に要する負荷を軽減し、異なるネットワーク間での通信を高速化させることが可能である。また、中継装置のリソースを節約することが可能である。たとえば、ＬＡＮ１０に接続された多数の通信端末とＬＡＮ２０に接続された多数の通信端末がインターネットを経由して通信する場合などには、処理の高速化とリソースの節約が可能であり、有効である。また、１つの通信装置から中継送信するデータ量が少ない場合などにも有効である。
【００７８】
通信装置１１および通信装置１２が上記のようにＴＣＰコネクションを共用してデータ通信を行っている状態で、通信装置１１が、中継装置１５に切断指示を送る（Ｓ７３１）。中継装置１５は、通信装置１２が同じＴＣＰコネクションを利用しているので、このＳ７３１の指示に対しては特に処理を行わず、応答だけを行う（Ｓ７３２）。
【００７９】
その後、通信装置１２は、中継装置２５を利用した中継送信が終了すると、切断指示を中継装置１５に送信する（Ｓ７３３）。中継装置１５は、既に通信装置１１からも切断指示を受けており、共用していたＴＣＰコネクションが不要となったと判断できるので、中継装置２５に対する切断要求をサーバ装置３５に送信する（Ｓ７３４）。サーバ装置３５は、この要求を中継装置２５に中継する（Ｓ７３５）。中継装置２５からの応答はサーバ装置３５に送信され（Ｓ７３６）、中継装置１５に中継される（Ｓ７３７）。これにより、中継装置１５と中継装置２５との間のＴＣＰコネクションは切断され、中継装置１５は通信装置１１に切断されたこを通知する（Ｓ７３８）。
【００８０】
図１１は、図１０で説明した処理において中継装置１５の処理に着目したフローチャートである。まず、中継装置１５は、通信装置１１，１２等から中継指示が発生しているかどうかを確認する（ステップＳ８０１）。中継指示が発生している場合には、その中継先の中継装置との間で既にＴＣＰコネクションが確立されているかどうかを確認する（Ｓ８０２）。つまり、既に他の通信装置によって同じ中継装置が指定され、その中継装置との間でコネクションを張って通信を行っているかどうかを確認する。
【００８１】
既に指示された中継先と接続されている場合（Ｓ８０２でＹＥＳ）、要求元通信装置へデータ中継可能であることを通知する（Ｓ８１５）。そして、中継コネクションデータベース１５１の情報を更新する（Ｓ８１６）。つまり、当該ＴＣＰコネクションについては既にデータベースに登録されているので、クライアント（通信装置）の追加を行うのである。表３で示した例であれば、たとえば最初にClientXとコネクション番号49583のＴＣＰコネクションが対応付けられて登録されていたとすると、このレコードのクライアントフィールドにClientYを追加する処理を行うのである。
【００８２】
Ｓ８０２において指定された中継先とは未だ接続が行われていない場合には、Ｓ８０３〜Ｓ８１４の処理を実行する。この処理は、図８におけるＳ５０２〜Ｓ５１３の処理に対応しており、同様の処理であるので説明を省略する。
【００８３】
図１２のフローチャートに移る。ＴＣＰコネクションが確立され保持している状態で、通信装置１１等から中継データが送信されると（Ｓ８１７でＹＥＳ）、通信装置２１等にデータを中継送信する（Ｓ８１８）。通信装置１１等に対する中継データを受信した場合には（Ｓ８１９でＹＥＳ）、中継先の通信装置１１等へデータを中継送信する（Ｓ８２０）。中継先の中継装置２５から切断要求を受信した場合には（Ｓ８２１でＹＥＳ）、応答送信を行い（Ｓ８２２）、ＴＣＰコネクションを切断する（Ｓ８２３）。このように、中継先の中継装置２５からＴＣＰコネクションを切断された場合には、中継送信を行っている通信装置に中継先との接続が切断されたことを通知する（Ｓ８２４）。切断されたＴＣＰコネクションが複数の通信装置に共用されていた場合には、全ての通信装置に対して切断を通知する（Ｓ８２４，Ｓ８２５）。
【００８４】
要求元通信装置により切断要求が行われた場合には（Ｓ８２６）、中継装置１５は、切断指示されているＴＣＰコネクションが他の通信装置と共用されているかどうかをチェックする（Ｓ８２７）。他の通信装置と共用している場合には、指示されたＴＣＰコネクションを切断することなく、指示を出した通信装置へは、形式的な切断通知を行う（Ｓ８２８）。そして、中継コネクションデータベース１５１の情報を更新する（Ｓ８２９）。つまり、共用していたＴＣＰコネクションの情報から切断指示を要求したクライアント（通信装置）の情報を削除するのである。このようにして、中継装置１５は、常に現在確立しているＴＣＰコネクションと、そのＴＣＰコネクションを共用している通信装置を管理しているのである。
【００８５】
切断指示されているＴＣＰコネクションが他の通信装置と共用されていない場合には（Ｓ８２７でＮＯ）、中継装置２５に対して切断要求を送信し（Ｓ８３０）、応答を受信すれば（Ｓ８３１でＹＥＳ）、ＴＣＰコネクションを切断する（Ｓ８３２）。そして、要求元通信装置に対して中継先との接続が切断されたこを通知し（Ｓ８３３）、中継コネクションデータベース１５１に登録されていたＴＣＰコネクションの情報を削除する（Ｓ８３４）。
【００８６】
このように第３の実施の形態によれば、通信装置からの中継指示が発生すると、動的に中継先の中継装置との間でＴＣＰコネクションが確立され、プライベートなネットワーク間の通信が可能となる。さらに、中継指示が発生した場合に、その中継先との間で既にＴＣＰコネクションが確立されていれば、そのコネクションを共用する。これにより、処理の高速化とリソースの有効利用が実現するのである。
【図面の簡単な説明】
【００８７】
【図１】第１の実施の形態に係る通信システムの構成図である。
【図２】第１の実施の形態に係る通信システムの処理フローを示す図である。
【図３】中継装置に着目したフローチャートである。
【図４】中継装置に着目したフローチャートである。
【図５】複数の中継コネクションが確立されるイメージを示す図である。
【図６】第２の実施の形態に係る通信システムの構成図である。
【図７】第２の実施の形態に係る通信システムの処理フローを示す図である。
【図８】中継装置に着目したフローチャートである。
【図９】中継装置に着目したフローチャートである。
【図１０】第３の実施の形態に係る通信システムの処理フローを示す図である。
【図１１】中継装置に着目したフローチャートである。
【図１２】中継装置に着目したフローチャートである。
【符号の説明】
【００８８】
１０    ＬＡＮ
１１    通信装置
１５    中継装置
１６    ゲートウェイ
２０    ＬＡＮ
２１    通信装置
２５    中継装置
２６    ゲートウェイ
３０    ＷＡＮ
３５    サーバ装置
【図１】
0004535019.tif 000005
【図２】
0004535019.tif 000006
【図３】
0004535019.tif 000007
【図４】
0004535019.tif 000008
【図５】
0004535019.tif 000009
【図６】
0004535019.tif 000010
【図７】
0004535019.tif 000011
【図８】
0004535019.tif 000012
【図９】
0004535019.tif 000013
【図１０】
0004535019.tif 000014
【図１１】
0004535019.tif 000015
【図１２】
0004535019.tif 000016