(57)【要約】【課題】他の情報処理装置に備えられているハードウェア資源の有効利用を実現する。【解決手段】ＨＷリソース管理機能仮想マシン１３は、ネットワークＮに接続される個々のＰＣにそれぞれ備えられるハードウェアリソースを管理し、要求に応じた処理を行える情報処理装置に当該要求を送信して処理結果を取得することが可能なマネージャを有する。ＶＭＭＵＬ１５は、ＶＭＭ１４と仮想マシン１２，１３との間に介在し、業務用仮想マシン１２から発行される要求を受け取ってこれが一定の条件を満たす場合に当該要求をＨＷリソース管理機能仮想マシン１３へ渡すと共に、当該要求に対応する処理結果をＨＷリソース管理機能仮想マシン１３から受け取ってこれを業務用仮想マシン１２へ渡す。【選択図】      図１
2008123303.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアリソースを有し、実計算機として動作する実処理手段と、ハードウェアリソースを用いる処理の要求を行う業務処理手段を有し、仮想計算機として動作する仮想処理手段と、前記仮想処理手段の動作を監視し前記実処理手段と前記仮想処理手段との間の情報の送受を行うことが可能な第１の仮想処理監視手段とを具備し、ネットワークを通じて他の装置と情報の送受を行うことが可能な情報処理装置であって、
前記仮想処理手段は、前記ネットワークに接続される個々の情報処理装置にそれぞれ備えられるハードウェアリソースの一元管理を行い、要求に応じた処理を行える情報処理装置に当該要求を送信して処理結果を取得することが可能なマネージャを有するハードウェアリソース管理手段とを備え、
前記第１の仮想処理監視手段と前記仮想処理手段との間に介在し、前記業務処理手段から発行される要求を受け取ってこれが一定の条件を満たす場合に当該要求を前記ハードウェアリソース管理手段へ渡すと共に、当該要求に対応する処理結果を前記ハードウェアリソース管理手段から受け取ってこれを前記業務処理手段へ渡す第２の仮想処理監視手段を更に具備することを特徴とする情報処理装置。
【請求項２】
前記第２の仮想処理監視手段は、前記ハードウェアリソース管理手段により一元管理されるハードウェアリソースに関するリソース管理情報を有しており、前記業務処理手段から受け取った要求を処理させるべき情報処理装置を前記リソース管理情報に基づいて選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記マネージャの機能は、他の情報処理装置に引き渡すことが可能であることを特徴とする請求項１記載の情報処理装置。
【請求項４】
ハードウェアリソースを有し、実計算機として動作する実処理手段と、ハードウェアリソースを用いる処理の要求を行う業務処理手段を有し、仮想計算機として動作する仮想処理手段と、前記仮想処理手段の動作を監視し前記実処理手段と前記仮想処理手段との間の情報の送受を行うことが可能な第１の仮想処理監視手段とを具備し、ネットワークを通じて他の装置と情報の送受を行うことが可能な複数の情報処理装置により構成されるシステムに適用される情報処理方法であって、
第１の情報処理装置内の前記仮想処理手段により、前記ネットワークに接続される個々の情報処理装置にそれぞれ備えられるハードウェアリソースの一元管理を行い、
前記第１の情報処理装置内において、前記業務処理手段から前記要求が発行された場合に当該要求を前記第１の仮想処理監視手段と前記仮想処理手段との間に介在する第２の仮想処理監視手段により受け取って、これが一定の条件を満たす場合に、前記仮想処理手段を通じて当該要求に応じた処理を行える第２の情報処理装置へ送信し、
前記第２の情報処理装置内において、前記送信された要求を前記仮想処理手段を通じて前記第２の仮想処理監視手段により受け取り、当該要求された処理を前記第１の仮想処理監視手段を通じて前記実処理手段に実行させ、
前記第２の情報処理装置内において、前記第１の仮想処理監視手段から出力される前記実処理手段の処理結果を前記第２の仮想処理監視手段により受け取り、受け取った処理結果を前記仮想処理手段を通じて前記第１の情報処理装置へ送信し、
前記第１の情報処理装置内において、前記送信された処理結果を前記仮想処理手段を通じて前記第２の仮想処理監視手段により受け取り、受け取った処理結果を前記業務処理手段に渡す
ことを特徴とする情報処理方法。
【請求項５】
前記第１の情報処理装置内の前記第２の仮想処理監視手段により、受け取った要求を処理させるべき情報処理装置を、前記一元管理されるハードウェアリソースに関するリソース管理情報に基づいて選択することを特徴とする請求項４記載の情報処理方法。
【請求項６】
前記第１の情報処理装置が停止状態になった場合、前記マネージャの機能が前記第１の情報処理装置内の仮想処理手段から前記第２の情報処理装置内の仮想処理手段へ引き継がれることを特徴とする請求項４記載の情報処理方法。
【請求項７】
個々のハードウェアリソースに関する情報と、個々の処理要求に関する情報とを、別々のネットワークを通じて送受することを特徴とする請求項４記載の情報処理方法。
【請求項８】
ハードウェアリソースを有し、実計算機として動作する実処理機能と、ハードウェアリソースを用いる処理の要求を行う業務処理機能を有し、仮想計算機として動作する仮想処理機能と、前記仮想処理機能の動作を監視し前記実処理機能と前記仮想処理機能との間の情報の送受を行うことが可能な第１の仮想処理監視機能とを具備し、ネットワークを通じて他の装置と情報の送受を行うことが可能な情報処理装置に適用されるプログラムであって、
前記仮想処理機能に設けられ、前記ネットワークに接続される個々の情報処理装置にそれぞれ備えられるハードウェアリソースの一元管理を行い、要求に応じた処理を行える情報処理装置に当該要求を送信して処理結果を取得することが可能なマネージャを有するハードウェアリソース管理機能と、
前記第１の仮想処理監視機能と前記仮想処理機能との間に介在し、前記業務処理機能から発行される要求を受け取ってこれが一定の条件を満たす場合に当該要求を前記ハードウェアリソース管理機能へ渡すと共に、当該要求に対応する処理結果を前記ハードウェアリソース管理機能から受け取ってこれを前記業務処理機能へ渡す第２の仮想処理監視機能と
をコンピュータに実現させることを特徴とするプログラム。
【請求項９】
前記第２の仮想処理監視機能は、前記業務処理機能から受け取った要求を処理させるべき情報処理装置を、前記ハードウェアリソース管理機能により一元管理されるハードウェアリソースに関するリソース管理情報に基づいて選択することを特徴とする請求項８記載のプログラム。
【請求項１０】
前記マネージャの機能は、他の情報処理装置に引き渡すことが可能であることを特徴とする請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化技術を用いて情報処理を行うことが可能な情報処理装置、同装置に適用される情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）などの情報処理装置においては、物理的に実際に存在する実マシン（実計算機）のほかに、仮想マシン（仮想計算機）を導入することにより、実計算機にかかる負荷を軽減し、メモリなどの資源を効率よく使用できるようにする方法が知られている。この種の手法としては、様々なものが提案されている。例えば、特許文献１には、ネットワークを介したコンピュータ間で、ローカルアプリに、仮想化した記憶資源を割り当てる資源運用管理システムが開示されている。
【特許文献１】特開２００５−２１６１５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
また、複数のコンピュータで構成されるコンピュータシステムにおいては、各コンピュータは、一般に、自身が所有しているハードウェア資源を使用する。しかし、自身が所有しているハードウェア資源が何らかの理由で使用できない場合、業務に支障をきたすこととなる。この場合に、他のコンピュータに設けられているハードウェア資源を有効に使用できるようにすることは、容易なことではない。
【０００４】
本発明は上記実情に鑑みてなされたものであり、他の情報処理装置に備えられているハードウェア資源の有効利用を実現する情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、ハードウェアリソースを有し、実計算機として動作する実処理手段と、ハードウェアリソースを用いる処理の要求を行う業務処理手段を有し、仮想計算機として動作する仮想処理手段と、前記仮想処理手段の動作を監視し前記実処理手段と前記仮想処理手段との間の情報の送受を行うことが可能な第１の仮想処理監視手段とを具備し、ネットワークを通じて他の装置と情報の送受を行うことが可能な情報処理装置であって、前記仮想処理手段は、前記ネットワークに接続される個々の情報処理装置にそれぞれ備えられるハードウェアリソースの一元管理を行い、要求に応じた処理を行える情報処理装置に当該要求を送信して処理結果を取得することが可能なマネージャを有するハードウェアリソース管理手段とを備え、前記第１の仮想処理監視手段と前記仮想処理手段との間に介在し、前記業務処理手段から発行される要求を受け取ってこれが一定の条件を満たす場合に当該要求を前記ハードウェアリソース管理手段へ渡すと共に、当該要求に対応する処理結果を前記ハードウェアリソース管理手段から受け取ってこれを前記業務処理手段へ渡す第２の仮想処理監視手段を更に具備することを特徴とする。
【０００６】
本発明に係る情報処理方法は、ハードウェアリソースを有し、実計算機として動作する実処理手段と、ハードウェアリソースを用いる処理の要求を行う業務処理手段を有し、仮想計算機として動作する仮想処理手段と、前記仮想処理手段の動作を監視し前記実処理手段と前記仮想処理手段との間の情報の送受を行うことが可能な第１の仮想処理監視手段とを具備し、ネットワークを通じて他の装置と情報の送受を行うことが可能な複数の情報処理装置により構成されるシステムに適用される情報処理方法であって、第１の情報処理装置内の前記仮想処理手段により、前記ネットワークに接続される個々の情報処理装置にそれぞれ備えられるハードウェアリソースの一元管理を行い、前記第１の情報処理装置内において、前記業務処理手段から前記要求が発行された場合に当該要求を前記第１の仮想処理監視手段と前記仮想処理手段との間に介在する第２の仮想処理監視手段により受け取って、これが一定の条件を満たす場合に、前記仮想処理手段を通じて当該要求に応じた処理を行える第２の情報処理装置へ送信し、前記第２の情報処理装置内において、前記送信された要求を前記仮想処理手段を通じて前記第２の仮想処理監視手段により受け取り、当該要求された処理を前記第１の仮想処理監視手段を通じて前記実処理手段に実行させ、前記第２の情報処理装置内において、前記第１の仮想処理監視手段から出力される前記実処理手段の処理結果を前記第２の仮想処理監視手段により受け取り、受け取った処理結果を前記仮想処理手段を通じて前記第１の情報処理装置へ送信し、前記第１の情報処理装置内において、前記送信された処理結果を前記仮想処理手段を通じて前記第２の仮想処理監視手段により受け取り、受け取った処理結果を前記業務処理手段に渡すことを特徴とする。
【０００７】
本発明に係るプログラムは、ハードウェアリソースを有し、実計算機として動作する実処理機能と、ハードウェアリソースを用いる処理の要求を行う業務処理機能を有し、仮想計算機として動作する仮想処理機能と、前記仮想処理機能の動作を監視し前記実処理機能と前記仮想処理機能との間の情報の送受を行うことが可能な第１の仮想処理監視機能とを具備し、ネットワークを通じて他の装置と情報の送受を行うことが可能な情報処理装置に適用されるプログラムであって、前記仮想処理機能に設けられ、前記ネットワークに接続される個々の情報処理装置にそれぞれ備えられるハードウェアリソースの一元管理を行い、要求に応じた処理を行える情報処理装置に当該要求を送信して処理結果を取得することが可能なマネージャを有するハードウェアリソース管理機能と、前記第１の仮想処理監視機能と前記仮想処理機能との間に介在し、前記業務処理機能から発行される要求を受け取ってこれが一定の条件を満たす場合に当該要求を前記ハードウェアリソース管理機能へ渡すと共に、当該要求に対応する処理結果を前記ハードウェアリソース管理機能から受け取ってこれを前記業務処理機能へ渡す第２の仮想処理監視機能とをコンピュータに実現させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、他の情報処理装置に備えられているハードウェア資源の有効利用を実現することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の実施形態について説明する。
【００１０】
１．  基本構成
図１は、本発明の一実施形態に係る情報処理システムの構成の一例を示す図である。
【００１１】
この情報処理システムは、ネットワークＮを通じて他の装置と情報の送受を行うことが可能な複数の情報処理装置により構成される。これらの情報処理装置は、例えば、パーソナルコンピュータ（ＰＣ）１，２，…として実現される。
【００１２】
複数のＰＣ１，２，…は、それぞれ、実マシン（実処理手段）１１，２１，…、業務用仮想マシン（業務処理手段）１２，２２，…、ＨＷリソース管理機能仮想マシン（ハードウェアリソース管理手段）１３，２３，…、ＶＭＭ（Virtual Machine Monitor）（第１の仮想処理監視手段）１４，２４，…、ＶＭＭＵＬ（Virtual Machine Monitor Upper Layer)（第２の仮想処理監視手段）１５，２５，…などを有する。
【００１３】
実マシン１１，２１，…は、それぞれ、ＨＤＤやメモリ、ＬＡＮ、ＣＰＵなどのハードウェアリソースを有し、物理的に実際に存在する実計算機（物理ＰＣ）として動作するものである。
【００１４】
業務用仮想マシン１２，２２，…およびＨＷリソース管理機能仮想マシン１３，２３，…は、それぞれ、仮想的に存在する仮想計算機として動作するものである。
【００１５】
業務用仮想マシン１２，２２，…には、通常の業務で使用するＯＳ、アプリケーションなどがインストールされている。これら業務用仮想マシン１２，２２，…は、それぞれ、ハードウェアリソースを用いる処理の要求をＶＭＭ１４，２４，…に対して発行したり、当該要求に応じて返されてくる処理結果を受けたりする。一方、ＨＷリソース管理機能仮想マシン１３，２３，…には、ＰＣ１，２，…（実マシン１１，２１，…）に備えられるハードウェアリソースの一元管理を行う機能がインストールされている。これらＨＷリソース管理機能仮想マシン１３，２３，…は、ネットワークＮなどを介して互いに通信を行い、個々のハードウェアリソースに関する情報（リソースの種類やＩＤを示す情報や、使用状況（使用中／不使用の種別など）を示す情報など）の送受を行うことができる。
【００１６】
ＶＭＭ１４，２４，…は、それぞれ、業務用仮想マシン１２，２２，…の動作を監視し、実マシン１１，２１，…と業務用仮想マシン１２，２２，…との間の情報の送受を行うことが可能である。
【００１７】
ＶＭＭＵＬ１５，２５，…は、それぞれ、ＶＭＭ１４，２４，…と、仮想マシン（業務用仮想マシン１２およびＨＷリソース管理機能仮想マシン１３），仮想マシン（業務用仮想マシン２２およびＨＷリソース管理機能仮想マシン２３），…との間に介在するものであり、各ＰＣに備えられる既存のＯＳを変更することなしに実現できるものである。これらＶＭＭＵＬ１５，２５，…は、それぞれ、業務用仮想マシン１２からＶＭＭ１４，２４に対して発行される処理要求を受け取ってＨＷリソース管理機能仮想マシン１３，２３，…に通知したり、ＶＭＭ１４，２４，…から業務用仮想マシン１２，２２，…に対して出力される処理結果などの情報を受け取ってＨＷリソース管理機能仮想マシン１３，２３，…に通知したりすることができる。例えば、ＶＭＭＵＬ１５は、業務用仮想マシン１２から発行される処理要求を受け取ってこれが一定の条件を満たす場合に当該要求をＨＷリソース管理機能仮想マシン１３へ渡すと共に、当該要求に対応する処理結果をＨＷリソース管理機能仮想マシン１３から受け取ってこれを業務用仮想マシン１２へ渡すことができる。
【００１８】
また、ＶＭＭＵＬ１５，２５，…は、それぞれ、ＨＷリソース管理機能仮想マシン１３，２３，…により一元管理されるハードウェアリソースに関するリソース管理情報（ネットワークＮに接続された個々のＰＣ（個々の実マシン）に備えられる各ハードウェアリソースの種類やＩＤを示す情報や、使用状況（使用中／不使用の種別など）や、ＨＷリソース管理機能仮想マシンに関する情報などをまとめたもの）を保持することができる。その場合、ＶＭＭＵＬ１５，２５，…は、業務用仮想マシンのゲストＯＳからのＩ／Ｏ要求などを受け取ったときに、自身が持っているＨＷリソース管理情報を元に、処理を実行する適切なＰＣを選択することができ、当該要求を、パケット化して、ＨＷリソース管理エージェント経由で選択したＰＣに送ることができる。また、ＶＭＭＵＬ１５，２５，…は、それぞれ、他のＰＣ内のＶＭＭＵＬから送られてきた要求パケットをキャッチし、要求内容をチェックして、その要求を自身のＰＣ（実マシン）で処理させることができる。また、ＶＭＭＵＬ１５，２５，…は、それぞれ、自身のＰＣ（実マシン）に対して行われたハードウェアの追加、削除をキャッチして、自身のＨＷリソース管理エージェントに通知することができる。
【００１９】
上記構成において、全てのＨＷリソース管理機能仮想マシン１３，２３，…には、ＨＷリソース管理機能がインストールされている。ＨＷリソース管理機能は、ＨＷリソース管理エージェントとＨＷリソース管理マネージャとで構成されている。ＨＷリソース管理エージェントは、全てのＨＷリソース管理機能仮想マシン１３，２３のＨＷリソース管理機能において有効に動作する（イネーブルの状態である）。一方、ＨＷリソース管理マネージャは、全てのＨＷリソース管理機能仮想マシン１３，２３のうち、１つのＨＷリソース管理機能仮想マシンのＨＷリソース管理機能だけ（図１の例では、ＰＣ１内のＨＷリソース管理機能仮想マシン１３のＨＷリソース管理機能だけ）において有効に動作する（イネーブルの状態である）が、これ以外のＨＷリソース管理機能においては無効の状態に設定される（ディセーブルの状態である）。
【００２０】
上記ＨＷリソース管理エージェントは、自身が属しているＰＣ（実マシン）のＨＷリソース情報を収集して、それを定期的にＨＷリソース管理マネージャへレポートする機能を有する。また、このＨＷリソース管理エージェントは、ＨＷリソース管理マネージャの指示に応じて、自身がＶＭＭＵＬにおいて管理しているＨＷリソース管理情報を更新する機能も有する。また、このＨＷリソース管理エージェントは、ＶＭＭＵＬがキャッチした、新規、または削除されたＨＷリソース情報をＨＷリソース管理マネージャに通知する機能も有する。
【００２１】
上記ＨＷリソース管理マネージャは、ＨＷリソース管理エージェントが収集した各物理ＰＣのＨＷリソース管理情報の全体を管理する。このＨＷリソース管理マネージャは、各ＨＷリソース管理エージェントにより収集されたＨＷリソース情報を取得する機能を有する。また、このＨＷリソース管理マネージャは、各ＨＷリソース管理エージェントに対して各ＨＷリソース管理情報の更新を指示する機能も有する。また、このＨＷリソース管理マネージャが物理ＰＣのシャットダウンなどにより停止状態になった場合には、フェールオーバー機能により、他のＨＷリソース管理機能仮想マシンにインストールされているＨＷリソース管理マネージャが起動される（イネーブルの状態に設定される）。
【００２２】
２．  ＨＷリソース管理機能が各ＰＣのＨＷリソースをＶＭＭＵＬにて予め管理している場合
２．１  Ｇｕｅｓｔ ＯＳからの要求が完了するまでのＶＭＭＵＬの処理
次に、図２のフローチャートおよび図３の概念図を用いて、Ｇｕｅｓｔ ＯＳからの要求が完了するまでのＶＭＭＵＬの処理の動作例を説明する。
【００２３】
（１）ＶＭＭＵＬ（例えば、ＶＭＭＵＬ１５）は、各ＰＣ上のＨＷリソース管理仮想マシンのＨＷリソース管理エージェントからＰＣ全体のＨＷリソース管理情報を定期的に入手し、ＶＭＭＵＬ内部で管理する（ステップＳ１１）。なお、ＨＷリソース情報の収集についての詳細は、後で述べる。
【００２４】
（２）Ｉ／Ｏなど、業務用仮想マシン（例えば、業務用仮想マシン１２）上のＧｕｅｓｔ ＯＳからの処理要求をＶＭＭＵＬが受け取る（ステップＳ１２）。
【００２５】
（３）上記（２）の処理要求が他のＰＣのＶＭＭＵＬで作成されたパケットであるかどうかをチェックする（ステップＳ１３）。
【００２６】
（４）上記（３）でＮｏ（ローカルＰＣのＧｕｅｓｔからの処理要求）の場合、その処理要求をパケット化する（ステップＳ１４）。
【００２７】
（５）ＶＭＭＵＬは、ＶＭＭＵＬ内部で管理しているＨＷリソース管理情報を参照して、Ｇｕｅｓｔ ＯＳからの要求を処理する適切なＰＣを選択する（ステップＳ１５）。
【００２８】
（６）上記（４）で作成したパケットをローカルＰＣ上のＨＷリソース管理エージェントに渡す（ステップＳ１６）。これにより、ＨＷリソース管理エージェントは、処理を行うＰＣ上のＨＷリソース管理エージェントにパケットを送る。以降、パケットを受けた側での処理は、後述の（１０）〜（１３）の通りとなる。
【００２９】
（７）ＶＭＭＵＬは、ＨＷリソース管理エージェントから処理を行ったＰＣからの処理結果を受け取る（ステップＳ１７）。
【００３０】
（８）ＶＭＭＵＬは、処理結果をチェックして、正しく処理されたかどうかをチェックする（ステップＳ１８）。Ｎｏの場合（選択されたＰＣで処理されていない場合）は、上記（５）のＰＣ選択の処理に戻る。
【００３１】
（９）上記（８）でＹｅｓの場合（選択されたＰＣで処理された場合）は、処理要求を行ったＧｕｅｓｔ ＯＳに処理結果を返す（ステップＳ１９）。
【００３２】
（１０）上記（３）でＹｅｓの場合（他ＰＣのＶＭＭＵＬで作成されたパケットの場合）は、パケットを解凍する（ステップＳ２０）。
【００３３】
（１１）ＶＭＭＵＬは、解凍した処理要求をＶＭＭに渡す（ステップＳ２１）。これにより、ＶＭＭは、その要求内容をＰＣに処理させる。
【００３４】
（１２）ＶＭＭＵＬは、ＶＭＭから戻ってくるＰＣでの処理結果を横取りする（ステップＳ２２）。
【００３５】
（１３）ＶＭＭＵＬは、処理結果をＨＷリソース管理エージェントに渡す（ステップＳ２３）。これにより、ＨＷリソース管理エージェントは、要求元のＰＣのＨＷリソース管理エージェントに処理結果を渡す。この後、処理結果を受けた側では、上記（７）以降の処理と同様の処理が行われる。
【００３６】
２．２  ＨＷリソース管理エージェントがＨＷリソース情報を収集してＶＭＭＵＬ内部のＨＷリソース管理情報を更新する処理
次に、図４の概念図を用いて、ＨＷリソース管理エージェントがＨＷリソース情報を収集してＶＭＭＵＬ内部のＨＷリソース管理情報を更新する処理の動作例を説明する。
【００３７】
（１）各ＰＣのＨＷリソース管理エージェントがＶＭＭＵＬ（例えば、ＶＭＭＵＬ２５）にＨＷリソース情報を要求する。
【００３８】
（２）ＶＭＭＵＬは、ＶＭＭ（例えば、ＶＭＭ２４）が管理しているＨＷリソース情報を取得する。
【００３９】
（３）ＶＭＭＵＬは、ＨＷリソース管理エージェントにＨＷリソース情報を返す。
【００４０】
（４）ＨＷリソース管理エージェントは、ＨＷリソース管理マネージャ（例えば、ＨＷリソース管理機能仮想マシン１３内のＨＷリソース管理マネージャ）に、収集したＨＷリソース情報をレポートする。
【００４１】
（５）ＨＷリソース管理マネージャは、各ＰＣのＨＷリソース管理エージェントから受け取ったＨＷリソース管理情報をまとめ、ネットワーク上にある全体のＨＷリソース管理情報を各ＨＷリソース管理エージェントに送る。
【００４２】
（６）各ＨＷリソース管理エージェントは、ＶＭＭＵＬが管理しているＨＷリソース管理情報を更新する。
【００４３】
２．３  ＶＭＭＵＬがＨＷリソースを追加または削除する処理
次に、図５の概念図を用いて、ＶＭＭＵＬがＨＷリソースを追加または削除する処理の動作例を説明する。
【００４４】
（１）ハードウェア（例えば、実マシン２１に備えられるハードウェア）が追加または削除される。
【００４５】
（２）ＶＭＭ（例えば、ＶＭＭ２４）にＨＷの追加または削除のイベントが通知される。
【００４６】
（３）ＶＭＭＵＬ（例えば、ＶＭＭＵＬ２５）がハードウェアの追加または削除のイベントを検知する。
【００４７】
（４）ＶＭＭＵＬがＨＷリソース管理エージェントにＨＷの追加または削除のイベントを通知する。
【００４８】
（５）この後、通知を受けた側では、前述した「２．２」の（１）〜（６）の処理を行う。
【００４９】
２．４  ＨＷリソース管理マネージャのフェールオーバーの処理
次に、図６のフローチャートおよび図７の概念図を用いて、ＨＷリソース管理マネージャのフェールオーバーの処理の動作例を説明する。
【００５０】
（１）ＨＷリソース管理マネージャ（例えば、ＨＷリソース管理機能仮想マシン１３内のＨＷリソース管理マネージャ）が、各ＨＷリソース管理エージェントに対してＨＷリソース管理マネージャ昇格の優先順位を設定する（ステップＳ２１）。
【００５１】
（２）各ＨＷリソース管理エージェントが、ＨＷリソース管理マネージャが停止していることを検知する（ステップＳ２２）。
【００５２】
（３）各ＨＷリソース管理エージェントは、自身のＨＷリソース管理マネージャ昇格優先順位が１であるかをチェックする（ステップＳ２３）。
【００５３】
（４）上記（３）でＹｅｓ(ＨＷリソース管理マネージャ昇格優先順位が１)であれば、同じＨＷリソース管理機能仮想マシンにインストールされているＨＷリソース管理マネージャを起動する（昇格させる）（ステップＳ２４）。Ｎｏであれば、処理を終了する。
【００５４】
（５）昇格したＨＷリソース管理マネージャ（例えば、ＨＷリソース管理機能仮想マシン２３内のＨＷリソース管理マネージャ）は、同じＨＷリソース管理機能仮想マシン内のＨＷリソース管理エージェントが受け取ったＨＷリソース管理情報を読み込む（ステップＳ２５）。
【００５５】
（６）昇格したＨＷリソース管理マネージャは、各ＨＷリソース管理エージェントに対して、ＨＷリソース管理マネージャ昇格優先順位を再設定する（ステップＳ２６）。
【００５６】
３．  ＨＷリソース管理機能がＧｕｅｓｔ ＯＳからの要求毎にＨＷリソースをチェックしＰＣを選択する場合のＶＭＭＵＬの処理
３．１  ＶＭＭＵＬがＧｕｅｓｔ ＯＳからの要求を処理する動作
次に、図８のフローチャートおよび図９の概念図を用いて、ＶＭＭＵＬがＧｕｅｓｔ ＯＳからの要求を処理する動作例を説明する。
【００５７】
（１）Ｉ／Ｏなど、仮想マシン上のＧｕｅｓｔ ＯＳからの処理要求をＶＭＭＵＬ（例えば、ＶＭＭＵＬ１５）が受け取る（ステップＳ３１）。
【００５８】
（２）上記（１）の処理要求が他のＰＣのＶＭＭＵＬで作成されたパケットであるかどうかをチェックする（ステップＳ３２）。
【００５９】
（３）上記（２）でＮｏの場合（ローカルＰＣのＧｕｅｓｔからの処理要求の場合）、その処理要求をパケット化する（ステップＳ３３）。
【００６０】
（４）上記（２）で作成したパケットをローカルＰＣ上のＨＷリソース管理エージェントに渡す（ステップＳ３４）。これにより、ＨＷリソース管理エージェントは、処理を行うＰＣ上のＨＷリソース管理エージェントにパケットを送る。以降、パケットを受けた側での処理は、後述の（７）〜（１０）の通りとなる。なお、処理を行うＰＣの選択については、後述の図１０などにより説明している。
【００６１】
（５）ＶＭＭＵＬは、ＨＷリソース管理エージェントから処理を行ったＰＣからの処理結果を受け取る（ステップＳ３５）。
【００６２】
（６）ＶＭＭＵＬは、処理要求を行ったＧｕｅｓｔ ＯＳに処理結果を返す（ステップＳ３６）。
【００６３】
（７）上記（２）でＹｅｓの場合（他ＰＣのＶＭＭＵＬで作成されたパケットの場合）は、パケットを解凍する（ステップＳ３７）。
【００６４】
（８）ＶＭＭＵＬは、解凍した処理要求をＶＭＭに渡す（ステップＳ３８）。これにより、ＶＭＭは、その要求内容をＰＣに処理させる。
【００６５】
（９）ＶＭＭＵＬは、ＶＭＭから戻ってくるＰＣでの処理結果を横取りする（ステップＳ３９）。
【００６６】
（１０）ＶＭＭＵＬは、処理結果をＨＷリソース管理エージェントに渡す（ステップＳ４０）。これにより、ＨＷリソース管理エージェントは、要求元のＰＣのＨＷリソース管理エージェントに処理結果を渡す。この後、処理結果を受けた側では、上記（５）以降の処理と同様の処理が行われる。
【００６７】
３．２  ＨＷリソース管理エージェントがＧｕｅｓｔ ＯＳの要求を処理するＰＣを選択する動作
次に、図１０のフローチャートおよび図１１の概念図を用いて、ＨＷリソース管理エージェントがＧｕｅｓｔ ＯＳの要求を処理するＰＣを選択する動作例を説明する。
【００６８】
（１）ＨＷリソース管理エージェント（例えば、ＨＷリソース管理機能仮想マシン１３内のＨＷリソース管理エージェント）は、ＶＭＭＵＬ（例えば、ＶＭＭＵＬ１５）からパケットを受け取る（ステップＳ４１）。
【００６９】
（２）ＨＷリソース管理エージェントは、パケットの内容をチェックし、他のＨＷリソース管理エージェントに処理可能かどうか問い合わせる（ステップＳ４２）。
【００７０】
（３）ＨＷリソース管理エージェントは、他のエージェントからの回答を受け取る（ステップＳ４３）。
【００７１】
（４）ＨＷリソース管理エージェントは、上記（３）で処理可能の回答を最初に送ったＰＣを選択する（ステップＳ４４）。
【００７２】
（５）ＨＷリソース管理エージェントは、上記（４）で選択したＰＣのエージェントにパケットを送る（ステップＳ４５）。
【００７３】
（６）ＨＷリソース管理エージェントは、選択したＰＣの処理結果を受け取る（ステップＳ４６）。
【００７４】
（７）ＨＷリソース管理エージェントは、処理されたかどうかをチェックする（ステップＳ４７）。
【００７５】
（８）上記（７）でＹｅｓ（処理された）の場合、ＶＭＭＵＬに処理結果を返す（ステップＳ４８）。Ｎｏの場合（処理されなかった場合）は、上記（２）以降の処理を行う。
【００７６】
４．  ネットワーク構成について
４．１  第１のネットワーク構成例
次に、図１２の概念図を用いて、第１のネットワーク構成例を説明する。
【００７７】
これまでの説明で使用したネットワークＮは変更しない。但し、１つの物理ネットワーク上で、各ＰＣの２種類の仮想マシン（業務用仮想マシンおよびＨＷリソース管理機能仮想マシン）が対応する実マシン内の１枚のネットワークカード（例えば、ＬＡＮカード）を共有する。各仮想マシンには、プライベートＩＰアドレスが設定されており、ＶＭＭでグローバルＩＰアドレスに変換して通信を行う。
【００７８】
４．２  第２のネットワーク構成例
次に、図１３の概念図を用いて、第２のネットワーク構成例を説明する。
【００７９】
各ＰＣがネットワークカード（例えば、ＬＡＮカード）を２枚持つように構成し、ネットワークＮを業務用ネットワークＮ１とＨＷリソース管理専用ネットワークＮ２の２つに分離する。業務用ネットワークＮ１は、業務用仮想マシンが使用するネットワークであり、ＨＷリソース管理専用ネットワークＮ２は、ＨＷリソース管理機能仮想マシンがＨＷリソースを管理するために使用する専用のネットワークである。すなわち、ハードウェアリソースに関する情報と、処理要求や処理結果などに関する情報とを、別々のネットワークを通じて送受するようにしているため、システム全体としてデータ転送に係わる処理の高速化を実現できる。
【００８０】
以上詳述したように上記実施形態によれば、次のような効果が得られる。
【００８１】
１．各ＰＣの仮想マシンは、自身が有しているハードウェアリソースだけでなく、他のＰＣが有しているハードウェアリソースをも含めた、システム全体のリソースを有効に利用できるため、業務における処理の効率化を実現できる。
【００８２】
２．ＨＷリソース管理機能仮想マシンに備えられるエージェントなどの機能により、フェールオーバーの処理が容易となる。
【００８３】
３．仮想マシン上のゲストＯＳに変更を加える必要がなく、低コストで効率のよい業務を実現できる。
【００８４】
上述した実施形態で述べた本発明に係る各種の処理手順は、コンピュータプログラムとして、コンピュータにより読み取り可能な記憶媒体（例えば磁気ディスク，光ディスク，半導体メモリ）に記憶させておき、必要に応じてそれをプロセッサにより読み出して実行するようにしてもよい。また、このようなコンピュータプログラムは、通信媒体を介してあるコンピュータから他のコンピュータに伝送することにより配布することも可能である。
【００８５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態に係る情報処理システムの構成の一例を示す図。
【図２】Ｇｕｅｓｔ ＯＳからの要求が完了するまでのＶＭＭＵＬの処理の動作例を示すフローチャート。
【図３】Ｇｕｅｓｔ ＯＳからの要求が完了するまでのＶＭＭＵＬの処理の動作例を示す概念図。
【図４】ＨＷリソース管理エージェントがＨＷリソース情報を収集してＶＭＭＵＬ内部のＨＷリソース管理情報を更新する処理の動作例を示す概念図。
【図５】ＶＭＭＵＬがＨＷリソースを追加または削除する処理の動作例を示す概念図。
【図６】ＨＷリソース管理マネージャのフェールオーバーの処理の動作例を示すフローチャート。
【図７】ＨＷリソース管理マネージャのフェールオーバーの処理の動作例を示す概念図。
【図８】ＶＭＭＵＬがＧｕｅｓｔ ＯＳからの要求を処理する動作例を示すフローチャート。
【図９】ＶＭＭＵＬがＧｕｅｓｔ ＯＳからの要求を処理する動作例を示す概念図。
【図１０】ＨＷリソース管理エージェントがＧｕｅｓｔ ＯＳの要求を処理するＰＣを選択する動作例を示すフローチャート。
【図１１】ＨＷリソース管理エージェントがＧｕｅｓｔ ＯＳの要求を処理するＰＣを選択する動作例を示す概念図。
【図１２】第１のネットワーク構成例を示す概念図。
【図１３】第２のネットワーク構成例を示す概念図。
【符号の説明】
【００８７】
１，２，３，４…パーソナルコンピュータ（ＰＣ）、１１，２１…実マシン、１２，２２…業務用仮想マシン、１３，２３…ＨＷリソース管理機能仮想マシン、１４，２４…ＶＭＭ（Virtual Machine Monitor）、１５，２５…ＶＭＭＵＬ（Virtual Machine Monitor Upper Layer)。
【図１】
2008123303.tif 000003
【図２】
2008123303.tif 000004
【図３】
2008123303.tif 000005
【図４】
2008123303.tif 000006
【図５】
2008123303.tif 000007
【図６】
2008123303.tif 000008
【図７】
2008123303.tif 000009
【図８】
2008123303.tif 000010
【図９】
2008123303.tif 000011
【図１０】
2008123303.tif 000012
【図１１】
2008123303.tif 000013
【図１２】
2008123303.tif 000014
【図１３】
2008123303.tif 000015