(57)【要約】【課題】  ＶＰＮの障害発生時の回線切替処理においてもセッションを維持することができ、ＶＰＮとの接続中にインターネット上のサイトにアクセスした場合でも、通信速度の低下を回避することのできる技術を提供する。【解決手段】  クライアント（１）起動時にＶＰＮ回線と接続してＶＰＮ拠点と通信するためのＶＰＮ接続情報を取得する接続情報取得部と、ＶＰＮ接続情報に基づいてＶＰＮ拠点との間で通信を行なって相互の通信アドレスを授受する通信アドレス授受部と、ＶＰＮ回線の障害発生を検知する障害検知部と、ＶＰＮ回線に障害発生が検知されたときは、ＶＰＮ接続情報に基づいて新たなＶＰＮ回線に切り替える回線切替部と、新たなＶＰＮ回線を介して、ＶＰＮ拠点に回線切り替え前後のクライアントの通信アドレスを通知して、ＶＰＮ拠点とクライアントとの通信セッションを維持させる切替通知部とを備えた仮想マシンモニタ（ＶＭＭ）である。【選択図】図２
2012205145.tif 000002
【特許請求の範囲】
【請求項１】
クライアントに搭載されて、インターネット回線及びインターネット回線を用いたＶＰＮ回線と接続して通信情報を授受する仮想マシンモニタであって、
クライアント起動時に前記ＶＰＮ回線と接続してＶＰＮ拠点と通信するためのＶＰＮ接続情報を取得する接続情報取得部と、
前記ＶＰＮ接続情報に基づいてＶＰＮ拠点との間で通信を行なって相互の通信アドレスを授受する通信アドレス授受部と、
前記ＶＰＮ回線の障害発生を検知する障害検知部と、
前記ＶＰＮ回線に障害発生が検知されたときは、前記ＶＰＮ接続情報に基づいて新たなＶＰＮ回線に切り替える回線切替部と、
前記新たなＶＰＮ回線を介して、前記ＶＰＮ拠点に回線切り替え前後のクライアントの通信アドレスを通知して、前記ＶＰＮ拠点とクライアントとの通信セッションを維持させる切替通知部と
を備えたことを特徴とする仮想マシンモニタ。
【請求項２】
クライアントＯＳから取得した通信情報の送信先がＶＰＮ内のときは、当該通信情報をカプセル化してインターネット回線に出力する第１の出力部と、
インターネット回線から取得した情報の送信元がＶＰＮ内のときは、当該通信情報をデカプセル化してクライアントＯＳに出力する第２の出力部と、
クライアントＯＳから取得した通信情報の送信先がＶＰＮ内でないときは、当該通信情報をカプセル化せずにインターネット回線に出力する第３の出力部と、
インターネット回線から取得した情報の送信元がＶＰＮ内でないときは、当該通信情報をデカプセル化せずにクライアントＯＳに出力する第４の出力部と
を更に備えたことを特徴とする請求項１に記載の仮想マシンモニタ。
【請求項３】
請求項１又は２に記載の仮想マシンモニタを搭載したことを特徴とするクライアント。
【請求項４】
クライアントに搭載されて、インターネット回線及びインターネット回線を用いたＶＰＮ回線と接続して通信情報を授受する仮想マシンモニタの動作を制御するプログラムであって、
前記仮想マシンモニタに
クライアント起動時に前記ＶＰＮ回線と接続してＶＰＮ拠点と通信するためのＶＰＮ接続情報を取得する接続情報取得手順と、
前記ＶＰＮ接続情報に基づいてＶＰＮ拠点との間で通信を行なって相互の通信アドレスを授受する通信アドレス授受手順と、
前記ＶＰＮ回線の障害発生を検知する障害検知手順と、
前記ＶＰＮ回線に障害発生が検知されたときは、前記ＶＰＮ接続情報に基づいて新たなＶＰＮ回線に切り替える回線切替手順と、
前記新たなＶＰＮ回線を介して、前記ＶＰＮ拠点に回線切り替え前後のクライアントの通信アドレスを通知して、前記ＶＰＮ拠点とクライアントとの通信セッションを維持させる切替通知手順と
を実行させることを特徴とする仮想マシンモニタの動作を制御するプログラム。
【請求項５】
前記仮想マシンモニタに
クライアントＯＳから取得した通信情報の送信先がＶＰＮ内のときは、当該通信情報をカプセル化してインターネット回線に出力する第１の出力手順と、
インターネット回線から取得した情報の送信元がＶＰＮ内のときは、当該通信情報をデカプセル化してクライアントＯＳに出力する第２の出力手順と、
クライアントＯＳから取得した通信情報の送信先がＶＰＮ内でないときは、当該通信情報をカプセル化せずにインターネット回線に出力する第３の出力手順と、
インターネット回線から取得した情報の送信元がＶＰＮ内でないときは、当該通信情報をデカプセル化せずにクライアントＯＳに出力する第４の出力手順と
を実行させることを特徴とする請求項４に記載の仮想マシンモニタの動作を制御するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンモニタを用いたＶＰＮ切替技術に関する。
【背景技術】
【０００２】
近年、利用者がサーバ環境を意識することなく、さまざまなサービスを利用することができるクラウドコンピューティングが普及している。クラウドコンピューティングとは、ネットワークをベースとしたコンピュータの利用形態である。クラウドコンピューティングでは、クライアントとサーバとがネットワークで接続される。ネットワークの接続方法として、インターネット回線を用いたセキュアな接続方法であるＶＰＮ（Virtual Private Network）が注目されている。
【０００３】
ところで、利用者がサーバからサービスを継続的に受けるためにはネットワーク接続を維持することが必要である。そのため多くのシステムでは障害対策として回線の多重化を図っている。特許文献１に記載の技術では、障害発生時には、クライアントや通信機器にルーティングテーブルを設けデフォルトゲートウェイをインターネットゲートウェイにしアクセス先に応じて回線を切替える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２８３５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、回線を多重化してもＶＰＮの障害発生時に回線切替が行われた段階でクライアントのＩＰアドレスが変更されると、接続先のセッションが切れる現象が発生する。また、ＶＰＮとの接続中にインターネットにアクセスすると、ＶＰＮ接続先のサーバを経由して所望のインターネットＷｅｂサイトにアクセスするため、当該サイトの間での通信速度が低下する。
【０００６】
本発明は、このような従来の状況に鑑みて提案されたものであり、ＶＰＮの障害発生時の回線切替処理においてもセッションを維持することができ、またＶＰＮとの接続中にインターネット上のサイトにアクセスした場合でも、通信速度の低下を回避することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明は、複数のデータセンタが相互に接続されているサーバ環境において、クライアントに搭載されて、インターネット回線及びインターネット回線を用いたＶＰＮ回線と接続して通信情報を授受する仮想マシンモニタであって、クライアント起動時に前記ＶＰＮ回線と接続してＶＰＮ拠点と通信するためのＶＰＮ接続情報を取得する接続情報取得部と、前記ＶＰＮ接続情報に基づいてＶＰＮ拠点との間で通信を行なって相互の通信アドレスを授受する通信アドレス授受部と、前記ＶＰＮ回線の障害発生を検知する障害検知部と、前記ＶＰＮ回線に障害発生が検知されたときは、前記ＶＰＮ接続情報に基づいて新たなＶＰＮ回線に切り替える回線切替部と、前記新たなＶＰＮ回線を介して、前記ＶＰＮ拠点に回線切り替え前後のクライアントの通信アドレスを通知して、前記ＶＰＮ拠点とクライアントとの通信セッションを維持させる切替通知部とを備えた仮想マシンモニタである。
【発明の効果】
【０００８】
この発明によれば、ＶＰＮの障害発生時の回線切替処理においてもセッションを維持することができ、またＶＰＮとの接続中にインターネット上のサイトにアクセスした場合でも、通信速度の低下を回避することができるＶＰＮ切替技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態の通信システムの構成を示す図。
【図２】本実施の形態のクライアントの構成と主な機能とを示す図。
【図３】本実施の形態のパケット中継サーバの構成と主な機能とを示す図。
【図４】本実施の形態のクライアントの通信処理手順を示すフロー図。
【図５】本実施の形態のＶＰＮ接続情報を示す図。
【図６】本実施の形態の障害検知情報を示す図。
【図７】本実施の形態のＶＭＭのサブネット対応処理手順を示すフローチャート。
【図８】本実施の形態のＩＰアドレス管理情報を示す図。
【図９】本実施の形態のパケット中継サーバのパケット処理手順を示すフローチャート。
【図１０】本実施の形態の再送タイムアウト処理手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
[第１の実施の形態]  
図１は、本実施の形態の通信システムの構成を示す図である。本実施の形態の通信システムは、クライアント１、データセンタ２ａ、２ｂ、接続情報管理サーバ３、インターネットサイト４ａ、・・・４ｎ、インターネット５を備えている。
【００１１】
クライアント１は、ＶＰＮ拠点あるいはインターネット上のサイトと情報通信によりサービスを求めるユーザの所有する情報処理端末である。データセンタ２ａ、２ｂはクラウトコンピューティングによりクライアント１に対してサービスを提供する。データセンタ間には専用の通信線が設けられ、インターネット網５を介さずに相互に情報通信が可能である。データセンタ２ａ、２ｂはＶＰＮに接続する特定のクライアント１のみに対して情報を提供する。接続情報管理サーバ３は、ＶＰＮに接続するために必要な各種管理情報を保存する。インターネットサイト４ａ、・・・４ｎは不特定の公衆に対して情報を提供する。
【００１２】
そして、データセンタ２ａには、サーバ１０ａ、１１ａ、パケット中継サーバ１２ａ、ＶＰＮゲートウエイ１３ａが設けられ、データセンタ２ｂには、サーバ１０ｂ、１１ｂ、パケット中継サーバ１２ｂ、ＶＰＮゲートウエイ１３ｂが設けられている。
【００１３】
データセンタ２ａについて説明する。ＶＰＮゲートウエイ１３ａはクライアントと接続するための個別のＩＰアドレスを備え、ＶＰＮ通信を行なうための暗号化等を実行する。なお、ＶＰＮゲートウエイ１３ａは専用線を介して他のデータセンタ２ｂのサーバ１０ｂ、１１ｂとも接続することが可能である。パケット中継サーバ１２ａは、サーバ１０ａ、１１ａとクライアント１の間に設けられて両者間での通信のカプセル化、デカプセル化を実行する。サーバ１０ａ、１１ａは、クライアント１に対してサービスを提供する。データセンタ２ｂの構成については、上述のデータセンタ２ａと同様であるため説明は省略する。
【００１４】
なお、本実施の形態では、データセンタは２つ設けられているが、これに限定されず複数のデータセンタが設けられていても良い。
【００１５】
図１では、ＶＰＮ拠点であるデータセンタ２ａのＶＰＮゲートウエイ１３ａがクライアント１とＶＰＮ回線によって接続している。通信に障害が発生してこのＶＰＮ回線が使用できないことが検知されたときは、後述する処理によってデータセンタ２ｂのＶＰＮゲートウエイ１３ｂがクライアント１とＶＰＮ回線によって接続する。ＶＰＮ拠点を変更するこの動作をＶＰＮ切り替えと呼ぶ。上述のようにデータセンタ間には専用線等の高品質な回線が設けられているため、ＶＰＮ切り替えが発生した場合でも、サービスは中断することなく継続することができる。
【００１６】
図２は、本実施の形態のクライアント１の構成と主な機能とを示す図である。クライアント１は、アプリケーション部２０、ゲストＯＳ２１、仮想マシンモニタ（ＶＭＭ：Virtual Machine Monitor）２２、ＮＩＣ（Network Interface Card）２６を備えている。アプリケーション部２０は、クライアント１で動作するアプリケーションプログラムを格納する。ゲストＯＳ２１は、クライアント１の動作を統括して制御する。ＮＩＣ２６は、インターネット５と接続して情報の授受を行なうための入出力インターフェース回路である。ＶＭＭ２２は、ゲストＯＳ２１とデータセンタ２ａのサーバ１０ａ、１１ａとの間に設けられて、パケットの中継を行なうと共に障害検知、ＶＰＮ切り替え処理を実行する。
【００１７】
そして、ＶＭＭ２２はパケット中継クライアント２３、ＶＰＮモジュール２４、一時記憶部２５を備えている。パケット中継クライアント２３は、パケットをカプセル化あるいはデカプセル化する。ＶＰＮモジュール２４は、パケット中継クライアント２３とＮＩＣ２６との間でパケットを授受するとともに、ＶＰＮ回線の障害発生の検知、ＶＰＮ切り替え処理を実行する。一時記憶部２５は、障害検知情報及びＶＰＮ接続情報を記憶する。障害検知情報及びＶＰＮ接続情報の詳細については後述する。
【００１８】
なお、接続情報管理サーバ３の記憶部にはＶＰＮ接続情報が記憶され、クライアント１起動時にクライアント１に対してＶＰＮ接続情報を提供する。
【００１９】
図３は、本実施の形態のパケット中継サーバ１２ａの構成と主な機能とを示す図である。パケット中継サーバ１２ａは、サーバ１０ａ、１１ａとＶＰＮゲートウエイ１３ａを介してクライアント１のＶＭＭ２２との間に設けられ、パケットの中継を行なうと共にＶＰＮ切り替え処理を実行する。パケット中継サーバ１２ａは、中継モジュール２７、一時記憶部２８、ｉｐｔａｂｌｅ２９、ＮＩＣ３０を備えている。中継モジュール２７は、パケットをカプセル化あるいはデカプセル化する。一時記憶部２８は、ＩＰアドレス管理情報を記憶する。ＩＰアドレス管理情報については後述する。ｉｐｔａｂｌｅ２９はＩＰアドレスの対応付けを行なう。ＮＩＣ３０は、インターネット５あるいはサーバ１０ａ、１１ａと接続して情報の授受を行なうための入出力インターフェース回路である。
【００２０】
続いて、本実施の形態の通信システムの動作について説明する。  
図４は、本実施の形態のクライアント１の通信処理手順を示すフロー図である。
【００２１】
［クライアント起動時の処理］  
クライアント１が起動したとき、ステップＳ０１において、ＶＭＭ２２は、接続情報管理サーバ３にＶＰＮ接続する。そして、接続情報管理サーバ３からクライアント１についてのＶＰＮ接続情報を取得する。なお、クライアント１のＶＭＭ２２には接続情報管理サーバ３のＩＰアドレスを設定しておく必要がある。
【００２２】
図５は、本実施の形態のＶＰＮ接続情報を示す図である。  
ＶＰＮ接続情報には、グローバルＩＰアドレス、ローカルＩＰアドレス、サブネットマスク、暗号化方式、ハッシュ方式、ユーザ識別子、パスワード、接続先優先順位を含んでいる。なお、このＶＰＮ接続情報はデータセンタ２ａ、２ｂ毎に設けられている。
【００２３】
グローバルＩＰアドレスは、ＶＰＮ通信において窓口となるＶＰＮゲートウエイのアドレスである。ローカルＩＰアドレスは、クライアント１に割り当てられるＩＰアドレスである。ＶＰＮ接続によってクライアント１はＶＰＮに所属する一端末として扱われるため、当該ネットワーク環境に対応したＩＰアドレスが付与される。ユーザ識別子、パスワードは、クライアント１がＶＰＮ通信を行なう際に使用する識別子、パスワードである。接続先優先順位は、このＶＰＮ接続情報の優先順位である。
【００２４】
ステップＳ０２において、ＶＭＭ２２は、取得したＶＰＮ接続情報に基づいてＶＰＮ接続を行なう。即ち、ＶＭＭ２２は、接続先優先順位の一番高いデータセンタのＶＰＮゲートウエイとＶＰＮ接続を行なう。このＶＰＮ接続情報は、一時記憶部２５に保存される。
【００２５】
ステップＳ０３において、ＶＭＭ２２は、ＶＰＮ接続を行なうに際し、一時記憶部２５の障害検知情報に初期値を設定する。
【００２６】
図６は、本実施の形態の障害検知情報を示す図である。  
障害検知情報は、ＶＭＭ２２が、ＶＰＮ接続を行なう際にＶＰＮ回線に障害が発生しているか否かを判断するために用いられる情報である。  
障害検知情報には、再送タイムアウト値、再送タイムアウト初期値、再送タイムアウト上限値、再送タイムアウト下限値、障害判定確認回数、ＩＣＭＰ送信時刻、現在時刻、往復遅延時間、ＶＰＮ状態が含まれている。
【００２７】
再送タイムアウト値は、一定時間データセンタから応答がない場合に障害が発生している可能性があると判断する時間である。障害判定確認回数は、障害発生と判断するためのタイムアウトの回数である。ＩＣＭＰ送信時刻は、ＶＭＭ２２がＩＣＭＰ（Internet Control Message Protocol）を送信した時刻である。ＩＣＭＰは、通信エラー通知や通信状態の診断を行なうためのネットワーク層のプロトコルである。ＶＰＮ状態は、現在ＶＰＮ回線が利用可能であるかロック状態（利用不可）であるかを示す。
【００２８】
ステップＳ０４において、ＩＣＭＰのペイロードに現在の時刻をセットして現在接続されているパケット中継サーバに対してＰＩＮＧを送信する。そして、送信した現在の時刻を障害検知情報のＩＣＭＰ送信時刻に格納する。ステップＳ０５において、障害検知情報のＶＰＮ状態を利用可能に設定する。ステップＳ０６において、障害検知情報の再送タイムアウト値に再送タイムアウト初期値を設定する。そして、再送タイムアウト値のタイマを起動する。
【００２９】
ステップＳ０７において、パケットを受信するまで待機する。このステップＳ０７においては、次の３つのケースが発生したことを検知すると、待機状態を脱して、ステップＳ０８の処理を実行する。第１のケースは、外部（インターネット５）からパケットを受信した場合である。第２のケースは、ゲストＯＳ２１からパケットを受信した場合である。第３のケースは、再送タイムアウト値まで時間が経過した場合である。
【００３０】
ステップＳ０８において、外部からパケットを受信した場合（Ｓ０８  Ｙｅｓ）は、ステップＳ０９において、パケットの送信元がＶＰＮの各サブネット内かどうか、即ち、パケットの送信元が各サブネット内かインターネット上のサイトかを判断する。
【００３１】
クライアント１が起動したときは、上述のようにステップＳ０４で送信したＩＣＭＰの応答を待機する状態である。したがって、受信したパケットの送信元は各サブネット内となる。  
パケットの送信元が各サブネット内のとき（Ｓ０９  Ｙｅｓ）は、ステップＳ１１においてサブネット対応処理を実行する。
【００３２】
図７は、本実施の形態のＶＭＭ２２のサブネット対応処理手順を示すフローチャートである。
【００３３】
図７のステップＴ０１において、ＶＭＭ２２は内部のデータであるＩＣＭＰリクエストカウンタに０を設定する。ＩＣＭＰリクエストカウンタは再送回数をカウントするためのデータである。ステップＴ０２において、再送タイムアウト値のタイマを起動する。
【００３４】
ステップＴ０３において、受信したＩＰヘッダのプロトコルがＩＣＭＰかどうかを調べる。受信したＩＰヘッダのプロトコルがＩＣＭＰの場合（Ｔ０３  Ｙｅｓ）、ステップＴ０４の処理を実行する。受信したＩＰヘッダのプロトコルがＩＣＭＰでない場合については後述する。
【００３５】
ステップＴ０４において、ＩＣＭＰのペイロードを取得し、ステップＴ０５において、ＩＣＭＰのペイロードから送信時刻を取得する。取得した送信時刻は、ステップＳ０４においてＶＭＭ２２がＩＣＭＰ送信時にセットした時刻である。ステップＴ０６において、現在時刻を取得する。ステップＴ０７において、現在時刻とペイロードから取得した送信時刻との差から、通信の往復遅延時間を算出する。この往復遅延時間は、ＶＰＮ送信における実績待ち時間を表している。
【００３６】
ステップＴ０８において、算出した往復遅延時間に基づいて、ＶＰＮ通信における障害発生検知のための再送タイムアウト値を算出する。この際、再送タイムアウト値が上限値と下限値との範囲内にあるように再送タイムアウト値を算出する。ステップＴ０９において、算出した再送タイムアウト値で障害検知情報の再送タイムアウト値を更新する。ステップＴ１０において、パケットを破棄してリターンする。そして、図４のステップＳ０７に戻り、新たな応答を待機する。
【００３７】
以上の動作によって、ＶＰＮ回線は使用可能な状態となる。
【００３８】
［サービス要求処理：ゲストＯＳよりパケット受信］  
ユーザは、ＶＰＮのデータセンタあるいはインターネット上のサイトに対するサービス要求を行う。アプリケーションプログラムはユーザの要求に基づいて送信情報を生成する。サービス要求先がＶＰＮのデータセンタである場合は、上述の送信情報には、ＩＰアドレス管理情報が含まれている。
【００３９】
図８は、本実施の形態のＩＰアドレス管理情報を示す図である。  
ＩＰアドレス管理情報には、ＶＰＮ接続時クライアントＩＰアドレス、クライアントＩＰアドレス、送信先ＩＰアドレス、プロトコル、パケット有効期間、ペイロード、ペイロードサイズが含まれている。
【００４０】
ＶＰＮ接続時クライアントＩＰアドレスとクライアントＩＰアドレスは、クライアント１に割り当てられるＩＰアドレスである。ただし、後述のＶＰＮ回線切り替え前後では変更される可能性がある。送信先ＩＰアドレスは、サービス提供サーバのＩＰアドレスである。
【００４１】
ペイロードは、送信するデータそのものである。ペイロードサイズは、データの大きさを表す。
【００４２】
ゲストＯＳ２１は、送信情報をＶＭＭ２２に出力して送信処理を実行させる。  
図４のステップＳ１５において、ゲストＯＳ２１からパケットを受信した場合（Ｓ１５  Ｙｅｓ）は、ステップＳ１６において、ＶＭＭ２２は、パケットの送信先が各サブネット内かどうか、即ち、パケットの送信先が各サブネット内かインターネット上のサイト４ａ〜４ｎかを判断する。
【００４３】
パケットの送信先がインターネット上のサイト４ａ〜４ｎである場合（Ｓ１６  Ｎｏ）は、ゲストＯＳから受信したパケットをそのままＮＩＣ２６に出力する。そして、ステップＳ０７に戻って、外部からの応答を待機する。これによって、ＶＰＮと接続している状態であっても、インターネット上のサイト４ａ〜４ｎとは直接情報授受を行なうことができる。
【００４４】
パケットの送信先が各サブネット内である場合（Ｓ１６  Ｙｅｓ）は、ステップＳ１８において、障害検知情報のＶＰＮ状態が、利用可能、ロックのいずれかを調べる。ＶＰＮ状態が利用可能の場合（Ｓ１８  Ｎｏ）は、ステップＳ２０において、取得した送信情報をカプセル化してＶＰＮに送信する。そして、ステップＳ０７に戻って、外部からの応答を待機する。ＶＰＮ状態がロックの場合（Ｓ１８  Ｙｅｓ）は、ＶＰＮ回線が回線切替中によって使用できないため、ステップＳ１９において、パケットを破棄し、ステップＳ０７に戻って、外部からの応答を待機する。
【００４５】
続いて、クライアント１から送信情報を受信したパケット中継サーバ１２ａの動作について説明する。  
図９は、本実施の形態のパケット中継サーバ１２ａのパケット処理手順を示すフローチャートである。
【００４６】
図９のステップＰ０１において、パケット中継サーバ１２ａは、パケットを受信するまで待機する。クライアント１からパケットを受信し（Ｐ０２  Ｙｅｓ）、パケットが送信情報であった場合（Ｐ０４  Ｎｏ）は、ステップＰ２０において、ＩＰヘッダを取得する、ステップＰ２１において、ＩＰヘッダから送信元ＩＰアドレスを取得する。ステップＰ２２において、ＩＰヘッダからゲストＩＰアドレスを取得する。ステップＰ２３において、ＩＰヘッダからプロトコルを取得する。ステップＰ２４において、ＩＰヘッダからパケット有効期間を取得する。
【００４７】
ステップＰ２５において、内側のペイロードサイズを取得する。ステップＰ２６において、内側のペイロードサイズだけ、データを取得することでデカプセル化する。ステップＰ２７において、通信誤り検出のためのチェックサムを設定して、取得した情報をサーバ１０ａ、１１ａに送信する。取得した情報は、ステップＰ２１〜Ｐ２６で述べたように、ゲストＩＰアドレス、送信元ＩＰアドレス、プロトコル、パケット有効期間、ペイロード、ペイロードサイズを含む。  
ステップＰ１３において、パケットを破棄して、ステップＰ０１に戻って、新たなパケットを受信するまで待機する。
【００４８】
サーバ１０ａ、１１ａでは、パケット中継サーバ１２ａを介して受信した、クライアント１からのサービス要求に対して処理を実行し、処理結果を送信情報に設定する。そして送信情報をパケット中継サーバ１２ａに出力してクライアント１に送信させる。
【００４９】
図９のステップＰ０２において、パケット中継サーバ１２ａはサーバ１０ａ、１１ａから送信情報を取得する（ステップＰ０２  Ｎｏ）と、ステップＰ０３において、取得した情報をクライアント１に送信する。このとき、送信情報のプロトコルを、「パケット中継」と設定する。そして、ステップＰ１３において、パケットを破棄して、ステップＰ０１に戻って、新たなパケットを受信するまで待機する。
【００５０】
［サービス要求応答処理：外部よりパケット受信］  
図４のステップＳ０８において、送信したサービス要求に対して、外部からパケットを受信した場合（Ｓ０８  Ｙｅｓ）は、ステップＳ０９において、パケットの送信元が各サブネット内かどうか、即ち、パケットの送信元が各サブネット内かインターネット上のサイト４ａ〜４ｎかを判断する。
【００５１】
パケットの送信元がインターネット上のサイト４ａ〜４ｎのとき（Ｓ０９  Ｎｏ）は、ステップＳ１０において、受信したパケットをそのままゲストＯＳ２１に出力する。これによって、ＶＰＮと接続している状態であっても、インターネット上のサイト４ａ〜４ｎとは直接情報授受を行なうことができる。
【００５２】
パケットの送信元が各サブネット内のとき（Ｓ０９  Ｙｅｓ）は、ステップＳ１１においてサブネット対応処理（図７）を実行する。
【００５３】
図７のステップＴ２１において、ＩＰヘッダのプロトコルが「パケット中継」の場合（Ｔ２１  Ｙｅｓ）は、ステップＴ２２において、ＩＰヘッダを取得する、ステップＴ２３において、ＩＰヘッダから送信元ＩＰアドレスを取得する。ステップＴ２４において、ＩＰヘッダからゲストＩＰアドレスを取得する。ステップＴ２５において、ＩＰヘッダからプロトコルを取得する。ステップＴ２６において、ＩＰヘッダからパケット有効期間を取得する。
【００５４】
ステップＴ２７において、内側のペイロードサイズを取得する。ステップＴ２８において、内側のペイロードサイズだけ、データを取得することでデカプセル化する。ステップＴ２９において、通信誤り検出のためのチェックサムを設定して、取得した情報をＩＰパケットにてゲストＯＳ２１に送信する。取得した情報は、ステップＴ２３〜Ｔ２８で述べたようにゲストＩＰアドレス、送信元ＩＰアドレス、プロトコル、パケット有効期間、ペイロード、ペイロードサイズを含む。  
そして、ステップＴ１０において、パケットを破棄してリターンする。そして、図４のステップＳ０７に戻り、新たな応答を待機する。
【００５５】
なお、ステップＴ２１において、ＩＰヘッダのプロトコルが「パケット中継」でない場合（Ｔ２１  Ｎｏ）は、ステップＳ０７に戻って、新たなパケットを受信するまで待機する。
【００５６】
［障害検知、ＶＰＮ切替え処理］  
ＶＰＮ通信において障害が発生しているか否かは、クライアント１がＩＣＭＰを送信しても再送タイムアウト値が経過するまでにパケット中継サーバ１２ａから応答がなされていないことに基づいて判断する。
【００５７】
図４のステップＳ１５において、再送タイムアウト値まで時間経過した場合（Ｓ１５  Ｎｏ）は、ステップＳ２５において再送タイムアウト処理を実行する。
【００５８】
図１０は、本実施の形態の再送タイムアウト処理手順を示すフローチャートである。
【００５９】
ステップＴ４１において、ＩＣＭＰリクエストカウンタに１を加算する。ステップＴ４２において、ＩＣＭＰリクエストカウンタの値が障害検知情報の障害判定確認回数と一致するかどうかを調べる。
【００６０】
ＩＣＭＰリクエストカウンタの値が障害検知情報の障害判定確認回数と一致する場合（Ｔ４２  Ｙｅｓ）は、再送タイムアウトが所定回数継続している状態であるためＶＰＮ回線に障害が発生していると判断する。
【００６１】
ステップＳ４３において、障害検知情報のＶＰＮ状態を「ロック」に設定してＶＰＮ回線切り替え処理を実行する。ステップＴ４４において、現在接続しているＶＰＮとの回線接続を切断するためＩＰスタックを解放する。ステップＴ４５において、ＶＰＮ接続情報の接続先優先順位を調べる。そして、現在の接続先を除き、接続優先順位の一番高いＶＰＮゲートウエイ１３ｂに接続する。
【００６２】
ＶＰＮゲートウエイ１３ｂとの接続の切替えを完了したときは、ステップＴ４６において、ＶＰＮゲートウエイ１３ｂ経由で専用線を介してＶＰＮ切替え完了通知をパケット中継サーバ１２ａに知らせる。ステップＴ４７において、ＩＰアドレス管理情報をパケット中継サーバ１２ａに送信する。  
ＩＰアドレス管理情報には、ＶＰＮ接続時クライアントＩＰアドレス、クライアントＩＰアドレス、送信先ＩＰアドレス、プロトコル、パケット有効期間、ペイロード、ペイロードサイズが含まれている。このとき、ＶＰＮ接続時クライアントＩＰアドレスとクライアントＩＰアドレスとは、切り替えによって異なる場合がある。また、送信先ＩＰアドレスは、ＶＰＮゲートウエイ１３ａのアドレスとなる。
【００６３】
ステップＴ４８において、障害検知情報のＶＰＮ状態を利用可能に設定する。ステップＴ４９において、ＩＣＭＰリクエストカウンタを０に設定する。そして、図４のステップＳ０７に戻って、新たなパケットを受信するまで待機する。
【００６４】
ＩＣＭＰリクエストカウンタの値が障害検知情報の障害判定確認回数と一致しない場合（Ｔ４２  Ｎｏ）は、ＶＰＮ回線に障害が発生していると判断はされないまでも、通信の設定値（再送タイムリミット値）が適切でない、あるいは再送タイムアウトが発生しているためＶＰＮ回線に障害が発生している可能性がある。ステップＴ５１において、ＩＣＭＰのペイロードに現在の時刻をセットして現在接続されているパケット中継サーバに対してＰＩＮＧを送信する。ステップＳ０５において、障害検知情報のＶＰＮ状態を「利用可能」に設定する。ステップＴ５２において、障害検知情報の再送タイムアウト値に再送タイムアウト初期値を設定する。次に、再送タイムアウト値のタイマを起動する。そして、図４のステップＳ０７に戻って、新たなパケットを受信するまで待機する。
【００６５】
パケット中継サーバ１２ａは、ＶＰＮゲートウエイ１３ｂより専用線を介してＶＰＮ切り替え完了通知とＩＰアドレス管理情報を受信する。
【００６６】
図９のステップＰ０４において、パケットがＶＰＮ切り替え完了通知の場合（Ｐ０４  Ｙｅｓ）は、ステップＰ１０において、カプセル化ヘッダからＶＰＮ接続時のクライアントＩＰアドレスを取得する。ステップＰ１１において、デカプセル化して、ＩＰアドレス管理情報を取得する。ステップＰ１２において、一時記憶部２８のＩＰアドレス管理情報をステップＰ１１で取得したＩＰアドレス管理情報で更新する。
【００６７】
そして、ステップＰ１３において、パケットを破棄して、ステップＰ０１に戻って、新たなパケットを受信するまで待機する。さらに、取得した情報をカプセル化してゲストに送信する。
【００６８】
従って、パケット中継サーバ１２ａは、ＶＰＮ回線の切り替え前後におけるクライアントＩＰアドレスを取得しているため、クライアントのＩＰアドレスを変更しないようにすることができる。
【００６９】
以上説明したように、本実施の形態では、複数の拠点が相互に接続された広域データセンタとの通信手段にインターネットＶＰＮを使用する。そして、クライアントに仮想マシンモニタ（ＶＭＭ）をインストールする。
【００７０】
ＶＭＭにはＶＰＮ切替を処理するモジュールを導入するとともに、クライアント、サーバ間にパケット中継装置サーバを設置する。そして、ＶＰＮの障害発生時に回線の切り替えを可能にし、切替時にクライアントのＩＰアドレスが変更されないように、パケット中継装置サーバで、切替前と後のＩＰアドレスを対応付ける。これによってＶＰＮの障害発生時の回線切替処理においてもセッションを維持することができる。
【００７１】
さらに、クライアントのＶＭＭが接続情報管理サーバから、ＶＰＮ接続情報を取得し、複数のＶＰＮ接続拠点情報を持つことによって、アクセス先がＶＰＮ拠点であるかインターネット上のサイト４ａ〜４ｎであるかを判断しパケットを振り分けることができる。したがって、ＶＰＮとの接続中にインターネット上のサイト４ａ〜４ｎにアクセスした場合でも、ＶＰＮ接続先のサーバを経由して所望のインターネット上のサイト４ａ〜４ｎにアクセスすることなく、直接インターネット上のサイト４ａ〜４ｎにアクセスするため、通信速度の低下を回避することができる。
【００７２】
なお、上述の各実施の形態で説明した機能は、ハードウェアを用いて構成するに留まらず、ソフトウェアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウェア、ハードウェアのいずれかを選択して構成するものであっても良い。
【００７３】
尚、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。  
上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００７４】
１…クライアント、２ａ、２ｂ…データセンタ、４ａ〜４ｎ…インターネットサイト、５…インターネット網、１０ａ、１１ａ…サーバ、１０ｂ、１１ｂ…サーバ、１２ａ、１２ｂ…パケット中継サーバ、１３ａ、１３ｂ…ＶＰＮゲートウエイ、２０…アプリケーション部、２１…ゲストＯＳ、２２…仮想マシンモニタ（ＶＭＭ）、２３…パケット中継クライアント、２４…ＶＰＮモジュール、２５…一時記憶部、２６…ＮＩＣ、２７…中継モジュール、２８…一時記憶部、３０…ＮＩＣ。
【図１】
2012205145.tif 000003
【図２】
2012205145.tif 000004
【図３】
2012205145.tif 000005
【図４】
2012205145.tif 000006
【図５】
2012205145.tif 000007
【図６】
2012205145.tif 000008
【図７】
2012205145.tif 000009
【図８】
2012205145.tif 000010
【図９】
2012205145.tif 000011
【図１０】
2012205145.tif 000012