JP2005528691A - サーバ連結環境のための業務継続ポリシー - Google Patents

サーバ連結環境のための業務継続ポリシー Download PDF

Info

Publication number
JP2005528691A
JP2005528691A JP2004509790A JP2004509790A JP2005528691A JP 2005528691 A JP2005528691 A JP 2005528691A JP 2004509790 A JP2004509790 A JP 2004509790A JP 2004509790 A JP2004509790 A JP 2004509790A JP 2005528691 A JP2005528691 A JP 2005528691A
Authority
JP
Japan
Prior art keywords
application
priority
group
systems
server
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.)
Granted
Application number
JP2004509790A
Other languages
English (en)
Other versions
JP4620455B2 (ja
Inventor
ジョシ,ダーシャン,ビー.
ダラル,カウシャル,アール.
セニカ,ジェームス,エー.
Original Assignee
ベリタス オペレーティング コーポレーション
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 ベリタス オペレーティング コーポレーション filed Critical ベリタス オペレーティング コーポレーション
Publication of JP2005528691A publication Critical patent/JP2005528691A/ja
Application granted granted Critical
Publication of JP4620455B2 publication Critical patent/JP4620455B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/2035Error 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 without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

サーバ連結環境において、業務継続ポリシーを確立し維持する方法、コンピュータプログラム製品、およびシステムである。アプリケーションの利用可能性を高めることによって、業務継続を確実にする。アプリケーションが開始され、障害時に再起動され、または過負荷状態により移動される場合、アプリケーションを実行するための要件を満たす最良のシステムが選択される。これらの要件には、アプリケーションによってシステム上に配置される負荷を扱う利用可能容量等のアプリケーション要件を含めることができる。更に、これらの要件には、特定のシステム上で実行できる多くのアプリケーションのシステム制限を引き受ける等のシステム要件を含めることができる。アプリケーションのそれぞれの優先順位を用いて、優先順位の低いアプリケーションを移動して、優先順位の高いアプリケーションを実行するためにリソースを解放できるかどうかを決定できる。

Description

本特許出願書類には、著作権保護を受ける資料が一部含まれている。この著作権保持者は、特許商標局のファイルまたは記録にある特許書類または特許開示を何人がファクシミリ再生しようと異議を唱えないが、それ以外に関しては、如何なるものであってもすべての著作権を留保する。
オープンシステムの使用が広がっているため、数百または数千のサーバを管理する複雑な業務は、益々困難なものとなっている。加えて、サーバ上で実行するアプリケーションの利用可能性をさらに増大させたいという要求が、難問として立ちはだかっている。情報技術(IT)管理者の多くは、容量的には遙かに余裕はあるが、アプリケーション実行数が多い大量の小型オープンシステムから、容量の限界または容量の限界近くで実行される遙かに数が少ない大規模企業用サーバへ移動するために作業している。IT業界におけるこの傾向は「サーバ連結」と呼ばれている。
アプリケーションの利用可能性をさらに増大させたいという要求に対する初期の回答の一つは、クリティカルなアプリケーションを実行するサーバ毎に1対1のバックアップを提供することであった。クリティカルなアプリケーションが主サーバで障害を起こした場合、バックアップサーバ上でそのアプリケーションを「障害迂回(failed over)」(再起動)していた。しかしながら、この解決策は、バックアップサーバの遊休化を招くので、非常に費用がかかるとともに、リソースを浪費していた。その上、この解決策は、主サーバとバックアップサーバの両方が連続して障害を起こした場合には対処できなかった。
別の可能性のある解決策は、「N+1クラスタ化」であり、1台の企業用クラスのサーバが、動作中の多数のサーバのために冗長性を提供する。N+1クラスタ化は、障害が発生したサーバで実行中のアプリケーションを1台のバックアップサーバに移動するため、所定のアプリケーションの集合に対する冗長コストが減少し、障害迂回のためのサーバ選択が単純化される。
しかしながら、N+1クラスタ化は、増大するアプリケーション利用可能性の要求に対し、特に、真のサーバ連結環境では、完全な解答にはならない。企業は、多くの障害が連続する場合にも耐え、サーバクラスタの適度な冗長性を維持しつつ、保守管理のために何台かのサーバをオフラインにできる容量も要求している。代表的なクラスタ管理アプリケーションは、数十または数百にもなる可能性をもつアプリケーショングループに対してホストを適切に選定する際に、限られた柔軟性しか提供しない。市販の入手可能なクラスタ管理アプリケーションの例には、VERITAS(登録商標) Global Cluster Manager(商標)、VERITAS(登録商標) Cluster Server、Hewlett-Packard(登録商標) MC/Service Guard、およびMicrosoft(登録商標) Cluster Server(MSCS)がある。
N対Nのクラスタ化は、多数のサーバ上で実行されている多数のアプリケーショングループを参照し、それぞれのアプリケーショングループは、クラスタ内の別のサーバに障害迂回することができる。例えば、4ノードクラスタのサーバは、クリティカルなデータベースインスタンスを3つサポートできる。4ノードのうちの何れかに障害が発生すると、3つの各インスタンスは、3台の他のサーバのうちの一台に過負荷を起こすことなく、3台の他のサーバのそれぞれで実行できる。N対Nのクラスタ化は、N+1クラスタ化の考え方を、「バックアップシステム」から、クラスタを形成するサーバ内部の「バックアップ容量」の要件に拡張したものである。
必要とされているのは、アプリケーションを最初に開始し、システムが過負荷の状態に到達した場合にアプリケーションを再配布し、そして障害のあるアプリケーションを再起動するための、適切なシステムを決定することによりクリティカルな業務用アプリケーションが多数の障害にあっても生き残ることができる、という業務継続ポリシー(business continuity policy)である。
本発明は、サーバ連結環境において業務継続ポリシーを確立し維持する方法、システム、およびコンピュータプログラム製品に関する。アプリケーションの利用可能性を高めることによって、業務継続を確実にする。アプリケーションが開始され、障害時に再起動され、または過負荷状態により移動される場合、アプリケーションを実行するための要件を満たす最良のシステムが選択される。これらの要件には、アプリケーションによってシステム上に配置される負荷を扱う利用可能容量等のアプリケーション要件を含めることができる。更に、これらの要件には、特定のシステム上で実行できる多くのアプリケーションのシステム制限を引き受ける等のシステム要件を含めることができる。アプリケーションのそれぞれの優先順位を用いて、優先順位の低いアプリケーションを移動または停止して、優先順位の高いアプリケーションを実行するためにリソースを解放できるかどうかを決定できる。
1つの特徴として、本方法は、システムの集合のうちの各システムが、あるアプリケーションをホストする要件を満たしているクラスタ内のシステムの集合を識別することを含む。選定したシステムが第1のアプリケーションの必要条件を満たす場合、システムの集合の識別は、集合内のその選定したシステムを含めることを意味する。そのアプリケーションが選定システムの制限を超えない場合、システム集合の識別は、集合内のその選定したシステムを含めることを意味する。
そのシステム集合が空の場合、本方法は更に、開放するリソースを識別するために、各アプリケーションの個々の優先順位を用いることを含み、ここで、リソースは複数のリソースの内の1つであり、各リソースは少なくとも1つのシステムと関連付けられている。開放するリソースの識別は、更に、各システムのそれぞれの容量を用いることを含んでもよい。
本方法は、更に、リソースと関連付けられるシステムの1つが、アプリケーションをホストするための要件を満たすようにリソースの開放を含めることができる。本方法は、関連付けられたシステムでアプリケーションを開始することを含んでもよい。リソースの開放は、そのリソースを用いている別のアプリケーションを停止することを含めることができ、別のアプリケーションは、第1のアプリケーションの優先順位よりも低い優先順位を有する。リソースの開放は、別のアプリケーションが第1のアプリケーションのそれぞれの優先順位より低いそれぞれの優先順位を有する場合、そのリソースを用いている別のアプリケーションを、別のシステムに移動することを含めることができる。
本方法は更に、そのアプリケーションを開始すべきであると決定することを含めることができる。これは、アプリケーションが障害を発生したことを検出した場合に決定できる。この決定をする別の方法は、アプリケーションの優先順位を、現在のシステム上で実行されているアプリケーションの各優先順位と比較することである。アプリケーションのそれぞれの優先順位が、システム上で実行されているアプリケーションの優先順位の内の一つより高い場合に、そのアプリケーションを開始すべきである。
本発明の別の特徴として、システム集合内の各システムがアプリケーションをホストするための必要条件を満たすクラスタ内システムの集合を識別するための識別モジュールが、装置には含まれる。本装置は更に、システムの集合がない場合、開放するリソースを識別するために、各アプリケーションのそれぞれの優先順位を用いる優先モジュールを含む。各リソースは少なくとも1つのシステムと関連付けられている。本装置は更に、上記の方法の特徴を実装するモジュールを含めることができる。
上記説明は要約であり、従って、必要に応じて、簡略化、一般化、および細部の省略を含み、その結果、当該技術に精通する者には言うまでもないが、要約は例示に過ぎず、如何なる制限をも意図していない。請求項によってのみ定義されるような、他の局面、発明性のある特徴、および本発明の利点は、以下の限定しない詳細な説明で明らかとなろう。
本発明は、当該技術に精通する者には、添付図面の参照によって正しく理解され、多くの目的、特徴および利点が明らかとなろう。
異なる図面の同じ参照符号の使用は、類似または同一の項目を示している。本発明は、各種の改変および代替形式をとる可能性があるが、特定の実施の形態を図面に例示として示し、本明細書で詳細に説明する。しかしながら、言うまでもないが、図面および詳細な説明が、開示された特定の形態に本発明を限定することは意図していない。逆に、その意図は、添付の請求の範囲により定義されるように、本発明の範囲内にあるすべての改変、等価物、および代替品を含むことである。
本発明の主題を完全に理解するために、添付の請求の範囲を含む以下の詳細な説明を、上で説明した図面と併せて参照されたい。幾つかの実施の形態とともに本発明を説明するが、本発明を本明細書で説明する特定の形態に限定する意図はない。逆に、かかる代替品、改変および等価物は、添付の請求の範囲により定義されるように、本発明の範囲内に理に適って含められる。
以下の記載では、説明のために、本発明の完全な理解を提供するよう多数の特定の詳細について説明する。しかしながら、本発明がこれらの特定の詳細がなくても実施できることは、当該技術に精通する者には言うまでもない。
本明細書で「一実施の形態」または「実施の形態」と称するときは、実施の形態と併せて説明する特定の特長、構造、または特性が、本発明の少なくとも一つの実施の形態に含まれることを意味する。明細書の至る所に出てくる「一実施の形態では」の語句が全て同一の実施の形態を指すとは限らず、他の実施の形態と互いに矛盾する別の、または代替の実施の形態を指示するものでもない。更に、幾つかの実施の形態により示され、他の実施の形態では示されない各種の特長も説明する。同様に、幾つかの実施の形態に対する要件ではあるが、他の実施の形態の要件ではない各種の要件も説明する。
序論
本発明は、サーバクラスタ内のサーバが典型的な、考えられる最良のシステムを積極的に決定して、起動中、過負荷状態のとき、またはアプリケーションかサーバの障害を受けて、アプリケーションをホストする業務継続ポリシーを提供する。本発明がクライアント/サーバ環境の外部で動作するシステムにも適用されるのは、当該技術に精通する者には言うまでもないが、用語サーバおよびシステムは、本明細書では交換可能に用いる。
図1は、本発明の管理システムおよびフレームワークが動作する環境の例を提供する。マウンテンビュー(MV)サイト130Aのノード110Aおよび110B、および英国(UK)サイト130Bのノード110Cおよび110Dを、説明のために示す。本発明は、ノードおよび/またはサイトの最小数または最大数を制限していない。用語「サイト」は、ケーブルがノードおよび記憶装置を相互接続できるような、データセンタまたはキャンパスに集中するノードの集約を表すのが普通であるが、地理的な集中は、サイトに対する必要条件ではない。サイトは、一つ以上のノードクラスタを含むことができ、一つ以上のクラスタの仮想集約と見なすことができる。
MVサイト130A、およびUKサイト130Bは、典型的には、プライベートの広域ネットワーク、またはインターネット等の公共配布ネットワークに対応するネットワーク102を介して接続されるものとして示す。ノード、およびノードクラスタを管理するために用いる共通の管理コンソール104を示すが、共通の管理コンソールは、本発明の動作には不要である。
クラスタ120Aは、冗長なクラスタ接続115AB−1、および115AB−2を介して接続されるMVサイト130Aのノード110Aおよび110Bを含む。唯一つのクラスタをMVサイト130Aに示すが、サイトには任意の数のクラスタが含まれていてもよい。ノード110Aは、ノード110Bと、共通のストレージ140Aを共有している。ノード110Aは、相互接続112Aを介してストレージ140Aと相互接続し、ノード110Bは、相互接続112Bを介してストレージ140Aと相互接続する。
同様に、クラスタ120Bは、冗長なクラスタ接続115CD−1、および115CD−2を介して接続されるUKサイト130Bのノード110Cおよび110Dを含む。ノード110Cは、ノード110Dと、共通のストレージ140Bを共有する。ノード110Cは、相互接続112Cを介してストレージ140Bと相互接続し、ノード110Dは、相互接続112Dを介してストレージ140Bと相互接続する。
図2は、トレージエリアネットワークでの利用可能性が高くなるよう構成されるクラスタの例を示す。クラスタサーバ210Aおよび210Bは、同じアプリケーションプログラムのためのサーバとして構成され、互いに障害迂回ターゲットとして働く。冗長な相互接続216Aおよび216Bは、2つのノードがクラスタを形成する場合、冗長なネットワークインターフェースカード(NIC)間のクロスオーバーケーブルを経由する冗長なハートビートプライベートネットワーク接続であってもよい。3つ以上のノードがクラスタを形成する場合、プライベートネットワーク接続は、ハブを用いることもできる。プライベートネットワークは、障害迂回ソフトウェアに、システムまたは処理が障害を起こした場合を認識させることができる。各クラスタ210Aおよび210Bは、クラスタサーバ210Aのための公共ネットワーク接続242Aおよび244A、およびクラスタサーバ210Bのための公共ネットワーク接続242Bおよび244B等の、冗長な公共ネットワーク接続を有して、インターネット等の公共ネットワーク240を介して通信する。
クラスタサーバ210Aは、ファイバースイッチ220Aへのファイバーチャンネル接続212Aを介して、および、ファイバースイッチ220Bへのファイバーチャンネル接続214Aを介して、ファイバーチャンネルストレージエリアネットワークへの冗長接続を有する。同様に、クラスタサーバ210Bは、ファイバースイッチ220Bへのファイバーチャンネル接続212Bを介して、および、ファイバースイッチ220Aへのファイバーチャンネル接続214Bを介して、ファイバーチャンネルストレージエリアネットワークへ接続される。
ファイバーチャンネルストレージエリアネットワークは、共有ストレージアレイ230Aおよび230Bそれぞれへの、クラスタサーバ210Aおよび210Bによるアクセスを提供する。ストレージアレイ230Aおよび230Bは、例えば、ファイバーチャンネルRAIDアレイと対応してもよい。ファイバースイッチ220Aは、ストレージアレイ230Aにファイバーチャンネル接続222Aを介して接続し、ストレージアレイ230Bにファイバーチャンネル接続224Aを介して接続する。同様に、ファイバースイッチ220Bは、ストレージアレイ230Bにファイバーチャンネル接続222Bを介して接続し、ストレージアレイ230Aにファイバーチャンネル接続224Bを介して接続する。クラスタサーバからスイッチへ、およびスイッチからストレージアレイへの冗長接続により確実になるのは、各クラスタサーバ210Aおよび210Bが、ファイバーチャンネルネットワーク上の記憶装置の集約への接続を有する、ということである。また、冗長電力源(不図示)を含めて、電力障害発生に際してバックアップ電力源を提供することもできる。
クラスタ管理
ハードウェアまたはソフトウェア障害が発生したとしても、災害復旧を確実にするには、データ損失を防ぎ、整合性のあるデータを維持しなければならない。特定のアプリケーションに対するデータでは、そのアプリケーションや対応するアプリケーションデータが、ネットワークまたはノードの障害により整合性がないか使用不可能な状態になることを許容しない。
クラスタ管理アプリケーションは、単一のアプリケーションにより、多数の別々のクラスタを管理者が管理できるようにする。クラスタ内のイベントおよびそれに対する処置を協調させることにより、クラスタ管理アプリケーションは、災害復旧を管理するための有用なツールを提供する。例えば、主クラスタ内のどのノードもアプリケーションを実行できない場合に、第2クラスタは、主クラスタで実行するアプリケーションを引き継ぐことができる。市販の入手可能なクラスタ管理アプリケーションの例には、VERITAS(登録商標) Global Cluster Manager(商標)、Hewlett-Packard(登録商標) MC/Service Guard、およびMicrosoft(登録商標) Cluster Server(MSCS)が含まれる。
クラスタ管理アプリケーションによっては、サイト毎のサイトマスターと呼ばれる処理を、サイト内の一つ以上のサイトスレーブ処理に接続できる。サイトマスターは、そのサイトのクラスタおよびノードすべてについての全情報を収集する。更に、各サイトマスターを分散システム内の他のすべてのサイトマスターに接続して、全サイトマスターが分散システム全体についての情報を有するように、情報を共有してもよい。各サイトが本発明の動作のための自身のマスターを有することは必要条件ではないが、マスターは、そのサイトのハードウェアおよびソフトウェアのリソースの状態について詳細な情報、時には、ソフトウェア処理レベルの情報まで有していなければならない。用語マスターは、サイトマスターを指し、本明細書ではマスター処理とも称する。
典型的には、クラスタ管理アプリケーションは、常に、多数のクラスタのソフトウェアアプリケーションの状態を監視し、そのサイトのクラスタのどのノードもソフトウェアアプリケーションを実行するのに利用できないような、サイト全体が利用不可能となるのを判定できる。クラスタ管理アプリケーションは、主サイトが利用不可能となる状況にも影響されない第2サイトでソフトウェアアプリケーションを開始できる。クラスタ管理アプリケーションは、ユーザがユーザインターフェースを介して制御してもよく、あるいは、クラスタ管理アプリケーションが自動的に動作するよう構成してもよい。
主データセンタが被害を受けた場合、アプリケーションデータを直ちに別のサイトで利用可能とし、アプリケーションを他のサイトで直ちに開始しなければならない。この利用可能性のレベルでは、主サイトから他のサイトへのデータ複製が必要である。VERITAS(登録商標) Volume Repricator(商標)(VVR)、EMC(登録商標) CorporationによるSymmetrix Remote Data Facility(SRDF(登録商標))、Hitachi(登録商標) Asynchronous Remote Copy(HARC)、Sybase(登録商標) Replication、およびHewlett-Packard(登録商標)によるContinuous Accessを含む様々なデータ複製アプリケーションが、サイト間のデータを複製するために利用できる。
アプリケーションの最初の起動または再起動のために「最良の」サーバを決定する際に含まれる因子には、サーバ容量およびリソース利用可能性が含まれる。本明細書で説明する実施の形態では、クラスタ管理アプリケーションの一部として、業務継続ポリシーを実装する。
障害迂回ポリシー
業務継続ポリシーの一部は、“障害迂回ポリシー”である。様々な“障害迂回ポリシー”を採ることが可能であり、“優先順位”、“ラウンドロビン”、および本発明に含まれる“負荷障害迂回”ポリシーがある。
“優先順位障害迂回ポリシー”は、最も基本的な方策である。稼働中のサイトで最も優先順位の低いサーバシステムを、障害迂回ターゲットとして選択する。「障害迂回ターゲット」は、再起動しなければならないアプリケーショングループをホストするよう選択されるシステムである。例えば、優先順位は、SystemList={server1,server2}等の“システムリスト”の順位により暗黙裏に、または、SystemList={server1=0,server2=1}等と、“システムリスト”で優先順位を設定することにより明示的に設定できる。“優先順位障害迂回ポリシー”の方策は、単純な2ノードクラスタ、または少数のアプリケーショングループを有する小さなクラスタでは十分に機能する。
“ラウンドロビン障害迂回ポリシー”は、障害迂回ターゲットとして最小数のアプリケーショングループを実行しているサーバシステムを選択する。“ラウンドロビン障害迂回ポリシー”は、基本的に同一のサーバ負荷特性を有する多数のアプリケーショングループを実行している、より大きなクラスタ(例えば、類似のデータベースまたはアプリケーションを実行しているサーバ)で用いられることが多い。
本発明で説明する“負荷障害迂回ポリシー”は、データセンタのサーバ連結のフレームワークを可能にする。好適な実施の形態では、“負荷障害迂回ポリシー”は、“システム容量”、“アプリケーショングループ負荷”、“システム限界”、および“アプリケーショングループ必要条件”を考慮に入れる。
負荷障害迂回ポリシー:容量および負荷
一実施の形態では、システムのためのシステム“容量”変数、本明細書では“容量”とも称する、は、システムの負荷対応容量を表す固定値に設定する。アプリケーションのためのアプリケーショングループ“負荷”変数、本明細書では“負荷”とも称する、は、アプリケーショングループによりプロセッサ上に配置される固定された要求(“負荷”)に設定する。例えば、2台の16プロセッササーバ、および2台の8プロセッササーバから成る4ノードクラスタを考える。管理者は、16CPUサーバの“容量”値を200に、8CPUサーバを100に設定する。これらの“容量値”は、任意に割り当てることができるが、各システムの容量差を反映させなければならない。
同様に、システムで実行している各アプリケーショングループは、所定の“負荷”値を有する。アプリケーショングループがオンラインにできる場合は、アプリケーショングループの“負荷”を、システムの利用可能容量から減算する。
一実施の形態では、クラスタ管理アプリケーションは、各システムに対する“利用可能容量”変数を用いて、クラスタ内のすべてのシステムの利用可能容量の追跡を継続する。“利用可能容量”は、システム上のオンラインのすべてのアプリケーショングループ(アプリケーショングループが完全に、または部分的にオンラインである場合は、そのアプリケーショングループをオンラインと見なす)の“負荷”を、システムの“容量”から減算して決定する。障害迂回が発生した場合、クラスタ管理アプリケーションは、最大の“利用可能容量”を有するシステムを決定し、そのシステム上でアプリケーショングループを開始する。多数のアプリケーショングループが関わる障害迂回状況が発生している間は、障害迂回決定を順次行って、適切な負荷に基づく選択を容易にするが、代替システム上にオンラインアプリケーションをもたらすオンライン操作は、並列に実行できる。
“容量”は、“利用可能容量”の値がゼロ未満になることもあることを示す緩やかな制約である。障害が連続して発生する状況では、“利用可能容量”は負になることもある。
負荷障害迂回ポリシー:静的負荷対動的負荷
サーバの動的な負荷は、公式“利用可能容量=容量−(全オンラインアプリケーショングループの負荷合計)”を用いて計算できる。動的負荷を決定するための代替の方策は、VERITAS(商標)クラスタサーバ(Cluster Server)(略称VCS)の、VCS 2.0以前の初期バージョンを含む幾つかのクラスタ管理アプリケーションにより提供される。これらのクラスタ管理アプリケーションにより、管理者は、外部の監視プログラムでサーバの動的負荷を決定し、“動的負荷”変数を設定して決定値を反映させることができる。管理者は、所望の任意の監視パッケージプログラムを実行し、次いで、推定負荷をクラスタ管理アプリケーションに提供できる。そのように“動的負荷”を提供した場合、“負荷”計算値をオーバーライドして、この値を用いることができる。例えば、“利用可能容量”は、公式“利用可能容量=容量−動的負荷”を用いて計算できる。この計算により、管理者は、推定アプリケーショングループ負荷を用いるよりも正確にシステム負荷を制御できる。
しかし、管理者は、クラスタ管理アプリケーションに加えて、負荷推定パッケージプログラムを組み込んで保守管理しなければならない。“負荷障害迂回ポリシー”を用いる幾つかのクラスタ管理アプリケーションでは、“動的負荷”変数の最小値を有するシステムを、障害迂回ターゲットとして選択する。
要約すると、アプリケーショングループをホストする全システムの利用可能容量は、以下の公式を用いて計算できる:
システムの“利用可能容量=容量−現在のシステム負荷”
ここで、
“現在のシステム負荷”=動的システム負荷変数が指定されている場合は、“動的な”システム負荷
または、システム上のすべてのオンラインアプリケーショングループの“負荷”合計
負荷障害迂回ポリシー:限界および必要条件
システム“限界”、およびアプリケーショングループ“必要条件”も、業務継続ポリシーで用いることができる。管理者は、各システムで利用可能な、共有メモリセグメント、セマフォ、および他のリソース等の有限リソース(“限界”)を提供できる。例えば、特定のサーバは、2つ以下のデータベースアプリケーションのみをホストすることが可能であってもよい。更に、それぞれが利用可能なシステムリソースおよび/または容量と対応する一組の“必要条件”を、アプリケーショングループ毎に確立できる。例えば、特定のデータベースアプリケーションは、5つの共有メモリセグメントと20のセマフォを示す“必要条件”を必要とし、かつ有してもよい。
一実施の形態では、アプリケーショングループの、一組の“必要条件”で指定されるすべての“必要条件”を満たしてから、アプリケーショングループを開始しなければならない。一実施の形態では、システムが既に許容“限界”に達した場合に、システムが障害迂回ターゲットとして選択されることがないように、システム“限界”はオーバーライドされない。
本発明の業務継続ポリシーのもとでは、障害を起こしたアプリケーショングループの“必要条件”を満たし、アプリケーショングループの“負荷”に対応できる適格な一組のシステム集合を識別する。この一組のシステムは、障害発生したアプリケーショングループを受入れ、システム“限界”内に留めるための十分な“利用可能容量”をも有するこれらのシステムだけに限ることができる。この一組の適格なシステムから、最小負荷のシステムを、障害迂回ターゲットとして選択できる。アプリケーショングループの全ての“必要条件”を満たさないシステムは、障害迂回ターゲットとして選択できない。アプリケーショングループを特定システム上でオンラインにするという決定が成された場合、アプリケーショングループが必要とするシステムリソースの一組の“必要条件”変数の値を、システムの“現在の限界”から減算して、これらのシステムリソースが既に割り当てられていることを示す。
本発明の一実施の形態では、管理者は最初にアプリケーショングループの“必要条件”を定義し、次いで、各システムの対応する“限界”を定義する。本実施の形態では、各システムは、異なる“限界”を有することができ、各アプリケーショングループおよびシステムに適用可能な“必要条件”および“限界”だけが定義を必要とする。所定のシステムリソースについて定義した“限界”をシステムが有していない場合、既定値0を想定できる。同様に、“必要条件”が所定のシステムリソースについて定義されていない場合、既定値0を想定できる。
“必要条件”および“限界”変数の定義の例として、所定の時点で以下の構成を確立して、システム上にただ一つのグループをオンラインにできる:
“必要条件”={“グループ重み付け”=1}
“限界”={“グループ重み付け”=1}
“必要条件のグループ重み付け”1を指定することにより、唯一つのアプリケーショングループを所定の時点でオンラインにすることができる。更に、システム毎に“グループ重み付けの限界”値1を指定することにより、システム毎に、ある時点で唯一つのアプリケーショングループを有することができる。“グループ重み付け”値は、オンラインにできるアプリケーショングループの数を表すと考えることができる。“グループ重み付け”値がゼロの場合、その特定システム上に、それ以上のアプリケーショングループをオンラインにできない。例えば、2つのシステムS1、S2を有するシステムを考える。それぞれは“グループ重み付けの限界”=1に指定する。また、システムは、3つのアプリケーショングループG1、G2、およびG3も有する。グループG1およびG2は、“グループ重み付けの必要条件”=1を有し、グループG3は“必要条件”を持たない。G1およびG2に対する“グループ重み付け”=1の“必要条件”が示すのは、G1およびG2それぞれは、オンラインにする“グループ重み付け”のひとつの「単位」を必要とする、ということである。G1をS1でオンライン化する場合、S1の“現在の限界”は“グループ重み付け”=0となり、従って、G2が同様にS1上でオンライン化されるのを妨げる。“必要条件”を持たないG3は、S1またはS2上でオンライン化できる。
“必要条件”および“限界”を用いて、障害迂回中または起動したときにアプリケーショングループを開始できる一組の適格なシステムを決定できる。一旦、“必要条件”および“限界”を満たしている一組の適格なシステムを識別すると、確立された“障害迂回ポリシー”は、適格システムのどの組を障害迂回ターゲットとして選択するかを指示する。
実施例システムおよびアプリケーショングループ属性
下記の表1は、本発明の業務継続ポリシーを実装するために用いることができるシステム属性を含む一実施の形態の例を提供する。表2は、アプリケーショングループ属性の実施例を提供する。
Figure 2005528691
Figure 2005528691
アプリケーショングループおよびシステム構成の達成
以下の構成ファイルmain.cfは、システム定義およびアプリケーショングループ定義を示す。
Figure 2005528691
容量および必要条件の使用
“容量”および“必要条件”をともに用いると、適切な障害迂回システムの決定が可能である。一実施の形態では、所定のアプリケーショングループに対する“必要条件”を満たし、最大の“利用可能容量”を有するシステムが選択される。多数のシステムが所定のアプリケーショングループに対する“必要条件”を満足し、同じ“利用可能容量”を有する場合は、“システムリスト”の最初のシステムを選択できる。注意すべきは、システム“限界”が既に満たされている場合、アプリケーショングループの“必要条件”を満たすシステムは、アプリケーショングループをホストするのに適格でないこともある、ということである。システムの“現在の限界”が、所定のアプリケーショングループの“必要条件”を満たす十分なリソースを可能にする場合、システムの“限界”は既に満たされている。
先に説明したように、一実施の形態では、“容量”は緩やかな制限である。アプリケーショングループをシステム上で開始する場合に、負の“利用可能容量”値が生成されたとしても、最大の“利用可能容量”値を有するシステムを選択することができる。
過負荷警告
一実施の形態では、“負荷障害迂回ポリシー”の一部として過負荷警告が提供される。サーバが、“負荷時間閾値”変数で設定した所定時間の間、“負荷警告レベル”変数で設定する所定負荷レベルを保持する場合、過負荷警告が開始される。過負荷警告は、ユーザ定義スクリプト、または所定の企業の“障害迂回負荷ポリシー”を実装するよう設計したアプリケーションにより提供できる。例えば、ユーザ定義スクリプトは、オペレータのコンソール上にメッセージを提供してもよいし、あるいはユーザ定義スクリプトは、ユーザ定義の優先値に基づいてアプリケーショングループを移動または終了してもよい。例えば、業務にクリティカルなデータベースを実行しているサーバ上の“負荷”が限界に達し、かつユーザ定義閾値を超えたまま留まる場合、オペレータは直ちに通知を受けることが可能である。次いで、ユーザ定義スクリプトは、内部の“人的リソース”アプリケーション等の、そのデータベースより優先順位が低い任意のアプリケーショングループについてシステムを精査でき、優先順位の低いアプリケーションを終了するか、またはより小さい現在の“負荷”をもつシステムに移動させることができる。
システム領域
一実施の形態では、“システム領域”を用いて、最初の障害迂回決定で選択するシステムの好適なサブセットを示す。業務継続ポリシーを実装するクラスタ管理アプリケーションは、別の領域のシステムを選択する前に、アプリケーショングループ領域内のアプリケーショングループの再起動を試みる。例えば、ウェブサーバ、アプリケーションサーバ、およびデータベースサーバを有する典型的な3層構造のアプリケーションインフラストラクチャを考える。アプリケーションおよびデータベースのサーバは、単一クラスタで構成できる。“システム領域”を用いると、別のアプリケーション領域サーバが利用可能な場合、アプリケーショングループのクラスタ管理アプリケーションが、別のアプリケーション領域サーバに障害迂回しようと試みるのが可能になる。別のアプリケーション領域サーバが利用不可能な場合は、クラスタ管理アプリケーションは“負荷”および“限界”に基づくデータベース領域に障害迂回しようと試みることが可能である。この構成では、データベース領域で利用可能な過剰“容量”および“限界”は、データベース障害迂回のより大きな負荷のために予約される一方で、アプリケーションサーバは、アプリケーション領域のアプリケーショングループの“負荷”を扱う。障害が連続している間、クラスタの過剰な容量はアプリケーショングループに利用可能なまま残る。“システム領域”の特長は、アプリケーション障害迂回決定を精緻に調整することを可能にし、必要であればクラスタのどこにでも障害迂回する柔軟性を依然として保持する。
負荷に基づく自動開始
一実施の形態では、“負荷障害迂回ポリシー”の考え方を用いて、クラスタを最初に開始する場合、アプリケーショングループを取り上げる場所を決定できる。管理者は“自動開始ポリシー”変数を“負荷”に設定でき、クラスタ管理アプリケーションに、アプリケーショングループを開始する最良のシステムを決定させることができる。クラスタ管理アプリケーションが利用可能システムを決定する場合、負荷に基づいて起動するための“自動開始”待ち行列にアプリケーショングループを入れることができる。障害迂回と同様に、“必要条件および限界”を満たすシステムの一サブセットが最初に作成され、次いで、これらのシステムのうち、最高の“利用可能容量”をもつシステムが選択できる。
“自動開始ポリシー”=“負荷”および“システム領域”をともに用いることにより、管理者が、クラスタの好適システムリストを確立して、最初にアプリケーショングループを実行することが可能になる。上記のように、3層構造で、管理者が指示できるのは、アプリケーショングループは最初にアプリケーション領域で開始し、データベースグループはデータベース領域で開始する、ということである。
負荷障害迂回ポリシーと併せたアプリケーション優先順位の使用
上記の“負荷障害迂回ポリシー”をアプリケーション優先順位と組み合わせることにより、ミッションクリティカルな、または業務上クリティカルなアプリケーションの真の自動化業務継続ポリシーが提供される。この業務継続ポリシーは、必要な業務情報をクラスタフレームワークに追加して、障害発生した時に各ポリシーを駆使した決定を行い、クリティカルなアプリケーションおよびアプリケーション実行を最良状態に維持する。
アプリケーショングループ“優先順位”は、あるアプリケーションの重要性が相対的に他のアプリケーショングループの重要性を超えていることを管理者が特定できるようにする。何らかの障害が発生している間、クラスタ管理アプリケーションは、アプリケーショングループ“優先順位”、“負荷”および“限界”に基づいて、適切な障害迂回システムを決定できる。大部分の単一アプリケーショングループまたは単一サーバの障害では、クラスタは十分な予備の容量を有するのがほとんどである。しかし、“災害復旧”イベント後の多数の障害、またはクラスタ容量減少を含む状況では、さらに困難な決定の必要に迫られる。
アプリケーショングループの“優先順位”は、優先順位決定を提供するクラスタメカニズムを効果的に提供する。ほとんどのクリティカルなアプリケーショングループは、優先順位の低いアプリケーションを犠牲にする可能性があるが、依然として適切な実行レベルで機能する。
一実施の形態では、以下の特性がアプリケーショングループに割り当てられる:
優先順位1−ミッションクリティカル
“優先順位”1のアプリケーショングループは、障害時に、オンラインに留まり、直ちに再起動されなければならない。クラスタ管理アプリケーションは、アプリケーショングループが特に障害を受けるか、またはオペレータが介入しない限り、“優先順位”1のアプリケーショングループを停止したり移動することを避けるよう構成できる。“優先順位”1のアプリケーショングループは、アプリケーショングループを再起動するのに必要な稼働停止時間だけは避けることができない。
優先順位2−業務クリティカル
“優先順位”2のアプリケーショングループは、“優先順位”1のアプリケーショングループより若干重要性が低い。クラスタ管理アプリケーションは、これらのアプリケーショングループをオンラインに維持しなければならないが、“優先順位”2のアプリケーショングループの別のサーバへの切り換え、移動を実行してクラスタ“負荷”特性を維持してもよい。
優先順位3−タスククリティカル
“優先順位”3のアプリケーショングループは、クラスタ負荷を維持するために自由に移動してよい。“優先順位”3のアプリケーショングループは、移動が不可能な場合においてのみ、クラスタの容量を扱う適当な“負荷”を維持するために停止させてもよい。
優先順位4−タスク非クリティカル
“優先順位”4のアプリケーショングループは、検査アプリケーションまたは各種の内部サポートプログラム等の、基本的でないアプリケーションである。これらのアプリケーショングループは、クラスタ負荷を維持するために自由に停止してよい。何らかのクラスタ再構成の間は、クラスタ管理アプリケーションは、すべての“優先順位”4のアプリケーショングループを計算から除外し、再構成のために最良の提案をすることができる。“優先順位”4のアプリケーションは、クラスタに十分な負荷容量が残っているとクラスタ管理アプリケーションが決定した場合、クラスタにオンラインでのみもたらされてもよい。
図3は、サーバ連結環境に業務継続ポリシーを実装するための方法のフローチャートである。その方法は、ここではアプリケーショングループXと呼ばれる所定のアプリケーショングループの起動時または障害時に、“アプリケーショングループXの起動または障害”ステップ310で開始される。アプリケーショングループXをホストする一組の適格システムは、“アプリケーショングループXをホストする適格システム集合を決定する”ステップ320で識別される。判断点322の“集合サイズ>0”で、どの適格システムを識別するかの決定が成される。決定したら、制御は“ホストシステムを選択する”324に進み、アプリケーショングループXを実行するためのホストシステム(起動時または障害迂回ターゲット設定時の最初のシステム)を選択する。例えば、最大の“利用可能容量”を有する適格なシステムとして、ホストシステムを選択できる。他のポリシーを用いて、業務継続ポリシーを実装する業務の必要性に基づいて、ホストシステムを選択することもできる。次いで、制御は、“ホストシステム上のアプリケーショングループXを開始する”ステップ350に進み、選択されたホストシステム上のアプリケーショングループXを開始する。
判断点322の“集合サイズ>0”で、集合が、アプリケーショングループXをホストするための適格なシステムを含まない場合、制御は、“アプリケーショングループXの優先順位を決定する”ステップ330に進む。クラスタ上で実行されるすべてのアプリケーショングループの間でアプリケーショングループXに対する各優先順位が決定される。所定のアプリケーショングループの優先順位は、構成可能であり、サーバ連結環境の管理者により割り当てることができる。例えば、アプリケーショングループXの各優先順位を決定するために、サーバ連結環境におけるクラスタを管理するクラスタ管理アプリケーション用に格納されるデータから、優先順位を検索できる。
“アプリケーショングループXの優先順位を決定する”ステップ330から、制御は、“クラスタ内の低優先順位アプリケーショングループ”判断点332に進む。低優先順位アプリケーションが実行されていなければ、制御は、“アプリケーショングループXが開始できないことを管理者に通知する”ステップ336に進む。適格なシステムがアプリケーショングループXに対して存在しないので、アプリケーショングループXは、同一か、またはより高い優先順位の別のアプリケーションに代わって開始することはできない。管理者は、“アプリケーショングループX”が取って代わられるべきかどうかを決定できる。一実施の形態では、アプリケーショングループが再起動できない状況を扱うための処理は、クラスタ管理アプリケーション内に構成可能であり、ユーザ定義スクリプトとして提供される。
“クラスタ内の低優先順位アプリケーショングループ”判断点332で、低優先順位アプリケーショングループが実行されている場合、制御は、判断点338の“十分な容量およびリソースを解放して、アプリケーショングループXを受入れることができるか”に進む。判断点338の“十分な容量およびリソースを解放して、アプリケーショングループXを受入れることができるか”では、クラスタのシステム内の利用可能リソースの評価が成される。図5を参照して、この評価をさらに詳細に説明する。
十分な容量およびリソースが解放できない場合、制御は、“アプリケーショングループXが開始できないことを管理者に通知する”ステップ336に進む。十分な容量およびリソースが解放できる場合は、制御は、“ホストシステムの十分な容量およびリソースを解放する”ステップ340に進む。
“ホストシステムの十分な容量およびリソースを解放する”ステップ340では、容量およびリソースが一つ以上のシステムで解放され、アプリケーショングループXに十分なリソースが所定のホストシステムで実行できるようにする。“ホストシステムの十分な容量およびリソースを解放する”ステップ340から、制御は、“ホストシステム上でアプリケーショングループXを開始する”ステップ350に進む。
図4は、図3の“アプリケーショングループXをホストする一組の適格システムを決定する”ステップ320のフローチャートである。“クラスタからシステムを選択する”ステップ410で、前に評価されていないシステムのクラスタ内の1システムは、システムが適格であるかどうかを決定するよう選択される。次いで、制御は、“選択したシステムがアプリケーション要件を満たすか”の判断点412に進む。選択したシステムが、アプリケーショングループXの必要条件等の、アプリケーショングループXの要件を満たさない場合、制御は、“残るとは考えられないシステム”判断点422に進み、別のシステムが評価に利用可能かどうか決定する。
選択したシステムがアプリケーショングループXの要件を満たす場合、制御は、“選択システムはシステム要件を満たすか”の判断点414に進む。例えば、選択したシステムがその“限界”内にあるかどうかの決定は、システムの“現在の限界”を“アプリケーショングループX”の“必要条件”に加えることにより成される。その合計は、“限界”基準を満たすために、選択したシステムの“限界”未満でなければならない。別の例として、システム要件は、特定CPUがある利用率未満のままであるということであってもよい。選択したシステムがそのシステム要件を満たさない場合、制御は、“残るとは考えられないシステム”判断点422に進み、別のシステムが評価に利用可能かどうかを決定する。
選択したシステムが、“選択システムはシステム要件を満たすか”の判断点414でのシステム要件を満たさない場合、制御は、“選択システムを一組の適格システムに加える”ステップ420に進む。次いで、制御は、”残るとは考えられないシステム”判断点422に進み、別のシステムが評価に利用可能かどうかを決定する。
”残るとは考えられないシステム”判断点422では、どのシステムもクラスタに残るとは考えられていないかどうかの決定が成される。YESであれば、“システムを選択する”ステップ410に進んで、別のシステムを選択する。NOであれば、適格システムの集合は完全であり、制御は、図3の“集合サイズ>0”の判断点322に戻る。
図5は、図3の“十分な容量およびリソースを解放して、アプリケーショングループXを受入れることができるか”の判断点338のフローチャートである。最初の決定は、判断点510の“優先順位4の十分なリソースは停止できるか”で成される。優先順位4の十分なリソースが停止できる場合、制御は、“ホストシステムおよび優先順位4のリソースを選択して解放する”ステップ520に進む。このステップでは、優先順位4の十分なリソースを有するシステムをシステムとして選択して、アプリケーショングループXをホストする。制御は、“十分なリソースが解放できることを示す”ステップ565に進む。図5のフローチャートは終了し、十分なリソースが解放できることが示される。
“優先順位4の十分なリソースは停止できるか”の判断点510で、優先順位4の十分なリソースが解放できない場合、制御は、判断点530の“優先順位4の十分なリソースが停止でき、かつ優先順位3のリソースが移動できるか”に進む。優先順位4のアプリケーションが停止でき、かつ優先順位3のアプリケーションを他のシステムに移動することにより、システム上にアプリケーショングループXのための十分なリソースが解放できる場合、制御は、“適切な優先順位3および4のリソースを解放するよう決定し、ホストシステムを選択する”ステップ540に進む。“適切な優先順位3および4のリソースを解放するよう決定し、ホストシステムを選択する”ステップ540で、優先順位4のどのアプリケーションを停止し、優先順位3のどのアプリケーションを移動させるかを決定する。幾つかの異なるシナリオにより必要なリソースが解放できる場合、最小数のリソースを停止し、および/または優先順位が高い最大数のアプリケーションを実行可能に移動するように、構成を選択できることが好ましい。次いで、制御は、“十分なリソースが解放できることを示す”ステップ565に進む。図5のフローチャートは終了し、十分なリソースが解放できることが示される。
“優先順位4の十分なリソースが停止でき、かつ優先順位3のリソースが移動できるか”の判断点530で、十分なリソースが利用不可能な場合、制御は、判断点550の“優先順位4の十分なリソースが停止でき、かつ優先順位2および3のリソースが移動できるか”に進む。YESであれば、制御は、“適切な優先順位2、3および4のリソースを解放するよう決定し、ホストシステムを選択する”ステップ560に進む。繰り返すが、最小数のリソースを停止し、優先順位が高い最大数のアプリケーションを実行可能に移動することが好ましい。次いで、制御は、“十分なリソースが解放できることを示す”ステップ565に進む。図5のフローチャートは終了し、十分なリソースが解放できることが示される。
“適切な優先順位2、3および4のリソースを解放するよう決定し、ホストシステムを選択する”ステップ560で、十分なリソースがクラスタ内に利用不可能な場合、制御は“十分なリソースが解放できないことを示す”ステップ570に進む。図5のフローチャートは終了し、十分なリソースが解放できないことが示される。
図6〜図16は、本発明の業務継続ポリシーの範囲内にある多数のシナリオを説明する。
図6は、サーバ連結環境におけるサーバクラスタのための利用可能容量の計算を示す。サーバ610A、610B、610C、および610Dは、クラスタを形成する。サーバ610A、610B、および610Cはそれぞれ容量300を有し、サーバ610Dは、容量150を有する。サーバ610Aは、サーバ610A上に“負荷”100を配置するMicrosoft Exchange(XCH)バージョン5.5を実行している。また、サーバ610Aは、サーバ610A上に“負荷”150を配置するデータベースアプリケーショングループ、Oracle 8iも実行していて、合計“負荷”は250である。サーバ610Bは、サーバ610B上に“負荷”125を配置するSQL2000サーバを実行している。サーバ610Cは、サーバ610C上に“負荷”75を配置するファイル共有アプリケーショングループFileShare1を実行している。サーバ610Dは、サーバ610D上に負荷150を配置する2つのファイル共有アプリケーショングループFileShare2、およびFileShare3を実行している。所定のサーバ上で実行している各アプリケーショングループのそれぞれの“負荷”を、所定のサーバの“容量”から減算することにより、“利用可能容量”は、サーバ610Aでは50、サーバ610Bでは175、サーバ610Cでは225、そしてサーバ610Dではゼロと計算される。利用可能容量225を有するサーバ610Cは、クラスタ内で最大の利用可能容量を有する。
図7は、図6のサーバの一つに障害が発生したときのアプリケーションの移動、およびその結果クラスタ内に生じる利用可能な容量を示す。サーバ610Dが障害を起こし、ファイル共有アプリケーションFileShare1およびFileShare2を放棄するので、可能なら、クラスタ内の他のサーバに再配布する。図7は、サーバ610CへのFileShare2の移動を示す。サーバ610Cが選択されるのは、サーバ610Cが最大の利用可能容量を提供するからである。サーバ610CへFileShare2が移動した結果、サーバ610Cの“負荷”は150に増大し、サーバ610Cの利用可能容量は、150に低下する。利用可能容量175のサーバ610Bが、今度はクラスタ中で最大利用可能容量を有することになる。
図8は、図7の障害のシナリオでの別のアプリケーションの移動を示す。FileShare3は、サーバ610Dから、最大利用可能容量を有するサーバ、サーバ610Bに移動される。この移動の結果、サーバ610Bに配置される“負荷”は、200に増大し、サーバ610Bの利用可能容量は100に減少する。
図9は、図6のクラスタにおけるデータベースアプリケーションの構成例を示し、サーバ610Aから610Dはそれぞれ容量300で構成されている。サーバ610Aは2つのSQL2000データベースアプリケーショングループ、SQL2000データベースA、およびSQL2000データベースB、を実行している。SQL2000データベースA、およびSQL2000データベースBはそれぞれ、サーバ610Aに負荷100を配置している。サーバ610Aは、SQL限界2で構成され、サーバ610Aが、同時に2つ以上のSQLデータベースを実行することができないことを示す。サーバ610Aの利用可能容量は300−200=100である。
同様に、サーバ610Bは、SQL限界2を有し、SQL2000データベースCを実行していて、サーバ610Bに負荷100を配置している。サーバ610Bは、利用可能容量200を有する。サーバ610Cは、SQL2000データベースEを実行していて、サーバ610Cに負荷100を配置している。同様に、サーバ610Cは、利用可能容量200を有する。サーバ610Dは、SQL限界3を有し、SQL2000データベースDを実行していて、サーバ610Dに“負荷”150を配置している。サーバ610Dは、利用可能容量150を有する。
図10は、図9の構成における障害のシナリオでのデータベースアプリケーションの移動を示す。サーバ610Cが障害を発生し、SQL2000データベースEを放棄して、別のサーバ上で再起動させる。SQL2000データベースEは、サーバ上の“負荷”100を配置する。サーバ610Aが、既に限界2のサーバSQLアプリケーションに達しているので、サーバ610Aは、SQL2000データベースEをホストすることができない。サーバ610Bまたはサーバ610Dはいずれも、ホスト可能なSQLアプリケーション数の限界に達せず、サーバ610Bおよびサーバ610Dはともに、SQL2000データベースEを実行する十分な利用可能容量を有する。示されるシナリオの例では、サーバ610Bが選択される。なぜなら、2つの適格システムのうちでサーバ610Bが最大の利用可能容量を有しているからである。SQL2000データベースEを移動した後、サーバ610Bに配置される負荷は200に増大し、サーバ610Bの利用可能容量は100に減少する。
図11は、限界および必要条件を用いる管理アプリケーショングループ例を示す。この例では、アプリケーショングループG1のファイル共有アプリケーション、アプリケーショングループG2の検査アプリケーション、アプリケーショングループG3のMicrosoft Exchangeアプリケーション、およびアプリケーショングループG4のSQLサーバアプリケーショングループを含む4つのアプリケーショングループを考える。優先順位3のアプリケーショングループであるアプリケーショングループG1に必要なことは、サーバに対する“グループ重み付け”変数が値1を有してから、アプリケーショングループG1をそのサーバ上で実行できる、ということである。優先順位4のアプリケーショングループであるアプリケーショングループG2に必要なことは、サーバに対する“グループ重み付け”変数が値2を有してから、アプリケーショングループG2をそのサーバ上で実行できる、ということである。優先順位1のアプリケーショングループであるアプリケーショングループG3に必要なことは、サーバに対する“グループ重み付け”変数が値2を有してから、アプリケーショングループG3をそのサーバ上で実行できる、ということである。最後に、優先順位2のアプリケーショングループであるアプリケーショングループG4に必要なことは、サーバに対する“グループ重み付け”変数が値2を有してから、アプリケーショングループG4をそのサーバ上で実行できる、ということである。
サーバ610Aからサーバ610Dは、アプリケーションG1からG4をそれぞれ実行している。これらの実行しているアプリケーショングループにより、サーバ610Aから610Dは、それぞれ“限界”2、3、2および3を有する。サーバ610Aから610Dは、“現在の限界”値1、1、0および1をそれぞれ有する。
図12は、アプリケーショングループが障害迂回できない障害のシナリオを示す。サーバ610Cが障害を発生し、どのサーバも、別のサーバ上で開始すべきアプリケーショングループG3に対する必要条件である“現在の限界”値2を有していない。アプリケーショングループが障害迂回できない場合、実行しているアプリケーションの優先順位を検査して、十分なリソースがクラスタ内に解放でき、アプリケーショングループが実行できるかどうかを決定する。アプリケーショングループG3は、優先順位1のアプリケーションであり、アプリケーショングループG2からG4のそれぞれは、より低い優先順位のアプリケーショングループである。最初に、優先順位4の十分なリソースが、アプリケーショングループG3に十分なリソースを解放するよう存在するかどうかの決定が成される。アプリケーショングループG2は、優先順位4のリソースであり、2つの“グループ重み付け”単位を消費する。アプリケーショングループG2が解放される場合、アプリケーショングループG3を実行するのに必要な2つの“グループ重み付け”単位が解放され、アプリケーショングループG3は、サーバ610B上で開始できる。
図13は、優先順位が低いアプリケーショングループを停止して十分なリソースを解放し、優先順位が高いアプリケーショングループを利用可能なままとすることを示す。図12のシナリオで、アプリケーショングループG2は、アプリケーショングループG3を実行可能にする十分なリソースを提供するよう決定された。アプリケーショングループG2は停止され、アプリケーショングループG3はサーバ610Bに移動される。サーバ610Bの“現在の限界値”は再計算されて、ここで値1を有する。
図14は、図12および図13の構成に対する別の障害迂回シナリオを示す。仮定するのは、今度はサーバ610Dが障害を発生し、再起動すべきアプリケーションG4を放棄する。アプリケーショングループG4は、別のサーバで開始されるように“グループ重み付け”値2を必要とする。残っているサーバ610Aまたは610Bは何れも“グループ重み付け”値2を提供しない。従って、アプリケーショングループG4を利用可能のままとするよう十分なリソースを解放できるかどうかの決定が成される。優先順位が低いリソースを検査してこの決定を行う。
図15は、十分なリソースを解放して優先順位が高いアプリケーショングループを利用可能なままにするための低優先順位アプリケーショングループの移動を示す。優先順位3のアプリケーションであるアプリケーショングループG1は、優先順位2のアプリケーショングループG4より優先順位が低い。さらにアプリケーショングループG1を移動することにより、サーバ610Aの“グループ重み付け”値は、アプリケーショングループG4の必要条件を満たす2まで上昇できる。アプリケーショングループG1の必要条件は、サーバ610Bが提供する“グループ重み付け”値1である。アプリケーショングループG1は、サーバ610Bに移動してサーバ610A上のリソースを解放する。移動した結果、サーバ610Aは“グループ重み付け”値2を有し、サーバ610Bは“グループ重み付け”値0を有する。
図16は、図15に示す対応の結果として、解放されたリソースを用いるための高優先順位アプリケーショングループの移動を示す。アプリケーショングループG1の移動後、サーバ610Aは、十分なリソースを有してアプリケーショングループG4をホストする。“グループ重み付け”が値2を有するアプリケーショングループG4の必要条件は、真である。アプリケーショングループG4の移動後、サーバ610Aは、“グループ重み付け”値0を有する。
上記のシナリオは、本明細書で説明する業務継続ポリシーにより扱うことができる多数の障害状況の例である。これらのシナリオの多くの改変、および業務継続ポリシーを実装するための代替の変形は、本発明の一部と考えられ、本発明の範囲内にある。さらに、本明細書の“追加の実施例”セクションで、実施例のシナリオを提供する。
リソース管理統合
主要なオペレーティングシステムのほとんどは、Solarisリソースマネージャ、HPプロセスリソースマネージャ、およびA1Xリソースマネージャ等の、対応するリソースマネージャを有する。本明細書ではまとめてxRMと呼ぶこれらのリソースマネージャは、CPUおよびメモリ利用を管理者が制御できるようにする。しかしながら、xRMパッケージは、xRMパッケージを実行しているシステムだけを認識し、クラスタ内の他のシステムは認識しないのが普通である。本発明の業務継続ポリシーをサポートするクラスタ管理アプリケーションを、xRMパッケージとともに統合し、クラスタ内の全システムのリソース利用、つまり“負荷”、を制御するのが好ましい。
各オペレーティングシステムのベンダーは、異なるインターフェースおよび異なる能力のプラットフォームのリソースマネージャを提供している。例えば、Solaris9は、「タスクID」の考え方をサポートし、その考え方は、タスクIDのもとで起動した特定プロセスを、「プロジェクト」データベースに課された制限と結びつける。同一のオペレーティングシステムプラットフォームを横断する柔軟性を最大に維持し、操作を保持するために、クラスタ管理アプリケーションは、API階層を提供して、各種のxRMパッケージと通信する。少なくとも、“負荷障害迂回ポリシー”は用いることができる。クラスタ管理アプリケーションが、xRM統合能力をもつオペレーティングシステムプラットフォーム上でも実行されている場合、“負荷”および“限界”を完全に強化することが可能である。
一実施の形態では、管理者は、個々のシステムではなく、クラスタ定義において一回だけリソース利用パラメータを構成できる。クラスタ管理アプリケーションは、アプリケーショングループをシステム上で開始する場合、各システム上のxRM特有のエージェントと協働して、特定アプリケーショングループへのリソースの割り当てを制御する。これにより、単一点管理、およびクラスタ内の負荷分配制御をさらに強力にすることが可能になる。
アプリケーショングループの“負荷”の値を変更することにより、管理者は、アプリケーショングループがシステム上に配置すると期待される全負荷、およびアプリケーショングループが受け取ると期待されるシステムの共有の両方を設定する。例えば、“負荷”200をもつ3つのアプリケーショングループがそれぞれ、容量800をもつサーバ上で実行されている場合、各アプリケーショングループは、利用可能リソースの1/3を効率的に受け取る。このシナリオでは、特定アプリケーショングループの“負荷”値を400に上げると、幾つかのことが達成される。最初に、負荷値を上げると、修正したアプリケーショングループに対するリソースの割り当てを増加する。このアプリケーショングループは、利用可能なCPUおよびメモリの50%を受け取り、残りの2つのアプリケーショングループが、それぞれ25%を受け取る。第2に、“負荷値”を上げると、サーバを100%負荷レベルに置き、“利用可能容量”を0に減少させる。この状況は過負荷警告を生じる。“負荷値”を上げることは、システム負荷がもっと重くなるとクラスタ管理アプリケーションに伝えるだけでなく、アプリケーションの性能を増大させるよう機能する。
モデル化およびシミュレーションエンジン
モデル化およびシミュレーションエンジン(MSE)は、クラスタ管理アプリケーションの能力を提供して、「仮説検証(What-if)」モデルに基づき、アプリケーショングループの考えられる限り最高の構成を決定できる。現在の負荷および限界だけに基づいてシステムを選択するのではなく、クラスタ管理アプリケーションが、クラスタを再構成して、考えられる限り最高の性能をもつアプリケーショングループを提供する方法を決定する。再構成は、各種のアプリケーショングループ特性を考慮して、移動できるアプリケーショングループ、および移動できないアプリケーショングループを決定する。「最高性能」および「最小切り換え」等の各種パラメータをMSEに与えて、クラスタ管理アプリケーションに、クラスタ再構成を実行して、アプリケーショングループの性能を最高にするか、または稼働停止時間を最小にするかどうかを決定させることもできる。
MSEは、シミュレーション能力を含んで、管理者に、任意のクラスタ再構成について、仮説検証の完全なシナリオを実行させることもできる。例えば:
クラスタから32CPUのサーバ1を選択したらどうなるか?最高性能の再構成モデルは何か?どのアプリケーションが稼働停止により停止するか?再構成移動によって、どのアプリケーションを停止させるか?この展開中に優先順位1を移動させるとどうなるか?等である。
4台の16CPUの追加のコモディティサーバを自分のクラスタ、およびストレージエリアネットワークに追加するとどうなるか?最高性能の構成は何か?どのアプリケーションを移動中に停止させるか?この構成が提供する予備の容量は幾つか?
大規模なデータベースをオンラインにしたい。最良の配置をどこにすればよいか?どの再構成が最良の適合を提供するか?
MSEは、“負荷”および“限界”の現在の考え方を堅固に強化でき、また、“障害迂回ポリシー”の利用をさらに良好にする再構成を可能にする。例えば、大規模なデータベース(共有メモリおよびセマフォX2)を加える再構成等であり、どのシステムも“限界”内に十分な容量をもたず、提案された障害迂回ポリシーはエラーとなる。MSEが決定できるのは、2つのシステムが利用可能な十分なリソースを提供する、ということであるが、それぞれは小さなデータベース(共有メモリおよびセマフォ)を実行している。クラスタ管理アプリケーションは、2つの小さなデータベースを一つのサーバに連結して、大規模データベースのために第2サーバを解放することを提案できる。
クラスタ再構成
クラスタ再構成は、手動または自動のいずれであれ、クラスタ管理アプリケーションにより提供される能力を参照して、アプリケーショングループ、ひいてはクラスタを横断する負荷を再割り当てし、システム“負荷”のバランスを良好にする。この再構成は、障害、サーバ追加および削除、またはアプリケーショングループ追加または削除に応じて行うことができる。クラスタ管理アプリケーションのMSE要素によりクラスタ再構成を実行して、固定したクラスタリソースを割り当てることができる。優先順位3および優先順位4のアプリケーショングループを移動する場合、クラスタ再構成モジュールは自動的に実行できるようにでき、特定パラメータを設定すれば、優先順位2のアプリケーショングループに関して自動的に実行できる可能性があり、優先順位1のグループに対しては、手動(オペレータ応答)である。
クラスタ再構成能力は、オンラインまたは切り換えの手動アプリケーショングループが要求される場合には、介入できる。オンラインのアプリケーショングループを移動または持ってくるようユーザが要求する場合、MSEはそれが可能であるということをユーザに通知でき、再構成シーケンスを推奨して良好なリソースの割り当てを行う。
追加実施例
以下の実施例は“限界”および“必要条件”を用いて、システム上で実行できるアプリケーショングループの全数を制御する。クラスタは4台の類似のサーバから成る。5つのアプリケーショングループがあり、各アプリケーショングループがシステムに要求する処理パワーの要件、および“負荷”の量は、ほぼ等しい。各サーバは、2つのかかるアプリケーショングループをホストできる。この実施例は、アプリケーショングループ“負荷”およびシステム“容量”を用いない。また、アプリケーショングループは、既定の“自動開始ポリシー”および“障害迂回ポリシー”を用いる。
限界を有する構成ファイル実施例
Figure 2005528691
自動開始動作
この実施例は、既定の“自動開始ポリシー”=“順位”を用いる。アプリケーショングループは、“自動開始リスト”にある利用可能な第1のシステム上にオンラインとなる。この方法では、G1はSvr1上、G2はSvr2上で開始され、以下同様である。G5はSvr2上で開始される。
通常動作
クラスタ構成実施例(全システムが実行されていると仮定する)を以下に示す:
Figure 2005528691
障害シナリオ
第1の障害シナリオで、Svr2が障害を発生していると仮定する。アプリケーショングループG2およびG5は同一の“システムリスト”により構成されているので、両アプリケーショングループともに任意のシステム上で実行できる。クラスタ管理アプリケーションは、2つのグループの障害迂回のノードの選択を順番に行うことができる。標準では最初となるG2は、“システムリスト”で最低の優先順位であるSvr1上で開始され、それにより、Svr1の“限界”を使い果たす。次いで、G5は、グループG5の“システムリスト”の順で次のシステム上で開始される。G5はSvr3上でオンラインで実行される。最初の障害に続いてクラスタはここで次のようになる:
Figure 2005528691
連続障害
Svr2が直ちに修理できない場合、クラスタはSvr2またはSvr3上の個々のアプリケーショングループの障害を許容できるが、それ以上のノード障害には不可能である。
負荷に基づく実施例
下記のクラスタ見本は、単純な負荷に基づく起動および障害迂回の使用を示す。“システム領域”、“限界”、および“必要条件”は用いない。
クラスタは4つの同一のシステムから成り、それぞれは同一の容量を有する。様々な負荷をもつ8つのアプリケーショングループ、G1〜G8がクラスタ中で実行されている。
構成ファイル例
Figure 2005528691
Figure 2005528691
自動開始動作
上記のように、アプリケーショングループは、システム上で開始されると直ぐに待ち行列に配置される。本実施例では、アプリケーショングループは、アプリケーショングループG1〜G8が記述されるのと同じ順序で待ち行列に配置される。
G1は最大の“利用可能容量”をもつシステム上で開始される。システムは同等なので、標準では最初であるSvr1が選択される。G2〜G4は、Svr2からSvr4上で開始される。この時点で、最初の4グループの起動決定が成されるので、クラスタは以下のようになる:
Figure 2005528691
残りのアプリケーショングループは、オンラインとなり、G5は、最大の“利用可能容量”をもつので、Svr4上で開始される。G6は、残り80を持つSvr1上で開始される。G7は“利用可能容量”=70を持つSvr3上で開始される。G8は“利用可能容量”=60を持つSvr2上で開始される。
通常動作
最終的なクラスタ構成(G1〜G8の元の待ち行列を仮定している)を以下に示す:
Figure 2005528691
この構成では、Svr2が既定の“負荷警告レベル”80%を有するので、既定値の900秒後に、過負荷警告がSvr2に提供される。
障害シナリオ
最初の障害シナリオで、Svr4が障害を発生したと仮定すると、障害決定のためにG4およびG5を直ちに待ち行列に入れる。G4は、Svr1およびSvr3が“利用可能容量”=50をもち、Svr1が標準では最初なので、Svr1上で開始される。G5はSvr3上でオンラインで実行される。Svr1の“障害決定”は、連続的に成され、実際のオンラインおよびオフラインの動作は成されない。障害迂回選択を連続的にすることにより、完全な負荷に基づく制御が可能となり、一実施の形態では、全体の障害迂回時間に1秒未満を加える。
最初の障害に続いて、クラスタ構成を以下に示す:
Figure 2005528691
この構成では、過負荷警告は、Svr3に提供され、Svr3が過負荷であるとオペレータまたは管理者に通知される。オペレータは、G7をSvr1に切り換えてG1およびG3を横断する負荷をバランスさせる。Svr4の修理が済むと、Svr4は、“利用可能容量”=100をもつクラスタに再び加わる。次いで、Svr4は、さらなる障害のための障害迂回ターゲットとして役立つ。
連続障害
Svr4が直ちに修理できないと仮定すると、さらに障害が発生する可能性がある。この例として、今度はSvr3が障害を発生すると仮定する。各アプリケーショングループG3、G5およびG7は、それぞれサーバSvr1、Svr2およびSvr1上で再起動される。これらの再起動は結果的に以下の構成を生じる:
Figure 2005528691
この例は、“利用可能容量”が緩やかな制限であることを示し、ゼロ未満になることもある。
複雑な4システムの実施例
下記の実施例は、多数のシステム“容量”および各種の“限界”を用いる4システムのクラスタを示す。クラスタは2つの“企業用”サーバ(LgSvr1およびLgSvr2)、および2つの“中規模”サーバ(MedSvr1およびMedSvr2)から成っている。4つのアプリケーショングループG1〜G4が、各種の“負荷”および“必要条件”を提供される。G1およびG2は、特定の共有メモリおよびセマフォの要件をもつデータベースアプリケーショングループである。G3およびG4は、特定の共有メモリまたはセマフォの要件をもたず、単純に所定のシステムに負荷を加えるだけの中級アプリケーショングループである。
構成ファイルの実施例
Figure 2005528691
Figure 2005528691
自動開始動作
以下は、上記のmain.cfの例を用いた“自動開始”動作の可能性のある結果である:
G1-LgSvr1
G2-LgSvr2
G3-MedSvr1
G4-MedSvr2
すべてのアプリケーショングループは、クラスタが開始されるとシステムに割り当てられる。アプリケーショングループG1およびG2は、LgSvr1およびLgSvr2の“自動開始リスト”を有する。G1およびG2は、1番高い“利用可能容量”に基づいてこれらのサーバの1つの上でオンラインで実行するよう待ち行列に入れられる。G1が最初に開始されると仮定すると、G1はLgSvr1上で開始される。なぜなら、LgSvr1およびLgSvr2はともに、初期の“利用可能容量”200を有し、LgSvr1が語彙的に最初だからである。
アプリケーショングループG3およびG4は、それぞれMedSvr1およびMedSvr2上で開始される。
通常動作
アプリケーショングループG1〜G4を開始した後、結果として生じる構成を以下に示す:
Figure 2005528691
障害シナリオ
最初の障害の例では、システムLgSvr2が障害を発生していると仮定する。クラスタ管理アプリケーションは、LgSvr2と同じ“システム領域”グループを有するG2の“システムリスト”内で利用可能システムを精査する。次いで、クラスタ管理アプリケーションは、アプリケーショングループの“必要条件”を満たすシステムのサブセットを作成する。この場合、LgSvr1は、すべての必要な“限界”を満たす。G2は、LgSvr1上でオンラインとなり、以下の構成を結果として生じる:
Figure 2005528691
10分後(“負荷時間閾値”=600)、“負荷警告レベル”が90%を超えるので、LgSvr1の過負荷警告が与えられる。
連続障害シナリオ
このシナリオでは、各システムが残りの“限界”を十分に有して、ピアシステム上で実行されるアプリケーショングループに対処するので、システムのさらなる障害が許容される。
例えば、障害がMedSvr1またはMedSvr2の何れかで発生した場合、障害が発生したシステム上で実行されていたアプリケーショングループは、それぞれの“システム領域”内にMedSvr1およびMedSvr2を有するので、他のシステムが、障害迂回ターゲットとして選択される。
障害が、それに代わって、まだオフラインのLgSvr1、LgSvr2により発生した場合、アプリケーショングループG1およびG2の障害迂回は、障害迂回決定処理に対して順番に行われる。この場合、データベース領域にはシステムは存在しない。標準ではG1となる最初のグループは、MedSvr2が、すべての“限界”を満たし、かつ最大の“利用可能容量”を有するので、MedSvr2上で開始される。グループG2は、残りのシステムではMedSvr1だけが“限界”を満たすので、MedSvr1上で開始される。
サーバ連結実施例
以下の実施例は、多数のアプリケーションおよび幾つかの大規模データベースを実行している複雑な8ノードクラスタを示す。データベースサーバは、すべて大規模な企業用システムのLgSvr1、LgSvr2、およびLgSvr3である。多数のアプリケーションを実行している中級サーバは、MedSvr1、MedSvr2、MedSvr3、MedSvr4、およびMedSvr5である。
構成ファイル実施例
Figure 2005528691
Figure 2005528691
Figure 2005528691
自動開始動作
上記の構成ファイル実施例を用いて、以下の“自動開始シーケンス”が可能である:
データベース1−LgSvr1
データベース2−LgSvr2
データベース3−LgSvr3
アプリケーション1−MedSvr1
アプリケーション2−MedSvr2
アプリケーション3−MedSvr3
アプリケーション4−MedSvr4
アプリケーション5−MedSvr5
通常動作
上記構成を仮定すると、以下が決定できる:
Figure 2005528691
障害シナリオ
上記構成は、“障害迂回ポリシー”=“負荷”および“システム領域”を示す。データベース領域(“システム領域”ゼロ)は、2つの障害まで扱うことができる。各サーバは、適度な“限界”を有し、3つまでのデータベースアプリケーショングループをサポートする(すべてのデータベースアプリケーショングループが1台のサーバ上で実行される場合、性能低下が予想される)。同様に、アプリケーション領域は、各システムに組み込まれた過剰な容量を有している。
この実施例では、MedSvr1〜MedSvr5のそれぞれは、1つのデータベースをサポートする“限界”を指定しているが、アプリケーショングループG4〜G8は“必要条件”を指定していない。この構成では、やむを得ない場合に、データベースが“システム領域”を横断する障害を起こすことがあるが、最小負荷のアプリケーション領域マシン上で実行できる。
最初の障害の例では、システムMedSvr3が障害を発生していると仮定する。クラスタ管理アプリケーションは、“データベース2”の“システムリスト”にあるすべての利用可能なシステムを、MedSvr3と同じ“システム領域”グループ化により精査する。次いで、クラスタ管理アプリケーションはアプリケーショングループの“必要条件”を満たすシステムのサブセットを作成する。この場合は、LgSvr1およびLgSvr2がすべての必要な“限界”を満たし、“データベース1”がLgSvr1上でオンラインとなる。データベース領域に対する以下の構成が生成される:
Figure 2005528691
このシナリオでは、各システムが残りの“限界”を十分に有して、ピアシステム上で実行されるデータベースアプリケーショングループに対処するので、データベースのさらなる障害が許容される。
連続する障害シナリオ
2つのデータベースグループが1台のサーバ上で実行されていて(または3つのデータベースが第2の障害に続いて)、特定データベースの性能が許容できない場合、“システム領域ポリシー”は別の有用な効果を有する。データベースグループをアプリケーション領域に入れる障害は、好適な領域をリセットする効果を有する。例えば、上記シナリオで、“データベース1”はLgSvr1に移動している。管理者は、アプリケーション領域を再構成して2つのアプリケーショングループを1つのシステムに移動できる。次いで、データベースアプリケーションを空のアプリケーションサーバ(MedSvr1〜MedSvr5)に切り換えることができる。これは、“データベース1”を“領域1”(アプリケーション領域)に配置することになる。障害が“データベース1”で生じている場合、“必要条件”を満たすアプリケーション領域内の最小負荷のサーバが、障害迂回ターゲットとして選択される。
本発明を実装するために適したシステム
図17は、本発明を実装するために適したコンピュータシステム10のブロック図を示す。コンピュータシステム10は、バス12を含み、そのバスは、中央プロセッサ14、システムメモリ16(典型的にはRAMであるが、ROM、フラッシュRAM等を含んでもよい)、入出力コントローラ18、オーディオ出力インターフェース22を介するスピーカーシステム20等の外部オーディオ装置、ディスプレイアダプタ26を介するディスプレイスクリーン24等の外部装置、シリアルポート28および30、キーボード32(キーボードコントローラ33によりインターフェースされる)、ストレージインターフェース34、フロッピーディスク38を受け取って動作可能なフロッピーディスクドライブ36、およびCD−ROM42を受け取って動作可能なCD−ROMドライブ40等の、コンピュータシステム10の主要なサブシステムを相互接続している。また、マウス46(または、シリアルポート28を介してバス12に接続される他のポイントアンドクリックデバイス)、モデム47(シリアルポート30を介してバス12に接続される)、およびネットワークインターフェース48(バス12に直接接続される)をも含む。
バス12は、中央プロセッサ14とシステムメモリ16との間のデータ通信を可能にし、システムメモリは、先に記したように、リードオンリーメモリ(ROM)、またはフラッシュメモリ(いずれも不図示)、およびランダムアクセスメモリ(RAM)(不図示)をともに含んでもよい。RAMは、一般に、オペレーティングシステムおよびアプリケーションプログラムがロードされ、少なくとも16MBのメモリ空間を与えるのが代表的なメインメモリである。ROMまたはフラッシュメモリは、コードの中でもとりわけ基本入出力システム(BIOS)を含むことができ、BIOSは、周辺機器との相互作用等の基本的なハードウェア動作を制御する。コンピュータシステム10とともに常駐するアプリケーションは一般に、ハードディスクドライブ(例えば、固定ディスク44)、光ドライブ(例えば、CD−ROMドライブ40)、フロッピーディスクユニット36、または他の記憶媒体等の、コンピュータ可読媒体を介して格納され、アクセスされる。さらに、アプリケーションは、ネットワークモデム47またはインターフェース48を介してアクセスされる場合は、アプリケーションおよびデータ通信技術に基づいて変調される電子信号の形でもよい。
コンピュータシステム10の他のストレージインターフェースと同様に、ストレージインターフェース34は、情報の格納および/または検索のために、固定ディスクドライブ44等の標準のコンピュータ可読媒体に接続してもよい。固定ディスクドライブ44は、コンピュータシステム10の一部であってもよく、または分離して、他のインターフェースシステムを通じてアクセスしてもよい。シリアルポート28を介してバス12に接続されるマウス46、シリアルポート30を介してバス12に接続されるモデム47、およびバス12に直接接続されるネットワークインターフェース48等の、多くの他の装置が接続できる。モデム47は、電話接続を介してリモートサーバへ、またはインターネットサービスプロバイダ(IPS)を介してインターネットへ直接接続を提供してもよい。ネットワークインターフェース48は、POP(ポイントオブプレゼンス)を介して、インターネットへの直接ネットワーク接続を介してリモートサーバに直接接続を提供してもよい。ネットワークインターフェース48は、無線技術を用いてこのような接続を提供してもよく、デジタル式携帯電話接続、セル方式デジタルパケットデータ(CDPD)接続、デジタル衛星データ接続等を含む。
多数の他の装置またはサブシステム(不図示)を、同様の方法(例えば、バーコードリーダー、文書スキャナ、デジタルカメラ等)で接続してもよい。逆に、本発明を実施するために、図17に示す全ての装置が存在する必要はない。装置およびサブシステムは、図17に示すのとは異なる方法で相互接続してもよい。図17に示すようなコンピュータシステムの動作は、従来技術で既に知られているので、本明細書では詳細な説明はしない。本発明を実装するためのコードは、一つ以上のシステムメモリ16、固定ディスク44、CD−ROM42、またはフロッピーディスク38等の、コンピュータ可読記憶媒体に格納してもよい。さらに、コンピュータシステム10は任意の種類の計算装置でもよく、従って、個人データアシスタント(PDA)、ネットワーク家電、Xウインドウ端末、または他のかかる計算装置を含む。コンピュータシステム10上に提供されるオペレーティングシステムは、MS-DOS(登録商標)、MS-WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、Linux(登録商標)、または他の既知のオペレーティングシステムでよい。コンピュータシステム10はまた、幾つかのインターネットアクセスツールもサポートし、例えば、Netscape Navigator(登録商標)3.0、Microsoft Explorer(登録商標)3.0等の、JavaScriptインタープリタを有するHTTP準拠のウェブブラウザを含む。
さらに、本明細書で説明したメッセージおよび/またはデータ信号に関して、当該技術に精通する者には言うまでもないが、信号は、第1ブロックから第2ブロックに直接送信してもよく、またはブロック間で修正(例えば、増幅、減衰、遅延、ラッチ、バッファ、反転、フィルタ、または他の修正)を行ってもよい。上記説明の実施の形態の信号は、あるブロックから次のブロックに送信されることを特徴とするが、本発明の他の実施の形態は、信号の情報および/または機能 的な局面をブロック間で送信する限り、このような直接送信信号の代わりに修正した信号を含んでいてもよい。ある程度までは、第2ブロックの信号入力は、(例えば、何らかの減衰および遅延は避けられない)関与する回路の物理的制限により第1ブロックからの第1信号出力から導かれる第2信号として概念的に説明できる。従って、本明細書で用いるように、第1信号から導かれる第2信号は、第1信号または第1信号への任意の修正を含み、この修正は、回路制限によるか、または第1信号の情報的および/または最終的な機能局面を変更しない他の回路要素の通過によるかどうかに関わらない。
他の実施の形態
本発明は、説明した利点、および本質的な他の利点を取得するよう十分適合している。本発明の特定の実施の形態を参照することにより、本発明を図示し、説明し、そして定義したが、かかる参照は、本発明の制限を意味せず、かかる制限を推測すべきではない。本発明は、関連技術に普通に精通する者なら思い浮かぶように、形状および機能において、多くの改変、代替、および等価物が可能である。図示し、説明した実施の形態は単に例示に過ぎず、本発明の範囲を網羅してはいない。
上記説明の実施の形態は、他の要素内に含まれる要素を含む。かかる構造が例示に過ぎず、事実、同じ機能性を達成する多くの他の構造が実装できるのは、言うまでもない。抽象的ではあるが、依然明確な意味において、同じ機能性を達成するための任意の要素の編成は、所望の機能性を達成するように、効率的に「関連付け」られる。故に、特定の機能性を達成するために組み合わされた任意の2つの要素は、アーキテクチャまたは中間の要素とは無関係に所望の機能性が達成できるように、互いに「関連付け」られていると見なされる。同様に、そのように関連付けられた任意の2つの要素は、所望の機能性を達成するために、互いに「動作可能に接続され」、または「動作可能に結合され」ていると見なすことができる。
上記の詳細な説明は、ブロック図、フローチャート、および例示を用いて、本発明の各種の実施の形態を述べた。当該技術に精通する者には言うまでもないが、例示を用いて説明したブロック図要素、フローチャートステップ、動作および/または要素のそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの広い範囲により、個々におよび/または集合的に実装できる。
本発明を完全に機能するコンピュータシステムの文脈で説明したが、当該技術に精通する者には言うまでもないが、本発明は、多様な形態のプログラム製品として配布することができ、本発明は、配布を実際に実行するために用いる特定種類の信号を担う媒体とは無関係に等しく適用される。信号を担う媒体の例は、フロッピーディスクおよびCD−ROM等の記録可能媒体、デジタルおよびアナログ通信接続等の送信型媒体、および将来開発される媒体ストレージおよび配布システムを含む。
上記説明の実施の形態は特定タスクを実行するソフトウェアモジュールにより実装してもよい。本明細書で説明するソフトウェアモジュールは、スクリプト、バッチ、または他の実行可能なファイルを含んでもよい。ソフトウェアモジュールは、ディスクドライブ等の、マシン可読、またはコンピュータ可読の記憶媒体に格納してもよい。本発明の実施の形態に基づくソフトウェアモジュールを格納するために用いる記憶装置は、磁気フロッピーディスク、ハードディスク、または、例えばCD−ROMまたはCD−R等の光ディスクであってもよい。本発明の実施の形態に基づくファームウェアまたはハードウェアモジュールを格納するために用いる記憶装置は、マイクロプロセッサ/メモリシステムに恒久的、リムーバブル、またはリモートに結合される半導体に基づくメモリを含んでいてもよい。従って、モジュールをコンピュータシステムメモリ内に格納して、コンピュータシステムを構成し、モジュールの機能を実行してもよい。新規および各種の他の種類のコンピュータ可読記憶媒体を用いて、本明細書で説明するモジュールを格納してもよい。
上記説明は、本発明の例示を意図しているので、制限するものと考えてはならない。本発明の範囲内の他の実施の形態が可能である。当該技術に精通する者は、本明細書で開示された構造および方法を提供するのに必要なステップを直ちに実装するであろうが、言うまでもなく、プロセスパラメータおよびステップシーケンスは例示だけのために与えられており、本発明の範囲内にある所望の構造、および改変を達成できるように変更できる。本明細書で開示した変更および改変は、本発明の範囲を逸脱することなく、本明細書で述べた説明に基づいて成すことができる。
結果的に、本発明は、すべての点で等価物に完全な認識を与える添付の請求の範囲によってのみ制限されることを意図している。
本発明の管理システムおよびフレームワークが動作する環境の例を示す。 利用可能性が高いストレージエリアネットワーク内のクラスタ構成の例を示す。 サーバ連結環境における業務継続ポリシーを実装するための方法のフローチャートである。 図3のフローチャートの“アプリケーショングループXをホストする適格なシステムの集合を決定する”ステップのフローチャートである。 図3のフローチャートの“十分な容量およびリソースを解放して、アプリケーショングループXを受入れることができるか”の判断点のフローチャートである。 本発明の方法およびシステムにより処理される構成および障害シナリオの例を示す図であって、サーバ連結環境におけるサーバクラスタのために利用可能な容量の計算を示す。 図6のサーバの一台に障害が発生したときのアプリケーションの移動、およびその結果生じるクラスタ内の利用可能な容量を示す。 図7の障害シナリオにおける別のアプリケーションの移動を示す。 図6のクラスタにおけるデータベースアプリケーションの構成例を示す。 図9の構成における障害シナリオでのデータベースアプリケーションの移動を示す。 図11は、限界および必要条件を用いてアプリケーショングループを管理する例を示す。 アプリケーショングループが障害迂回できない場合の障害シナリオを示す。 優先順位の低いアプリケーショングループを停止して十分なリソースを解放し、優先順位の高いアプリケーションを利用可能なままにできることを示す。 図12および図13の構成のための別の障害シナリオを示す。 優先順位の低いアプリケーショングループを移動して十分なリソースを解放し、優先順位の高いアプリケーショングループを利用可能なままにできることを示す 図15に示す対処の結果として、解放されたリソースを用いるための優先順位の高いアプリケーショングループの移動を示す。 本発明の実施の形態を実装するために適したコンピュータシステムを説明するブロック図である。

Claims (22)

  1. 複数のシステムから成る一群のシステムを識別するステップであって、前記一群のシステムにおける各システムが複数のアプリケーションのうちの第1のアプリケーションをホストするための要件を満たし、前記システムが少なくとも一つのクラスタを形成するものと;
    前記一群のシステムが空の場合、解放するリソースを識別するために前記各アプリケーションの各自の優先順位を用いるステップであって、該リソースは複数のリソースのうちの一つであり、各リソースは前記システムのうちの少なくとも一つと関連付けられているものと;
    を具備する方法。
  2. 前記リソースを識別することは、更に、該リソースを識別するために前記各システムのそれぞれの容量を用いることを含む請求項1の方法。
  3. 更に、前記システムのうちの関係付けられたシステムが、前記第1のアプリケーションをホストするための前記要件を満たすように前記リソースを解放するステップを具備する請求項1の方法。
  4. 更に、前記関連付けられたシステム上で前記第1のアプリケーションを開始するステップを具備する請求項3の方法。
  5. 前記リソースを解放するステップが、前記リソースを用いている第2のアプリケーションを停止するステップを具備し、前記第2のアプリケーションは、前記第1のアプリケーションの各自優先順位よりも下位の各自優先順位を有する請求項3の方法。
  6. 前記リソースを解放するステップが、前記リソースを用いている第2のアプリケーションを、前記システム内の第2のシステムに移動するステップを具備し、前記第2のアプリケーションは、前記第1のアプリケーションの各自優先順位よりも下位の各自優先順位を有する、請求項3の方法。
  7. 更に、前記第1のアプリケーションを開始すべきであることを決定するステップを具備する請求項1の方法。
  8. 前記第1のアプリケーションを開始すべきであることを決定するステップは、前記第1のアプリケーションが障害を起こしていることを検出するステップを具備する請求項7の方法。
  9. 前記第1のアプリケーションを開始すべきであることを決定するステップは、
    前記第1のアプリケーションの各自の優先順位を、前記システム上で実行されているアプリケーション群の各優先順位群と比較するステップと;
    前記第1のアプリケーションの各自の優先順位が、前記システム上で実行されている前記アプリケーション群の前記各優先順位群のうちの一つより上位である場合に、前記第1のアプリケーションを開始すべきであることを決定するステップと、
    を具備する請求項7の方法。
  10. 前記一群のシステムを識別するステップは、或る選択されたシステムが前記第1のアプリケーションの必要条件を満たす場合、前記一群のシステム中に該選択されたシステムを含めるようにすることを含む、請求項1の方法。
  11. 前記一群のシステムを識別するステップは、前記第1のアプリケーションが、或る選択されたシステムの限界を超えない場合、前記一群のシステム中に該選択されたシステムを含めるようにすることを含む、請求項1の方法。
  12. 複数のシステムから成る一群のシステムを識別する識別モジュールであって、前記一群のシステムにおける各システムが複数のアプリケーションのうちの第1のアプリケーションをホストするための要件を満たし、前記システムが少なくとも一つのクラスタを形成するものと;
    前記一群のシステムが空の場合、解放するリソースを識別するために前記各アプリケーションの各自の優先順位を用いる優先順位モジュールであって、該リソースは複数のリソースのうちの一つであり、各リソースは前記システムのうちの少なくとも一つと関連付けられているものと;
    を備える装置。
  13. 前記優先順位モジュールは、更に、前記リソースを識別するために前記各システムのそれぞれの容量を用いることを含む請求項12の装置。
  14. 更に、前記システムのうちの関連付けられたシステムが、前記第1のアプリケーションをホストするための要件を満たすように前記リソースを解放する解放モジュールを備える請求項12の装置。
  15. 更に、前記関連付けられたシステム上で前記第1のアプリケーションを開始する開始モジュールを備える請求項14の装置。
  16. 前記解放モジュールは、前記リソースを用いている第2のアプリケーションを停止する停止モジュールを備え、前記第2のアプリケーションは、前記第1のアプリケーションの各自優先順位よりも下位の各自優先順位を有する請求項14の装置。
  17. 前記解放モジュールは、前記リソースを用いている第2のアプリケーションを前記システム内の第2のシステムに移動する移動モジュールを備え、前記第2のアプリケーションは、前記第1のアプリケーションの各自優先順位よりも下位の各自優先順位を有する、請求項14の装置。
  18. 更に、前記第1のアプリケーションを開始すべきであることを決定する決定モジュールを備える請求項12の装置。
  19. 前記決定モジュールは、前記第1のアプリケーションが障害を起こしていることを検出する検出モジュールを備える、請求項18の装置。
  20. 前記決定モジュールは、
    前記第1のアプリケーションの各自の優先順位を、前記システム上で実行されているアプリケーション群の各優先順位群と比較する比較モジュールを備え、
    前記第1のアプリケーションの各自の優先順位が、前記システム上で実行されている前記アプリケーション群の前記各優先順位群のうちの一つより上位である場合に、前記決定モジュールは、前記第1のアプリケーションを開始すべきであることを決定する、
    請求項18の装置。
  21. 前記識別モジュールは、或る選択されたシステムが前記第1のアプリケーションの必要条件を満たす場合、前記一群のシステム中に該選択されたシステムを含めるようにする包含モジュールを備える、請求項12の装置。
  22. 前記識別モジュールは、前記第1のアプリケーションが、或る選択されたシステムの限界を超えない場合、前記一群のシステム中に該選択されたシステムを含めるようにする包含モジュールを備える、請求項12の装置。
JP2004509790A 2002-05-31 2003-05-30 サーバ連結環境のための業務継続ポリシー Expired - Fee Related JP4620455B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/159,366 US7529822B2 (en) 2002-05-31 2002-05-31 Business continuation policy for server consolidation environment
PCT/US2003/017189 WO2003102772A2 (en) 2002-05-31 2003-05-30 Business continuation policy for server consolidation environment

Publications (2)

Publication Number Publication Date
JP2005528691A true JP2005528691A (ja) 2005-09-22
JP4620455B2 JP4620455B2 (ja) 2011-01-26

Family

ID=29709668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004509790A Expired - Fee Related JP4620455B2 (ja) 2002-05-31 2003-05-30 サーバ連結環境のための業務継続ポリシー

Country Status (8)

Country Link
US (2) US7529822B2 (ja)
EP (1) EP1516252B1 (ja)
JP (1) JP4620455B2 (ja)
CN (1) CN1669001B (ja)
AU (1) AU2003249673A1 (ja)
CA (1) CA2486998C (ja)
DE (1) DE60325055D1 (ja)
WO (1) WO2003102772A2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011426A (ja) * 2005-06-28 2007-01-18 Nec Electronics Corp 処理装置
JP2007249445A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd クラスタシステムの負荷分散制御方法およびその装置
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
JP2010198404A (ja) * 2009-02-26 2010-09-09 Nec Corp 情報処理システム、ディザスタリカバリ方法及びディザスタリカバリプログラム
JP2011013892A (ja) * 2009-07-01 2011-01-20 Canon Inc データ処理装置、データ処理装置の制御方法、及びプログラム
JP2012018438A (ja) * 2010-07-06 2012-01-26 Hitachi Ltd トレースシステム
JP2012168816A (ja) * 2011-02-15 2012-09-06 Nec System Technologies Ltd プロセス再起動装置、プロセス再起動方法およびプロセス再起動プログラム
JP2013205859A (ja) * 2012-03-27 2013-10-07 Hitachi Solutions Ltd 分散コンピューティングシステム
JP2015522876A (ja) * 2012-06-04 2015-08-06 アルカテル−ルーセント クラウドベースアプリケーションの単一障害点の排除のための、方法および装置
JP2015523644A (ja) * 2012-05-30 2015-08-13 シマンテック コーポレーションSymantec Corporation 多層構成アプリケーションの災害復旧のためのシステム及び方法
JP6143981B1 (ja) * 2016-03-22 2017-06-07 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
WO2017163447A1 (ja) * 2016-03-22 2017-09-28 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
JP2019197302A (ja) * 2018-05-08 2019-11-14 三菱電機株式会社 情報処理システム、情報処理装置及びプログラム

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US7219254B2 (en) * 2003-03-19 2007-05-15 Lucent Technologies Inc. Method and apparatus for high availability distributed processing across independent networked computer fault groups
US7127637B2 (en) * 2003-03-19 2006-10-24 Lucent Technologies Inc. Method and apparatus for high availability distributed processing across independent networked computer fault groups
US7149918B2 (en) * 2003-03-19 2006-12-12 Lucent Technologies Inc. Method and apparatus for high availability distributed processing across independent networked computer fault groups
US7134046B2 (en) * 2003-03-19 2006-11-07 Lucent Technologies Inc. Method and apparatus for high availability distributed processing across independent networked computer fault groups
WO2004093391A1 (ja) * 2003-04-10 2004-10-28 Fujitsu Limited 関係管理制御プログラム、装置、及びシステム
JP2007524144A (ja) * 2003-06-18 2007-08-23 フジツー シーメンス コンピュータース ゲゼルシャフト ミット ベシュレンクテル ハフツング クラスタ装置
US7302477B2 (en) * 2003-07-31 2007-11-27 International Business Machines Corporation Administration tool for gathering information about systems and applications including the feature of high availability
US20060064400A1 (en) 2004-09-21 2006-03-23 Oracle International Corporation, A California Corporation Methods, systems and software for identifying and managing database work
US7664847B2 (en) * 2003-08-14 2010-02-16 Oracle International Corporation Managing workload by service
US7747717B2 (en) * 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
US7668935B2 (en) * 2003-08-29 2010-02-23 Kabushiki Kaisha Toshiba Computer system and method for service load distributing
US7612903B2 (en) 2003-09-08 2009-11-03 Castelle Line utilization in integrated document delivery method and apparatus
DE102004005128B3 (de) * 2004-02-02 2005-01-05 Fujitsu Siemens Computers Gmbh Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall
US7757033B1 (en) 2004-02-13 2010-07-13 Habanero Holdings, Inc. Data exchanges among SMP physical partitions and I/O interfaces enterprise servers
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US7873693B1 (en) 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
US7633955B1 (en) 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US7685281B1 (en) 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
US7900206B1 (en) * 2004-03-31 2011-03-01 Symantec Operating Corporation Information technology process workflow for data centers
CN100345460C (zh) * 2004-04-05 2007-10-24 华为技术有限公司 进行资源释放的方法
US8713295B2 (en) 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
US7872989B1 (en) * 2004-07-12 2011-01-18 Habanero Holdings, Inc. Full mesh optimization for spanning tree protocol
US7904910B2 (en) * 2004-07-19 2011-03-08 Hewlett-Packard Development Company, L.P. Cluster system and method for operating cluster nodes
US7543020B2 (en) 2005-02-10 2009-06-02 Cisco Technology, Inc. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
US8051170B2 (en) * 2005-02-10 2011-11-01 Cisco Technology, Inc. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
US9361156B2 (en) * 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US20060248371A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for a common cluster model for configuring, managing, and operating different clustering technologies in a data center
US8195976B2 (en) * 2005-06-29 2012-06-05 International Business Machines Corporation Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance
US8326990B1 (en) 2005-07-15 2012-12-04 Symantec Operating Corporation Automated optimal workload balancing during failover in share-nothing database systems
US7823029B2 (en) * 2005-09-07 2010-10-26 International Business Machines Corporation Failure recognition, notification, and prevention for learning and self-healing capabilities in a monitored system
US8082545B2 (en) * 2005-09-09 2011-12-20 Oracle America, Inc. Task dispatch monitoring for dynamic adaptation to system conditions
US7577868B2 (en) * 2005-09-30 2009-08-18 Lockheed Martin Corporation No data loss IT disaster recovery over extended distances
US7934116B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Disaster recover/continuity of business adaptive solution framework
US7933987B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
US7702789B2 (en) * 2005-11-03 2010-04-20 International Business Machines Corporation Apparatus, system, and method for reassigning a client
EP1955235A4 (en) * 2005-11-25 2010-11-10 Continuity Software Ltd SYSTEM AND METHOD FOR MANAGING DATA PROTECTION RESOURCES
DE102006001257A1 (de) * 2005-12-30 2007-07-12 Advanced Micro Devices, Inc., Sunnyvale Automatisiertes Zustandabschätzungssystem für Cluster-Anlagen und Verfahren zum Betreiben des Systems
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
WO2007122030A1 (en) * 2006-04-20 2007-11-01 International Business Machines Corporation Method, system and computer program for the centralized system management on endpoints of a distributed data processing system
US8964728B2 (en) * 2007-11-30 2015-02-24 Idt Corporation Optimization of consolidating entities
US8209405B1 (en) 2006-06-12 2012-06-26 Juniper Networks, Inc. Failover scheme with service-based segregation
US8291042B2 (en) * 2006-07-31 2012-10-16 Lenovo (Singapore) Pte. Ltd. On-demand groupware computing
US7743244B2 (en) * 2006-10-31 2010-06-22 Hewlett-Packard Development Company, L.P. Computer system model generation with tracking of actual computer system configuration
US9270781B2 (en) * 2007-02-15 2016-02-23 Citrix Systems, Inc. Associating virtual machines on a server computer with particular users on an exclusive basis
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US8713186B2 (en) * 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling
US7802128B2 (en) * 2007-03-26 2010-09-21 Oracle International Corporation Method to avoid continuous application failovers in a cluster
US7730091B2 (en) * 2007-08-31 2010-06-01 International Business Machines Corporation Systems, methods and computer products for database cluster modeling
US20090063501A1 (en) * 2007-08-31 2009-03-05 International Business Machines Corporation Systems, methods and computer products for generating policy based fail over configuration for darabase clusters
US8683033B2 (en) * 2007-09-17 2014-03-25 International Business Machines Corporation Apparatus, system, and method for server failover to standby server during broadcast storm or denial-of-service attack
US8230446B2 (en) * 2007-11-28 2012-07-24 International Business Machines Corporation Providing a computing system with real-time capabilities
US8171501B2 (en) 2007-12-12 2012-05-01 International Business Machines Corporation Use of modes for computer cluster management
US7930489B2 (en) * 2008-03-28 2011-04-19 Symantec Corporation Techniques for optimizing configuration partitioning
US8370679B1 (en) * 2008-06-30 2013-02-05 Symantec Corporation Method, apparatus and system for improving failover within a high availability disaster recovery environment
JP2010086363A (ja) * 2008-10-01 2010-04-15 Fujitsu Ltd 情報処理装置及び装置構成組み換え制御方法
US20100111105A1 (en) * 2008-10-30 2010-05-06 Ken Hamilton Data center and data center design
US8793529B2 (en) * 2008-11-04 2014-07-29 Verizon Patent And Licensing Inc. Congestion control method for session based network traffic
JP4648447B2 (ja) * 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
US8117487B1 (en) * 2008-12-29 2012-02-14 Symantec Corporation Method and apparatus for proactively monitoring application health data to achieve workload management and high availability
US8533533B2 (en) * 2009-02-27 2013-09-10 Red Hat, Inc. Monitoring processes via autocorrelation
US8327186B2 (en) * 2009-03-10 2012-12-04 Netapp, Inc. Takeover of a failed node of a cluster storage system on a per aggregate basis
US8145838B1 (en) 2009-03-10 2012-03-27 Netapp, Inc. Processing and distributing write logs of nodes of a cluster storage system
US8595740B2 (en) 2009-03-31 2013-11-26 Microsoft Corporation Priority-based management of system load level
US8069366B1 (en) 2009-04-29 2011-11-29 Netapp, Inc. Global write-log device for managing write logs of nodes of a cluster storage system
US8195685B2 (en) * 2009-06-03 2012-06-05 International Business Machines Corporation Service grouping and allocation method and system
US7992031B2 (en) * 2009-07-24 2011-08-02 International Business Machines Corporation Automated disaster recovery planning
US8805983B2 (en) * 2009-10-19 2014-08-12 Dell Products L.P. Local externally accessible managed virtual network interface controller
US8695012B2 (en) 2010-02-05 2014-04-08 Telefonaktiebolaget L M Ericsson (Publ) Load and backup assignment balancing in high availability systems
US9734034B2 (en) * 2010-04-09 2017-08-15 Hewlett Packard Enterprise Development Lp System and method for processing data
US8413144B1 (en) * 2010-07-30 2013-04-02 Symantec Corporation Providing application-aware high availability of virtual machines
US8424000B2 (en) * 2010-07-30 2013-04-16 Symantec Corporation Providing application high availability in highly-available virtual machine environments
US9858133B2 (en) * 2010-09-20 2018-01-02 Netflix, Inc. Techniques for assessing the resiliency of a distribution computing service provided by a collection of interacting servers
US8589728B2 (en) * 2010-09-20 2013-11-19 International Business Machines Corporation Job migration in response to loss or degradation of a semi-redundant component
KR101894282B1 (ko) * 2011-07-29 2018-09-03 삼성전자 주식회사 단말기 온도 제어 방법 및 이를 지원하는 단말기
US8554919B2 (en) 2011-09-09 2013-10-08 Microsoft Corporation Automatic preemption in multiple computer systems
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
US9438642B2 (en) * 2012-05-01 2016-09-06 Google Technology Holdings LLC Methods for coordinating communications between a plurality of communication devices of a user
US9560108B2 (en) 2012-09-13 2017-01-31 Google Technology Holdings LLC Providing a mobile access point
CN103716411B (zh) * 2014-01-07 2017-06-23 国家电网公司 一种基于SGWM的230 MHz用电信息采集终端远程通信方法
US10965756B2 (en) * 2014-09-16 2021-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Sensor system of master and slave sensors, and method therein
US10896464B2 (en) * 2014-09-19 2021-01-19 Trading Technologies International, Inc. System, method, and tool for synthetic order recovery
US9811428B2 (en) 2014-09-22 2017-11-07 Netapp Inc. System and method for handling multi-node failures in a disaster recovery cluster
US9880818B2 (en) * 2014-11-05 2018-01-30 Ab Initio Technology Llc Application testing
FR3031203B1 (fr) * 2014-12-24 2017-03-24 Bull Sas Methode d'ordonnancement de taches au niveau des noeuds d'un cluster informatique, ordonnanceur de taches et cluster associes
CN105786550B (zh) * 2014-12-26 2020-07-24 联想(北京)有限公司 一种内存应用处理方法及装置
TWI562567B (en) * 2015-03-23 2016-12-11 Ind Tech Res Inst Method of automatically managing applications on digital convergence gateways, system therefor and apparatus therewith
US9948711B2 (en) * 2015-06-15 2018-04-17 International Business Machines Corporation Allocating and managing cloud computing resources for disaster recovery
FR3038751B1 (fr) * 2015-07-07 2018-05-11 Thales Procede d'integration d'une application d'optimisation de route (s) sous contraintes dans un systeme embarque avionique a architecture ouverte de type client serveur
CN105007336B (zh) * 2015-08-14 2018-06-29 深圳市云舒网络技术有限公司 服务器的负载均衡方法及其***
US9952932B2 (en) 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
US10936289B2 (en) 2016-06-03 2021-03-02 Ab Initio Technology Llc Format-specific data processing operations
US10474653B2 (en) 2016-09-30 2019-11-12 Oracle International Corporation Flexible in-memory column store placement
CN106776038B (zh) * 2016-12-30 2019-12-27 Oppo广东移动通信有限公司 一种热门应用资源分配方法及移动终端
US10635981B2 (en) * 2017-01-18 2020-04-28 Microsoft Technology Licensing, Llc Automated movement orchestration
US20190034254A1 (en) * 2017-07-31 2019-01-31 Cisco Technology, Inc. Application-based network anomaly management
US10635334B1 (en) 2017-09-28 2020-04-28 EMC IP Holding Company LLC Rule based data transfer model to cloud
US10754368B1 (en) * 2017-10-27 2020-08-25 EMC IP Holding Company LLC Method and system for load balancing backup resources
US10942779B1 (en) 2017-10-27 2021-03-09 EMC IP Holding Company LLC Method and system for compliance map engine
US10834189B1 (en) 2018-01-10 2020-11-10 EMC IP Holding Company LLC System and method for managing workload in a pooled environment
US10509587B2 (en) 2018-04-24 2019-12-17 EMC IP Holding Company LLC System and method for high priority backup
US10769030B2 (en) 2018-04-25 2020-09-08 EMC IP Holding Company LLC System and method for improved cache performance
US10365964B1 (en) * 2018-05-31 2019-07-30 Capital One Services, Llc Data processing platform monitoring
US10901824B2 (en) * 2018-07-20 2021-01-26 Microsoft Technology Licensing, Llc Opportunistic offlining for faulty devices in datacenters

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63200257A (ja) * 1987-02-16 1988-08-18 Mitsubishi Electric Corp コンピユ−タのプログラムロ−ド方式
JPH0675774A (ja) * 1992-08-25 1994-03-18 Mutoh Ind Ltd Cad処理方法および装置
JPH09231019A (ja) * 1996-02-23 1997-09-05 Canon Inc 情報処理装置並びに印刷装置並びに印刷システムおよび印刷システムのデータ処理方法
JPH1097435A (ja) * 1996-09-20 1998-04-14 Nec Corp 資源割当てシステム
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
JP2000293386A (ja) * 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993020511A1 (en) 1992-03-31 1993-10-14 Aggregate Computing, Inc. An integrated remote execution system for a heterogenous computer network environment
JP3658420B2 (ja) * 1994-04-14 2005-06-08 株式会社日立製作所 分散処理システム
US5680610A (en) * 1995-01-19 1997-10-21 Unisys Corporation Method and apparatus for testing recovery scenarios in global transaction processing systems
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US6128657A (en) * 1996-02-14 2000-10-03 Fujitsu Limited Load sharing system
US6212562B1 (en) 1997-03-28 2001-04-03 Honeywell International Inc. Criticality and quality of service (QoS) based resource management
US6363497B1 (en) * 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6145089A (en) * 1997-11-10 2000-11-07 Legato Systems, Inc. Server fail-over system
US6243825B1 (en) * 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
US6947987B2 (en) 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
ATE450003T1 (de) * 1998-08-01 2009-12-15 Ibm Komputergesteuerte verfahren und system zum implementieren von verteilten anwendungen
US6910210B1 (en) 1998-11-24 2005-06-21 Microsoft Corp. System and method for terminating applications
US6430570B1 (en) 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
US6401120B1 (en) * 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US7076783B1 (en) 1999-05-28 2006-07-11 Oracle International Corporation Providing figure of merit vote from application executing on a partitioned cluster
US6553401B1 (en) * 1999-07-09 2003-04-22 Ncr Corporation System for implementing a high volume availability server cluster including both sharing volume of a mass storage on a local site and mirroring a shared volume on a remote site
US6874145B1 (en) 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
US20040205414A1 (en) * 1999-07-26 2004-10-14 Roselli Drew Schaffer Fault-tolerance framework for an extendable computer architecture
US6594784B1 (en) * 1999-11-17 2003-07-15 International Business Machines Corporation Method and system for transparent time-based selective software rejuvenation
US6662219B1 (en) 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US6799208B1 (en) 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US6865591B1 (en) * 2000-06-30 2005-03-08 Intel Corporation Apparatus and method for building distributed fault-tolerant/high-availability computed applications
US7448079B2 (en) * 2000-07-05 2008-11-04 Ernst & Young, Llp Method and apparatus for providing computer services
GB0020488D0 (en) * 2000-08-18 2000-10-11 Hewlett Packard Co Trusted status rollback
US20020147966A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software performance monitor
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US6823382B2 (en) 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US6934880B2 (en) * 2001-11-21 2005-08-23 Exanet, Inc. Functional fail-over apparatus and method of operation thereof
US7392421B1 (en) * 2002-03-18 2008-06-24 Symantec Operating Corporation Framework for managing clustering and replication
US9137324B2 (en) 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
US6996728B2 (en) * 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63200257A (ja) * 1987-02-16 1988-08-18 Mitsubishi Electric Corp コンピユ−タのプログラムロ−ド方式
JPH0675774A (ja) * 1992-08-25 1994-03-18 Mutoh Ind Ltd Cad処理方法および装置
JPH09231019A (ja) * 1996-02-23 1997-09-05 Canon Inc 情報処理装置並びに印刷装置並びに印刷システムおよび印刷システムのデータ処理方法
JPH1097435A (ja) * 1996-09-20 1998-04-14 Nec Corp 資源割当てシステム
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
JP2000293386A (ja) * 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011426A (ja) * 2005-06-28 2007-01-18 Nec Electronics Corp 処理装置
JP2007249445A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd クラスタシステムの負荷分散制御方法およびその装置
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
JP2010198404A (ja) * 2009-02-26 2010-09-09 Nec Corp 情報処理システム、ディザスタリカバリ方法及びディザスタリカバリプログラム
JP2011013892A (ja) * 2009-07-01 2011-01-20 Canon Inc データ処理装置、データ処理装置の制御方法、及びプログラム
JP2012018438A (ja) * 2010-07-06 2012-01-26 Hitachi Ltd トレースシステム
JP2012168816A (ja) * 2011-02-15 2012-09-06 Nec System Technologies Ltd プロセス再起動装置、プロセス再起動方法およびプロセス再起動プログラム
JP2013205859A (ja) * 2012-03-27 2013-10-07 Hitachi Solutions Ltd 分散コンピューティングシステム
JP2015523644A (ja) * 2012-05-30 2015-08-13 シマンテック コーポレーションSymantec Corporation 多層構成アプリケーションの災害復旧のためのシステム及び方法
JP2015522876A (ja) * 2012-06-04 2015-08-06 アルカテル−ルーセント クラウドベースアプリケーションの単一障害点の排除のための、方法および装置
JP6143981B1 (ja) * 2016-03-22 2017-06-07 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
WO2017163447A1 (ja) * 2016-03-22 2017-09-28 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
US11226841B2 (en) 2016-03-22 2022-01-18 Mitsubishi Electric Corporation Information processing system, information processing device, and information processing method
JP2019197302A (ja) * 2018-05-08 2019-11-14 三菱電機株式会社 情報処理システム、情報処理装置及びプログラム
JP7065686B2 (ja) 2018-05-08 2022-05-12 三菱電機株式会社 情報処理システム、情報処理装置及びプログラム

Also Published As

Publication number Publication date
CN1669001B (zh) 2010-11-17
US7529822B2 (en) 2009-05-05
WO2003102772A3 (en) 2004-11-11
EP1516252B1 (en) 2008-12-03
CN1669001A (zh) 2005-09-14
CA2486998A1 (en) 2003-12-11
US20040153708A1 (en) 2004-08-05
JP4620455B2 (ja) 2011-01-26
US20090024868A1 (en) 2009-01-22
WO2003102772A2 (en) 2003-12-11
AU2003249673A8 (en) 2003-12-19
DE60325055D1 (de) 2009-01-15
AU2003249673A1 (en) 2003-12-19
EP1516252A2 (en) 2005-03-23
US7478149B2 (en) 2009-01-13
CA2486998C (en) 2012-05-01

Similar Documents

Publication Publication Date Title
JP4620455B2 (ja) サーバ連結環境のための業務継続ポリシー
US10942828B2 (en) Method for storing data shards, apparatus, and system
US7900206B1 (en) Information technology process workflow for data centers
JP5353712B2 (ja) 冗長構成管理システムおよび方法
US7574620B2 (en) Method for operating an arrangement of a plurality of computers in the event of a computer failure
CN110764963B (zh) 一种服务异常处理方法、装置及设备
JP5526784B2 (ja) 縮退構成設計システムおよび方法
US10795735B1 (en) Method and apparatus for load balancing virtual data movers between nodes of a storage cluster
JPH06202978A (ja) 論理経路スケジューリング装置及び実行方法
EP1410229A1 (en) High-availability cluster virtual server system
CN106095571B (zh) 多rac集群***、数据访问方法及装置
CN106789308B (zh) 一种微服务架构可自动伸缩的gis服务装置及其控制方法
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
US10880367B2 (en) Load balancing stretched clusters in a distributed network
JP2016062140A (ja) 仮想機器管理装置、仮想機器管理方法及び仮想機器管理プログラム
US7555544B1 (en) Implementation of affinities in high availability computer system clusters
US11544162B2 (en) Computer cluster using expiring recovery rules
CN115686368A (zh) 区块链网络的节点的存储扩容的方法、***、装置和介质
JP6277069B2 (ja) 仮想機器管理装置、仮想機器管理方法及び仮想機器管理プログラム
CN107783855B (zh) 虚拟网元的故障自愈控制装置及方法
US6966010B1 (en) Application container that allows concurrent execution on multiple Nodes in a Cluster
CN108959170B (zh) 虚拟设备管理方法、装置、堆叠***及可读存储介质
JP6511005B2 (ja) コンピュートリソース管理システムおよびコンピュートリソース管理方法
Wakuda et al. Analytical Model for Assessing Unavailability in Middleboxes with Multiple Backup Servers under Shared Protection
CN118413436A (zh) 故障处理方法、产品、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090224

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

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: 20101012

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: 20101028

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4620455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350