説明

呼制御サーバ、中継サーバ、VPN装置、VPN通信システム、VPNネットワーキング方法、プログラム、及び記憶媒体

【課題】中継サーバを介した通信を行っているVPN通信において、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能なVPN通信システムを提供する。
【解決手段】本呼制御サーバは、WAN200上で、VPNを構築してVPN通信を行う複数のVPN装置101、301間の通信セッションを確立する呼制御サーバ202であって、信号通信部242、中継サーバ選定部243を備える。信号通信部242は、中継サーバ変更要求を第1中継サーバ203から受信する。次に、中継サーバ選定部243は、VPN通信を新たに中継する中継サーバとして第1中継サーバ203とは異なる第2中継サーバ204を選定する。次に、信号通信部242は、選定された第2中継サーバ204がVPN通信を中継可能である場合、第2中継サーバ204の識別情報を含む中継サーバ変更指示を、VPN装置101へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、呼制御サーバ、中継サーバ、VPN装置、VPN通信システム、VPNネットワーキング方法、プログラム、及び記憶媒体に関し、特に、VPN(Virtual Private Network:仮想プライベートネットワーク)通信を行うVPN装置間での通信の中継に関与する装置等に関する。
【背景技術】
【0002】
仮想プライベートネットワーク(以下、VPNと記載する)は、ネットワーク通信において通信相手の固定された専用通信回線(専用線)の代わりに、多数の加入者で帯域を共用する通信網を利用してネットワーク間などを接続する。たとえば、VPNは、企業内等の2以上の拠点のローカルエリアネットワーク(LAN)相互間などのような、一般に、異なるネットワークセグメントを、広域ネットワーク(WAN)などを介して互いに接続する。そして、通信の秘匿性を担保することで、仮想的に全体が1つのプライベートネットワーク(専用線)であるように構成する。これにより、専用線を利用する場合と同様の通信サービスを可能にする。
【0003】
このようなVPNは、インターネット等のWANや公衆回線網を利用して構築するいわゆるインターネットVPNと、通信事業者閉域網などのインターネット等とは異なる通信網を使用して構築するIP−VPNと、に大別される。特に、インターネットVPNは、昨今のネットワークインフラのブロードバンド化と、インターネットを利用することで安価にVPNを構築可能であるために、利用者が増加している。
【0004】
VPNを構築するにあたり、例えば異なる拠点間で通信を行う場合に、通信経路の途中にインターネット等の共用の通信網が介在するので、通信の漏洩、盗聴、改竄などの危険性がある。そこで、VPN技術においては、通信の秘匿性を担保するために、ネットワークのいずれかの階層において、データを暗号化しカプセリングすることを基本的な技術思想としている。ここで、ある通信プロトコルを他の通信プロトコルのパケットで包んで送ることを「カプセル化(カプセリング)」という。
【0005】
VPN技術で用いられる暗号化プロトコルの具体例としては、IP(Internet Protocol)層で暗号化を施すIPsec(Security Architecture for Internet Protocol)や、TCP(Transmission Control Protocol)層(特にHTTP:Hyper Text Transfer Protocolで使用)で暗号化を施すSSL(Secure Sockets Layer)などが知られている。また、他のVPN技術の例として、SSH、TLS、SoftEther、PPTP、L2TP、L2F、MPLSなどが知られている。ソフトウェアによってVPNを構築するソフトウェアVPNでは、上記のIPsecやSSLを使用したトンネリング技術を使用する。ここで、ある通信プロトコルを、同じまたはより上位の階層のプロトコルのデータとして通信することを「トンネリング」という。VPNを構築する場合は、ネットワークの中継装置または通信を行う端末等(以降、これらを「ピア」とも称する)に設けたVPN装置によって、パケットを暗号化及びカプセル化して仮想トンネルを構築する。これにより、ピア間を結ぶ閉じられた通信経路(例えば、P2P(Peer to Peer)通信経路)を確立する。
【0006】
例えば、ネットワーク間を相互接続する技術として、リバーストンネル技術を用いて通信路を構築し、通信路を維持するために通信路維持データを送信し、さらに、通信漏洩等を防止するために電子署名や暗号化を施すものが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−160497号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、VPN装置間でP2P通信経路を介してVPNによる秘匿性を担保した通信(以下、VPN通信とも称する)を行うことを希望しても、NATルータやネットワーク上に配された機器のFirewallの機能により、P2P通信経路を構築できず、中継サーバ(リレーサーバ)を経由したVPN通信を行わざるを得ない場合がある。中継サーバを経由してVPN通信を行う場合には、公衆回線を使用できる環境が多く、安定した通信が可能であるというメリットがある。
【0009】
しかしながら、中継サーバは、VPN装置が接続されたLAN内ではなく、外部(例えばインターネット上)に別途設置される必要があるために、設置、維持コストがかかり、運用上大規模な中継サーバを事前に導入することは困難である。
【0010】
また、VPN装置間で中継サーバを経由して行われるデータ通信は、そのデータ通信の種類によりデータ量が異なるため、通信負荷が一意に決まらない。例えば、データ通信が高圧縮の音声通信である場合には中継サーバにかかる負荷は小さく、データ通信が画像データや高品質の音声通信である場合には中継サーバにかかる負荷は大きくなる。
【0011】
また、これらのVPN通信による通信負荷は、実際に通信が開始される時に決定されるため、VPNセッションが構築された段階では中継サーバにかかる通信負荷が予測できない。実際に通信が開始され、その通信が中継サーバの処理能力を超えた通信だった場合には、当該通信だけでなく、その中継サーバで通信していた他の通信にも影響が生じ、当該他の通信ができなくなる可能性もある。
【0012】
また、中継サーバのメンテナンス時のように、自発的に中継サーバが関与するVPNセッションを他の中継サーバに変更する場合には、従来のシステムでは、VPNセッションが縮退(VPNセッションが切断されるのを待ち、新しい通信はメンテナンスを行う中継サーバに発生しないように)する動作となり、通信中のVPNセッションが全て終了するまで待機するか、強制的に通信中のVPNセッションを切断することでしか次の工程に入ることができなかった。
【0013】
本発明は、上記事情に鑑みてなされたものであって、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能な呼制御サーバ、中継サーバ、VPN装置、VPN通信システム、VPNネットワーキング方法、プログラム、及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の呼制御サーバは、ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行う複数のVPN装置間の通信セッションを確立する呼制御サーバであって、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、第1の中継サーバから受信する中継先変更要求信号受信部と、前記VPN通信を新たに中継する中継サーバとして前記第1の中継サーバとは異なる第2の中継サーバを選定する中継サーバ選定部と、前記中継サーバ選定部により選定された第2の中継サーバが前記VPN通信を中継可能である場合、前記第2の中継サーバの識別情報を含み、前記VPN通信を中継する中継サーバを前記第1の中継サーバから前記第2の中継サーバへ変更するための中継サーバ変更指示信号を、前記VPN装置へ送信する中継サーバ変更指示信号送信部と、を備える。
【0015】
この構成によれば、呼制御サーバが中継サーバの変更の必要性を監視し、中継サーバを変更する必要がある場合には、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0016】
本発明の中継サーバは、ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して行われるVPN通信を中継する中継サーバであって、当該中継サーバの処理負荷が所定処理負荷以上であるか否かを判定する処理負荷判定部と、当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が所定使用率以上であるか否かを判定する使用率判定部と、前記処理負荷判定部により前記処理負荷が前記所定処理負荷以上であると判定された場合、又は、前記使用率判定部により前記使用率が前記所定使用率以上であると判定された場合、当該中継サーバが中継する1以上のVPN通信から、当該中継サーバとは異なる他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、前記変更通信選定部により選定されたVPN通信を特定するための情報を含み、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、前記VPN装置間の通信セッションを確立する呼制御サーバへ送信する中継先変更要求信号送信部と、を備える。
【0017】
この構成によれば、中継サーバの負荷が増大した場合であっても、中継サーバにかかる負荷を分散し、安定したVPN通信を行うことが可能である。
【0018】
本発明の中継サーバは、ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して行われるVPN通信を中継する中継サーバであって、当該中継サーバとは異なる他の中継サーバへ前記VPN通信の中継先を変更するための指示を行う中継先変更指示部と、当該中継サーバが中継する1以上のVPN通信から、前記他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、前記変更通信選定部により選定されたVPN通信を特定するための情報を含み、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、前記VPN装置間の通信セッションを確立する呼制御サーバへ送信する中継先変更要求信号送信部と、を備える。
【0019】
この構成によれば、中継サーバのメンテナンスを行う場合など、自発的にVPN通信を中継する中継サーバを変更する場合であっても、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信継続したまま即座にメンテナンス作業を行うことができる環境に移行することが可能である。
【0020】
本発明の中継サーバは、ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して行われるVPN通信を中継する中継サーバであって、前記VPN通信の中継の可否を確認するための中継先状況確認信号を、前記VPN装置間の通信セッションを確立する呼制御サーバから受信する中継先状況確認信号受信部と、当該中継サーバの処理負荷が規定値以上であるか否かを判定する処理負荷判定部と、当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が規定値以上であるか否かを判定する使用率判定部と、前記処理負荷判定部による判定結果と前記使用率判定部による判定結果とに基づいて、当該中継サーバによる前記VPN通信の中継の可否情報を含む中継先状況確認応答信号を、前記呼制御サーバへ送信する中継先状況確認応答信号送信部と、を備える。
【0021】
この構成によれば、VPNセッションの受け入れが可能であるか否かを判断し、受け入れが可能である場合にのみVPNセッションの移行を受け入れるため、VPN通信を継続したままVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0022】
本発明のVPN装置は、ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行うVPN装置であって、VPN装置間の通信セッションを確立する呼制御サーバから、前記VPN通信を中継する中継サーバを第1の中継サーバから第2の中継サーバへ変更するための、前記第2の中継サーバの識別情報を含む中継サーバ変更指示信号を受信する中継サーバ変更指示信号受信部と、前記第2の中継サーバの識別情報を含み、前記中継サーバを変更するための中継サーバ接続変更指示信号を、前記呼制御サーバを介して、当該VPN装置とのVPN通信を行う通信先のVPN装置へ送信する中継サーバ接続変更指示信号送信部と、前記通信先のVPN装置が変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信を実行可能である場合、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、を備える。
【0023】
この構成によれば、中継サーバを変更する必要が発生した場合に、通信先のVPN装置へ中継サーバを変更する旨を通知することができるため、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0024】
本発明のVPN装置は、ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行うVPN装置であって、VPN装置間の通信セッションを確立する呼制御サーバを介して、前記VPN通信を中継する中継サーバを第1の中継サーバから第2の中継サーバへ変更するための、前記第2の中継サーバの識別情報を含む中継サーバ接続変更指示信号を、当該VPN装置とのVPN通信を行う通信先のVPN装置から受信する中継サーバ接続変更指示信号受信部と、変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信の可否を判定するVPN通信可否判定部と、VPN通信可否判定部により前記第2の中継サーバを介したVPN通信が可能であると判定された場合、前記第2の中継サーバを介したVPN通信が可能である旨を含む中継サーバ接続変更応答信号を、前記通信先のVPN装置へ送信する中継サーバ接続変更応答信号送信部と、前記中継サーバ接続変更応答信号の送信後、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、を備える。
【0025】
この構成によれば、中継サーバを変更する必要が発生したことを他のVPN装置からの通知により認識できるため、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0026】
本発明のVPN通信システムは、ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して通信を行うVPN通信システムであって、前記仮想プライベートネットワークを介して通信データを通信するVPN通信を行う複数のVPN装置と、前記複数のVPN装置間の通信セッションを確立する呼制御サーバと、前記複数のVPN装置間でのVPN通信を中継する複数の中継サーバと、を備え、前記呼制御サーバが、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、第1の中継サーバから受信する中継先変更要求信号受信部と、前記VPN通信を新たに中継する中継サーバとして前記第1の中継サーバとは異なる第2の中継サーバを選定する中継サーバ選定部と、前記中継サーバ選定部により選定された第2の中継サーバが前記VPN通信を中継可能である場合、前記第2の中継サーバの識別情報を含み、前記VPN通信を中継する中継サーバを前記第1の中継サーバから前記第2の中継サーバへ変更するための中継サーバ変更指示信号を、前記VPN装置へ送信する中継サーバ変更指示信号送信部と、を備える。
【0027】
この構成によれば、呼制御サーバが中継サーバの変更の必要性を監視し、中継サーバを変更する必要がある場合には、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0028】
本発明のVPN通信システムは、前記中継サーバが、当該中継サーバの処理負荷が所定処理負荷以上であるか否かを判定する処理負荷判定部と、当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が所定使用率以上であるか否かを判定する使用率判定部と、前記処理負荷判定部により前記処理負荷が前記所定処理負荷以上であると判定された場合、又は、前記使用率判定部により前記使用率が前記所定使用率以上であると判定された場合、当該中継サーバが中継する1以上のVPN通信から、当該中継サーバとは異なる他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、前記変更通信選定部により選定されたVPN通信を特定するための情報を含む前記中継先変更要求信号を、前記呼制御サーバへ送信する中継先変更要求信号送信部と、を備える。
【0029】
この構成によれば、中継サーバの負荷が増大した場合であっても、中継サーバにかかる負荷を分散し、安定したVPN通信を行うことが可能である。
【0030】
本発明のVPN通信システムは、前記中継サーバが、当該中継サーバとは異なる他の中継サーバへ前記VPN通信の中継先を変更するための指示を行う中継先変更指示部と、当該中継サーバが中継する1以上のVPN通信から、前記他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、前記変更通信選定部により選定されたVPN通信を特定するための情報を含む前記中継先変更要求信号を、前記呼制御サーバへ送信する中継先変更要求信号送信部と、を備える。
【0031】
この構成によれば、中継サーバのメンテナンスを行う場合など、自発的にVPN通信を中継する中継サーバを変更する場合であっても、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信継続したまま即座にメンテナンス作業を行うことができる環境に移行することが可能である。
【0032】
本発明のVPN通信システムは、前記中継サーバが、前記VPN通信の中継の可否を確認するための中継先状況確認信号を、前記呼制御サーバから受信する中継先状況確認信号受信部と、当該中継サーバの処理負荷が規定値以上であるか否かを判定する処理負荷判定部と、当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が規定値以上であるか否かを判定する使用率判定部と、前記処理負荷判定部による判定結果と前記使用率判定部による判定結果とに基づいて、当該中継サーバによる前記VPN通信の中継の可否情報を含む中継先状況確認応答信号を、前記呼制御サーバへ送信する中継先状況確認応答信号送信部と、を備える。
【0033】
この構成によれば、VPNセッションの受け入れが可能であるか否かを判断し、受け入れが可能である場合にのみVPNセッションの移行を受け入れるため、VPN通信を継続したままVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0034】
本発明のVPN通信システムは、前記VPN装置が、前記呼制御サーバからの前記中継サーバ変更指示信号を受信する中継サーバ変更指示信号受信部と、前記第2の中継サーバの識別情報を含み、前記中継サーバを変更するための中継サーバ接続変更指示信号を、前記呼制御サーバを介して、当該VPN装置とのVPN通信を行う通信先のVPN装置へ送信する中継サーバ接続変更指示信号送信部と、前記通信先のVPN装置が変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信を実行可能である場合、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、を備える。
【0035】
この構成によれば、中継サーバを変更する必要が発生した場合に、通信先のVPN装置へ中継サーバを変更する旨を通知することができるため、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0036】
本発明のVPN通信システムは、前記VPN装置が、前記第2の中継サーバの識別情報を含み、前記中継サーバを変更するための中継サーバ接続変更指示信号を、前記呼制御サーバを介して、当該VPN装置とのVPN通信を行う通信先のVPN装置から受信する中継サーバ接続変更指示信号受信部と、変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信の可否を判定するVPN通信可否判定部と、VPN通信可否判定部により前記第2の中継サーバを介したVPN通信が可能であると判定された場合、前記第2の中継サーバを介したVPN通信が可能である旨を含む中継サーバ接続変更応答信号を、前記通信先のVPN装置へ送信する中継サーバ接続変更応答信号送信部と、前記中継サーバ接続変更応答信号の送信後、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、を備える。
【0037】
この構成によれば、中継サーバを変更する必要が発生したことを他のVPN装置からの通知により認識できるため、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0038】
本発明のVPNネットワーキング方法は、ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行う複数のVPN装置間の通信セッションを確立する呼制御サーバのVPNネットワーキング方法であって、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、第1の中継サーバから受信するステップと、前記VPN通信を新たに中継する中継サーバとして前記第1の中継サーバとは異なる第2の中継サーバを選定するステップと、前記選定された第2の中継サーバが前記VPN通信を中継可能である場合、前記第2の中継サーバの識別情報を含み、前記VPN通信を中継する中継サーバを前記第1の中継サーバから前記第2の中継サーバへ変更するための中継サーバ変更指示信号を、前記VPN装置へ送信するステップと、を有する。
【0039】
この方法によれば、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0040】
本発明のプログラムは、上記VPNネットワーキング方法の各ステップを実行させるためのプログラムである。
【0041】
このプログラムによれば、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【0042】
本発明の記憶媒体は、上記VPNネットワーキング方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体である。
【0043】
この記憶媒体を有することで、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。
【発明の効果】
【0044】
本発明によれば、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能である。例えば、VPN装置間でのVPN通信を中継する中継サーバの負荷が増大した場合であっても、中継サーバにかかる負荷を分散し、安定したVPN通信を行うことが可能である。
【図面の簡単な説明】
【0045】
【図1】本発明の実施形態に係るVPNシステムの構成例を示す図
【図2】本発明の実施形態に係るVPN装置のハードウェア構成の構成例を示すブロック図
【図3】本発明の実施形態に係るVPN装置の機能的な構成例を示すブロック図
【図4】本発明の実施形態に係る呼制御サーバ、中継サーバの構成例を示すブロック図
【図5】本発明の実施形態に係る呼制御サーバの機能的な構成例を示すブロック図
【図6】本発明の実施形態に係る中継サーバの機能的な構成例を示すブロック図
【図7】本発明の実施形態に係るVPNシステムにおけるVPN構築時の処理手順の一例を示すシーケンス図
【図8】本発明の実施形態に係るVPNシステムにおけるVPN構築時の処理手順の一例を示すシーケンス図
【図9】本発明の実施形態に係る中継サーバによる負荷確認処理の一例を示すフローチャート
【図10】本発明の実施形態に係る呼制御サーバによるセッション変更処理の一例を示すフローチャート
【図11】本発明の実施形態に係る中継サーバによるセッション受け入れ判定処理の一例を示すフローチャート
【図12】本発明の実施形態に係るVPN装置の中継サーバ変更指示受信時処理の一例を示すフローチャート
【図13】本発明の実施形態に係るVPN装置の中継サーバ接続変更指示受信時処理の一例を示すフローチャート
【図14】本発明の実施形態に係る中継サーバのメンテナンス時のセッション変更処理の一例を示すフローチャート
【発明を実施するための形態】
【0046】
以下に、本発明に係る呼制御サーバ、中継サーバ、VPN装置、VPN通信システム、VPNネットワーキング方法、プログラム、及び記憶媒体の一例としての実施形態を説明する。ここでは、広域ネットワーク(WAN、ワイドエリアネットワーク)を介して2つのローカルエリアネットワーク(LAN、ローカルエリアネットワーク)の経路を接続して仮想プライベートネットワーク(VPN)システムを構築する場合の構成例を示す。LANとしては、有線LANまたは無線LANなどが用いられる。WANとしては、インターネット等が用いられる。
【0047】
図1は本発明の実施形態に係るVPNシステムの構成例を示す図である。本実施形態のVPNシステムは、一つの拠点に設けられたLAN100と、他の拠点に設けられたLAN300とを、インターネット等のWAN200を介して通信経路を接続する。そして、LAN100の配下に接続された端末103とLAN300の配下に接続された端末303との間で、VPN通信を可能にしている。具体的なVPN通信の用途(アプリケーションプログラム等)としては、IP電話(音声通話)、ネットミーティング(動画&音声通信)、ネットワークカメラ(ビデオ伝送)などが想定される。
【0048】
LAN100とWAN200との境界にはルータ102が配設され、WAN200とLAN300との境界にはルータ302が配設されている。また、本実施形態では、VPNの構築を可能にするために、LAN100にはVPN装置101が接続され、LAN300にはVPN装置301が接続されている。そして、VPN装置101には配下の端末103が接続され、VPN装置301には配下の端末303が接続されている。
【0049】
また、WAN200上には、VPN装置101とVPN装置301との間のVPNによる接続(以下、「VPN接続」と称する)を可能にするために、STUNサーバ201と呼制御サーバ202とが接続されている。STUNサーバ201は、STUN(Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs))プロトコルを実行するために用いられるサーバである。呼制御サーバ202は、VPN装置や端末等のピア間の発呼、被呼のために用いられるサーバである。さらに、WAN200上には、通信環境に応じてVPN装置101とVPN装置301の通信情報を中継するために、通信を中継する第1中継サーバ203、第2中継サーバ204が接続されている。
【0050】
本実施形態のVPN装置101とVPN装置301との間のVPN通信の通信経路としては、WAN200を介して仮想的な閉じられた通信経路を通じて直接通信を行うP2P通信経路、呼制御サーバ202を介して仮想的な閉じられた通信経路を通じて通信を行う呼制御サーバ通信経路、第1中継サーバ203を介して仮想的な閉じられた通信経路を通じて通信を行う第1中継サーバ通信経路、第2中継サーバ204を介して仮想的な閉じられた通信経路を通じて通信を行う第2中継サーバ通信経路がある。
【0051】
図1では、発呼及び被呼の制御に関する呼制御信号の流れを示している。図1において、実線は、呼制御サーバ202経由のVPN通信の流れを示している。また、破線は、第1中継サーバ203経由のVPN通信の流れを示している。また、一点鎖線は、第2中継サーバ204経由のVPN通信の流れを示している。また、STUNサーバ201とVPN装置101、301との間では、VPN装置101、301の要求によりルータ102、302で割り当てられたVPN装置101、301間で通信するための外部アドレス(グローバルIPアドレス)とポートの情報を含む外部アドレス・ポート情報が伝送される。
【0052】
各機器がWAN200を介して通信する場合、WAN200上では、伝送するパケットの送信元や送信先を特定するためのアドレス情報として、WANにおいて特定可能なグローバルなアドレス情報が用いられる。一般にはIPネットワークが用いられるため、グローバルIPアドレス及びポート番号が用いられる。しかし、各LAN100、300内の通信においては、送信元や送信先を特定するためのアドレス情報として、LAN内のみで特定可能なローカルなアドレス情報が用いられる。一般にはIPネットワークが用いられるため、ローカルIPアドレス及びポート番号が用いられる。したがって、各LAN100、300とWAN200との間の通信を可能にするために、ローカルなアドレス情報・ポート情報とグローバルなアドレス情報・ポート情報との相互変換を行うNAT(Network Address Translation)機能が各ルータ102、302に搭載されている。なお、IPネットワーク以外の場合には、グローバルIPアドレス以外のグローバルなアドレス情報であってもよい。
【0053】
ただし、LAN100、300の配下の各端末においては、外部からアクセス可能なグローバルIPアドレス情報を自身で持っていない。また、特別な設定を行わない限り、LAN100配下の端末103が他のLAN300配下の端末303との間でVPN通信をすることはできない。また、各ルータ102、302のNAT機能のため、普通の状態ではWAN200側から各LAN100、300内の各端末にアクセスすることもできない。
【0054】
このような状況であっても、本実施形態では、各拠点のLANにVPN装置101、301を設けることにより、LAN間をVPN装置101、301でVPN接続して仮想的な閉じられた通信経路を通じてVPN通信することが可能になる。
【0055】
STUNサーバ201は、STUNプロトコルの実行に関するサービスを行うもので、いわゆるNAT越えの通信を行うために必要な情報を取得するためのサーバである。STUNは、音声、映像、文章などの双方向リアルタイムIP通信を行うアプリケーションにおいて、NAT通過の方法の1つとして使われる標準化されたクライアントサーバ型のインターネットプロトコルである。STUNサーバ201は、アクセス元からの要求に応じて、外部との通信で使用するグローバルIPアドレスとポートの情報を含む外部アドレス・ポート情報を返信する。外部アドレス・ポート情報としては、IPネットワークにおいてはIPネットワーク層のグローバルIPアドレス及びトランスポート層のポート番号が用いられる。
【0056】
各VPN装置101、301は、STUNサーバ201から自装置のグローバルIPアドレス及びポート番号が含まれる応答パケットを受信する。これにより、各VPN装置101、301は自装置のグローバルIPアドレス及びポート番号を取得することができる。また、自装置の位置するLANとWANとの間にルータが複数存在する場合や、これらのルータ等がUPnP(Universal Plug and Play)の機能を有していない場合であっても、確実にグローバルIPアドレス及びポート番号を取得できるという効果もある。
【0057】
なお、VPN装置101、301がグローバルIPアドレス及びポート番号を取得するための方法に関しては、IETFのRFC3489(STUN)にて記載された手法を利用することもできる。
【0058】
呼制御サーバ202は、特定の相手先を呼び出して通信経路を確立するための呼制御に関するサービスを行う呼管理サーバである。呼制御サーバ202は、登録されたVPN装置または端末の識別情報を保持しており、例えばIP電話の機能を有する通信システムの場合には、接続相手の電話番号に基づいて特定の相手先を呼び出すことも考えられる。また、呼制御サーバ202は、信号やデータを中継する機能を有しており、発信側の装置から送出されたパケットを被呼側の装置に転送したり、被呼側の装置から送出されたパケットを発信側の装置に転送したりすることも可能である。
【0059】
なお、STUNサーバ201及び呼制御サーバ202は、ここでは別個のサーバによる構成例を示しているが、1つのサーバにこれらのアドレス情報サーバと中継サーバの2つのサーバの機能を搭載して構成してもよいし、WAN上の他のいずれかのサーバに同様の機能を搭載して構成することも可能である。
【0060】
第1中継サーバ203及び第2中継サーバ204は、通信環境に応じてVPN装置101とVPN装置301との通信を中継する。また、中継サーバ203、204は、自サーバでの処理負荷(VPN装置101、301間のVPN通信以外に必要な処理負荷も含む)に応じて、各中継サーバ203、204へ送信される通信データの量を調整する。なお、本実施形態では、中継サーバを2台備えることを例示したが、より多くの中継サーバを備えるようにし、それらのサーバ間で通信データの量を調整するようにしてもよい。
【0061】
次に、本実施形態のVPN装置の構成及び機能について説明する。なお、VPN装置101とVPN装置301の構成及び機能は同様であり、ここではVPN装置101によって説明する。図2は本実施形態のVPN装置のハードウェア構成の構成例を示すブロック図である。
【0062】
VPN装置101は、中央演算処理装置(CPU)111、フラッシュRAM(Random Access Memory)等による不揮発性メモリ112、SD RAM等によるメモリ113、ネットワークインタフェース114、ネットワークインタフェース115、LAN側ネットワーク制御部116、WAN側ネットワーク制御部117、通信中継部118、表示制御部119、表示部120を有して構成される。
【0063】
CPU111は、所定のプログラムを実行することによりVPN装置101全体の制御を実施する。不揮発性メモリ112は、CPU111が実行するプログラムを保持している。このプログラムの中には、VPN装置101が外部アドレス・ポート情報を取得するための外部アドレス・ポート取得プログラムも含まれている。
【0064】
なお、CPU111が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばメモリカードやCD−ROMのような記録媒体から読み込んで取得することもできる。換言すれば、汎用のコンピュータにVPN装置の機能を実現するプログラムを記録媒体から読み込むことによってVPN装置を実現することができる。
なお、CPU111がプログラムを実行する時には、不揮発性メモリ112上のプログラムの一部がメモリ113上に展開され、メモリ113上のプログラムが実行される場合もある。
【0065】
メモリ113は、VPN装置101の運用中のデータ管理や、各種設定情報などを一時的に記憶するためのものである。設定情報としては、自端末の外部アドレス・ポート取得要求の応答に含まれる外部アドレス・ポート情報等、通信に必要なあて先アドレス情報などが含まれる。
【0066】
ネットワークインタフェース114は、VPN装置101と自装置が管理する配下の端末103とを通信可能な状態で接続するためのインタフェースである。ネットワークインタフェース115は、VPN装置101とLAN100とを通信可能な状態で接続するためのインタフェースである。LAN側ネットワーク制御部116は、LAN側のネットワークインタフェース114に関する通信制御を行うものである。WAN側ネットワーク制御部117は、WAN側のネットワークインタフェース115に関する通信制御を行うものである。
【0067】
通信中継部118は、LAN側に接続された配下の端末103から外部のVPN接続先(VPN装置301配下の端末303)へ送出するパケットデータと、反対に、外部のVPN接続先(VPN装置301配下の端末303)から配下の端末103宛に到着したパケットデータをそれぞれ中継する。
【0068】
表示部120は、VPN装置101としての動作状態の表示等を行う表示器により構成され、各種状態をユーザあるいは管理者に通知する。表示部120は、複数の発光ダイオード(LED)や液晶表示器(LCD)等により構成される。表示制御部119は、表示部120の表示制御を行うもので、CPU111からの表示信号に従って表示部120に表示する内容等を制御する。
【0069】
図3は本実施形態のVPN装置の機能的な構成例を示すブロック図である。
【0070】
VPN装置101は、機能構成として、システム制御部130、配下端末管理部131、メモリ部132、データ中継部133、設定用インタフェース部134、通信制御部140を有して構成される。メモリ部132は、外部アドレス・ポート情報記憶部135を有する。通信制御部140は、外部アドレス・ポート取得部141、VPN機能部142、呼制御機能部143を有する。VPN機能部142は、暗号処理部144を有する。これらの各機能は、図2に示した各ブロックのハードウェアの動作、またはCPU111が所定のプログラムを実行することにより実現する。
【0071】
なお、VPN装置101のLAN側のネットワークインタフェース114は、配下の端末103と接続され、WAN側のネットワークインタフェース115は、LAN100及びルータ102を経由してWAN200と接続される。
【0072】
システム制御部130は、VPN装置101の全体の制御を行う。配下端末管理部131は、VPN装置101配下の端末103の管理を行う。メモリ部132は、外部アドレス・ポート情報記憶部135において、外部アドレス(WAN200上でのグローバルIPアドレス)とポート(IPネットワークのポート番号)の情報を含む外部アドレス・ポート情報を記憶する。外部アドレス・ポート情報としては、発呼側の配下の端末103に割り当てられたグローバルIPアドレス及びポート番号の情報や、被呼側の端末303に割り当てられたグローバルIPアドレス及びポート番号の情報などを記憶する。
【0073】
データ中継部133は、発呼側の端末103から被呼側の端末303に向かって転送されるパケットや、逆に被呼側の端末303から発呼側の端末103に向かって転送されるパケットをそれぞれ中継(受信/送信)する。設定用インタフェース部134は、ユーザあるいは管理者がVPN装置101に対する設定操作等の各種操作を行うためのユーザインタフェースである。このユーザインタフェースの具体例として、端末上で動作するブラウザによって表示するWebページなどが用いられる。
【0074】
通信制御部140の外部アドレス・ポート取得部141は、VPN装置101の配下の端末103に割り当てられた外部アドレス・ポート情報をSTUNサーバ201から取得する。また、被呼側の端末303の外部アドレス・ポート情報を含むパケットを呼制御サーバ202を経由して受信することで、被呼側の端末303に対してルータ302から通信用に割り当てられた外部アドレス・ポート情報を取得する。外部アドレス・ポート取得部141が取得した情報は、メモリ部132の外部アドレス・ポート情報記憶部135に保持される。
【0075】
通信制御部140のVPN機能部142は、暗号処理部144において、VPN通信のために必要な暗号処理を行う。すなわち、暗号処理部144は、送信するパケットをカプセリングして暗号化したり、受信したパケットをアンカプセリングして復号化して元のパケットを抽出したりする。なお、VPN通信としては、P2P通信であっても、WAN200上に設けられるサーバ(呼制御サーバ202、中継サーバ203、204等)でパケットの中継を行い、クライアント/サーバ方式でVPN通信を行うことも可能である。この場合には、サーバ側で暗号処理を行うようにしてもよい。
【0076】
また、VPN機能部142は、呼制御サーバ202により選定された中継サーバを中継先としてVPN通信を行うことが可能であるか否かを判定する。例えば、選定された中継サーバへのログインを行うことができたか否かで、VPN通信の可否を判定する。
【0077】
通信制御部140の呼制御機能部143は、目的の被呼側に接続するための接続要求を呼制御サーバ202を経由して送信する。また、被呼側からの接続応答を呼制御サーバ202を経由して受信するための処理を実施する。また、呼制御機能部143は、VPN通信に係る各種信号(確認信号、指示信号、要求信号、応答信号等)の送受信を行う。
【0078】
次に、本実施形態の呼制御サーバ202、中継サーバ203、204のハードウェア構成及び機能構成について説明する。
【0079】
まず、呼制御サーバ202、中継サーバ203、204のハードウェア構成について説明する。呼制御サーバ202のハードウェア構成と中継サーバ203、204のハードウェア構成は同様である。ここでは、中継サーバのうち第1中継サーバ203によって説明する。図4は本実施形態の呼制御サーバ202、中継サーバ203、204のハードウェア構成の構成例を示すブロック図である。
【0080】
第1中継サーバ203は、中央処理演算装置(CPU)211、起動制御部212、メモリ制御部213、メモリ214、メモリインタフェース216、ネットワークインタフェース217、入出力制御部218、ディスプレイ219、キーボード220、RAM21を有して構成される。
【0081】
CPU211は、所定のプログラムを実行することにより第1中継サーバ203全体の制御を実施する。RAM221は、所定の動作情報を有しており、CPU211が実行するプログラムを保持している。CPU211が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばメモリカードやCD−ROMのような記録媒体から読み込んで取得することもできる。換言すれば、汎用のコンピュータに第1中継サーバ203の機能を実現するプログラムを記録媒体から読み込むことによって第1中継サーバ203を実現することができる。
なお、CPU211がプログラムを実行する時には、RAM221上のプログラムの一部がメモリ214上に展開され、メモリ214上のプログラムが実行される場合もある。
【0082】
起動制御部212は、CPU211からの制御信号に応じて、第1中継サーバ203の起動制御を実施する。
【0083】
メモリ制御部213は、CPU211からの制御信号に応じて、メモリ214と他のデバイスとの間のデータ転送を制御する。メモリ214は、第1中継サーバ203の運用中のデータ管理や、VPN通信を行うために必要な各種情報などを一時的に記憶するための補助記憶装置である。メモリ214は、このVPN通信を行うために必要な各種情報を記憶するVPN情報記憶部215を有する。当該情報には、VPN通信を行うVPN装置101、301の外部アドレス・ポート情報などが含まれる。メモリインタフェース216は、メモリ214と他のデバイスとがデータ転送可能な状態で接続するためのインタフェースである。
【0084】
ネットワークインタフェース217は、第1中継サーバ203とWAN200上の各種通信装置とを通信可能な状態で接続するためのインタフェースである。入出力制御部218は、CPU211からの制御信号に応じて、ディスプレイ219、キーボード220、その他I/Oなどの入出力デバイスを制御する。
【0085】
次に、呼制御サーバ202、第1中継サーバ203の機能構成について説明する。
図5は本実施形態の呼制御サーバ202の機能的な構成例を示すブロック図である。また、図6は本実施形態の第1中継サーバ203の機能的な構成例を示すブロック図である。図5、図6に示すように、呼制御サーバ202、第1中継サーバ203は、機能構成として、システム制御部230、メモリ部231、入出力インタフェース部232、通信制御部240を有して構成される。これらの各機能は、図4に示した各ブロックのハードウェアの動作、またはCPU211が所定のプログラムを実行することにより実現する。なお、呼制御サーバ202のネットワークインタフェース217は、WAN200と接続される。
【0086】
呼制御サーバ202と第1中継サーバ203との機能構成上の差異は、通信制御部240の機能である。図5に示すように、呼制御サーバ202の通信制御部240は、データ中継部241、信号通信部242、中継サーバ選定部243を有する。一方、図6に示すように、第1中継サーバ203の通信制御部240は、データ中継部241、信号通信部242、処理負荷判定部244、帯域使用率判定部245、変更セッション選定部246、セッション変更指示部247を有する。
【0087】
システム制御部230は、第1中継サーバ203の全体の制御を行う。メモリ部231は、VPN装置101、301双方の外部アドレス(WAN200上でのグローバルIPアドレス)とポート(IPネットワークのポート番号)の情報を含む外部アドレス・ポート情報、各制御部の機能を実現するための制御プログラム、各種設定情報等を記憶する。
【0088】
入出力インタフェース部232は、ディスプレイ、キーボード、その他I/Oなどのインタフェース及びその制御部を有する。例えば、入出力インタフェース部232は、ユーザあるいは管理者により第1中継サーバ203に対する設定操作等の各種操作や表示、音声出力を行うためのユーザインタフェースを有する。このユーザインタフェースの具体例として、端末上で動作するブラウザによって表示するWebページなどが用いられる。
【0089】
通信制御部240のデータ中継部241は、VPN通信を行っているVPN装置101とVPN装置301との間の通信を中継する。例えば、VPN装置101からVPN装置301に向かって転送されるパケットや、逆にVPN装置301からVPN装置101に向かって転送されるパケットをそれぞれ中継(送受信)する。なお、VPN装置101、301間のVPN通信だけでなく、他のVPN装置間で行われるVPN通信を中継することもでき、同時に複数のVPN通信を中継可能である。通信制御部240の信号通信部242は、VPN通信に係る各種信号(確認信号、指示信号、要求信号、応答信号等)の送受信を行う。
【0090】
呼制御サーバ202が有する通信制御部240の中継サーバ選定部243は、VPN通信を中継する中継サーバを、VPNシステム内の複数の中継サーバ(第1中継サーバ203、第2中継サーバ204、他の中継サーバ)の中から選定する。例えば、第1中継サーバ203からVPNセッション(VPN通信)を他の中継サーバへ変更(移行)するよう要求されたときに、第1中継サーバ203とは異なる第2中継サーバ204を変更先(移行先)の中継サーバとして選定する。
【0091】
第1中継サーバ203が有する通信制御部240の処理負荷判定部244は、VPN通信を中継中のCPU211の負荷率(CPU負荷率)を検出し、当該CPU負荷率が規定値以上であるか否かを判定する。帯域使用率判定部245は、VPN通信に使用されている通信帯域(使用通信帯域)の使用率を検出し、当該使用率が規定値以上であるか否かを判定する。変更セッション選定部246は、第1中継サーバ203が中継する1つ以上のVPN通信(VPNセッション)の中から、第1中継サーバ203以外の他の中継サーバ(例えば第2中継サーバ204)へ中継先を変更すべきVPN通信(VPNセッション)を選定する。選定されるVPN通信は、1つ以上であり、第1中継サーバ203が中継するVPN通信の全てであってもよいし、一部であってもよい。セッション変更設定部247は、例えば、メンテナンス等で、ユーザの指示に応じて入出力インタフェース部232によりVPN通信の中継先を変更する旨の指示を受けた場合、システム制御部230内のタイマによりVPN通信の中継先を変更すべき所定時刻を検出した場合などに、VPN通信を第1中継サーバ203とは異なる他の中継サーバ(例えば第2中継サーバ204)へ中継先を変更する設定を行う。
【0092】
次に、本実施形態のVPNシステムにおけるVPN構築時の動作について説明する。
図7及び図8は、本実施形態のVPNシステムにおけるVPN構築時の処理手順を示すシーケンス図である。この図7及び図8では、VPN装置を含むネットワークにおいて、VPN装置101の配下の端末103からWAN200を経由して他のVPN装置301の配下の端末303に接続しようとする場合の処理を示している。図7は、呼制御サーバ202を用いて第1中継サーバを経由したVPNセッションを構築する処理の一例を示す図である。また、図8は、第1中継サーバ203を経由したVPNセッションを変更し、第2中継サーバ204を経由したVPNセッションを構築することを想定している。なお、図8の処理は図7の処理に後続してもよい。
【0093】
まず、VPN装置101は呼制御サーバ202にログインしてユーザ認証を受けるようにする(ステップS101)。VPN装置101がユーザ認証に成功した場合、呼制御サーバ202において、VPN装置101の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等の登録、設定が行われる。以降、VPN装置101と呼制御サーバ202との間で通信可能となる。なお、VPN装置101は発呼側であるが、被呼側であるVPN装置301についても同様に、呼制御サーバ202にログインしてユーザ認証を受け、呼制御サーバ202においてVPN装置301の識別情報等の登録、設定が行われる(ステップS102)。
【0094】
続いて、VPN装置101は、VPN通信を行うアプリケーションの起動に伴って外部アドレス・ポート取得部141の機能により、配下の端末103からのVPN接続の接続要求を受けると、STUNサーバ201との間で外部アドレス・ポート取得手順を行う。このとき、VPN装置101は、ルータ102により通信用に割り当てられた外部アドレス・ポート情報(WAN200側からみたグローバルIPアドレス及びポート番号)を取得するため、STUNサーバ201に対して、外部アドレス・ポート取得要求としてバインディングリクエスト(Binding Request、RFC3489参照;以下同じ)パケットを送出する。一方、STUNサーバ201は、外部アドレス・ポート取得要求に対して応答し、VPN装置101に外部アドレス・ポート取得要求の返信として外部アドレス・ポート情報を含むバインディングレスポンス(Binding Response、RFC3489参照;以下同じ)パケットを返送する。そして、VPN装置101は、外部アドレス・ポート情報取得要求の返信により得られた外部アドレス・ポート情報を記憶する。
【0095】
続いて、VPN装置101は、呼制御サーバ202を介して、被呼側の端末303を配下に持つVPN装置301への通信経路を構築するための接続要求を行う(ステップS103)。このとき、VPN装置101は、発呼側アドレス情報として、外部アドレス・ポート取得手順で取得した自装置に割り当てられたWAN側と通信するための外部アドレス・ポート情報(グローバルIPアドレス及びポート番号)を含む接続要求を呼制御サーバ202へ送信する。また、この接続要求には、被呼側(VPN装置301)の識別情報も含まれる。呼制御サーバ202は、この接続要求を中継してVPN接続の被呼側のVPN装置301へ送信する(ステップS104)。この接続要求により、呼制御サーバ202は、VPN装置101がVPN装置301へ通信経路構築のためのVPN接続をしたいという要求を被呼側に中継する。
【0096】
被呼側のVPN装置301は、呼制御サーバ202を介して通知された接続要求を受けると、STUNサーバ201との間で外部アドレス・ポート取得手順を行う。このとき、VPN装置301は、上記VPN装置101と同様、自装置に割り当てられるWAN側と通信するための外部アドレス・ポート情報(WAN200側からみたグローバルIPアドレス及びポート番号)を取得するため、STUNサーバ201に対して、外部アドレス・ポート取得要求としてバインディングリクエストパケットを送出する。一方、STUNサーバ201は、外部アドレス・ポート取得要求に対して応答し、VPN装置301に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンスパケットを返送する。そして、VPN装置301は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。
【0097】
続いて、VPN装置301は、呼制御サーバ202を介して、接続要求に対する接続応答を行う(ステップS105)。このとき、VPN装置301は、被呼側アドレス情報として、外部アドレス・ポート取得手順で取得した自装置の外部アドレス・ポート情報(グローバルIPアドレス及びポート番号)を含む接続応答を呼制御サーバ202を介し発呼側VPN装置101へ送信する。また、この接続応答には、発呼側(VPN装置101)の識別情報も含まれる。呼制御サーバ202は、この接続応答を中継してVPN接続の発呼側のVPN装置101へ送信する(ステップS106)。この接続応答により、呼制御サーバ202は、接続要求に対するVPN装置301からVPN装置101への応答を発呼側に中継する。
【0098】
続いて、VPN装置101は、VPN装置101、301間での通信に第1中継サーバ203を利用するための中継サーバ利用要求を呼制御サーバ202へ送信する(ステップS107)。
【0099】
呼制御サーバ202は、VPN装置101からの中継サーバ利用要求を受信すると、いずれかの中継サーバ(ここでは一例として、第1中継サーバ203)に対して中継指示を行う(ステップS108)。当該中継指示には、通信パケットを通信するVPN装置101、301の識別情報(接続装置情報)が含まれる。第1中継サーバ203は、呼制御サーバ202からの中継指示を受信すると、自中継サーバで中継処理が可能な能力があるか否かを判定し、中継可能な場合には、呼制御サーバ202へ第1中継サーバ203が通信中継を行うことを示す中継応答(OK)を行う(ステップS109)。呼制御サーバ202は、第1中継サーバ203からの中継応答(OK)を受信した場合には、VPN装置101へ中継サーバ利用応答を行う(ステップS110)。当該中継サーバ利用応答には、通信パケットを中継する第1中継サーバ203の識別情報(第1中継サーバ203のURL等:接続先情報)が含まれる。
【0100】
このようなステップS101〜S110の処理により、VPN装置101及びVPN装置301は、データ通信を行う前の準備(通信を行うために必要な情報の情報交換)を完了する。
【0101】
VPN装置101は、呼制御サーバ202からの中継サーバ利用応答を受信すると、第1中継サーバ203へログインしてユーザ認証を受けるようにする(ステップS111)。VPN装置101がユーザ認証に成功した場合、第1中継サーバ203において、VPN装置101の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等の登録、設定が行われる。第1中継サーバ203は、上記登録、設定が終了すると、ログイン完了をVPN装置101へ通知する(ステップS112)。以降、VPN装置101と第1中継サーバ203との間で通信可能となる。
【0102】
また、VPN装置101は、呼制御サーバ202を介して、VPN装置301が第1中継サーバ203に接続するよう指示するための中継サーバ接続指示を、VPN装置301に対して行う(ステップS113、S114)。当該中継サーバ接続指示には、中継接続先である第1中継サーバ203の識別情報(URL等:接続先情報)が含まれる。VPN装置301は、呼制御サーバ202を介してVPN装置101からの中継サーバ接続指示を受信すると、第1中継サーバ203へログインしてユーザ認証を受けるようにする(ステップS115)。VPN装置301がユーザ認証に成功した場合、第1中継サーバ203において、VPN装置301の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等の登録、設定が行われる。第1中継サーバ203は、上記登録、設定が終了すると、ログイン完了をVPN装置301へ通知する(ステップS116)。以降、VPN装置301と第1中継サーバ203との間で通信可能となる。VPN装置301は、第1中継サーバ203からのログイン完了の通知を受信すると、呼制御サーバ202を介して、VPN装置301が第1中継サーバ203に接続した旨を示す中継サーバ接続応答を、VPN装置101に対して行う(ステップS117、S118)。
【0103】
この段階で、発呼側のVPN装置101と被呼側のVPN装置301とは、お互いに相手の第1中継サーバ203へのログインを完了している。そして、VPN装置101及びVPN装置301は、第1中継サーバ203を経由してパケットを送信し、図3に示すVPN装置のVPN機能部142により、第1中継サーバ203を介したVPN通信が可能な状態であるか否かを確認する。例えば、VPN装置101がVPN装置301へ第1中継サーバ203を経由してパケットを送信し、この送信から所定期間内にVPN装置301から第1中継サーバ203を経由してパケットを受信したことを示す応答を受信した場合には、第1中継サーバ203を介したVPN通信可能状態であると判定する。VPN通信可能状態であれば、VPN装置101及びVPN装置301は、第1中継サーバ203を介して暗号化したデータ通信を開始する(ステップS119、S120)。このように、図7では、第1中継サーバ203を利用した通信経路でVPN通信を行なっている。
【0104】
つまり、ステップS111〜S120の処理により、VPN装置101及びVPN装置301は、第1中継サーバ203の通信経路で通信を行うことができる。
【0105】
図8の処理では、まず、第1中継サーバ203の通信経路で通信を行っているときに、所定の条件を満たした場合に、第1中継サーバ203は、呼制御サーバ202へセッション変更要求を送信する(ステップS121)。当該セッション変更要求は、VPNセッションを変更するための、つまり通信経路を変更するための要求である。また、上記所定の条件とは、第1中継サーバ203の処理負荷が所定負荷以上となった場合、もしくは、サーバメンテナンス等に伴い第1中継サーバ203の入出力インタフェース部232により通信経路の切り替えが指示された場合、などが考えられる。
【0106】
呼制御サーバ202は、第1中継サーバ203からのセッション変更要求を受信すると、第1中継サーバ203とは別の中継サーバ(ここでは一例として、第2中継サーバ204)へセッション変更状況確認要求を送信する(ステップS122)。当該セッション変更状況確認要求とは、VPNセッション(VPN通信)を他の中継サーバへ変更しても処理に支障が無いかを確認するための要求である。第2中継サーバ204は、呼制御サーバ202からのセッション変更状況確認要求を受信すると、現在通信を中継するための能力があるか否かを判定し、中継する場合には、呼制御サーバ202へ第2中継サーバ204が通信中継を行うことを許可することを示すセッション変更状況確認応答(許可)を、呼制御サーバ202へ送信する(ステップS123)。
【0107】
呼制御サーバ202は、VPN通信を中継する中継サーバを第1中継サーバ203から第2中継サーバ204へ変更するための中継サーバ変更指示を、VPN装置101へ送信する(ステップS124)。当該中継サーバ変更指示には、変更後の中継サーバとなる第2中継サーバ204の識別情報(URL等)が含まれる。
【0108】
VPN装置101は、呼制御サーバ202からの中継サーバ変更指示を受信すると、第2中継サーバ204へログインしてユーザ認証を受けるようにする(ステップS125)。VPN装置101がユーザ認証に成功した場合、第2中継サーバ204において、VPN装置101の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等の登録、設定が行われる。第2中継サーバ204は、上記登録、設定が終了すると、ログイン完了をVPN装置101へ通知する(ステップS126)。以降、VPN装置101と第2中継サーバ204との間で通信可能となる。
【0109】
また、VPN装置101は、呼制御サーバ202を介して、VPN装置301が第2中継サーバ204に接続を変更するよう指示するための中継サーバ接続変更指示を、VPN装置301に対して行う(ステップS127、S128)。当該中継サーバ接続変更指示には、中継接続先である第2中継サーバ204の識別情報(URL等:接続先情報)が含まれる。VPN装置301は、呼制御サーバ202を介してVPN装置101からの中継サーバ接続変更指示を受信すると、第2中継サーバ204へログインしてユーザ認証を受けるようにする(ステップS129)。VPN装置301がユーザ認証に成功した場合、第2中継サーバ204において、VPN装置301の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等の登録、設定が行われる。第2中継サーバ204は、上記登録、設定が終了すると、ログイン完了をVPN装置301へ通知する(ステップS130)。以降、VPN装置301と第2中継サーバ204との間で通信可能となる。VPN装置301は、第2中継サーバ204からのログイン完了の通知を受信すると、呼制御サーバ202を介して、VPN装置301が第2中継サーバ204に接続した旨を示す中継サーバ接続変更応答(OK)を、VPN装置101に対して行う(ステップS131、S132)。
【0110】
この段階で、発呼側のVPN装置101と被呼側のVPN装置301とは、お互いに相手の第2中継サーバ204へのログインを完了している。VPN装置101及びVPN装置301は、第2中継サーバ204を経由してパケットを送信し、図3に示すVPN装置のVPN機能部142により、第2中継サーバ204を介したVPN通信が可能な状態であるか否かを確認する。例えば、VPN装置101がVPN装置301へ第2中継サーバ204を経由してパケットを送信し、この送信から所定期間内にVPN装置301から第2中継サーバ204を経由してパケットを受信したことを示す応答を受信した場合には、第2中継サーバ204を介したVPN通信可能状態であると判定する。VPN通信可能状態であれば、VPN装置101及びVPN装置301は、第2中継サーバ204を介して暗号化したデータ通信を開始する(ステップS133、S134)。
【0111】
なお、第2中継サーバ204を介する通信を開始すること、つまり第1中継サーバ203から第2中継サーバ204への中継サーバの切り替えに伴い、第2中継サーバ204を経由した通信が正常に行われることを確認した後に、第1中継サーバ203を経由したVPN装置101、301間のVPNセッションを終了し、第1中継サーバ203に対して使用していたリソースを開放する(ステップ135、S136)。
【0112】
つまり、ステップS121〜S136の処理により、VPN装置101及びVPN装置301は、第1中継サーバ通信経路での通信から第2中継サーバ通信経路での通信に切り替え、第2中継サーバ通信経路での通信を行うことができる。したがって、第1中継サーバ203は、VPN装置101、301間の通信により発生していた処理負荷を軽減することができ、また、処理負荷が軽減した分を他のVPN装置間の中継処理に活用することができる。
【0113】
なお、図8では、変更対象のVPNセッションをVPN装置101、301間のVPNセッションとして説明したが、他のVPN装置間のVPNセッションを変更対象としてもよい。
【0114】
このように、本実施形態のVPNシステムによれば、VPN通信を継続したまま他の中継サーバにVPNセッションを変更し、安定したVPN通信を行うことが可能である。特に、VPN装置間でのVPN通信を中継する中継サーバの負荷が増大した場合であっても、中継サーバにかかる負荷を分散し、安定したVPN通信を行うことが可能である。
【0115】
次に、図8に示した第1中継サーバ通信経路から第2中継サーバ通信経路への切り替えに伴うVPNシステムの各装置の動作について説明する。
【0116】
図9は、第1中継サーバ203の負荷確認処理の一例を示すフローチャートである。図9の処理は、VPN装置間の通信を中継している中継サーバにおいて定期的に実施される。定期的とは、一概には規定できないが、例えば分オーダーで確認を行うように設定することができる。
【0117】
当該負荷確認処理において想定する負荷としては、各種処理を行う第1中継サーバ203の処理負荷と、VPN装置101、301と第1中継サーバ203とが通信を行うための通信回線で使用されるデータ通信搬送容量(通信帯域)の負荷の二つが考えられる。これらのいずれかの負荷が規定値以上となった場合、第1中継サーバ203で通信している全ての通信が破綻する(通信不可の状態になる)可能性がある。そこで、第1中継サーバ203は、当該規定値に達する前に第1中継サーバ203で処理している通信の一部または全部を他の中継サーバ(例えば第2中継サーバ204)へ移行(変更)する。このため、定期的に第1中継サーバ203にかかる上記二種類の負荷を確認する。
【0118】
図9に示す例では、まず、処理負荷判定部244が、CPU負荷率が所定の規定負荷率(閾値)よりも大きいか否かを判定する(ステップS201)。この規定負荷率(閾値)もVPNシステムにより大きく異なるため一概に規定できないが、通常は処理すべき通信量がさらに増大した場合であっても第1中継サーバ203による処理が可能な程度のCPU負荷率であることが望ましい。例えば音声通信のみの場合であれば、一つの通信に対するCPU負荷率が大きくないため、閾値を高め(80%以上など)に設定してもよく、また、例えば映像配信などデータ容量の大きい通信を取り扱う場合には、一つの通信で必要となるCPU負荷が大きくなるため、閾値は低め(70%以下など)に設定するのが妥当である。
【0119】
CPU負荷率が規定負荷率以下である場合、第1中継サーバ203の帯域使用率判定部245が、第1中継サーバ203を使用して行われている全ての通信で使用されている通信帯域(使用通信帯域)の使用率が所定の規定使用率(閾値)よりも大きいか否かを判定する(ステップS202)。この規定使用率についても、規定負荷率と同様にVPNシステム毎に値が異なるため一意に決定することは出来ないが、例えば60%である。
【0120】
CPU負荷率が規定負荷率よりも大きい場合、または、使用通信帯域の使用率が規定使用率よりも大きい場合、通信量が増加することで第1中継サーバ203での処理能力を超える可能性があるため、現在通信中のセッション(VPN装置101、301間のセッション、他の通信装置間のセッションを含む)の一部もしくは全部を他の中継サーバ(例えば第2中継サーバ204)に変更)する。
【0121】
このとき、第1中継サーバ203の変更セッション選定部246が、変更する対象となるVPNセッションである変更対象セッションを設定する(ステップS203)。第2中継サーバ204に中継先を変更するVPNセッションは、任意のVPNセッションでよい。または、変更セッション選定部246が、第1中継サーバ203が中継中のVPNセッション毎に処理状況を定期的に取得し、取得した複数の処理状況を含む統計情報から負荷の高いVPNセッションを変更対象セッションとして選択してもよい。
【0122】
変更対象セッションとして任意のVPNセッションを選択する場合には、負荷がどの程度軽減されるか不明であるが、本負荷確認処理は定期的に実施されるため、次の負荷確認処理のタイミングでCPU負荷率が規定負荷率を越えていれば、さらに別のVPNセッションが別の中継サーバへ変更されるという処理が繰り返される。この場合には、予め負荷の基準となる規定負荷率を低めに設定し、通信量が増加した場合にも対応できるように考慮しておくものとする。
【0123】
一方、変更対象セッションとして統計情報に基づいてVPNセッションを選択する場合には、負荷の高いVPNセッションから第2中継サーバ204へ変更していくため、第1中継サーバ203の負荷が一度のセッション変更処理によりCPU負荷率が規定負荷率を下回る可能性を高めることができる。
【0124】
変更対象セッションが選定されると、第1中継サーバ203の信号通信部242が、第1中継サーバ203から呼制御サーバ202に対してセッション変更を要求するためのセッション変更要求メッセージを送信する(ステップS204)。
【0125】
ステップS202において使用通信帯域の使用率が規定使用率以下の場合、または、ステップS204におけるセッション変更要求メッセージの送信後に、システム制御部230が、当該負荷確認処理を再度行うための(定期診断のための)タイマを設定する(ステップS205)。このタイマがタイムアウトしたとき、ステップS201からの処理を再び行う。なお、負荷確認処理が定期的に開始されるようにあらかじめ定期起動の機能として定めておいてもよい。
【0126】
なお、第1中継サーバ203がCPUの処理能力に対して十分に広い通信帯域を確保できる場合や、第1中継サーバ203が使用通信帯域に対して十分な処理能力のあるCPUを保有している場合もある。これらの場合には、図9の負荷確認処理を省略することも可能である。
【0127】
図9に示した負荷確認処理によれば、第1中継サーバ203の負荷が増大した場合であっても、呼制御サーバ202へ負荷が増大した旨を通知することで、上述したような負荷分散のための処理を実行し、中継サーバにかかる負荷を分散し、安定したVPN通信を行うことが可能である。
【0128】
次に、図10は呼制御サーバ202のセッション変更処理の一例を示すフローチャートである。
【0129】
信号受信部242が第1中継サーバ203からのセッション変更要求メッセージを受信すると(ステップS301)、中継サーバ選定部243が、第1中継サーバ203以外に他の中継サーバが存在するか否かを判定する(ステップS302)。
【0130】
他の中継サーバが存在する場合には、中継サーバ選定部243が、呼制御サーバ202と関連付けられている1又は複数の中継サーバから、VPNセッションの変更先となる中継サーバ(変更先中継サーバ)の選定を行う(ステップS303)。変更先中継サーバの選定方法としては、呼制御サーバ202に関連付けられている任意の中継サーバを変更先中継サーバとして選定する方法、定期的またはセッション変更要求メッセージ受信時に、1又は複数の中継サーバから各中継サーバの負荷の状態を示す負荷状態情報を含む中継サーバ状態情報を収集し、当該セッション変更要求メッセージ受信時に最も負荷の軽い中継サーバを変更先中継サーバとして選定を行う方法などがある。なお、呼制御サーバ202と関連付けられている中継サーバとは、呼制御サーバ202に識別情報が登録されている中継サーバのことを指す。
【0131】
変更先中継サーバが選定されると、信号通信部242が、その変更先中継サーバに対して第1中継サーバ203での通信を移行(変更)しても処理に支障が無いかを確認するためのセッション変更状況確認要求メッセージを送信する(ステップS304)。そして、信号通信部242が、変更先中継サーバからのセッション変更状況確認要求メッセージに対するセッション変更状況確認応答メッセージを受信する(ステップS305)、セッション変更状況確認応答メッセージの内容については、後述する図11で説明する。
【0132】
中継サーバ選定部243は、セッション変更状況確認応答メッセージを解析し、通信セッション変更が可能か否かを判定する(ステップS306)。VPNセッション変更が可能(セッション変更状況確認応答(OK))である場合には、信号通信部242が、変更対象のVPNセッション通信を行っているVPN装置に対して、中継サーバ変更指示メッセージを送信する(ステップS307)。当該中継サーバ変更指示メッセージの情報には、変更先である変更先中継サーバの情報が含まれる。当該中継サーバ変更指示メッセージは、当該VPNセッションでの通信を行っているVPN装置の発呼側(ここではVPN装置101)、被呼側(ここではVPN装置301)のいずれに送付されても同じ処理が施されるため、いずれかのVPN装置にのみ送付すればよい。ここでは、便宜上発呼側のVPN装置(VPN装置101)に中継サーバ変更メッセージを送信することを想定している。
【0133】
一方、VPNセッション変更が不可能(セッション変更状況確認応答(NG))である場合には、呼制御サーバ202に登録されている、VPNセッション変更のための状態を問い合わせていない他の中継サーバに対して上記と同様の処理を行うべく、ステップS302に戻る。
【0134】
ステップS302〜S306の処理を繰り返し、呼制御サーバ202に登録されているいずれの中継サーバにも通信セッション変更ができない場合には、システム制御部302が、入出力インタフェース部232を解して所定内容で警告(アラート)を通知する。これにより、いずれの中継サーバも新規の通信セッションを受け入れられない可能性があり、VPNシステムとして問題が発生する可能性があることを報知することができる。
【0135】
次に、図11は第2中継サーバ204のセッション受け入れ判定処理の一例を示すフローチャートである。図11では、第2中継サーバ204が変更先中継サーバとして選定されたことを想定している。
【0136】
第2中継サーバ204は、信号通信部242が呼制御サーバ202からのセッション変更状況確認要求メッセージを受信すると(ステップS401)、第2中継サーバ204にかかる負荷を確認する。ここで確認する負荷とは、図9で示した第1中継サーバ203での負荷確認処理の負荷と同様である。すなわち、処理負荷判定部244が、CPU負荷率が所定の規定負荷率(閾値)よりも大きいか否かを判定する(ステップS402)。CPU負荷率が規定負荷率以下である場合、帯域使用率判定部245が、使用通信帯域の使用率が所定の規定使用率(閾値)よりも大きいか否かを判定する(ステップS403)。なお、第1中継サーバ203に関する規定負荷率及び規定使用率と第2中継サーバ204に関する規定負荷率及び規定使用率とは、同一であっても同一でなくてもよい。これは、中継サーバの処理能力、通信帯域が全て同じとは限らないため、各中継サーバで閾値(処理能力の限界)が異なる可能性があるためである。
【0137】
使用通信帯域の使用率が規定使用率以下である場合、多少通信量が増加しても第2中継サーバ204での処理能力を超過しない状態であるため、信号通信部242が、第1中継サーバ203からのVPNセッション変更を受け入れ可能である旨を示すセッション変更状況確認応答(OK)メッセージを、呼制御サーバ202へ送信する(ステップS404)。
【0138】
一方、CPU負荷率が規定負荷率よりも大きい場合、または、使用通信帯域の使用率が規定使用率よりも大きい場合、通信量が増加することで第2中継サーバ204での処理能力を超える可能性があるため、信号通信部242が、第1中継サーバ203からのVPNセッション変更を受け入れ不可能である旨を示すセッション変更状況確認応答(NG)メッセージを、呼制御サーバ202へ送信する(ステップS405)。
【0139】
このように、セッション変更状況確認要求メッセージを受信した変更先中継サーバとしての第2中継サーバ204は、自サーバの処理状態(負荷状態)から新たにVPNセッションを受け入れることが可能か否かを判定し、セッション変更状況確認応答メッセージにて、VPNセッション変更の可否を通知する。これにより、特定の中継サーバに負荷が偏ることを回避し、VPNシステム全体として負荷分散を行うことができる。
【0140】
次に、図12はVPN装置101の中継サーバ変更指示受信時の処理の一例を示すフローチャートである。図12では、VPN装置101が呼制御サーバ202からの中継サーバ変更指示メッセージを受信する場合を想定している。また、第2中継サーバ204が変更先中継サーバとして選定されたことを想定している。
【0141】
まず、VPN装置101は、呼制御機能部143が、呼制御サーバ202からの中継サーバ変更指示メッセージを受信すると(ステップS501)、中継サーバ指示変更メッセージに含まれる変更先中継サーバとしての第2中継サーバ204の識別情報に基づいて、第2中継サーバ204へのログインを試みる(ステップS502)。ログインの処理は先に詳述した通りである。
【0142】
第2中継サーバ204へのログインが完了したら、呼制御機能部143が、被呼側のVPN装置であるVPN装置301に対して、中継サーバ接続変更指示メッセージを送信する(ステップS503)。当該中継サーバ接続変更指示メッセージの情報には、通信セッション変更後の中継サーバである第2中継サーバ204の識別情報が含まれる。これにより、VPN装置301においても、第2中継サーバ204へログインを行うことが可能となる。一方、第2中継サーバ204へのログインが失敗した場合には、通信セッション変更が出来ないため、そのまま処理を終了する。
【0143】
呼制御機能部143が、VPN装置301からの中継サーバ接続変更応答メッセージを受信すると(ステップS504)、VPN装置301が第2中継サーバ204へ接続できたか否かを判定する(ステップS505)。VPN装置301が第2中継サーバ204へ接続できたか否かは、VPN装置301が第2中継サーバ204へのログインが成功したことを示す中継サーバ接続変更応答(OK)メッセージであるか、VPN装置301が第2中継サーバ204へのログインに失敗したことを示す中継サーバ接続変更応答(NG)メッセージであるか、により判定する。
【0144】
VPN装置301が第2中継サーバ204へ接続できたと判定された場合、すなわち変更先中継サーバへのVPNセッション変更が可能である場合には、データ中継部133が、第2中継サーバ204への通信データの送信を開始する(ステップS506)。
【0145】
通信データの送信の開始後、呼制御機能部143が、変更先中継サーバである第2中継サーバ204を介して、データ中継部133により被呼側VPN装置)であるVPN装置301からの通信データを受信したか否かを判定する(ステップS507)。第2中継サーバ204を介してVPN装置301からの通信データを受信したと判定した場合、呼制御機能部143が、第2中継サーバ204を介したVPN装置101、301間のVPNセッションが確立したとみなし、VPNセッション変更前に通信を行っていた第1中継サーバ203への通信データの送信を停止する(ステップS508)。VPN装置101は、第1中継サーバ203への通信データの送信を、第2中継サーバ204を介してVPN装置301からの通信データを受信したと判定されるまで、継続する。
【0146】
このように、VPN装置101は、第2中継サーバ204を介してVPN装置301からの通信データを受信したときに、呼制御機能部143がVPNセッション変更前の中継サーバである第1中継サーバ203からログアウトを行い、VPNセッションを確立すべき中継サーバの変更を完了する。ログアウトの処理では、ログアウト対象のVPN装置であるVPN装置101の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等が第1中継サーバ203から削除される。これにより、第1中継サーバ203を介したVPN装置101、301間のVPNセッションが切断される。
【0147】
一方、ステップS505において、VPN装置301が第2中継サーバ204へ接続できなかったと判定された場合、すなわち変更先中継サーバへのVPNセッション変更が不可能である場合には、呼制御機能部143が、第2中継サーバ204からのログアウトを行う(ステップS509)。
【0148】
図12の処理によれば、いずかのVPN装置がVPNセッションの中継先の変更を指示された場合に、VPNセッションを継続して接続された状態で、他の中継サーバへ変更することができる。
【0149】
次に、図13はVPN装置301の中継サーバ接続変更指示受信時の処理の一例を示すフローチャートである。図13では、第2中継サーバ204が変更先中継サーバとして選定されたことを想定している。また、VPN装置301がVPN装置101からの中継サーバ接続変更指示メッセージを受信する場合を想定している。
【0150】
まず、VPN装置301は、呼制御機能部143が、VPN装置101からの中継サーバ接続変更指示メッセージを受信すると(ステップS601)、当該中継サーバ接続変更指示メッセージで指定された変更先中継サーバである第2中継サーバ204へのログインを試みる(ステップS602)。ログインの処理は先に詳述した通りである。
【0151】
VPN装置301は、第2中継サーバ204へのログインが成功した場合、呼制御機能部143が、ログインが成功した旨を示す中継サーバ接続変更応答(OK)メッセージを発呼側VPN装置であるVPN装置101へ送信する(ステップS603)。そして、中継サーバ接続変更応答(OK)メッセージの送信後に、データ中継部133が、ログインに成功した第2中継サーバ204に対して、通信データの送信を開始する(ステップS604)。
【0152】
通信データの送信の開始後、呼制御機能部143が、変更先中継サーバである第2中継サーバ204を介して、発呼側VPN装置であるVPN装置101からの通信データを受信したか否かを判定する(ステップS605)。第2中継サーバ204を介してVPN装置101からの通信データを受信したと判定した場合、呼制御機能部143が、第2中継サーバ204を介したVPN装置101とVPN装置301とのVPNセッションが確立したとみなし、VPNセッション変更前に通信を行っていた第1中継サーバ203への通信データの送信を停止する(ステップS606)。VPN装置301は、第1中継サーバ203への通信データの送信を、第2中継サーバ204を介してVPN装置101からの通信データを受信したと判定されるまで、継続する。
【0153】
このように、VPN装置301は、第2中継サーバ204を介してVPN装置101からの通信データを受信したときに、呼制御機能部143がVPNセッション変更前の中継サーバである第1中継サーバ203からログアウトを行い、VPNセッションを確立すべき中継サーバの変更を完了する。ログアウトの処理では、ログアウト対象のVPN装置であるVPN装置301の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等が第1中継サーバ203から削除される。これにより、第1中継サーバ203を介したVPN装置101、301間のVPNセッションが切断される。
【0154】
一方、ステップS602において、第2中継サーバ204へのログインが失敗した場合、呼制御機能部143が、ログインが失敗した旨を示す中継サーバ接続変更応答(NG)メッセージをVPN装置101へ送信する(ステップS607)。
【0155】
図13の処理によれば、VPNセッションの中継先の変更を指示されたVPN装置からVPNセッションの中継先変更を要求された場合に、VPNセッションを継続して接続された状態で、他の中継サーバへ変更することができる。
【0156】
次に、VPN装置101、301間のVPN通信を中継する中継サーバの処理負荷に依存することなく、ユーザ操作によって、当該中継サーバで通信しているVPNセッションを全て他の中継サーバへ変更する場合について説明する。
【0157】
図14は、第1中継サーバ203のユーザ指示に基づくセッション変更処理の一例を示すフローチャートである。図14では、第1中継サーバ203を介したVPN装置101、301間のVPNセッションを確立しており、第2中継サーバ204が変更先中継サーバとして選定される場合を想定している。また、ユーザ指示は、管理者による第1中継サーバ203のメンテナンス指示であることを想定している。
【0158】
まず、第1中継サーバ203は、ユーザ指示に応じて、入出力インタフェース部232が中継サーバ変更指示を行うと(ステップS701)、変更セッション選定部246が、新規のVPNセッションの確立を行わないように、新規VPNセッション受付不可の状態に設定する(ステップS702)。この後、メンテナンスを行う中継サーバである第1中継サーバ203において、変更セッション選定部246が、VPNセッションを変更する必要のあるVPNセッションが存在するかを確認する(ステップS703)。
【0159】
変更する必要のあるVPNセッションが存在する場合には、第1中継サーバ203は、図9のステップS203、S204と同様に、変更対象セッションの設定(ステップS704)、セッション変更要求の送信(ステップS705)を行う。
【0160】
ここで、第1中継サーバ203は、変更先中継サーバとしての第2中継サーバ204で全ての通信セッションを受け入れ可能か否かを把握できないため、第1中継サーバ203は、全てのVPNセッション変更処理を同時には行わない。つまり、第1中継サーバ203は、第1中継サーバ203に存在するVPNセッションを1つずつ順に第2中継サーバ204へ変更する。システム制御部130は、一の変更処理が他の変更処理との時間的な重複を回避し、前後の変更処理の時間が十分に確保できるよう変更処理待ちタイマを設定し、変更処理のスケジューリングをする(ステップS706)。そして、変更処理待ちタイマがタイムアウトすると、ステップS703に戻り、他のVPNセッションの変更を行う。但し、第1中継サーバ203が、変更先中継サーバである第2中継サーバ204の処理能力を考慮したときに、第1中継サーバ203で通信している全ての通信セッションを変更しても問題ないと事前に認識可能な場合には、全ての通信セッションに対して変更処理を同時に行ってもよい。
【0161】
以上の処理を繰り返し、変更セッション選定部246が、第1中継サーバ203で通信しているVPNセッションが存在しないと判定すると、ディスプレイ219などに、本中継サーバ変更指示元にセッション移行(変更)完了を通知して処理を終了する(ステップS707)。
【0162】
図14の処理によれば、運用中の中継サーバをメンテナンスするために停止する場合や、より高性能、大容量のデータ通信が可能な中継サーバを新規導入、運用移行する場合に、現在のVPNセッションを切断することなく、管理者等のユーザからの指示により当該VPNセッションを他の中継サーバに変更(移行)することができる。また、VPNセッションを有する中継サーバをアイドル状態にすることができる。
【産業上の利用可能性】
【0163】
本発明は、VPN通信を継続したまま他の中継サーバにVPNセッションを移行し、安定したVPN通信を行うことが可能な呼制御サーバ、中継サーバ、VPN装置、VPN通信システム、VPNネットワーキング方法、プログラム、記憶媒体等に有用である。
【符号の説明】
【0164】
100、300 LAN
101、301 VPN装置
102、302 ルータ
103、303 端末
111 中央演算処理装置(CPU)
112 不揮発性メモリ
113 メモリ
114、115 ネットワークインタフェース
116 LAN側ネットワーク制御部
117 WAN側ネットワーク制御部
118 通信中継部
119 表示制御部
120 表示部
130 システム制御部
131 配下端末管理部
132 メモリ部
133 データ中継部
134 設定用インタフェース部
135 外部アドレス・ポート情報記憶部
140 通信制御部
141 外部アドレス・ポート取得部
142 VPN機能部
143 呼制御機能部
144 暗号処理部
200 WAN
201 STUNサーバ
202 呼制御サーバ
203 第1中継サーバ
204 第2中継サーバ
211 中央演算処理装置(CPU)
212 起動制御部
213 メモリ制御部
214 メモリ
215 VPN情報記憶部
216 メモリインタフェース
217 ネットワークインタフェース
218 入出力制御部
219 ディスプレイ
220 キーボード
221 RAM
230 システム制御部
231 メモリ部
232 入出力インタフェース部
240 通信制御部
241 データ中継部
242 信号通信部
243 中継サーバ選定部
244 処理負荷判定部
245 帯域使用率判定部
246 変更セッション選定部
247 セッション変更設定部

【特許請求の範囲】
【請求項1】
ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行う複数のVPN装置間の通信セッションを確立する呼制御サーバであって、
前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、第1の中継サーバから受信する中継先変更要求信号受信部と、
前記VPN通信を新たに中継する中継サーバとして前記第1の中継サーバとは異なる第2の中継サーバを選定する中継サーバ選定部と、
前記中継サーバ選定部により選定された第2の中継サーバが前記VPN通信を中継可能である場合、前記第2の中継サーバの識別情報を含み、前記VPN通信を中継する中継サーバを前記第1の中継サーバから前記第2の中継サーバへ変更するための中継サーバ変更指示信号を、前記VPN装置へ送信する中継サーバ変更指示信号送信部と、
を備える呼制御サーバ。
【請求項2】
ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して行われるVPN通信を中継する中継サーバであって、
当該中継サーバの処理負荷が所定処理負荷以上であるか否かを判定する処理負荷判定部と、
当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が所定使用率以上であるか否かを判定する使用率判定部と、
前記処理負荷判定部により前記処理負荷が前記所定処理負荷以上であると判定された場合、又は、前記使用率判定部により前記使用率が前記所定使用率以上であると判定された場合、当該中継サーバが中継する1以上のVPN通信から、当該中継サーバとは異なる他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、
前記変更通信選定部により選定されたVPN通信を特定するための情報を含み、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、前記VPN装置間の通信セッションを確立する呼制御サーバへ送信する中継先変更要求信号送信部と、
を備える中継サーバ。
【請求項3】
ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して行われるVPN通信を中継する中継サーバであって、
当該中継サーバとは異なる他の中継サーバへ前記VPN通信の中継先を変更するための指示を行う中継先変更指示部と、
当該中継サーバが中継する1以上のVPN通信から、前記他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、
前記変更通信選定部により選定されたVPN通信を特定するための情報を含み、前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、前記VPN装置間の通信セッションを確立する呼制御サーバへ送信する中継先変更要求信号送信部と、
を備える中継サーバ。
【請求項4】
ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して行われるVPN通信を中継する中継サーバであって、
前記VPN通信の中継の可否を確認するための中継先状況確認信号を、前記VPN装置間の通信セッションを確立する呼制御サーバから受信する中継先状況確認信号受信部と、
当該中継サーバの処理負荷が規定値以上であるか否かを判定する処理負荷判定部と、
当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が規定値以上であるか否かを判定する使用率判定部と、
前記処理負荷判定部による判定結果と前記使用率判定部による判定結果とに基づいて、当該中継サーバによる前記VPN通信の中継の可否情報を含む中継先状況確認応答信号を、前記呼制御サーバへ送信する中継先状況確認応答信号送信部と、
を備える中継サーバ。
【請求項5】
ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行うVPN装置であって、
VPN装置間の通信セッションを確立する呼制御サーバから、前記VPN通信を中継する中継サーバを第1の中継サーバから第2の中継サーバへ変更するための、前記第2の中継サーバの識別情報を含む中継サーバ変更指示信号を受信する中継サーバ変更指示信号受信部と、
前記第2の中継サーバの識別情報を含み、前記中継サーバを変更するための中継サーバ接続変更指示信号を、前記呼制御サーバを介して、当該VPN装置とのVPN通信を行う通信先のVPN装置へ送信する中継サーバ接続変更指示信号送信部と、
前記通信先のVPN装置が変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信を実行可能である場合、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、
を備えるVPN装置。
【請求項6】
ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行うVPN装置であって、
VPN装置間の通信セッションを確立する呼制御サーバを介して、前記VPN通信を中継する中継サーバを第1の中継サーバから第2の中継サーバへ変更するための、前記第2の中継サーバの識別情報を含む中継サーバ接続変更指示信号を、当該VPN装置とのVPN通信を行う通信先のVPN装置から受信する中継サーバ接続変更指示信号受信部と、
変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信の可否を判定するVPN通信可否判定部と、
VPN通信可否判定部により前記第2の中継サーバを介したVPN通信が可能であると判定された場合、前記第2の中継サーバを介したVPN通信が可能である旨を含む中継サーバ接続変更応答信号を、前記通信先のVPN装置へ送信する中継サーバ接続変更応答信号送信部と、
前記中継サーバ接続変更応答信号の送信後、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、
を備えるVPN装置。
【請求項7】
ネットワーク上で、複数のVPN装置間で仮想プライベートネットワークを構築して通信を行うVPN通信システムであって、
前記仮想プライベートネットワークを介して通信データを通信するVPN通信を行う複数のVPN装置と、
前記複数のVPN装置間の通信セッションを確立する呼制御サーバと、
前記複数のVPN装置間でのVPN通信を中継する複数の中継サーバと、
を備え、
前記呼制御サーバは、
前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、第1の中継サーバから受信する中継先変更要求信号受信部と、
前記VPN通信を新たに中継する中継サーバとして前記第1の中継サーバとは異なる第2の中継サーバを選定する中継サーバ選定部と、
前記中継サーバ選定部により選定された第2の中継サーバが前記VPN通信を中継可能である場合、前記第2の中継サーバの識別情報を含み、前記VPN通信を中継する中継サーバを前記第1の中継サーバから前記第2の中継サーバへ変更するための中継サーバ変更指示信号を、前記VPN装置へ送信する中継サーバ変更指示信号送信部と、
を備えるVPN通信システム。
【請求項8】
請求項7に記載のVPN通信システムであって、
前記中継サーバは、
当該中継サーバの処理負荷が所定処理負荷以上であるか否かを判定する処理負荷判定部と、
当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が所定使用率以上であるか否かを判定する使用率判定部と、
前記処理負荷判定部により前記処理負荷が前記所定処理負荷以上であると判定された場合、又は、前記使用率判定部により前記使用率が前記所定使用率以上であると判定された場合、当該中継サーバが中継する1以上のVPN通信から、当該中継サーバとは異なる他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、
前記変更通信選定部により選定されたVPN通信を特定するための情報を含む前記中継先変更要求信号を、前記呼制御サーバへ送信する中継先変更要求信号送信部と、
を備えるVPN通信システム。
【請求項9】
請求項7に記載のVPN通信システムであって、
前記中継サーバは、
当該中継サーバとは異なる他の中継サーバへ前記VPN通信の中継先を変更するための指示を行う中継先変更指示部と、
当該中継サーバが中継する1以上のVPN通信から、前記他の中継サーバへ中継先を変更するVPN通信を選定する変更通信選定部と、
前記変更通信選定部により選定されたVPN通信を特定するための情報を含む前記中継先変更要求信号を、前記呼制御サーバへ送信する中継先変更要求信号送信部と、
を備えるVPN通信システム。
【請求項10】
請求項7に記載のVPN通信システムであって、
前記中継サーバは、
前記VPN通信の中継の可否を確認するための中継先状況確認信号を、前記呼制御サーバから受信する中継先状況確認信号受信部と、
当該中継サーバの処理負荷が規定値以上であるか否かを判定する処理負荷判定部と、
当該中継サーバが中継する前記VPN装置間のVPN通信に使用される使用通信帯域の使用率が規定値以上であるか否かを判定する使用率判定部と、
前記処理負荷判定部による判定結果と前記使用率判定部による判定結果とに基づいて、当該中継サーバによる前記VPN通信の中継の可否情報を含む中継先状況確認応答信号を、前記呼制御サーバへ送信する中継先状況確認応答信号送信部と、
を備えるVPN通信システム。
【請求項11】
請求項7に記載のVPN通信システムであって、
前記VPN装置は、
前記呼制御サーバからの前記中継サーバ変更指示信号を受信する中継サーバ変更指示信号受信部と、
前記第2の中継サーバの識別情報を含み、前記中継サーバを変更するための中継サーバ接続変更指示信号を、前記呼制御サーバを介して、当該VPN装置とのVPN通信を行う通信先のVPN装置へ送信する中継サーバ接続変更指示信号送信部と、
前記通信先のVPN装置が変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信を実行可能である場合、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、
を備えるVPN通信システム。
【請求項12】
請求項7に記載のVPN通信システムであって、
前記VPN装置は、
前記第2の中継サーバの識別情報を含み、前記中継サーバを変更するための中継サーバ接続変更指示信号を、前記呼制御サーバを介して、当該VPN装置とのVPN通信を行う通信先のVPN装置から受信する中継サーバ接続変更指示信号受信部と、
変更後の中継サーバとしての前記第2の中継サーバを介したVPN通信の可否を判定するVPN通信可否判定部と、
VPN通信可否判定部により前記第2の中継サーバを介したVPN通信が可能であると判定された場合、前記第2の中継サーバを介したVPN通信が可能である旨を含む中継サーバ接続変更応答信号を、前記通信先のVPN装置へ送信する中継サーバ接続変更応答信号送信部と、
前記中継サーバ接続変更応答信号の送信後、前記通信先のVPN装置との間で、前記第2の中継サーバを介して前記通信データを通信するデータ通信部と、
を備えるVPN通信システム。
【請求項13】
ネットワーク上で、仮想プライベートネットワークを構築してVPN通信を行う複数のVPN装置間の通信セッションを確立する呼制御サーバのVPNネットワーキング方法であって、
前記VPN通信を中継する中継サーバを変更するための中継先変更要求信号を、第1の中継サーバから受信するステップと、
前記VPN通信を新たに中継する中継サーバとして前記第1の中継サーバとは異なる第2の中継サーバを選定するステップと、
前記選定された第2の中継サーバが前記VPN通信を中継可能である場合、前記第2の中継サーバの識別情報を含み、前記VPN通信を中継する中継サーバを前記第1の中継サーバから前記第2の中継サーバへ変更するための中継サーバ変更指示信号を、前記VPN装置へ送信するステップと、
を有するVPNネットワーキング方法。
【請求項14】
請求項13に記載のVPNネットワーキング方法の各ステップを実行させるためのプログラム。
【請求項15】
請求項13に記載のVPNネットワーキング方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2011−160286(P2011−160286A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−21451(P2010−21451)
【出願日】平成22年2月2日(2010.2.2)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】