(57)【要約】通信手段により接続された少なくとも２つの物理マシンを使用するアプリケーションの管理方法において、これらのマシンが、このマシンに適した第１ソフトウェアレイヤ、並びに仮想マシンが作動するようになるバーチャルレイヤを形成する第２レイヤがロードされる物理構造を備え、これらの仮想マシンが少なくとも１つのアプリケーションを備える方法であって、管理プロセスにより、複数のアプリケーションをまとめたサービスのシステムを定義する工程と、各バーチャルレイヤに結合された仮想マシンの状態を判定するために、管理プロセスと各バーチャルレイヤの間で通信する工程と、アプリケーションの特性を考慮して、バーチャルレイヤのうちの１つに仮想マシンを割り当てる工程とを含む方法。
2006505842.tif 000002
【特許請求の範囲】
【請求項１】
通信手段により接続された少なくとも２つの物理マシンを使用するアプリケーション(APP1, APP2, APP3)の管理方法において、これらのマシンが、このマシンに適した第１ソフトウェアレイヤ(OSB)、並びに仮想マシンが作動するようになるバーチャルレイヤ(CV)を形成する第２レイヤがロードされる物理構造を備え、これらの仮想マシンが少なくとも１つのアプリケーション(APP1, APP2, ...APP5)を備える方法であって、
‐  物理マシンネットワークを形成するために少なくとも２つの物理マシンを接続する工程と、
‐  各物理マシンのバーチャルレイヤ(CV)に関連付けられた制御プログラム(MR)をロードする工程と、
‐  制御プログラム(MR)とシステムの管理プロセス(PG)の間で対話を確立する工程と、
‐  バーチャルレイヤ(CV)を含む物理マシンネットワークを確立する工程と、
‐  管理プロセス(PG)により、複数のアプリケーション(APP1, APP2, ...APP5)をまとめたサービス(S1, S2, S3)のシステムを定義する工程と、
‐  各バーチャルレイヤ(CV)に結合された仮想マシンの状態を判定するために、管理プロセス(PG)と前記バーチャルレイヤの間で通信する工程と、
‐  アプリケーションの特性を考慮して、バーチャルレイヤのうちの１つに仮想マシンを割り当てる工程と
を含むアプリケーションの管理方法。
【請求項２】
制御プログラム(MR)が、バーチャルレイヤ(CV)が置かれる各物理マシンの状態を判定するための手段を備え、この状態を通信手段により管理プロセス(PG)に通知することを特徴とする、請求項１に記載の方法。
【請求項３】
管理プログラム(MR)が、該当する物理マシンのバーチャルレイヤに結合された各仮想マシンの状態を判定するための手段を備え、この状態を通信手段により管理プロセス(PG)に通知することを特徴とする、請求項１及び２に記載の方法。
【請求項４】
管理プロセス(PG)が、
‐  仮想マシン(MV1, ...MV5)の特性及びそれらの運転に必要なリソースを決定する工程と、
‐  仮想マシンに物理マシンのバーチャルレイヤを割り当てる工程と、
‐  制御プログラム(MR)により仮想マシンの動作状態を監視する工程と、
‐  サービスを構成する各仮想マシンの状態を組み合せる工程と、
‐  この状態をオペレーターに送信する工程と
を実行することを特徴とする、請求項１ないし３いずれか１項に記載の方法。
【請求項５】
第２物理マシン上を第１物理マシンの仮想マシンが移動する際、管理プロセス(PG)が、
‐  第１物理マシン上に位置する制御プログラム(MR)に停止指令を送信する工程と、
‐  第１物理マシン上に位置する停止された仮想マシンに固有なデータを確立する工程と、
‐  これらのデータを第２物理マシンに転送する工程と、
‐  停止された仮想マシンを第２物理マシンに割り当てる工程と、
‐  仮想マシンを起動する工程と
を実行することを特徴とする、請求項４に記載の方法。
【請求項６】
仮想マシンの起動に成功すると、管理プロセス(PG)がこの仮想マシンに固有のデータを削除する指令を制御プログラム(MR)に送信することを特徴とする、請求項５に記載の方法。
【請求項７】
管理プロセス(PG)が、あるサービスに関する仮想マシンの動作の条件の定義を含むこと、及び物理マシンのバーチャルレイヤ上の仮想マシンの割り当て及び別のレイヤへの前記仮想マシンの移動がこれらの条件を考慮することを特徴とする、請求項１ないし６いずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は通信網に接続されたマシンの分野に関し、より詳細にはバーチャルマシンの管理に関するものである。
【背景技術】
【０００２】
バーチャルという用語は極めてよく使われており、通常、実システムのモデリング及びシミュレーションを指す。
【０００３】
情報処理マシンの分野においては、従来の例は保存システムのバーチャル化である。
【０００４】
マシンは、ハードディスクに直接アクセスする代わりに、物理的仕様が分からない仮想ディスクにアクセスする。保存要求は、保存又は回収要求を受信する適切なインタフェースにより処理され、単数又は複数の物理ディスクとともに変換を実施する。またハードウェア構成は例えば様々な種類のユニット（磁気ディスク、フラッシュメモリなど）の異種であってもよいが、エンドユーザにとってはバーチャル表示はユニークである。
【０００５】
原理は簡単であり、この仮想ユニット上の保存要求が物理的容量を超過すると、ユーザからは見えない方法で新しい物理ユニットが追加される。
【０００６】
ＶＭＷａｒｅ（登録商標）、ＩＢＭ（登録商標）、又はＣｏｎｎｅｃｔｉｘ（登録商標）などの会社は、オペレーティングシステム部分も含めた完全な仮想マシンの生成など、次の工程のバーチャリティに対しソフトウェアソリューションを提供するため、ソリューションを提案している。
【０００７】
この方法によれば、保存手段、計算手段、及び通信手段に関してそれぞれが独自の基準を満たす複数の仮想マシンを生成することにより、１つの物理マシンを共有することが可能になる。
【０００８】
そのような仮想マシン上で走るアプリケーションは、物理マシンには依存しないため、移動が容易であるという長所を有する。物理マシンは技術の進歩とともに進化することができるが、アプリケーションは変更する必要がない。
【０００９】
上で説明したように、ある所与のアプリケーションについてより大きな必要性が感じられた場合、物理マシンが交換され、次にアプリケーションが変更されることなく再起動される。画面、ネットワーク、その他の新しいインタフェースは、マシンのローカルレイヤ上で個別の方法で処理され、仮想マシンによりユニークなバーチャル像がアプリケーションに付与される。
【００１０】
この構成はメンテナンス及び新規アプリケーションを簡素にする。実際、このアプリケーションは、同一マシン上で、トランスペアレントな方法で複数のソフトウェア環境下で作動することができる。
【００１１】
この構成は１つのマシン上でしか適用されないため限界がある。ネットワーク構成では、サーバはこの仮想マシンにより初期化され、複数のコンピュータが異なるアプリケーションで作動することができ、各アプリケーションは独自のオペレーティングシステム（Ｌｉｎｕｘ、Ｗｉｎｄｏｗｓ（登録商標）９５／９８、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ．．．）に結合することができる。
【００１２】
この仮想性は１つのマシンしか対象にせず、１つのレベルのアプリケーションしか可能でないため限度がある。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、アプリケーションを含む複数の仮想マシンを使用することができ、サービスを形成するためにこれらのアプリケーションを連合させることができる方法を提供することである。
【課題を解決するための手段】
【００１４】
この目的は、通信手段により接続された少なくとも２つの物理マシンを使用するアプリケーションの管理方法において、これらのマシンが、このマシンに適した第１ソフトウェアレイヤ、並びに仮想マシンが作動するようになるバーチャルレイヤを形成する第２レイヤがロードされる物理構造を備え、これらの仮想マシンが少なくとも１つのアプリケーションを備える方法であって、
‐  物理マシンネットワークを形成するために少なくとも２つの物理マシンを接続する工程と、
‐  各物理マシンのバーチャルレイヤに関連付けられた制御プログラムをロードする工程と、
‐  制御プログラムとシステムの管理プロセスの間で対話を確立する工程と、
‐  バーチャルレイヤを含む物理マシンネットワークを確立する工程と、
‐  管理プロセスにより、複数のアプリケーションをまとめたサービスのシステムを定義する工程と、
‐  各バーチャルレイヤに結合された仮想マシンの状態を判定するために、管理プロセスと各バーチャルレイヤの間で通信する工程と、
‐  アプリケーションの特性を考慮して、バーチャルレイヤのうちの１つに仮想マシンを割り当てる工程と
を含む方法により達成される。
【００１５】
従ってこの方法は、単数又は複数のアプリケーションを用いるサービスの定義に基いている。仮想マシンが単数又は複数のアプリケーションを含むことができること、及びこれらの仮想マシンがアプリケーションの仮想マシンと適合するバーチャルレイヤを有する物理マシンに向けられることに留意すべきである。管理プロセスの役割は、複数のアプリケーションをまとめたサービスの稼働を表示するための各アプリケーションの管理である。
【００１６】
この管理プロセスは、サービスを構成する全てのアプリケーションを知っているため、そのサービスが起動している又は利用可能であるかどうかを判定することもできる。サービスは例えば、販売中の製品の一覧のためのデータベースのアプリケーション、ユーザインタフェース部分のための情報のプレゼンテーションのアプリケーション、及びセキュア化された支払いのアプリケーションを使用するｅコマースのインターネットサイトとすることができる。仮想マシン上で走るこれらのアプリケーションはそれぞれ、これらマシンの必要性に応じて異なるバーチャルレイヤに割り当てられる。データベースのアプリケーションは大きな保存容量を必要とするが、プレゼンテーションのアプリケーションは高速の通信手段を使用する。
【００１７】
本発明は、アプリケーションの管理、これらのアプリケーションのためのリソースの最適化に関するものであり、より一般的には、本発明により保存容量、通信手段、及び計算能力におけるこれらのアプリケーションの進化に追従することが可能である。
【００１８】
事実、管理プロセスはアプリケーションの監視タスクを実行し、将来の需要を見越す。物理マシンの追加又は交換の場合、このマシンを使用するアプリケーションは管理プロセスにより他のマシンにリダイレクトされる。管理プロセスは旧のマシンのこのアプリケーションに固有な保存データを新しいマシンに移動するためにアプリケーションを中断する。このコピープロセスが実施されると、アプリケーションはこの新しいマシンに割り当てられ、再起動することができる。
【００１９】
本発明及びその長所は、以下に続き、専ら非限定的例として示した添付の図面を参照することにより、よりよく理解されよう。
【発明を実施するための最良の形態】
【００２０】
図１には現在使用可能な構成を示した。物理マシンＭＰＨはＬｉｎｕｘ、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ／２０００のようなオペレーティングシステムＯＳＢを有する。このオペレーティングシステムは物理マシンのハードウェア構成を考慮し、保存ユニットＨＤなどのリソースを管理する。このシステムは使用するハードウェアに固有である、即ち当該ハードウェア（スクリーン、ネットワークカード、ハードディスク等）に固有なプログラム（ドライバ）を有する。
【００２１】
一旦オペレーティングシステムがインストールされると、仮想マシンへのアクセスを可能にするバーチャルレイヤＣＶをロードする。この工程からは、ハードウェア構成に関係なくマシンの挙動、特にマシンの物理的リソースへのインタフェースが同様な一般マシンを操作することができる。
【００２２】
このバーチャルレイヤ上では、必要に応じて異なるオペレーティングシステム（ＯＳ１及びＯＳ２）を使用するアプリケーションＡＰＰ１，ＡＰＰ２，ＡＰＰ３を備える仮想マシンを設置することができる。バーチャルレイヤＣＶへのアクセスはバーチャルハードウェアレイヤＨＤＶを介して行う。シリアルポートへのアクセスの例をみると、アプリケーションＡＰＰＬ１は、そのようなプログラムから期待することができるあらゆる機能を提
供するバーチャルシリアルポートのパイロットにアクセスする。このパイロットは指令をバーチャルレイヤに送信し、バーチャルレイヤは、実際にインストールされているシリアルポートにより指令を変換する。
【００２３】
この仮想マシン構成により、異なるソフトウェア環境を用いる複数のアプリケーションを作動させることができる。
【００２４】
図２は２つの大きな革新がもたらされた本発明の構成を示す図である。
【００２５】
この物理マシンを使用する単数又は複数の仮想マシンＭＶの作動の管理を担当するプロセス制御ＭＲに専用のプログラムが、各バーチャルレイヤＣＶに関連付けられている。このプロセス制御ＭＲは、種々のマシンに関する情報を集中させる管理プロセスＰＧと結合している。
【００２６】
この管理プロセスＰＧは以下の機能を有する：
‐  物理マシンＭＰＨ、それらマシンの構成及びそれらの状態を調べること
‐  バーチャルレイヤＣＶのいずれか一方にアプリケーションＡＰＰを割り当てること
‐  各仮想マシンＭＶの作動を監視すること
‐  仮想マシンＭＶを停止し、この仮想マシンに固有なファイル（データベース、プログラム）を伴って別のバーチャルレイヤに移動すること
‐  １つ以上のアプリケーションに依存するサービスＳ１，Ｓ２，Ｓ３を生成すること
‐  あるサービスを形成するアプリケーションＡＰＰ又は仮想マシンＭＶを監視することにより、サービスの稼働を監視すること
【００２７】
プロセスＰＧの最初のタスクのうちの１つは、ある所与のネットワーク上のモジュールの一覧表作成である。この一覧表作成は、物理マシンＭＰＨ、保存リソース、処理、及び通信に関するこれらマシンの構成、並びにバーチャルレイヤＣＶを通して物理マシンのうちの１つで作動するようになっているアプリケーションＡＰＰを伴った仮想マシンＭＶを網羅する。
【００２８】
一覧表作成が行われると、次の工程は、複数のアプリケーションをまとめたサービスの仕様を決める工程である。次に管理プロセスは、各物理マシンの必要性に応じて様々な仮想マシンを物理マシンに割り当てる。このタイプの構造によく適合するのがｅコマースのサイトの例である。このサイトは、ユーザとのグラフィックインタフェースを行う第１アプリケーションＡＰＰ１からなり、高速接続性能が重視される。第２アプリケーションＡＰＰ２は製品及び顧客データベースを管理する。第２アプリケーションは大容量保存手段を特徴とし、第３アプリケーションＡＰＰ３はセキュア化された支払アプリケーションである。これら３つのアプリケーションはｅコマースのサービスＳ１を形成しているが、サイトが正常な状態にあるとみなすためには作動していなければならない。
【００２９】
次の工程は仮想マシンの起動、即ちより一般的には複数の仮想マシンの起動を発生させるサービスである。
【００３０】
複数のアプリケーションを集約したサービスの概念により、より詳細な管理が可能になる。このサービスを構成するアプリケーションにも、またこれらのアプリケーションが走る物理マシンにも規定を関連付けることが可能である。サービスは、少なくとも２つの異なる物理マシン上で作動することを条件とする複数の同一のアプリケーションを要求することがあることに留意すべきである。
【００３１】
このサービスに関する重要な条件の１つは、様々な条件の起動の順序である。実際、アプリケーションの中には作動するのに他のアプリケーションが存在することを必要とするものや、他のアプリケーションと一緒には起動不可能なものがある。
【００３２】
アプリケーションを停止し、コピーし再起動することができるのと同様に、サービスも同じ特性を有する。コピーはサービスの規定に従い、もし２つの物理マシンが動作条件のうちの１つになっていれば、コピーのプロセスはこの規定に従い、アプリケーションＡがアプリケーションＢとは異なるマシン上で作動することを確認する。
【００３３】
管理プロセスＰＧはサービスの動的監視も備える。少なくとも２つのユーザインターフェースアプリケーションＡ及びＢ並びにデータベースアプリケーションを有するインターネットサイトの例によれば、アプリケーションＡ及びＢのアクティビティが限度値を超過したことをプロセスＰＧが確認すると、このプロセスは同じ種類の新しいアプリケーションＣを起動する。
【００３４】
仮想マシンＭＶ３によりアプリケーションＡＰＰ３が走るマシンＭＰＨ３を交換する場合、プロセスＰＧは仮想マシンＭＶ３を停止し、このマシンを例えばマシンＭＰＨ２に割り当てる。この仮想マシンＭＶ３を再起動するためには、マシンＭＰＨ３の保存ユニットに格納されている支払いデータがマシンＭＰＨ２に転送されることが必要である。
【００３５】
これらのデータはアプリケーションＡＰＰ３に直接リンクされ、分離できない集合を形成していることに留意すべきである。このデータブロックの編成及び分割はアプリケーション自体の問題である。
【００３６】
一旦データのコピーが行われると、仮想マシンＭＶ３及びそのアプリケーションＡＰＰ３は再起動することができ、再びサービスＳ１が利用可能になる。
【００３７】
実施の種類によっては、バーチャルレイヤＣＶ及びベースオペレーティングシステムＯＰＢはただ１つのプログラムしか形成しないようにすることもできる。機能は２つではなくただ１つの製品の中に単純に集約されるが、例えば物理マシン側のハードウェアに結合されたレイヤ、及び外部に単一像を提供するためのバーチャルレイヤＣＶなど２つの機能が存在する。
【００３８】
同様に、バーチャルレイヤＣＶにこのプロセス制御専用プログラムＭＲを直接含めることができる。
【００３９】
管理プロセスＰＧは最適化ツールも備える。実際、使用する技術及び保全手段（無停電電源装置、ＲＡＩＤシステム）により、あるマシンの運用コストは別のマシンとは異なることがあり、アプリケーション、更にはサービスの動作コストを求めることが可能である。
【００４０】
あるマシンのハードウェア特性以外にも、コスト係数及び安全性係数を考慮することが可能である。この知見によりマシンＭＰＨ１０によって示すような物理マシンの分散に門戸が開かれる。点線はこのマシンが他のマシンとは異なる場所に位置することを示している。このように、本発明の構成により、ローカルに接続されたマシンだけでなく、点線ＬＢにより他のサイト内に物理的に設置されたマシンにも仮想マシンを割り当てることが可能である。
【００４１】
この可能性により、所有する情報処理設備の管理に関して新しい展望が開ける。例えば外部リソースは内部リソースと競合するようになる。ただ通信手段のレベルにおいては制約があり、分散マシン上には、ローカルマシンによって提供される同じレイヤが存在する。
【００４２】
あるアプリケーションを構成する際、保存、転送パケット、ＣＰＵの単位当りコスト並びに安全性レベルが考慮される。仮想マシンを構成する際は、例えば安全性の理由から仮想マシンを分散させることを禁止することが可能である。
【００４３】
管理プロセスＰＧは、仮想マシン及びアプリケーションの使用状況に関する統計を作成するために報告手段を有する。このツールにより、需要を見越したり、システムの過負荷に直面する前に保有情報処理設備総数を変えたりすることが可能である。
【００４４】
別の実施形態においては、バーチャルレイヤは仮想マシンを設けるのではなく専用プログラムを実行させることを目的とする。例えば、Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ  Ｂｅａｎ（ＥＪＢ）モジュールを使用するアプリケーションが走るＪａｖａ（登録商標）２  Ｐｌａｔｆｏｒｍ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ（Ｊ２ＥＥ（登録商標））レイヤを有するマシンがこれに該当する。本発明によれば、プロセス制御ＭＲのプログラムは物理マシン上にインストールされ、このＪ２ＥＥ（登録商標）実行レイヤと対話する。機能は仮想マシンの場合と同一であり、例えば管理プロセスＰＧは物理マシン及びアプリケーションを調査し、ある特定の種類のインタープリターを有する物理マシン並びにこの種類のインタープリターを必要とするアプリケーションの一覧表を作成する。
【００４５】
従って管理プロセスの役割は、仮想マシンの運転のためにバーチャルレイヤにより物理マシンが初期化され、その他のマシンがＪ２ＥＥ（登録商標）など個別の環境により初期化される異種環境下で作動することである。
【００４６】
一旦調査が行われると、管理プロセスＰＧはこのアプリケーションが所望した環境に従いアプリケーションの作動を割り当てる。
【００４７】
図２の矢印ＬＡに示す個別の実施形態によれば、管理プロセスＰＧは適切な管理プログラムにより仮想マシンと直接対話することもある。従って例えばバーチャルレイヤＣＶのリソースにアクセスする前でも、プロセスはこのマシン上で走るアプリケーションの状態を知っており、従ってアプリケーションのより精細な制御の実現が可能になる。実際、仮想マシンに直接アクセスすることにより、同一の仮想マシン上の複数のアプリケーションを管理することが可能である。仮想マシンは同一の物理マシンのバーチャルレイヤに割り当てられるが、この仮想マシン上で走るアプリケーションは複数であってもよい。同一の仮想マシン内の各アプリケーションの需要及び統計は、仮想マシンでというよりもアプリケーションにより求められる。
【図面の簡単な説明】
【００４８】
【図１】図１は現状の仮想マシンの動作を説明する図である。
【図２】図２は本発明の構造を説明する図である。
【図１】
2006505842.tif 000003
【図２】
2006505842.tif 000004
【国際調査報告】
2006505842.tif 000005
2006505842.tif 000006
2006505842.tif 000007
2006505842.tif 000008
2006505842.tif 000009
2006505842.tif 000010