(57)【要約】      （修正有）【課題】モビリティ動作リソース割り当てのための方法を提供する。【解決手段】第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートする要求を受信し、少なくとも１つの性能ベースのモビリティ設定および少なくとも１つの同時実行性ベースのモビリティ設定を含む複数のモビリティ設定を示す調節可能リソース割り当てモビリティ設定インタフェースを表示し、インタフェースを介して、マイグレーションに利用するリソース割り当てを規定するモビリティ設定の選択を受信し、選択されたモビリティ設定によって設定されたようにリソースを用いて第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートする。【選択図】図５
2014096136.tif 000002
【特許請求の範囲】
【請求項１】
第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートする要求を受信するステップと、
少なくとも１つの性能ベースのモビリティ設定および少なくとも１つの同時実行性ベースのモビリティ設定を含む複数のモビリティ設定を示す調節可能リソース割り当てモビリティ設定インタフェースを表示するステップと、
前記インタフェースを介して、前記マイグレートに利用するリソース割り当てを規定するモビリティ設定の選択を受信するステップと、
前記選択されたモビリティ設定によって設定されたようにリソースを用いて前記第１のマシンから前記第２のマシンに前記実行中のアプリケーションをマイグレートするステップと、
を含む、方法。
【請求項２】
前記選択されたモビリティ設定に基づいて前記第１のマシンと前記第２のマシンとの間のリソース割り当てのバランスをネゴシエートするステップを更に含む、請求項１に記載の方法。
【請求項３】
前記選択されたモビリティ設定に基づいて前記マイグレートのためのメモリ・リソース割り当てを識別するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記選択されたモビリティ設定に基づいて前記マイグレートのためのプロセッサ利用を決定するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記性能ベースのモビリティ設定のために、前記同時実行性ベースのモビリティ設定よりも多くのメモリ・リソースを割り当てるステップと、
前記メモリ・リソースを管理するため、前記性能ベースのモビリティ設定のために、前記同時実行性ベースのモビリティ設定よりも多数のスレッドを割り当てるステップと、
を更に含む、請求項１に記載の方法。
【請求項６】
前記モビリティ設定によって示されるリソース割り当てに対応した利用不可能リソースを識別したステップに応答して、前記モビリティ設定を自動的に無効にするステップを更に含む、請求項１に記載の方法。
【請求項７】
実行中のアプリケーションを有する第１のマシンと、
前記第１のマシンから第２のマシンへの前記実行中のアプリケーションのマイグレートを管理するように動作可能な管理コンソールであって、
複数の選択可能モビリティ設定を含むインタフェースを表示し、各モビリティ設定が前記マイグレートに利用する所望のリソース割り当てに対応し、
前記インタフェースを介して、前記実行中のアプリケーションのマイグレートに適用するモビリティ設定の選択を受信し、
前記選択されたモビリティ設定によって設定されたようにリソースを用いて前記第１のマシンから前記第２のマシンへの前記実行中のアプリケーションのマイグレートを開始する、
ように動作可能である管理コンソールと、
を含む、システム。
【請求項８】
前記選択されたモビリティ設定に基づいて前記第１のマシンと前記第２のマシンとの間のリソース割り当てのバランスをネゴシエートするように動作可能である少なくとも１つの仮想入出力サーバ（ＶＩＯＳ）・パーティションを更に含む、請求項７に記載のシステム。
【請求項９】
前記第１または第２のマシンのいずれかで利用不可能リソースを識別したことに応答して、前記ＶＩＯＳパーティションが、前記選択されたモビリティ設定によって示される前記リソース割り当てを自動的に無効にするように動作可能である、請求項８に記載のシステム。
【請求項１０】
前記選択されたモビリティ設定に基づいて前記マイグレートのためのメモリ・リソース割り当てを識別するように動作可能である割り当てモジュールを更に含む、請求項７に記載のシステム。
【請求項１１】
前記割り当てモジュールが、前記選択されたモビリティ設定に基づいて前記マイグレートのためのプロセッサ・リソース割り当てを識別するように動作可能である、請求項１０に記載のシステム。
【請求項１２】
前記インタフェースが、性能ベースのリソース割り当てに対応する第１のモビリティ設定と、同時実行性ベースのリソース割り当てに対応する第２のモビリティ設定と、を示すように構成されている、請求項７に記載のシステム。
【請求項１３】
請求項１〜６の何れか１項に記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。
【請求項１４】
前記コンピュータ・プログラムを、コンピュータ可読記録媒体に記録した、記録媒体。
【請求項１５】
第１のマシンから第２のマシンに複数の論理パーティションをマイグレートする要求を受信するステップと、
複数のモビリティ設定を示す調節可能リソース割り当てモビリティ設定インタフェースを表示するステップであって、各モビリティ設定が前記マイグレートに利用する所望のリソース割り当てに対応する、ステップと、
前記インタフェースを介して、前記複数の論理パーティションの第１の論理パーティション・セットに適用する第１のモビリティ設定と、前記複数の論理パーティションの第２の論理パーティション・セットに適用する第２のモビリティ設定と、を受信するステップと、
前記第１および第２のモビリティ設定の各々によって設定されたように前記リソース割り当てを用いて前記第１のマシンから前記第２のマシンへの前記第１および第２の論理パーティション・セットのマイグレートを開始するステップと、
を含む、方法。
【請求項１６】
前記第１のモビリティ設定が性能ベースのモビリティ設定であり、前記第２のモビリティ設定が同時実行性ベースのモビリティ設定である、請求項１５に記載の方法。
【請求項１７】
前記第１および第２のモビリティ設定に基づいて前記第１のマシンと前記第２のマシンとの間のリソース割り当てのバランスをネゴシエートするステップを更に含む、請求項１５に記載の方法。
【請求項１８】
前記第１または第２のマシンのいずれかで利用不可能リソースを識別したことに応答して、前記第１または第２のモビリティ設定のいずれかによって示される前記リソース割り当てを自動的に無効にするステップを更に含む、請求項１７に記載の方法。
【請求項１９】
前記第１または第２のモビリティ設定に基づいて前記マイグレートのためのメモリ・リソース割り当てを識別するステップを更に含む、請求項１５に記載の方法。
【請求項２０】
前記第１または第２のモビリティ設定に基づいて前記マイグレートのためのプロセッサ・リソース割り当てを識別するステップを更に含む、請求項１９に記載の方法。
【請求項２１】
前記第１のモビリティ設定のために、前記第２のモビリティ設定よりも多くのメモリ・リソースを割り当てるステップと、
前記メモリ・リソースを管理するため、前記第１のモビリティ設定のために、前記第２のモビリティ設定よりも多数のスレッドを割り当てるステップと、
を更に含む、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モビリティ動作リソース割り当てのための方法に関する。 
【背景技術】
【０００２】
いくつかのデータ処理環境においては、あるコンピューティング環境から別のコンピューティング環境に、アプリケーションまたは作業負荷あるいはその両方をマイグレートする場合がある。例えば、システム仮想化は、単一のホスト（例えばコンピュータ、サーバ等）を、各々がオペレーティング・システムの別個のインスタンスまたはイメージを実行する多数のパーツまたはパーティションに分割することができる技術である。オペレーティング・システムのインスタンスまたはパーティションは、いくつかの方法で相互に分離または隔離されている。例えばパーティションは、それぞれ別個のファイル・システム、別個のユーザ、別個のアプリケーション、および別個のプロセスを有する。しかしながら、パーティションはホストのいくつかのリソースを共有することもある。例えばパーティションは、ホストのメモリ、カーネル、プロセッサ、ハード・ドライブ、または他のソフトウェア、ファームウェア、またはハードウェアあるいはそれら全てを共有することができる。このため、各パーティションまたはオペレーティング・システムのインスタンスは、そのユーザの観点からは別個のサーバまたはマシンのように見て感じることができる。これらのインスタンスは一般に「仮想」または「仮想化」マシンと称され、各パーティションは論理パーティション（ＬＰＡＲ：ｌｏｇｉｃａｌ  ｐａｒｔｉｔｉｏｎ）と称することができる。
【０００３】
一般に、１つのサーバまたはデータ処理は多数のＬＰＡＲのホストになることができる。また、これらのＬＰＡは、あるサーバまたはシステムから別のものに転送またはマイグレートされる場合がある。例えば、ハードウェアの更新または他のタイプの保守サービスを容易にするために、ＬＰＡＲをあるサーバから別のものにマイグレートし、この際にマイグレートしているＬＰＡＲのオペレーティング・システムおよびホストされるアプリケーションの実行を中断することがないので、中断なしにサービスの運用性を維持することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、本発明が解決しようとする課題は、モビリティ動作リソース割り当てのための方法、システム、コンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【０００５】
本開示の一態様によれば、モビリティ動作リソース割り当てのための方法および技法が開示される。この方法は、第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートする要求を受信することと、少なくとも１つの性能ベースのモビリティ設定および少なくとも１つの同時実行性ベースのモビリティ設定を含む複数のモビリティ設定を示す調節可能リソース割り当てモビリティ設定インタフェースを表示することと、インタフェースを介して、マイグレーションに利用するリソース割り当てを規定するモビリティ設定の選択を受信することと、選択されたモビリティ設定によって設定されたようにリソースを用いて第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートすることと、を含む。
【０００６】
本出願、その目的および利点を更に完全に理解するため、これより添付図面と組み合わせて以下の記載を参照する。
【図面の簡単な説明】
【０００７】
【図１】本開示の例示的な実施形態を実施可能であるデータ処理システムのネットワークの一実施形態である。
【図２】本開示の例示的な実施形態を実施可能であるデータ処理システムの一実施形態である。
【図３】本開示の例示的な実施形態を実施可能である、モビリティ動作リソース割り当てのためのデータ処理システムの一実施形態を示す図である。
【図４】本開示の例示的な実施形態を実施可能である、モビリティ動作リソース割り当てのためのデータ処理システムの別の実施形態を示す図である。
【図５】本開示に従った、モビリティ動作リソース割り当てのための方法の一実施形態を示すフロー図である。
【発明を実施するための形態】
【０００８】
本開示の実施形態は、モビリティ動作リソース割り当てのための方法、システム、およびコンピュータ・プログラムを提供する。例えば、いくつかの実施形態において、この方法および技法は、第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートする要求を受信することと、少なくとも１つの性能ベースのモビリティ設定および少なくとも１つの同時実行性ベースのモビリティ設定を含む複数のモビリティ設定を示す調節可能リソース割り当てモビリティ設定インタフェースを表示することと、インタフェースを介して、マイグレーションに利用するリソース割り当てを規定するモビリティ設定の選択を受信することと、選択されたモビリティ設定によって設定されたようにリソースを用いて第１のマシンから第２のマシンに実行中のアプリケーションをマイグレートすることと、を含む。本開示の実施形態によって、性能または同時実行性ありはその両方の要求に基づいて、アプリケーションのマイグレーションに用いるリソースを柔軟に選択することが可能となる。本開示の実施形態は、ユーザ／管理者がアプリケーションのマイグレーションのために性能ベースまたは同時実行性ベースあるいはその両方の設定を選択することができるインタフェースを利用し、これによって、性能が重要である場合に大きいパーティションの迅速な移動を行うこと、または、性能が重要でない場合に多数のアクティブでないパーティションを同時にマイグレートすること、あるいはその両方を実行する。本開示の実施形態によって、ユーザ／管理者がパーティションごとにモビリティ設定（複数の設定）を適用すること、更に、いくつかのパーティションのマイグレーションに優先順位を付けることを可能とする。
【０００９】
当業者には認められるであろうが、本開示の態様は、システム、方法、またはコンピュータ・プログラムとして具現化することができる。従って、本開示の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、「回路」、「モジュール」、または「システム」と一般的に称することができる。更に、本開示の態様は、具現化されたコンピュータ読み取り可能プログラム・コードを有する１つ以上のコンピュータ読み取り可能媒体（複数の媒体）において具現化されたコンピュータ・プログラムの形態を取ることも可能である。
【００１０】
１つ以上のコンピュータ使用可能媒体（複数の媒体）またはコンピュータ読み取り可能媒体（複数の媒体）のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例（非網羅的な列挙）は、以下を含む。すなわち、１本以上のワイヤを含む電気的接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかのタンジブルな媒体とすることができる。
【００１１】
コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラム・コードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。
【００１２】
コンピュータ読み取り可能媒体上で具現化されるプログラム・コードは、限定ではないが、無線、有線、光ファイバ・ケーブル、ＲＦ等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。
【００１３】
本開示の態様の動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む１つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で、実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、（例えばインターネット・サービス・プロバイダを用いてインターネットを介して）外部コンピュータに対して行うことができる。
【００１４】
本開示の実施形態に従った方法、装置（システム）、およびコンピュータ・プログラムのフローチャート図またはブロック図あるいはその両方を参照して、本開示の態様について以下に記載する。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施するための手段を生成するようになっている。
【００１５】
また、これらのコンピュータ・プログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置に特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施する命令手段を含む製造品を生成するようになっている。
【００１６】
また、コンピュータ・プログラム命令を、コンピュータまたは他のプログラマブル・データ処理装置にロードして、そのコンピュータまたは他のプログラマブル装置上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施するためのプロセスを提供するようになっている。
【００１７】
これより図面、具体的には図１および図２を参照して、本開示の例示的な実施形態を実施可能であるデータ処理環境の例示的な図を与える。図１および図２は単なる例示であり、異なる実施形態を実施可能である実施形態に関していかなる限定の主張も暗示も意図していないことは認められよう。図示する実施形態に対して多くの変更を行うことができる。
【００１８】
図１は、本開示の例示的な実施形態を実施可能であるデータ処理システムのネットワークを図で表したものである。ネットワーク・データ処理システム１００は、本開示の例示的な実施形態を実施可能であるコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１３０を含む。これは、ネットワーク・データ処理システム１００内で相互接続された様々なデバイスおよびコンピュータの間の通信リンクを提供するために用いられる媒体である。ネットワーク１３０は、有線通信リンク、無線通信リンク、または光ファイバ・ケーブル等の接続を含むことができる。
【００１９】
いくつかの実施形態においては、サーバ１４０およびサーバ１５０が、データ記憶１６０と共に、ネットワーク１３０に接続する。サーバ１４０およびサーバ１５０は、例えばＩＢＭ（登録商標）Ｐｏｗｅｒ  Ｓｙｓｔｅｍｓ（商標）サーバとすることができる。更に、クライアント１１０およびクライアント１２０がネットワーク１３０に接続する。クライアント１１０および１２０は、例えばパーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。図示する例では、サーバ１４０は、限定ではないが、データ・ファイル、オペレーティング・システム・イメージ、およびアプリケーション等のデータまたはサービスあるいはその両方を、クライアント１１０および１２０に提供する。ネットワーク・データ処理システム１００は、追加のサーバ、クライアント、および他のデバイスを含むことも可能である。
【００２０】
図示する例において、ネットワーク・データ処理システム１００はインターネットであり、ネットワーク１３０は、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコル・スイートを用いて相互に通信を行うネットワークおよびゲートウェイの全世界的な集合を表す。インターネットの中心にあるのは、主要なノードまたはホスト・コンピュータ間の高速データ通信ラインのバックボーンであり、データおよびメッセージをルーティングする何千もの民生用、政府用、教育用、および他のコンピュータ・システムから成る。むろん、ネットワーク・データ処理システム１００は、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）等の多数の異なるタイプのネットワークとして実施することも可能である。図１は、異なる例示的な実施形態のためのアーキテクチャの限定としてではなく、一例として意図するものである。
【００２１】
図２はデータ処理システム２００の一実施形態であり、これは例えば、限定ではないが、本開示に従ったモビリティ動作リソース割り当てのためのシステムの一実施形態を実施可能であるクライアント１１０またはサーバ１４０あるいはその両方である。この実施形態において、データ処理システム２００はバスまたは通信機構（ｆａｂｒｉｃ）２０２を含み、これは、プロセッサ・ユニット２０４、メモリ２０６、永続性記憶装置２０８、通信ユニット２１０、入出力（Ｉ／Ｏ）ユニット２１２、およびディスプレイ２１４間の通信を提供する。
【００２２】
プロセッサ・ユニット２０４は、メモリ２０６にロードすることができるソフトウェアのための命令を実行するように機能する。プロセッサ・ユニット２０４は、特定の実施に応じて、１つ以上のプロセッサのセットとすることができ、またはマルチプロセッサ・コアとすることができる。更に、プロセッサ・ユニット２０４は、メイン・プロセッサが二次プロセッサと共に単一チップ上に存在する１つ以上のヘテロジーニアス・プロセッサ・システムを用いて実施することができる。別の例示的な例では、プロセッサ・ユニット２０４は、同一のタイプのプロセッサを多数含む対称型マルチプロセッサ・システムとすることも可能である。
【００２３】
いくつかの実施形態において、メモリ２０６は、ランダム・アクセス・メモリまたは他のいずれかの適切な揮発性もしくは不揮発性記憶デバイスとすることができる。永続性記憶装置２０８は、特定の実施に応じて様々な形態を取ることができる。例えば、永続性記憶装置２０８は、１つ以上のコンポーネントまたはデバイスを含むことができる。永続性記憶装置２０８は、ハード・ドライブ、フラッシュ・メモリ、書き換え可能光ディスク、書き換え可能磁気テープ、または上記のものの何らかの組み合わせとすることができる。また、永続性記憶装置２０８によって用いられる媒体は、限定ではないが、着脱可能ハード・ドライブ等、着脱可能なものとすることも可能である。
【００２４】
通信ユニット２１０は、他のデータ処理システムまたはデバイスとの通信を可能とする。これらの例では、通信ユニット２１０はネットワーク・インタフェース・カードである。現在利用可能なタイプのネットワーク・インタフェース・アダプタのいくつかの例として、モデム、ケーブル・モデム、およびイーサネット・カードが挙げられる。通信ユニット２１０は、物理通信リンクおよび無線通信リンクの一方または双方を用いることで通信を行うことを可能とする。
【００２５】
入出力ユニット２１２は、データ処理システム２００に接続することができる他のデバイスとの間でデータの入出力を可能とする。いくつかの実施形態において、入出力ユニット２１２は、キーボードおよびマウスによってユーザ入力のための接続を提供することができる。更に、入出力ユニット２１２はプリンタに出力を送信することができる。ディスプレイ２１４は、ユーザに情報を表示するための機構を提供する。
【００２６】
永続性記憶装置２０８上に、オペレーティング・システムおよびアプリケーションまたはプログラムのための命令が位置している。これらの命令は、プロセッサ・ユニット２０４によって実行するためにメモリ２０６にロードすることができる。メモリ２０６等のメモリに位置することができるコンピュータ実施命令を用いて、プロセッサ・ユニット２０４によって、異なる実施形態のプロセスを実行することができる。これらの命令は、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ読み取り可能プログラム・コードと称され、プロセッサ・ユニット２０４におけるプロセッサにより読み取って実行することができる。異なる実施形態におけるプログラム・コードは、メモリ２０６または永続性記憶装置２０８等の異なる物理的またはタンジブルなコンピュータ読み取り可能媒体上に具現化することができる。
【００２７】
プログラム・コード２１６は、選択的に着脱可能なコンピュータ読み取り可能媒体２１８上に関数の形態で位置しており、プロセッサ・ユニット２０４により実行するためにデータ処理システム２００にロードまたは転送することができる。これらの例において、プログラム・コード２１６およびコンピュータ読み取り可能媒体２１８がコンピュータ・プログラム２２０を形成する。一例では、コンピュータ読み取り可能媒体２１８は、例えば光ディスクまたは磁気ディスク等のタンジブルな形態とすることができ、永続性記憶装置２０８の一部であるハード・ドライブ等の記憶デバイス上に転送するために永続性記憶装置２０８の一部であるドライブまたは他のデバイスに挿入または配置される。タンジブルな形態では、コンピュータ読み取り可能媒体２１８は、データ処理システム２００に接続されたハード・ドライブ、サム・ドライブ、またはフラッシュ・メモリ等の永続性記憶装置の形態を取ることも可能である。コンピュータ読み取り可能媒体２１８のタンジブルな形態は、コンピュータ記録可能記憶媒体とも称される。いくつかの例では、コンピュータ読み取り可能媒体２１８は着脱可能でない場合がある。
【００２８】
あるいは、プログラム・コード２１６のデータ処理システム２００への転送は、コンピュータ読み取り可能媒体２１８から、通信ユニット２１０への通信リンクを介して、または入出力ユニット２１２への接続を介して行うことができる。記載した例では、通信リンクまたは接続あるいはその両方は物理的または無線とすることができる。
【００２９】
データ処理システム２００について例示した様々なコンポーネントは、異なる実施形態を実施可能な方法についてアーキテクチャの限定を加えることを意図していない。異なる例示的な実施形態は、データ処理システム２００について例示したものに対する追加のまたは代替のコンポーネントを含むデータ処理システムにおいて実施することができる。図２に示す他のコンポーネントは、図示する例示的な例から変更することができる。例えば、データ処理システム２００における記憶デバイスは、データを記憶することができるあらゆるハードウェア装置である。メモリ２０６、永続性記憶装置２０８、およびコンピュータ読み取り可能媒体２１８は、タンジブルな形態の記憶デバイスの例である。
【００３０】
図３は、モビリティ動作リソース割り当てのためのシステム３００の例示的な実施形態である。システム３００は、限定ではないが、サーバ１４０または１５０あるいはその両方、クライアント１１０または１２０あるいはその両方等のデータ処理システムもしくはプラットフォーム上で、または他のデータ処理システム位置において実施することができる。図３に示す実施形態においては、システム３００は、サーバ・システム３１０およびサーバ・システム３１２を含む。コンピュータ・システムのサーバ・システム３１０および３１２のプロセッサ、メモリ、および他のハードウェア・リソースは、別個に動作可能である論理パーティション（ＬＰＡＲ）に配分することができる。各ＬＰＡＲは、それ自体のオペレーティング・システムおよびアプリケーションを実行する。例示する実施形態において、サーバ・システム３１０はＬＰＡＲ３２０および３２２を含むが、もっと多数または少数のＬＰＡＲを提供可能であることは理解されよう。ＬＰＡＲは、コンピュータの物理ハードウェア・リソースのサブセット（すなわちサーバ環境の基礎にあるハードウェアのサブセット）が割り当てられ、サーバ環境内で別個のコンピュータ／仮想マシンとして仮想化されている。プロセッサ容量、メモリ等のリソース、または他のいずれかのタイプのリソースは、特定のＬＰＡＲに割り当てることができる。各ＬＰＡＲは、それ自体の仮想オペレーティング・システム（ＯＡ）・インスタンス（例えば各ＬＰＡＲ３２０および３２２におけるオペレーティング・システム３２４および３２６）、アプリケーション・プログラム（例えばＬＰＡＲ３２０および３２２におけるアプリケーション（複数のアプリケーション）３２８および３３０）、または関連ファイルあるいはそれら全てを有するので、多数のオペレーティング・システムがサーバ環境内で同時に実行することが可能となる。
【００３１】
（サーバ・システム３１０内の）ＬＰＡＲ３４０および（サーバ・システム３１２内の）ＬＰＡＲ３４２は、入出力機能性の実施に専用のものであり、仮想入出力サーバ（ＶＩＯＳ：ｖｉｒｔｕａｌ  Ｉ／Ｏ  ｓｅｒｖｅｒ）・ソフトウェア／ファームウェアを実行する（本明細書に記載するような様々な機能を実行するためのソフトウェア、論理、または実行可能コードあるいはそれら全て（例えばプロセッサまたは他のタイプの論理チップに常駐するプロセッサ・ユニット、ハードウェア論理上で実行するソフトウェアまたはアルゴリズムあるいはその両方として常駐し、データ処理システム内の単一の集積回路に集中化するかまたは異なるチップ間に分散している））。ＶＩＯＳソフトウェア／ファームウェアを実行するＬＰＡＲ３４０／３４２を、本明細書において、ＶＩＯＳ  ＬＰＡＲまたはＶＩＯＳパーティション３４０／３４２と称することができる。同様に、ＶＩＯＳ機能性を提供する実行対象のＶＩＯＳソフトウェア／ファームウェアを、本明細書ではＶＩＯＳと称することができる。論理パーティション処理は、各サーバ・システム３１０および３１２内のソフトウェア３４６および３４８（「ハイパーバイザ」）によって容易になる。これらは、コンピュータ・システムのハードウェアを制御し、ＬＰＡＲのオペレーティング・システムを監視する。ハイパーバイザ３４６／３４８は、論理パーティションのオペレーティング・システム・レベルとサーバ・システム物理ハードウェアとの間のレベルで動作する。ハイパーバイザ３４６／３４８は、実施に応じて、直接コンピュータ・システムのハードウェア上で、または従来のオペレーティング・システム環境内で動作することができる。
【００３２】
図３に示す実施形態において、ＬＰＡＲ３２０および３２２は、サーバ・システム３１０からサーバ・システム３１２にマイグレートされている。異なるハードウェア・プラットフォーム間で、単一のＬＰＡＲまたは多数のＬＰＡＲをマイグレートすることが可能であることは理解されよう。更に、多数のＬＰＡＲを直列にまたは同時にマイグレートすることができる。サーバ・システム３１０からサーバ・システム３１２へのＬＰＡＲの転送またはマイグレーションは、ハードウェア管理コンソール（ＨＭＣ：ｈａｒｄｗａｒｅ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｓｏｌｅ）３５０によって調整される。ＨＭＣ３５０またはその部分は、ハードウェア・ベース、ソフトウェア・ベース、またはそれら双方の何らかの組み合わせとすることができる既知の技法を用いて、いずれかの適切な方法で実施することができる。例えばＨＭＣ３５０は、本明細書に記載するような様々な機能を実行するためのソフトウェア、論理、または実行可能コードあるいはそれら全てを含むことができる（例えばプロセッサまたは他のタイプの論理チップに常駐するプロセッサ・ユニット、ハードウェア論理上で実行するソフトウェアまたはアルゴリズムあるいはその両方として常駐し、データ処理システム内の単一の集積回路に集中化するかまたは異なるチップ間に分散している））。パーティションの転送は、イーサネット３５２で（例えばｉＳＣＩプロトコルを用いて）、または各サービス・プロセッサ３６０および３６２を介してプライベート・イーサネット３５４で実行することができる。また、サーバ・システム３１０および３１２は、各ＶＩＯＳパーティション３４０および３４２によって、ＳＡＮ（ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）３６８を介して外部記憶サブシステム３６６にアクセスするように構成することができる。本明細書において行う記載はサーバ・システム３１０からサーバ・システム３１２へのＬＰＡＲのマイグレーションを対象とすることができるが、サーバ・システム３１０および３１２の各々を同様に構成して本明細書に記載する機能を可能とすることができる。
【００３３】
作動中のＬＰＡＲモビリティによって、ＯＳおよびアプリケーションを有する動作中のＬＰＡＲ（複数のＬＰＡＲ）を、ある物理ハードウェア・プラットフォームから異なるハードウェア・プラットフォームに転送することができる。ＶＩＯＳパーティション３４０および３４２は、あるハードウェア・プラットフォームから別のハードウェア・プラットフォームにパーティション状態を転送する機能を提供するためのコードまたはルーチンあるいはその両方を用いて構成されている。モビリティ機能がイネーブルになっているＶＩＯＳパーティションは、ムーバー・サービス・パーティション（ＭＳＰ：ｍｏｖｅｒ  ｓｅｒｖｉｃｅ  ｐａｒｔｉｔｉｏｎ）と称することができる場合がある。ＭＳＰの少なくとも１つの仮想非対称サービス・インタフェース（ＶＡＳＩ：ｖｉｒｔｕａｌ  ａｓｙｎｃｈｒｏｎｏｕｓ  ｓｅｒｖｉｃｅｓ  ｉｎｔｅｒｆａｃｅ）デバイスによって、ＭＳＰは各ハイパーバイザと通信を行うことができる。ハイパーバイザ３４６／３４８は、パーティションのメモリを含む、パーティションの状態に対応した情報を維持する。マイグレーションの間、ハイパーバイザ３４６および３４８は、ＭＳＰパーティション間でパーティション情報（例えば状態情報およびメモリ・イメージ）を転送するためのサポートを与える。ソースおよび宛先のムーバー・サーバ・パーティションは、ネットワークを介して相互に通信を行う。ソースおよび宛先のサーバ・システムの双方で、ＶＡＳＩデバイスがＭＳＰとハイパーバイザとの間の通信を提供する。パーティションのメモリ・イメージを移動させるため、ハイパーバイザは、中央処理ユニット（ＣＰＵ）およびメモリ・リソースを提供するソースおよび宛先のＭＳＰを利用して、パーティションのメモリ・ページを送信し追跡する。マイグレートしているパーティションの情報が宛先ＭＳＰに送信された後に、そのパーティションがメモリ・ページに書き込むと、ハイパーバイザは、更新された書き込み内容を用いたメモリ・ページの再送信を管理するので、パーティションはモビリティ動作中に実行を継続することができる。このため、データは、ソース・サーバ・システム上のソース・ハイパーバイザからソースＭＳＰを介して宛先ＭＳＰに、更に宛先サーバ・システム上のハイパーバイザに向かう。
【００３４】
場合によっては、パーティションのメモリ・ページが極めて大きいことがある（例えばデータベース実行）。更に、ＭＳＰが、大きいパーティションのモビリティまたは比較的多数の同時パーティション・モビリティ動作をサポートする必要がある場合、ハイパーバイザによって利用されるＶＩＯＳ  ＣＰＵサイクル量は増大する。従って、モビリティ動作のためのデータ転送の時間長および速度は、ＭＳＰがハイパーバイザに与えるメモリ量およびＣＰＵサイクルによって限定される。
【００３５】
本開示の実施形態によって、パーティション・モビリティ動作に用いるリソースの選択または構成あるいはその両方を行う際に、性能および同時実行性を考慮することまたはそれらのバランスを取ることあるいはその両方が可能となる。上述のように、モビリティ動作のためのデータ転送の時間長および速度は、パーティションのメモリをマイグレートするためにハイパーバイザがアクセスすることができるメモリ量およびメモリ・バッファを管理するために用いられるＣＰＵスレッドの数に依存する。メモリ量は、モビリティ動作当たりの割り当てられたメモリ・バッファのサイズおよび数の双方に依存する。更に、モビリティ動作当たりのＣＰＵの使用量は、用いられるスレッド数および実行されるスレッドの時間長に依存する。本開示の実施形態によって、パーティション・モビリティ動作の同時実行性対性能のニーズに合うように、メモリ・リソースおよびＣＰＵスレッド構成（例えば数および実行時間）を柔軟に選択することが可能となる。例えば、比較的メモリ使用が少ないパーティションでは、多数の同時実行動作を低速で実行するか、または少数の同時実行動作を高速で実行することができる。
【００３６】
図３に示す実施形態において、ＨＭＣ３５０は、割り当てモジュール３７０、インタフェース３７２、およびモビリティ構成データ３７４を含む。割り当てモジュール３７０を用いて、パーティション・モビリティ動作のための所望のリソース割り当ての選択または設定あるいはその両方を行う。割り当て設定は、特定のモビリティ動作またはモビリティ動作のセットに適用することができる。例えば、割り当て設定は、多数のパーティションを扱うモビリティ動作では各パーティションに適用するように選択することができる。また、割り当て設定は、いくつかのパーティションについて適用または変更あるいはその両方を行うように選択することも可能である（モビリティ動作が多数のパーティションを扱うことができる場合であっても）。例えば、いくつかの実施形態において、１つのモビリティ動作が５つの異なるパーティション（ＬＰＡＲ１〜ＬＰＡＲ５）を対象とする場合がある。ＬＰＡＲ１、ＬＰＡＲ２、およびＬＰＡＲ４に特定のパーティション割り当て設定を設定／適用することができ、ＬＰＡＲ３およびＬＰＡＲ５には異なる割り当て設定を設定／適用することができる。モビリティ動作を開始し、異なる割り当て設定を自動的にパーティションごとに適用することができる（例えばあるＬＰＡＲセットにある設定を適用し、異なるＬＰＡＲセットに異なる設定を適用する）。割り当てモジュール３７０は、ハードウェア・ベース、ソフトウェア・ベース、またはそれら双方の何らかの組み合わせとすることができる既知の技法を用いて、いずれかの適切な方法で実施することができる。例えば割り当てモジュール３７０は、本明細書に記載するような様々な機能を実行するためのソフトウェア、論理、または実行可能コードあるいはそれら全てを含むことができる（例えばプロセッサまたは他のタイプの論理チップに常駐するプロセッサ・ユニット、ハードウェア論理上で実行するソフトウェアまたはアルゴリズムあるいはその両方として常駐し、データ処理システム内の単一の集積回路に集中化するかまたは異なるチップ間に分散している））。
【００３７】
モビリティ構成データ３７４は、パーティション・モビリティ動作に適用するメモリまたはＣＰＵあるいはその両方のリソースの割り当てに関連付けた情報を含む。例えば例示の実施形態では、モビリティ構成データ３７４は、メモリ構成データ３８２およびスレッド構成データ３８４を含む１つ以上のモビリティ設定３８０を含む。メモリ構成データ３８２およびスレッド構成データ３８４のための特定の値または設定あるいはその両方は、モビリティ動作のための特定の各メモリ・バッファおよびＣＰＵスレッドの構成設定に対応することができる。メモリ構成データ３８２は、メモリ・リソースの量またはサイズあるいはその両方に対応することができる。スレッド構成データ３８４は、ＣＰＵスレッドの量、スレッドの実行時間、またはスレッド優先順位付けあるいはそれら全てに対応することができる。性能または同時実行性あるいはその両方の要求に対処するように、他のタイプのリソースまたはリソース属性を同様にモビリティ動作のために設定する／割り当てることも可能であることは理解されよう。
【００３８】
インタフェース３７２を用いて、グラフィカル・ユーザ・インタフェース（ＧＵＩ）または他のタイプのインタフェースを提供して、ユーザ／管理者がパーティション・モビリティ動作に適用するリソース割り当て構成設定を選択することを可能とする。インタフェース３７２は、ハードウェア・ベース、ソフトウェア・ベース、またはそれら双方の何らかの組み合わせとすることができる既知の技法を用いて、いずれかの適切な方法で実施することができる。例えばインタフェース３７２は、本明細書に記載するような様々な機能を実行するためのソフトウェア、論理、または実行可能コードあるいはそれら全てを含むことができる（例えばプロセッサまたは他のタイプの論理チップに常駐するプロセッサ・ユニット、ハードウェア論理上で実行するソフトウェアまたはアルゴリズムあるいはその両方として常駐し、データ処理システム内の単一の集積回路に集中化するかまたは異なるチップ間に分散している）。
【００３９】
いくつかの実施形態において、インタフェース３７２は、ユーザ／管理者によって選択された特定の設定３８０に基づいてメモリ構成データ３８２およびスレッド構成データ３８４に適用されるデフォルト値を識別するように構成することができる。例えば、いくつかの実施形態では、インタフェース３７２がスライダ・バーまたは他のタイプのＧＵＩを含み、このスライダ・バー／ＧＵＩ上の特定の値／設定が特定のメモリ構成データ３８２またはスレッド構成データ３８４あるいはその両方の設定に対応することができる。この実施形態では、スライダ・バー／ＧＵＩの値または設定が低いことは性能が高いことに相当するので、大量または大きいサイズあるいはその両方のメモリ・リソースをハイパーバイザに対して割り当てまたは提供あるいはその両方を行うようにすることができる。また、メモリ情報のマイグレーションを管理するために追加のスレッドを用いることも可能である。この設定を用いると、ハイパーバイザがモビリティ動作のためにアクセスすることができるメモリおよびスレッドのリソースが増大するので、大きいアクティブなパーティションを高速でマイグレートすることができる。これに対応して、スライダ・バー／ＧＵＩの値または設定が高いことは同時実行性が高い／最大であることに相当するので、小さいサイズのメモリ・リソースをハイパーバイザに割り当て、場合によっては１つのスレッドを用いてメモリ・リソースを管理するようにすることができる。この設定を用いると、ハイパーバイザがアクセスすることができるメモリ・リソースが少ないので、多くのアクティブでないパーティションを同時にマイグレートすることができ、他のＶＩＯＳ動作に影響を与えることなく多くの動作を処理することができる。いくつかの実施形態では、インタフェース３７２は、ユーザ／管理者がモビリティ動作のために特定のメモリまたはスレッドの割り当て設定を選択することができるように構成され、これによってモビリティ動作のためのリソース割り当てをカスタマイズすることを可能とする。このため、特定の設定３８０の選択に応答して、割り当てモジュール３７０は、対応するメモリおよびＣＰＵリソースをモビリティ動作に用いるために割り当てる。更に、いくつかの実施形態においては、割り当てモジュール３７０を用いてＬＰＡＲのマイグレーションに優先順位を付けることができる。例えば、いくつかの実施形態では、ユーザ／管理者が、いくつかのＬＰＡＲについていくつかのマイグレーション動作に優先順位を付けたいという場合がある。割り当てモジュールは、設定した優先順位に応じてモビリティ動作を実行するように構成されている。
【００４０】
図３においては、割り当てモジュール３７０およびモビリティ構成データ３７４は、ＨＭＣ３５０の一部として図示されている。図４は、モビリティ動作リソース割り当てのためのシステム３００の代替的な実施形態の例示である。図４において、割り当てモジュール３７０およびモビリティ構成データ３７４、およびそれらの対応する機能は、ＶＩＯＳパーティション３４０および３４２内で実施される。例えば、いくつかの実施形態では、ＨＭＣ３５０のインタフェース３７２を用いて、パーティションのマイグレーションに利用可能である様々なモビリティ設定３８０を表示することができる。モビリティ設定３８０または適用可能ＬＰＡＲあるいはその両方の選択が受信されると、選択された設定３８０または適用可能ＬＰＡＲ情報あるいはその両方を、ＨＭＣ３５０からＶＩＯＳパーティション３４０または３４２あるいはその両方に伝達することができる。この実施形態では、割り当てモジュール３７０（ＶＩＯＳパーティション３４０または３４２の一部として実施される）は、選択された設定３８０に基づいてマイグレーションに望まれるリソース要求を識別し（例えばメモリ構成データ３８２またはスレッド構成データ３８４あるいはその両方を用いて）、かかるリソースの利用可能性を判定し、モビリティ設定（複数の設定）３８０および割り当てられたリソースに基づいてマイグレーション動作（複数の動作）を開始する。
【００４１】
図３および図４を参照すると、いくつかの実施形態において、ＶＩＯＳパーティション３４０または３４２あるいはその両方は、ソースＭＳＰと宛先ＭＳＰとの間でメモリまたはＣＰＵあるいはその両方のリソースの割り当てをネゴシエートするように構成されている。例えば、いくつかの例では、ソースＭＳＰに利用可能であるリソースの方が宛先ＭＳＰ上で利用可能なリソースよりも多い場合があり、または逆の場合もある。この例では、ソースＭＳＰと宛先ＭＳＰとの間で利用可能なリソースに不一致があるので、望ましいモビリティ設定３８０は一方のＭＳＰの観点からは利用可能であるが他方のＭＳＰからは利用できない（またはどちらも利用できない）場合がある。この例では、ＶＩＯＳパーティション３４０または３４２あるいはその両方は（例えばＶＩＯＳパーティション３４０または３４２あるいはその両方の一部として実施されているそれぞれに構成された割り当てモジュール３７０によって）、ＭＳＰリソースの不一致または利用不可能性あるいはその両方を検出し、ソースＭＳＰまたは宛先ＭＳＰあるいはその両方のリソース利用可能性に基づいてモビリティ動作のためのバランスのとれたリソース割り当てをネゴシエートするように構成することができる。例えば、特定の設定３８０が、モビリティ動作に専用の高いメモリ・リソース割り当てを示し得る場合であっても、ＶＩＯＳパーティション３４０または３４２あるいはその両方は、所望のモビリティ設定３８０を考慮に入れてソース／宛先ＭＳＰのリソースの現在の利用可能性に対応するように、リソース割り当てを無効にするかまたは自動的に調節する（例えばユーザ／管理者の介入なしで）あるいはその両方を行うことができる。
【００４２】
図５は、モビリティ動作リソース割り当てのための方法の一実施形態を示すフロー図である。この方法はブロック５０２において開始し、ここでＨＭＣ３５０は１つ以上の実行中のアプリケーションまたはＬＰＡＲをマイグレートする要求を受信する。ブロック５０４において、インタフェース３７２を表示し、ＬＰＡＲマイグレーション（複数のマイグレーション）に適用するための１つ以上の性能ベースまたは同時実行性ベースあるいはその両方のリソース割り当て設定を示す。ブロック５０６において、割り当てモジュール３７０は、マイグレーションのための１つ以上のモビリティ設定３８０を受信する（例えば全てのマイグレート対象のＬＰＡＲに適用する単一の設定、またはいくつかのＬＰＡＲのためのいくつかの設定、あるいはその両方）。ブロック５０８において、割り当てモジュール３７０は、選択されたモビリティ設定（複数の設定）に従ったメモリ・リソース要求を識別する。ブロック５１０において、割り当てモジュール３７０は、選択されたモビリティ設定（複数の設定）に従ったプロセッサ・リソース要求を識別する。
【００４３】
ブロック５１２において、ＶＩＯＳパーティションまたは３４２あるいはその両方は、選択されたモビリティ設定（複数の設定）に基づいて、ソースまたは宛先あるいはその両方のＭＳＰ上の利用可能リソースを評価する。ブロック５１４において、ＶＩＯＳパーティション３４０または３４２あるいはその両方は、（例えば同様のリソースまたは利用可能なリソースあるいはその両方の不一致のために生じ得る）ソースＭＳＰと宛先ＭＳＰとの間のリソース割り当てに必要なバランスをネゴシエートする。ブロック５１６において、所望の／選択されたモビリティ設定（複数の設定）に基づいて、リソースが利用可能であるか否かを判定する。リソースが利用可能である場合、この方法はブロック５２０に進む。決定ブロック５１６において、選択されたモビリティ設定（複数の設定）に基づいてリソースが利用可能でないと判定された場合、この方法はブロック５１８に進み、ＶＩＯＳパーティション３４０または３４２あるいはその両方は、利用可能リソースに基づいて選択されたモビリティ設定を無効にする。ブロック５２０において、ＶＩＯＳパーティション３４０または３４２あるいはその両方は、マイグレーションのためにリソースを割り当てる。ブロック５２２において、割り当てたリソースを用いてＬＰＡＲ（複数のＬＰＡＲ）をマイグレートする。
【００４４】
従って、本開示の実施形態によって、性能または同時実行性あるいはその両方の要求に基づいて、アプリケーションのマイグレーションに用いるリソースを柔軟に選択することが可能となる。本開示の実施形態は、ユーザ／管理者がアプリケーションのマイグレーションのために性能ベースまたは同時実行性ベースあるいはその両方の設定を選択することができるインタフェースを利用し、これによって、性能が重要である場合に大きいパーティションの迅速な移動を行うこと、または、性能が重要でない場合に多数のアクティブでないパーティションを同時にマイグレートすること、あるいはその両方を実行する。本開示の実施形態によって、ユーザ／管理者がパーティションごとにモビリティ設定（複数の設定）を適用すること、更に、いくつかのパーティションのマイグレーションに優先順位を付けることを可能とする。
【００４５】
本明細書において用いた用語は、特定の実施形態を記載する目的のためだけのものであり、本開示を限定することは意図していない。本明細書において用いたように、単数形「１つの（ａ）、（ａｎ）、（ｔｈｅ）」は、文脈によって明らかに他の場合が示されない限り、複数形を含むことが意図されている。また、「含む」または「含んでいる」という言葉あるいはその両方は、本明細書において用いられた場合、述べた特性、整数、ステップ、動作、要素、またはコンポーネントあるいはそれら全ての存在を規定するが、１つ以上の他の特性、整数、ステップ、動作、要素、コンポーネント、またはそれらのグループあるいはそれら全ての存在または追加を除外するものではないことは、理解されよう。
【００４６】
以下の特許請求の範囲における全てのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、行為、および均等物は、具体的に特許請求したような他の特許請求した要素と組み合わせて機能を実行するためのいずれかの構造、材料、または行為を含むことが意図されている。本開示の記載は、例示および記述の目的のために提示したが、網羅的であることや、開示した形態に本開示を限定することは、意図していない。本開示の範囲および精神から逸脱することなく、当業者には多くの変更および変形が明らかであろう。実施形態は、本開示の原理および実際的な用途を最良に説明するため、更に、想定される特定の用途に適した様々な変更と共に様々な実施形態に関して当業者が本開示を理解することを可能とするために、選択し記載したものである。
【００４７】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラムの可能な実施のアーキテクチャ、機能性、および動作を例示する。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能（複数の機能）を実施するための１つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した２つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、規定された機能もしくは行為を実行する特殊目的ハードウェア・ベースのシステム、または特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実施可能であることに留意すべきである。
【符号の説明】
【００４８】
１００    ：データ処理システム
１１０、１２０    ：クライアント
１３０    ：ネットワーク
１４０、１５０    ：サーバ
１６０    ：データ記憶
２００    ：データ処理システム
２０４、２１２    ：ユニット
２０６    ：メモリ
２０８    ：永続性記憶装置
２１０    ：通信ユニット
２１２    ：入出力ユニット
２１４    ：ディスプレイ
２１６    ：コード
２１８    ：コンピュータ読み取り可能媒体
２２０    ：プログラム
３００、３１０、３１２、３２４    ：システム
３４０    ：ＶＩＯＳパーティション
３４６    ：ソフトウェア
３４６    ：ハイパーバイザ
３５２、３５４    ：イーサネット
３６０    ：プロセッサ
３６６    ：外部記憶サブシステム
３６８    ：ＳＡＮ（記憶エリア・ネットワーク）
３７０    ：割り当てモジュール
３７２    ：インタフェース
３７４    ：モビリティ構成データ
３８０    ：設定
３８０    ：モビリティ設定
３８２    ：メモリ構成データ
３８４    ：スレッド構成データ
５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８、５２０、５２２    ：ブロック
５１６    ：決定ブロック
【図１】
2014096136.tif 000003
【図２】
2014096136.tif 000004
【図３】
2014096136.tif 000005
【図４】
2014096136.tif 000006
【図５】
2014096136.tif 000007