JP5716756B2 - 高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法 - Google Patents

高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP5716756B2
JP5716756B2 JP2012557030A JP2012557030A JP5716756B2 JP 5716756 B2 JP5716756 B2 JP 5716756B2 JP 2012557030 A JP2012557030 A JP 2012557030A JP 2012557030 A JP2012557030 A JP 2012557030A JP 5716756 B2 JP5716756 B2 JP 5716756B2
Authority
JP
Japan
Prior art keywords
application
cluster
service group
application units
composite service
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
JP2012557030A
Other languages
English (en)
Other versions
JP2013522716A (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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2013522716A publication Critical patent/JP2013522716A/ja
Application granted granted Critical
Publication of JP5716756B2 publication Critical patent/JP5716756B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、一般にデジタルコンピュータシステムに関し、より詳細には、多層構成アプリケーションの管理に関する。
情報はビジネスを動かす。今日の企業は自社の事業を営むために、頻繁にアクセスされ、絶えず変化するオンラインデータにかつてないほど依拠している。このデータの可用性を妨げる予想外の事象は、企業運営を著しく害する可能性がある。さらに、自然災害または他の任意の原因に由来するいかなる永久的データ損失も、事業の継続的な存続可能性について深刻な負の結果をもたらす可能性がある。したがって、災害が降りかかるとき、企業は、データ損失をなくしまたは最小限に抑え、使用可能なデータを使って素早く回復する準備ができていなければならない。
企業は、最も重要なサービスを提供し、自社の最も重要なデータを記憶するために高可用性クラスタに頼るようになった。概して、例えば計算クラスタ、記憶クラスタ、スケーラブルクラスタなど、様々な種類のクラスタがある。高可用性クラスタ(HAクタスタまたはフェイルオーバクラスタとしても知られる)とは、主にそのクラスタが提供するサービスの高可用性を実現するために実装されるコンピュータクラスタである。高可用性クラスタは、システムコンポーネントが障害を起こすときにサービスを提供するために使用される、冗長なコンピュータまたはノードを有することによって動作する。
通常、特定のアプリケーションを有するサーバがクラッシュすると、クラッシュしたサーバを誰かが直すまでそのアプリケーションは利用できない。HAクラスタリングは、ハードウェア/ソフトウェアの障害を検出し、管理上の介入を必要とすることなしにそのアプリケーションを別のシステム上で直ちに再始動させる、フェイルオーバとして知られるプロセスによりこの状況を修復する。このプロセスの一環として、アプリケーションをノード上で始動させる前に、そのノードをクラスタリングソフトウェアが構成することができる。例えば、適切なファイルシステムをインポートして組み込まなければならない場合があり、ネットワークハードウェアを構成しなければならない場合があり、加えて何らかの支援アプリケーションが実行されていなければならない場合がある。
HAクラスタは、重要なデータベース、ネットワーク上でのファイル共有、ビジネスアプリケーション、およびインターネット商取引ウェブサイトなどの顧客サービスにしばしば使われる。HAクラスタの諸実装形態は、多重ネットワーク接続、およびストレージエリアネットワークによって多重接続されるデータ記憶域またはインターネットプロトコルベースの記憶域を含め、単一の障害発生点をなくすためにクラスタ内に冗長性を構築しようとする。
災害が降りかかるとき、企業はデータ損失を最小限に抑え、DR(障害回復)を素早く実施しなければならない。例えば洪水、暴風、地震などは、広域にわたってサービスおよびインフラを中断させることがある。データの分散およびDRには、複製技術が主に使用される。特定時点のデータのコピーを複製し、1つまたは複数の遠隔サイトまたはノードに記憶する定期的複製は、データ損失を最小限に抑え、データの可用性を改善するために利用される1つの技法である。サイト移動、データを記憶する1つまたは複数の物理ディスクの障害、またはそのようなディスクに関連するノードもしくはホストデータ処理システムの障害が発生する場合、その遠隔の複製済みデータコピーを利用することができる。
ビジネスサービスに相当する多層構成アプリケーションは、HA/DR(高可用性/障害回復)のために単一ユニットとして管理されることが多くの場合求められる。概して、多層アーキテクチャは、プレゼンテーション、アプリケーション処理、およびデータ管理が論理的に別個のプロセスであるクライアント・サーバアーキテクチャを指す。例えば、ユーザとデータベースとの間のデータ要求に応えるためにミドルウェアを使用するアプリケーションは多層アーキテクチャを採用する。
ビジネスサービスに相当する多層構成アプリケーションは、HA/DRのために単一ユニットとして管理されなければならない。例えば、ビジネスサービスの機能を実施する様々なアプリケーションおよびプロセスを、様々なクラスタサイト内または様々なクラスタサイト間で、単一ユニットとしてオンラインもしくはオフラインにし、切り替え、フェイルオーバし、またはフェイルバックする必要がある。
本発明の諸実施形態は、HA/DR(高可用性/障害回復)の特性を提供するために、クラスタ内および/またはクラスタ間で多層ビジネスサービスの便利な定義、視覚化、および管理を促進する。
一実施形態では、本発明が、クラスタベースのコンピュータシステムのための複合サービスグループを定義し、管理するための方法として実施される。この方法は、クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップを含み、アプリケーションユニットはビジネスサービスを実装する。この方法は、複合サービスグループの定義を受け取るステップであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、その複合サービスグループの統合ステータスを生成するステップとをさらに含む。その後、複合サービスグループを使用することにより、統合ステータスに従ってビジネスサービスをオンラインにする。
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションユニットのそれぞれの初期化を制御する階層的依存関係情報を含む。
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションユニットのそれぞれの初期化を制御する系列的(sequential)依存関係情報を含む。
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションと、複数のアプリケーションユニットからの他のアプリケーションユニットとの間の通信を制御する境界を定める。
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションユニットに関する依存関係、制約、またはシステム配置方式をカプセル化(encapsulate)する。
一実施形態では、統合ステータスが、ビジネスサービスを実装するアプリケーションユニットそれぞれの個々のステータスを視覚的に示す。
一実施形態では、複合サービスグループが、第1のクラスタと第2のクラスタとの間にフェイルオーバのユニットを含み、複合サービスグループのアプリケーションユニットが、第1のクラスタから第2のクラスタに全体としてフェイルオーバされる。
一実施形態では、複合サービスグループを使用して、高可用性または障害回復のために一次サイトと二次サイトとの間に複製プロセスをセットアップする。
一実施形態では、コマンドラインインターフェイスまたはグラフィカルユーザインターフェイスを介して、ビジネスサービスを実装するアプリケーションユニットの管理上の制御を行うために、複合サービスグループを使用する。
一実施形態では、ビジネスサービスを実装するアプリケーションユニットの少なくとも1つが、仮想マシンアプリケーションユニットである。
一実施形態では本発明が、コンピュータシステムによって実行される場合、クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップを含む方法であって、アプリケーションユニットはビジネスサービスを実装する、方法をコンピュータシステムに実行させるコンピュータ実行可能命令が記憶された、コンピュータ可読記憶媒体として実施される。その方法は、複合サービスグループの定義を受け取るステップであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、その複合サービスグループの統合ステータスを生成するステップとをさらに含む。その方法は、複合サービスグループを使用することにより、統合ステータスに従ってビジネスサービスをオンラインにするステップであって、ビジネスサービスを実装するアプリケーションユニットの管理上の制御を行うために複合サービスグループを使用する、オンラインにするステップをさらに含む。
別の実施形態では本発明が、コンピュータ可読記憶媒体に結合され、コンピュータ可読コードを実行するプロセッサを有するコンピュータシステムを含む、コンピュータシステムとして実施され、そのコンピュータ可読コードは、コンピュータシステムに、複合サービスグループマネージャモジュールを実行させ、複合サービスグループの定義を受け取らせることであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙し、かつクラスタベースのコンピュータシステム上で複数のアプリケーションユニットがインスタンス化される、定義を受け取らせ、複合サービスグループの統合ステータスを生成させる。このコンピュータ可読コードはさらに、コンピュータシステムに、複合サービスグループを使用することにより一次サイトと二次サイトとの間に複製プロセスをセットアップさせ、統合ステータスに従ってビジネスサービスをオンラインにさせる。
上記の内容は要約であり、そのため必然的に詳細の単純化、一般化、および省略を含み、したがって当業者なら、この要約が例示に過ぎず、限定的であることは決して意図しないことを理解されよう。特許請求の範囲によって専ら定める本発明の他の態様、発明上の特徴、および利点が、以下に記載する非限定的な詳細説明の中で明らかになる。
本発明を添付図面の諸図面の中で限定ではなく例として示し、それらの図面の中では類似の参照番号が同様の要素を指す。
本発明の一実施形態による、HA/DRマルチクラスタベースのコンピューティングシステムを描く図を示す。 本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な単一サイトのフェイルオーバシナリオを示す。 本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な2サイトのフェイルオーバシナリオを示す。 本発明の一実施形態による、1つまたは複数のビジネスサービスを提供するアプリケーションユニットの集まりを示す。 本発明の一実施形態による、アプリケーションユニットを複合サービスグループへとグループ化する方法を示す。 本発明の一実施形態による、HA/DRのためにCSGが完全に複製されている一次サイトおよび二次サイトを示す。 本発明の一実施形態による、HA/DRのためにCSGが部分的に複製されている一次サイトおよび二次サイトを示す。 本発明の一実施形態による、HA/DRのために仮想マシンおよび実アプリケーションの両方を含むCSGが完全に複製されている一次サイトおよび二次サイトを示す。 本発明の一実施形態による、HA/DRのために仮想マシンおよび実アプリケーションの両方を含むCSGが完全に複製されている第1のクラスタおよび第2のクラスタを示す。 本発明の一実施形態による、CSGによりHA/DRを提供しながら、クラスタベースのコンピュータシステム上でビジネスサービスを実行するためのプロセスのステップについてのフローチャートを示す。 一実施形態による例示的コンピュータシステムを示す。 本発明の一実施形態による、特定の機能を実施するのに適したコンピュータシステムのブロック図を示す。
本発明を一実施形態に関連して説明したが、本発明を本明細書に記載の特定の形態に限定するつもりはない。それどころか、特許請求の範囲によって定める本発明の範囲内に合理的に含まれ得るそうした代替形態、修正形態、および等価物を範囲に含めることを意図する。
以下の詳細な説明では、具体的な方法の順序、構造、要素、接続など、数多くの具体的詳細を記載する。ただし、本発明の諸実施形態を実践するために、これらのおよび他の具体的詳細を利用しなくてもよいことを理解すべきである。他の状況では、この説明を不要に曖昧にするのを避けるために、よく知られている構造、要素、または接続は省いてあり、または特別詳しくは説明していない。
本明細書で「一実施形態」または「ある実施形態」に言及することは、その実施形態に関連して記載する特定の機能、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれることを示すことを目的とする。本明細書の様々な場所で現れる慣用句「一実施形態では」は、必ずしも全て同じ実施形態を指すとは限らず、別個の実施形態または代替的実施形態が他の実施形態を互いに含まないというわけでもない。さらに、一部の実施形態によって提示できるが他の実施形態では提示できない様々な特徴について説明する。同様に、一部の実施形態では要件となり得るが他の実施形態では要件にならない様々な要件についても説明する。
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する操作の手続き、ステップ、論理ブロック、処理、および他の記号表現の観点から表す。これらの記述および表現は、データ処理分野の技術者が、当業者に自身の作業内容を最も効果的に伝えるために使用する手段である。本明細書では、および一般に、手続き、コンピュータによって実行されるステップ、論理ブロック、プロセス等は、所望の結果を導く自己矛盾のない一連のステップまたは命令であると考える。そのステップは、物理量の物理的操作を必要とするものである。通常、必須ではないが、これらの量はコンピュータ可読記憶媒体の電気信号または磁気信号の形を取り、コンピュータシステム内で記憶し、転送し、合成し、比較し、他の方法で操作することができる。時には、主に共通使用上の理由から、これらの信号をビット、値、要素、記号、文字、用語、数などと呼ぶのが好都合であることが分かっている。
ただし、これらのおよび類似の用語は全て、適切な物理量に関連付けるべきであり、これらの量に適用する都合のよいラベルに過ぎないことに留意すべきである。特段の定めがない限り、以下の解説から明らかなように、本発明の全体を通して、「処理する」、「アクセスする」、「書き込む」、「記憶する」、「複製する」などの用語を使った解説は、コンピュータシステムのレジスタおよびメモリ、ならびに他のコンピュータ可読媒体の中で物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、またはそのような他の情報記憶装置、伝送装置、もしくは表示装置内で物理量として同様に表される他のデータへと変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを指すと理解される。
本発明の諸実施形態は、HA/DR(高可用性/障害回復)の特性を提供するために、クラスタ内および/またはクラスタ間で多層ビジネスサービスの便利な定義、視覚化、および管理を促進する。本システムおよび方法は、HA/DRクラスタリングソフトウェア上に構築される、CSG(複合サービスグループ)ビジネスサービスの概念を導入する。一実施形態では、本発明はクラスタ内のコンテナオブジェクトを表す。このコンテナオブジェクトは、全ての関連アプリケーションを含む。例えばこのコンテナオブジェクトは、クラスタサイト内またはクラスタサイト間で、単一ユニットとして定義し、視覚化し、オンラインにし、オフラインにし、フェイルオーバし、切り替え、切り替えて戻すことができる、(例えば物理マシンまたは仮想マシン上で実行される)1つまたは複数のビジネスサービスまたはアプリケーションを表す。
一実施形態では、(例えば多層構成アプリケーションに見られるような)ビジネスサービスに関する統合ステータスの可視性、および自動化が促進される。一実施形態では、典型的な動作環境が、ビジネスサービスに関するHA/DR複製プロセス機能の自動化を包含する。本発明の諸実施形態によるCSGは、複雑なアプリケーションの依存関係、制約、およびシステム配置方式をカプセル化する、アプリケーションのための適したコンテナを提供する。以下の図1では、典型的なクラスタベースのコンピュータシステム環境について論じる。図2および図3は、クラスタベースのコンピュータシステム環境内でHA/DRサービスを提供するために用いるフェイルオーバシナリオの2つの例を示す。図4は、CSGの機能特性の概要を示す。
次に図1を参照して、図1は、本発明の一実施形態による、HA/DRマルチクラスタベースのコンピューティングシステムを描く図を示す。図1に示すように、3つのクラスタ101〜103を図示する。クラスタ102〜103はそれぞれ、2ノードクラスタを構成する。クラスタ101は、4ノードクラスタを構成する。構成ノードのそれぞれを個々の記憶装置(例えばディスクドライブ等)に接続して示し、クラスタ101はSAN(ストレージエリアネットワーク)に接続して示す。各クラスタのノードは、ローカルエリアネットワーク105〜107を介して互いに通信する。これらのローカルエリアネットワークはインターネット110に接続される。図1には2つのノードおよび4つのノードからなるクラスタを示すが、本発明の諸実施形態は容易にスケール変更し、何百または何千ものノードを有する分散コンピュータシステムおよび/またはクラウドベースコンピュータシステム内で機能できることを理解すべきである。同様に、図1にはクラスタを構成する物理ノードを示すが、図1の1つまたは複数のノードは、(例えば以下の図10に示すように)1台または複数台の仮想マシン上でインスタンス化されるゲストインスタンス/アプリケーションとして実装できることも理解すべきである。
したがって図1は、典型的なHA/DRマルチクラスタコンピュータシステム環境の基本レイアウトを示す。上記に記載したように、高可用性クラスタとは、サービスの高可用性をユーザおよび/またはアプリケーションに提供し、確実な障害回復を実現することによって主に機能するコンピュータクラスタである。クラスタ内HAを提供するために、各クラスタ101〜103の複数の冗長ノードを使用して、クラスタの1つまたは複数のノードが障害を起こす場合にサービスを提供する(例えばクラスタ内フェイルオーバ)。クラスタごとの障害回復を行うために、複数のクラスタ101〜103を地理的に分散した位置に実装し、定期的複製技術を使用して確実な障害回復を実現することができる。障害を起こしたクラスタから回復するために、アプリケーションのグループ全体があるクラスタから別のクラスタにフェイルオーバして、アプリケーションサービスの中断を最小限に抑え、かつデータ損失のリスクを最小限に抑えることができる。
図1は、クラスタ101〜103のそれぞれの中に、複数の複合サービスグループマネージャ121〜123を含めることも示す。複合サービスグループマネージャ121〜123は、本発明の諸実施形態の多層ビジネスサービス機能の定義、視覚化、および管理を実施する。図1の実施形態では、各クラスタ内にインスタンス化された少なくとも1つの複合サービスグループマネージャがあるが、冗長性、信頼性等を与えるために、複合サービスグループマネージャは所与のクラスタの各ノード上でインスタンス化することができる。
図2は、本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な単一サイトのフェイルオーバシナリオを示す。図2に示すように、一次サイト201は、2つのクラスタ210および211を含む。
図2の実施形態では、クラスタ210〜211は、互いにHA/DRフェイルオーバ保護を提供するように構成することができる。この例では、クラスタ210〜211はどちらも一次サイトにある。しかし、クラスタ211がキャンパスのあるビル内にありながら、クラスタ210はそのキャンパスの別のビルにあってもよい。異なるビル内に物理的に分離することは、たとえその2つのクラスタが地理的に広く(例えば異なる領域に数百マイルも離れて)離れていなくても、ある程度のHA/DRをもたらす。同様に、これらの2つのクラスタは同じビル内の異なる階にあってもよく(例えば一方のクラスタが地階にあり、他方のクラスタが別の階にある)、上に述べたように引き続きある程度のHA/DRをもたらす。同じビル内でも、クラスタを物理的に分離することは、相変わらず(例えば消火器の活性化、不正侵入等に対する)かなりのHA/DR保護をもたらす。
クラスタ210〜211は2つの別個のクラスタとして示すが、クラスタ210〜211は、2つのサブクラスタとして実装できることに留意すべきである。そのような実施形態では、より大きな単一のクラスタが、互いにHA/DR保護を提供するようにそれぞれ設定可能な2つのサブクラスタへと分割される。
図3は、本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な2サイトのフェイルオーバシナリオを示す。図3に示すように、一次サイト301は、二次サイト302に通信可能に接続される。一次サイトおよび二次サイト301〜302は、それぞれのクラスタ310〜311を含む。
図3の実施形態では、クラスタ310〜311は、それぞれのサイトにHA/DRフェイルオーバ保護を提供するように構成される。この例では、クラスタ310〜311は、地理的に分散した一次サイトおよび二次サイトに位置する。地理的に広く離れた位置に物理的に分離することは、ひときわ高度なHA/DR保護を提供する。それらのクラスタの広く離れた位置は、広い地域にわたってサービスに影響を及ぼしインフラを途絶させることがある、大規模な事象(例えば暴風、地震、津波等)に対する障害回復保護をもたらす。
図4は、本発明の一実施形態による、1つまたは複数のビジネスサービスを提供するアプリケーションユニットの集まりを示す。図4に示すように、これらのアプリケーションユニットは、互いとの相互依存関係に関して図示する。図4は、図4の下部にあるアプリケーションユニットが、図4の上部にあるアプリケーションユニットに構成要素の機能およびサポートを提供する様式を示す。例えば、アプリケーションユニット401〜403は、アプリケーションユニット404にサポート機能をそれぞれ提供する。アプリケーション404およびアプリケーション405は、最上位アプリケーション410にサポート機能を提供する。同様に、アプリケーション421およびアプリケーション422は、最上位アプリケーション430にサポート機能を提供する。矢印450は、2つの最上位アプリケーションユニット410および430間で生じるプロセス間通信を表す。
このようにして、アプリケーションユニット401〜410は多層構成アプリケーションを具体化し、アプリケーションユニットのそれぞれは、ビジネスサービスの全体的機能のうちの構成部分を実施するよう要求される。このビジネスサービスは、例えばインターネットを使った小売サイトの購入取引を処理するビジネスサービスとすることができる。同様に、アプリケーションユニット421〜430は第2のビジネスサービスを構成する。この第2のビジネスサービスは、アプリケーションユニット421〜430が提供するビジネスサービスとは異なり、そうしたビジネスサービスから切り離されている。図4の実施形態では、2つのビジネスサービス間の通信は、高レベルアプリケーションユニット410および430においてのみ生じる。
本明細書で使用するとき、アプリケーションユニットは、全体的なビジネスサービスを構成する機能の様々な部分を実施する、一連の様々なプロセスまたはアプリケーションを指す網羅的な用語であることに留意すべきである。このアプリケーションユニットは、物理マシン上で実行されるアプリケーションとすることができる(例えばデータベースアプリケーション、ウェブサーバ等)。このアプリケーションユニットは、仮想マシン上のゲストインスタンスや、物理マシン上で実行される仮想マシン全体など、仮想マシンアプリケーションユニットとすることができる。このアプリケーションユニットは、様々なプラットフォーム上にあることができる(例えばMIPS、x86、Itanium等)。このアプリケーションユニットは、様々なオペレーティングシステム上にあることができる(例えばLinux、Solaris、Windows等)。アプリケーションユニットのそれぞれは、ビジネスサービス全体の多層アーキテクチャを一緒になって実装し、例えばそのアプリケーションユニットは、概して標準化されたインターフェイスを有する物理的にまたは論理的に別個のプロセス/アプリケーションとして実装される。
図5は、本発明の一実施形態による、アプリケーションユニットを複合サービスグループ570へとグループ化する方法を示す。
図5は、本発明の諸実施形態が、クラスタ内のコンテナオブジェクトを表すCSGビジネスサービスを実装する方法を示す。上記に記載したように、コンテナオブジェクト(例えばCSG570)は、ビジネスサービスに関する機能を提供する全ての関連アプリケーション、この場合はアプリケーションユニット401〜410を含む。本発明の諸実施形態によるCSG570は、複雑なアプリケーションの依存関係、制約、およびシステム配置方式をカプセル化するための適したコンテナを提供する。
例えば、CSG570が購入取引を処理するビジネスサービスを実装する動作シナリオでは、アプリケーションユニット401〜410、ビジネスサービスは、クラスタサイト内またはクラスタサイト間で、単一ユニットとして定義し、視覚化し、オンラインにし、オフラインにし、フェイルオーバし、切り替え、切り替えて戻すことができる。この単一ユニットがCSG570である。CSG570のこの単一ユニットの側面は、ビジネスサービスに関するHA/DRプロセス機能の自動化を大きく促進する。CSG570が定義されると、CSG570を構成するアプリケーションユニットの複製およびコピーを容易に自動化することができ、それにより高度なHA/DR保護を保証する。
このようにして、CSG570はフェイルオーバのユニットを構成する。CSG570を構成するアプリケーションユニットのそれぞれは、全体として一緒に複製し、かつ/または障害を起こし/再びフェイルバックする場合もありしない場合もある。
CSGの定義
CSGを定義することは、オブジェクトに固有名を与えること(例えばデータ構造をリストにすること)を含む。一実施形態では、このオブジェクトは、どのアプリケーションユニットが所与のビジネスサービスを構成するのかを一意に記述する列挙リストを含む。CSGの固有名は、他のプロセスまたはシステム管理者が、CSGを容易にかつ認識可能に操作および/または管理できるようにする。典型的な名前は、例えばそのビジネスサービスが提供されるキャンパス(例えばStanford University、Mountain View等)や、そのビジネスサービスが実施する機能(例えば本の販売、子供服の販売等)とすることができる。
列挙リストは、ビジネスサービスを構成するアプリケーションユニット間に存在する階層的相互関係を記述する。この列挙リストは、存在し得る任意の系列的依存関係を記述する。列挙リストによって捕捉される階層関係は、どのアプリケーションユニットのどの初期化を同時に実行でき、どのアプリケーションユニットのどの初期化を順次に実行しなければならないのかを示す。例えば、アプリケーションユニット404の機能は、アプリケーション401〜404が始動することに依拠する。同様に、アプリケーションユニット410の機能は、アプリケーションユニット404〜405を初期化することに依拠する。アプリケーションユニット401〜403の初期化は同時に行うことができる一方、アプリケーション410の初期化は、アプリケーション405の初期化および結果として起こるアプリケーション404の初期化を待たなければならない。
さらに、通信線450と交差するCSGの境界は、支援アプリケーションユニット401〜405の全てが初期化されるまで、最上位アプリケーションユニット410と最上位アプリケーションユニット430との間の通信が停止され、それによりアプリケーションユニット410を完璧に初期化できるようにしていることを示す。
新たなCSGを定義すること、既存のCSGを変更すること、既存のCSGを削除すること等のプロセスに特権を関連付けてもよいことに留意すべきである。例えば、指定の特権レベルに応じた承認を必要とする承認プロセスを確立することができる。そのような承認プロセスは、システム管理者がかかる行為を行うのに十分な特権を有することを確実にするためのものである。
CSGの視覚化
CSGを構成するアプリケーションユニットについての統合ステータスを示すために、ディスプレイを実装することができる。統合ステータスは、コマンドラインインターフェイスを介して送られるリストとすることができる。統合ステータスは、CSGを構成するアプリケーションユニットそれぞれの個々のステータスを視覚的に示すことができるGUIにより、視覚的に示すことが可能である。
一実施形態では、統合ステータスが、アプリケーションの現在の可用性を示す特定の状態を視覚的に示すことができる。一実施形態では、CSGがオフラインか、部分的か、オンラインかを、フラグおよび/または視覚インジケータが示すことができる。CSGは、そのアプリケーションユニットの全てが完全に利用可能な場合にのみオンラインである。CSGは、CSGの少なくとも1つのアプリケーションユニットが完全に利用可能ではない場合、部分的である。CSGの少なくとも1つのアプリケーションユニットが完全に利用できない場合、部分的にまたは完全に利用できる少なくとも1つの他のアプリケーションユニットが存在する。CSGは、そのアプリケーションユニットの全てが完全に利用できない場合オフラインである。
CSGの管理
一実施形態では、CSGの管理には、CSGを始動させ、CSGを停止し、CSGを様々なサイト間で切り替えること等ができることが含まれる。この管理は、CSG名を参照することによる。管理は、典型的にはシステム管理者によりコマンドラインインターフェイスまたはGUIを介して実施される。上記に記載したように、かかる行為を行うために、指定の特権レベルに応じた承認(例えばユーザ名およびパスワード)を確立するようシステム管理者に要求することができる。コマンドラインインターフェイスまたはGUIを使用して、システム管理者は、CSGを参照して全CSGをオンラインにし、全CSGをオフラインにする等のための単一コマンドを実行することができる。
例示的なCSGの特徴および機能についての説明
以下は、本発明の諸実施形態による特定のCSGの特徴および機能の概要である。
A)CSGは、システム管理者が規定するビジネスサービスを構成するアプリケーション用のコンテインメントを提供するファーストクラスオブジェクトである。そのため、典型的なCSGのライフサイクルには以下が含まれる。
1)規定したアプリケーションユニットのリストからなる、ファーストクラスCSGオブジェクトを定義/作成すること。これらのアプリケーションユニットは、このCSGの一部でなくてもよい他のアプリケーションユニットに対する依存関係を有することができる。
2)以下についてCSGオブジェクトを修正すること。
a)アプリケーションユニットのリスト、
b)このCSGオブジェクトをフェイルオーバ/フェイルバックし、切り替え/切り替えて戻すことができるクラスタ/サイトのリスト、および
c)仮想マシンのリスト。
3)CSGオブジェクトを削除すること。
4)所要のサイト/クラスタ内で、所要のサイト/クラスタに、CSGオブジェクトをオンラインにし/オフラインにし/切り替えること。
5)所与のクラスタ/サイト上のCSGの障害を取り除くこと。
6)所与のクラスタ/サイト上のCSGを引き継ぐこと。
7)サイト/クラスタにわたる統合されたCSGの状態を視覚化すること。
B)以下は、CSGのいくつかの独特の特徴である。
1)CSGはクロスプラットフォームであり、CSGオブジェクトは様々なプラットフォーム上のアプリケーション層に及ぶことができる。
2)CSGはクラスタ全体にわたるグローバルエンティティであり、クラスタ内の特定のシステムに逃れ、または関連することはない。
3)多層構成アプリケーションを立ち上げること(CSGをオンラインにすること)は、1組の制約に従うクラスタ内の様々なシステム上にアプリケーションの各部を最適に配置することを含む。
C)CSG内では関連アプリケーションがまとめられるので、ビジネスサービスに関する統合ステータスは、以下に記載するように維持し、示すことができる。
1)CSGには、アプリケーションの現在の可用性を示す3つの基本的状態しかない(オフライン、部分的、およびオンライン)。
a)CSGは、そのアプリケーションコンポーネントの全てが愚かさ利用可能な場合にのみオンラインである。
b)CSGは、CSGの少なくとも1つのアプリケーションコンポーネントが完全に利用可能ではない場合部分的であり、そのCSGの少なくとも1つのアプリケーションコンポーネントは、部分的に利用できるが完全には利用できない可能性がある。CSGの少なくとも1つのアプリケーションコンポーネントが完全には利用できない場合、部分的にまたは完全に利用できる少なくとも1つの他のアプリケーションコンポーネントが存在する。
c)CSGは、そのアプリケーションコンポーネントの全てが完全に利用できない場合オフラインである。
2)主なCSGの状態についての2つの修飾子(フラグ)がある。
a)アテンションフラグ−CSG内のアプリケーションコンポーネントの利用不能は、意図的であり、設定された何らかのポリシおよびスケジュールの一部である可能性がある。しかし、これは一方では意図しないものであり、基礎をなす高可用性プロバイダがアプリケーションを完全に回復できない困難な障害の結果である可能性もある。多層構成アプリケーションの現在のまたは将来の可用性が損なわれ得るシナリオでは、CSGの状態に関する補助状態マーカ、‘アテンション’フラグを使用する。したがって、全てのアプリケーションコンポーネントが至る所で障害を起こして機能停止しているCSGは、‘オフライン|アテンション’の状態を有する。その一方で、そのアプリケーションコンポーネントの全てが意図的にオフラインにされるCSGは、‘オフライン’の状態を有する。
b)ペンディングフラグ−ある特定の時点において、CSG内の1つまたは複数のアプリケーションコンポーネントがある状態から別の状態に遷移している場合がある。これを表すために‘ペンディング’フラグを使用する。したがって、オンラインだが、一部のアプリケーションコンポーネントがオフライン状態に遷移しているCSGは‘オンライン|ペンディング’の状態を有する。
以下は、統合されたCSG状態のあり得る値である。
・オンライン−CSG内の全てのアプリケーションユニットがオンラインである。
・部分的−CSG内の一部のアプリケーションユニットがオフラインであり、残りがオンライン状態または部分的状態にある。または、どのアプリケーションユニットもオフラインではなく、一部のまたは全てのアプリケーションユニットが部分的であり、残りは、もしあればオンラインである。
・オフライン−CSG内の全てのアプリケーションユニットがオフラインである。
・オンライン|ペンディング−CSG内の全てのアプリケーションユニットがオンラインだが、構成アプリケーションユニットの1つまたは複数が別の状態に遷移中である。
・部分的|ペンディング−部分的と同じだが、一部のアプリケーションユニットが別の状態に遷移中である。
・部分的|アテンション−部分的と同じだが、一部のアプリケーションユニットが障害を起こし、またはオンラインになれない。
・部分的|アテンション|ペンディング−部分的と同じだが、一部のアプリケーションユニットが障害を起こし、またはオンラインになれない一方で、CSG内の残りのアプリケーションユニットの1つまたは複数が別の状態に遷移中である。
・オフライン|ペンディング−オフラインと同じだが、一部のアプリケーションユニットが別の状態に遷移中の可能性がある。
・オフライン|アテンション−以下の条件のうちの1つが真であり、その条件とはつまり、全てのアプリケーションユニットが障害を起こしている、全てのアプリケーションユニットがオフラインか障害を起こしている、全てのアプリケーションユニットがオフラインであり、それらの一部がオンラインになれない、である。
・オフライン|アテンション|ペンディング−オフラインと同じである(アテンションだが、CSG内の一部のアプリケーションユニットが別の状態に遷移中である)。
図6から図9は、本発明の諸実施形態による、複合サービスグループの一次サイトと二次サイトとの間の様々なHA/DR複製状態の例をそれぞれ示す。複合サービスグループにHA/DRを提供するために、3つ以上のサイトが関与することもできる。
次に図6を参照して、図6は、本発明の一実施形態による、HA/DRのためにCSGが複製されている一次サイト601および二次サイト602を示す。図6に示すように、一次サイトは、図示のようにアプリケーションをそれぞれ実行するノード10〜40を含む。複製技術を使用して、図示のようにデータおよびOSイメージを二次サイト602のノード50〜80上に複製する。上記に記載したように、この一次サイトおよび二次サイトは、ひときわ高度なHA/DR保護を提供するために地理的に離れた位置に実装することができる。それらのサイトの広く離れた位置は、広い地域にわたってサービスに影響を及ぼしインフラを途絶させることがある、大規模な事象(例えば暴風、地震、津波等)に対する障害回復保護をもたらす。
図7は、本発明の一実施形態による、HA/DRのためにCSGが部分的に複製されている一次サイト701および二次サイト702を示す。図7に示すように、一次サイトは、図示のようにアプリケーションをそれぞれ実行するノード10〜40を含む。ただし、複合サービスグループ701からのアプリケーションは、複合サービスグループ702に完全には複製されていない。この場合、部分的に複製することは、複合サービスグループ702にフェイルオーバする場合に備えて、複合サービスグループ701の特定のコア機能を維持するオプションを提供する。
全機能とは対照的にコア機能だけをフェイルオーバすることが有利な、いくつかの異なる状況があり得る。比較的少数のアプリケーションユニットが、所与のビジネスサービスの機能の大部分を提供できるシナリオが存在し得る。そのような事例では、それらの少数のアプリケーションユニットが提供するコア機能だけをフェイルオーバすることに備えることが経済的であり得る。この側面は、一次サイトと二次サイトとの間で複製するのにかかる時間を減らすことができる。この側面は、一次サイトと二次サイトとの間の複製の頻度を増やすことができる。さらに、コア機能のフェイルオーバだけを行うことは、二次サイトに関連するコスト(例えばハードウェアおよびソフトウェア資源)、および一次サイトと二次サイトとの間の帯域幅を減らすことができる。
図8は、本発明の一実施形態による、HA/DRのために仮想マシンおよび実アプリケーションの両方を含むCSGが完全に複製されている一次サイト801および二次サイト802を示す。図8に示すように、一次サイトは、図示のように仮想マシン、実アプリケーション、およびゲストアプリケーションをそれぞれ実行するノード10〜40を含む。図8の実施形態では、複製技術を使用して、図示のように仮想マシン、実アプリケーション、およびゲストアプリケーションを二次サイト802のノード50〜80上に完全にコピーする。
上記に記載したように、アプリケーションユニットは、全体的なビジネスサービスを構成する機能の様々な部分を実施する、一連の様々なプロセスまたはアプリケーションを指す網羅的な用語である。このアプリケーションユニットは、物理マシン上で実行されるアプリケーションとすることができる(例えばデータベースアプリケーション、ウェブサーバ等)。このアプリケーションユニットは、仮想マシン上のゲストインスタンスや、物理マシン上で実行される仮想マシン全体とすることができる。このアプリケーションユニットは、様々なプラットフォーム上にあることができる(例えばMIPS、x86、Itanium等)。このアプリケーションユニットは、様々なオペレーティングシステム上にあることができる(例えばLinux、Solaris、Windows等)。このように図8は、本発明の諸実施形態による、CSG内に集めることができる様々な種類のアプリケーションユニットを視覚的に示す。
図9は、本発明の一実施形態による、HA/DRのために仮想マシンおよび実アプリケーションの両方を含むCSGが完全に複製されている第1のクラスタ901および第2のクラスタ902を示す。上記に記載したように、アプリケーションユニットは、様々なプラットフォーム上でインスタンス化することができる(例えばMIPS、x86、Itanium等)。アプリケーションユニットは、仮想マシン上のゲストインスタンス、または物理マシン上で実行される仮想マシン全体とすることができる。
クラスタ901〜902は、どちらも一次サイトに位置することができる。例えば上記に記載したように、クラスタ901がキャンパスのあるビル内にありながら、クラスタ902はそのキャンパスの別のビルにあることができる。あるいは、クラスタ901〜902は、地理的に分散した一次サイトおよび二次サイトに位置することができる。上記に記載したように、地理的に広く離れた位置に物理的に分離することは、ひときわ高度なHA/DR保護を提供する。
図9は、図示のように各クラスタに通信接続性を与えるスイッチ910a〜910bを視覚的に示す。これらのスイッチ910は、図示のようにデータ記憶域アレイ911a〜911b(例えばストレージエリアネットワーク等)への接続を提供する。複製サービス920は、クラスタ901〜902間のデータ冗長性を得るための定期的複製機能を提供する。このように図9は、本発明の一実施形態による、CSG内に集めることができる様々な種類のアプリケーションユニットとともに、データ記憶域および複製サービスを視覚的に示す。
図10は、本発明の一実施形態による、CSGによりHA/DRを提供しながら、クラスタベースのコンピュータシステム上でビジネスサービスを実行するためのプロセス1000のステップについてのフローチャートを示す。図10に示すように、プロセス1000は、CSGを初期化し、定期的複製をセットアップし、ビジネスサービスを管理する際の動作ステップを示す。
プロセス1000は、ビジネスサービスの複数のアプリケーションユニットを、クラスタコンピュータシステム上でインスタンス化するステップ1001で始まる。上記に記載したように、アプリケーションユニットは、全体的なビジネスサービスを構成する機能の様々な部分を実施する、一連の様々なプロセスまたはアプリケーションを指す網羅的な用語である。このアプリケーションユニットは、物理マシン上で実行されるアプリケーションとすることができる(例えばデータベースアプリケーション、ウェブサーバ等)。このアプリケーションユニットは、仮想マシン上のゲストインスタンスや、物理マシン上で実行される仮想マシン全体など、仮想マシンアプリケーションユニットとすることができる。
ステップ1002で、ビジネスサービスを構成するアプリケーションユニットを含むCSGの定義を(例えばシステム管理者から)受け取る。上記に記載したように、一実施形態では、CSGは、どのアプリケーションユニットが所与のビジネスサービスを構成するのかを一意に記述する列挙リストを含む。CSGの固有名は、他のプロセスまたはシステム管理者が、CSGを容易にかつ認識可能に操作および/または管理できるようにする。列挙リストは、ビジネスサービスを構成するアプリケーションユニット間に存在する階層的相互関係を記述する。列挙リストは、存在し得る任意の系列的依存関係を記述する。
ステップ1003で、CSGの統合ステータスを生成する。上記に記載したように、この統合ステータスは、アプリケーションの現在の可用性を示す特定の状態を視覚的に示すことができる。一実施形態では、CSGがオフラインか、部分的か、オンラインかを、フラグおよび/または視覚インジケータが示すことができる。統合ステータスは、CSGを構成するアプリケーションユニットそれぞれの個々のステータスを視覚的に示すことができるGUIにより、視覚的に示すことが可能である。
ステップ1004で、CSGを使用して、HA/DRのために一次サイトと二次サイトとの間に複製プロセスをセットアップする。上記に記載したように、CSGはフェイルオーバのユニットを構成する。CSGを構成するアプリケーションユニットのそれぞれは、全体として一緒に複製され、かつ/またはフェイルオーバされる。
その後ステップ1005で、CSGを使用してビジネスサービスを管理し、CSGコマンドを用いてビジネスサービスをオンラインにする。上記に記載したように、CSGの管理には、CSGを始動させ、CSGを停止し、CSGを様々なサイト間で切り替えること等ができることが含まれる。この管理は、CSG名を参照することによる。管理は、典型的にはシステム管理者によりコマンドラインインターフェイスまたはGUIを介して実施される。
図11は、一実施形態による例示的コンピュータシステム1100を示す。コンピュータシステム1100は、上記に記載した実施形態に関するハードウェアに基づくおよびソフトウェアに基づく特定の機能のための実行環境を提供する、基本的なコンピュータシステムのコンポーネントを示す。例えば、コンピュータシステム1100は、CSGマネージャ123がインスタンス化される(例えば図1の)システムとすることができる。コンピュータシステム1100は、例えばサーバコンピュータシステム、ワークステーションコンピュータシステム、デスクトップコンピュータシステム、またはラップトップコンピュータシステムとして実装することができる。同様に、コンピュータシステム1100は、携帯端末として実装することができる。コンピュータシステム1100は、典型的には少なくとも何らかの形式のコンピュータ可読媒体(例えばコンピュータ可読記憶媒体1101)を含む。コンピュータ可読媒体は、コンピュータシステム1100がアクセス可能ないくつかの異なる種類の利用可能媒体とすることができ、これだけに限定されないが、コンピュータ記憶媒体が含まれ得る。
最も基本的な構成では、コンピュータシステム1100は、典型的には処理装置1103およびコンピュータ可読記憶媒体1101を含む。厳密な構成および使用するコンピュータシステム1100の種類にもよるが、メモリ1101は、揮発性(例えばDRAMなど)、不揮発性(例えばROM、フラッシュメモリなど)、またはその2つの何らかの組合せとすることができる。同様に、メモリ1101は、例えば磁気ディスクを用いた媒体、光媒体など、固体装置のほかに他の装置を含むことができる。
さらに、コンピュータシステム1100は、磁気または光ディスク/テープなど、他の大容量記憶システム(例えばリムーバブル1105および/または固定型1107)を含むことができる。同様に、コンピュータシステム1100は、入力装置1111および/または出力装置1109(例えばディスプレイなど)を含むことができる。コンピュータシステム1100は、他の装置、コンピュータ、ネットワーク、サーバ等への、有線媒体または無線媒体を使用した通信接続1113をさらに含むことができる。これらの装置の全ては当技術分野でよく知られているので、これらの装置を詳しく論じる必要はない。
コンピュータシステム1100は、コンピュータシステム1100の機能をクラウドコンピューティング環境を使って部分的にまたは完全に実行する場合にそうであるように、その機能の一部、大部分、または全てを、多数の分散したコンピューティングノードを有する分散コンピュータシステムに取って代わらせることができることにさらに留意すべきである。
図12は、本発明の一実施形態による、特定の機能を実施するのに適したコンピュータシステム1210のブロック図を示す。コンピュータシステム1210は、中央処理装置1214、システムメモリ1217(典型的にはRAMだが、ROM、フラッシュRAM等も含まれ得る)、入出力コントローラ1218、音声出力インターフェイス1222を介したスピーカシステム1220などの外部オーディオ装置、ディスプレイアダプタ1226を介した表示画面1224などの外部装置、シリアルポート1228および1230、(キーボードコントローラ1233とインターフェイスする)キーボード1232、記憶域インターフェイス1234、フロッピディスク1238を受け入れるように動作するフロッピディスクドライブ1237、ファイバチャネルネットワーク1290と接続するように動作するホストバスアダプタ(HBA)インターフェイスカード1235A、SCSIバス1239に接続するように動作するホストバスアダプタ(HBA)インターフェイスカード1235B、光ディスク1242を受け入れるように動作する光ディスクドライブ1240など、コンピュータシステム1210の主要なサブシステムを相互接続するバス1212を含む。さらに、マウス1246(またはシリアルポート1228を介してバス1212に結合される他のポイントアンドクリック装置)、(シリアルポート1230を介してバス1212に結合される)モデム1247、および(バス1212に直接結合される)ネットワークインターフェイス1248が含まれる。
バス1212は、中央処理装置1214と、先に述べたように読取専用メモリ(ROM)またはフラッシュメモリ(いずれも不図示)およびランダムアクセスメモリ(RAM)(不図示)が含まれ得るシステムメモリ1217との間のデータ通信を可能にする。RAMは、概してオペレーティングシステムおよびアプリケーションプログラムがロードされる主メモリである。図12の実施形態では、システムメモリ1217が、上記に記載したCSG HA/DR機能を実施する、CSGマネージャモジュール123をインスタンス化する。このROMまたはフラッシュメモリは、他のコードとして、周辺コンポーネントとの対話など、基本的なハードウェアの動作を制御する基本入出力システム(BIOS)を含むことができる。コンピュータシステム1210に常駐するアプリケーションは、一般にハードディスクドライブ(例えば固定ディスク1244)、光学式ドライブ(例えば光学式ドライブ1240)、フロッピディスクユニット1237または他の記憶媒体などの、コンピュータ可読媒体上に記憶され、その媒体を介してアクセスされる。さらに、アプリケーションは、ネットワークモデム1247またはネットワークインターフェイス1248を介してアクセスされるとき、アプリケーションおよびデータ通信の技術に従って変調される電子信号の形を取ることができる。
コンピュータシステム1210の他の記憶域インターフェイスと同様に、記憶域インターフェイス1234は、固定ディスクドライブ1244など、情報を記憶しかつ/または取得するための標準的なコンピュータ可読媒体に接続することができる。固定ディスクドライブ1244は、コンピュータシステム1210の一部分とすることができ、または別個とし、他のインターフェイスシステムを介してアクセスすることもできる。モデム1247は、電話リンクを介して遠隔サーバへの直接接続を提供し、またはインターネットサービスプロバイダ(ISP)を介してインターネットへの直接接続を提供することができる。ネットワークインターフェイス1248は、POP(ポイントオブプレゼンス)によるインターネットへの直接ネットワークリンクを介して、遠隔サーバへの直接接続を提供することができる。ネットワークインターフェイス1248は、こうした接続を、デジタルセルラ電話接続、セルラデジタルパケットデータ(CDPD)接続、デジタル衛星データ接続等が含まれる無線技法を使用して提供することができる。
他の多くの装置またはサブシステム(不図示)(例えば文書スキャナ、デジタルカメラなど)を同様の方法で接続することができる。逆に、本開示を実践するために、図12に示す装置の全てがある必要はない。それらの装置およびサブシステムは、図12に示すのとは異なる方法で相互接続することができる。図12に示すようなコンピュータシステムの動作は当技術分野で難なく知られており、本願では詳しく論じない。本開示を実施するためのコードは、システムメモリ1217、固定ディスク1244、光ディスク1242、またはフロッピディスク1238のうちの1つまたは複数などの、コンピュータ可読記憶媒体の中に記憶することができる。コンピュータシステム1210上に提供されるオペレーティングシステムは、MS−DOS(登録商標)、MS−WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、Linux(登録商標)、または別の知られているオペレーティングシステムとすることができる。
さらに、本明細書に記載した信号に関して、信号は第1のブロックから第2のブロックまで直接伝送することができ、または信号はそれらのブロック間で修正(例えば増幅、減衰、遅延、ラッチ、バッファ、反転、フィルタ、または他の方法で修正)できることを当業者なら理解されよう。上記に記載した実施形態の信号は、あるブロックから次のブロックに伝送されるものとして特徴付けるが、本開示の他の実施形態は、信号の情報および/または機能上の側面がブロック間で伝送される限り、そうした直接伝送される信号の代わりに修正済み信号を含むことができる。ある程度、第2のブロックにおける信号入力は、関与する回路の物理的制約により(例えば必然的にいくらかの減衰および遅延がある)、第1のブロックからの第1の信号出力に由来する第2の信号として概念化することができる。したがって、本明細書で使用するとき、第1の信号に由来する第2の信号には、第1の信号、または第1の信号の情報および/または最終的な機能上の側面を変えない、回路の制約によるもしくは他の回路素子を通過することによる第1の信号に対する任意の修正が含まれる。
上記の記述は、特定の実施形態に関して説明目的で説明してきた。しかし、上記に例示した解説は網羅的であることも、本発明を開示した厳密な形態に限定することも意図しない。上記の教示を考慮して、多くの修正形態および改変形態が可能である。諸実施形態は、本発明の原理およびその実用的応用を最もよく説明して、それにより当業者が本発明、および考えられる特定の用途に適合され得る様々な修正を伴う様々な実施形態を最もよく利用できるようにするために選択して記述した。

Claims (19)

  1. クラスタベースのコンピュータシステムのための複合サービスグループを定義し、管理するための方法であって、
    クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップであり、前記アプリケーションユニットはビジネスサービスを実装する、インスタンス化するステップと、
    複合サービスグループの定義を受け取るステップであって、前記複合サービスグループは、前記複数のアプリケーションユニットの中から前記ビジネスサービスを実装するアプリケーションユニットを列挙するコンテナオブジェクトを表し、前記コンテナオブジェクトは、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する階層関係情報をカプセル化しており、前記階層関係情報は、前記ビジネスサービスを実装する前記アプリケーションユニットのうち同時に初期化できるアプリケーション及び順次に初期化しなければならないアプリケーションを示す、複合サービスグループの定義を受け取るステップと、
    前記複合サービスグループの統合ステータスを生成するステップと、
    前記複合サービスグループを使用することにより、前記統合ステータスに従って前記ビジネスサービスをオンラインまたはオフラインにするステップと
    を含む方法。
  2. 前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションと、前記複数のアプリケーションユニットの中からの他のアプリケーションユニットとの間の通信を制御する境界を定める、請求項1に記載の方法。
  3. 前記コンテナオブジェクトが、前記ビジネスサービスを実装する前記アプリケーションユニットに関する依存関係、制約、またはシステム配置方式を更にカプセル化する、請求項1または2に記載の方法。
  4. 前記統合ステータスが、前記ビジネスサービスを実装する前記アプリケーションユニットそれぞれの個々のステータスを視覚的に示す、請求項1〜3のいずれか一項に記載の方法。
  5. 前記複合サービスグループが、第1のクラスタと第2のクラスタとの間にフェイルオーバのユニットを含み、前記複合サービスグループの前記アプリケーションユニットが、前記第1のクラスタから前記第2のクラスタに全体としてフェイルオーバされる、請求項1〜4のいずれか一項に記載の方法。
  6. 前記複合サービスグループを使用して、高可用性または障害回復のために一次サイトと二次サイトとの間に複製プロセスをセットアップする、請求項1〜5のいずれか一項に記載の方法。
  7. 前記複製プロセスは、列挙された前記アプリケーションユニットを前記一次サイトから前記二次サイトへ部分的に複製する、請求項1〜4のいずれか一項を引用する請求項6に記載の方法。
  8. コマンドラインインターフェイスまたはグラフィカルユーザインターフェイスを介して、前記ビジネスサービスを実装する前記アプリケーションユニットの管理上の制御を行うために、前記複合サービスグループを使用する、請求項1〜7のいずれか一項に記載の方法。
  9. 前記ビジネスサービスを実装する前記アプリケーションユニットの少なくとも1つが、仮想マシンアプリケーションユニットである、請求項1〜8のいずれか一項に記載の方法。
  10. コンピュータ実行可能命令を含むコンピュータプログラムであって、
    前記コンピュータ実行可能命令は、コンピュータシステムによって実行される場合、
    クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップであって、前記アプリケーションユニットはビジネスサービスを実装する、インスタンス化するステップと、
    複合サービスグループの定義を受け取るステップであって、前記複合サービスグループは、前記複数のアプリケーションユニットの中から前記ビジネスサービスを実装するアプリケーションユニットを列挙するコンテナオブジェクトを表し、前記コンテナオブジェクトは、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する階層関係情報をカプセル化しており、前記階層関係情報は、前記ビジネスサービスを実装する前記アプリケーションユニットのうち同時に初期化できるアプリケーション及び順次に初期化しなければならないアプリケーションを示す、複合サービスグループの定義を受け取るステップと、
    前記複合サービスグループの統合ステータスを生成するステップと、
    前記複合サービスグループを使用することにより、前記統合ステータスに従って前記ビジネスサービスをオンラインにするステップであって、前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットの管理上の制御を行うために使用される、ステップ
    を含む方法を前記コンピュータシステムに実行させる、コンピュータプログラム
  11. 前記コンテナオブジェクトが、前記ビジネスサービスを実装する前記アプリケーションユニットに関する依存関係、制約、またはシステム配置方式を更にカプセル化する、請求項10に記載のコンピュータプログラム
  12. 前記統合ステータスが、前記ビジネスサービスを実装する前記アプリケーションユニットそれぞれの個々のステータスを視覚的に示す、請求項10または11に記載のコンピュータプログラム
  13. 前記複合サービスグループが、第1のクラスタと第2のクラスタとの間にフェイルオーバのユニットを含み、前記複合サービスグループの前記アプリケーションユニットが、前記第1のクラスタから前記第2のクラスタに全体としてフェイルオーバされる、請求項10〜12のいずれか一項に記載のコンピュータプログラム
  14. 前記複合サービスグループを使用して、障害回復のために一次サイトと二次サイトとの間に複製プロセスをセットアップする、請求項10〜13のいずれか一項に記載のコンピュータプログラム
  15. 前記複製プロセスは、列挙された前記アプリケーションユニットを前記一次サイトから前記二次サイトへ部分的に複製する、請求項10〜12のいずれか一項を引用する請求項14に記載のコンピュータプログラム。
  16. コンピュータ可読記憶媒体に結合され、コンピュータ可読コードを実行するプロセッサを有するコンピュータシステムを含む、コンピュータシステムであって、前記コンピュータ可読コードは、前記コンピュータシステムに、
    複合サービスグループマネージャモジュールを実行させ、
    複合サービスグループの定義を受け取らせ、前記複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙するコンテナオブジェクトを表し、前記コンテナオブジェクトは、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する階層関係情報をカプセル化しており、前記階層関係情報は、前記ビジネスサービスを実装する前記アプリケーションユニットのうち同時に初期化できるアプリケーション及び順次に初期化しなければならないアプリケーションを示し、かつクラスタベースのコンピュータシステム上で前記複数のアプリケーションユニットがインスタンス化される、定義を受け取らせ、
    前記複合サービスグループの統合ステータスを生成させ、
    前記複合サービスグループを使用することにより一次サイトと二次サイトとの間に複製プロセスをセットアップさせ、
    前記統合ステータスに従って前記ビジネスサービスをオンラインにさせる、
    コンピュータシステム。
  17. 前記コンテナオブジェクトが、前記ビジネスサービスを実装する前記アプリケーションユニットに関する依存関係、制約、またはシステム配置方式を更にカプセル化する、請求項16に記載のコンピュータシステム。
  18. 前記複合サービスグループが、第1のクラスタと第2のクラスタとの間にフェイルオーバのユニットを含み、前記複合サービスグループの前記アプリケーションユニットが、前記第1のクラスタから前記第2のクラスタに全体としてフェイルオーバされる、請求項16または17に記載のコンピュータシステム
  19. 前記複製プロセスは、列挙された前記アプリケーションユニットを前記一次サイトから前記二次サイトへ部分的に複製する、請求項16または17に記載のコンピュータシステム。
JP2012557030A 2010-03-12 2010-12-15 高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法 Expired - Fee Related JP5716756B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/723,530 2010-03-12
US12/723,530 US8539087B2 (en) 2010-03-12 2010-03-12 System and method to define, visualize and manage a composite service group in a high-availability disaster recovery environment
PCT/US2010/060566 WO2011112223A1 (en) 2010-03-12 2010-12-15 System and method to define, visualize and manage a composite service group in a high-availability disaster recovery environment

Publications (2)

Publication Number Publication Date
JP2013522716A JP2013522716A (ja) 2013-06-13
JP5716756B2 true JP5716756B2 (ja) 2015-05-13

Family

ID=43638617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012557030A Expired - Fee Related JP5716756B2 (ja) 2010-03-12 2010-12-15 高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US8539087B2 (ja)
EP (1) EP2545450A1 (ja)
JP (1) JP5716756B2 (ja)
CN (1) CN102918506B (ja)
WO (1) WO2011112223A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621260B1 (en) * 2010-10-29 2013-12-31 Symantec Corporation Site-level sub-cluster dependencies
US8819476B2 (en) * 2011-09-26 2014-08-26 Imagine Communications Corp. System and method for disaster recovery
US9037897B2 (en) * 2012-02-17 2015-05-19 International Business Machines Corporation Elastic cloud-driven task execution
US8984325B2 (en) 2012-05-30 2015-03-17 Symantec Corporation Systems and methods for disaster recovery of multi-tier applications
CN103580902B (zh) 2012-08-07 2015-01-14 腾讯科技(深圳)有限公司 一种计算机信息系统及其动态容灾方法
US8904231B2 (en) * 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US9805319B2 (en) 2012-09-28 2017-10-31 Bmc Software, Inc. Application of business process management standards for dynamic information technology management
US10025610B2 (en) * 2013-04-30 2018-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Availability management of virtual machines hosting highly available applications
US9367414B2 (en) * 2014-06-27 2016-06-14 Vmware, Inc. Persisting high availability protection state for virtual machines stored on distributed object-based storage
WO2016039784A1 (en) * 2014-09-10 2016-03-17 Hewlett Packard Enterprise Development Lp Determining optimum resources for an asymmetric disaster recovery site of a computer cluster
US9811428B2 (en) 2014-09-22 2017-11-07 Netapp Inc. System and method for handling multi-node failures in a disaster recovery cluster
US9836363B2 (en) * 2014-09-30 2017-12-05 Microsoft Technology Licensing, Llc Semi-automatic failover
US11223537B1 (en) * 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US10489255B2 (en) 2017-12-19 2019-11-26 Hewlett Packard Enterprise Development Lp Disaster recovery of containers
JP6720250B2 (ja) * 2018-07-11 2020-07-08 株式会社日立製作所 ストレージシステム及び構成情報制御方法
CN109213568A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络服务平台及其部署方法、存储介质
US11681278B2 (en) * 2019-06-19 2023-06-20 Honeywell International Inc. High availability for container based control execution

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038677A (en) * 1997-03-31 2000-03-14 International Business Machines Corporation Automatic resource group formation and maintenance in a high availability cluster configuration
US5931956A (en) * 1997-06-10 1999-08-03 Atmel Corporation Digital circuit using memory for monitoring signals for occurrences of predefined breakpoint conditions
US6178529B1 (en) * 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6594786B1 (en) * 2000-01-31 2003-07-15 Hewlett-Packard Development Company, Lp Fault tolerant high availability meter
JP2002014938A (ja) * 2000-06-30 2002-01-18 Toshiba Corp クラスタソフトウェア搭載システム及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
US6857082B1 (en) * 2000-11-21 2005-02-15 Unisys Corporation Method for providing a transition from one server to another server clustered together
US20060047776A1 (en) * 2004-08-31 2006-03-02 Chieng Stephen S Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US20070083521A1 (en) * 2005-10-07 2007-04-12 International Business Machines Corporation Routing requests based on synchronization levels
JP2008052407A (ja) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp クラスタシステム

Also Published As

Publication number Publication date
US8539087B2 (en) 2013-09-17
CN102918506A (zh) 2013-02-06
JP2013522716A (ja) 2013-06-13
WO2011112223A1 (en) 2011-09-15
US20110225095A1 (en) 2011-09-15
CN102918506B (zh) 2015-08-12
EP2545450A1 (en) 2013-01-16

Similar Documents

Publication Publication Date Title
JP5716756B2 (ja) 高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法
US8949188B2 (en) Efficient backup and restore of a cluster aware virtual input/output server (VIOS) within a VIOS cluster
US10169173B2 (en) Preserving management services with distributed metadata through the disaster recovery life cycle
US8533164B2 (en) Method and tool to overcome VIOS configuration validation and restoration failure due to DRC name mismatch
US10055300B2 (en) Disk group based backup
US9135018B2 (en) Computer cluster and method for providing a disaster recovery functionality for a computer cluster
US8910172B2 (en) Application resource switchover systems and methods
US8024536B2 (en) Method of constructing replication environment and storage system
US8533171B2 (en) Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover
CN102214128B (zh) 多用途恢复环境
US20130013569A1 (en) Efficient Backup and Restore of Virtual Input/Output Server (VIOS) Cluster
JP2012208918A (ja) データセンターファイルシステムの方法及び装置
CN109690494B (zh) 系统存储装置中的分层容错
US20120151095A1 (en) Enforcing logical unit (lu) persistent reservations upon a shared virtual storage device
US10509705B2 (en) Application protection through a combined functionality failure manager
US11960365B2 (en) Automated backup and restore of a disk group
CN112311646A (zh) 基于超融合系统的混合云及部署方法
CN105988898A (zh) 系统的备份装置以及备份方法
US11429640B2 (en) Methods and systems for data resynchronization in a replication environment
US10756953B1 (en) Method and system of seamlessly reconfiguring a data center after a failure
US20240134670A1 (en) Management of duplicative virtual machine entries for a data management system
US20240231868A9 (en) Management of duplicative virtual machine entries for a data management system
US20240095230A1 (en) Prechecking for non-disruptive update of a data management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140930

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R150 Certificate of patent or registration of utility model

Ref document number: 5716756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

LAPS Cancellation because of no payment of annual fees