(57)【要約】  クラスタベースのコンピュータシステムのための複合サービスグループを定義し、管理するための方法を開示する。この方法は、クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップを含み、アプリケーションユニットはビジネスサービスを実装する。この方法は、複合サービスグループの定義を受け取るステップであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、その複合サービスグループの統合ステータスを生成するステップとをさらに含む。その後、複合サービスグループを使用することにより、統合ステータスに従ってビジネスサービスを単一ユニットとして始動させ（オンライン）／停止し（オフライン）／移動させ／フェイルオーバし／フェイルバックする。
2013522716.tif 000002
【特許請求の範囲】
【請求項１】
クラスタベースのコンピュータシステムのための複合サービスグループを定義し、管理するための方法であって、
クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップであり、前記アプリケーションユニットはビジネスサービスを実装する、インスタンス化するステップと、
複合サービスグループの定義を受け取るステップであって、前記複合サービスグループは、前記複数のアプリケーションユニットの中から前記ビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、
前記複合サービスグループの統合ステータスを生成するステップと、
前記複合サービスグループを使用することにより、前記統合ステータスに従って前記ビジネスサービスをオンラインまたはオフラインにするステップと
を含む方法。
【請求項２】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する階層的依存関係情報を含む、請求項１に記載の方法。
【請求項３】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する系列的依存関係情報を含む、請求項１に記載の方法。
【請求項４】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションと、前記複数のアプリケーションユニットの中からの他のアプリケーションユニットとの間の通信を制御する境界を定める、請求項１に記載の方法。
【請求項５】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットに関する依存関係、制約、またはシステム配置方式をカプセル化する、請求項１に記載の方法。
【請求項６】
前記統合ステータスが、前記ビジネスサービスを実装する前記アプリケーションユニットそれぞれの個々のステータスを視覚的に示す、請求項１に記載の方法。
【請求項７】
前記複合サービスグループが、第１のクラスタと第２のクラスタとの間にフェイルオーバのユニットを含み、前記複合サービスグループの前記アプリケーションユニットが、前記第１のクラスタから前記第２のクラスタに全体としてフェイルオーバされる、請求項１に記載の方法。
【請求項８】
前記複合サービスグループを使用して、高可用性または障害回復のために一次サイトと二次サイトとの間に複製プロセスをセットアップする、請求項１に記載の方法。
【請求項９】
コマンドラインインターフェイスまたはグラフィカルユーザインターフェイスを介して、前記ビジネスサービスを実装する前記アプリケーションユニットの管理上の制御を行うために、前記複合サービスグループを使用する、請求項１に記載の方法。
【請求項１０】
前記ビジネスサービスを実装する前記アプリケーションユニットの少なくとも１つが、仮想マシンアプリケーションユニットである、請求項１に記載の方法。
【請求項１１】
コンピュータシステムによって実行される場合、
クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップであって、前記アプリケーションユニットはビジネスサービスを実装する、インスタンス化するステップと、
複合サービスグループの定義を受け取るステップであって、前記複合サービスグループは、前記複数のアプリケーションユニットの中から前記ビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、
前記複合サービスグループの統合ステータスを生成するステップと、
前記複合サービスグループを使用することにより、前記統合ステータスに従って前記ビジネスサービスをオンラインにするステップと
を含む方法であって、前記ビジネスサービスを実装する前記アプリケーションユニットの管理上の制御を行うために前記複合サービスグループを使用する、方法を前記コンピュータシステムに実行させるコンピュータ実行可能命令が記憶された、コンピュータ可読記憶媒体。
【請求項１２】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する階層的依存関係情報と、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する系列的依存関係情報とを含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットに関する依存関係、制約、またはシステム配置方式をカプセル化する、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記統合ステータスが、前記ビジネスサービスを実装する前記アプリケーションユニットそれぞれの個々のステータスを視覚的に示す、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記複合サービスグループが、第１のクラスタと第２のクラスタとの間にフェイルオーバのユニットを含み、前記複合サービスグループの前記アプリケーションユニットが、前記第１のクラスタから前記第２のクラスタに全体としてフェイルオーバされる、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記複合サービスグループを使用して、障害回復のために一次サイトと二次サイトとの間に複製プロセスをセットアップする、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１７】
コンピュータ可読記憶媒体に結合され、コンピュータ可読コードを実行するプロセッサを有するコンピュータシステムを含む、コンピュータシステムであって、前記コンピュータ可読コードは、前記コンピュータシステムに、
複合サービスグループマネージャモジュールを実行させ、
複合サービスグループの定義を受け取らせ、前記複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙し、かつクラスタベースのコンピュータシステム上で前記複数のアプリケーションユニットがインスタンス化される、定義を受け取らせ、
前記複合サービスグループの統合ステータスを生成させ、
前記複合サービスグループを使用することにより一次サイトと二次サイトとの間に複製プロセスをセットアップさせ、
前記統合ステータスに従って前記ビジネスサービスをオンラインにさせる、
コンピュータシステム。
【請求項１８】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する階層的依存関係情報と、前記ビジネスサービスを実装する前記アプリケーションユニットのそれぞれの初期化を制御する系列的依存関係情報とを含む、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記複合サービスグループが、前記ビジネスサービスを実装する前記アプリケーションユニットに関する依存関係、制約、またはシステム配置方式をカプセル化する、請求項１８に記載のコンピュータシステム。
【請求項２０】
前記複合サービスグループが、第１のクラスタと第２のクラスタとの間にフェイルオーバのユニットを含み、前記複合サービスグループの前記アプリケーションユニットが、前記第１のクラスタから前記第２のクラスタに全体としてフェイルオーバされる、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデジタルコンピュータシステムに関し、より詳細には、多層構成アプリケーションの管理に関する。
【背景技術】
【０００２】
情報はビジネスを動かす。今日の企業は自社の事業を営むために、頻繁にアクセスされ、絶えず変化するオンラインデータにかつてないほど依拠している。このデータの可用性を妨げる予想外の事象は、企業運営を著しく害する可能性がある。さらに、自然災害または他の任意の原因に由来するいかなる永久的データ損失も、事業の継続的な存続可能性について深刻な負の結果をもたらす可能性がある。したがって、災害が降りかかるとき、企業は、データ損失をなくしまたは最小限に抑え、使用可能なデータを使って素早く回復する準備ができていなければならない。
【０００３】
企業は、最も重要なサービスを提供し、自社の最も重要なデータを記憶するために高可用性クラスタに頼るようになった。概して、例えば計算クラスタ、記憶クラスタ、スケーラブルクラスタなど、様々な種類のクラスタがある。高可用性クラスタ（ＨＡクタスタまたはフェイルオーバクラスタとしても知られる）とは、主にそのクラスタが提供するサービスの高可用性を実現するために実装されるコンピュータクラスタである。高可用性クラスタは、システムコンポーネントが障害を起こすときにサービスを提供するために使用される、冗長なコンピュータまたはノードを有することによって動作する。
【０００４】
通常、特定のアプリケーションを有するサーバがクラッシュすると、クラッシュしたサーバを誰かが直すまでそのアプリケーションは利用できない。ＨＡクラスタリングは、ハードウェア／ソフトウェアの障害を検出し、管理上の介入を必要とすることなしにそのアプリケーションを別のシステム上で直ちに再始動させる、フェイルオーバとして知られるプロセスによりこの状況を修復する。このプロセスの一環として、アプリケーションをノード上で始動させる前に、そのノードをクラスタリングソフトウェアが構成することができる。例えば、適切なファイルシステムをインポートして組み込まなければならない場合があり、ネットワークハードウェアを構成しなければならない場合があり、加えて何らかの支援アプリケーションが実行されていなければならない場合がある。
【０００５】
ＨＡクラスタは、重要なデータベース、ネットワーク上でのファイル共有、ビジネスアプリケーション、およびインターネット商取引ウェブサイトなどの顧客サービスにしばしば使われる。ＨＡクラスタの諸実装形態は、多重ネットワーク接続、およびストレージエリアネットワークによって多重接続されるデータ記憶域またはインターネットプロトコルベースの記憶域を含め、単一の障害発生点をなくすためにクラスタ内に冗長性を構築しようとする。
【０００６】
災害が降りかかるとき、企業はデータ損失を最小限に抑え、ＤＲ（障害回復）を素早く実施しなければならない。例えば洪水、暴風、地震などは、広域にわたってサービスおよびインフラを中断させることがある。データの分散およびＤＲには、複製技術が主に使用される。特定時点のデータのコピーを複製し、１つまたは複数の遠隔サイトまたはノードに記憶する定期的複製は、データ損失を最小限に抑え、データの可用性を改善するために利用される１つの技法である。サイト移動、データを記憶する１つまたは複数の物理ディスクの障害、またはそのようなディスクに関連するノードもしくはホストデータ処理システムの障害が発生する場合、その遠隔の複製済みデータコピーを利用することができる。
【０００７】
ビジネスサービスに相当する多層構成アプリケーションは、ＨＡ／ＤＲ（高可用性／障害回復）のために単一ユニットとして管理されることが多くの場合求められる。概して、多層アーキテクチャは、プレゼンテーション、アプリケーション処理、およびデータ管理が論理的に別個のプロセスであるクライアント・サーバアーキテクチャを指す。例えば、ユーザとデータベースとの間のデータ要求に応えるためにミドルウェアを使用するアプリケーションは多層アーキテクチャを採用する。
【０００８】
ビジネスサービスに相当する多層構成アプリケーションは、ＨＡ／ＤＲのために単一ユニットとして管理されなければならない。例えば、ビジネスサービスの機能を実施する様々なアプリケーションおよびプロセスを、様々なクラスタサイト内または様々なクラスタサイト間で、単一ユニットとしてオンラインもしくはオフラインにし、切り替え、フェイルオーバし、またはフェイルバックする必要がある。
【発明の概要】
【課題を解決するための手段】
【０００９】
本発明の諸実施形態は、ＨＡ／ＤＲ（高可用性／障害回復）の特性を提供するために、クラスタ内および／またはクラスタ間で多層ビジネスサービスの便利な定義、視覚化、および管理を促進する。
【００１０】
一実施形態では、本発明が、クラスタベースのコンピュータシステムのための複合サービスグループを定義し、管理するための方法として実施される。この方法は、クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップを含み、アプリケーションユニットはビジネスサービスを実装する。この方法は、複合サービスグループの定義を受け取るステップであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、その複合サービスグループの統合ステータスを生成するステップとをさらに含む。その後、複合サービスグループを使用することにより、統合ステータスに従ってビジネスサービスをオンラインにする。
【００１１】
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションユニットのそれぞれの初期化を制御する階層的依存関係情報を含む。
【００１２】
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションユニットのそれぞれの初期化を制御する系列的（ｓｅｑｕｅｎｔｉａｌ）依存関係情報を含む。
【００１３】
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションと、複数のアプリケーションユニットからの他のアプリケーションユニットとの間の通信を制御する境界を定める。
【００１４】
一実施形態では、複合サービスグループが、ビジネスサービスを実装するアプリケーションユニットに関する依存関係、制約、またはシステム配置方式をカプセル化（ｅｎｃａｐｓｕｌａｔｅ）する。
【００１５】
一実施形態では、統合ステータスが、ビジネスサービスを実装するアプリケーションユニットそれぞれの個々のステータスを視覚的に示す。
【００１６】
一実施形態では、複合サービスグループが、第１のクラスタと第２のクラスタとの間にフェイルオーバのユニットを含み、複合サービスグループのアプリケーションユニットが、第１のクラスタから第２のクラスタに全体としてフェイルオーバされる。
【００１７】
一実施形態では、複合サービスグループを使用して、高可用性または障害回復のために一次サイトと二次サイトとの間に複製プロセスをセットアップする。
【００１８】
一実施形態では、コマンドラインインターフェイスまたはグラフィカルユーザインターフェイスを介して、ビジネスサービスを実装するアプリケーションユニットの管理上の制御を行うために、複合サービスグループを使用する。
【００１９】
一実施形態では、ビジネスサービスを実装するアプリケーションユニットの少なくとも１つが、仮想マシンアプリケーションユニットである。
【００２０】
一実施形態では本発明が、コンピュータシステムによって実行される場合、クラスタベースのコンピュータシステム上で複数のアプリケーションユニットをインスタンス化するステップを含む方法であって、アプリケーションユニットはビジネスサービスを実装する、方法をコンピュータシステムに実行させるコンピュータ実行可能命令が記憶された、コンピュータ可読記憶媒体として実施される。その方法は、複合サービスグループの定義を受け取るステップであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙する、複合サービスグループの定義を受け取るステップと、その複合サービスグループの統合ステータスを生成するステップとをさらに含む。その方法は、複合サービスグループを使用することにより、統合ステータスに従ってビジネスサービスをオンラインにするステップであって、ビジネスサービスを実装するアプリケーションユニットの管理上の制御を行うために複合サービスグループを使用する、オンラインにするステップをさらに含む。
【００２１】
別の実施形態では本発明が、コンピュータ可読記憶媒体に結合され、コンピュータ可読コードを実行するプロセッサを有するコンピュータシステムを含む、コンピュータシステムとして実施され、そのコンピュータ可読コードは、コンピュータシステムに、複合サービスグループマネージャモジュールを実行させ、複合サービスグループの定義を受け取らせることであって、複合サービスグループは、複数のアプリケーションユニットの中からビジネスサービスを実装するアプリケーションユニットを列挙し、かつクラスタベースのコンピュータシステム上で複数のアプリケーションユニットがインスタンス化される、定義を受け取らせ、複合サービスグループの統合ステータスを生成させる。このコンピュータ可読コードはさらに、コンピュータシステムに、複合サービスグループを使用することにより一次サイトと二次サイトとの間に複製プロセスをセットアップさせ、統合ステータスに従ってビジネスサービスをオンラインにさせる。
【００２２】
上記の内容は要約であり、そのため必然的に詳細の単純化、一般化、および省略を含み、したがって当業者なら、この要約が例示に過ぎず、限定的であることは決して意図しないことを理解されよう。特許請求の範囲によって専ら定める本発明の他の態様、発明上の特徴、および利点が、以下に記載する非限定的な詳細説明の中で明らかになる。
【００２３】
本発明を添付図面の諸図面の中で限定ではなく例として示し、それらの図面の中では類似の参照番号が同様の要素を指す。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態による、ＨＡ／ＤＲマルチクラスタベースのコンピューティングシステムを描く図を示す。
【図２】本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な単一サイトのフェイルオーバシナリオを示す。
【図３】本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な２サイトのフェイルオーバシナリオを示す。
【図４】本発明の一実施形態による、１つまたは複数のビジネスサービスを提供するアプリケーションユニットの集まりを示す。
【図５】本発明の一実施形態による、アプリケーションユニットを複合サービスグループへとグループ化する方法を示す。
【図６】本発明の一実施形態による、ＨＡ／ＤＲのためにＣＳＧが完全に複製されている一次サイトおよび二次サイトを示す。
【図７】本発明の一実施形態による、ＨＡ／ＤＲのためにＣＳＧが部分的に複製されている一次サイトおよび二次サイトを示す。
【図８】本発明の一実施形態による、ＨＡ／ＤＲのために仮想マシンおよび実アプリケーションの両方を含むＣＳＧが完全に複製されている一次サイトおよび二次サイトを示す。
【図９】本発明の一実施形態による、ＨＡ／ＤＲのために仮想マシンおよび実アプリケーションの両方を含むＣＳＧが完全に複製されている第１のクラスタおよび第２のクラスタを示す。
【図１０】本発明の一実施形態による、ＣＳＧによりＨＡ／ＤＲを提供しながら、クラスタベースのコンピュータシステム上でビジネスサービスを実行するためのプロセスのステップについてのフローチャートを示す。
【図１１】一実施形態による例示的コンピュータシステムを示す。
【図１２】本発明の一実施形態による、特定の機能を実施するのに適したコンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【００２５】
本発明を一実施形態に関連して説明したが、本発明を本明細書に記載の特定の形態に限定するつもりはない。それどころか、特許請求の範囲によって定める本発明の範囲内に合理的に含まれ得るそうした代替形態、修正形態、および等価物を範囲に含めることを意図する。
【００２６】
以下の詳細な説明では、具体的な方法の順序、構造、要素、接続など、数多くの具体的詳細を記載する。ただし、本発明の諸実施形態を実践するために、これらのおよび他の具体的詳細を利用しなくてもよいことを理解すべきである。他の状況では、この説明を不要に曖昧にするのを避けるために、よく知られている構造、要素、または接続は省いてあり、または特別詳しくは説明していない。
【００２７】
本明細書で「一実施形態」または「ある実施形態」に言及することは、その実施形態に関連して記載する特定の機能、構造、または特徴が、本発明の少なくとも１つの実施形態に含まれることを示すことを目的とする。本明細書の様々な場所で現れる慣用句「一実施形態では」は、必ずしも全て同じ実施形態を指すとは限らず、別個の実施形態または代替的実施形態が他の実施形態を互いに含まないというわけでもない。さらに、一部の実施形態によって提示できるが他の実施形態では提示できない様々な特徴について説明する。同様に、一部の実施形態では要件となり得るが他の実施形態では要件にならない様々な要件についても説明する。
【００２８】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する操作の手続き、ステップ、論理ブロック、処理、および他の記号表現の観点から表す。これらの記述および表現は、データ処理分野の技術者が、当業者に自身の作業内容を最も効果的に伝えるために使用する手段である。本明細書では、および一般に、手続き、コンピュータによって実行されるステップ、論理ブロック、プロセス等は、所望の結果を導く自己矛盾のない一連のステップまたは命令であると考える。そのステップは、物理量の物理的操作を必要とするものである。通常、必須ではないが、これらの量はコンピュータ可読記憶媒体の電気信号または磁気信号の形を取り、コンピュータシステム内で記憶し、転送し、合成し、比較し、他の方法で操作することができる。時には、主に共通使用上の理由から、これらの信号をビット、値、要素、記号、文字、用語、数などと呼ぶのが好都合であることが分かっている。
【００２９】
ただし、これらのおよび類似の用語は全て、適切な物理量に関連付けるべきであり、これらの量に適用する都合のよいラベルに過ぎないことに留意すべきである。特段の定めがない限り、以下の解説から明らかなように、本発明の全体を通して、「処理する」、「アクセスする」、「書き込む」、「記憶する」、「複製する」などの用語を使った解説は、コンピュータシステムのレジスタおよびメモリ、ならびに他のコンピュータ可読媒体の中で物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、またはそのような他の情報記憶装置、伝送装置、もしくは表示装置内で物理量として同様に表される他のデータへと変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを指すと理解される。
【００３０】
本発明の諸実施形態は、ＨＡ／ＤＲ（高可用性／障害回復）の特性を提供するために、クラスタ内および／またはクラスタ間で多層ビジネスサービスの便利な定義、視覚化、および管理を促進する。本システムおよび方法は、ＨＡ／ＤＲクラスタリングソフトウェア上に構築される、ＣＳＧ（複合サービスグループ）ビジネスサービスの概念を導入する。一実施形態では、本発明はクラスタ内のコンテナオブジェクトを表す。このコンテナオブジェクトは、全ての関連アプリケーションを含む。例えばこのコンテナオブジェクトは、クラスタサイト内またはクラスタサイト間で、単一ユニットとして定義し、視覚化し、オンラインにし、オフラインにし、フェイルオーバし、切り替え、切り替えて戻すことができる、（例えば物理マシンまたは仮想マシン上で実行される）１つまたは複数のビジネスサービスまたはアプリケーションを表す。
【００３１】
一実施形態では、（例えば多層構成アプリケーションに見られるような）ビジネスサービスに関する統合ステータスの可視性、および自動化が促進される。一実施形態では、典型的な動作環境が、ビジネスサービスに関するＨＡ／ＤＲ複製プロセス機能の自動化を包含する。本発明の諸実施形態によるＣＳＧは、複雑なアプリケーションの依存関係、制約、およびシステム配置方式をカプセル化する、アプリケーションのための適したコンテナを提供する。以下の図１では、典型的なクラスタベースのコンピュータシステム環境について論じる。図２および図３は、クラスタベースのコンピュータシステム環境内でＨＡ／ＤＲサービスを提供するために用いるフェイルオーバシナリオの２つの例を示す。図４は、ＣＳＧの機能特性の概要を示す。
【００３２】
次に図１を参照して、図１は、本発明の一実施形態による、ＨＡ／ＤＲマルチクラスタベースのコンピューティングシステムを描く図を示す。図１に示すように、３つのクラスタ１０１〜１０３を図示する。クラスタ１０２〜１０３はそれぞれ、２ノードクラスタを構成する。クラスタ１０１は、４ノードクラスタを構成する。構成ノードのそれぞれを個々の記憶装置（例えばディスクドライブ等）に接続して示し、クラスタ１０１はＳＡＮ（ストレージエリアネットワーク）に接続して示す。各クラスタのノードは、ローカルエリアネットワーク１０５〜１０７を介して互いに通信する。これらのローカルエリアネットワークはインターネット１１０に接続される。図１には２つのノードおよび４つのノードからなるクラスタを示すが、本発明の諸実施形態は容易にスケール変更し、何百または何千ものノードを有する分散コンピュータシステムおよび／またはクラウドベースコンピュータシステム内で機能できることを理解すべきである。同様に、図１にはクラスタを構成する物理ノードを示すが、図１の１つまたは複数のノードは、（例えば以下の図１０に示すように）１台または複数台の仮想マシン上でインスタンス化されるゲストインスタンス／アプリケーションとして実装できることも理解すべきである。
【００３３】
したがって図１は、典型的なＨＡ／ＤＲマルチクラスタコンピュータシステム環境の基本レイアウトを示す。上記に記載したように、高可用性クラスタとは、サービスの高可用性をユーザおよび／またはアプリケーションに提供し、確実な障害回復を実現することによって主に機能するコンピュータクラスタである。クラスタ内ＨＡを提供するために、各クラスタ１０１〜１０３の複数の冗長ノードを使用して、クラスタの１つまたは複数のノードが障害を起こす場合にサービスを提供する（例えばクラスタ内フェイルオーバ）。クラスタごとの障害回復を行うために、複数のクラスタ１０１〜１０３を地理的に分散した位置に実装し、定期的複製技術を使用して確実な障害回復を実現することができる。障害を起こしたクラスタから回復するために、アプリケーションのグループ全体があるクラスタから別のクラスタにフェイルオーバして、アプリケーションサービスの中断を最小限に抑え、かつデータ損失のリスクを最小限に抑えることができる。
【００３４】
図１は、クラスタ１０１〜１０３のそれぞれの中に、複数の複合サービスグループマネージャ１２１〜１２３を含めることも示す。複合サービスグループマネージャ１２１〜１２３は、本発明の諸実施形態の多層ビジネスサービス機能の定義、視覚化、および管理を実施する。図１の実施形態では、各クラスタ内にインスタンス化された少なくとも１つの複合サービスグループマネージャがあるが、冗長性、信頼性等を与えるために、複合サービスグループマネージャは所与のクラスタの各ノード上でインスタンス化することができる。
【００３５】
図２は、本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な単一サイトのフェイルオーバシナリオを示す。図２に示すように、一次サイト２０１は、２つのクラスタ２１０および２１１を含む。
【００３６】
図２の実施形態では、クラスタ２１０〜２１１は、互いにＨＡ／ＤＲフェイルオーバ保護を提供するように構成することができる。この例では、クラスタ２１０〜２１１はどちらも一次サイトにある。しかし、クラスタ２１１がキャンパスのあるビル内にありながら、クラスタ２１０はそのキャンパスの別のビルにあってもよい。異なるビル内に物理的に分離することは、たとえその２つのクラスタが地理的に広く（例えば異なる領域に数百マイルも離れて）離れていなくても、ある程度のＨＡ／ＤＲをもたらす。同様に、これらの２つのクラスタは同じビル内の異なる階にあってもよく（例えば一方のクラスタが地階にあり、他方のクラスタが別の階にある）、上に述べたように引き続きある程度のＨＡ／ＤＲをもたらす。同じビル内でも、クラスタを物理的に分離することは、相変わらず（例えば消火器の活性化、不正侵入等に対する）かなりのＨＡ／ＤＲ保護をもたらす。
【００３７】
クラスタ２１０〜２１１は２つの別個のクラスタとして示すが、クラスタ２１０〜２１１は、２つのサブクラスタとして実装できることに留意すべきである。そのような実施形態では、より大きな単一のクラスタが、互いにＨＡ／ＤＲ保護を提供するようにそれぞれ設定可能な２つのサブクラスタへと分割される。
【００３８】
図３は、本発明の一実施形態による、クラスタベースのコンピュータシステム環境での例示的な２サイトのフェイルオーバシナリオを示す。図３に示すように、一次サイト３０１は、二次サイト３０２に通信可能に接続される。一次サイトおよび二次サイト３０１〜３０２は、それぞれのクラスタ３１０〜３１１を含む。
【００３９】
図３の実施形態では、クラスタ３１０〜３１１は、それぞれのサイトにＨＡ／ＤＲフェイルオーバ保護を提供するように構成される。この例では、クラスタ３１０〜３１１は、地理的に分散した一次サイトおよび二次サイトに位置する。地理的に広く離れた位置に物理的に分離することは、ひときわ高度なＨＡ／ＤＲ保護を提供する。それらのクラスタの広く離れた位置は、広い地域にわたってサービスに影響を及ぼしインフラを途絶させることがある、大規模な事象（例えば暴風、地震、津波等）に対する障害回復保護をもたらす。
【００４０】
図４は、本発明の一実施形態による、１つまたは複数のビジネスサービスを提供するアプリケーションユニットの集まりを示す。図４に示すように、これらのアプリケーションユニットは、互いとの相互依存関係に関して図示する。図４は、図４の下部にあるアプリケーションユニットが、図４の上部にあるアプリケーションユニットに構成要素の機能およびサポートを提供する様式を示す。例えば、アプリケーションユニット４０１〜４０３は、アプリケーションユニット４０４にサポート機能をそれぞれ提供する。アプリケーション４０４およびアプリケーション４０５は、最上位アプリケーション４１０にサポート機能を提供する。同様に、アプリケーション４２１およびアプリケーション４２２は、最上位アプリケーション４３０にサポート機能を提供する。矢印４５０は、２つの最上位アプリケーションユニット４１０および４３０間で生じるプロセス間通信を表す。
【００４１】
このようにして、アプリケーションユニット４０１〜４１０は多層構成アプリケーションを具体化し、アプリケーションユニットのそれぞれは、ビジネスサービスの全体的機能のうちの構成部分を実施するよう要求される。このビジネスサービスは、例えばインターネットを使った小売サイトの購入取引を処理するビジネスサービスとすることができる。同様に、アプリケーションユニット４２１〜４３０は第２のビジネスサービスを構成する。この第２のビジネスサービスは、アプリケーションユニット４２１〜４３０が提供するビジネスサービスとは異なり、そうしたビジネスサービスから切り離されている。図４の実施形態では、２つのビジネスサービス間の通信は、高レベルアプリケーションユニット４１０および４３０においてのみ生じる。
【００４２】
本明細書で使用するとき、アプリケーションユニットは、全体的なビジネスサービスを構成する機能の様々な部分を実施する、一連の様々なプロセスまたはアプリケーションを指す網羅的な用語であることに留意すべきである。このアプリケーションユニットは、物理マシン上で実行されるアプリケーションとすることができる（例えばデータベースアプリケーション、ウェブサーバ等）。このアプリケーションユニットは、仮想マシン上のゲストインスタンスや、物理マシン上で実行される仮想マシン全体など、仮想マシンアプリケーションユニットとすることができる。このアプリケーションユニットは、様々なプラットフォーム上にあることができる（例えばＭＩＰＳ、ｘ８６、Ｉｔａｎｉｕｍ等）。このアプリケーションユニットは、様々なオペレーティングシステム上にあることができる（例えばＬｉｎｕｘ、Ｓｏｌａｒｉｓ、Ｗｉｎｄｏｗｓ等）。アプリケーションユニットのそれぞれは、ビジネスサービス全体の多層アーキテクチャを一緒になって実装し、例えばそのアプリケーションユニットは、概して標準化されたインターフェイスを有する物理的にまたは論理的に別個のプロセス／アプリケーションとして実装される。
【００４３】
図５は、本発明の一実施形態による、アプリケーションユニットを複合サービスグループ５７０へとグループ化する方法を示す。
【００４４】
図５は、本発明の諸実施形態が、クラスタ内のコンテナオブジェクトを表すＣＳＧビジネスサービスを実装する方法を示す。上記に記載したように、コンテナオブジェクト（例えばＣＳＧ５７０）は、ビジネスサービスに関する機能を提供する全ての関連アプリケーション、この場合はアプリケーションユニット４０１〜４１０を含む。本発明の諸実施形態によるＣＳＧ５７０は、複雑なアプリケーションの依存関係、制約、およびシステム配置方式をカプセル化するための適したコンテナを提供する。
【００４５】
例えば、ＣＳＧ５７０が購入取引を処理するビジネスサービスを実装する動作シナリオでは、アプリケーションユニット４０１〜４１０、ビジネスサービスは、クラスタサイト内またはクラスタサイト間で、単一ユニットとして定義し、視覚化し、オンラインにし、オフラインにし、フェイルオーバし、切り替え、切り替えて戻すことができる。この単一ユニットがＣＳＧ５７０である。ＣＳＧ５７０のこの単一ユニットの側面は、ビジネスサービスに関するＨＡ／ＤＲプロセス機能の自動化を大きく促進する。ＣＳＧ５７０が定義されると、ＣＳＧ５７０を構成するアプリケーションユニットの複製およびコピーを容易に自動化することができ、それにより高度なＨＡ／ＤＲ保護を保証する。
【００４６】
このようにして、ＣＳＧ５７０はフェイルオーバのユニットを構成する。ＣＳＧ５７０を構成するアプリケーションユニットのそれぞれは、全体として一緒に複製し、かつ／または障害を起こし／再びフェイルバックする場合もありしない場合もある。
【００４７】
ＣＳＧの定義
ＣＳＧを定義することは、オブジェクトに固有名を与えること（例えばデータ構造をリストにすること）を含む。一実施形態では、このオブジェクトは、どのアプリケーションユニットが所与のビジネスサービスを構成するのかを一意に記述する列挙リストを含む。ＣＳＧの固有名は、他のプロセスまたはシステム管理者が、ＣＳＧを容易にかつ認識可能に操作および／または管理できるようにする。典型的な名前は、例えばそのビジネスサービスが提供されるキャンパス（例えばＳｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ、Ｍｏｕｎｔａｉｎ  Ｖｉｅｗ等）や、そのビジネスサービスが実施する機能（例えば本の販売、子供服の販売等）とすることができる。
【００４８】
列挙リストは、ビジネスサービスを構成するアプリケーションユニット間に存在する階層的相互関係を記述する。この列挙リストは、存在し得る任意の系列的依存関係を記述する。列挙リストによって捕捉される階層関係は、どのアプリケーションユニットのどの初期化を同時に実行でき、どのアプリケーションユニットのどの初期化を順次に実行しなければならないのかを示す。例えば、アプリケーションユニット４０４の機能は、アプリケーション４０１〜４０４が始動することに依拠する。同様に、アプリケーションユニット４１０の機能は、アプリケーションユニット４０４〜４０５を初期化することに依拠する。アプリケーションユニット４０１〜４０３の初期化は同時に行うことができる一方、アプリケーション４１０の初期化は、アプリケーション４０５の初期化および結果として起こるアプリケーション４０４の初期化を待たなければならない。
【００４９】
さらに、通信線４５０と交差するＣＳＧの境界は、支援アプリケーションユニット４０１〜４０５の全てが初期化されるまで、最上位アプリケーションユニット４１０と最上位アプリケーションユニット４３０との間の通信が停止され、それによりアプリケーションユニット４１０を完璧に初期化できるようにしていることを示す。
【００５０】
新たなＣＳＧを定義すること、既存のＣＳＧを変更すること、既存のＣＳＧを削除すること等のプロセスに特権を関連付けてもよいことに留意すべきである。例えば、指定の特権レベルに応じた承認を必要とする承認プロセスを確立することができる。そのような承認プロセスは、システム管理者がかかる行為を行うのに十分な特権を有することを確実にするためのものである。
【００５１】
ＣＳＧの視覚化
ＣＳＧを構成するアプリケーションユニットについての統合ステータスを示すために、ディスプレイを実装することができる。統合ステータスは、コマンドラインインターフェイスを介して送られるリストとすることができる。統合ステータスは、ＣＳＧを構成するアプリケーションユニットそれぞれの個々のステータスを視覚的に示すことができるＧＵＩにより、視覚的に示すことが可能である。
【００５２】
一実施形態では、統合ステータスが、アプリケーションの現在の可用性を示す特定の状態を視覚的に示すことができる。一実施形態では、ＣＳＧがオフラインか、部分的か、オンラインかを、フラグおよび／または視覚インジケータが示すことができる。ＣＳＧは、そのアプリケーションユニットの全てが完全に利用可能な場合にのみオンラインである。ＣＳＧは、ＣＳＧの少なくとも１つのアプリケーションユニットが完全に利用可能ではない場合、部分的である。ＣＳＧの少なくとも１つのアプリケーションユニットが完全に利用できない場合、部分的にまたは完全に利用できる少なくとも１つの他のアプリケーションユニットが存在する。ＣＳＧは、そのアプリケーションユニットの全てが完全に利用できない場合オフラインである。
【００５３】
ＣＳＧの管理
一実施形態では、ＣＳＧの管理には、ＣＳＧを始動させ、ＣＳＧを停止し、ＣＳＧを様々なサイト間で切り替えること等ができることが含まれる。この管理は、ＣＳＧ名を参照することによる。管理は、典型的にはシステム管理者によりコマンドラインインターフェイスまたはＧＵＩを介して実施される。上記に記載したように、かかる行為を行うために、指定の特権レベルに応じた承認（例えばユーザ名およびパスワード）を確立するようシステム管理者に要求することができる。コマンドラインインターフェイスまたはＧＵＩを使用して、システム管理者は、ＣＳＧを参照して全ＣＳＧをオンラインにし、全ＣＳＧをオフラインにする等のための単一コマンドを実行することができる。
【００５４】
例示的なＣＳＧの特徴および機能についての説明
以下は、本発明の諸実施形態による特定のＣＳＧの特徴および機能の概要である。
Ａ）ＣＳＧは、システム管理者が規定するビジネスサービスを構成するアプリケーション用のコンテインメントを提供するファーストクラスオブジェクトである。そのため、典型的なＣＳＧのライフサイクルには以下が含まれる。
１）規定したアプリケーションユニットのリストからなる、ファーストクラスＣＳＧオブジェクトを定義／作成すること。これらのアプリケーションユニットは、このＣＳＧの一部でなくてもよい他のアプリケーションユニットに対する依存関係を有することができる。
２）以下についてＣＳＧオブジェクトを修正すること。
ａ）アプリケーションユニットのリスト、
ｂ）このＣＳＧオブジェクトをフェイルオーバ／フェイルバックし、切り替え／切り替えて戻すことができるクラスタ／サイトのリスト、および
ｃ）仮想マシンのリスト。
３）ＣＳＧオブジェクトを削除すること。
４）所要のサイト／クラスタ内で、所要のサイト／クラスタに、ＣＳＧオブジェクトをオンラインにし／オフラインにし／切り替えること。
５）所与のクラスタ／サイト上のＣＳＧの障害を取り除くこと。
６）所与のクラスタ／サイト上のＣＳＧを引き継ぐこと。
７）サイト／クラスタにわたる統合されたＣＳＧの状態を視覚化すること。
【００５５】
Ｂ）以下は、ＣＳＧのいくつかの独特の特徴である。
１）ＣＳＧはクロスプラットフォームであり、ＣＳＧオブジェクトは様々なプラットフォーム上のアプリケーション層に及ぶことができる。
２）ＣＳＧはクラスタ全体にわたるグローバルエンティティであり、クラスタ内の特定のシステムに逃れ、または関連することはない。
３）多層構成アプリケーションを立ち上げること（ＣＳＧをオンラインにすること）は、１組の制約に従うクラスタ内の様々なシステム上にアプリケーションの各部を最適に配置することを含む。
【００５６】
Ｃ）ＣＳＧ内では関連アプリケーションがまとめられるので、ビジネスサービスに関する統合ステータスは、以下に記載するように維持し、示すことができる。
１）ＣＳＧには、アプリケーションの現在の可用性を示す３つの基本的状態しかない（オフライン、部分的、およびオンライン）。
ａ）ＣＳＧは、そのアプリケーションコンポーネントの全てが愚かさ利用可能な場合にのみオンラインである。
ｂ）ＣＳＧは、ＣＳＧの少なくとも１つのアプリケーションコンポーネントが完全に利用可能ではない場合部分的であり、そのＣＳＧの少なくとも１つのアプリケーションコンポーネントは、部分的に利用できるが完全には利用できない可能性がある。ＣＳＧの少なくとも１つのアプリケーションコンポーネントが完全には利用できない場合、部分的にまたは完全に利用できる少なくとも１つの他のアプリケーションコンポーネントが存在する。
ｃ）ＣＳＧは、そのアプリケーションコンポーネントの全てが完全に利用できない場合オフラインである。
【００５７】
２）主なＣＳＧの状態についての２つの修飾子（フラグ）がある。
ａ）アテンションフラグ−ＣＳＧ内のアプリケーションコンポーネントの利用不能は、意図的であり、設定された何らかのポリシおよびスケジュールの一部である可能性がある。しかし、これは一方では意図しないものであり、基礎をなす高可用性プロバイダがアプリケーションを完全に回復できない困難な障害の結果である可能性もある。多層構成アプリケーションの現在のまたは将来の可用性が損なわれ得るシナリオでは、ＣＳＧの状態に関する補助状態マーカ、‘アテンション’フラグを使用する。したがって、全てのアプリケーションコンポーネントが至る所で障害を起こして機能停止しているＣＳＧは、‘オフライン｜アテンション’の状態を有する。その一方で、そのアプリケーションコンポーネントの全てが意図的にオフラインにされるＣＳＧは、‘オフライン’の状態を有する。
ｂ）ペンディングフラグ−ある特定の時点において、ＣＳＧ内の１つまたは複数のアプリケーションコンポーネントがある状態から別の状態に遷移している場合がある。これを表すために‘ペンディング’フラグを使用する。したがって、オンラインだが、一部のアプリケーションコンポーネントがオフライン状態に遷移しているＣＳＧは‘オンライン｜ペンディング’の状態を有する。
【００５８】
以下は、統合されたＣＳＧ状態のあり得る値である。
・オンライン−ＣＳＧ内の全てのアプリケーションユニットがオンラインである。
・部分的−ＣＳＧ内の一部のアプリケーションユニットがオフラインであり、残りがオンライン状態または部分的状態にある。または、どのアプリケーションユニットもオフラインではなく、一部のまたは全てのアプリケーションユニットが部分的であり、残りは、もしあればオンラインである。
・オフライン−ＣＳＧ内の全てのアプリケーションユニットがオフラインである。
・オンライン｜ペンディング−ＣＳＧ内の全てのアプリケーションユニットがオンラインだが、構成アプリケーションユニットの１つまたは複数が別の状態に遷移中である。
・部分的｜ペンディング−部分的と同じだが、一部のアプリケーションユニットが別の状態に遷移中である。
・部分的｜アテンション−部分的と同じだが、一部のアプリケーションユニットが障害を起こし、またはオンラインになれない。
・部分的｜アテンション｜ペンディング−部分的と同じだが、一部のアプリケーションユニットが障害を起こし、またはオンラインになれない一方で、ＣＳＧ内の残りのアプリケーションユニットの１つまたは複数が別の状態に遷移中である。
・オフライン｜ペンディング−オフラインと同じだが、一部のアプリケーションユニットが別の状態に遷移中の可能性がある。
・オフライン｜アテンション−以下の条件のうちの１つが真であり、その条件とはつまり、全てのアプリケーションユニットが障害を起こしている、全てのアプリケーションユニットがオフラインか障害を起こしている、全てのアプリケーションユニットがオフラインであり、それらの一部がオンラインになれない、である。
・オフライン｜アテンション｜ペンディング−オフラインと同じである（アテンションだが、ＣＳＧ内の一部のアプリケーションユニットが別の状態に遷移中である）。
【００５９】
図６から図９は、本発明の諸実施形態による、複合サービスグループの一次サイトと二次サイトとの間の様々なＨＡ／ＤＲ複製状態の例をそれぞれ示す。複合サービスグループにＨＡ／ＤＲを提供するために、３つ以上のサイトが関与することもできる。
【００６０】
次に図６を参照して、図６は、本発明の一実施形態による、ＨＡ／ＤＲのためにＣＳＧが複製されている一次サイト６０１および二次サイト６０２を示す。図６に示すように、一次サイトは、図示のようにアプリケーションをそれぞれ実行するノード１０〜４０を含む。複製技術を使用して、図示のようにデータおよびＯＳイメージを二次サイト６０２のノード５０〜８０上に複製する。上記に記載したように、この一次サイトおよび二次サイトは、ひときわ高度なＨＡ／ＤＲ保護を提供するために地理的に離れた位置に実装することができる。それらのサイトの広く離れた位置は、広い地域にわたってサービスに影響を及ぼしインフラを途絶させることがある、大規模な事象（例えば暴風、地震、津波等）に対する障害回復保護をもたらす。
【００６１】
図７は、本発明の一実施形態による、ＨＡ／ＤＲのためにＣＳＧが部分的に複製されている一次サイト７０１および二次サイト７０２を示す。図７に示すように、一次サイトは、図示のようにアプリケーションをそれぞれ実行するノード１０〜４０を含む。ただし、複合サービスグループ７０１からのアプリケーションは、複合サービスグループ７０２に完全には複製されていない。この場合、部分的に複製することは、複合サービスグループ７０２にフェイルオーバする場合に備えて、複合サービスグループ７０１の特定のコア機能を維持するオプションを提供する。
【００６２】
全機能とは対照的にコア機能だけをフェイルオーバすることが有利な、いくつかの異なる状況があり得る。比較的少数のアプリケーションユニットが、所与のビジネスサービスの機能の大部分を提供できるシナリオが存在し得る。そのような事例では、それらの少数のアプリケーションユニットが提供するコア機能だけをフェイルオーバすることに備えることが経済的であり得る。この側面は、一次サイトと二次サイトとの間で複製するのにかかる時間を減らすことができる。この側面は、一次サイトと二次サイトとの間の複製の頻度を増やすことができる。さらに、コア機能のフェイルオーバだけを行うことは、二次サイトに関連するコスト（例えばハードウェアおよびソフトウェア資源）、および一次サイトと二次サイトとの間の帯域幅を減らすことができる。
【００６３】
図８は、本発明の一実施形態による、ＨＡ／ＤＲのために仮想マシンおよび実アプリケーションの両方を含むＣＳＧが完全に複製されている一次サイト８０１および二次サイト８０２を示す。図８に示すように、一次サイトは、図示のように仮想マシン、実アプリケーション、およびゲストアプリケーションをそれぞれ実行するノード１０〜４０を含む。図８の実施形態では、複製技術を使用して、図示のように仮想マシン、実アプリケーション、およびゲストアプリケーションを二次サイト８０２のノード５０〜８０上に完全にコピーする。
【００６４】
上記に記載したように、アプリケーションユニットは、全体的なビジネスサービスを構成する機能の様々な部分を実施する、一連の様々なプロセスまたはアプリケーションを指す網羅的な用語である。このアプリケーションユニットは、物理マシン上で実行されるアプリケーションとすることができる（例えばデータベースアプリケーション、ウェブサーバ等）。このアプリケーションユニットは、仮想マシン上のゲストインスタンスや、物理マシン上で実行される仮想マシン全体とすることができる。このアプリケーションユニットは、様々なプラットフォーム上にあることができる（例えばＭＩＰＳ、ｘ８６、Ｉｔａｎｉｕｍ等）。このアプリケーションユニットは、様々なオペレーティングシステム上にあることができる（例えばＬｉｎｕｘ、Ｓｏｌａｒｉｓ、Ｗｉｎｄｏｗｓ等）。このように図８は、本発明の諸実施形態による、ＣＳＧ内に集めることができる様々な種類のアプリケーションユニットを視覚的に示す。
【００６５】
図９は、本発明の一実施形態による、ＨＡ／ＤＲのために仮想マシンおよび実アプリケーションの両方を含むＣＳＧが完全に複製されている第１のクラスタ９０１および第２のクラスタ９０２を示す。上記に記載したように、アプリケーションユニットは、様々なプラットフォーム上でインスタンス化することができる（例えばＭＩＰＳ、ｘ８６、Ｉｔａｎｉｕｍ等）。アプリケーションユニットは、仮想マシン上のゲストインスタンス、または物理マシン上で実行される仮想マシン全体とすることができる。
【００６６】
クラスタ９０１〜９０２は、どちらも一次サイトに位置することができる。例えば上記に記載したように、クラスタ９０１がキャンパスのあるビル内にありながら、クラスタ９０２はそのキャンパスの別のビルにあることができる。あるいは、クラスタ９０１〜９０２は、地理的に分散した一次サイトおよび二次サイトに位置することができる。上記に記載したように、地理的に広く離れた位置に物理的に分離することは、ひときわ高度なＨＡ／ＤＲ保護を提供する。
【００６７】
図９は、図示のように各クラスタに通信接続性を与えるスイッチ９１０ａ〜９１０ｂを視覚的に示す。これらのスイッチ９１０は、図示のようにデータ記憶域アレイ９１１ａ〜９１１ｂ（例えばストレージエリアネットワーク等）への接続を提供する。複製サービス９２０は、クラスタ９０１〜９０２間のデータ冗長性を得るための定期的複製機能を提供する。このように図９は、本発明の一実施形態による、ＣＳＧ内に集めることができる様々な種類のアプリケーションユニットとともに、データ記憶域および複製サービスを視覚的に示す。
【００６８】
図１０は、本発明の一実施形態による、ＣＳＧによりＨＡ／ＤＲを提供しながら、クラスタベースのコンピュータシステム上でビジネスサービスを実行するためのプロセス１０００のステップについてのフローチャートを示す。図１０に示すように、プロセス１０００は、ＣＳＧを初期化し、定期的複製をセットアップし、ビジネスサービスを管理する際の動作ステップを示す。
【００６９】
プロセス１０００は、ビジネスサービスの複数のアプリケーションユニットを、クラスタコンピュータシステム上でインスタンス化するステップ１００１で始まる。上記に記載したように、アプリケーションユニットは、全体的なビジネスサービスを構成する機能の様々な部分を実施する、一連の様々なプロセスまたはアプリケーションを指す網羅的な用語である。このアプリケーションユニットは、物理マシン上で実行されるアプリケーションとすることができる（例えばデータベースアプリケーション、ウェブサーバ等）。このアプリケーションユニットは、仮想マシン上のゲストインスタンスや、物理マシン上で実行される仮想マシン全体など、仮想マシンアプリケーションユニットとすることができる。
【００７０】
ステップ１００２で、ビジネスサービスを構成するアプリケーションユニットを含むＣＳＧの定義を（例えばシステム管理者から）受け取る。上記に記載したように、一実施形態では、ＣＳＧは、どのアプリケーションユニットが所与のビジネスサービスを構成するのかを一意に記述する列挙リストを含む。ＣＳＧの固有名は、他のプロセスまたはシステム管理者が、ＣＳＧを容易にかつ認識可能に操作および／または管理できるようにする。列挙リストは、ビジネスサービスを構成するアプリケーションユニット間に存在する階層的相互関係を記述する。列挙リストは、存在し得る任意の系列的依存関係を記述する。
【００７１】
ステップ１００３で、ＣＳＧの統合ステータスを生成する。上記に記載したように、この統合ステータスは、アプリケーションの現在の可用性を示す特定の状態を視覚的に示すことができる。一実施形態では、ＣＳＧがオフラインか、部分的か、オンラインかを、フラグおよび／または視覚インジケータが示すことができる。統合ステータスは、ＣＳＧを構成するアプリケーションユニットそれぞれの個々のステータスを視覚的に示すことができるＧＵＩにより、視覚的に示すことが可能である。
【００７２】
ステップ１００４で、ＣＳＧを使用して、ＨＡ／ＤＲのために一次サイトと二次サイトとの間に複製プロセスをセットアップする。上記に記載したように、ＣＳＧはフェイルオーバのユニットを構成する。ＣＳＧを構成するアプリケーションユニットのそれぞれは、全体として一緒に複製され、かつ／またはフェイルオーバされる。
【００７３】
その後ステップ１００５で、ＣＳＧを使用してビジネスサービスを管理し、ＣＳＧコマンドを用いてビジネスサービスをオンラインにする。上記に記載したように、ＣＳＧの管理には、ＣＳＧを始動させ、ＣＳＧを停止し、ＣＳＧを様々なサイト間で切り替えること等ができることが含まれる。この管理は、ＣＳＧ名を参照することによる。管理は、典型的にはシステム管理者によりコマンドラインインターフェイスまたはＧＵＩを介して実施される。
【００７４】
図１１は、一実施形態による例示的コンピュータシステム１１００を示す。コンピュータシステム１１００は、上記に記載した実施形態に関するハードウェアに基づくおよびソフトウェアに基づく特定の機能のための実行環境を提供する、基本的なコンピュータシステムのコンポーネントを示す。例えば、コンピュータシステム１１００は、ＣＳＧマネージャ１２３がインスタンス化される（例えば図１の）システムとすることができる。コンピュータシステム１１００は、例えばサーバコンピュータシステム、ワークステーションコンピュータシステム、デスクトップコンピュータシステム、またはラップトップコンピュータシステムとして実装することができる。同様に、コンピュータシステム１１００は、携帯端末として実装することができる。コンピュータシステム１１００は、典型的には少なくとも何らかの形式のコンピュータ可読媒体（例えばコンピュータ可読記憶媒体１１０１）を含む。コンピュータ可読媒体は、コンピュータシステム１１００がアクセス可能ないくつかの異なる種類の利用可能媒体とすることができ、これだけに限定されないが、コンピュータ記憶媒体が含まれ得る。
【００７５】
最も基本的な構成では、コンピュータシステム１１００は、典型的には処理装置１１０３およびコンピュータ可読記憶媒体１１０１を含む。厳密な構成および使用するコンピュータシステム１１００の種類にもよるが、メモリ１１０１は、揮発性（例えばＤＲＡＭなど）、不揮発性（例えばＲＯＭ、フラッシュメモリなど）、またはその２つの何らかの組合せとすることができる。同様に、メモリ１１０１は、例えば磁気ディスクを用いた媒体、光媒体など、固体装置のほかに他の装置を含むことができる。
【００７６】
さらに、コンピュータシステム１１００は、磁気または光ディスク／テープなど、他の大容量記憶システム（例えばリムーバブル１１０５および／または固定型１１０７）を含むことができる。同様に、コンピュータシステム１１００は、入力装置１１１１および／または出力装置１１０９（例えばディスプレイなど）を含むことができる。コンピュータシステム１１００は、他の装置、コンピュータ、ネットワーク、サーバ等への、有線媒体または無線媒体を使用した通信接続１１１３をさらに含むことができる。これらの装置の全ては当技術分野でよく知られているので、これらの装置を詳しく論じる必要はない。
【００７７】
コンピュータシステム１１００は、コンピュータシステム１１００の機能をクラウドコンピューティング環境を使って部分的にまたは完全に実行する場合にそうであるように、その機能の一部、大部分、または全てを、多数の分散したコンピューティングノードを有する分散コンピュータシステムに取って代わらせることができることにさらに留意すべきである。
【００７８】
図１２は、本発明の一実施形態による、特定の機能を実施するのに適したコンピュータシステム１２１０のブロック図を示す。コンピュータシステム１２１０は、中央処理装置１２１４、システムメモリ１２１７（典型的にはＲＡＭだが、ＲＯＭ、フラッシュＲＡＭ等も含まれ得る）、入出力コントローラ１２１８、音声出力インターフェイス１２２２を介したスピーカシステム１２２０などの外部オーディオ装置、ディスプレイアダプタ１２２６を介した表示画面１２２４などの外部装置、シリアルポート１２２８および１２３０、（キーボードコントローラ１２３３とインターフェイスする）キーボード１２３２、記憶域インターフェイス１２３４、フロッピディスク１２３８を受け入れるように動作するフロッピディスクドライブ１２３７、ファイバチャネルネットワーク１２９０と接続するように動作するホストバスアダプタ（ＨＢＡ）インターフェイスカード１２３５Ａ、ＳＣＳＩバス１２３９に接続するように動作するホストバスアダプタ（ＨＢＡ）インターフェイスカード１２３５Ｂ、光ディスク１２４２を受け入れるように動作する光ディスクドライブ１２４０など、コンピュータシステム１２１０の主要なサブシステムを相互接続するバス１２１２を含む。さらに、マウス１２４６（またはシリアルポート１２２８を介してバス１２１２に結合される他のポイントアンドクリック装置）、（シリアルポート１２３０を介してバス１２１２に結合される）モデム１２４７、および（バス１２１２に直接結合される）ネットワークインターフェイス１２４８が含まれる。
【００７９】
バス１２１２は、中央処理装置１２１４と、先に述べたように読取専用メモリ（ＲＯＭ）またはフラッシュメモリ（いずれも不図示）およびランダムアクセスメモリ（ＲＡＭ）（不図示）が含まれ得るシステムメモリ１２１７との間のデータ通信を可能にする。ＲＡＭは、概してオペレーティングシステムおよびアプリケーションプログラムがロードされる主メモリである。図１２の実施形態では、システムメモリ１２１７が、上記に記載したＣＳＧ  ＨＡ／ＤＲ機能を実施する、ＣＳＧマネージャモジュール１２３をインスタンス化する。このＲＯＭまたはフラッシュメモリは、他のコードとして、周辺コンポーネントとの対話など、基本的なハードウェアの動作を制御する基本入出力システム（ＢＩＯＳ）を含むことができる。コンピュータシステム１２１０に常駐するアプリケーションは、一般にハードディスクドライブ（例えば固定ディスク１２４４）、光学式ドライブ（例えば光学式ドライブ１２４０）、フロッピディスクユニット１２３７または他の記憶媒体などの、コンピュータ可読媒体上に記憶され、その媒体を介してアクセスされる。さらに、アプリケーションは、ネットワークモデム１２４７またはネットワークインターフェイス１２４８を介してアクセスされるとき、アプリケーションおよびデータ通信の技術に従って変調される電子信号の形を取ることができる。
【００８０】
コンピュータシステム１２１０の他の記憶域インターフェイスと同様に、記憶域インターフェイス１２３４は、固定ディスクドライブ１２４４など、情報を記憶しかつ／または取得するための標準的なコンピュータ可読媒体に接続することができる。固定ディスクドライブ１２４４は、コンピュータシステム１２１０の一部分とすることができ、または別個とし、他のインターフェイスシステムを介してアクセスすることもできる。モデム１２４７は、電話リンクを介して遠隔サーバへの直接接続を提供し、またはインターネットサービスプロバイダ（ＩＳＰ）を介してインターネットへの直接接続を提供することができる。ネットワークインターフェイス１２４８は、ＰＯＰ（ポイントオブプレゼンス）によるインターネットへの直接ネットワークリンクを介して、遠隔サーバへの直接接続を提供することができる。ネットワークインターフェイス１２４８は、こうした接続を、デジタルセルラ電話接続、セルラデジタルパケットデータ（ＣＤＰＤ）接続、デジタル衛星データ接続等が含まれる無線技法を使用して提供することができる。
【００８１】
他の多くの装置またはサブシステム（不図示）（例えば文書スキャナ、デジタルカメラなど）を同様の方法で接続することができる。逆に、本開示を実践するために、図１２に示す装置の全てがある必要はない。それらの装置およびサブシステムは、図１２に示すのとは異なる方法で相互接続することができる。図１２に示すようなコンピュータシステムの動作は当技術分野で難なく知られており、本願では詳しく論じない。本開示を実施するためのコードは、システムメモリ１２１７、固定ディスク１２４４、光ディスク１２４２、またはフロッピディスク１２３８のうちの１つまたは複数などの、コンピュータ可読記憶媒体の中に記憶することができる。コンピュータシステム１２１０上に提供されるオペレーティングシステムは、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、または別の知られているオペレーティングシステムとすることができる。
【００８２】
さらに、本明細書に記載した信号に関して、信号は第１のブロックから第２のブロックまで直接伝送することができ、または信号はそれらのブロック間で修正（例えば増幅、減衰、遅延、ラッチ、バッファ、反転、フィルタ、または他の方法で修正）できることを当業者なら理解されよう。上記に記載した実施形態の信号は、あるブロックから次のブロックに伝送されるものとして特徴付けるが、本開示の他の実施形態は、信号の情報および／または機能上の側面がブロック間で伝送される限り、そうした直接伝送される信号の代わりに修正済み信号を含むことができる。ある程度、第２のブロックにおける信号入力は、関与する回路の物理的制約により（例えば必然的にいくらかの減衰および遅延がある）、第１のブロックからの第１の信号出力に由来する第２の信号として概念化することができる。したがって、本明細書で使用するとき、第１の信号に由来する第２の信号には、第１の信号、または第１の信号の情報および／または最終的な機能上の側面を変えない、回路の制約によるもしくは他の回路素子を通過することによる第１の信号に対する任意の修正が含まれる。
【００８３】
上記の記述は、特定の実施形態に関して説明目的で説明してきた。しかし、上記に例示した解説は網羅的であることも、本発明を開示した厳密な形態に限定することも意図しない。上記の教示を考慮して、多くの修正形態および改変形態が可能である。諸実施形態は、本発明の原理およびその実用的応用を最もよく説明して、それにより当業者が本発明、および考えられる特定の用途に適合され得る様々な修正を伴う様々な実施形態を最もよく利用できるようにするために選択して記述した。
【図１】
2013522716.tif 000003
【図２】
2013522716.tif 000004
【図３】
2013522716.tif 000005
【図４】
2013522716.tif 000006
【図５】
2013522716.tif 000007
【図６】
2013522716.tif 000008
【図７】
2013522716.tif 000009
【図８】
2013522716.tif 000010
【図９】
2013522716.tif 000011
【図１０】
2013522716.tif 000012
【図１１】
2013522716.tif 000013
【図１２】
2013522716.tif 000014
【国際調査報告】
2013522716.tif 000015
2013522716.tif 000016