JP4591840B2 - ネットワーク間のプロセス移動方法およびそのネットワークシステム - Google Patents

ネットワーク間のプロセス移動方法およびそのネットワークシステム Download PDF

Info

Publication number
JP4591840B2
JP4591840B2 JP2006510468A JP2006510468A JP4591840B2 JP 4591840 B2 JP4591840 B2 JP 4591840B2 JP 2006510468 A JP2006510468 A JP 2006510468A JP 2006510468 A JP2006510468 A JP 2006510468A JP 4591840 B2 JP4591840 B2 JP 4591840B2
Authority
JP
Japan
Prior art keywords
server
control means
network
switching
switching control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006510468A
Other languages
English (en)
Other versions
JPWO2005083569A1 (ja
Inventor
哲郎 今井
壮一郎 荒木
剛彦 末村
範人 藤田
智義 菅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2005083569A1 publication Critical patent/JPWO2005083569A1/ja
Application granted granted Critical
Publication of JP4591840B2 publication Critical patent/JP4591840B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、データセンタ、あるいはサーバの障害が発生した際に、ユーザとプロセスとの接続を維持したままプロセスを広域に移動させ、業務停止時間を最小化するためのネットワーク間のプロセス移動方法、そのネットワークシステムおよびプログラムに関する。
特に、稼動サーバを、メインサーバからバックアップサーバへと切り換える技術を用いて稼動サーバの切り換えを行った際に、それと連動して、メインサーバにアクセスしていたユーザの接続先ターゲット網をバックアップサーバに切り換え、ユーザとサーバあるいはユーザとプロセスとの通信を継続したまま稼働サーバの切り換えを行うネットワーク間のプロセス移動方法、そのネットワークシステムおよびプログラムに関する。
停電や火災など、データセンタ全体に累が及ぶような災害が発生した際、遠隔地からサーバに接続して業務を行っているユーザに対し、その業務を引き続き継続させるために、ディザスタリカバリ技術が使われる。従来のディザスタリカバリ技術(災害による障害を回避するための技術)には、サービスを提供している稼働サーバを2重化やプロセスマイグレーションなどの技術を用いて遠隔地のサーバへ切り換える方法がある。
プロセスマイグレーションとは、特許文献1に示すように、あるコンピュータで動作中のプログラムを、実行状態を保持したまま、別のコンピュータ上に移動させ、元のコンピュータで実行されていたのと同じ状態で実行を継続させる技術である。
また、メインサーバにアクセスしていたユーザの接続先ターゲット網をバックアップサーバに切り換え、ユーザとサーバあるいはユーザとプロセスとのコネクションを維持したまま稼動サーバの切り換えを行うための技術として、特許文献2に示すように、ユーザサイトのゲートウェイが、ユーザの接続先VLANを切り換えるVLAN切り換え技術などが知られている。
特許文献3、5、6には、2重化構成において、現用系と待機系を切り換える際にIPアドレスを移動させる技術が開示されている。また、特許文献4には、クライアントにおいて接続先IPアドレスを仮想IPアドレスから実IPアドレスへ変換して通信する構成とし、障害発生時に、変換する実IPアドレスを現用系(メイン)の実IPアドレスから待機系(バックアップ)の実IPアドレスへ切り換える技術が開示されている。
特開平08−329025号 特願2003−375352号 特開平08−335198号 特開平09−034814号 特開平09−091233号 特開平10−320323号
ディザスタリカバリ技術により、ユーザにサービスを提供する稼働サーバが遠隔地のサーバに切り換わったとき、切換元サーバに接続して業務を行っていたユーザは、サービスを引き続き継続するためには、切換元との接続を切断し、接続先を切換先のサーバに変更し、再接続を行うなどの復旧処理を必要としていた。そして、この処理の間、ユーザのサービス利用は停止していた。
稼働サーバが切り換わった際にも、ユーザの接続先識別子を変更することなく通信を継続させるためには、プロセスマイグレーションと同時に仮想IPアドレスなどの仮想接続先識別子をマイグレーション先サーバに移し変える方法があるが、後述するように、通常、IPアドレスなどの接続先識別子を広域ネットワークを介して遠隔サーバ間で共有することは困難である。
以下、接続先識別子を広域ネットワークを介して遠隔サーバ間で共有することが困難であることの具体例を図13を参照して説明する。
図13では、ユーザサイト1309にユーザマシン1308がメインサイト1303にサーバ1301、バックアップサイト1304にサーバ1302がある。メインサイト1303およびバックアップサイト1304には、広域イーサ網(広域イーサネット(登録商標)ワーク)1310との境界にルータ1305,1306がそれぞれ配置されており、したがってサーバ1301とサーバ1302は異なるLANに属する。ユーザはユーザサイト1309のルータ1307、広域イーサ網1310及びルータ1305、1306を経由して各サーバ1301,1302との通信が可能となっている。
通常時には、サーバ1301が稼働サーバとなり、ユーザはサーバ1301の仮想IPアドレス192.168.2.1に接続してサービスを利用している。ディザスタ発生時には、稼働サーバをサーバ1301からサーバ1302に切り換え、同時に仮想アドレス192.168.2.1をサーバ1301からサーバ1302に移しかえるが、各サイトのルータはその保持するルーティングテーブルの内容がすぐには切り換わらないため、ネットワークにIPアドレスの移動がすぐには反映されないという問題がある(時間はルーティングテーブルが更新されるタイミングに依存する。)。
また、接続先識別子を同一広域ネットワークを介して遠隔サーバ間で共有することを避けるために、切換先サーバを異なるネットワーク(あるいはVLANなどの異なる仮想ネットワーク)に配置する方法があるが、この場合は、ユーザがサービスを利用し続けるには、稼働サーバが切り換わった後、ユーザは接続先ネットワーク切換、再接続などの処理を必要とする。
以上のように、従来、障害回避のために稼働サーバが遠隔地の異なるLANに属するサーバに切り換わると、ユーザが復旧処理を行う必要があり、そのために復旧処理の間サービス利用は停止するという問題があった。
本発明は、障害回避のために稼働サーバが遠隔地のサーバに切り換わっても、ユーザが復旧処理を行うことなくサービスを継続できるようにすることを目的とする。
本発明のネットワークシステムは、端末の接続先の切り換え制御を行うコネクション制御手段と、
異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
第1及び第2のサーバ情報及び第2のネットワーク情報を記憶する記憶部を備え、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
を有するネットワークシステムであって、
前記サーバ・ネットワーク連携制御手段は前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、前記記憶部に記憶されている移動先となる第2のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第2のネットワーク情報を含む、前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段へ送る処理とを実行する情報処理手段を備えているネットワークシステムである。
本発明のネットワーク間のプロセス移動方法は、端末の接続先の切り換え制御を行うコネクション制御手段と、
異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
を有するネットワークシステムのネットワーク間のプロセス移動方法であって、
前記サーバ・ネットワーク連携制御手段が前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、移動先となる第2のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る第1のステップと、
前記稼働サーバ切換制御手段は前記移動開始要求を受けて、対象プロセスを前記第1のサーバから前記第2のサーバへ移動する第2のステップと、
前記サーバ・ネットワーク連携制御手段は前記稼働サーバ切換制御手段からプロセス移動終了通知を受けて、前記第2のネットワーク情報を含む、前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段に送る第3のステップと、
前記コネクション制御手段がターゲットネットワークを前記第1のネットワークから前記第2のネットワークに切り換える第4のステップとを有するネットワーク間のプロセス移動方法である。
本発明のサーバ・ネットワーク連携制御装置は、端末の接続先の切り換え制御を行うユーザコネクション制御手段と、
異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御装置であって、
第1及び第2のサーバ情報及び第2のネットワーク情報を記憶する記憶部と、
前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、前記記憶部に記録されている移動先となる第2のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第2のネットワーク情報を含む、前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段へ送る処理とを実行する情報処理手段と、を備えたサーバ・ネットワーク連携制御装置である。
本発明のプログラムは、端末の接続先の切り換え制御を行うコネクション制御手段と、
異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御用コンピュータに次の処理(1)、(2)を実行させるためのプログラム。
(1) 前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、前記コンピュータの記憶部に記録されている移動先となる第2のサーバ情報、を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理
(2) 前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第2のネットワーク情報を含む前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段へ送る処理
本発明においては、障害予見時、あるいはオペレータの指示時に、コネクションの制御と稼動サーバの切換制御を連携して行うことにより、端末のユーザに意識させることなく、広域ネットワーク越しに、異なるネットワークにあるサーバ間で稼動サーバの切換を行う。具体的には、まず、稼動サーバ切換制御装置が、メインサイトのサーバ(以下、メインサーバとよぶ)のプロセスをバックアップサイトのサーバ(以下、バックアップサーバとよぶ)に複製し、メインサーバの、仮想IPアドレスなどの接続先を示す移動可能な識別子(以下、接続先識別子)を、バックアップサーバに付け替える。次に、特許文献2に示すような、ユーザに接続するVLANを切り換えることを可能にするコネクション制御装置が、ユーザの接続先ターゲット網を切り換えて、メインサーバを含むターゲット網からバックアップサーバを含むターゲット網に接続先を切り換えるゲートウェイなどにより、ユーザの接続先を切り換える。
この操作を、サーバ・ネットワーク連携制御装置が適宜稼動サーバ切換制御装置およびユーザコネクション制御装置に対して指示を出すことによって行う。この一連の動作を、以下、セッションマイグレーションと呼ぶ。
ここで本発明と公知の従来技術の相違について説明する。
まず、特許文献1には、プロセスマイグレーションによるプロセスのサーバ間移動と同時に論理アドレスの付け替えを行い、その際に論理/物理アドレス変更通知をユーザに通知することで、ユーザの接続先をプロセス移動先サーバに切り換えるという方式が記されている。しかし、この方式はユーザとバックアップサーバが直接同一LANで接続されている場合にのみ有効である。図13の構成のように、ユーザとバックアップサーバとが直接同一LANに属していない場合には、論理アドレスがバックアップサーバに移動したことがユーザには直接伝わらないため、ユーザの接続先はすぐには切り換わらない。本発明ではメインサイトとバックアップサイトとでVLANを分けることにより、ルータの論理アドレスやルーティングテーブルなどを同一に設定することができるため、サーバ間の論理アドレス(IPアドレス)の付け替えと同時にユーザの所属VLANを切り換えることによって、ユーザの接続先をすばやく移動させることができる。
次に特許文献3、5、6では、2重化構成において、現用系と待機系を切り換える際にIPアドレスを移動させるものであるが、上記と同様に、同一LANに接続元(ユーザ)が存在しない場合には、接続先の移動がすぐには切り換わらないという問題がある。
また特許文献4では、クライアントにおいて接続先IPアドレスを仮想IPアドレスから実IPアドレスへ変換して通信する構成とし、障害発生時に、変換する実IPアドレスを現用系(メイン)の実IPアドレスから待機系(バックアップ)の実IPアドレスへ切り換えるという方式を取ることにより、上位アプリケーションからは常に仮想IPアドレスと通信を行っているように見せるためのシステムが示されている。
しかし、障害発生時には、現用系サーバと待機系サーバ間で稼働サーバの切換(稼働サーバ切換)を行う必要があるが、その切換タイミングがIPアドレス変換の変換先実IPアドレスの切換(変換アドレス切換)のタイミングとずれてしまうと、アプリケーションとサーバとの通信に問題が生ずる。例えば、稼働サーバ切換が変換アドレス切換のタイミングよりも早いと、切り換わった稼働サーバではアプリケーションとの通信の継続を試みてパケットを送信するものの、アプリケーションにとっては、アドレス変換が行われていないために、送信元のIPアドレスがそれまで通信していた仮想IPアドレスとは異なることになり、それまでの通信と同一の通信とは認識されない。
本発明では、障害発生時の稼働サーバの切換手順(例えば、プロセスマイクレーションの手順)と、接続先を切り換えるためのネットワーク切換手順(例えば、ユーザ収容VLAN切換手順)とを統合的に制御することによって、それらの手順をそれぞれ単体で動作させる場合に発生するタイミングのずれに起因する上記のような問題を回避することができる。
本発明の効果は、障害発生時において、業務停止時間を最小化し、かつ端末のユーザに異なるネットワークのサーバ間での稼動サーバ切換処理の実行を意識させずに、業務を継続させることができる点である。
その理由は、稼動サーバ切換の際に、接続先識別子ごと移動させ、かつコネクション制御手段において、ユーザの接続先ターゲット網の切換を十分短時間で行うことで、端末のユーザが、常に同じ接続先識別子へ接続したまま、実際の接続先をメインサーバからバックアップサーバへ切り換えることができるためである。
本発明の実施の形態における、セッションマイグレーション装置の機能ブロック図である。 本発明の実施例1において、セッションマイグレーション動作以前のストリーミングデータ受信用ネットワークを示した図である。 本発明の実施例1における制御用メッセージ通信のための制御用ネットワークを示した図である。 本発明の実施例1において、プロセスのサーバ間移動のためのデータの通信のためのマイグレーション用ネットワークを示した図である。 本発明の実施例1における各手段の間に行われるメッセージのやり取りを示したメッセージシーケンスを示した図である。 本発明の実施例1において、セッションマイグレーション動作後のストリーミングデータ受信用ネットワークを示した図である。 本発明の実施の形態において、実施手順をあらわすフローチャートを示した図である。 本発明の実施例3における制御用メッセージ通信のための制御用ネットワークを示した図である。 本発明の実施例3において、セッションマイグレーション動作以前のストリーミングデータ受信用ネットワークを示した図である。 本発明の実施例3において、高負荷が発生してセッションマイグレーションが作動するまでの挙動を示した図である。 本発明の実施例3において、セッションマイグレーションが作動してプロセスが複製される挙動を示した図である。 本発明の実施例3における各手段の間に行われるメッセージのやり取りを示したメッセージシーケンスを示した図である。 接続先識別子を広域ネットワークを介して遠隔サーバ間で共有することの困難性を説明するための図である。 入力手段とサーバ・ネットワーク連携制御手段とがメインサイト、バックアップサイト、ユーザサイト以外の場所に設けられた例を示す図である。 入力手段とサーバ・ネットワーク連携制御手段とがメインサイト内に設けられた例を示す図である。 コンピュータの構成を示すブロック図である。 サーバ・ネットワーク連携制御手段の機能を示すブロック図である。
符号の説明
1 入力手段
2 サーバ・ネットワーク連携制御手段
3 稼動サーバ切換制御手段
4 ユーザコネクション制御手段
201 入力手段
202 サーバ・ネットワーク連携制御手段
203 マイグレーションデーモンA
204 マイグレーションデーモンB
205 ユーザコネクション制御手段
206 動画配信プロセス
207 メインサーバ
208 バックアップサーバ
209 メインサイトのルータ
210 バックアップサイトのルータ
901 東京サイトの動画配信サーバ
902 大阪サイトの動画配信サーバ
903 ユーザコネクション制御手段1
904 ユーザコネクション制御手段2
905 ユーザコネクション制御手段3
906 サーバ・ネットワーク連携制御手段
907 マイグレーションデーモンA
908 東京サイトの動画配信プロセス
909 マイグレーションデーモンB
910 大阪サイトの動画配信プロセス
911 東京サイトのルータ
912 大阪サイトのルータ
1301 メインサイトのサーバ
1302 バックアップサイトのサーバ
1303 メインサイト
1304 バックアップサイト
1305 メインサイトのルータ
1306 バックアップサイトのルータ
1307 ユーザサイトのルータ
1308 ユーザサイトのユーザマシン
1309 ユーザサイト
1310 広域イーサネット(登録商標)網
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図1を参照すると、本発明の第1の形態は、サーバ間でプロセスを移動させる稼動サーバ切換制御手段3と、端末(クライアント)の接続先ターゲット網を動的に切り換えるコネクション制御手段4と、稼動サーバ切換制御手段とコネクション制御手段4とを適切なタイミングで連携制御するサーバ・ネットワーク連携制御手段2と、サーバ・ネットワーク連携制御手段2へ稼動サーバ切換制御開始指示を送る入力手段1とを含む。
例えば図2、図3、図4及び図6に示すような、ユーザサイト、メインサイト、バックアップサイトがネットワークで結ばれたネットワークシステムにおいては、稼動サーバ切換制御手段3はメインサイトとバックアップサイトとに配置され、コネクション制御手段4はユーザコネクション制御手段としてユーザサイトに配置されている。稼動サーバ切換制御手段3はメインサイト、バックアップサイトの一方に配置される場合もある。
サーバ・ネットワーク連携制御手段2は必要に応じて、図3や図14に示すように、ユーザサイト、メインサイト、バックアップサイトとは別に配置されていてもよいし(図14では制御サイトに配置されている)、ユーザサイト、メインサイト、バックアップサイト内のいずれかに配置されていてもよい。例えばメインサイトでの災害防護用として本発明に係わるネットワークシステムを用いる場合には、サーバ・ネットワーク連携制御手段2は災害の影響が及ばないように、メインサイト以外のユーザサイト、バックアップサイト、或いはそれ以外の場所に配置することが望ましい。また、メインサイトのメンテナンスやメインサイトにアクセスが集中した場合にサイトの負荷を他サイトに分散することを目的として本発明に係わるネットワークシステムを用いる場合には、ユーザサイト、メインサイト、バックアップサイトのいずれかに、あるいはその他の場所にサーバ・ネットワーク連携制御手段2を配置することができる。図15はメインサイトに入力手段とサーバ・ネットワーク連携制御手段を配置した例を示す。例えば入力手段はメインサーバの負荷を検出する検知装置、サーバ・ネットワーク連携制御手段はその検知手段により検出され負荷状態により制御を行うプログラムとしてメインサーバに設けることができる。
入力手段1はサーバ・ネットワーク連携制御手段2と一体化されていてもよいし(例えば図14に示すように、制御サイトのパーソナルコンピュータ(PC)のGUI(グラフィカルユーザインタフェース)上のボタンとして入力手段を構成し、PC上のプログラムとしてサーバ・ネットワーク連携制御手段2を構成することができる。)、別に配置されていてもよい。例えば、入力手段1が停電や火災の発生を検知又は予見してサーバ・ネットワーク連携制御手段2へ稼動サーバ切換制御開始指示を送る災害検出装置の場合には、入力手段1はメインサイトに設けられ、サーバ・ネットワーク連携制御手段2は災害の影響を受けないようにメインサイトと離れて設けられる。
入力手段1の具体例としては、他に、メインサーバの負荷状況を監視し、負荷が一定の閾値を超えたときにサーバ・ネットワーク連携制御手段2へ稼動サーバ切換制御開始指示を送る負荷監視装置、機器のメンテナンンスのときや、メインサーバ207が置かれているメインサイトでの災害警報器からの通報を受けたときに、オペレータが押すキーボード、ボタン、コンピュータのディスプレイ上GUIのボタン等の入力機器等がある。
サーバ・ネットワーク連携制御手段2は、パーソナルコンピュータ(PC)上のプログラムとしてソフトウエアで構成したり、ハードウェア構成で実現することができる。コネクション制御手段4も同様に、パーソナルコンピュータ(PC)上のプログラムとしてソフトウエアで構成したり、ハードウェア構成で実現することができる。また稼動サーバ切換制御手段3も同様に、パーソナルコンピュータ(PC)上のプログラム(例えば図2のマイグレーションデーモン)としてソフトウエアで構成したり、ハードウェア構成で実現することができる。
以下、上記各手段について、その機能を説明する。
サーバ・ネットワーク連携制御手段2は、稼動サーバ切換制御手段3に対し稼動サーバ切換制御開始要求を送る。稼動サーバ切換制御手段3は、プロセスマイグレーションなどの技術を用いて、当該プロセスの内部情報を切換先のサーバ(バックアップサーバ)へ移動させる。この際、プロセス内部情報移動の前に、メインサーバの当該プロセスを休止状態としてもよい。またプロセス内部情報移動と同時に、接続先識別子をメインサーバからバックアップサーバへと付け替える処理を行ってもよい。これらの処理を終えると、稼動サーバ切換制御手段3は、サーバ・ネットワーク連携制御手段2へ稼動サーバ切換制御終了通知を送る。
また、プロセス内部情報移動と同時に当該プロセスを休止状態とした場合には、稼動サーバ切換制御終了通知発行後、稼動サーバ切換制御手段3は、サーバ・ネットワーク連携制御手段2からプロセス再開要求を受け、移動後のプロセスを休止状態から稼動状態へと変更する。
コネクション制御手段4は、サーバ・ネットワーク連携制御手段2から接続先ターゲット網切換要求が送られると、ユーザの接続先ターゲット網を、メインターゲット網からバックアップターゲット網へと切り換え、サーバ・ネットワーク連携制御手段2へ接続先ターゲット網切換終了通知を送る。具体的な実現方法としては、後述する実施例に示すように、ユーザの接続しているVLANを、メインサイトに接続可能なVLANからバックアップサイトに接続可能なVLANへと切り換える方法などがある。また、ターゲット網は、その他の方法(例えばIPsec (Security Architecture for Internet Protcol), L2TP (Layer 2 Tunneling Protocol), MPLS (MultiProtocol Label Switching)等のトンネル技術によるVPN (Virtual Private Network)など)で仮想的または物理的に分離された網であっても良い。
サーバ・ネットワーク連携制御手段2は、移動対象プロセスの情報と、当該プロセスが実行されているサーバであるメインサーバ情報と、当該プロセスが移動する先であるバックアップサーバ情報と、接続先ターゲット網切換対象ユーザ名情報と切換先接続先ターゲット網情報とを記憶部に保持している。
サーバ・ネットワーク連携制御手段2は、入力手段1からセッションマイグレーション開始要求を受け付け、それを契機として稼動サーバ切換制御手段3へ稼動サーバ切換制御開始要求を送る。この際、稼動サーバ切換制御手段3に対し、移動対象プロセス情報と、当該プロセスが実行されているサーバであるメインサーバ情報と、当該プロセスが移動する先であるバックアップサーバ情報とを与える。
また、サーバ・ネットワーク連携制御手段2は、稼動サーバ切換制御手段3から稼動サーバ切換制御終了通知を受けた際には、それを契機としてコネクション制御手段4に対して接続先ターゲット網切換要求を送る。この際、コネクション制御手段4に対し、切り換え対象ユーザ名情報と切り換え先接続先ターゲット網情報とを与える。コネクション制御手段4から接続先ターゲット網切換終了通知が送られると、それを契機として稼動サーバ切換制御手段へプロセス再開要求を送る。この際、稼動サーバ切換制御手段3に対し、バックアップサーバ情報と、移動対象プロセス情報とを与える。稼動サーバ切換制御手段3からプロセス再開終了通知を受けると、サーバ・ネットワーク連携制御動作を終了する。
以下、図7に示すフローチャートに沿って、本実施形態の実施手順について説明する。
通常時、移動対象プロセスはメインサーバ上で動作しており、端末(クライアント)としてのユーザマシンは、メインサーバに割り当てられた接続先識別子に接続することで、プロセスを利用して、業務を行っている。
実行者は、入力手段1を用いて、サーバ・ネットワーク連携制御手段2に対し、セッションマイグレーション開始要求を発行する(ステップS701)。実行者は、オペレータであっても、図示せぬ災害検出装置などの自動実行装置であってもよい。
サーバ・ネットワーク連携制御手段2は、セッションマイグレーション開始要求を受けると、稼動サーバ切換制御手段3に対し、稼動サーバ切換制御開始通知を発行し、稼動サーバ切換の開始を指示する(ステップS702)。この際、稼動サーバ切換制御手段3に対して与える情報として、移動対象プロセス情報と、当該プロセスが実行されているサーバであるメインサーバ情報と、移動先サーバであるバックアップサーバ情報と、メインサーバに割り当てられている接続先識別子情報とを含めて良い。
稼動サーバ切換制御手段3では、サーバ・ネットワーク連携制御手段2から受信した稼動サーバ切換制御開始通知を受け、稼動サーバの切換を行う。具体的には、以下の処理P1〜P4の動作をこの順で行う。P1.当該プロセスを休止状態とする(ステップS703)。P2.プロセスマイグレーションなどの技術を用いて、当該プロセスを稼働させるサーバをメインサーバからバックアップサーバに切り換える(ステップS704)。P3.仮想IPアドレスなどの接続先識別子をメインサーバからバックアップサーバへと付け替える(ステップS705)。P4.サーバ・ネットワーク連携制御手段2へ稼動サーバ切換制御終了通知を送る(ステップS706)。なお、処理P1(すなわちステップS703)および処理P3(すなわちステップS705)は、必須ではない。
なお、処理P1を行った場合、サーバ移動後の当該プロセスは休止状態であり、上記処理P4の動作の終了時においても、サーバ移動後の当該プロセスは依然休止状態である。
次にサーバ・ネットワーク連携制御手段2は、稼動サーバ切換制御終了通知を受けると、コネクション制御手段4に対して接続先ターゲット網切換要求を送る(ステップS707)。この際、コネクション制御手段4に対し、接続先ターゲット網切換対象ユーザ名情報と、ユーザに対応する切り換え先接続先ターゲット網情報とを共に与えて良い。
コネクション制御手段4は、接続先ターゲット網切換対象ユーザ名に対応するユーザの接続先ターゲット網を、切り換え先接続先ターゲット網に切り換える(ステップS708)。ここで、ユーザの接続先ターゲット網切換を、ユーザの接続先VLANを切り換えることで行う場合は、切り換える先のVLANを、メンバとしてバックアップサーバのみを含み、メインサーバを含まないものとする。切り換えが終了すると、コネクション制御手段4は、サーバ・ネットワーク連携制御手段2に対し、接続先ターゲット網切換終了通知を発行する。
ここで、ステップS703のプロセス休止処理を行っていなかった場合には、サーバ・ネットワーク連携制御の全過程を終了する。
ステップS703のプロセス休止処理を行っていた場合には、サーバ・ネットワーク連携制御手段2は、接続先ターゲット網切換終了通知を受けると、稼動サーバ切換制御手段3に対し、プロセス再開要求通知を発行する(ステップS709)。この際、稼動サーバ切換制御手段3に対し、再開対象プロセス情報(すなわち移動したプロセスの情報)を共に通知しても良い。
稼動サーバ切換制御手段3では、サーバ・ネットワーク連携制御手段2から受信したプロセス再開要求通知を受け、対象プロセスを再開させる(ステップS710)。
プロセス再開が完了すると、稼動サーバ切換制御手段3は、サーバ・ネットワーク連携制御手段2に対してプロセス再開終了通知を発行する(ステップS711)。
サーバ・ネットワーク連携制御手段2は、プロセス再開終了通知を受けると、セッションマイグレーションの全過程を終了する。
サーバ・ネットワーク連携制御手段2は、プロセス再開終了通知を受けた後(ステップS703を実行していなかった場合には、接続先ターゲット網切換終了通知を受けた後)、実行者に対してセッションマイグレーションの終了を伝えるために、図示せぬ出力手段にセッションマイグレーションの終了を通知してもよい。
次に、本発明の実施例を図2〜図6を用いて説明する。
本実施例では、図2に示すように、ユーザは仮想IPアドレス“v”を持つメインサーバ207上の動画配信プロセス206に広域Etherネットワーク経由で接続し、TCP (Transmission Control Protocol)/IPを利用してストリーミングデータを受信している。また、あらかじめユーザは、ユーザコネクション制御装置によって、メインサイトのルータ209のみを含み、バックアップサイトのルータ210が含まれないようなVLAN“1”に接続されている。
また、サーバ・ネットワーク連携制御手段202は、図14に示すように、パーソナルコンピュータ(PC)上のプログラムとして実装されている。入力手段201は、サーバ・ネットワーク連携制御手段202のプログラムが実装されているPC上のGUI(グラフィカルユーザインタフェース)上のボタンとして実装されている。出力手段は、サーバ・ネットワーク連携制御手段202のプログラムが実装されているPCに接続されているディスプレイとして実装されている。
また、メインサーバ207およびバックアップサーバ208には、OSとしてLinuxが搭載されており、稼動サーバ切換制御手段は、メインサーバ207上にマイグレーションデーモンA203、バックアップサーバ208上にマイグレーションデーモンB204と、それぞれLinux上のプログラム(デーモン)として実装されている。なお、稼動サーバ切換制御手段はメインサーバ207、バックアップサーバ208のいずれか一方に設けられてもよく、一方のサーバから他方のサーバを制御してプロセス移動を行うようにしてもよい。また、稼働サーバ切換制御手段はメインサーバ207、バックアップサーバ208とは別にメインサーバ207、バックアップサーバ208と接続されるPCを設け、それにプログラムとして実装されていてもよい。
また、コネクション制御手段となるユーザコネクション制御手段205は、ユーザサイトのネットワークアクセスゲートウェイであるPC上のプログラムとして実装されている。ネットワークアクセスゲートウェイであるPCはユーザサイトのユーザ端末を構成するユーザマシンに接続されている。ユーザコネクション制御手段205はユーザ端末(ユーザマシン)に設けられていてもよい。
また、図3に示すように、サーバ・ネットワーク連携制御手段202、稼動サーバ切換制御手段(すなわちマイグレーションデーモンA203およびマイグレーションデーモンB204)、ユーザコネクション制御手段205は、制御用ネットワーク経由で、互いに制御用コマンドを送受信できるようになっている。
また、メインサーバ207とバックアップサーバ208とでプロセスマイグレーションのためのデータ転送路として、図4に示すような専用のネットワークを用意してもよい。また、動的に帯域を確保する経路制御手段を用いてもよい。
また、ルータ209とルータ210のルーティングテーブルには、ともに仮想IPアドレス“v”へのルートが明記されている。また、広域イーサネット(登録商標)網側のインターフェースには同一IPアドレス(図2では“r”)がついている。ここでは、ルータ209とルータ210は同じネットワーク(この場合はVLAN)に属していないために、同じIPアドレスが2つ存在しても、また同じIPアドレスへの経路が2つ存在しても問題ない。
以下、セッションマイグレーションの一連の動作について、図5をもとに詳細に説明する。
メインサーバ207が置かれているメインサイトでの災害警報発令(ステップS501)を受け、実行者は、セッションマイグレーション開始要求入力手段201であるGUIのボタンを押すことで、サーバ・ネットワーク連携制御手段202に対し、セッションマイグレーション開始要求を発行する(ステップS502)。
マイグレーション元である稼動サーバ切換制御手段Aに対し、プロセスマイグレーション開始通知を発行する(ステップS503)。その際、マイグレーション対象プロセス情報としてプロセスID“2000”と、マイグレーション先サーバ情報として実IPアドレス“b2”と、仮想IPアドレス“v”とを共に通知する。マイグレーション対象プロセス情報としてプロセス移動タイミング情報のみを通知し、マイグレーションデーモンA203が移動すべきプロセスを特定してマイグレーションさせるようにしてもよい。
次に、プロセスマイグレーション開始要求を受信したマイグレーションデーモンA203では、1.自サーバ上のプロセスID“2000”を持つ動画配信プロセス206を休止(フリーズ)状態とする(ステップS504)。2.動画配信プロセス206をマイグレーションする(ステップS506)。3.仮想IPアドレス“v”をマイグレーションデーモンB204を通してバックアップサーバ208に付け替える(ステップS507)。4.サーバ・ネットワーク連携制御手段202へプロセスマイグレーション終了通知を送る(ステップS509)。
プロセスマイグレーション終了通知は、バックアップサーバのマイグレーションデーモンB204により送られるようにしてもよい。後述する実施例2,3においても同様である。
サーバ・ネットワーク連携制御手段202は、稼動サーバ切換制御手段Aからマイグレーション終了通知を受け、ユーザコネクション制御手段205に対し、VLAN切り換え要求を発行する(ステップS510)。その際、対象ユーザ名“Taro”と切り換え先VLAN ID“2”とを共に通知する。
ユーザコネクション制御手段205は、これまでVLAN“1”に接続されていたユーザ“Taro”を、VLAN“2”に接続させる(ステップS511)。切り換えが終了すると、ユーザコネクション制御手段205は、サーバ・ネットワーク連携制御手段202に対し、VLAN切り換え終了通知を発行する(ステップS513)。
次にサーバ・ネットワーク連携制御手段202は、VLAN切り換え終了通知を受けると、マイグレーションデーモンA203に対し、プロセス再開要求通知(ステップS514)を、再開対象プロセスID“2000”と共に通知する。
マイグレーションデーモンA203は、マイグレーションデーモンB204を通じて、バックアップサーバ208内のプロセスID“2000”を持つ動画配信プロセス206に対し、フリーズ解除(プロセス再開)操作を行う(ステップS515)。このとき、ユーザは再びストリーミングデータの受信を再開できる(図6)。プロセス再開が終了すると、マイグレーションデーモンA203は、サーバ・ネットワーク連携制御手段202に対し、プロセス再開終了通知を発行する(ステップS517)。
サーバ・ネットワーク連携制御手段202は、プロセス再開終了通知を受けると、マイグレーションの全過程を終了し、出力手段に対し、セッションマイグレーション終了通知を発行し(ステップS518)、実行者にセッションマイグレーションの終了を通知する。
この一連の過程の中で、ユーザは、プロセスマイグレーションの終了時点で、一時接続先IPアドレスを見失うものの、VLANの切り換えをすばやく行うことで、上位アプリケーションなどによるTCPセッションの切断が起こる前に、再び接続先IPアドレスを発見することができ、通信を途切らせることなく再開できる。また、ユーザの接続先ターゲット網の変更手段として、VLANの切り換えを用いることによって、ユーザに対し、プロセスマイグレーション前後において常に同じIP(ここでは仮想IP“v”)に接続しているという認識を与えることができる。これらにより、極力ユーザにそれと意識させることなく、マイグレーションを実現できる。
このシーケンスの中では、ユーザにとって認識しうる事象は、以下のようなシーケンスとなる。
ユーザは、メインサーバ207のIPアドレス“v”とTCPセッションを確立し、動画配信プロセス206からストリーミングデータを受信している。
動画配信プロセス206がフリーズする(ステップS504)と同時に、ストリーミングデータの受信が一時中断される。
次に、仮想IPアドレス“v”が、メインサーバ207からバックアップサーバ208へ付け替えられる(ステップS507)と、ユーザはそれまで接続していたIPアドレス“v”を見失うことになるが、ユーザが接続するVLANがVLAN1からVLAN2へ切り替わる(ステップS511)と、ユーザは再びIPアドレス“v”を発見する(ステップS512)。IPアドレスを見失っている時間、すなわちステップS507からステップS511までの時間は、上位アプリケーションが輻輳を検知してTCPセッションを切断する時間よりも充分短くすることが可能であり、したがって、この間ユーザはTCPセッションを切断することなく、通信を維持することが可能となる。
動画配信プロセス206が再開される(ステップS515)と、ユーザは再び動画配信プロセス206からストリーミングデータを受信することができる(ステップS516)。動画配信プロセスがフリーズしている間、すなわちステップS504からステップS515の間は、ユーザのストリーミングデータ受信は停止することになる。しかし通常、動画閲覧アプリケーションには、通信が何秒か停止しても動画が途切れないようにバッファが用意されており、また、ステップS504からステップS515の時間は、バッファによって動画品質が維持できる程度に短くすることが可能である。そのため、ユーザの動画閲覧には全く影響を及ぼすことなく、広域ネットワーク経由でルータ越しのプロセスマイグレーションを行うことができる。
図17はサーバ・ネットワーク連携制御手段の機能を示すブロック図である。入力手段制御部1403は入力手段1からのセッションマイグレーション開始要求を状態管理部1401に出力する。稼働サーバ切換制御手段制御部1404は稼働サーバ切換制御手段3と情報の送受信を行い、ユーザコネクション制御手段制御部1405はユーザコネクション制御手段と情報の送受信を行う。状態管理部1401は図5、図7に示したサーバ・ネットワーク連携制御手段のセッションマイグレーションの動作を制御する。設定記憶部1402にはサーバ1の対象プロセス番号、マイグレーション先サーバIPアドレス、仮想IPアドレス等の情報が記憶される。
本実施例ではサーバ・ネットワーク連携制御手段の各制御部、状態管理部はパーソナルコンピュータ(PC)上のプログラムとして実装され、例えば図16に示すように、当該プログラムをハードディスク等のディスク装置3004に記憶させ、DRAM等のメモリ3003に対象プロセス番号等の情報を記憶させ、CPU3006によりプログラムが実行される。キーボードは入力手段1となる。CRT3002は情報処理状況やマイグレーション処理結果等を表示する表示手段となる。3005はデータバス等のバスを示す。なお、サーバ・ネットワーク連携制御手段の機能はソフトウエアで実現されるが、ハードウェア構成で実現することもできる。
次に、本発明の第2の実施例を説明する。本実施例では、実施例1と同じ構成を用いる。
この実施例では、メインサイトにおいてプロセス実行の停止を必要とするシステムのアップグレードなどのメンテナンスに伴い、オペレータが手動でセッションマイグレーションを行う。実施例1と比較すると、災害警報発令を実施の契機とするのではなく、オペレータがメインサイトのメンテナンスのスケジュールに合わせてセッションマイグレーションを行う点のみが異なる。
次に、本発明の第3の実施例を図8〜図12を用いて説明する。
この実施例では、あるサイト(図9においては東京サイト)にアクセスが集中した際に、サイトの負荷を他サイト(図9では大阪サイト)に分散することを目的とするが。その際に、多拠点に分散化されたアクセスは、遅延などの影響を減少させるために、接続するユーザ各々がより地理的に最も近いサイトに接続させることを併せて実現する。
初期状態(図9)では、東京サイトにあるサーバ901において、動画配信サービスを提供しており、東京のユーザ1と大阪のユーザ2が接続して動画配信サービスを利用している。サーバ・ネットワーク連携制御手段では、現在東京サイトのサーバ901に接続している接続ユーザ数情報と、接続ユーザ数がこの値以上になると負荷分散を実行する閾値情報と、大阪サイトにおいて動画配信サービスが稼動しているか否かを示す大阪サイト稼動状況情報とを保持している。図9の場合では、接続先ユーザ数情報は“2”、閾値情報は“2.5”、大阪サイト稼動情報は“OFF”である。
また、サーバ・ネットワーク連携制御手段906、マイグレーションデーモンA907およびマイグレーションデーモンB909、ユーザコネクション制御手段1〜3(903〜905)は、図8に示すような物理的、あるいはVPNなどの仮想の制御専用ネットワーク経由で、互いに制御用コマンドを送受信できるようになっている。
また、実施例1と同様、東京サイトのルータ911、大阪サイトのルータ912は同一のVLANに属することはなく、同一仮想IPアドレス“v”へのルートを明記したルーティングテーブルを静的に保持し、広域イーサネット(登録商標)網側のインターフェースには同一IPアドレス(図9〜図11では“r”)がついている。
ここで、東京のユーザ2から新規に接続要求が来たときには、東京サイトにおける接続先ユーザ数“3”が閾値“2.5”を越え、また大阪サイト稼動情報が“OFF”であるため、セッションマイグレーションを開始する。以下、その際のシーケンスを図12を参照しながら説明する。
東京サイトのサーバ901において、高負荷が発生すると(ステップS1201)、東京サイトのサーバ901あるいは当該サーバの負荷状況を監視している負荷監視装置が、サーバ・ネットワーク連携制御手段に対してセッションマイグレーション開始要求を発行(ステップS1202)する。
サーバ・ネットワーク連携制御手段は、セッションマイグレーション開始要求を受信すると、東京サイトのサーバ901のマイグレーションデーモン907に対し、プロセスマイグレーション開始通知を発行(ステップS1203)する。その際、マイグレーション対象プロセス情報としてプロセスID“2000”と、マイグレーション先サーバ情報として実IPアドレス“b2”と、仮想IPアドレス“v”とを共に通知する。
次に、プロセスマイグレーション開始要求を受信したマイグレーションデーモン907では、処理P11.自サーバ上のプロセスID“2000”を持つ動画配信プロセス908を休止(フリーズ)状態とする(ステップS1204)。処理P12.動画配信プロセス908をマイグレーションする(ステップS1206)。処理P13.仮想IPアドレス“v”をマイグレーションデーモンB909を通して大阪サイトのサーバ902に複製する(ステップS1207)。処理P14.サーバ・ネットワーク連携制御手段906へプロセスマイグレーション終了通知を送る(ステップS1208)。
サーバ・ネットワーク連携制御手段906は、マイグレーションデーモン907からマイグレーション終了通知を受け、大阪サイト稼動情報を“ON”に変更し(ステップS1209)、ユーザコネクション制御手段905に対し、VLAN切り換え要求を発行する(ステップS1210)。その際、対象ユーザ名“ユーザ2”と切り換え先VLAN ID“2”とを共に通知する。ここで、切換対象として、それまでプロセスに接続していた全てのユーザが対象となるのではなく、一部のユーザで良い。一部のユーザを選択する基準としては、プロセスマイグレーションによって新しくプロセスが稼動するサイトに近いユーザのみを対象とする、などの基準が考えられる。本実施例では、大阪から接続していたユーザ2を、切換対象のユーザとし、ユーザ1とユーザ3に関しては、接続先切換を行わない。
ユーザコネクション制御手段905は、これまでVLAN“1”に接続されていたユーザ“ユーザ2”を、VLAN“2”に接続させる(ステップS1211)。切り換えが終了すると、ユーザコネクション制御手段2(905)は、サーバ・ネットワーク連携制御手段906に対し、VLAN切り換え終了通知を発行する(ステップS1213)。
次にサーバ・ネットワーク連携制御手段906は、VLAN切り換え終了通知を受けると、マイグレーションデーモンA907に対し、プロセス再開要求通知(ステップS1214)を、再開対象サーバの実IPアドレス、再開対象プロセスIDの組と共に通知する。本実施例では、(a2,2000)、(b2,2000)として通知する。
マイグレーションデーモン907は、マイグレーションデーモン909を通じて、東京サイトのサーバ901内のプロセスID“2000”を持つ動画配信プロセス908に対するフリーズ解除(プロセス再開)操作と、大阪サイトのサーバ902内のプロセスID“2000”を持つ動画配信プロセス910に対するフリーズ解除(プロセス再開)操作を、同時に行う(ステップS1215)。このときユーザ1およびユーザ3は東京サイトのサーバ901から、ユーザ3は大阪サイトのサーバ902から、再びストリーミングデータの受信を再開できる。プロセス再開が終了すると、マイグレーションデーモンA907は、サーバ・ネットワーク連携制御手段906に対し、プロセス再開終了通知を発行する(ステップS1217)。
サーバ・ネットワーク連携制御手段906は、プロセス再開終了通知を受けると、マイグレーションの全過程を終了し、東京サイトのサーバ901に対し、セッションマイグレーション終了通知を発行する(ステップS1218)。
この一連の過程の中で、ユーザは、プロセスマイグレーションの終了時点で、一時接続先IPアドレスを見失うものの、VLANの切り換えをすばやく行うことで、上位アプリケーションがネットワークの輻輳を検知することによりTCPセッションを切断する前に、再び接続先IPアドレスを発見することができ、通信を途切らせることなく再開できる。また、ユーザの接続先ターゲット網の変更手段として、VLANの切り換えを用いることによって、ユーザに対し、プロセスマイグレーション前後において常に同じIP(ここでは仮想IP“v”)に接続しているという認識を与えることができる。これらにより、極力ユーザにそれと意識させることなく、マイグレーションを実現できる。
このシーケンスの中では、ユーザにとって認識しうる事象は、以下のようなシーケンスとなる。
ユーザ1〜3は、東京サイトのサーバ901のIPアドレス“v”とTCPセッションを確立し、動画配信プロセス908からストリーミングデータを受信している。
動画配信プロセス908がフリーズする(ステップS1204)と同時に、ストリーミングデータの受信が一時中断される(ステップS1205)。
次に、仮想IPアドレス“v”が、東京サイトのサーバ901から大阪サイトのサーバ902へ複製される(ステップS1207)。
ユーザ1およびユーザ3にとっては、接続先VLANが切り替わることもなく、プロセスが再開(ステップS1215)されると、再び動画配信プロセス908からストリーミングデータを受信することができるようになる(ステップS1216)。
ユーザ2にとっては、ユーザ3が接続するVLANがVLAN1からVLAN2へ切り替わる(ステップS1211)と、ユーザはIPアドレス“v”を大阪サイトのサーバ902に発見し(ステップS1212)、プロセスが再開(ステップS1215)されると、再び動画配信プロセス910からストリーミングデータを受信することができるようになる(ステップS1216)。
このようにしてユーザは、ステップS1205からステップS1216の短い時間ストリーミングデータが受信できなくなるという事象を除くと、プロセスがマイグレーションしたことを意識することはない。また、ユーザが利用するストリーミング再生アプリケーションは通常、通信が何秒か停止しても動画が途切れないような十分なバッファを持っており、このため動画を閲覧しているユーザに対し、それと認識させることなくプロセスマイグレーションをすることができる。
このようにすることで、広域な負荷分散が接続順序に左右されることなく、最適に行うことができる。
実施例1と比較すると、セッションマイグレーション実行の契機が東京サイトにおける接続ユーザ数が閾値を越えることである点、またプロセスの複製後、プロセスを再開する際に、大阪サイトのプロセスのみならず東京サイトのプロセスを同時に再開して、双方を稼動状態とする点が異なる。

Claims (7)

  1. 端末の接続先の切り換え制御を行うコネクション制御手段と、
    相互に異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
    前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
    第1及び第2のサーバ情報及び第2のネットワーク情報を記憶する記憶部を備え、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
    を有するネットワークシステムであって、
    前記サーバ・ネットワーク連携制御手段前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、前記記憶部に記憶されている移動先となる第2のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る第1の処理を実行する情報処理手段を備え、
    前記稼働サーバ切換制御手段が、前記移動開始要求を受けて、対象プロセスを前記第1のサーバから前記第2のサーバへ移動する第2の処理を実行する情報処理手段を備え、
    前記サーバ・ネットワーク連携制御手段が、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第2のネットワーク情報を含む、前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段へ送る第3の理を実行する情報処理手段を備え、
    前記コネクション制御手段が、ターゲットネットワークを前記第1のネットワークから前記第2のネットワークに切り換える第4の処理を実行する情報処理手段を備えることを特徴とするネットワークシステム。
  2. 請求項1記載のネットワークシステムにおいて、前記稼働サーバ切換制御手段は前記第1及び第2のサーバのうち少なくとも一方に含まれているネットワークシステム。
  3. 端末の接続先の切り換え制御を行うコネクション制御手段と、
    相互に異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
    前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、
    前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御手段と、
    を有するネットワーク間のプロセス移動方法であって、
    前記サーバ・ネットワーク連携制御手段が前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、移動先となる第2のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る第1のステップと、
    前記稼働サーバ切換制御手段は前記移動開始要求を受けて、対象プロセスを前記第1のサーバから前記第2のサーバへ移動する第2のステップと、
    前記サーバ・ネットワーク連携制御手段は前記稼働サーバ切換制御手段からプロセス移動終了通知を受けて、前記第2のネットワーク情報を含む、前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段に送る第3のステップと、
    前記コネクション制御手段がターゲットネットワークを前記第1のネットワークから前記第2のネットワークに切り換える第4のステップとを有するネットワーク間のプロセス移動方法。
  4. 請求項3に記載のネットワーク間のプロセス移動方法において、前記第2のステップで、前記対象プロセスを前記第2のサーバへ移動する前に前記対象プロセスを休止状態とし、
    前記第4のステップ後に、サーバ間移動をした前記対象プロセスに対して休止状態解除を行う第5のステップを有することを特徴とするネットワーク間のプロセス移動方法。
  5. 請求項3に記載のネットワーク間のプロセス移動方法において、前記第2のステップで、前記第2のサーバに対して、移動可能な接続先識別子の付け替えを行うことを特徴とするネットワーク間のプロセス移動方法。
  6. 端末の接続先の切り換え制御を行うコネクション制御手段と、
    相互に異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
    前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御装置であって、
    第1及び第2のサーバ情報及び第2のネットワーク情報を記憶する記憶部と、
    前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、前記記憶部に記録されている移動先となる第2のサーバ情報を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、前記稼働サーバ切換制御手段が前記移動開始要求を受けて、対象プロセスを前記第1のサーバから前記第2のサーバへ移動した後に、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第2のネットワーク情報を含む、前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段へ送る処理とを実行する情報処理手段、
    を備え、
    前記2つの処理をした後に、前記コネクション制御手段がターゲットネットワークを前記第1のネットワークから前記第2のネットワークに切り換えることを特徴とするサーバ・ネットワーク連携制御装置。
  7. 端末の接続先の切り換え制御を行うコネクション制御手段と、
    相互に異なる第1及び第2のネットワークにそれぞれ属し、前記端末と該第1及び第2のネットワークを介してそれぞれ接続される第1及び第2のサーバと、
    前記第1のサーバから前記第2のサーバへのプロセス移動を行う稼働サーバ切換制御手段と、を備えたネットワークシステムに用いられ、前記稼働サーバ切換制御手段及び前記コネクション制御手段に接続されたサーバ・ネットワーク連携制御用コンピュータに、
    1)前記第1のサーバから前記第2のサーバへのプロセス移動要求を受けて、前記コンピュータの記憶部に記録されている移動先となる第2のサーバ情報、を含む移動開始要求を前記稼働サーバ切換制御手段へ送る処理と、
    (2)前記稼働サーバ切換制御手段が前記移動開始要求を受けて、対象プロセスを前記第1のサーバから前記第2のサーバへ移動した後に、前記稼働サーバ切換制御手段から対象プロセス移動終了通知を受けて、前記記憶部に記録されている第2のネットワーク情報を含む前記第1のネットワークから前記第2のネットワークへの切換要求を前記コネクション制御手段へ送る処理と、
    を実行させるためのプログラムであって、
    前記サーバ・ネットワーク連携制御用コンピュータが前記2つの処理を実行した後に、前記コネクション制御手段がターゲットネットワークを前記第1のネットワークから前記第2のネットワークに切り換える処理を実行することを特徴とするプログラム
JP2006510468A 2004-02-26 2005-02-25 ネットワーク間のプロセス移動方法およびそのネットワークシステム Expired - Fee Related JP4591840B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004051751 2004-02-26
JP2004051751 2004-02-26
PCT/JP2005/003147 WO2005083569A1 (ja) 2004-02-26 2005-02-25 ネットワーク間のプロセス移動方法およびそのネットワークシステム

Publications (2)

Publication Number Publication Date
JPWO2005083569A1 JPWO2005083569A1 (ja) 2008-01-17
JP4591840B2 true JP4591840B2 (ja) 2010-12-01

Family

ID=34908645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006510468A Expired - Fee Related JP4591840B2 (ja) 2004-02-26 2005-02-25 ネットワーク間のプロセス移動方法およびそのネットワークシステム

Country Status (3)

Country Link
US (1) US7684417B2 (ja)
JP (1) JP4591840B2 (ja)
WO (1) WO2005083569A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239477B2 (en) * 2005-07-08 2012-08-07 Cisco Technology, Inc. Apparatus and methods for controlling a data tapping session in a storage area network
US20070208799A1 (en) * 2006-02-17 2007-09-06 Hughes William A Systems and methods for business continuity
US20080080526A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Migrating data to new cloud
US8719143B2 (en) * 2006-09-28 2014-05-06 Microsoft Corporation Determination of optimized location for services and data
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
JP5149556B2 (ja) * 2007-07-30 2013-02-20 株式会社日立製作所 システム情報要素を移行するストレージシステム
US20090083586A1 (en) * 2007-09-24 2009-03-26 General Electric Company Failure management device and method
JP4871850B2 (ja) * 2007-12-04 2012-02-08 株式会社日立製作所 仮想計算機システム及び仮想計算機移行制御方法
JP5074290B2 (ja) * 2008-05-13 2012-11-14 株式会社日立国際電気 冗長切替システム、冗長管理装置およびアプリケーション処理装置
JP5074327B2 (ja) * 2008-08-21 2012-11-14 株式会社日立製作所 経路制御システム
US8234377B2 (en) 2009-07-22 2012-07-31 Amazon Technologies, Inc. Dynamically migrating computer networks
JP5446040B2 (ja) 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
CN102792287B (zh) * 2010-03-08 2016-01-06 日本电气株式会社 计算机系统、现用系统计算机和待机系统计算机
US8300790B2 (en) 2010-12-27 2012-10-30 Avaya Inc. Method and system for automatic conference call session migration
JP5486526B2 (ja) * 2011-02-17 2014-05-07 日本電信電話株式会社 制御装置、制御システム、制御方法、及び制御プログラム
JP5954414B2 (ja) * 2012-06-26 2016-07-20 富士通株式会社 通信制御装置、通信制御方法及び通信制御システム
CN103297279B (zh) * 2013-06-20 2016-03-23 烽火通信科技股份有限公司 一种多软件进程系统上软件控制的主备单盘倒换方法
US9298553B2 (en) 2014-02-08 2016-03-29 International Business Machines Corporation Methods, apparatus and system for selective duplication of subtasks
US10169065B1 (en) * 2016-06-29 2019-01-01 Altera Corporation Live migration of hardware accelerated applications
JP6557785B2 (ja) * 2016-07-12 2019-08-07 株式会社日立製作所 計算機システム及びストレージ装置の制御方法
CN107870916A (zh) * 2016-09-23 2018-04-03 伊姆西Ip控股有限责任公司 存储管理方法及设备
US10374874B2 (en) * 2016-10-18 2019-08-06 Nicira, Inc. Reducing data plane disruption in a virtual switch
US10768996B2 (en) 2018-10-23 2020-09-08 Vmware, Inc. Anticipating future resource consumption based on user sessions
US11132270B2 (en) * 2019-05-13 2021-09-28 Saudi Arabian Oil Company Planned zero downtime server switching for web applications
JP7241671B2 (ja) * 2019-12-25 2023-03-17 本田技研工業株式会社 サービス提供システム、および携帯通信端末用のプログラム
WO2022215549A1 (ja) * 2021-04-08 2022-10-13 ソニーグループ株式会社 処理システム、並びに、情報処理装置および方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329025A (ja) * 1995-05-30 1996-12-13 Toshiba Corp プロセスマイグレーション方式
JP2001350736A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2003234752A (ja) * 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> タグ変換を用いた負荷分散方法及びタグ変換装置、負荷分散制御装置
JP2004038783A (ja) * 2002-07-05 2004-02-05 Nippon Telegr & Teleph Corp <Ntt> サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法
JP2004537126A (ja) * 2001-07-23 2004-12-09 ネットワーク アプライアンス, インコーポレイテッド 高可用性クラスターの仮想サーバ・システム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212095A (ja) 1994-10-31 1996-08-20 Hitachi Ltd クライアントサーバ制御システム
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
JP2638565B2 (ja) 1995-06-06 1997-08-06 日本電気株式会社 Lan接続装置及び方法
JPH0934814A (ja) 1995-07-18 1997-02-07 Nec Corp 情報処理装置の予備切り替えシステム
JP2738362B2 (ja) 1995-09-27 1998-04-08 日本電気株式会社 ネットワーク接続装置
US6128657A (en) * 1996-02-14 2000-10-03 Fujitsu Limited Load sharing system
JPH1027148A (ja) 1996-07-10 1998-01-27 Hitachi Ltd インターネット用サーバシステム
JPH10320323A (ja) 1997-05-15 1998-12-04 Hewlett Packard Japan Ltd サーバコンピュータ、サーバコンピュータの制御方法、およびサーバコンピュータを制御するためのプログラムを記録した記録媒体
JP3786328B2 (ja) * 1998-07-27 2006-06-14 株式会社日立製作所 サーバおよび通信制御方法
JP2000250771A (ja) 1999-02-25 2000-09-14 Nec Corp サーバ二重化方式
JP3482992B2 (ja) 1999-04-14 2004-01-06 日本電気株式会社 冗長lanシステムおよび現用系・予備系切り替え方法
US6910078B1 (en) * 2001-11-15 2005-06-21 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of stream data
JP2003163689A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ネットワーク連携情報処理システムおよびその複数負荷分散機間のアクセス移動方法
JP2003298624A (ja) 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> サービス制御アプリケーション実行システムにおける通信路確保方法
JP2004102374A (ja) * 2002-09-05 2004-04-02 Hitachi Ltd データ移行装置を有する情報処理システム
JP4252301B2 (ja) * 2002-12-26 2009-04-08 株式会社日立製作所 記憶システム及びそのデータバックアップ方法
US7383264B2 (en) * 2003-03-27 2008-06-03 Hitachi, Ltd. Data control method for duplicating data between computer systems
JP3858884B2 (ja) 2003-11-05 2006-12-20 日本電気株式会社 ネットワークアクセスゲートウェイ及びネットワークアクセスゲートウェイの制御方法並びにプログラム
JP2006146476A (ja) * 2004-11-18 2006-06-08 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329025A (ja) * 1995-05-30 1996-12-13 Toshiba Corp プロセスマイグレーション方式
JP2001350736A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2004537126A (ja) * 2001-07-23 2004-12-09 ネットワーク アプライアンス, インコーポレイテッド 高可用性クラスターの仮想サーバ・システム
JP2003234752A (ja) * 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> タグ変換を用いた負荷分散方法及びタグ変換装置、負荷分散制御装置
JP2004038783A (ja) * 2002-07-05 2004-02-05 Nippon Telegr & Teleph Corp <Ntt> サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法

Also Published As

Publication number Publication date
US7684417B2 (en) 2010-03-23
WO2005083569A1 (ja) 2005-09-09
US20080019316A1 (en) 2008-01-24
JPWO2005083569A1 (ja) 2008-01-17

Similar Documents

Publication Publication Date Title
JP4591840B2 (ja) ネットワーク間のプロセス移動方法およびそのネットワークシステム
US9323570B2 (en) Computer system and migration method of virtual machine
JP5074290B2 (ja) 冗長切替システム、冗長管理装置およびアプリケーション処理装置
US9804884B2 (en) Computer system and maintenance method of computer system
CN103583063B (zh) 用于地理冗余网关处的故障恢复的系统和方法
CN100527716C (zh) 主备网关设备状态切换后业务恢复的方法及网关设备
JP4650414B2 (ja) 通信処理システム、パケット処理負荷分散装置及びそれに用いるパケット処理負荷分散方法
US8462767B2 (en) Internet protocol compliant private branch electronic exchange and a method for redundantly configuring terminal interfaces
US20040049553A1 (en) Information processing system having data migration device
EP2744166B1 (en) Method for migrating a user link, method for migrating a user service, apparatuses and system
WO2011157151A2 (zh) 实现容灾备份的方法、设备及系统
WO2006098033A1 (ja) 負荷分散用通信装置及び負荷分散管理装置
WO2012000234A1 (zh) 链路间快速切换的方法、装置和系统
JP2002057682A (ja) ネットワークインタフェース切替え方法及びネットワークに接続可能なコンピュータ
JP2009049640A (ja) 冗長化ゲートウェイシステムのためのネットワークスイッチ装置
JPWO2016121293A1 (ja) ネットワーク中継装置、ゲートウェイ冗長化システム、プログラム、および冗長化方法
CN101562576B (zh) 一种路由发布方法和设备
CN109587286A (zh) 一种设备接入控制方法及装置
JP3482992B2 (ja) 冗長lanシステムおよび現用系・予備系切り替え方法
CN115037673A (zh) 在分支部署中实现无缝故障切换的系统和方法
JP4133738B2 (ja) 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム
JP2011166245A (ja) ネットワークシステム、ゲートウェイ装置切替方法、第1のトンネル終端ゲートウェイ装置および第2のトンネル終端ゲートウェイ装置
KR101021278B1 (ko) Ospf를 이용한 라우터에서의 제어평면 이중화 장치 및방법
KR101547585B1 (ko) 데이터 스트림 전송을 위한 방법, 장치 및 시스템
JPH11296396A (ja) 切替隠蔽機能付き高可用性システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080111

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100820

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100902

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4591840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees