(58)【調査した分野】(Int.Cl.,DB名)
前記第1のホストシステムで、前記第1のプロファイルのバックアッププロファイルを作成するステップであって、前記バックアッププロファイルが、第2の名前と関連付けられている、作成するステップと、
前記第1のプロファイル及び前記第2のプロファイルが個別に参照されるように、前記第2のホストシステムで前記第2のプロファイルの名前を変更するステップと、
前記第1の名前を有する前記第1のプロファイルを前記第2のホストシステムに移行するステップと、を更に含む、請求項4に記載のコンピュータ実装方法。
【発明を実施するための形態】
【0010】
本開示の様々な実施形態について、ここで詳細に言及し、その実施例が、添付の図面に示される。これらの実施形態に関連して説明するが、それは、これらの実施形態に本開示を限定することを意図していないことが理解されるであろう。反対に、本開示は、代替物、修正、及び均等物を網羅することが意図され、それは添付の請求項によって定義されるように本開示の趣旨及び範囲内に含まれ得る。更に、本開示の以下の詳細な説明において、多数の特定の詳細が、本開示の完全な理解を提供するために記載される。しかしながら、本開示はこれらの特定の詳細を伴わずに実施されてもよいことが理解されるであろう。他の例において、周知の方法、手順、構成要素、及び回路は、本開示の態様を不必要に曖昧にしないように、詳細に記載されていない。
【0011】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットでの動作の手順、論理ブロック、処理、及び他の記号表現に関して与えられる。これらの記述及び表現は、データ処理分野の当業者によって、他の当業者に仕事の内容を最も効果的に伝達するために使用される手段である。本出願では、手順、論理ブロック、プロセスなどは、所望の結果に導く一連の首尾一貫した工程又は命令であると考えられる。工程は、物理量の物理的操作を利用するものである。通常、必ずしもそうとは限らないが、これらの量は、コンピュータシステムにおいて記憶する、転送する、組み合わせる、比較する、及び他の方法で操作することが可能な、電気信号又は磁気信号の形態をとる。これらの信号をトランザクション、ビット、値、要素、記号、文字、サンプル、画素などと称することが、主に一般的な用法の理由から時には好都合であることが判明している。
【0012】
しかしながら、これら及び同様の用語の全てが、適切な物理量と関連付けられるものであり、これらの量に適用される好都合なラベルにすぎないことに留意すべきある。以下の説明から明らかなように、別段の記載がない限り、本開示全体を通じて、「作成する」、「判定する」、「マップする」、「設定する」などの用語を用いる考察は、コンピュータシステム又は類似の電子コンピューティングデバイス若しくはプロセッサ(例えば、
図1のシステム110)のアクション及びプロセス(例えば、
図5のフロー
図5)を指すことが理解される。コンピュータシステム又は類似の電子コンピューティングデバイスは、コンピュータシステムのメモリ、レジスタ、又は他のそのような情報記憶、伝送、若しくはディスプレイデバイス内で物理的(電子的)量として表されるデータを操作し、変換する。
【0013】
本明細書で説明する実施形態は、1つ以上のコンピュータ又は他のデバイスによって実行されるプログラムモジュールなどの、何らかの形態のコンピュータ可読記憶媒体上に存在するコンピュータ実行可能命令の一般的な文脈で考察され得る。限定ではなく例として挙げると、コンピュータ可読記憶媒体は、非一時的コンピュータ記憶媒体及び通信媒体を含み得る。一般に、プログラムモジュールとしては、特定のタスクを実施する又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などが挙げられる。プログラムモジュールの機能は、様々な実施形態において、所望に応じて組み合わせられ得る又は分散され得る。
【0014】
コンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの、情報を記憶するための任意の方法又は技術で実装される揮発性及び不揮発性、取り外し可能な及び取り外し不可の媒体が挙げられる。コンピュータ記憶媒体としては、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ若しくは他のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)、又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用することができ、その情報を取得するためにアクセスすることができる他の任意の媒体が挙げられるが、これらに限定されるものではない。
【0015】
通信媒体は、コンピュータ実行可能命令、データ構造、及びプログラムモジュールを統合することができ、任意の情報配信媒体を含む。限定ではなく例として挙げると、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、並びに音響、ラジオ周波数(RF)、赤外線及び他の無線媒体などの無線媒体を含む。上記の任意の組み合せもまた、コンピュータ可読媒体の範囲内に含めることができる。
【0016】
図1は、本開示の実施形態を実装することが可能なコンピューティングシステム110の一実施例のブロック図である。コンピューティングシステム110は、コンピュータ可読命令を実行することができる、任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを広く表す。コンピューティングシステム110の例としては、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられるが、これらに限定されない。その最も基本的な構成において、コンピューティングシステム110は、少なくとも1つのプロセッサ114及びシステムメモリ116を含み得る。
【0017】
プロセッサ114は、一般に、データを処理、又は命令を解釈及び実行することが可能な任意のタイプ又は形態の処理ユニットを表す。ある実施形態において、プロセッサ114は、ソフトウェアアプリケーション又はモジュールから命令を受信し得る。これらの命令は、プロセッサ114に、本明細書に記載される及び/又は図示される例示的な実施形態の1つ以上の機能を実行させ得る。例えば、プロセッサ114は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される特定すること、判定すること、使用すること、実装すること、翻訳すること、追跡すること、受信すること、移動すること、提供することの1つ以上を実施し得、かつ/又はそれらを実施するための手段であり得る。プロセッサ114はまた、本明細書に記載される及び/又は図示される他の任意の工程、方法、あるいはプロセスを実施し得、かつ/又はそれらを実施するための手段であり得る。
【0018】
システムメモリ116は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイスを表す。システムメモリ116の例としては、RAM、ROM、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられるが、これらに限定されない。必要ではないが、ある実施形態において、コンピューティングシステム110は、揮発性メモリユニット(例えば、システムメモリ116など)及び不揮発性記憶デバイス(例えば、一次記憶デバイス132など)の両方を含み得る。
【0019】
コンピューティングシステム110はまた、プロセッサ114及びシステムメモリ116に加えて、1つ以上の構成要素又は要素を含み得る。例えば、
図1の実施形態において、コンピューティングシステム110は、メモリコントローラ118、入力/出力(I/O)コントローラ120、及び通信インターフェース122を含み、それらの各々が、通信基盤112を介して相互接続され得る。通信基盤112は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることが可能な任意のタイプ又は形態の基盤を表す。通信基盤112の例としては、コミュニケーションバス(Industry Standard Architecture(ISA)、Peripheral Component Interconnect(PCI)、PCI Express(PCLe)、又は類似のバスなど)、及びネットワークが挙げられるが、これらに限定されない。
【0020】
メモリコントローラ118は、一般に、メモリ若しくはデータを取り扱う、又はコンピュータシステム110の1つ以上の構成要素間の通信を制御することが可能な任意のタイプ又は形態のデバイスを表す。例えば、メモリコントローラ118は、通信基盤112を介してプロセッサ114、システムメモリ116、及びI/Oコントローラ120の間の通信を制御し得る。メモリコントローラは、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される動作又は機能の1つ以上を実施し得、かつ/又はそれらを実施するための手段であり得る。
【0021】
I/Oコントローラ120は、概して、コンピューティングデバイスの入力及び出力機能を調整及び/又は制御することが可能な任意のタイプ又は形態のモジュールを表す。例えば、I/Oコントローラ120は、コンピューティングシステム110の1つ以上の要素(プロセッサ114、システムメモリ116、通信インターフェース122、ディスプレイアダプタ126、入力インターフェース130、記憶装置インターフェース134など)の間のデータの転送を制御又は容易にし得る。I/Oコントローラ120は、例えば、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される動作の1つ以上を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。I/Oコントローラ120はまた、本明細書に記載される他の動作及び機能を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。
【0022】
通信インターフェース122は、概して、例示のコンピューティングシステム110と1つ以上の追加のデバイスとの間の通信を容易にすることができる任意のタイプ若しくは形態の通信デバイス又はアダプタを表す。例えば、通信インターフェース122は、コンピューティングシステム110と追加コンピューティングシステムを含む専用又は公共ネットワークとの間の通信を容易にし得る。通信インターフェース122の例としては、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び他の任意の好適なインターフェースが挙げられるが、これらに限定されない。一実施形態において、通信インターフェース122は、インターネットなどのネットワークへの直接的なリンクを介してリモートサーバへの直接接続を提供する。通信インターフェース122はまた、例えば、ローカルエリアネットワーク(イーサネットネットワーク(「イーサネット」は登録商標、以下同じ)など)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、携帯電話接続、衛星データ接続、又は他の任意の好適な接続を通じて、間接的にかかる接続を提供し得る。
【0023】
通信インターフェース122はまた、外部バス又は通信チャネルを介して、コンピューティングシステム110と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されたホストアダプタを表し得る。ホストアダプタの例としては、Small Computer System Interface(SCSI)ホストアダプタ、Universal Serial Bus(USB)ホストアダプタ、IEEE(Institute of Electrical and Electronics Engineers)1394ホストアダプタ、Serial Advanced Technology Attachment(SATA)and External SATA(eSATA)ホストアダプタ、Advanced Technology Attachment(ATA)and Parallel ATA(PATA)ストアダプタ、Fibre Channelインターフェースアダプタ、イーサネットアダプタなどが挙げられるが、これらに限定されない。通信インターフェース122は、コンピューティングシステム110が分散又はリモートコンピューティングに連動することを可能にし得る。例えば、通信インターフェース122は、リモートデバイスから命令を受け取るか、又は実行のためにリモートデバイスに命令を送り得る。通信インターフェース122は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される動作の1つ以上を実施し得、かつ/又はそれらを実施するための手段であり得る。通信インターフェース122はまた、本開示に記載される他の動作及び機能を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。
【0024】
図1に示すように、コンピューティングシステム110はまた、ディスプレイアダプタ126を介して通信基盤112に結合された少なくとも1つのディスプレイデバイス124を含み得る。ディスプレイデバイス124は、一般に、ディスプレイアダプタ126によって転送された情報を視覚的に表示することが可能な任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ126は、一般に、ディスプレイデバイス124に表示するための通信基盤112からの(又は当該技術分野で既知のフレームバッファからの)グラフィックス、テキスト、及び他のデータを転送するように構成された任意のタイプ又は形態のデバイスを表す。
【0025】
図1に示されるように、コンピューティングシステム110はまた、入力インターフェース130を介して通信基盤112に結合された少なくとも1つの入力デバイス128を含み得る。入力デバイス128は、一般に、コンピュータ又は人間によって生成された入力をコンピューティングシステム110に提供することができる任意のタイプ若しくは形態の入力デバイスを表す。入力デバイス128の例としては、限定されないが、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。一実施形態において、入力デバイス128は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される動作の1つ以上を実施し得、かつ/又はそれらを実施するための手段であり得る。入力デバイス128はまた、本開示に記載される他の動作及び機能を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。
【0026】
図1に示すように、コンピューティングシステム110はまた、記憶装置インターフェース134を介して通信基盤112に結合された、一次記憶デバイス132及びバックアップ記憶デバイス133を含み得る。記憶デバイス132及び133は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス132及び133は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、フロッピーディスクドライブ(「フロッピー」は登録商標、以下同じ)、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース134は、一般に、記憶デバイス132及び133とコンピューティングシステム110の他の構成要素との間でデータを転送するための任意のタイプ若しくは形態のインターフェース又はデバイスを表す。
【0027】
一実施例では、データベース140は、一次記憶デバイス132に記憶され得る。データベース140は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの一部分を表し得る。例えば、データベース140は、
図2(下)のコンピューティングシステム110の一部分、及び/又は例示的なネットワークアーキテクチャ200の一部分を表し得る(それらに記憶され得る)。代替的に、データベース140は、コンピューティングシステム110及び/又はネットワークアーキテクチャ200の一部分などの、コンピューティングデバイスによってアクセス可能な1つ以上の物理的に別個のデバイスを表し得る(それらに記憶され得る)。
【0028】
続いて
図1を参照すると、記憶デバイス132及び133は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成される取り外し可能な記憶ユニットから読み取る及び/又は取り外し可能な記憶ユニットに書き込むように構成され得る。好適な取り外し可能な記憶ユニットの例としては、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス132及び133はまた、コンピュータソフトウェア、データ、又は他のコンピュータで読み取り可能な命令がコンピューティングシステム110にロードされることを可能にするための他の類似の構造又はデバイスを含み得る。例えば、記憶デバイス132及び133は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取る及び書き込むように構成され得る。記憶デバイス132及び133はまた、コンピューティングシステム110の一部であってもよく、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【0029】
記憶デバイス132及び133は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される動作の1つ以上を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。記憶デバイス132及び133はまた、本開示に記載される他の動作及び機能を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。
【0030】
多くの他のデバイス又はサブシステムが、コンピューティングシステム110に接続され得る。反対に、
図1に示される全ての構成要素及びデバイスは、本明細書に記載される実施形態を実施するために存在する必要があるわけではない。上で言及したデバイス及びサブシステムはまた、
図1に示されるのとは異なる方法で相互接続され得る。コンピューティングシステム110はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用い得る。例えば、本明細書に開示される例示的な実施形態は、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)として、コンピュータ可読記憶媒体上で符号化され得る。
【0031】
コンピュータプログラムを含むコンピュータ可読媒体は、コンピューティングシステム110にロードされ得る。コンピュータ可読媒体上に記憶されたコンピュータプログラムの全て又は一部は、次いで、システムメモリ116並びに/又は記憶デバイス132及び133の様々な部分に記憶され得る。プロセッサ114によって実行されると、コンピューティングシステム110にロードされたコンピュータプログラムは、プロセッサ114が、本明細書に記載される及び/又は図示される例示的な実施形態の機能を実施するようにさせ得、かつ/又は実施するための手段となるようにし得る。追加的又は代替的に、本明細書に記載される及び/又は図示される例示的な実施形態は、ファームウェア及び/又はハードウェアで実装され得る。例えば、コンピューティングシステム110は、本明細書に開示される実施形態の1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成され得る。
【0032】
図2は、クライアントシステム210、220、及び230、並びにサーバ240及び245がネットワーク250に結合され得る、ネットワークアーキテクチャ200の一実施例のブロック図である。クライアントシステム210、220、及び230は、一般に、
図1のコンピュータシステム110などの、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。一実施形態において、クライアントは、サーバシステム上で実行され、このサーバは、負荷分散を実施するトラフィック方向機能性を含み得る。
【0033】
同様に、サーバ240及び245は、一般に、様々なデータベースサービスを提供し、及び/又は特定のソフトウェアアプリケーションを実行するように構成されたアプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク250は、一般に、例えば、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。
【0034】
図2に図示されるように、1つ以上の記憶デバイス260(1)〜(L)は、サーバ240に直接的に接続され得る。同様に、1つ以上の記憶デバイス270(1)〜(N)は、サーバ245に直接的に接続され得る。記憶デバイス260(1)〜(L)及び記憶デバイス270(1)〜(N)は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。記憶デバイス260(1)〜(L)及び記憶デバイス270(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)などの様々なプロトコルを使用して、サーバ240及び245と通信するように構成されたネットワーク接続記憶(NAS)デバイスを表し得る。
【0035】
サーバ240及び245はまた、記憶エリアネットワーク(SAN)ファブリック280に接続され得る。SANファブリック280は、一般に、記憶デバイス間での通信を容易にすることができる任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック280は、サーバ240及び245と記憶デバイス290(1)〜(M)及び/又は知的記憶アレイ295との間の通信を容易にし得る。SANファブリック280はまた、デバイス290(1)〜(M)及びアレイ295が、クライアントシステム210、220、及び230にローカル接続されるデバイスとして表示される様態で、ネットワーク250並びにサーバ240及び245を介して、クライアントシステム210、220、及び230と記憶デバイス290(1)〜(M)及び/又は知的記憶アレイ295との間の通信を容易にし得る。記憶デバイス260(1)〜(L)及び記憶デバイス270(1)〜(N)と同様に、記憶デバイス290(1)〜(M)及び知的記憶アレイ295は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。
【0036】
図1のコンピューティングシステム110を参照すると、通信インターフェース122などの通信インターフェースを使用して、各クライアントシステム210、220、及び230とネットワーク250との間の接続を提供し得る。クライアントシステム210、220、及び230は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ240又は245上の情報にアクセスすることが可能であり得る。そのようなソフトウェアは、クライアントシステム210、220、及び230がサーバ240、サーバ245、記憶デバイス260(1)〜(L)、記憶デバイス270(1)〜(N)、記憶デバイス290(1)〜(M)、又は知的記憶アレイ295によってホストされるデータにアクセスすることを可能にし得る。
図2は、データを交換するためのネットワーク(インターネットなど)の使用を描写しているが、本明細書に記載される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【0037】
図2に戻ると、一実施形態において、本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部分は、コンピュータプログラムとして符号化され、サーバ240、サーバ245、記憶デバイス260(1)〜(L)、記憶デバイス270(1)〜(N)、記憶デバイス290(1)〜(M)、知的記憶アレイ295、又はそれらの任意の組み合わせ上にロードされ、それによって実行される。本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部分は、コンピュータプログラムとして符号化され、サーバ240に記憶され、サーバ245によって実行され、ネットワーク250を通じてクライアントシステム210、220、及び230に分散され得る。結果的に、ネットワークアーキテクチャ200は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載される動作の1つ以上を実施し得、かつ/又はそれらを実施するための手段であり得る。ネットワークアーキテクチャ200はまた、本開示に記載される他の動作及び機能を実施するように、及び/又はそれらを実施するための手段であるように使用され得る。
【0038】
結果的に、第1のホストシステムから本開示の実施形態は、フェイルオーバープロトコルと互換性のある第2のホストシステムにLPARを移行するために使用される移行シーケンスの実装を示し、第2のホストシステム上における移行されたLPARの故障が、第1のホストシステム上に戻って動作するために利用可能となる。本開示の他の実施形態は、上記の利点を提供し、特にLPARが第1のホストシステムから第2のホストシステムに移行された場合に、複数のホストシステム上で高可用性を実現する仮想LPAR上で実行されているアプリケーションを更に提供する。本開示の更に他の実施形態は、上記の利点を提供し、かつアプリケーションのクラスタ全体での可用性を提供するようにその構成を初期化するために、仮想LPARの移行後にホストシステムの停止時間を最短化することを更に提供する。
【0039】
図3は、1つ以上のLPARを備える1つ以上のホストシステム又はコンピューティングリソース(以下、「ホスト」又は「ホストシステム」と称される)を含むクラスタサーバ環境300のブロック図であり、ここでは、LPARが、本発明の一実施形態に従って、フェイルオーバー条件下でLPARの可用性を維持しながら、ホストからホストに移行されることが可能である。クラスタサーバ環境は、一実施形態において、
図2に示したネットワークアーキテクチャ200内で実装可能である。
【0040】
図3に示すように、クラスタサーバ環境300は、第1のホストA及び第2のホストBを含み、いずれも物理的コンピューティングリソースである。ホストA及びBの各々のハードウェアリソースは、各LPARがコンピューティングリソースの仮想インスタンスである、1つ以上の論理区画(LPAR)に論理的に区画される。例えば、ホストAは、LPAR−1 311、LPAR−2 312、及び最大LPAR−N 313に次々と区画される。また、ホストBは、LPAR−1 321、LPAR−2 322、及び最大LPAR−N 323に次々と区画される。
【0041】
所定のホスト内のLPARは、仮想入力/出力サーバ(VIOS)によって提供される仮想化層を介して仮想化される。具体的には、VIOSは、記憶装置及びネットワークの仮想化を提供し、また、物理ハードウェアを使用せずに、仮想LPAR間の通信を容易にする。例えば、一実施形態において、VIOSは、そのホストシステム内のLPAR間の入力/出力(I/O)通信を容易にするために、かつ物理SCSIアダプタを介して外部デバイス(共有記憶装置350内のディスク又は外部ユニット330及び340など)との通信を容易にするために、仮想SCSIアダプタを含む。他の実施形態は、仮想イーサネットアダプタ、仮想ファイバチャネルアダプタ、仮想シリアルアダプタなどの、LPARによって使用される動作環境に応じて、他の仮想化された通信デバイスの実装を提供するのに好適である。
図3に示すように、ホストA内のLPAR 311、312、及び313が、VIOS 319を通じて仮想化される。また、ホストB内のLPAR 321、322、及び323が、VIOS 329を通じて仮想化される。
【0042】
加えて、クラスタサーバ環境300は、ホストデバイス(例えば、ホストA及びホストB)のうちの1つ以上を構成し、制御するために使用されるハードウェア管理コンソール(HMC)を含む。特に、HMC 360は、所定のホストシステム内でLPARを作成及び管理するためにインターフェースとして用いられる。いくつかの実施形態において、HMC 360は、両方のホストシステムの協力を得て、あるホストシステムから別のホストシステムへのLPARの移行を容易にする。
【0043】
HMC 360は、所定のLPARの構成を定義する区画プロファイルを作成する役割を担う。例えば、プロファイルは、論理区画に割り当てられたシステムリソース(例えば、プロセッサリソース、メモリリソース、I/Oリソースなど)を定義し、かつ論理区画に割り当てられた最小量及び最大量の物理システムリソースなどの情報を含む。HMC 360は、クラスタサーバネットワーク300全体にわたってLPAR及びそれらのプロファイルの実装を管理する。しかしながら、HMC 360は、あるホストから別のホストへのLPARの移行を提供し、それを容易にするように、かつあるホストから別のホストへのLPARのフェイルオーバーを可能にするように構成される。
【0044】
更に、各ホストシステムは、ホストシステム間のクラスタ認識を実装する専用のLPARにおけるクラスタサーバモジュールを含む。これらのクラスタサーバモジュールは、High Availability(HA)モジュールと称され、HAモジュールが一緒に動作して、クラスタサーバ環境300全体にわたってLPARのフェイルオーバープロトコル及び高可用性、並びにそれらの対応するアプリケーションを提供することができるように、互いに通信する。一実施例として、Veritas Cluster Server(VCS)は、物理及び/又は仮想マシンのクラスタ上で高可用性を実現するために、コンピューティングリソース(例えば、LPAR)のクラスタを管理する。例えば、ホストAはHA 315を含み、ホストBはHA 325を含み、ホストAのHA 315は、フェイルオーバー及び高可用性プロトコルの実装を提供するように、ホストBのHA 325と通信するように構成される。つまり、HA 315及び325の実装を通して、1つのホストシステム内のLPARは、フェイルオーバー及び/又は高可用性プロトコルの実装を通して故障状態下で別のホストシステム内で利用可能となる。
【0045】
加えて、クラスタサーバ環境300は、共有記憶装置350を含む。一実装形態において、共有記憶装置は、記憶装置の1つ以上の物理ディスク(ディスク1、2、...N)を含む。共有記憶装置350内のディスクは、クラスタサーバ環境300全体にわたってLPARの各々のためのメモリリソースを含む。加えて、共有記憶装置350内のディスクは、クラスタサーバ環境300全体にわたって仮想化されたLPARの各々ためのオペレーティングシステムを含む。そのようにして、故障したホストシステム上に存在するアクティブインスタンスLPARのオペレーティングシステムは、LPARを第2のホストシステムで起動することができるように、フェイルオーバープロトコルの使用を通して復旧され得る。特定のLPARに利用可能なディスクを作成するために、そのディスクは、対応するVIOSの特定のサーバ仮想SCSIアダプタに割り当てられる又はマップされる。例えば、共有記憶装置350内のディスク1は、VIOS 319内で適切なマッピングを通して、ホストAのLPAR−1 311に割り当てられ得る、マップされ得る、又は関連付けられ得る。
【0046】
図4は、本発明の一実施形態に従った、第1のホスト(例えば、ホストA)から第2のホスト(例えば、ホストB)へのLPAR(例えば、LPAR−1)の移行、及びクラスタサーバ環境内の第1のホストに戻るLPAR(例えば、LPAR−1)のフェイルオーバーを描写するデータフロー
図400である。一実施形態において、LPAR−1の移行及びフェイルオーバーは、
図3のクラスタサーバ環境300内で実装可能である。
【0047】
図4に示すように、ホストAは、LPAR−lのアクティブインスタンスを含む。加えて、ホストAは、ホストAのLPAR間の通信を容易にするために、並びにホストAで提供されるリソースなどの外部デバイスとの通信を容易にするためにVIOS 425を含む。LPAR−1は、HMCモジュール460を通して作成されるプロファイルに関連付けられている。
【0048】
HMCモジュール460の支援を通して、ホストA上に存在するLPAR−1は、移行プロトコルを使用して、ホストBに移行される。LPAR−1プロファイルのアクティブインスタンスもまた、ホストBに移行される。具体的には、HMCモジュール460は、ホストA及びBの両方の協力を得て、LPAR−1の移行を調整する。そのようにして、HMCモジュール460は、LPAR−1の単一のインスタンスが、2つのホストコンピューティングリソース間の移行中にアクティブであることを可能にする。
【0049】
本発明の実施形態は、移行プロトコルとフェイルオーバー(及び/又は高可用性)プロトコルとの間の互換性を提供する。つまり、ホストBへのLPAR−1の移行が成功した後、LPAR−1に障害が発生した又はそれが故障した、ホストB自体に障害が発生した又はそれが故障した場合、本発明の実施形態は、特にホストBが非アクティブである可能性があるため、ホストA及びホストBの両方の協力を得ずに、ホストA上に戻ったLPAR−1をアクティブにするために、フェイルオーバーシーケンス及び/又はプロトコルを実装することができる。フェイルオーバー及び/又は高可用性プロトコルの実装は、ホストシステムの各々の対応するHAモジュール(図示せず)を通して容易になる。
【0050】
図5は、本発明の一実施形態に従った、フェイルオーバー条件下でLPARの可用性を維持しながらの、LPAR移行のコンピュータ実装方法を示すフロー
図500である。別の実施形態において、フロー
図500は、プロセッサと、プロセッサに結合され、コンピュータシステムによって実行された場合、システムにLPAR移行のための方法を実行させる命令を中に記憶したメモリとを含む、コンピュータシステム内で実装される。更に別の実施形態において、本方法を実施するための命令は、フロー
図500によって概説されるように、コンピュータシステムにLPAR移行のための方法を実施させるコンピュータ実行可能命令を有する非一時的コンピュータ可読記憶媒体に記憶される。フロー
図500の動作は、本発明の実施形態において、
図3のクラスタサーバ環境300内で、及び
図4のデータフロー
図400内で、実装される。より具体的には、LPAR移行の方法は、対応するホストデバイスのVIOS及びHAモジュール内で実装可能であり、本方法は、本発明の実施形態において、フェイルオーバープロトコルの実装を可能にし、それと互換性がある。
【0051】
510において、本方法は、第1のホストシステム上でアクティブであるLPARのための第1のプロファイルを作成することを含む。ホストシステムは、1つ以上のLPARを含み、かつVIOSなどの、LPARの仮想化を容易にするための他の構成要素を含む。いくつかの実施形態において、移行プロトコルのフェイルオーバープロトコルとの互換性は、その構成を通して単一のホストデバイスで開始して、実装される。
【0052】
より具体的には、520において、第1のプロファイル内で、本方法は、第1のホストシステムを介して、LPARの仮想SCSIアダプタのクライアントポートを、LPARの仮想化を調整するVIOSの仮想SCSIアダプタのサーバポートにマップすることを含む。そのようにして、LPARは、VIOSの仮想SCSIアダプタ上の特定のサーバポートと通信する必要があることを理解する。
【0053】
530において、VIOSのサーバポートは、第1のホストシステムの1つ以上のLPARのクライアントの仮想SCSIアダプタの任意のポートを受け入れるように設定されている。つまり、SCSIポートは、一般的に、LPARのいずれかに割り当てられ、一対一では割り当てられていない。一実施形態において、ポートは、「任意のスロット/任意の区画」に割り当てられる。このようにして、VIOSの仮想SCSIアダプタのサーバポートに関連付けられるマッピングは、SCSIポートが一般的に割り当てられるため、HMCによって実装された任意の移行プロトコルを通して削除されない。一方で、VIOSのサーバSCSIポートが、VIOS内でLPARのクライアントSCSIポートに割り当てられたとき、そのLPARが移行されたとき、そのマッピング情報は、自動的に削除され、それによって、任意のフェイルオーバープロトコルが、フェイルオーバープロトコルの実装後、大幅な停止時間を伴わずに現在の第1のホストシステムにLPARを戻すことに失敗しないようにする。
【0054】
540において、第1のホストシステムのVIOS内で、本方法は、VIOSのSCSIアダプタのサーバポートをデバイス名(すなわち、LPAR)にマップすることを含む。加えて、VIOSのSCSIアダプタのサーバポートは、LPARのためのオペレーティングシステムを含むディスクなどのターゲットデバイスにマップされ、ディスクが共有記憶装置内に含まれる。VIOS内のSCSIアダプタのサーバポートは、一般的に、任意のLPAR(例えば、任意のスロット/任意の区画)を受け入れるように設定されているため、基盤となるマッピングはまた、別のホストシステム(例えば、第2のホストシステム)にLPARを移行するとき、消去されずに、保持される。
【0055】
加えて、第1のホストシステム上でアクティブなLPARのための第1のプロファイルのバックアッププロファイルもまた作成される。バックアッププロファイルはまた、第1のホストシステムを通してLPARの仮想SCSIアダプタの対応するクライアントポートを、LPARの仮想化を調整するVIOSの仮想SCSIアダプタの対応するサーバポートにマップする。また、第1のホストシステム上に位置するバックアッププロファイルは、LPARのためのオペレーティングシステムを含む共有記憶装置内の同じディスクにマップされる。バックアッププロファイルは、第1のプロファイル(例えば、異なるプロファイル名)から個別に参照され、また、第1のホストシステム上に位置する。同様に、バックアッププロファイルが、第1のホストシステムに対して内部にあるバックアップとして機能する。
【0056】
加えて、フェイルオーバーの目的で、第1のホストシステム上でアクティブであるLPARの第1のプロファイルはまた、第2のホストシステム上に作成される。第2のホストシステム上に位置するLPARのこの第2のプロファイルは、同様に、第1のホストシステム上の第1のプロファイルとして参照される(例えば、同じプロファイル名)。例えば、第2のプロファイルは、ポートSCSIアダプタのマッピングに類似するポートを提供し、また、基盤となるLPARのためのオペレーティングシステムを含む共有記憶装置内の同じディスクにマップされる。同様に、LPARが第1のホストシステム上で故障した場合、LPARは、第1のホストシステムと第2のホストシステムとの間の協力を得ずに第2のプロファイルを使用して第2のホストシステムにフェイルオーバーできる。
【0057】
更に、第2のホストシステム上のLPARのための第2のプロファイルのバックアッププロファイルもまた作成される。バックアッププロファイルはまた、第2のホストシステムを通してLPARの仮想SCSIアダプタの対応するクライアントポートを、LPARの仮想化を調整するVIOSの仮想SCSIアダプタの対応するサーバポートにマップする。第2のホストシステム上のバックアッププロファイルはまた、基盤となるLPARのためのオペレーティングシステムを含む共有記憶装置内の同じディスクにマップされる。第2のホストシステム上のバックアッププロファイルは、第2のプロファイル(例えば、異なるプロファイル名)とは別に参照され、第2のホストシステム上に位置する。同様に、バックアッププロファイルが、第2のホストシステム上に位置する第2のプロファイルに対して内部バックアップとして機能する。
【0058】
図6A〜Bは、LPAR移行及びファイルオーバーのコンピュータ実装方法を示すフロー
図600の説明図であり、ここでは、LPARが、本発明の一実施形態に従って、フェイルオーバー条件下でLPARの可用性を維持しながら、ホストからホストに移行されることが可能である。フロー
図600は、フェイルオーバープロトコルとの互換性を確保するために、第1のホストからの第2のホストへLPARを移行するときに実行される動作を示す。別の実施形態において、フロー
図600は、プロセッサと、プロセッサに結合され、コンピュータシステムによって実行された場合、システムにLPAR移行及びフェイルオーバーのための方法を実行させる命令を中に記憶したメモリとを含む、コンピュータシステム内で実装される。更に別の実施形態において、方法を実施するための命令は、フロー
図600によって概説されるように、コンピュータシステムにLPAR移行及びフェイルオーバーのための方法を実施させるコンピュータ実行可能命令を有する非一時的コンピュータ可読記憶媒体に記憶される。フロー
図600の動作は、本発明の実施形態において、
図3のクラスタサーバ環境300内で、及び
図4のデータフロー
図400内で、実装される。より具体的には、LPAR移行の方法は、対応するホストデバイスのVIOS及びHAモジュール内で実装可能であり、本方法は、本発明の実施形態において、フェイルオーバープロトコルの実装を可能にし、それと互換性がある。
【0059】
フロー
図600全体を通して、プロファイル名が参照される。プロファイル名に与えられたあらゆる特定の表記は、例示のみに使用され、プロファイルのその表記の名前を限定することを意図していない。これらの参照は、代わりに、異なるホストデバイス上に存在するプロファイル名間の区別を示すことを意図している。
【0060】
610において、プロファイルは、第1のホストシステム(「ホストA」)上でアクティブなLPAR−1のために作成される。プロファイルは、「PRO LPAR−1(ホストA)」と称され、本出願全体に通じる規則として、名前は、「PRO LPAR−1」と定義され、「(ホストA)」は、プロファイル「PRO LPAR−1」がホストA内に記憶されていることを示す。加えて、LPAR−1の観点から、プロファイルは、ホストA内のLPARの仮想化を提供する、対応するVIOSの仮想SCSIアダプタの特定のサーバポート(例えば、ポートX)にマップされるClient Virtual SCSIアダプタからなる。例えば、プロファイル「PRO LPAR−1(ホストA)」は、HMCモジュールの支援により作成される。
【0061】
620において、LPAR−1に関連付けられるSCSIアダプタの対応するサーバポートXは、ホストA上のVIOS内のLPARのSCSIアダプタの任意の一般的なポートを受け入れるように設定される。例えば、LPARが、クラスタ環境内で管理される(VCSによって管理されるなど)とき、サーバ仮想SCSIアダプタのポートXは、VIOS内で「任意のスロット/任意の区画に設定される。加えて、ホストAのためのVIOSの仮想SCSIアダプタのサーバポートXは、LPAR−1内で正しいクライアントSCSIアダプタにマップされる。また、ホストA内のVIOSのための仮想SCSIアダプタ内のサーバポートXはまた、共有記憶装置内で適正なディスクにマップされ、このディスクは、LPAR−lのためのオペレーティングシステムを含む。このようにして、任意のLPARの任意のスロットを受け入れるようにサーバポートXを一般的に設定することによって、ホストA内のLPARがホストBに移行されるとき、ホストAのVIOS内の仮想SCSIアダプタのサーバポートXの基盤となるマッピングは削除されない。
【0062】
クラスタの認識及び高可用性の目的で、615において、LPAR−1のプロファイルはまた、第2のホストシステム(ホストB)上に作成される。具体的には、第2のプロファイルは、フェイルオーバープロトコルを実装する目的で、第2のホストシステム(例えば、ホストB)でLPAR−1用に作成される。プロファイルは、「PRO LPAR−1(ホストB)」と称され、プロファイル名は「PRO LPAR−1」として定義され、「(ホストB)」は、プロファイル「PRO LPAR−1」がホストB内に記憶されていることを示す。定義されるように、ホストA及びB内に記憶されるLPARのためのプロファイルも同様に参照される。また、「PRO LPAR−1(ホストA)」に含まれる情報が、「PRO LPAR−1(ホストB)」の情報に類似するように、両方のLPAR−1プロファイルは、類似している。例えば、プロファイル「PRO LPAR−1(ホストB)」は、BHMCモジュールの支援により作成される。ホストB内のLPAR−1のためのプロファイルは、アクティブでない。加えて、LPAR−1の観点から、プロファイルは、ホストA内のLPARの仮想化を提供する、対応するVIOSの仮想SCSIアダプタの特定のサーバポート(例えば、ポートX)にマップされるClient Virtual SCSIアダプタからなる。
【0063】
622において、ホストBで、非アクティブなLPAR−1に関連付けられるSCSIアダプタのサーバポートXは、ホストB上のVIOS内のLPARのSCSIアダプタの任意の一般的なクライアントポートを受け入れるように設定される。例えば、LPARが、クラスタ環境内で管理される(VCSによって管理されるなど)とき、仮想SCSIアダプタのサーバポートXは、VIOS内で「任意のスロット/任意の区画」に設定される。加えて、ホストBのためのVIOSの仮想SCSIアダプタのサーバポートXは、非アクティブなLPAR−1内で正しいクライアントSCSIアダプタにマップされる。また、ホストB内のVIOSのための仮想SCSIアダプタ内のサーバポートXはまた、共有記憶装置内の適正なディスクにマップされ、ディスクは、LPAR−1のためのオペレーティングシステムを含む。同様に、ホストB上で作成されたLPAR−1のための第2のプロファイルは、基盤となるLPAR−1のためのオペレーティングシステムを含む共有記憶装置内のディスクにマップされる。
【0064】
625において、LPAR−1のためのバックアッププロファイルが、ホストAで作成される。このバックアッププロファイルは、移行後に、フェイルオーバーの目的で、ホストA内の内部バックアップとして機能する。このプロファイルは、「PRO−BACK LPAR−1(ホストA)」と称される。例えば、バックアッププロファイルは、HMCモジュールの支援により作成される。定義されるように、バックアッププロファイルのプロファイル名(PRO BACK LPAR−1)は、LPAR−1のための元々名前を付けられたプロファイル(PRO LPAR−1)と同じではない。ホストA上のバックアッププロファイルはまた、基盤となるLPARのためのオペレーティングシステムを含む共有記憶装置内の同じディスクにマップされる。ホストA内のLPAR−1のためのバックアッププロファイルは、アクティブでない。
【0065】
630において、LPAR−1のためのバックアッププロファイルが、ホストBで作成される。このバックアッププロファイルは、移行後に、フェイルオーバーの目的で、ホストB内の内部バックアップとして機能する。プロファイルは、「PRO−BACK LPAR−1(ホストB)」と称される。例えば、バックアッププロファイルは、HMCモジュールの支援により作成される。定義されるように、バックアッププロファイルの名前(PRO BACK LPAR−1)は、ホストB上のLPAR−1のための元々名前を付けられたプロファイル(PRO LPAR−1)と同じではない。ホストB上のバックアッププロファイルはまた、基盤となるLPARのためのオペレーティングシステムを含む共有記憶装置内の同じディスクにマップされる。ホストB内のLPAR−1のためのバックアッププロファイルは、アクティブでない。
【0066】
635において、ホストAのVIOSが再起動される。任意の今後の移行及び/又はフェイルオーバーシーケンスが実施される前に、これは、構成の設定がインスタンス化されるように実行される。そのようにして、構成が設定された後に今後の移行及び/又はフェイルオーバーシーケンスがいつ実行されようとも、ホストAによって経験される関連付けられた停止時間は存在しない。加えて、ホストBのVIOSは、637において再起動される。あらゆる今後の移行及び/又はフェイルオーバーシーケンスが実施される前に、これは、構成の設定がインスタンス化されるように実行される。そのようにして、構成が設定された後にどのような今後の移行及び/又はフェイルオーバーシーケンスが実行されようとも、ホストBにより経験される関連付けられた停止時間は存在しない。
【0067】
640において、移行シーケンスが開始される。例えば、クラスタサーバ環境のHMCモジュールは、ホストAからホストB上へのLPAR−1の移行を実施することが可能である。LPAR移行を実装する典型的なシナリオは、ホストA内のコンピューティングリソースがメンテナンスを受けているときである。その場合、ホストA内のLPARは、それらのLPARでサポートされているアプリケーションが依然として利用可能であるように、ホストBに移行される。
【0068】
加えて、643において、ホストBで、クラスタ認識の目的で作成されたLPAR−1のためのプロファイルは、名前が変更される。そのようにして、ホストA上のLPAR−1のために保存されたプロファイルは、ホストBに記憶されているLPAR−1のためのプロファイルとは別に参照される。例えば、プロファイル「PRO LPAR−1(ホストB)」は、ホストA及びホストBに保存されているLPAR−1のプロファイルが個別に参照されるように、「PRO−PRIME LPAR−1(ホストB)」と名前が変更される。ホストBが、同様に参照されるプロファイル(例えば、同じ名前)を既に有している場合、HMCが、ホストAからホストBにLPAR及びそれに関連付けられたプロファイルを移行し得ないので、プロファイルのこの名前の変更は、移行シーケンスが発生するように達成される。すなわち、クラスタサーバ環境において、移行中に、移行先ホストサーバ(例えば、ホストB)上に同じ名前を有するプロファイルが見つかった場合、移行プロトコルの検証(例えば、LPM検証の実装)は、失敗する。名前が変更されたプロファイル「PRO−PRIME LPAR−1(ホストB)は、移行が失敗した場合、LPAR−1に対するバックアッププロファイルとして更に機能する。
【0069】
645において、LPAR−1は、ホストAからホストBに移行される。より具体的には、LPAR−1、PRO LPAR−1(ホストA)のためのプロファイル内で継続される情報は、ホストBに移行される。
【0070】
図6Bに続けて、フロー
図600のコネクタAを通して、650において、LPAR−1のためのプロファイルは、ホストAからホストBに移行される。LPAR−1のアクティブインスタンスのためのホストB上に記憶されている新しいプロファイルは、「PRO LPAR−1(ホストB)」と称される。例えば、移行シーケンス中に、HMCモジュールを使用して、ホストB内に新規のプロファイル「PRO LPAR−1(ホストB)」を作成する。
【0071】
655において、ホストAからホストBへのLPAR−1の移行が成功したかどうかを判定するために、ホストBに関連付けられた試験が実施される。LPAR−1の移行が成功した場合、フロー
図600は、660に進む。一方、LPAR−1の移行が不成功であった場合、フロー
図500は、680に進む。
【0072】
例えば、移行が成功した後、660において、LPAR−1及びそのプロファイルのインスタンス(例えば、「PRO LPAR−1(ホストA))が、自動的にホストAから削除される。加えて、665において、ホストAで作成されたバックアッププロファイルは、クラスタ対応及びフェイルオーバーの目的で、名前が変更される。すなわち、LPAR−1のためのバックアッププロファイルは、ホストAで復元され、再び「PRO LPAR−1(ホストA)」と称される。例えば、名前の変更は、HMCモジュールを用いて実施される。プロファイル「PRO−LPAR−1(ホストA)」は、アクティブではない。
【0073】
670において、ホストB上で作成されたバックアッププロファイル「PRO−PRIME LPAR−1(ホストB)が、ある実装において、任意に削除される。別の実装において、バックアッププロファイルが、LPAR−lへのプロファイルの移行後、フェイルオーバーを提供する目的で維持される。
【0074】
一方、LPAR−1の移行が不成功であった場合、ホストA上のLPAR−1は、引き続きアクティブである必要がある。具体的には、680において、移行に成功しなかった後、ホストB上のバックアッププロファイル「PRO−PRIME LPAR−1(ホストB)は、クラスタ対応の目的で、「PRO LPAR−1(ホストB)」に名前が戻される。同様に、フェイルオーバーの場合、LPAR−1は、ホストBにフェイルオーバーすることができる。一実施形態において、これは、移行するイベントに登録されることにより、VCSスクリプトを介して達成される。
【0075】
このように、本開示の実施形態に従って、クラスタサーバプロトコルにおけるLPARフェイルオーバー機能(例えば、VCS)が、移行の成功後、フェイルオーバーシーケンスの適正な実装を確保するように他のLPAR移行プロトコルと互換性があるシステム及び方法が記載される。
【0076】
先述の開示は、特定のブロック図、フロー図、及び実施例を使用して様々な実施形態を説明するが、本明細書に記載される及び/又は図示される各ブロック図の構成要素、フロー図の工程、動作、及び/又は構成要素は、個別に及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(又はそれらの任意の組み合わせ)構成を使用して、実装され得る。更に、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャが同じ機能性を達成するために実装可能であるため、例示と見なされるべきである。
【0077】
本明細書に記載される及び/又は図示されるプロセスパラメータ及び工程の順序は、単なる例として提供され、所望に応じて変更することができる。例えば、本明細書に図示される及び/又は記載される工程が特定の順序で示される又は考察されるが、これらの工程は、必ずしも図示される又は考察される順序で実施される必要はない。本明細書に記載される及び/又は図示される様々な例示的な方法はまた、本明細書に記載される及び/又は図示される工程のうちの1つ以上を省略してもよく、又は開示されるものに加えて追加の工程を含んでもよい。
【0078】
種々の実施形態が、完全に機能的なコンピューティングシステムに関連して本明細書に記載され及び/又は図示されているが、これら例示的な実施形態のうちの1つ以上は、実際に配布を行うために使用されるコンピュータ可読記憶媒体の特定のタイプに関わらず、多様な形態のプログラム製品として配布され得る。本明細書に開示の実施形態はまた、一定のタスクを実施するソフトウェアモジュールを使用して実装され得る。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータで読み取り可能な記憶媒体上若しくはコンピューティングシステムに記憶され得る、他の実行可能なファイルを含んでもよい。これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するようにコンピューティングシステムを構成し得る。本明細書に開示されたソフトウェアモジュールのうちの1つ以上は、クラウドコンピューティング環境で実装され得る。クラウドコンピューティング環境は、インターネットを介して様々なサービス及びアプリケーションを提供し得る。これらのクラウドに基づくサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載される様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【0079】
先述の記載は、説明のために特定の実施形態を参照して説明してきた。しかしながら、上の例示的な考察は、網羅的であること、又は開示された厳密な形態に本発明を制限することを意図していない。上述の教示を考慮して、多くの修正及び変更が可能である。実施形態は、本発明の原理及びそれらの実践上の用途を最も良く説明するために選択かつ記載され、それによって、他の当業者が、企図される特定の用途に好適であり得る様々な修正を用いて、本発明及び様々な実施形態を最大限に利用することを可能にする。
【0080】
したがって、本開示に従う実施形態が説明されている。本開示を特定の実施形態において説明してきたが、開示がこのような実施形態によって限定されると解釈されるべきではなく、以下の特許請求に従って解釈されるべきであることを理解すべきである。