(57)【要約】【課題】本発明は仮想マシンをオンデマンドで提供する。【解決手段】このオンデマンドサービスは、例えば、要求を処理するために仮想マシンをオンデマンドで提供することを含めて、多くの状況で有益である。要求を処理するために提供される仮想マシンは、要求専用である。オンデマンド仮想マシンは、オンデマンド仮想マシンを制御する他の仮想マシンにより自動的に起動される。制御仮想マシンは、オンデマンド仮想マシンの起動、資源の割り当て、およびシャットダウンを管理する。【選択図】図1【特許請求の範囲】
【請求項１】
コンピューティング環境の中のノードを介して、処理されるべき要求を取得することと、前記要求を処理するために、前記ノード上で前記要求専用の仮想マシンを起動することとを含むことを特徴とする、
コンピューティング環境の要求の実行を管理する方法。
【請求項２】
前記起動が、少なくとも部分的に前記ノードの他の仮想マシンにより管理されることを特徴とする請求項１に記載の方法。
【請求項３】
前記取得が、前記ノードの他の仮想マシンにより前記要求を受信することを含むとともに、前記起動が、前記他の仮想マシンにより前記仮想マシンを起動することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記要求を前記受信することが、前記他の仮想マシンに接続されたジョブ管理サービスから前記要求を受信することを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記起動が、前記要求を処理するために１つ以上の資源を前記仮想マシンに提供することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
さらに、前記要求を完了することに呼応して、前記仮想マシンをシャットダウンすることを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記シャットダウンが、前記仮想マシンに供された１つ以上の資源を復帰処理することを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記シャットダウンが、少なくとも部分的に前記ノードの他の仮想マシンにより管理されることを特徴とする請求項６に記載の方法。
【請求項９】
前記シャットダウンが、前記仮想マシンをシャットダウンするために、前記他の仮想マシンを介して、通信サービスを使用することを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記取得が、前記ノードの他の仮想マシンを介して、処理されるべき前記要求を取得することを含むとともに、前記起動が、前記他の仮想マシンを介して、前記他の仮想マシンおよび前記仮想マシンに接続された通信サービスに、前記仮想マシンが起動される予定であることを示す起動指標を提供することと、前記仮想マシンを起動するために前記通信サービスを用いることとを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
さらに、複数のノードのうちのどのノードが、前記要求を処理するために利用可能であるかを判断することと、利用可能と判断された前記ノードに、前記要求を送信することとを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記判断が、前記複数のノードのうちの１つ以上のノードの中の、１つ以上の他の仮想マシンから、前記判断において用いられる情報を取得することを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記複数のノードが、他のノードとは異種である少なくとも１つのノードを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記１つのノードが、前記他のノードと異なる系列および異なる世代のうちの少なくとも１つであることを特徴とする請求項１３に記載の方法。
【請求項１５】
さらに、前記要求を前記仮想マシンにより処理することを含むことを特徴とする請求項１に記載の方法。
【請求項１６】
さらに、前記仮想マシンからジョブ管理サービスへ、処理される前記要求に関する情報を提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記仮想マシンが、好ましくない部分を削除された仮想マシンであることを特徴とする請求項１に記載の方法。
【請求項１８】
コンピューティング環境の中のノードを介して、処理されるべき要求を取得する手段と、前記要求を処理するために、前記ノード上で前記要求専用の仮想マシンを起動する手段とを含むことを特徴とする、
コンピューティング環境の要求の実行を管理するシステム。
【請求項１９】
前記取得手段が、前記ノードの他の仮想マシンにより前記要求を受信する手段を含むとともに、前記起動手段が、前記他の仮想マシンにより前記仮想マシンを起動する手段を含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記起動手段が、前記要求を処理するために１つ以上の資源を前記仮想マシンに提供する手段を含むことを特徴とする請求項１８に記載のシステム。
【請求項２１】
前記要求を完了することに呼応して、前記仮想マシンをシャットダウンする手段を含むことを特徴とする請求項１８に記載のシステム。
【請求項２２】
前記シャットダウンが、少なくとも部分的に前記ノードの他の仮想マシンにより管理されることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記取得手段が、前記ノードの他の仮想マシンを介して、処理されるべき前記要求を取得する手段を含むとともに、前記起動手段が、前記他の仮想マシンを介して、前記他の仮想マシンおよび前記仮想マシンに接続された通信サービスに、前記仮想マシンが起動される予定であることを示す起動指標を提供する手段と、前記仮想マシンを起動するために前記通信サービスを用いる手段とを含むことを特徴とする請求項１８に記載のシステム。
【請求項２４】
さらに、複数のノードのうちのどのノードが、前記要求を処理するために利用可能であるかを判断する手段と、利用可能と判断された前記ノードに、前記要求を送信する手段とを含むことを特徴とする請求項１８に記載のシステム。
【請求項２５】
前記判断手段が、前記複数のノードのうちの１つ以上のノードの中の、１つ以上の他の仮想マシンから、前記判断において用いられる情報を取得する手段を含むことを特徴とする請求項２４に記載のシステム。
【請求項２６】
さらに、前記要求を前記仮想マシンにより処理する手段と、前記仮想マシンからジョブ管理サービスへ、処理される前記要求に関する情報を提供する手段とを含むことを特徴とする請求項１８に記載のシステム。
【請求項２７】
コンピュータシステムで実行処理されるとき、前記コンピュータシステムに対して、請求項１〜１７のいずれかに記載の前記方法の実行を命令するための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピューティング環境内の処理を容易にすることに関し、特に、コンピューティング環境内の処理の各種態様を管理することに関する。
【背景技術】
【０００２】
コンピューティング環境内で実行処理しているタスク間の分離は、データ汚染を回避するために重要である。ニューヨーク州アーモンクのＩＢＭ（ＩＢＭはＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）社（インターナショナル・ビジネス・マシーンズ・コーポレーション社）により提供されているＳ／３９０（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）システムのようないくつかのシステムでは、所定レベルの分離および安全性が、オペレーティングシステムにより提供されている。タスクは、オペレーティングシステム内で個別のプロセスとして実行され、かつオペレーティングシステムは、資源の共有を制御する。オペレーティングシステムは、特定レベルの保護を行うが、他のタスクによる１つのタスクのデータの意図的なまたは偶発的な暴露または汚染が生じうる。したがって、強化されたタスク間の分離に対する必要性が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
さらに、グリッドコンピューティング環境のようなコンピューティング環境では、それらの環境の資源を共有して、作業負荷のバランスをとることが可能であるために、環境の中の異なるノード間の相互運用性が重要である。ＩＢＭ社により提供されているＳｙｓｐｌｅｘ  ａｎｄ  Ｗｏｒｋｌｏａｄ  Ｍａｎａｇｅｒ（シスプレックスおよびワークロードマネージャ）のような機能が、作業負荷管理を容易にするために開発されたが、それらの機能は、プロセッサの単一系列に属す結合システムに対する解決方法である。したがって、異種システム間の作業負荷管理を容易にする能力に対する必要性が存在する。
【課題を解決するための手段】
【０００４】
本発明は、請求項１に記載の方法、ならびにさらなる請求項に記載の対応する装置およびコンピュータプログラムを提供する。
【発明を実施するための最良の形態】
【０００５】
要求専用の仮想マシンを利用することにより、要求間の分離が提供される。さらに、要求を処理する仮想マシンの使用は、グリッドコンピューティング環境を含むコンピューティング環境の各種のノード間の相互運用性を容易にする。一実施例では、サービスが、複数のノードのうちのどのノードが要求を処理するために利用可能であるかを判断し、処理のために要求をそのノードに送る。その後、そのノードのマネージャ仮想マシンは、要求を処理するためにジョブ仮想マシンを始動する。
【０００６】
図１を参照することにより、本発明の１つ以上の態様を組込みかつ用いるコンピューティング環境の一実施例を説明する。この特定の具体例では、コンピューティング環境はグリッド環境である。グリッド環境は、インフラストラクチャが柔軟かつ安全であると定義され、個人、組織、および資源の動的集合の間で連携して資源共用を行う。グリッド環境は、その重点とするところが、大規模な資源共用、革新的アプリケーション、および、場合により、高性能指向である点で、従来の分散（エンタープライズ）コンピューティングと区別される。特定のグリッドに対する資源に寄与する、または、そのグリッドの資源を用いる、あるいはその両方を行う個人および組織の集合は仮想組織と称され、計算およびデータに富む環境における複数の規範間の協働に基づく、計算処理および問題解決に対する新たな手法を代表する。
【０００７】
コンピューティング環境１００は、例えば、インターネット、エクストラネット、またはイントラネットなどを介して、ジョブ管理サービス１０４に接続された、複数のユーザワークステーション１０２（例えば、ラップトップ、ＴｈｉｎｋＰａｄｓ（商標）のようなノート、パーソナルコンピュータ、ＲＳ／６０００など）を具備する。ジョブ管理サービス１０４は、例えば、ＩＢＭ社により提供されているＷｅｂＳｐｈｅｒｅ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）のようなウェブアプリケーションサーバ（またはノード）で実行処理される、もしくは複数のサーバまたはノードを横断して分散される、ウェブアプリケーション（または他のプロセス）を具備する。そのウェブアプリケーションは、ユーザ要求を受容して、その要求を環境の中の適切なノードに伝達する責任を有する。一具体例として、ユーザは、ウェブブラウザまたはスタンドアロンアプリケーションのようなクライアントアプリケーションを介してジョブ管理サービスと対話処理を行なう。ジョブ管理サービスを具備する各種の製品があり、その中には、例えば、プラットフォーム（ｗｗｗ．ｐｌａｔｆｏｒｍ．ｃｏｍ）により提供されているＬＳＦ、およびｈｔｔｐ：／／ｗｗｗ．ｓｕｐｅｒｃｌｕｓｔｅｒ．ｏｒｇで入手できるオープンソーススケジューラーのＭａｕｉ（マウイ）などがある。
【０００８】
さらに、ジョブ管理サービス１０４は、インターネット、エクストラネット、またはイントラネットを介して、１つ以上のデータセンタ１０６に接続されている。各データセンタは、例えば、１つ以上のノード１０８を具備する。一具体例として、ノードは、ニューヨーク州アーモンクのＩＢＭ社により提供されているＳ／３９０アーキテクチャまたはｚ／アーキテクチャに基づくメインフレームコンピュータである。ｚ／アーキテクチャの一具体例は、２０００年１２月発行、ＩＢＭ刊行物番号第ＳＡ２２−７８３２−００号の「ｚ／アーキテクチャ解説書」と題するＩＢＭ&#9415;刊行物で説明されている。（ＩＢＭ&#9415;は、米国のニューヨーク州アーモンクにあるＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの米国およびその他の国における登録商標である。本明細書に用いられた他の名称は、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎまたは他の企業の登録商標、商標、または製品名でありうる。）
【０００９】
環境の中のノードは、同質の、または、異種のノードでありうる。図１で示された具体例では、データセンタの各ノードは、異なった世代のものである（例えば、第４世代（Ｇ４）、第５世代（Ｇ５）、第６世代（Ｇ６）など）。しかしながら、これは、あくまで一具体例に過ぎない。他の具体例として、すべてのノードが、同世代のものでもよい。さらに他の具体例として、同質および異種ノードの組合せ型を提供する。さらに、１つ以上のノードが異なった系列のものでもよい。他の多くの可能性が存在する。
【００１０】
図２を参照することにより、ノード、およびノードとジョブ管理サービス１０４との相互作用の詳細について説明する。図２に示すように、ノード２００は、複数の仮想マシン（例えば、２０２、２０４など）を具備する。各仮想マシンは、個別のシステムとして機能できる。すなわち、各仮想マシンは、リナックスのように、独立にリセットできて、オペレーティングシステムのホストとなりうるとともに、異なったプログラムで作動することができる。仮想マシンで稼働するオペレーティングシステムまたはアプリケーションプログラムは、完全なシステムを利用できるように見えるが、通常、単にシステムの一部だけが利用可能である。仮想マシンの１つ以上の態様について、２００１年１０月発行、ＩＢＭ刊行物番号第ＳＣ２４−５９９７−０２号の「ｚ／ＶＭ：稼動ゲストオペレーティングシステム（Ｒｕｎｎｉｎｇ  Ｇｕｅｓｔ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ）」と題するＩＢＭ&#9415;刊行物、および２００１年１０月発行、ＩＢＭ刊行物番号第ＧＣ２４−５９９１−０４号の「ｚ／ＶＭ：概説書」と題するＩＢＭ&#9415;刊行物で説明されている。
【００１１】
一実施例では、仮想マシンのうちの少なくとも１つは、マネージャ仮想マシン２０２であり、少なくとも１つの他の仮想マシンは、ジョブ仮想マシン２０４と称される。マネージャ仮想マシンは、ジョブ仮想マシンに接続され、特定の要求の処理に用いられるジョブ仮想マシンを管理する責任を有する。各ジョブ仮想マシンは、所定の要求専用であり、ジョブ仮想マシンの起動および停止は、マネージャ仮想マシンにより制御される。
【００１２】
マネージャ仮想マシンは、マネージャ仮想マシン２０２およびジョブ仮想マシン２０４に接続されたジョブ管理サービス２０６から、処理されるべき要求を取得する（例えば、受信し、転送され、回収する、など）。マネージャ仮想マシンは、ジョブ管理サービスと通信し、サービスからの照会に呼応する。一具体例では、この通信は、ｗｗｗ．ｇｌｏｂｕｓ．ｏｒｇのＧｌｏｂｕｓ  Ｐｒｏｊｅｃｔ（グローバスプロジェクト）で入手できるグローバスツールキット、またはｗｗｗ．ａｌｐｈａｗｏｒｋｓ．ｉｂｍ．ｃｏｍ（ＡＬＰＨＡＷＯＲＫＳは、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）で入手できるＩＢＭグリッドツールボックスのようなグリッドミドルウェアを介して行なわれる。一具体例として、照会で取得された情報は、要求がマネージャ仮想マシンのノードに送られるべきか否かを判断するために使用される。ノードが要求に対応できるとき、要求は、要求を処理するためのジョブ仮想マシンの始動を制御するマネージャ仮想マシンに送られる。要求を処理する間、ジョブ仮想マシンは、ステータスまたは結果あるいはその両方を提供するために、ジョブ管理サービスと直接通信する。
【００１３】
一具体例では、マネージャ仮想マシンは、ＴＣＰ／ＩＰ、ハイパーソケットなどの通信プロトコルを用いる通信サービスを介して、ジョブ仮想マシンと通信する。例えば、図３に示すように、マネージャ仮想マシン２０２は、通信サービス２１０を介してジョブ仮想マシン２０４に接続される。この具体例では、通信サービスは、ＴＣＰ／ＩＰを実行処理するノード上にホスト仮想マシンを具備する。すなわち、ノードは、ＩＢＭ社により提供されているｚ／ＶＭのようなホストオペレーティングシステムを具備しており、マネージャ仮想マシンおよびジョブ仮想マシンは、ホストのゲストである。通信サービスは、さらに詳しく後述するように、マネージャ仮想マシンからの指示を受信し、ジョブ仮想マシンに適切なコマンドを出す。
【００１４】
要求処理に関連するロジックの一実施例を説明している図４を参照することにより、マネージャ仮想マシンと、ジョブ仮想マシンと、ジョブ管理サービスとの間の相互作用について、さらに詳しく説明する。一具体例では、ユーザ３００と、ジョブ管理サービス３０２と、マネージャ仮想マシン３０４と、ジョブ仮想マシン３０６との間の相互作用について説明する。最初に、一具体例では、ステップ３０８で、ユーザ３００がジョブ管理サービス３０２に要求を提案する。要求は、例えば、実行可能物、データ、および所望量の１つ以上のファイルシステムスペース、仮想プロセッサ、仮想記憶領域のような資源要求を含むジョブ要求である。
【００１５】
要求の受信に呼応して（または要求より前に）、ステップ３１０で、ジョブ管理サービス３０２は、マネージャ仮想マシンにより管理されたノードの資源利用性について判断するために、１つ以上のマネージャ仮想マシン３０４に照会を送信する。マネージャ仮想マシンは、例えば照会コマンドを介して、その利用可能資源について判断し、ステップ３１２で、ジョブ管理サービス３０２に、それらの資源の説明を送信する。ジョブ管理サービスが、複数のマネージャ仮想マシンに照会を送信する具体例では、ジョブ管理サービスは、例えば、要求をどのノードに提案すべきかについて、資源利用性に基づいて判断する。次に、ステップ３１４で、ジョブ管理サービスは、選択されたマネージャ仮想マシンに要求を提案する。
【００１６】
ジョブ要求の受信に呼応して、ステップ３１６で、マネージャ仮想マシンは、ジョブ仮想マシンを起動させ、ステップ３１８で、要求に対して必要な、または、所望の、あるいはその両方の資源を割り当てる。この仮想マシンは、その要求専用であり、一具体例では、この仮想マシンは定義操作を実行せずに、それを起動できるように事前に定義されている。仮想マシンの起動時間を最小にするために、本実施例では１つ以上のジョブ仮想マシンが事前に定義されるが、他の実施例では、１つ以上のジョブ仮想マシンは事前に定義されず、その代わりに、必要に応じて定義される。
【００１７】
図５を参照することにより、仮想マシンの起動、および資源の割り当てに関連するロジックの一実施例について説明する。最初に、ステップ４００で、マネージャ仮想マシンは、処理されるべき要求を取得する。この要求は、要求を処理するために必要な、または、所望の、あるいはその両方の資源の説明を含む。その後、ステップ４０２で、マネージャ仮想マシンは、要求を処理するためにジョブ仮想マシンの起動を開始する。一具体例として、このステップは、マネージャ仮想マシンに接続された通信サービスへのスタートアップコマンドの送信を含む。スタートアップコマンドの一具体例は、以下の通りである。
【００１８】
ｒｅｘｅｃ−１  ｖｍ＿ｕｓｅｒｉｄ−ｐ  ｖｍ＿ｐａｓｓｗｏｒｄ  ｖｍ＿ｈｏｓｔｎａｍｅ  ｓｔａｒｔ  ｔａｒｇｅｔ＿ｕｓｅｒｉｄ  ［−ｍｅｍ  ｍｅｍ＿ｓｉｚｅ］
【００１９】
［−ｐｒｏｃ  ｐｒｏｃ＿ｎｕｍ］
【００２０】
このコマンドは、通信サービス上のスタートスクリプトを実行処理し、スタートスクリプトに特定の引数を伝達する。第１の引数は、対象ジョブ仮想マシンのユーザＩＤを指定する。後続の引数は選択自由であり、例えば、要求を処理するために付加的な資源を要することを示すために使用される。すなわち、マネージャ仮想マシンは、要求を処理するための十分な資源があることを確認するために、ジョブ仮想マシン用に定義された資源を検査する。付加的な資源を要するとき、それらの資源はこのコマンドで要求される。例えば、−ｍｅｍは、割り当てられるべきメモリ量を指定し、−ｐｒｏｃは、割り当てられるべき仮想プロセッサの個数を指定する。
【００２１】
スタートコマンドの結果として、通信サービス上で稼働するスタートスクリプトは、指定されたユーザＩＤをオートログし、資源を付加するために適切なコマンドを発行し、必要であれば、ジョブ仮想マシンをＩＰＬする。例えば、ｒｅｘｅｃコマンドで資源を要することが示されるとき、ステップ４０４で、通信サービスは、それらの資源をジョブ仮想マシンに付加するために、適切なコマンドを発行する。具体例として、仮想記憶領域を、ジョブ仮想マシンに付加しようとするとき、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＳＴＯＲＡＧＥ  １Ｇのような、ストレージオペランドを有するＤＩＲＭＡＩＮＴコマンドを提供する。さらなる具体例として、仮想マシンが、それに使用可能な最大の仮想記憶領域サイズを所望するとき、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＭＡＸＳＴＯＲ  ２０４８Ｍのような、最大域の記憶動作を有するＤＩＲＭＡＩＮＴコマンドを提供する。さらなる具体例として、仮想プロセッサが付加されるべきとき、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＣＰＵ  ｃｐｕａｄｄｒのような、ＣＰＵオペランドを有するＤＩＲＭＡＩＮＴコマンドを提供する。
【００２２】
他の構成可能な資源を同様に付加できる。例えば、ファイルシステムスペースは、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＡＭＤＩＳＫ  ｖａｄｄｒ  ｘｘｘのような、ＡＭＤＩＳＫオペランドを有するＤＩＲＭＡＩＮＴコマンドを発行することにより付加される。また、この場合、ＲＡＣＦ（ＲＡＣＦはＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）コマンドが、ディスクをＲＡＣＦとして定義するために用いられる。このようなコマンドは、例えば、ＲＡＣ  ＲＤＥＦＩＮＥ  ＶＭＭＤＩＳＫ  ｕｓｅｒｉｄ．ｖａｄｄｒ  ＯＷＮＥＲ（ｕｓｅｒｉｄ）を含む。ＤＩＲＭＡＩＮＴとＲＡＣＦコマンドに関する具体例は、２００２年１０月発行、バージョン４、リリース３．０の「ｚ／ＶＭ−ディレクトリメンテナンス機能ファンクションレベル４１０コマンドレファレンス」と題するＩＢＭ刊行物ＳＣ２４−６００２５−０３、および１９９７年８月発行、バージョン１、リリース１０の「ＲＡＣＦ  Ｖ１Ｒ１０コマンド言語レファレンス」と題するＩＢＭ刊行物ＳＣ２８−０７３３−１６で説明されている。
【００２３】
仮想マシンに付加されるべき資源の具体例が本明細書に記載されているが、他の多くの可能性が存在する。スタートコマンドを、任意の構成可能な資源に対する引数を含むように改訂できる。また、後述のシャットダウンコマンドを同様に改訂できる。
【００２４】
ジョブ仮想マシンに資源を付加することに加えて、ステップ４０６で、ジョブ仮想マシンはＩＰＬされる。一具体例では、このステップは、ジョブ仮想マシンインスタンス用に保持されている指定ファイルを読み込むこと、情報に基づき、ジョブ仮想マシンインスタンスをオートログすること、およびそのインスタンスに関連する任意のディスクを起動することを含む。これにより、ジョブ仮想マシンのスタートアップが完了する。
【００２５】
図４に戻ると、ジョブ仮想マシンの起動、および資源の割り当てに続いて、ステップ３２０で、要求の実行処理が、ジョブ仮想マシン上で開始される。さらに、ステップ３２２で、マネージャ仮想マシンは、ジョブ仮想マシンの名前（例えば、識別子）をジョブ管理サービスへ返却し、ジョブ管理サービスが、直接、ジョブ仮想マシンと通信できるようになされる。一具体例では、この通信は、ｗｗｗ．ｇｌｏｂｕｓ．ｏｒｇのＧｌｏｂｕｓ  Ｐｒｏｊｅｃｔ（グローバスプロジェクト）で入手できるグローバスツールキット、またはｗｗｗ．ａｌｐｈａｗｏｒｋｓ．ｉｂｍ．ｃｏｍで入手できるＩＢＭグリッドツールボックスのようなグリッドミドルウェアを介して行なわれる。一具体例として、ステップ３２４で、ジョブ管理サービスは、ジョブ提案が完了したことをユーザに通知する。
【００２６】
処理の間のある時間に、ユーザは、要求のステータスを取得することを所望できる。したがって、ステップ３２６で、ユーザが、ジョブ管理サービスに照会要求を送信すると、ステップ３２８で、それを受信したジョブ管理サービスが、ジョブ仮想マシンにステータス照会要求を送信する。ステータス照会要求の受信に続いて、ステップ３３０で、ジョブ仮想マシンは、ジョブ管理サービスにステータスメッセージを送信する。その後、ステップ３３２で、ステータスメッセージは、ジョブ管理サービスからユーザへ転送される。
【００２７】
ジョブが完了すると、ステップ３３４で、ジョブ仮想マシンは、ジョブ管理サービスへ完了通知を送信する。ステップ３３６で、ジョブ管理サービスは、ジョブ仮想マシンにメッセージを送信して結果を要求し、ステップ３３８で、ジョブ仮想マシンは結果を返信する。その後、ステップ３４０で、ジョブ管理サービス３０２は、ジョブ仮想マシンのシャットダウンを要求する。例えば、ジョブ管理サービス３０２は、マネージャ仮想マシンにシャットダウン要求を送信し、ステップ３４２で、マネージャ仮想マシンは、ジョブ仮想マシンが使用した資源のステップ３４４におけるクリーンアップ処理を含めて、ジョブ仮想マシンのシャットダウンを制御する。図６を参照することにより、ジョブ仮想マシンのシャットダウンの詳細について説明する。
【００２８】
図６を参照することにより、マネージャ仮想マシンを介したジョブ仮想マシンのシャットダウンに関連するロジックの一実施例について説明する。ステップ５００で、マネージャ仮想マシンは、ジョブ仮想マシンをシャットダウンするための要求を取得する。したがって、ステップ５０２で、マネージャ仮想マシンはシャットダウンを実行する。一具体例では、このステップは、マネージャ仮想マシンから通信サービスへコマンドを送信することを含む。シャットダウンコマンドの一具体例は、以下の通りである。
【００２９】
ｒｅｘｅｃ−１  ｖｍ＿ｕｓｅｒｉｄ−ｐ  ｖｍ＿ｐａｓｓｗｏｒｄ  ｖｍ＿ｈｏｓｔｎａｍｅ  ｓｈｕｔｄｏｗｎ  ｔａｒｇｅｔ＿ｕｓｅｒｉｄ
【００３０】
そのコマンドの受信に呼応して、ステップ５０４で、通信サービスは、ジョブ仮想マシンをシャットダウンするために、リナックスシャットダウンコマンドのようなシャットダウンコマンドをジョブ仮想マシンに送信する。さらに、ステップ５０６で、ジョブ仮想マシンに割り当てられた任意の付加的な資源が復帰処理される。一具体例では、このステップは、復帰処理される資源の種類に依存する適切なＤＩＲＭＡＩＮＴ／ＲＡＣＦコマンドを発行することにより達成される。例えば、復帰処理される資源が仮想記憶領域であるとき、例えば、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＳＴＯＲＡＧＥ  ５１２Ｍコマンドが、仮想記憶領域レベルをその当初量に復帰処理するために発行される。同様に、仮想プロセッサが復帰処理されるとき、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＣＰＵ  ｃｐｕａｄｄｒ  ＤＥＬＥＴＥコマンドが、仮想プロセッサを削除処理するために発行される。さらなる具体例として、ファイルシステムスペースを削除処理するために、ＤＩＲＭ  ＦＯＲ  ｕｓｅｒｉｄ  ＤＭＤＩＳＫ  ｖａｄｄｒコマンドが発行される。また、ＲＡＣ  ＲＤＥＬＥＴＥ  ＶＭＭＤＩＳＫ  ｕｓｅｒｉｄ．ｖａｄｄｒコマンドのようなＲＡＣＦコマンドが発行される。
【００３１】
さらに、ステップ５０８で、ジョブ仮想マシンのクリーンアップ処理が実行される。このクリーンアップ処理は、例えば、古いファイルを除去して、ジョブ仮想マシンをその当初の形に配設することを含む。一具体例では、クリーンアップ処理を実行するために、ＤＤＲクローン動作を用いることができる。この動作の一具体例は、２００２年３月発行、バージョン４、リリース３．０の「ｚ／ＶＭ−ＣＰコマンドおよびユーティリティレファレンス」と題するＩＢＭ刊行物ＳＣ２４−６００８−０３で説明されている。
【００３２】
図４に戻ると、ユーザにより選択された所定時点に、ステップ３４６で、ユーザが、結果を回収するためにジョブ管理サービスに要求を送信し、ステップ３４８で、ジョブ管理サービスは、ユーザへ結果を返信する。これにより、要求の処理が終結する。
【００３３】
各要求が、個々に独自のオペレーティングシステムを有する個別の仮想マシンにより処理されうる機能について、上で詳述されている。これは、処理される要求間の分離を有利に提供する。本明細書において、要求の具体例が供されているが（例えば、ジョブ要求）、本発明の１つ以上の態様が、他の種類の要求に適用可能である。さらに、ジョブ要求は、本明細書で説明されたものと比較して、付加的な情報、より少ない情報、または異なった情報を含みうる。
【００３４】
また、特定の要求を実行処理するために、環境の中のどのノードが最適かを判断するために、多様なマネージャ仮想マシンと通信するサービスについて、本明細書に説明されている。環境におけるノードは、同質のノード、異種のノード、またはそれらの組合せ型でもよく、例えば、グリッドコンピューティング環境のような相互に接続された組合せ型でもよい。
【００３５】
一実施例で、グリッドコンピューティング環境について説明されているが、本発明の１つ以上の態様が、非グリッド環境を含む他の環境に適用可能である。さらに、本発明の１つ以上の態様の要旨を逸脱することなく、本明細書に説明された環境に対する多くの変形が可能である。例えば、ノードは、メインフレーム以外でもよく、または、メインフレームと他のクラスのノードの混合、あるいはその両方であってもよい。他の具体例として、ユーザワークステーションおよびジョブ管理サービス用サーバは、本明細書に説明されたものとは異なりうる。さらに、Ｓ／３９０またはｚ／アーキテクチャ以外のアーキテクチャが、本発明の１つ以上の態様を利用可能である。例えば、本発明の１つ以上の態様が、日立製作所から提供されているプラグコンパチブルマシン（ＰＣＭ）とともに、他企業のシステムに適用される。また、他の具体例も可能である。さらに、Ｌｉｎｕｘ（Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓの米国およびその他の国における商標）およびｚ／ＶＭ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）以外のオペレーティングシステムを用いることができる。
【００３６】
さらに他の具体例として、ユーザを自動化されたサービスまたはプログラムで代置できる。さらに、シングルジョブは、同時に複数ノード上で稼動するマルチジョブを含みうる。これは、上述したものと同様に達成される。例えば、ジョブ管理サービスは、複数のマネージャ仮想マシンと連絡を取り、それらのマシンに複数の要求を管理させる。また、他の多くの変形が存在する。
【００３７】
他の具体例として、環境は、１つ以上の区分されたノードを含むことができる。例えば、図７に示すように、環境の中の少なくとも１つのノード６００が、例えば、論理的な区分化により、複数のゾーンまたはパーティションに分割されている。各論理パーティションは、例えば、常駐またはホストオペレーティングシステムと、１つ以上のアプリケーションとを有する単独のシステムとして機能する。さらに、各論理パーティションは、パーティションに割り当てられた物理的プロセッサ６０４のすべて、または所定割合を占める、１つ以上の論理プロセッサを有する。特定のパーティションの論理プロセッサをそのパーティション専用とし、基礎となるプロセッサ資源が、そのパーティション用に確保されるか、あるいは特定のパーティションの論理プロセッサを他のパーティションと共用使用とし、基礎となるプロセッサ資源が潜在的に他のパーティションに使用可能であるようになされうる。論理的な区分化の具体例は、１９８６年１月１４日付で発行された「分割されたマルチプロセッサプログラミングシステム」と題するＧｕｙｅｔｔｅ他の米国特許第４，５６４，９０３号、１９８９年６月２７日付で発行された「データ処理システムの論理的な資源区分化」と題するＢｅａｎ他の米国特許第４，８４３，５４１号、および１９９６年１０月８日付で発行された「論理的に分割されたハードウェアマシンにおいてサーバ機能を提供する方法および装置」と題するＫｕｂａｌａの米国特許第５，５６４，０４０号に説明されている。この環境では、各パーティション（または、そのサブセット）は、その論理パーティション内で処理される要求に対して、１つ以上のジョブ仮想マシンの配置を制御するマネージャ仮想マシンを具備する。
【００３８】
環境の種類によらず、本発明の１つ以上の態様は、未利用の計算能力の利用を可能とするために有利であり、大規模なノードベース設置を有する組織に対して、即時の経済的利益を提供する。通常、システムのユーザは、システムの最大能力の一部を使用するに過ぎず（例えば、約６０％程度）、付加的な作業負荷に対する余裕がある。この未利用能力またはサイクルは、空きスペースと称される。本発明の態様に従って、さらに多くの要求を処理するために、ユーザをさらに増加させたり、または仮想マシンをさらに付加することにより、この空きスペースを利用することができる。これにより、それらの資源の過小利用のために無駄になっている資源量を減じる。一具体例として、メインフレームコンピュータの未利用処理能力を利用し、グリッドコンピューティングに供する。これは、ノード（例えば、メインフレーム）の機能を利用するために、グリッド技術を介してそれらのノードを接続することにより、かつグリッド技術を高めることにより、達成される。
【００３９】
さらなる態様として、現在のノード（またはＬＰＡＲ）上では、１つ以上のジョブを十分処理するために資源が不足しているとき、１つ以上のジョブを、１つのノード（またはＬＰＡＲ）から他のノード（またはＬＰＡＲ）へとマイグレーション可能とすることにより、作業負荷管理がなされる。さらに、他のノード（またはＬＰＡＲｓ）の作業負荷または利用率あるいはその両方に基づいて、資源をノード（またはＬＰＡＲ）に付加したり、あるいはノード（またはＬＰＡＲ）から除去したりできる。各種の作業負荷管理手法は、例えば、１９９５年１２月５日付で発行された「２つ以上の異なる処理目標に基づいてデータ処理システムの作業負荷を管理する装置および方法」と題するＡｍａｎ他の米国特許第５，４７３，７７３号、および１９９７年１０月７日付で発行された「複数の異なる処理目標形態に基づいて分散データ処理システムの作業負荷を管理する装置および方法」と題するＥｉｌｅｒｔ他の米国特許第５，６７５，７３９号に説明されている。
【００４０】
さらなる態様では、仮想マシンをオンデマンドで提供する機能を供し、オンデマンドの仮想マシンが、自動的に立ち上がり、かつ構成される。本明細書で説明された実施例では、このオンデマンドサービスはジョブ要求を処理するために用いられるが、これは、あくまで一具体例に過ぎない。例えば、マシン資源に対する要求を含む多くの種類の要求の処理に、オンデマンドサービスを用いることができる。多くの異なった場面で、仮想マシンのオンデマンド提供を取り入れ、または利用し、あるいはその両方を行うことができる。例えば、顧客が、一定期間、仮想マシンの使用をリース、またはレンタルすることを可能とするために、オンデマンド機能を用いることができる。これは、例えば、オンラインで教育課程を与える教育的な設定において有用である。教育課程を履修する各学生は、特定の日の特定の期間に、各自の仮想マシンを有することができる。また、他の多くの実施例も可能である。
【００４１】
一具体例では、オンデマンドの仮想マシンは、マネージャ仮想マシンと称される他の仮想マシンにより制御される。マネージャ仮想マシンは、オンデマンドの仮想マシンの起動、資源の割り当て、およびシャットダウンを制御する。
【００４２】
さらに、本発明のさらなる態様では、オンデマンドサービスの提供において、自動的にオンデマンドの仮想マシンを提供するロジックが、コンピューティング環境のうちの１つ以上のノード上に分散配置されている。ロジックを分散配置するために、ロジック（例えば、プログラムコード）は、具体例として、回収のために、他のノード（例えば、ユーザ、第三者、顧客など）へアクセス可能なノードに配設されたり、例えば、電子メールまたは他のメカニズムを介して他のノードに送信されたり、記憶媒体（例えば、ディスク、ＣＤなど）に配設され、メール送信されたり、他のノードのディレクトリに直送されたり、または、使用するノードにロードされたり、あるいはそれらすべてまたはいくつかが行われることが可能である。
【００４３】
本発明は、例えばコンピュータの使用可能な媒体を有する製品（例えば、１つ以上のコンピュータプログラム）に具備されうる。媒体は、その中に、例えば、本発明の機能を供し、かつ容易にするためのコンピュータ可読プログラムコード手段またはロジック（例えば、指示、コード、コマンドなど）を有する。製品をコンピュータシステムの一部として具備することができ、または製品を単独で販売することができる。
【００４４】
さらに、本発明の機能を実行するマシンにより実行可能な、少なくとも１つの指示プログラムを具現するマシンにより読み込み可能な、少なくとも１つのプログラム記憶デバイスを提供することができる。
【産業上の利用可能性】
【００４５】
本明細書で示されたフローチャートは、あくまで一例に過ぎない。本発明の要旨を逸脱することなく、そこで説明されたこれらの図またはステップ（または動作）に対する多くの変形が可能である。例えば、ステップを異なった順序で実行でき、もしくはステップを付加、削除、または修正することができる。これらの変形のすべてが、請求の範囲に記載されている発明の一部であると見なされる。
【図面の簡単な説明】
【００４６】
本発明と見なされる内容が特に示され、本明細書の結論における請求項の中で明瞭に記載されている。本発明の特徴および利点は、添付図面とともに後述の詳細な説明から明らかである。
【００４７】
【図１】本発明の１つ以上の態様を組込みかつ用いるコンピューティング環境の一実施例を示す。
【図２】本発明の態様に従って用いられた図１のコンピューティング環境の数個の構成要素の一実施例を示す。
【図３】本発明の態様の、図２の複数の構成要素の結合の一実施例を示す。
【図４】本発明の態様の、コンピューティング環境の選択されたノード上での要求処理に関連するロジックの一実施例を示す。
【図５】本発明の態様の、要求を実行処理する仮想マシンの起動に関連するロジックの一実施例を示す。
【図６】本発明の態様の、仮想マシンのシャットダウン処理に関連するロジックの一実施例を示す。
【図７】本発明の態様の、複数のパーティションに分割された図１のノードの一実施例を示す。
【符号の説明】
【００４８】
１０２  ユーザワークステーション
１０４、２０６、３０２  ジョブ管理サービス
１０６  データセンタ
１０８、２００、６００  ノード
２０２、３０４  マネージャ仮想マシン
２０４、３０６  ジョブ仮想マシン
２１０  通信サービス
３００  ユーザ
６０４  中央処理装置（物理的プロセッサ）
【図１】
2007506169.tif 000002
【図２】
2007506169.tif 000003
【図３】
2007506169.tif 000004
【図４】
2007506169.tif 000005
【図５】
2007506169.tif 000006
【図６】
2007506169.tif 000007
【図７】
2007506169.tif 000008
【国際調査報告】
2007506169.tif 000009
2007506169.tif 000010
2007506169.tif 000011