(57)【特許請求の範囲】
【請求項１】
端末の接続先の切り換え制御を行うコネクション制御手段と、
相互に異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
第１及び第２のサーバ情報及び第２のネットワーク情報を記憶する記憶部を備え、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
を有するネットワークシステムであって、
前記サーバ・ネットワーク連携制御手段が前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、前記記憶部に記憶されている移動先となる第２のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る第１の処理を実行する情報処理手段を備え、
前記稼働サーバ切換制御手段が、前記移動開始要求を受けて、対象プロセスを前記第１のサーバから前記第２のサーバへ移動する第２の処理を実行する情報処理手段を備え、
前記サーバ・ネットワーク連携制御手段が、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第２のネットワーク情報を含む、前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段へ送る第３の処理を実行する情報処理手段を備え、
前記コネクション制御手段が、ターゲットネットワークを前記第１のネットワークから前記第２のネットワークに切り換える第４の処理を実行する情報処理手段を備えることを特徴とするネットワークシステム。
【請求項２】
請求項１記載のネットワークシステムにおいて、前記稼働サーバ切換制御手段は前記第１及び第２のサーバのうち少なくとも一方に含まれているネットワークシステム。
【請求項３】
端末の接続先の切り換え制御を行うコネクション制御手段と、
相互に異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
を有するネットワーク間のプロセス移動方法であって、
前記サーバ・ネットワーク連携制御手段が前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、移動先となる第２のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る第１のステップと、
前記稼働サーバ切換制御手段は前記移動開始要求を受けて、対象プロセスを前記第１のサーバから前記第２のサーバへ移動する第２のステップと、
前記サーバ・ネットワーク連携制御手段は前記稼働サーバ切換制御手段からプロセス移動終了通知を受けて、前記第２のネットワーク情報を含む、前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段に送る第３のステップと、
前記コネクション制御手段がターゲットネットワークを前記第１のネットワークから前記第２のネットワークに切り換える第４のステップとを有するネットワーク間のプロセス移動方法。
【請求項４】
請求項３に記載のネットワーク間のプロセス移動方法において、前記第２のステップで、前記対象プロセスを前記第２のサーバへ移動する前に前記対象プロセスを休止状態とし、
前記第４のステップ後に、サーバ間移動をした前記対象プロセスに対して休止状態解除を行う第５のステップを有することを特徴とするネットワーク間のプロセス移動方法。
【請求項５】
請求項３に記載のネットワーク間のプロセス移動方法において、前記第２のステップで、前記第２のサーバに対して、移動可能な接続先識別子の付け替えを行うことを特徴とするネットワーク間のプロセス移動方法。
【請求項６】
端末の接続先の切り換え制御を行うコネクション制御手段と、
相互に異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御装置であって、
第１及び第２のサーバ情報及び第２のネットワーク情報を記憶する記憶部と、
前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、前記記憶部に記録されている移動先となる第２のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、前記稼働サーバ切換制御手段が前記移動開始要求を受けて、対象プロセスを前記第１のサーバから前記第２のサーバへ移動した後に、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第２のネットワーク情報を含む、前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段へ送る処理とを実行する情報処理手段、
を備え、
前記２つの処理をした後に、前記コネクション制御手段がターゲットネットワークを前記第１のネットワークから前記第２のネットワークに切り換えることを特徴とするサーバ・ネットワーク連携制御装置。
【請求項７】
端末の接続先の切り換え制御を行うコネクション制御手段と、
相互に異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御用コンピュータに、
（１）前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、前記コンピュータの記憶部に記録されている移動先となる第２のサーバ情報、を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、
（２）前記稼働サーバ切換制御手段が前記移動開始要求を受けて、対象プロセスを前記第１のサーバから前記第２のサーバへ移動した後に、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第２のネットワーク情報を含む前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段へ送る処理と、
を実行させるためのプログラムであって、
前記サーバ・ネットワーク連携制御用コンピュータが前記２つの処理を実行した後に、前記コネクション制御手段がターゲットネットワークを前記第１のネットワークから前記第２のネットワークに切り換える処理を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データセンタ、あるいはサーバの障害が発生した際に、ユーザとプロセスとの接続を維持したままプロセスを広域に移動させ、業務停止時間を最小化するためのネットワーク間のプロセス移動方法、そのネットワークシステムおよびプログラムに関する。【０００２】
特に、稼動サーバを、メインサーバからバックアップサーバへと切り換える技術を用いて稼動サーバの切り換えを行った際に、それと連動して、メインサーバにアクセスしていたユーザの接続先ターゲット網をバックアップサーバに切り換え、ユーザとサーバあるいはユーザとプロセスとの通信を継続したまま稼働サーバの切り換えを行うネットワーク間のプロセス移動方法、そのネットワークシステムおよびプログラムに関する。
【背景技術】
【０００３】
停電や火災など、データセンタ全体に累が及ぶような災害が発生した際、遠隔地からサーバに接続して業務を行っているユーザに対し、その業務を引き続き継続させるために、ディザスタリカバリ技術が使われる。従来のディザスタリカバリ技術（災害による障害を回避するための技術）には、サービスを提供している稼働サーバを２重化やプロセスマイグレーションなどの技術を用いて遠隔地のサーバへ切り換える方法がある。【０００４】
プロセスマイグレーションとは、特許文献１に示すように、あるコンピュータで動作中のプログラムを、実行状態を保持したまま、別のコンピュータ上に移動させ、元のコンピュータで実行されていたのと同じ状態で実行を継続させる技術である。【０００５】
また、メインサーバにアクセスしていたユーザの接続先ターゲット網をバックアップサーバに切り換え、ユーザとサーバあるいはユーザとプロセスとのコネクションを維持したまま稼動サーバの切り換えを行うための技術として、特許文献２に示すように、ユーザサイトのゲートウェイが、ユーザの接続先ＶＬＡＮを切り換えるＶＬＡＮ切り換え技術などが知られている。【０００６】
特許文献３、５、６には、２重化構成において、現用系と待機系を切り換える際にＩＰアドレスを移動させる技術が開示されている。また、特許文献４には、クライアントにおいて接続先ＩＰアドレスを仮想ＩＰアドレスから実ＩＰアドレスへ変換して通信する構成とし、障害発生時に、変換する実ＩＰアドレスを現用系（メイン）の実ＩＰアドレスから待機系（バックアップ）の実ＩＰアドレスへ切り換える技術が開示されている。
【特許文献１】特開平０８−３２９０２５号
【特許文献２】特願２００３−３７５３５２号
【特許文献３】特開平０８−３３５１９８号
【特許文献４】特開平０９−０３４８１４号
【特許文献５】特開平０９−０９１２３３号
【特許文献６】特開平１０−３２０３２３号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ディザスタリカバリ技術により、ユーザにサービスを提供する稼働サーバが遠隔地のサーバに切り換わったとき、切換元サーバに接続して業務を行っていたユーザは、サービスを引き続き継続するためには、切換元との接続を切断し、接続先を切換先のサーバに変更し、再接続を行うなどの復旧処理を必要としていた。そして、この処理の間、ユーザのサービス利用は停止していた。【０００８】
稼働サーバが切り換わった際にも、ユーザの接続先識別子を変更することなく通信を継続させるためには、プロセスマイグレーションと同時に仮想ＩＰアドレスなどの仮想接続先識別子をマイグレーション先サーバに移し変える方法があるが、後述するように、通常、ＩＰアドレスなどの接続先識別子を広域ネットワークを介して遠隔サーバ間で共有することは困難である。【０００９】
以下、接続先識別子を広域ネットワークを介して遠隔サーバ間で共有することが困難であることの具体例を図１３を参照して説明する。【００１０】
図１３では、ユーザサイト１３０９にユーザマシン１３０８がメインサイト１３０３にサーバ１３０１、バックアップサイト１３０４にサーバ１３０２がある。メインサイト１３０３およびバックアップサイト１３０４には、広域イーサ網（広域イーサネット（登録商標）ワーク）１３１０との境界にルータ１３０５，１３０６がそれぞれ配置されており、したがってサーバ１３０１とサーバ１３０２は異なるＬＡＮに属する。ユーザはユーザサイト１３０９のルータ１３０７、広域イーサ網１３１０及びルータ１３０５、１３０６を経由して各サーバ１３０１，１３０２との通信が可能となっている。【００１１】
通常時には、サーバ１３０１が稼働サーバとなり、ユーザはサーバ１３０１の仮想ＩＰアドレス１９２．１６８．２．１に接続してサービスを利用している。ディザスタ発生時には、稼働サーバをサーバ１３０１からサーバ１３０２に切り換え、同時に仮想アドレス１９２．１６８．２．１をサーバ１３０１からサーバ１３０２に移しかえるが、各サイトのルータはその保持するルーティングテーブルの内容がすぐには切り換わらないため、ネットワークにＩＰアドレスの移動がすぐには反映されないという問題がある（時間はルーティングテーブルが更新されるタイミングに依存する。）。【００１２】
また、接続先識別子を同一広域ネットワークを介して遠隔サーバ間で共有することを避けるために、切換先サーバを異なるネットワーク（あるいはＶＬＡＮなどの異なる仮想ネットワーク）に配置する方法があるが、この場合は、ユーザがサービスを利用し続けるには、稼働サーバが切り換わった後、ユーザは接続先ネットワーク切換、再接続などの処理を必要とする。【００１３】
以上のように、従来、障害回避のために稼働サーバが遠隔地の異なるＬＡＮに属するサーバに切り換わると、ユーザが復旧処理を行う必要があり、そのために復旧処理の間サービス利用は停止するという問題があった。【００１４】
本発明は、障害回避のために稼働サーバが遠隔地のサーバに切り換わっても、ユーザが復旧処理を行うことなくサービスを継続できるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
本発明のネットワークシステムは、端末の接続先の切り換え制御を行うコネクション制御手段と、
異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
第１及び第２のサーバ情報及び第２のネットワーク情報を記憶する記憶部を備え、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
を有するネットワークシステムであって、
前記サーバ・ネットワーク連携制御手段は前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、前記記憶部に記憶されている移動先となる第２のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第２のネットワーク情報を含む、前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段へ送る処理とを実行する情報処理手段を備えているネットワークシステムである。【００１６】
本発明のネットワーク間のプロセス移動方法は、端末の接続先の切り換え制御を行うコネクション制御手段と、
異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
を有するネットワークシステムのネットワーク間のプロセス移動方法であって、
前記サーバ・ネットワーク連携制御手段が前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、移動先となる第２のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る第１のステップと、
前記稼働サーバ切換制御手段は前記移動開始要求を受けて、対象プロセスを前記第１のサーバから前記第２のサーバへ移動する第２のステップと、
前記サーバ・ネットワーク連携制御手段は前記稼働サーバ切換制御手段からプロセス移動終了通知を受けて、前記第２のネットワーク情報を含む、前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段に送る第３のステップと、
前記コネクション制御手段がターゲットネットワークを前記第１のネットワークから前記第２のネットワークに切り換える第４のステップとを有するネットワーク間のプロセス移動方法である。【００１７】
本発明のサーバ・ネットワーク連携制御装置は、端末の接続先の切り換え制御を行うユーザコネクション制御手段と、
異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御装置であって、
第１及び第２のサーバ情報及び第２のネットワーク情報を記憶する記憶部と、
前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、前記記憶部に記録されている移動先となる第２のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第２のネットワーク情報を含む、前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段へ送る処理とを実行する情報処理手段と、を備えたサーバ・ネットワーク連携制御装置である。【００１８】
本発明のプログラムは、端末の接続先の切り換え制御を行うコネクション制御手段と、
異なる第１及び第２のネットワークにそれぞれ属し、前記端末と該第１及び第２のネットワークを介してそれぞれ接続される第１及び第２のサーバと、
前記第１のサーバから前記第２のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御用コンピュータに次の処理（１）、（２）を実行させるためのプログラム。
（１）  前記第１のサーバから前記第２のサーバへのプロセス移動要求を受けて、前記コンピュータの記憶部に記録されている移動先となる第２のサーバ情報、を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理
（２）  前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第２のネットワーク情報を含む前記第１のネットワークから前記第２のネットワークへの切換要求を前記コネクション制御手段へ送る処理【００１９】
本発明においては、障害予見時、あるいはオペレータの指示時に、コネクションの制御と稼動サーバの切換制御を連携して行うことにより、端末のユーザに意識させることなく、広域ネットワーク越しに、異なるネットワークにあるサーバ間で稼動サーバの切換を行う。具体的には、まず、稼動サーバ切換制御装置が、メインサイトのサーバ（以下、メインサーバとよぶ）のプロセスをバックアップサイトのサーバ（以下、バックアップサーバとよぶ）に複製し、メインサーバの、仮想ＩＰアドレスなどの接続先を示す移動可能な識別子（以下、接続先識別子）を、バックアップサーバに付け替える。次に、特許文献２に示すような、ユーザに接続するＶＬＡＮを切り換えることを可能にするコネクション制御装置が、ユーザの接続先ターゲット網を切り換えて、メインサーバを含むターゲット網からバックアップサーバを含むターゲット網に接続先を切り換えるゲートウェイなどにより、ユーザの接続先を切り換える。【００２０】
この操作を、サーバ・ネットワーク連携制御装置が適宜稼動サーバ切換制御装置およびユーザコネクション制御装置に対して指示を出すことによって行う。この一連の動作を、以下、セッションマイグレーションと呼ぶ。【００２１】
ここで本発明と公知の従来技術の相違について説明する。【００２２】
まず、特許文献１には、プロセスマイグレーションによるプロセスのサーバ間移動と同時に論理アドレスの付け替えを行い、その際に論理／物理アドレス変更通知をユーザに通知することで、ユーザの接続先をプロセス移動先サーバに切り換えるという方式が記されている。しかし、この方式はユーザとバックアップサーバが直接同一ＬＡＮで接続されている場合にのみ有効である。図１３の構成のように、ユーザとバックアップサーバとが直接同一ＬＡＮに属していない場合には、論理アドレスがバックアップサーバに移動したことがユーザには直接伝わらないため、ユーザの接続先はすぐには切り換わらない。本発明ではメインサイトとバックアップサイトとでＶＬＡＮを分けることにより、ルータの論理アドレスやルーティングテーブルなどを同一に設定することができるため、サーバ間の論理アドレス（ＩＰアドレス）の付け替えと同時にユーザの所属ＶＬＡＮを切り換えることによって、ユーザの接続先をすばやく移動させることができる。【００２３】
次に特許文献３、５、６では、２重化構成において、現用系と待機系を切り換える際にＩＰアドレスを移動させるものであるが、上記と同様に、同一ＬＡＮに接続元（ユーザ）が存在しない場合には、接続先の移動がすぐには切り換わらないという問題がある。【００２４】
また特許文献４では、クライアントにおいて接続先ＩＰアドレスを仮想ＩＰアドレスから実ＩＰアドレスへ変換して通信する構成とし、障害発生時に、変換する実ＩＰアドレスを現用系（メイン）の実ＩＰアドレスから待機系（バックアップ）の実ＩＰアドレスへ切り換えるという方式を取ることにより、上位アプリケーションからは常に仮想ＩＰアドレスと通信を行っているように見せるためのシステムが示されている。【００２５】
しかし、障害発生時には、現用系サーバと待機系サーバ間で稼働サーバの切換（稼働サーバ切換）を行う必要があるが、その切換タイミングがＩＰアドレス変換の変換先実ＩＰアドレスの切換（変換アドレス切換）のタイミングとずれてしまうと、アプリケーションとサーバとの通信に問題が生ずる。例えば、稼働サーバ切換が変換アドレス切換のタイミングよりも早いと、切り換わった稼働サーバではアプリケーションとの通信の継続を試みてパケットを送信するものの、アプリケーションにとっては、アドレス変換が行われていないために、送信元のＩＰアドレスがそれまで通信していた仮想ＩＰアドレスとは異なることになり、それまでの通信と同一の通信とは認識されない。【００２６】
本発明では、障害発生時の稼働サーバの切換手順（例えば、プロセスマイクレーションの手順）と、接続先を切り換えるためのネットワーク切換手順（例えば、ユーザ収容ＶＬＡＮ切換手順）とを統合的に制御することによって、それらの手順をそれぞれ単体で動作させる場合に発生するタイミングのずれに起因する上記のような問題を回避することができる。
【発明の効果】
【００２７】
本発明の効果は、障害発生時において、業務停止時間を最小化し、かつ端末のユーザに異なるネットワークのサーバ間での稼動サーバ切換処理の実行を意識させずに、業務を継続させることができる点である。【００２８】
その理由は、稼動サーバ切換の際に、接続先識別子ごと移動させ、かつコネクション制御手段において、ユーザの接続先ターゲット網の切換を十分短時間で行うことで、端末のユーザが、常に同じ接続先識別子へ接続したまま、実際の接続先をメインサーバからバックアップサーバへ切り換えることができるためである。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態における、セッションマイグレーション装置の機能ブロック図である。
【図２】本発明の実施例１において、セッションマイグレーション動作以前のストリーミングデータ受信用ネットワークを示した図である。
【図３】本発明の実施例１における制御用メッセージ通信のための制御用ネットワークを示した図である。
【図４】本発明の実施例１において、プロセスのサーバ間移動のためのデータの通信のためのマイグレーション用ネットワークを示した図である。
【図５】本発明の実施例１における各手段の間に行われるメッセージのやり取りを示したメッセージシーケンスを示した図である。
【図６】本発明の実施例１において、セッションマイグレーション動作後のストリーミングデータ受信用ネットワークを示した図である。
【図７】本発明の実施の形態において、実施手順をあらわすフローチャートを示した図である。
【図８】本発明の実施例３における制御用メッセージ通信のための制御用ネットワークを示した図である。
【図９】本発明の実施例３において、セッションマイグレーション動作以前のストリーミングデータ受信用ネットワークを示した図である。
【図１０】本発明の実施例３において、高負荷が発生してセッションマイグレーションが作動するまでの挙動を示した図である。
【図１１】本発明の実施例３において、セッションマイグレーションが作動してプロセスが複製される挙動を示した図である。
【図１２】本発明の実施例３における各手段の間に行われるメッセージのやり取りを示したメッセージシーケンスを示した図である。
【図１３】接続先識別子を広域ネットワークを介して遠隔サーバ間で共有することの困難性を説明するための図である。
【図１４】入力手段とサーバ・ネットワーク連携制御手段とがメインサイト、バックアップサイト、ユーザサイト以外の場所に設けられた例を示す図である。
【図１５】入力手段とサーバ・ネットワーク連携制御手段とがメインサイト内に設けられた例を示す図である。
【図１６】コンピュータの構成を示すブロック図である。
【図１７】サーバ・ネットワーク連携制御手段の機能を示すブロック図である。
【符号の説明】
【００３０】
１  入力手段
２  サーバ・ネットワーク連携制御手段
３  稼動サーバ切換制御手段
４  ユーザコネクション制御手段
２０１  入力手段
２０２  サーバ・ネットワーク連携制御手段
２０３  マイグレーションデーモンＡ
２０４  マイグレーションデーモンＢ
２０５  ユーザコネクション制御手段
２０６  動画配信プロセス
２０７  メインサーバ
２０８  バックアップサーバ
２０９  メインサイトのルータ
２１０  バックアップサイトのルータ
９０１  東京サイトの動画配信サーバ
９０２  大阪サイトの動画配信サーバ
９０３  ユーザコネクション制御手段１
９０４  ユーザコネクション制御手段２
９０５  ユーザコネクション制御手段３
９０６  サーバ・ネットワーク連携制御手段
９０７  マイグレーションデーモンＡ
９０８  東京サイトの動画配信プロセス
９０９  マイグレーションデーモンＢ
９１０  大阪サイトの動画配信プロセス
９１１  東京サイトのルータ
９１２  大阪サイトのルータ
１３０１  メインサイトのサーバ
１３０２  バックアップサイトのサーバ
１３０３  メインサイト
１３０４  バックアップサイト
１３０５  メインサイトのルータ
１３０６  バックアップサイトのルータ
１３０７  ユーザサイトのルータ
１３０８  ユーザサイトのユーザマシン
１３０９  ユーザサイト
１３１０  広域イーサネット（登録商標）網
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態について図面を用いて詳細に説明する。【００３２】
図１を参照すると、本発明の第１の形態は、サーバ間でプロセスを移動させる稼動サーバ切換制御手段３と、端末（クライアント）の接続先ターゲット網を動的に切り換えるコネクション制御手段４と、稼動サーバ切換制御手段とコネクション制御手段４とを適切なタイミングで連携制御するサーバ・ネットワーク連携制御手段２と、サーバ・ネットワーク連携制御手段２へ稼動サーバ切換制御開始指示を送る入力手段１とを含む。【００３３】
例えば図２、図３、図４及び図６に示すような、ユーザサイト、メインサイト、バックアップサイトがネットワークで結ばれたネットワークシステムにおいては、稼動サーバ切換制御手段３はメインサイトとバックアップサイトとに配置され、コネクション制御手段４はユーザコネクション制御手段としてユーザサイトに配置されている。稼動サーバ切換制御手段３はメインサイト、バックアップサイトの一方に配置される場合もある。【００３４】
サーバ・ネットワーク連携制御手段２は必要に応じて、図３や図１４に示すように、ユーザサイト、メインサイト、バックアップサイトとは別に配置されていてもよいし（図１４では制御サイトに配置されている）、ユーザサイト、メインサイト、バックアップサイト内のいずれかに配置されていてもよい。例えばメインサイトでの災害防護用として本発明に係わるネットワークシステムを用いる場合には、サーバ・ネットワーク連携制御手段２は災害の影響が及ばないように、メインサイト以外のユーザサイト、バックアップサイト、或いはそれ以外の場所に配置することが望ましい。また、メインサイトのメンテナンスやメインサイトにアクセスが集中した場合にサイトの負荷を他サイトに分散することを目的として本発明に係わるネットワークシステムを用いる場合には、ユーザサイト、メインサイト、バックアップサイトのいずれかに、あるいはその他の場所にサーバ・ネットワーク連携制御手段２を配置することができる。図１５はメインサイトに入力手段とサーバ・ネットワーク連携制御手段を配置した例を示す。例えば入力手段はメインサーバの負荷を検出する検知装置、サーバ・ネットワーク連携制御手段はその検知手段により検出され負荷状態により制御を行うプログラムとしてメインサーバに設けることができる。【００３５】
入力手段１はサーバ・ネットワーク連携制御手段２と一体化されていてもよいし（例えば図１４に示すように、制御サイトのパーソナルコンピュータ（ＰＣ）のＧＵＩ（グラフィカルユーザインタフェース）上のボタンとして入力手段を構成し、ＰＣ上のプログラムとしてサーバ・ネットワーク連携制御手段２を構成することができる。）、別に配置されていてもよい。例えば、入力手段１が停電や火災の発生を検知又は予見してサーバ・ネットワーク連携制御手段２へ稼動サーバ切換制御開始指示を送る災害検出装置の場合には、入力手段１はメインサイトに設けられ、サーバ・ネットワーク連携制御手段２は災害の影響を受けないようにメインサイトと離れて設けられる。【００３６】
入力手段１の具体例としては、他に、メインサーバの負荷状況を監視し、負荷が一定の閾値を超えたときにサーバ・ネットワーク連携制御手段２へ稼動サーバ切換制御開始指示を送る負荷監視装置、機器のメンテナンンスのときや、メインサーバ２０７が置かれているメインサイトでの災害警報器からの通報を受けたときに、オペレータが押すキーボード、ボタン、コンピュータのディスプレイ上ＧＵＩのボタン等の入力機器等がある。【００３７】
サーバ・ネットワーク連携制御手段２は、パーソナルコンピュータ（ＰＣ）上のプログラムとしてソフトウエアで構成したり、ハードウェア構成で実現することができる。コネクション制御手段４も同様に、パーソナルコンピュータ（ＰＣ）上のプログラムとしてソフトウエアで構成したり、ハードウェア構成で実現することができる。また稼動サーバ切換制御手段３も同様に、パーソナルコンピュータ（ＰＣ）上のプログラム（例えば図２のマイグレーションデーモン）としてソフトウエアで構成したり、ハードウェア構成で実現することができる。【００３８】
以下、上記各手段について、その機能を説明する。【００３９】
サーバ・ネットワーク連携制御手段２は、稼動サーバ切換制御手段３に対し稼動サーバ切換制御開始要求を送る。稼動サーバ切換制御手段３は、プロセスマイグレーションなどの技術を用いて、当該プロセスの内部情報を切換先のサーバ（バックアップサーバ）へ移動させる。この際、プロセス内部情報移動の前に、メインサーバの当該プロセスを休止状態としてもよい。またプロセス内部情報移動と同時に、接続先識別子をメインサーバからバックアップサーバへと付け替える処理を行ってもよい。これらの処理を終えると、稼動サーバ切換制御手段３は、サーバ・ネットワーク連携制御手段２へ稼動サーバ切換制御終了通知を送る。【００４０】
また、プロセス内部情報移動と同時に当該プロセスを休止状態とした場合には、稼動サーバ切換制御終了通知発行後、稼動サーバ切換制御手段３は、サーバ・ネットワーク連携制御手段２からプロセス再開要求を受け、移動後のプロセスを休止状態から稼動状態へと変更する。【００４１】
コネクション制御手段４は、サーバ・ネットワーク連携制御手段２から接続先ターゲット網切換要求が送られると、ユーザの接続先ターゲット網を、メインターゲット網からバックアップターゲット網へと切り換え、サーバ・ネットワーク連携制御手段２へ接続先ターゲット網切換終了通知を送る。具体的な実現方法としては、後述する実施例に示すように、ユーザの接続しているＶＬＡＮを、メインサイトに接続可能なＶＬＡＮからバックアップサイトに接続可能なＶＬＡＮへと切り換える方法などがある。また、ターゲット網は、その他の方法（例えばIPsec (Security Architecture for Internet Protcol), L2TP (Layer 2 Tunneling Protocol), MPLS (MultiProtocol Label Switching）等のトンネル技術によるＶＰＮ (Virtual Private Network)など)で仮想的または物理的に分離された網であっても良い。【００４２】
サーバ・ネットワーク連携制御手段２は、移動対象プロセスの情報と、当該プロセスが実行されているサーバであるメインサーバ情報と、当該プロセスが移動する先であるバックアップサーバ情報と、接続先ターゲット網切換対象ユーザ名情報と切換先接続先ターゲット網情報とを記憶部に保持している。【００４３】
サーバ・ネットワーク連携制御手段２は、入力手段１からセッションマイグレーション開始要求を受け付け、それを契機として稼動サーバ切換制御手段３へ稼動サーバ切換制御開始要求を送る。この際、稼動サーバ切換制御手段３に対し、移動対象プロセス情報と、当該プロセスが実行されているサーバであるメインサーバ情報と、当該プロセスが移動する先であるバックアップサーバ情報とを与える。【００４４】
また、サーバ・ネットワーク連携制御手段２は、稼動サーバ切換制御手段３から稼動サーバ切換制御終了通知を受けた際には、それを契機としてコネクション制御手段４に対して接続先ターゲット網切換要求を送る。この際、コネクション制御手段４に対し、切り換え対象ユーザ名情報と切り換え先接続先ターゲット網情報とを与える。コネクション制御手段４から接続先ターゲット網切換終了通知が送られると、それを契機として稼動サーバ切換制御手段へプロセス再開要求を送る。この際、稼動サーバ切換制御手段３に対し、バックアップサーバ情報と、移動対象プロセス情報とを与える。稼動サーバ切換制御手段３からプロセス再開終了通知を受けると、サーバ・ネットワーク連携制御動作を終了する。【００４５】
以下、図７に示すフローチャートに沿って、本実施形態の実施手順について説明する。【００４６】
通常時、移動対象プロセスはメインサーバ上で動作しており、端末（クライアント）としてのユーザマシンは、メインサーバに割り当てられた接続先識別子に接続することで、プロセスを利用して、業務を行っている。【００４７】
実行者は、入力手段１を用いて、サーバ・ネットワーク連携制御手段２に対し、セッションマイグレーション開始要求を発行する（ステップＳ７０１）。実行者は、オペレータであっても、図示せぬ災害検出装置などの自動実行装置であってもよい。【００４８】
サーバ・ネットワーク連携制御手段２は、セッションマイグレーション開始要求を受けると、稼動サーバ切換制御手段３に対し、稼動サーバ切換制御開始通知を発行し、稼動サーバ切換の開始を指示する（ステップＳ７０２）。この際、稼動サーバ切換制御手段３に対して与える情報として、移動対象プロセス情報と、当該プロセスが実行されているサーバであるメインサーバ情報と、移動先サーバであるバックアップサーバ情報と、メインサーバに割り当てられている接続先識別子情報とを含めて良い。【００４９】
稼動サーバ切換制御手段３では、サーバ・ネットワーク連携制御手段２から受信した稼動サーバ切換制御開始通知を受け、稼動サーバの切換を行う。具体的には、以下の処理Ｐ１〜Ｐ４の動作をこの順で行う。Ｐ１．当該プロセスを休止状態とする（ステップＳ７０３）。Ｐ２．プロセスマイグレーションなどの技術を用いて、当該プロセスを稼働させるサーバをメインサーバからバックアップサーバに切り換える（ステップＳ７０４）。Ｐ３．仮想ＩＰアドレスなどの接続先識別子をメインサーバからバックアップサーバへと付け替える（ステップＳ７０５）。Ｐ４．サーバ・ネットワーク連携制御手段２へ稼動サーバ切換制御終了通知を送る（ステップＳ７０６）。なお、処理Ｐ１（すなわちステップＳ７０３）および処理Ｐ３（すなわちステップＳ７０５）は、必須ではない。【００５０】
なお、処理Ｐ１を行った場合、サーバ移動後の当該プロセスは休止状態であり、上記処理Ｐ４の動作の終了時においても、サーバ移動後の当該プロセスは依然休止状態である。【００５１】
次にサーバ・ネットワーク連携制御手段２は、稼動サーバ切換制御終了通知を受けると、コネクション制御手段４に対して接続先ターゲット網切換要求を送る（ステップＳ７０７）。この際、コネクション制御手段４に対し、接続先ターゲット網切換対象ユーザ名情報と、ユーザに対応する切り換え先接続先ターゲット網情報とを共に与えて良い。【００５２】
コネクション制御手段４は、接続先ターゲット網切換対象ユーザ名に対応するユーザの接続先ターゲット網を、切り換え先接続先ターゲット網に切り換える（ステップＳ７０８）。ここで、ユーザの接続先ターゲット網切換を、ユーザの接続先ＶＬＡＮを切り換えることで行う場合は、切り換える先のＶＬＡＮを、メンバとしてバックアップサーバのみを含み、メインサーバを含まないものとする。切り換えが終了すると、コネクション制御手段４は、サーバ・ネットワーク連携制御手段２に対し、接続先ターゲット網切換終了通知を発行する。【００５３】
ここで、ステップＳ７０３のプロセス休止処理を行っていなかった場合には、サーバ・ネットワーク連携制御の全過程を終了する。【００５４】
ステップＳ７０３のプロセス休止処理を行っていた場合には、サーバ・ネットワーク連携制御手段２は、接続先ターゲット網切換終了通知を受けると、稼動サーバ切換制御手段３に対し、プロセス再開要求通知を発行する（ステップＳ７０９）。この際、稼動サーバ切換制御手段３に対し、再開対象プロセス情報（すなわち移動したプロセスの情報）を共に通知しても良い。【００５５】
稼動サーバ切換制御手段３では、サーバ・ネットワーク連携制御手段２から受信したプロセス再開要求通知を受け、対象プロセスを再開させる（ステップＳ７１０）。【００５６】
プロセス再開が完了すると、稼動サーバ切換制御手段３は、サーバ・ネットワーク連携制御手段２に対してプロセス再開終了通知を発行する（ステップＳ７１１）。【００５７】
サーバ・ネットワーク連携制御手段２は、プロセス再開終了通知を受けると、セッションマイグレーションの全過程を終了する。【００５８】
サーバ・ネットワーク連携制御手段２は、プロセス再開終了通知を受けた後（ステップＳ７０３を実行していなかった場合には、接続先ターゲット網切換終了通知を受けた後）、実行者に対してセッションマイグレーションの終了を伝えるために、図示せぬ出力手段にセッションマイグレーションの終了を通知してもよい。
【実施例１】
【００５９】
次に、本発明の実施例を図２〜図６を用いて説明する。【００６０】
本実施例では、図２に示すように、ユーザは仮想ＩＰアドレス“ｖ”を持つメインサーバ２０７上の動画配信プロセス２０６に広域Ｅｔｈｅｒネットワーク経由で接続し、ＴＣＰ (Transmission Control Protocol)／ＩＰを利用してストリーミングデータを受信している。また、あらかじめユーザは、ユーザコネクション制御装置によって、メインサイトのルータ２０９のみを含み、バックアップサイトのルータ２１０が含まれないようなＶＬＡＮ“１”に接続されている。【００６１】
また、サーバ・ネットワーク連携制御手段２０２は、図１４に示すように、パーソナルコンピュータ（ＰＣ）上のプログラムとして実装されている。入力手段２０１は、サーバ・ネットワーク連携制御手段２０２のプログラムが実装されているＰＣ上のＧＵＩ（グラフィカルユーザインタフェース）上のボタンとして実装されている。出力手段は、サーバ・ネットワーク連携制御手段２０２のプログラムが実装されているＰＣに接続されているディスプレイとして実装されている。【００６２】
また、メインサーバ２０７およびバックアップサーバ２０８には、ＯＳとしてＬｉｎｕｘが搭載されており、稼動サーバ切換制御手段は、メインサーバ２０７上にマイグレーションデーモンＡ２０３、バックアップサーバ２０８上にマイグレーションデーモンＢ２０４と、それぞれＬｉｎｕｘ上のプログラム（デーモン）として実装されている。なお、稼動サーバ切換制御手段はメインサーバ２０７、バックアップサーバ２０８のいずれか一方に設けられてもよく、一方のサーバから他方のサーバを制御してプロセス移動を行うようにしてもよい。また、稼働サーバ切換制御手段はメインサーバ２０７、バックアップサーバ２０８とは別にメインサーバ２０７、バックアップサーバ２０８と接続されるＰＣを設け、それにプログラムとして実装されていてもよい。【００６３】
また、コネクション制御手段となるユーザコネクション制御手段２０５は、ユーザサイトのネットワークアクセスゲートウェイであるＰＣ上のプログラムとして実装されている。ネットワークアクセスゲートウェイであるＰＣはユーザサイトのユーザ端末を構成するユーザマシンに接続されている。ユーザコネクション制御手段２０５はユーザ端末（ユーザマシン）に設けられていてもよい。【００６４】
また、図３に示すように、サーバ・ネットワーク連携制御手段２０２、稼動サーバ切換制御手段（すなわちマイグレーションデーモンＡ２０３およびマイグレーションデーモンＢ２０４）、ユーザコネクション制御手段２０５は、制御用ネットワーク経由で、互いに制御用コマンドを送受信できるようになっている。【００６５】
また、メインサーバ２０７とバックアップサーバ２０８とでプロセスマイグレーションのためのデータ転送路として、図４に示すような専用のネットワークを用意してもよい。また、動的に帯域を確保する経路制御手段を用いてもよい。【００６６】
また、ルータ２０９とルータ２１０のルーティングテーブルには、ともに仮想ＩＰアドレス“ｖ”へのルートが明記されている。また、広域イーサネット（登録商標）網側のインターフェースには同一ＩＰアドレス（図２では“ｒ”）がついている。ここでは、ルータ２０９とルータ２１０は同じネットワーク（この場合はＶＬＡＮ）に属していないために、同じＩＰアドレスが２つ存在しても、また同じＩＰアドレスへの経路が２つ存在しても問題ない。【００６７】
以下、セッションマイグレーションの一連の動作について、図５をもとに詳細に説明する。【００６８】
メインサーバ２０７が置かれているメインサイトでの災害警報発令（ステップＳ５０１）を受け、実行者は、セッションマイグレーション開始要求入力手段２０１であるＧＵＩのボタンを押すことで、サーバ・ネットワーク連携制御手段２０２に対し、セッションマイグレーション開始要求を発行する（ステップＳ５０２）。【００６９】
マイグレーション元である稼動サーバ切換制御手段Ａに対し、プロセスマイグレーション開始通知を発行する（ステップＳ５０３）。その際、マイグレーション対象プロセス情報としてプロセスＩＤ“２０００”と、マイグレーション先サーバ情報として実ＩＰアドレス“ｂ２”と、仮想ＩＰアドレス“ｖ”とを共に通知する。マイグレーション対象プロセス情報としてプロセス移動タイミング情報のみを通知し、マイグレーションデーモンＡ２０３が移動すべきプロセスを特定してマイグレーションさせるようにしてもよい。【００７０】
次に、プロセスマイグレーション開始要求を受信したマイグレーションデーモンＡ２０３では、１．自サーバ上のプロセスＩＤ“２０００”を持つ動画配信プロセス２０６を休止（フリーズ）状態とする（ステップＳ５０４）。２．動画配信プロセス２０６をマイグレーションする（ステップＳ５０６）。３．仮想ＩＰアドレス“ｖ”をマイグレーションデーモンＢ２０４を通してバックアップサーバ２０８に付け替える（ステップＳ５０７）。４．サーバ・ネットワーク連携制御手段２０２へプロセスマイグレーション終了通知を送る（ステップＳ５０９）。【００７１】
プロセスマイグレーション終了通知は、バックアップサーバのマイグレーションデーモンＢ２０４により送られるようにしてもよい。後述する実施例２，３においても同様である。【００７２】
サーバ・ネットワーク連携制御手段２０２は、稼動サーバ切換制御手段Ａからマイグレーション終了通知を受け、ユーザコネクション制御手段２０５に対し、ＶＬＡＮ切り換え要求を発行する（ステップＳ５１０）。その際、対象ユーザ名“Ｔａｒｏ”と切り換え先ＶＬＡＮ  ＩＤ“２”とを共に通知する。【００７３】
ユーザコネクション制御手段２０５は、これまでＶＬＡＮ“１”に接続されていたユーザ“Ｔａｒｏ”を、ＶＬＡＮ“２”に接続させる（ステップＳ５１１）。切り換えが終了すると、ユーザコネクション制御手段２０５は、サーバ・ネットワーク連携制御手段２０２に対し、ＶＬＡＮ切り換え終了通知を発行する（ステップＳ５１３）。【００７４】
次にサーバ・ネットワーク連携制御手段２０２は、ＶＬＡＮ切り換え終了通知を受けると、マイグレーションデーモンＡ２０３に対し、プロセス再開要求通知（ステップＳ５１４）を、再開対象プロセスＩＤ“２０００”と共に通知する。【００７５】
マイグレーションデーモンＡ２０３は、マイグレーションデーモンＢ２０４を通じて、バックアップサーバ２０８内のプロセスＩＤ“２０００”を持つ動画配信プロセス２０６に対し、フリーズ解除（プロセス再開）操作を行う（ステップＳ５１５）。このとき、ユーザは再びストリーミングデータの受信を再開できる（図６）。プロセス再開が終了すると、マイグレーションデーモンＡ２０３は、サーバ・ネットワーク連携制御手段２０２に対し、プロセス再開終了通知を発行する（ステップＳ５１７）。【００７６】
サーバ・ネットワーク連携制御手段２０２は、プロセス再開終了通知を受けると、マイグレーションの全過程を終了し、出力手段に対し、セッションマイグレーション終了通知を発行し（ステップＳ５１８）、実行者にセッションマイグレーションの終了を通知する。【００７７】
この一連の過程の中で、ユーザは、プロセスマイグレーションの終了時点で、一時接続先ＩＰアドレスを見失うものの、ＶＬＡＮの切り換えをすばやく行うことで、上位アプリケーションなどによるＴＣＰセッションの切断が起こる前に、再び接続先ＩＰアドレスを発見することができ、通信を途切らせることなく再開できる。また、ユーザの接続先ターゲット網の変更手段として、ＶＬＡＮの切り換えを用いることによって、ユーザに対し、プロセスマイグレーション前後において常に同じＩＰ（ここでは仮想ＩＰ“ｖ”）に接続しているという認識を与えることができる。これらにより、極力ユーザにそれと意識させることなく、マイグレーションを実現できる。【００７８】
このシーケンスの中では、ユーザにとって認識しうる事象は、以下のようなシーケンスとなる。【００７９】
ユーザは、メインサーバ２０７のＩＰアドレス“ｖ”とＴＣＰセッションを確立し、動画配信プロセス２０６からストリーミングデータを受信している。【００８０】
動画配信プロセス２０６がフリーズする（ステップＳ５０４）と同時に、ストリーミングデータの受信が一時中断される。【００８１】
次に、仮想ＩＰアドレス“ｖ”が、メインサーバ２０７からバックアップサーバ２０８へ付け替えられる（ステップＳ５０７）と、ユーザはそれまで接続していたＩＰアドレス“ｖ”を見失うことになるが、ユーザが接続するＶＬＡＮがＶＬＡＮ１からＶＬＡＮ２へ切り替わる（ステップＳ５１１）と、ユーザは再びＩＰアドレス“ｖ”を発見する（ステップＳ５１２）。ＩＰアドレスを見失っている時間、すなわちステップＳ５０７からステップＳ５１１までの時間は、上位アプリケーションが輻輳を検知してＴＣＰセッションを切断する時間よりも充分短くすることが可能であり、したがって、この間ユーザはＴＣＰセッションを切断することなく、通信を維持することが可能となる。【００８２】
動画配信プロセス２０６が再開される（ステップＳ５１５）と、ユーザは再び動画配信プロセス２０６からストリーミングデータを受信することができる（ステップＳ５１６）。動画配信プロセスがフリーズしている間、すなわちステップＳ５０４からステップＳ５１５の間は、ユーザのストリーミングデータ受信は停止することになる。しかし通常、動画閲覧アプリケーションには、通信が何秒か停止しても動画が途切れないようにバッファが用意されており、また、ステップＳ５０４からステップＳ５１５の時間は、バッファによって動画品質が維持できる程度に短くすることが可能である。そのため、ユーザの動画閲覧には全く影響を及ぼすことなく、広域ネットワーク経由でルータ越しのプロセスマイグレーションを行うことができる。【００８３】
図１７はサーバ・ネットワーク連携制御手段の機能を示すブロック図である。入力手段制御部１４０３は入力手段１からのセッションマイグレーション開始要求を状態管理部１４０１に出力する。稼働サーバ切換制御手段制御部１４０４は稼働サーバ切換制御手段３と情報の送受信を行い、ユーザコネクション制御手段制御部１４０５はユーザコネクション制御手段と情報の送受信を行う。状態管理部１４０１は図５、図７に示したサーバ・ネットワーク連携制御手段のセッションマイグレーションの動作を制御する。設定記憶部１４０２にはサーバ１の対象プロセス番号、マイグレーション先サーバＩＰアドレス、仮想ＩＰアドレス等の情報が記憶される。【００８４】
本実施例ではサーバ・ネットワーク連携制御手段の各制御部、状態管理部はパーソナルコンピュータ（ＰＣ）上のプログラムとして実装され、例えば図１６に示すように、当該プログラムをハードディスク等のディスク装置３００４に記憶させ、ＤＲＡＭ等のメモリ３００３に対象プロセス番号等の情報を記憶させ、ＣＰＵ３００６によりプログラムが実行される。キーボードは入力手段１となる。ＣＲＴ３００２は情報処理状況やマイグレーション処理結果等を表示する表示手段となる。３００５はデータバス等のバスを示す。なお、サーバ・ネットワーク連携制御手段の機能はソフトウエアで実現されるが、ハードウェア構成で実現することもできる。
【実施例２】
【００８５】
次に、本発明の第２の実施例を説明する。本実施例では、実施例１と同じ構成を用いる。【００８６】
この実施例では、メインサイトにおいてプロセス実行の停止を必要とするシステムのアップグレードなどのメンテナンスに伴い、オペレータが手動でセッションマイグレーションを行う。実施例１と比較すると、災害警報発令を実施の契機とするのではなく、オペレータがメインサイトのメンテナンスのスケジュールに合わせてセッションマイグレーションを行う点のみが異なる。
【実施例３】
【００８７】
次に、本発明の第３の実施例を図８〜図１２を用いて説明する。【００８８】
この実施例では、あるサイト（図９においては東京サイト）にアクセスが集中した際に、サイトの負荷を他サイト（図９では大阪サイト）に分散することを目的とするが。その際に、多拠点に分散化されたアクセスは、遅延などの影響を減少させるために、接続するユーザ各々がより地理的に最も近いサイトに接続させることを併せて実現する。【００８９】
初期状態（図９）では、東京サイトにあるサーバ９０１において、動画配信サービスを提供しており、東京のユーザ１と大阪のユーザ２が接続して動画配信サービスを利用している。サーバ・ネットワーク連携制御手段では、現在東京サイトのサーバ９０１に接続している接続ユーザ数情報と、接続ユーザ数がこの値以上になると負荷分散を実行する閾値情報と、大阪サイトにおいて動画配信サービスが稼動しているか否かを示す大阪サイト稼動状況情報とを保持している。図９の場合では、接続先ユーザ数情報は“２”、閾値情報は“２．５”、大阪サイト稼動情報は“ＯＦＦ”である。【００９０】
また、サーバ・ネットワーク連携制御手段９０６、マイグレーションデーモンＡ９０７およびマイグレーションデーモンＢ９０９、ユーザコネクション制御手段１〜３（９０３〜９０５）は、図８に示すような物理的、あるいはＶＰＮなどの仮想の制御専用ネットワーク経由で、互いに制御用コマンドを送受信できるようになっている。【００９１】
また、実施例１と同様、東京サイトのルータ９１１、大阪サイトのルータ９１２は同一のＶＬＡＮに属することはなく、同一仮想ＩＰアドレス“ｖ”へのルートを明記したルーティングテーブルを静的に保持し、広域イーサネット（登録商標）網側のインターフェースには同一ＩＰアドレス（図９〜図１１では“ｒ”）がついている。【００９２】
ここで、東京のユーザ２から新規に接続要求が来たときには、東京サイトにおける接続先ユーザ数“３”が閾値“２．５”を越え、また大阪サイト稼動情報が“ＯＦＦ”であるため、セッションマイグレーションを開始する。以下、その際のシーケンスを図１２を参照しながら説明する。【００９３】
東京サイトのサーバ９０１において、高負荷が発生すると（ステップＳ１２０１）、東京サイトのサーバ９０１あるいは当該サーバの負荷状況を監視している負荷監視装置が、サーバ・ネットワーク連携制御手段に対してセッションマイグレーション開始要求を発行（ステップＳ１２０２）する。【００９４】
サーバ・ネットワーク連携制御手段は、セッションマイグレーション開始要求を受信すると、東京サイトのサーバ９０１のマイグレーションデーモン９０７に対し、プロセスマイグレーション開始通知を発行（ステップＳ１２０３）する。その際、マイグレーション対象プロセス情報としてプロセスＩＤ“２０００”と、マイグレーション先サーバ情報として実ＩＰアドレス“ｂ２”と、仮想ＩＰアドレス“ｖ”とを共に通知する。【００９５】
次に、プロセスマイグレーション開始要求を受信したマイグレーションデーモン９０７では、処理Ｐ１１．自サーバ上のプロセスＩＤ“２０００”を持つ動画配信プロセス９０８を休止（フリーズ）状態とする（ステップＳ１２０４）。処理Ｐ１２．動画配信プロセス９０８をマイグレーションする（ステップＳ１２０６）。処理Ｐ１３．仮想ＩＰアドレス“ｖ”をマイグレーションデーモンＢ９０９を通して大阪サイトのサーバ９０２に複製する（ステップＳ１２０７）。処理Ｐ１４．サーバ・ネットワーク連携制御手段９０６へプロセスマイグレーション終了通知を送る（ステップＳ１２０８）。【００９６】
サーバ・ネットワーク連携制御手段９０６は、マイグレーションデーモン９０７からマイグレーション終了通知を受け、大阪サイト稼動情報を“ＯＮ”に変更し（ステップＳ１２０９）、ユーザコネクション制御手段９０５に対し、ＶＬＡＮ切り換え要求を発行する（ステップＳ１２１０）。その際、対象ユーザ名“ユーザ２”と切り換え先ＶＬＡＮ  ＩＤ“２”とを共に通知する。ここで、切換対象として、それまでプロセスに接続していた全てのユーザが対象となるのではなく、一部のユーザで良い。一部のユーザを選択する基準としては、プロセスマイグレーションによって新しくプロセスが稼動するサイトに近いユーザのみを対象とする、などの基準が考えられる。本実施例では、大阪から接続していたユーザ２を、切換対象のユーザとし、ユーザ１とユーザ３に関しては、接続先切換を行わない。【００９７】
ユーザコネクション制御手段９０５は、これまでＶＬＡＮ“１”に接続されていたユーザ“ユーザ２”を、ＶＬＡＮ“２”に接続させる（ステップＳ１２１１）。切り換えが終了すると、ユーザコネクション制御手段２（９０５）は、サーバ・ネットワーク連携制御手段９０６に対し、ＶＬＡＮ切り換え終了通知を発行する（ステップＳ１２１３）。【００９８】
次にサーバ・ネットワーク連携制御手段９０６は、ＶＬＡＮ切り換え終了通知を受けると、マイグレーションデーモンＡ９０７に対し、プロセス再開要求通知（ステップＳ１２１４）を、再開対象サーバの実ＩＰアドレス、再開対象プロセスＩＤの組と共に通知する。本実施例では、（ａ２，２０００）、（ｂ２，２０００）として通知する。【００９９】
マイグレーションデーモン９０７は、マイグレーションデーモン９０９を通じて、東京サイトのサーバ９０１内のプロセスＩＤ“２０００”を持つ動画配信プロセス９０８に対するフリーズ解除（プロセス再開）操作と、大阪サイトのサーバ９０２内のプロセスＩＤ“２０００”を持つ動画配信プロセス９１０に対するフリーズ解除（プロセス再開）操作を、同時に行う（ステップＳ１２１５）。このときユーザ１およびユーザ３は東京サイトのサーバ９０１から、ユーザ３は大阪サイトのサーバ９０２から、再びストリーミングデータの受信を再開できる。プロセス再開が終了すると、マイグレーションデーモンＡ９０７は、サーバ・ネットワーク連携制御手段９０６に対し、プロセス再開終了通知を発行する（ステップＳ１２１７）。【０１００】
サーバ・ネットワーク連携制御手段９０６は、プロセス再開終了通知を受けると、マイグレーションの全過程を終了し、東京サイトのサーバ９０１に対し、セッションマイグレーション終了通知を発行する（ステップＳ１２１８）。【０１０１】
この一連の過程の中で、ユーザは、プロセスマイグレーションの終了時点で、一時接続先ＩＰアドレスを見失うものの、ＶＬＡＮの切り換えをすばやく行うことで、上位アプリケーションがネットワークの輻輳を検知することによりＴＣＰセッションを切断する前に、再び接続先ＩＰアドレスを発見することができ、通信を途切らせることなく再開できる。また、ユーザの接続先ターゲット網の変更手段として、ＶＬＡＮの切り換えを用いることによって、ユーザに対し、プロセスマイグレーション前後において常に同じＩＰ（ここでは仮想ＩＰ“ｖ”）に接続しているという認識を与えることができる。これらにより、極力ユーザにそれと意識させることなく、マイグレーションを実現できる。【０１０２】
このシーケンスの中では、ユーザにとって認識しうる事象は、以下のようなシーケンスとなる。【０１０３】
ユーザ１〜３は、東京サイトのサーバ９０１のＩＰアドレス“ｖ”とＴＣＰセッションを確立し、動画配信プロセス９０８からストリーミングデータを受信している。【０１０４】
動画配信プロセス９０８がフリーズする（ステップＳ１２０４）と同時に、ストリーミングデータの受信が一時中断される（ステップＳ１２０５）。【０１０５】
次に、仮想ＩＰアドレス“ｖ”が、東京サイトのサーバ９０１から大阪サイトのサーバ９０２へ複製される（ステップＳ１２０７）。【０１０６】
ユーザ１およびユーザ３にとっては、接続先ＶＬＡＮが切り替わることもなく、プロセスが再開（ステップＳ１２１５）されると、再び動画配信プロセス９０８からストリーミングデータを受信することができるようになる（ステップＳ１２１６）。【０１０７】
ユーザ２にとっては、ユーザ３が接続するＶＬＡＮがＶＬＡＮ１からＶＬＡＮ２へ切り替わる（ステップＳ１２１１）と、ユーザはＩＰアドレス“ｖ”を大阪サイトのサーバ９０２に発見し（ステップＳ１２１２）、プロセスが再開（ステップＳ１２１５）されると、再び動画配信プロセス９１０からストリーミングデータを受信することができるようになる（ステップＳ１２１６）。【０１０８】
このようにしてユーザは、ステップＳ１２０５からステップＳ１２１６の短い時間ストリーミングデータが受信できなくなるという事象を除くと、プロセスがマイグレーションしたことを意識することはない。また、ユーザが利用するストリーミング再生アプリケーションは通常、通信が何秒か停止しても動画が途切れないような十分なバッファを持っており、このため動画を閲覧しているユーザに対し、それと認識させることなくプロセスマイグレーションをすることができる。【０１０９】
このようにすることで、広域な負荷分散が接続順序に左右されることなく、最適に行うことができる。【０１１０】
実施例１と比較すると、セッションマイグレーション実行の契機が東京サイトにおける接続ユーザ数が閾値を越えることである点、またプロセスの複製後、プロセスを再開する際に、大阪サイトのプロセスのみならず東京サイトのプロセスを同時に再開して、双方を稼動状態とする点が異なる。
【図１】
0004591840.tif 000002
【図２】
0004591840.tif 000003
【図３】
0004591840.tif 000004
【図４】
0004591840.tif 000005
【図５】
0004591840.tif 000006
【図６】
0004591840.tif 000007
【図７】
0004591840.tif 000008
【図８】
0004591840.tif 000009
【図９】
0004591840.tif 000010
【図１０】
0004591840.tif 000011
【図１１】
0004591840.tif 000012
【図１２】
0004591840.tif 000013
【図１３】
0004591840.tif 000014
【図１４】
0004591840.tif 000015
【図１５】
0004591840.tif 000016
【図１６】
0004591840.tif 000017
【図１７】
0004591840.tif 000018