(57)【要約】【課題】効率的な運用が可能な計算機システムおよびソフトウェア管理システムを提供する。【解決手段】計算機システムは、複数の物理プロセッサと、複数の物理プロセッサに接続された周辺装置とを有する物理計算機と、物理計算機に接続された管理計算機とを具備する。物理計算機は、それぞれにおいて仮想計算機が構築可能な複数の物理プロセッサ環境を具備し、管理計算機は、複数の物理プロセッサ環境のそれぞれと、その物理プロセッサ環境において実行可能なソフトウェアとの対応を示す環境テーブルを具備する。物理計算機において特定のソフトウェアを実行するとき、環境テーブルを用いて、複数の物理プロセッサ環境から、実行すべきソフトウェアに対応した物理プロセッサ環境が選択され、選択された物理プロセッサ環境に、仮想計算機が構築される。【選択図】図１
2015005080.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理プロセッサと、前記複数の物理プロセッサに接続された周辺装置と、前記複数の物理プロセッサに接続されたメモリとを有する物理計算機と、
前記物理計算機に接続された管理計算機と、
を具備する計算機システムであって、
前記管理計算機は、それぞれ物理プロセッサを有し、それぞれにおいて仮想計算機を構築することが可能な複数の物理プロセッサ環境と、それぞれの物理プロセッサ環境において実行可能なソフトウェアとの対応を示す環境テーブルを具備し、
前記物理計算機においてソフトウェアを実行するとき、前記環境テーブルを用いて、前記複数の物理プロセッサ環境から、実行すべきソフトウェアに対応した物理プロセッサ環境を選択する、計算機システム。
【請求項２】
請求項１に記載の計算機システムにおいて、
前記管理計算機は、複数のソフトウェアが登録されているジョブネットと、前記ジョブネットから実行するソフトウェアを取得するジョブスケジューラとを具備し、
取得したソフトウェアに対して、前記複数の物理プロセッサ環境から、対応する物理プロセッサ環境を選択する、計算機システム。
【請求項３】
請求項２に記載の計算機システムにおいて、
前記管理計算機は、
前記ソフトウェアの実行のときに、その実行において前提となる前記物理計算機における物理リソースと、前記ソフトウェアとの対応を示す資格チェックテーブルと、
前記複数の物理プロセッサ環境のそれぞれと、前記物理計算機における物理リソースとの対応を示すマップテーブルと、
を具備し、
前記資格チェックテーブルと前記マップテーブルとに基づいて、前記環境テーブルを形成する、計算機システム。
【請求項４】
請求項３に記載の計算機システムにおいて、
前記物理計算機における物理リソースは、前記周辺装置および前記複数の物理プロセッサを含む、計算機システム。
【請求項５】
請求項４に記載の計算機システムにおいて、
前記ソフトウェアは、ライセンスの対象となるソフトウェアを含む、計算機システム。
【請求項６】
請求項５に記載の計算機システムにおいて、
前記物理計算機は、前記ソフトウェアを実行したとき、そのソフトウェアを実行した物理プロセッサ環境の情報を形成し、記録する、計算機システム。
【請求項７】
それぞれ物理プロセッサを有し、それぞれにおいて仮想計算機を構築することが可能な複数の物理プロセッサ環境を有する物理計算機に接続されるソフトウェア管理システムであって、
前記複数の物理プロセッサ環境のそれぞれと、その物理プロセッサ環境において実行可能なソフトウェアとの対応を示す環境テーブルを具備し、
複数のソフトウェアを実行するとき、前記環境テーブルを用いて、前記複数の物理プロセッサ環境から、実行すべきソフトウェアに対応した物理プロセッサ環境を選択する、ソフトウェア管理システム。
【請求項８】
請求項７に記載のソフトウェア管理システムにおいて、
前記ソフトウェア管理システムは、前記複数のソフトウェアが登録されているジョブネットと、前記ジョブネットから実行するソフトウェアを取得するジョブスケジューラとを具備し、
取得したソフトウェアに対して、前記複数の物理プロセッサ環境から、対応する物理プロセッサ環境を選択する、ソフトウェア管理システム。
【請求項９】
請求項８に記載のソフトウェア管理システムにおいて、
前記ソフトウェア管理システムは、
前記複数のソフトウェアのそれぞれの実行のときに、その実行に対して前提となる前記物理計算機における物理リソースと、実行するソフトウェアとの対応を示す資格チェックテーブルと、
前記複数の物理プロセッサ環境のそれぞれと、前記物理計算機における物理リソースとの対応を示すマップテーブルと、
を具備し、
前記チェックテーブルと前記マップテーブルとに基づいて、前記環境テーブルを形成する、ソフトウェア管理システム。
【請求項１０】
請求項９に記載のソフトウェア管理システムにおいて、
前記複数のソフトウェアは、ライセンスの対象となるソフトウェアを含む、ソフトウェア管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア管理システムおよび計算機システムに関し、特に複数の仮想計算機におけるソフトウェアの管理に有効なソフトウェア管理システムおよび仮想計算機が構築される計算機システムに関する。
【背景技術】
【０００２】
計算機に、複数の仮想計算機を構築する仮想化技術がある。複数の仮想計算機が構築される計算機を、そこに構築される仮想計算機と区別するために、物理計算機と称することがある。物理計算機においては、近年、コアとなる物理プロセッサの数が、増加している。これに伴い、複数の物理計算機を、より少数の物理計算機に集約し、集約した物理計算機に複数の仮想計算機を構築し、仮想計算機によって、業務処理を行う様にして、物理計算機の運用に係わる費用の低減を図ることが進められている。
【０００３】
運用に係わる費用の低減と言う観点で見た場合には、業務処理用のソフトウェアに係わるライセンスの費用についても考慮することが要求される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２６７００９号公報
【特許文献２】特開２０１１−２５３５２３号公報
【特許文献３】特開２０１０−２１８５１７号公報
【特許文献４】特開２０１０−８６５２０号公報
【特許文献５】特開２０１１−２５３３３４号公報
【特許文献６】特開２００７−２７２５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ソフトウェアを実行させるとき、ソフトウェアによっては、物理計算機が物理的に有するリソース（物理リソース）に依存するソフトウェアが存在する。物理リソースとしては、例えば、物理計算機がハード的（物理的）に有する周辺装置を含んでおり、特定の周辺装置（物理リソース）が設置されていることを、その実行の前提としたソフトウェアがある。
【０００６】
仮想化技術としては、複数の技術が存在する。例えば、一つの仮想化技術によれば、周辺装置は、各仮想計算機において、あるいはより上位のレイヤにおいて、エミュレーションにより模擬され、各仮想計算機のゲストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に提供される。また、他の仮想化技術として、特許文献５あるいは特許文献６に記載されている様な論理分割（ＬＰＡＲ）方式の仮想化技術がある。ＬＰＡＲ（Ｌｏｇｉｃａｌ  Ｐａｒｔｉｔｉｏｎ）方式の仮想化技術においては、例えば、物理プロセッサは、常時仮想計算機に割り当てられ、周辺装置は、仮想計算機に割り当てられる。
【０００７】
特定の周辺装置を前提としたソフトウェアを、仮想計算機で実行する場合、その特定の周辺装置をエミュレーションにより模擬する。あるいはその特定の周辺装置が割り当てられている仮想計算機で実行する。後者の場合、ソフトウェアを実行するのに必要とされるデータを、他の仮想計算機からコピーする等の操作（所謂マイグレーション）が必要とされる。これにより、効率的な運用が阻害される可能性が生じる。
【０００８】
特許文献１から特許文献３には、ライセンス管理の技術が記載されている。また、特許文献４には、ＣＰＵ測定機能を仮想化することが記載されている。しかしながら、これらの特許文献１〜６においては、特定の周辺装置を、その実行の前提としたソフトウェアを仮想計算機で実行させるときに、効率的な運用が阻害される可能性が生じることについては、認識されていない。
【０００９】
本発明の目的は、効率的な運用が可能な計算機システムおよびソフトウェア管理システムを提供することにある。
【００１０】
本発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１２】
すなわち、計算機システムは、物理計算機と、物理計算機に接続された管理計算機とを具備している。物理計算機は、それぞれが１個あるいは複数個の物理プロセッサを含み、それぞれにおいて仮想計算機を構築することが可能な複数の物理プロセッサ環境を具備する。管理計算機は、それぞれの物理プロセッサ環境において実行可能なソフトウェアと、その物理プロセッサ環境との対応を示す環境テーブルを有する。ソフトウェアを実行するとき、管理計算機は、環境テーブルを用いて、複数の物理プロセッサ環境から、実行すべきソフトウェアに対応した物理プロセッサ環境を選択し、選択された物理プロセッサ環境で当該ソフトウェアを実行させる。
【００１３】
これにより、特定の物理リソースを前提としたソフトウェアの実行にあたっては、環境テーブルから、そのソフトウェアに対応した物理プロセッサ環境が選択され、選択された物理プロセッサ環境で、ソフトウェアの実行が行われる。このとき、選択された物理プロセッサ環境は、物理プロセッサと特定の物理リソースとを含んでおり、特定の物理リソースを前提としたソフトウェアを実行することが可能で有り、効率的な運用が可能となる。
【００１４】
一実施の形態においては、ＬＰＡＲ方式の仮想化技術を適用した計算機システムが提供される。ＬＰＡＲ方式においては、物理的な周辺装置が仮想計算機に割り当てられる。すなわち、物理的な周辺装置は、物理プロセッサ環境に割り当てられる。これにより、物理プロセッサ環境が選択されたとき、選択された物理プロセッサ環境における周辺装置が、ソフトウェアにより扱われる。
【００１５】
また、一実施の形態においては、実行されるソフトウェアは、ライセンスの対象となるソフトウェアとされる。この場合、ライセンスの対象となるソフトウェアを実行する仮想計算機とその仮想計算機が構築される物理プロセッサ環境が、複数の仮想計算機と複数の物理プロセッサ環境から選択され、特定されることになる。これにより、ライセンスの対象となるソフトウェアについて、管理の容易化を図ることが可能となる。また、一実施の形態においては、ライセンスの対象となるソフトウェアを実行した仮想計算機に関する情報が記録として残される。この記録された情報は、ライセンスの管理における情報として用いることが可能とされる。
【発明の効果】
【００１６】
一実施の形態によれば、効率的な運用が可能な計算機システムおよびソフトウェア管理システムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】一実施の形態に係わる計算機システムの構成を示すブロック図である。
【図２】一実施の形態に係わる計算機システムの初期化処理を示すフローチャート図である。
【図３】一実施の形態における物理プロセッサ環境の構成情報に係わるテーブルの模式図である。
【図４】一実施の形態における物理リソースチェック手段情報に係わるテーブルの模式図である。
【図５】一実施の形態に係わる計算機システムにおけるソフトウェア−物理プロセッサ環境マップ情報を生成する処理を示すフローチャート図である。
【図６】一実施の形態におけるソフトウェア実行資格チェック情報に係わるテーブルの模式図である。
【図７】一実施の形態における連携ソフトウェア情報に係わるテーブルの模式図である。
【図８】一実施の形態における物理プロセッサと物理リソースのマップ情報に係わるテーブルの模式図である。
【図９】一実施の形態におけるソフトウェア−物理プロセッサ環境マップ情報に係わるテーブルの模式図である。
【図１０】一実施の形態に係わる計算機システムの処理を示すフローチャート図である。
【図１１】一実施の形態における移行先指定情報に係わるテーブルの模式図である。
【図１２】一実施の形態に係わる計算機システムの処理を示すフローチャート図である。
【図１３】一実施の形態に係わる計算機システムの処理を示すフローチャート図である。
【図１４】ジョブネットの構成を示す説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
図１は、本発明の一実施の形態に係わる計算機システムの構成を示すブロック図である。同図において、１０２は物理計算機であり、１０１は管理計算機であり、１０５はストレージであり、１０３および１０４はネットワークである。物理計算機１０２と管理計算機１０１は、ネットワーク１０３を介して互いに接続されている。また、ストレージ１０５は、ネットワーク１０４を介して物理計算機１０２に接続されている。
【００２０】
管理計算機１０１においては、インタフェース装置１１３を介して、ネットワーク１０３と管理計算機１０１の内部に設けられているプロセッサ１１２およびメモリ１１１とが接続されている。このインタフェース装置１１３を介して、管理計算機１０１内のプロセッサ１１２およびメモリ１１１は、ネットワーク１０３との間でデータの送受信を行う。また、物理計算機１０２は、インタフェース装置１２３−１および１２３−２を具備しており、インタフェース装置１２３−１は、ネットワーク１０３と物理計算機１０２の内部に設けられているプロセッサ１２２およびメモリ１２１との間を接続しており、ネットワーク１０３とプロセッサ１２２およびメモリ１２１との間のデータの送受信を行う。インタフェース装置１２３−２は、ネットワーク１０４とプロセッサ１２２およびメモリ１２１との間を接続し、ネットワーク１０４とプロセッサ１２２およびメモリ１２１との間でデータの送受信を行う。
【００２１】
また、インタフェース装置１２３−１と１２３−２は互いに接続されている。これにより、管理計算機１０１とネットワーク１０４とが接続され、これらの間でのデータの送受信が可能とされている。ストレージ１０５は、例えば複数のハードディスク装置を含んでおり、ネットワーク１０４に接続されている。ストレージ１０５は、ネットワーク１０４を介してアクセスされ、ネットワーク１０４を介して供給されるデータの書き込みおよび／あるいは読み出しが行われる。
【００２２】
物理計算機１０２は、メモリ１２１とプロセッサ１２２を具備している。特に制限されないが、プロセッサ１２２は、複数の物理プロセッサ１５２を具備している。プロセッサ１２２は、特に制限されないが、メモリ１２１に格納されているプログラムおよびデータに従って動作する。この実施の形態においては、物理計算機１０２に複数の仮想計算機１７１−１から１７１−ｎを構築するために、プロセッサ１２２はハイパーバイザモードで動作させられる。プロセッサ１２２をハイパーバイザモードで動作させるときのプログラム１５１が、メモリ１２１に格納されている。
【００２３】
この実施の形態においては、特に制限されないが、ＬＰＡＲ方式の仮想化技術を用いて、複数の仮想計算機１７１−１〜１７１−ｎが、物理計算機１０２に構築される。すなわち、物理計算機１０２の有する物理リソース（メモリ１２１、プロセッサ１２２および周辺装置等）は、論理的に分割され、分割されたそれぞれの単位が、仮想計算機として機能する。図１に示した例においては、特に制限されないが、それぞれ２個の物理プロセッサ１５２と、メモリ１２１の一部の領域が、論理的に分割された１個の単位とされている。説明を容易にするために、図１において例示されている仮想計算機１７１−１、１７１−２および１７１−ｎのそれぞれは、同じ単位（２個の物理プロセッサ１５２とメモリ１２１の一部の領域）で構築されている。勿論、それぞれの仮想計算機１７１−１〜１７１−ｎが、同じ単位である必要はない。同図では、それぞれの仮想計算機１７１−１、１７１−２および１７１−ｎについては、その単位の範囲が破線で示されている。
【００２４】
この様に、物理計算機１０２に複数の仮想計算機を構築するためのプログラムが、ハイパーバイザのプログラム１５１に含まれ、同図では仮想計算機管理モジュール１６１として示されている。
【００２５】
仮想計算機１７１−１〜１７１−ｎのそれぞれにおいては、ゲストＯＳが動作し、ゲストＯＳの下で、例えば業務処理用のソフトウェアであるアプリケーションプログラム（ＡＰ１〜ＡＰｎ）１８１−１〜１８１−ｎが実行される。
【００２６】
この実施の形態においては、仮想計算機１７１−１〜１７１−ｎのそれぞれが、直接、周辺装置（入力／出力装置等）を利用する様にされている。すなわち、所謂パススルー・モデルが採用されている。仮想計算機１７１−１〜１７１−ｎのそれぞれが、直接利用する周辺装置としては、ネットワーク１０３、１０４と仮想計算機とを接続するインタフェース装置１２３−１、１２３−２等が存在する。同図においては、図面が複雑になるのを避けるために、インタフェース装置１２３−１および１２３−２は、それぞれ１つのブロックとして示されている。しかしながら、各仮想計算機がインタフェース装置を含む周辺装置を直接利用することを明示するために、図１においては、各仮想計算機１７１−１〜１７１−ｎのそれぞれに、周辺装置１９１−１〜１９１−ｎが含まれていることが示されている。この周辺装置１９１−１〜１９１−ｎは、例えば、インタフェース装置１２３−２として機能する。
【００２７】
仮想計算機１７１−１〜１７１−ｎにおいて、それぞれのゲストＯＳおよびアプリケーションプログラム１８１−１〜１８１−ｎが動作する際には、インタフェース装置１２３−２を介してネットワーク１０４に接続されたストレージ１０５に対して、書き込みおよび／あるいは読み出しのアクセスを行う。この場合、各仮想計算機１７１−１〜１７１−ｎは、ストレージ１０５内のそれぞれに対応したディスクイメージ１０５−１〜１０５−ｎに対してアクセスを行う。例えば、仮想計算機１７１−１は、ディスクイメージ１０５−１に対してアクセスを行い、仮想計算機１７１−２は、ディスクイメージ１０５−２に対してアクセスを行う。
【００２８】
ディスクイメージ１０５−１〜１０５−ｎは、１つのハードディスクに形成することも可能であるが、この実施の形態においては、ディスクイメージ１０５−１〜１０５−ｎ は、互いに異なるハードディスクに形成されている。また、ハードディスクは、異なる種類のハードディスクが混在されている。ハードディスクの種類が異なっているため、インタフェース装置１２３−２を構成する周辺装置１９１−１〜１９１−ｎは、ハードディスクの種類に合わせて、種類の異なるインタフェース装置が混在されている。例えば、周辺装置１９１−１、１９１−２および１９１−３は、互いに異なる。 
【００２９】
なお、ストレージ１０５は、物理的なハードディスク（図示せず）を統合して，ストレージ領域を形成し、その統合されたストレージ領域から各計算機用にディスク領域を切り出し，計算機にディスクイメージ（１０５―１〜１０５−ｎ）としてもよい。
【００３０】
仮想計算機１７１−１〜１７１−ｎのそれぞれを構築することが可能な物理的な構成の環境を、本明細書においては、物理プロセッサ環境と称する。図１に示した仮想計算機１７１−１、１７１−２および１７１−ｎを例にすると、それぞれの仮想計算機を構築することが可能な物理プロセッサ環境は、２個の物理プロセッサ１５２と周辺装置（１９１−１、１９１−２および１９１−ｎ）を有し、物理プロセッサ環境１９５−１、１９５−２、１９５−ｎとして示されている。なお、物理プロセッサ環境の例については、後で図３を用いて更に説明する。
【００３１】
ハイパーバイザモードで動作するプログラム１５１には、実行物理リソース記録処理を行うプログラムが含まれている。後で説明するが、この実行物理リソース記録処理は、特定のソフトウェアを実行したとき、そのソフトウェアを実行したところの仮想計算機およびその仮想計算機が構築された物理プロセッサ環境に関する情報を、履歴として記録に残す処理である。なお、図１では、この実行物理リソース記録処理は、実行物理リソース記録処理部１６３として示されている。
【００３２】
次に、管理計算機１０１について説明する。管理計算機１０１は、上記した様に、プロセッサ１１２とメモリ１１１を具備している。プロセッサ１１２は、メモリ１１１に格納されているプログラムおよびデータ（情報）に基づいて処理を行う。すなわち、後で説明する処理は、メモリ１１１に格納されているプログラムおよびデータ（情報）をプロセッサ１１２が処理することにより、実現される。図１では、これらの実現される処理の内の一部と処理に関する情報が、メモリ１１１内に示されている。図１に示されている処理と情報により、管理計算機１０１は、物理計算機１０２におけるソフトウェアの実行を管理する。そのため、管理計算機１０１はソフトウェア管理システムを構成していると見なすことができる。
【００３３】
図１において、１３２は、ジョブネットであり、上記した複数の仮想計算機１７１−１〜１７１−ｎにおいて実行させる複数のジョブが格納されている。１３１は、ジョブスケジューラであり、ジョブネット１３２に格納されている複数のジョブから、ジョブを取得し、ジョブを実行する仮想計算機を定める。 １３３は、ハイパーバイザ指示モジュールであり、物理計算機１０２内のプロセッサ１２２に対して、ハイパーバイザモードでの動作に関する指示をする。
【００３４】
また、同図において、１４１はソフトウェア実行資格チェック情報、１４２は物理リソースチェック手段情報、１４３はソフトウェア−物理プロセッサ環境マップ情報、１４４は仮想計算機移行処理部、１４５は物理プロセッサ環境の構成情報、１４６は連携ソフトウェア情報である。これらの情報および処理部については、この後、複数の図面を用いて順次説明する。
【００３５】
まず、システムの管理者（システム管理者）が、管理計算機１０１に接続されている入力装置（図示せず）を用いて、物理プロセッサ環境の構成情報１４５、物理リソースチェック手段情報１４２、ソフトウェア実行資格チェック情報１４１および連携ソフトウェア情報１４６をメモリ１１１に登録する。これらの情報の登録は、例えば登録されるべき項目を有するテーブルが予め作成されており、テーブルに情報を入力することにより、達成される。
【００３６】
図３は、物理プロセッサ環境の構成情報１４５を登録する構成情報テーブル１４５の模式図である。なお、本明細書においては、情報とその情報が登録される／登録されたテーブルとに対して同じ符号が付されている。例えば、物理プロセッサ環境の構成情報と、その構成情報が登録される／登録されたテーブルとは、同じ符号１４５が付されている。
【００３７】
物理計算機１０２には、複数の仮想計算機１７１−１〜１７１−ｎが構築される。この複数の仮想計算機を構築することが可能となる様に、物理計算機１０２は、複数の物理プロセッサ環境を有する。言い換えるならば、物理計算機１０２が有する物理リソースが、複数の物理プロセッサ環境に分割される。このとき、それぞれの物理プロセッサ環境は、その物理プロセッサ環境において仮想計算機を構築することが可能となる物理リソースを有する様に分割される。それぞれの物理プロセッサ環境が有する物理的な構成、すなわち物理リソースが、物理プロセッサ環境の構成情報１４５によって規定される。
【００３８】
物理プロセッサ環境の構成情報１４５が登録されるテーブル（構成情報テーブル）１４５は、物理プロセッサ環境を特定する物理プロセッサ環境名が登録される物理プロセッサ環境の列３００、複数の物理プロセッサ環境を識別するための識別情報が登録される識別情報の列３０１、その物理プロセッサ環境の状態が反映される状態の列３０２を有する。また、構成情報テーブル１４５は、各物理プロセッサ環境が有する物理的な構成が登録される列、例えば物理プロセッサの個数が登録される物理プロセッサ数の列３０３、パススルー・モードで接続される周辺装置が登録されるパススルー接続周辺装置の列３０４等を有する。
【００３９】
識別情報の列３０１は、更に複数の列３０５、３０６、３０７に分けられている。この実施の形態においては、列３０７は、物理プロセッサの番号が登録される物理プロセッサ番号の列である。なお、物理プロセッサの番号等の情報は、特定の命令を実行することにより得られる。特に制限されないが、この実施の形態の物理計算機１０２は、複数のシャーシと、それぞれのシャーシに装着された複数のブレードとを有し、各ブレードに複数の物理プロセッサが搭載されて、構成されている。上記した列３０６は、物理プロセッサが搭載されたブレードの番号が登録されるブレード番号の列である。また、上記した列３０５は、物理プロセッサが搭載されたブレードが装着されるシャーシの番号が登録されるシャーシ番号の列である。この様な情報、すなわち物理的な位置に関するシャーシ番号およびブレード番号と、物理プロセッサ番号とによって、複数の物理プロセッサ環境から、一の物理プロセッサ環境を識別することができる。ここでシャーシ番号、ブレード番号、物理プロセッサ番号は、物理プロセッサ環境を識別する情報の一例であり、他に識別可能な情報があれば何でもよい。 例えば、ソケットの位置情報を用いることも可能である。
【００４０】
物理プロセッサ環境には、それを特定するための物理プロセッサ環境名が、物理プロセッサ環境の列３００に登録される。図３には、複数存在する物理プロセッサ環境のうち、例として物理プロセッサ環境１、２、３、４が、構成情報テーブル１４５の行３１１、３１２、３１３、３１４に登録されている例が示されている。このとき、構成情報テーブル１４５の列３０３には、各物理プロセッサ環境における物理プロセッサの個数が登録され、列３０４には、各物理プロセッサ環境における周辺装置が登録される。なお、列３０４に登録される周辺装置は、パススルー・モードで接続される周辺装置が登録される。
【００４１】
構成情報テーブル１４５の行３１１に図１に示した物理プロセッサ環境１９５−１を登録する場合を例にして説明すると、次の様になる。すなわち、行３１１において、列３０６および列３０５には、物理プロセッサ環境１９５−１に含まれる２個の物理プロセッサ１５２が搭載されたブレードの番号およびそのブレードが装着されたシャーシの番号を登録する。また、行３１１において、列３０７には、物理プロセッサ環境１９５−１に含まれる２個の物理プロセッサの番号を登録する。列３０３には、物理プロセッサ環境１９５−１に含まれる物理プロセッサの個数を登録する。この例においては、２個を意味する情報を登録する。また、行３１１における列３０４には、パススルー・モードで接続されている周辺装置、すなわち周辺装置１９１−１を登録する。この様にして、物理プロセッサ環境の構成情報１４５を示す構成情報テーブル１４５に、図１に示した物理プロセッサ環境１９５−１〜１９５−ｎを登録する。
【００４２】
構成情報テーブル１４５において、列３０２は、管理計算機１０１が、各物理プロセッサ環境１、２、３、４における、例えばプログラムの実行状態を認識し、その認識結果を反映する。すなわち、物理プロセッサ環境に、仮想計算機が構築され、プログラムが起動中であれば、実行状態である旨の情報が、その物理プロセッサ環境に対応した構成情報テーブルの行における列３０２に格納される。一方、例えば仮想計算機が未だ構築されていなければ、実行状態でない旨の情報が格納される。
【００４３】
この様に、構成情報テーブル１４５、すなわち物理プロセッサ環境の構成情報１４５によって、仮想計算機を構築することが可能な複数の物理プロセッサ環境が設定される。また、識別情報によって、複数の物理プロセッサ環境から特定の物理プロセッサ環境を特定することができる。さらに、各物理プロセッサ環境の状態、およびそれに含まれる物理リソースを把握することができる。
【００４４】
図４は、物理リソースチェック手段情報する物理リソースチェック手段情報テーブル（手段情報テーブル）１４２の模式図である。同図において、４００は、物理リソースを区別するための物理リソース名を登録する物理リソースの列、４０１は、物理リソースを実行するために必要とされる資格の項目を登録する実行資格チェック手段の列である。また、４０２は、列４０１に登録された資格の項目において、実行を許可するための条件を登録する実行可の列であり、４０３は、列４０１に登録された資格の項目において、実行を許可しないための条件を登録する実行否の列である。
【００４５】
この手段情報テーブル１４２には、仮想計算機において実行される複数のソフトウェアのそれぞれの実行において用いられる物理リソースを想定して、互いに異なる複数の物理リソースを登録する。次に、図４を用いて、登録する例を説明する。
【００４６】
手段情報テーブル１４２において、列４００における行４１１〜４１３に物理リソース１〜３を登録する。物理リソース１（行４１１）としては、資格の項目（列４０１）として、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）を登録し、実行可とする条件（列４０２）として、特定のＷＷＮの値を登録し、実行否とする条件（列４０３）として、特定のＷＷＮの値を除く全ての値を示す「その他」を登録する。物理リソース２（行４１２）としては、資格の項目として、「物理プロセッサ環境の識別情報」を登録し、実行可とする条件としては、特定の「シャーシ番号、ブレード番号、プロセッサ番号」を登録し、実行否とする条件としては、上記した特定を除く全てを意味する「その他」を登録する。また、物理リソース３（行４１３）においては、資格の項目として、「最大物理プロセッサ数（図では最大物理コア数）」を登録し、実行可とする条件としては、「８」を登録し、実行否とする条件としては、「９以上」を登録する。なお、図４では、３個の物理リソース１〜３を示したが、個数はこれに限定されない。
【００４７】
上記したＷＷＮは、全世界において一意に定まる識別子であり、例えば周辺装置に割り当てられる。この様にすることにより、物理リソース１は、所定のＷＷＮの値（識別子）が割り当てられた周辺装置が、含まれている場合のみ実行可能であり、含まれていない場合には実行不可となる。「物理プロセッサ環境の識別情報」は、図３に示した列３０５、３０６および３０７に記載された情報を意味する。これにより、物理リソース２は、実行可とする条件の項に記載された物理プロセッサ環境（例えば、図３の物理プロセッサ環境２）においてのみ、実行可とされ、他の物理プロセッサ環境においては実行不可となる。さらに、物理リソース３においては、物理プロセッサの数が、８個以下の物理プロセッサ環境で実行可能であることを意味している。
【００４８】
上記の様にして登録された物理プロセッサ環境の構成情報１４５（図３）と物理リソースチェック手段情報１４２（図４）を用いて、管理計算機１０１は、初期化処理を行う。該初期化処理により、物理プロセッサ環境と物理リソースのマップ情報（マップ情報）が形成される。形成されたマップ情報を格納する物理プロセッサ環境と物理リソースのマップ情報テーブル（マップテーブル）が、図８に示されている。初期化処理の動作を説明する前に、図８を用いて、マップ情報テーブルを説明する。
【００４９】
図８において、８００は、物理プロセッサ環境名が登録される物理プロセッサ環境の列である。図８において、８１０は行であり、行８１０における列８０１、８０２、８０３には、それぞれ物理リソース名が登録される。このマップ情報テーブルにおいて、列８００におけるそれぞれの行８１１〜８１３には、図３において述べた物理プロセッサ環境名、すなわち物理プロセッサ環境１〜４が登録されている（同図では、１〜３までが示されている）。また、行８１０における列８０１、８０２、８０３のそれぞれは、図４において述べた物理リソース１、物理リソース２、物理リソース３が登録されている。次に説明する初期化処理によって、図８に示したマップ情報テーブルにおいて、物理プロセッサ環境（行８１１〜８１３）と物理リソース（列８０１〜８０３）との交点にＹｅｓあるいはＮｏの情報が登録される。なお、物理リソースおよび物理プロセッサ環境の数は、図８に示した数に制限されない。
【００５０】
初期化処理の説明に戻る。図２は、初期化処理の動作を示すフローチャート図である。ます、Ｓｔａｒｔにより初期化処理が開始される。ステップＳ２０１において、図３に示した物理プロセッサ環境の構成情報１４５と図４に示した物理リソースチェック手段情報１４２を取り込む。次にステップＳ２０２において、物理プロセッサ環境の構成情報テーブル１４５から、図８の物理プロセッサ環境と物理リソースのマップ情報テーブルに情報を登録すべき物理プロセッサ環境を選択する。例えば、図３の物理プロセッサ環境１（行３１１）を選択する。物理プロセッサ環境１を選択した後、ステップＳ２０３において、図４に示した物理リソースチェック手段情報テーブル１４２から、図８の物理プロセッサ環境と物理リソースのマップ情報テーブルに情報を登録すべき物理リソースを選択する。例えば、図４において、物理リソース１（行４１１）を選択する。
【００５１】
選択した物理プロセッサ環境が、選択した物理リソースチェック手段情報における資格の項目（４０１）と実行可とする条件（４０２）を満たすか否かのチェックが、ステップＳ２０４において行われる。上記した例では、物理プロセッサ環境１（行３１１）が選択され、物理リソース１（行４１１）が選択されている。そのため、物理プロセッサ環境１に含まれている周辺装置（例えば、図１における周辺装置１９５−１）のＷＷＮの値が、図４における物理リソース１の実行可とする条件（４０２）の値に合致するか否かのチェックが、ステップＳ２０４において行われる。このチェックの結果として、不一致であれば、次にステップＳ２０６が実行され、一致であれば、次にステップＳ２０５が実行される。
【００５２】
ステップＳ２０５あるいはＳ２０６が実行されることにより、図８に示した物理プロセッサ環境と物理リソースの内、選択した物理プロセス環境と選択した物理リソースとの交点に「Ｙｅｓ」あるいは「Ｎｏ」が登録される。上記した例においては、図８において、物理プロセッサ環境１（行８１１）と物理リソース１（列８０１）との交点に、一致したことを意味する「Ｙｅｓ」が登録されている。
【００５３】
ステップＳ２０７においては、選択した物理プロセッサ環境に対して、全ての物理リソースのチェックおよび登録が完了したか否かの判定が行われる。完了していない場合には、ステップＳ２０３に戻り、完了するまで、繰り返される。ステップＳ２０７において、全ての物理リソースのチェックおよび登録が完了したと判定された場合、ステップＳ２０８が実行される。ステップＳ２０８においては、全ての物理プロセッサ環境に対して、チェックおよび登録が完了したか否かの判定が行われる。完了していない場合には、ステップＳ２０２に戻り、完了するまで、チェックおよび登録が行われる。一方、完了した場合には、初期化処理を終了する（Ｅｎｄ）。
【００５４】
この様にして、図８に示したところの物理プロセッサ環境と物理リソースのマップ情報が生成される。なお、図８に示した物理プロセッサ環境と物理リソースのマップ情報は、後で述べるソフトウェア−物理プロセッサ環境マップ情報１４３を生成するための過程で生成され、この情報を生成したところで破棄される。そのため、図１には記載されていない。勿論、破棄せずに、情報として図８に示した物理プロセッサ環境と物理リソースのマップ情報が、メモリ１１１に保存される様にしてもよい。
【００５５】
この物理プロセッサ環境と物理リソースのマップ情報は、それぞれの物理プロセッサ環境が、想定した物理リソースを具備しているか否かを示している。
【００５６】
次に、システム管理者によって登録されるところのソフトウェア実行資格チェック情報１４１および連携ソフトウェア情報１４６について説明する。
【００５７】
図６は、システム管理者によって登録されるソフトウェア実行資格チェック情報１４１のテーブル（資格チェックテーブル）を示す模式図である。図６において、６００は、実行されるソフトウェアを特定するためのソフトウェア名を登録するソフトウェアの列である。６０１、６０２、６０３のそれぞれは、ソフトウェアを実行する際に、チェックされるべき物理リソースが登録されるチェック対象の列である。実行されるべきソフトウェアによっては、チェックされるべき物理リソースが複数になることがあるため、図６に示した様に、チェック対象の列は複数列（６０１、６０２、６０３）、設けられている。
【００５８】
図６を例にして、登録を説明する。ソフトウェアの列６００には、それぞれ実行されるソフトウェア名（同図ではソフトウェア１、２、３）を、行６１１、６１２、６１３に登録する。各行に登録したソフトウェアを実行する際に前提（必要）とされる物理リソースを、チェック対象の列６０１、６０２、６０３に登録する。ここで、登録されるそれぞれの物理リソースは、図４において説明した物理リソースに該当する。すなわち、図６に示した物理リソース１、２、３のそれぞれは、図４に示した物理リソース１、２、３のそれぞれに該当する。
【００５９】
例えば、ソフトウェア１（行６１１）は、それが実行されるとき、物理リソース１が存在していることが前提とされるため、チェック対象の列６０１に物理リソース１を登録する。ソフトウェア２（行６１２）は、それが実行されるときに、特に物理リソースの制限がないため、チェック対象の列６０１、６０２、６０３には、物理リソースの登録を行わない。また、ソフトウェア３（行６１３）については、それが実行されるとき、物理リソース２および３が前提となるため、物理リソース２および３が、チェック対象の列６０１および６０２に登録される。
【００６０】
ソフトウェアには、それが実行される過程で、他のソフトウェアを呼び出して、他のソフトウェアの処理を利用するソフトウェアも存在する。これに対応するために、システム管理者は、図７に示す連携ソフトウェア情報を登録する。図７は、連携ソフトウェア情報１４６を登録するテーブルの模式図である。同図において、７００は、ソフトウェアを特定するためのソフトウェア名を登録する列であり、７０１、７０２、７０３のそれぞれは、連携するソフトウェア名を登録する対象の列である。連携、すなわち呼び出しを行うソフトウェアは、１個とは限らないため、対象の列は、７０１、７０２、７０３の様に複数列設けられている。
【００６１】
図７に示した例では、ソフトウェア１および３（行７１１、７１３）は、その実行過程において、呼び出し（連携）を行うソフトウェアが存在しないため、対象の列には、ソフトウェアは登録されていない。一方、ソフトウェア２（行７１２）は、その実行過程でソフトウェア３を呼び出している。そのため、連携しているとして、対象の列７０１にソフトウェア３を登録する。
【００６２】
次に、図６に示したソフトウェア実行資格チェック情報１４１、図７に示した連携ソフトウェア情報１４６および図８に示した物理プロセッサ環境と物理リソースのマップ情報を用いて、ソフトウェアと物理プロセッサ環境との関係を示す環境マップ情報を生成する処理を説明する。
【００６３】
ここでも、環境マップ情報を生成する処理を説明する前に、環境マップ情報が格納されるソフトウェア−物理プロセッサ環境マップ情報１４３のテーブルについて説明する。図９は、ソフトウェア−物理プロセッサ環境マップ情報１４３を格納するソフトウェア−物理プロセッサ環境マップ情報テーブル（環境マップ情報テーブルあるいは環境テーブル）１４３の模式図である。図９において、９００は、物理プロセッサ環境を特定するための物理プロセッサ名が格納される物理プロセッサ環境の列である。この環境マップ情報テーブル１４３には、図３において説明した物理プロセッサ環境１、２、３、４のそれぞれが、列９００における行９１１、９１２、９１３に登録されている。なお、同図では、物理プロセッサ環境４は省略されている。
【００６４】
図９において、９１０は環境マップ情報テーブル１４３の行であり、行９１０における列９０１、９０２、９０３のそれぞれには、実行されるソフトウェアを特定するためのソフトウェア名が登録される。環境マップ情報テーブル１４３における行９１１〜９１３と列９０１〜９０３とのそれぞれの交点には、行に登録された物理プロセッサ環境において、列に登録されたソフトウェアが実行可能であるか否かの情報が登録される。
【００６５】
次に、環境マップ情報、すなわちソフトウェア−物理プロセッサ環境マップ情報１４３を生成する処理を説明する。図５は、ソフトウェア−物理プロセッサ環境マップ情報１４３を生成する処理を示すフローチャート図である。ソフトウェア−物理プロセッサ環境マップ情報１４３は、先に説明したソフトウェア実行資格チェック情報１４１（図６）、連携ソフトウェア情報１４６（図７）および先に生成した物理プロセッサ環境と物理リソースのマップ情報（図８）に基づいて生成される。生成されたソフトウェア−物理プロセッサ環境マップ情報１４３は、図９に示したテーブルに登録される。
【００６６】
先ず、図５において、Ｓｔａｒｔにより生成の処理が開始される。次に、ステップＳ５０１において、図６および図７で説明したソフトウェア実行資格チェック情報１４１と連携ソフトウェア情報１４６が取り込まれる。
【００６７】
ステップＳ５０２において、図８で説明した物理プロセッサ環境と物理リソースのマップ情報から、検査すべき物理プロセッサ環境を選択する。また、ステップＳ５０３において、先に取り込んだソフトウェア実行資格チェック情報１４１と連携ソフトウェア情報１４６から、実行すべき（登録すべき）ソフトウェアを選択する。次に、ステップＳ５０４において、先に選択したソフトウェアに対して、チェック対象となる物理リソースが存在するか否かの確認を行う。存在するときは、次にステップＳ５０５を実行し、存在しないときは、次にステップＳ５０８を実行する。
【００６８】
ステップＳ５０５においては、存在すると判定されたところのチェック対象の物理リソースが、先に選択した物理プロセッサ環境において実行可能か否かの判定が行われる。この判定は、図８に示したテーブルにおいて、選択した物理プロセッサ環境に対応するテーブル上の行における列との交点に登録されている「Ｙｅｓ」あるいは「Ｎｏ」の情報を確認することにより達成される。ステップＳ５０５において、実行可能と判定されたときには、次にステップＳ５０６が実行され、実行不可と判定されたときには、次にステップＳ５０７が実行される。
【００６９】
ステップＳ５０６およびＳ５０７においては、図９に示した環境マップ情報テーブル１４３への情報の登録が行われる。すなわち、ステップＳ５０５において、実行可能と判定された場合には、選択された物理プロセッサ環境と選択されたソフトウェアに対応する環境マップ情報テーブル１４３（図９）上の行と列の交点に、実行可能であることを示す情報「Ｙｅｓ」を登録する（Ｓ５０６）。一方、ステップＳ５０５において、実行不可と判定された場合には、選択された物理プロセッサ環境と選択されたソフトウェアに対応する環境マップ情報テーブル１４３（図９）上の行と列の交点に、実行可能であることを示す情報「Ｎｏ」を登録する（Ｓ５０７）。登録後、ステップＳ５０８が実行される。
【００７０】
ここで、ステップＳ５０２からＳ５０７までの処理を、図６，図７および図８を用いて、一例を説明する。
【００７１】
例えば、ステップＳ５０２において、マップ情報テーブル（図８）の行８１１における物理プロセッサ環境１が、検査すべき物理プロセッサ環境として選択される。また、ステップＳ５０３において、資格チェック情報テーブル１４１（図６）および連携ソフトウェア情報テーブル（図７）から、登録すべきソフトウェアとして、例えば行６１３（図６）および行７１３（図７）におけるソフトウェア３が選択される。ステップＳ５０４においては、先に選択されたソフトウェア３に対してチェック対象となる物理リソースの存在の有無が、図６および図７のテーブル１４１および１４６を用いて行われる。ソフトウェア３については、図６に示したテーブル１４１から、チェック対象１（列６０１）およびチェック対象２（列６０２）に物理リソース２および物理リソース３が存在することが確認される。
【００７２】
一方、図７に示したテーブル１４６からは、ソフトウェア３については、連携する対象のソフトウェアが登録されていないことが確認される。もし、ここで、ソフトウェア２の様に、連携する対象のソフトウェアが登録されていた場合には、対象のソフトウェア（例えば、選択したソフトウェアがソフトウェア２のときには、ソフトウェア３）についても、図６を用いて、チェック対象の物理リソースの存在を確認する。
【００７３】
チェック対象として物理リソース２および物理リソース３の存在が確認されると、図８に示したマップ情報テーブルにおいて、行８１１〜８１３から、検査すべきとして選択された物理プロセッサ環境１に対応する行８１１が選ばれる。また、図８に示したマップ情報テーブルにおいて、列８０１〜８０３から、存在が確認された物理リソース２および３に対応する列８０２および８０３が選択される。図８に示したマップ情報テーブルにおいて、選択された行８１１と選択された列８０２および８０３とのそれぞれの交点に登録されている情報は「Ｙｅｓ」である。すなわち、物理プロセッサ環境１において、物理リソース２および３は、それぞれ実行可能であることが、ステップＳ５０５において判定される。このことは、言い換えならば、選択されたソフトウェア３は、物理プロセッサ環境１において、実行可能であることを意味している。
【００７４】
実行可能であることが、ステップＳ５０５において判定されたため、ステップＳ５０６が実行される。ここでは、図９に示した環境マップ情報テーブル１４３において、複数の行９１１〜９１３のうち、選択された物理プロセッサ環境１に対応する行９１１と、複数の列９０１〜９０３のうち、選択されたソフトウェア３に対応する列９０３との交点に、実行可能である旨を示す情報「Ｙｅｓ」を登録する。勿論、ステップＳ５０５において、実行不可と判定された場合には、実行不可である旨を示す情報「Ｎｏ」が登録される。
【００７５】
図５の説明に戻る。ステップＳ５０８においては、検査すべき物理プロセッサ環境において、他のソフトウェアのそれぞれに対して、ソフトウェア−物理プロセッサ環境マップ情報が登録されたか否かの判定が行われる。これは、図９に示した環境マップ情報テーブル１４３において、検査すべき物理プロセッサ環境に対応する行において、全ての列に情報が登録されたか否かを判定することにより、達成できる。全てのソフトウェアに対して、登録が完了しているときは、次にステップＳ５０９を実行する。もし、全てのソフトウェアに対して、登録が完了していないときには、ステップＳ５０３へ戻り、ステップＳ５０３からステップＳ５０８を繰り返すことにより、全てのソフトウェアの登録を完了させる。
【００７６】
ステップＳ５０９においては、全ての物理プロセッサ環境に対して、登録が完了しているか否かの判定が行われる。すなわち、図９に示した環境マップ情報テーブル１４３において、全ての行に対して、情報の登録が完了しているか否かの判定が行われる。全ての登録が完了している場合は、ソフトウェア−物理プロセッサ環境マップ情報１４３の生成処理を終了する（Ｅｎｄ）。一方、全ての物理プロセッサ環境に対して登録が完了していないときには、ステップＳ５０２に戻り、ステップＳ５０２からステップＳ５０９を繰り返す。これにより、全ての物理プロセッサ環境に対しての登録を実行する。
【００７７】
ここで生成したソフトウェア−物理プロセッサ環境マップ情報１４３は、特定の物理リソースの存在を、その動作の前提としたソフトウェアが、どの物理プロセッサ環境であれば実行することが可能であるかを示すことになる。
【００７８】
次に、上記の様にして生成したソフトウェア−物理プロセッサ環境マップ情報１４３を用いて、仮想計算機の移行先決定の処理について説明する。この処理により、その実行の前提として、特定の物理リソース（周辺装置等）を必要とするソフトウェアを、適切な物理プロセッサ環境へ提供し、その物理プロセッサ環境を利用して仮想計算機を構築することにより、この様なソフトウェアを実行することが可能となり、計算機システムを効率的に運用することが可能となる。
【００７９】
図１０は、仮想計算機の移行先決定処理の動作を示すフローチャート図である。この処理は、管理計算機１０１において、プログラムを実行することにより達成される。そのため、図１においては、メモリ１１１に仮想計算機移行処理部１４４として記載されている。
【００８０】
まず、図１０において、処理が開始（Ｓｔａｒｔ）されると、ステップＳ１００１が実行される。ステップＳ１００１においては、ジョブネット１３２（図１）に記載されている複数のジョブから、ジョブスケジューラ１３１（図１）が、ジョブを取得する。
【００８１】
ステップＳ１００２においては、取得したジョブに応じたソフトウェアを仮想計算機で実施するために、当該ソフトウェアに基づいて、先に説明したソフトウェア−物理プロセッサ環境マップ情報１４３（図９）から物理プロセッサ環境を選択する。すなわち、図９に示した環境マップ情報テーブル１４３において、行９１０における各列（９０１〜９０３）に登録されている複数のソフトウェアから、取得したジョブに応じたソフトウェアに該当するソフトウェアを選択する。環境マップ情報テーブル１４３において、選択されたソフトウェアを有する列が選択され、選択された列において、実行許可を示す情報「Ｙｅｓ」が格納されている行が選択され、この選択された行に割り当てられている物理プロセッサ環境が、該ソフトウェアに対応する物理プロセッサ環境として選択される。
【００８２】
ステップＳ１００２において選択された物理プロセッサ環境を物理リソースとして利用する仮想計算機を起動させ、その仮想計算機へジョブを移行することが可能か否かの判定が、ステップＳ１００３において行われる。このステップＳ１００３においては、選択された物理プロセッサ環境が、既に仮想計算機により利用され、ジョブ（ソフトウェア）が実行中であるか否かの判定が行われる。この判定においては、例えば図３に示した構成情報テーブル１４５において、列３０２に格納される物理プロセッサ環境の状態が参照される。この列３０２に格納される状態は、図３において説明したが、各物理プロセッサ環境が動作状態か否かを反映している。そのため、列３０２（図３）における状態を確認することにより、物理プロセッサ環境の状態を把握することが可能である。
【００８３】
例えば、選択された物理プロセッサ環境で、仮想計算機が起動中でないと判定されたとき、選択された物理プロセッサ環境を、物理リソースとして利用する仮想計算機を起動させ、当該仮想計算機へジョブを移行することが可能と判定する。移行可能と判定されたときには、次にステップＳ１００５が実行される。一方、移行不可と判定されたときには、次にステップＳ１００４が実行される。
【００８４】
ステップＳ１００４においては、所定の条件が満たさせるまで待機し、所定の条件が満たされたとき、再度ステップＳ１００３を実行させる。ここで、所定の条件とは、例えば、所定時間経過したとき、あるいは選択された物理プロセッサ環境を利用して起動している仮想計算機を他の物理プロセッサ環境へ移行することが完了したときを意味する。
【００８５】
一方、ステップＳ１００５においては、ジョブの移行が可能なため、図３に示した物理プロセッサ環境の構成情報１４５から、ステップＳ１００２において選択された物理プロセッサ環境に対応したところの物理プロセッサ環境の構成情報を取得する。取得した物理プロセッサ環境の構成情報を基にして、仮想計算機の移行先指定情報を作成する。この仮想計算機の移行先指定情報は、その構成の一例が、図１１に模式図として示されている。
【００８６】
仮想計算機の移行先指定情報は、図１１に示されている様なテーブルに格納される。仮想計算機の移行先指定情報として格納される項目としては、仮想計算機識別情報１１００、物理プロセッサ環境識別情報１１０１、物理プロセッサの個数１１０２、メモリ容量１１０３、周辺装置等の物理リソース情報（図示せず）がある。ここで、物理プロセッサ環境識別情報１１０１は、図３で述べたとの同様に、シャーシ番号、ブレード番号、物理プロセッサ番号により構成される。ステップＳ１００５（図１０）では、移行が可能と判定されたとき、選択された物理プロセッサ環境の構成情報（識別情報、物理プロセッサの個数、メモリ容量、物理リソース情報）を図３に示した物理プロセッサ環境の構成情報１４５から取得し、図１１に示したテーブルに格納する。これらの格納に際して、選択された物理プロセッサ環境で起動する仮想計算機を識別するために、仮想計算機識別情報１１００に、例えば識別用に仮想計算機名１１１１を登録する。
【００８７】
ステップＳ１００５（図１０）で作成された仮想計算機の移行先指定情報は、ステップＳ１００６（図１０）において、ハイパーバイザ指示モジュール１３３（図１）により、物理計算機１０２内の仮想計算機管理モジュール１６１に与えられ、仮想計算機への移行の指示がされ、処理を終了する（Ｅｎｄ）。
【００８８】
勿論、物理計算機においては、仮想計算機の移行先指定情報に含まれている物理プロセッサ環境識別情報１１０１等に基づいて、当該識別情報により特定される物理プロセッサ環境を利用して仮想計算機を構築し、起動させる。起動した仮想計算機においては、移行されたジョブ（ソフトウェア）が実行される。
【００８９】
図１４には、ジョブネット１３２に登録されたジョブネットの一例が示されている。図１４においては、ジョブＡＰ１、ＡＰ２およびＡＰ３が登録され、ジョブスケジューラ１３１により、スケジューリングされ、順次実行される。ここで、ジョブＡＰ１では、ソフトウェア１および３が実行され、ジョブＡＰ２では、ソフトウエア２が実行され、ジョブＡＰ３では、ソフトウェア４および３が実行される。
【００９０】
移行されたジョブを実行する仮想計算機は、そのジョブ（ソフトウェア）を実行する際に必要とされる物理リソースを含む物理プロセッサ環境に構築される。そのため、ソフトウェアを実行する際に必要とされる物理リソースを有していない物理プロセッサ環境に構築されている仮想計算機から、当該ソフトウェアを実行するために必要とされる様なデータの移行を減らすことが可能となり、計算機システムの運用の効率化を図ることが可能となる。また、データの移行を低減することが可能となるため、セキュリティの向上も図れる。
【００９１】
図１３は、ジョブスケジューラへの応答処理の動作を示すフローチャート図である。図１３において、管理計算機１０１（図１）は、ステップＳ１３０１において仮想計算機管理モジュール１６１からの結果を受ける。次にステップＳ１３０２において、ジョブスケジューラ１３１に対して、ジョブのスケジュールを指示する。仮想計算機は、例えば、図１４に示したジョブＡＰ１におけるソフトウェア１（３）を実行すると、仮想計算機管理モジュール１６１から、結果が管理計算機１０１に供給される。管理計算機１０１は、ジョブスケジューラ１３１に対してスケジュールを指示する。この指示に応答して、図１０に示した処理が開始される。これにより、ソフトウェア２が、特定の物理リソースを要求するソフトウェアであっても、その特定の物理リソースを有する物理プロセッサ環境が選択され、選択された物理プロセッサ環境に仮想計算機が構築され、ソフトウェア２が実行されることになる。他のソフトウェア１、３および４についても同様である。
【００９２】
図１２は、仮想計算機においてソフトウェアを実行したとき、実行において利用した物理リソース等の情報を記録する処理の動作を示すフローチャート図である。この処理は、ハイパーバイザ・モードで動作する物理計算機１０２において実行される。そのため、図１においては、この処理を行う機能が、実行物理リソース記録処理部１６３として、物理計算機のメモリ１２１内に記載されている。また、図１２では、仮想計算機において、実行が再開されたときからの情報を記録する動作が示されている。
【００９３】
先ず、ステップＳ１２０１において、仮想計算機（例えば、図１の仮想計算機１７１−１）の実行が再開される。仮想計算機が実行を再開することにより、例えば、図１１に示した仮想計算機の移行先指定情報が作成され、仮想計算機管理モジュール１６１（図１）に供給される。
【００９４】
この仮想計算機の移行先指定情報に含まれている仮想計算機名１１１１、物理プロセッサ環境識別情報１１０１に含まれているプロセッサ番号、物理リソース情報が、ステップＳ１２０２において記録される。ステップＳ１２０２において記録した結果の情報は、ステップＳ１２０３において、管理計算機１０１内のハイパーバイザ指示モジュール１３３に通知される。
【００９５】
実施の形態においては、特定の物理リソース、例えば周辺装置を利用するソフトウェアの実行は、ジョブスケジュールのときに、その特定の物理リソースを有する物理プロセッサ環境における仮想計算機において実行される。一方、ソフトウェアに係わるライセンスの課金は、物理プロセッサの数あるいは仮想プロセッサの数に応じて定まる様な例がある。この場合には、特定の物理リソースを前提としたソフトウェアであっても、物理プロセッサあるいは仮想プロセッサの数により、ライセンスに係わる費用が発生することが危惧される。実施の形態においては、特定の物理リソースを前提としたソフトウェアは、その物理リソースを有する物理プロセッサ環境においてのみ実行される。そのため、ライセンスに係わる費用の低減を図ることも可能となる。また、図１２を用いて説明した様に、特定の物理リソースを用いたソフトウェアの実行に関しては、その記録が残される。残された記録は、証拠として提示することも可能である。
【００９６】
上記した実施の形態においては、物理計算機と管理計算機とが別々になっている計算機システムを説明したが、管理計算機は、物理計算機の一部としてもよい。また、実施の形態においては、数個の物理プロセッサ環境、数個の物理リソース、数個のソフトウェア等を例として説明したが、本発明は、その数に限定されない。
【００９７】
上記した実施の形態において述べた物理プロセッサのそれぞれは、１個の半導体集積回路装置に内蔵された１個のプロセッサで有ってもよいし、１個の半導体集積回路装置に内蔵された複数の物理コアのそれぞれで有ってもよい。１個の半導体集積回路装置に内蔵された１個のプロセッサが、１個の物理プロセッサに対応する場合、複数の物理プロセッサは、複数の半導体集積回路装置によって達成される。また、１個の物理プロセッサが、１個の半導体集積回路装置に内蔵された複数の物理コアのうちの１個に対応する場合、１個の半導体集積回路装置によって、複数の物理プロセッサが達成される。なお、本明細書および図面においては、物理プロセッサは、物理コアとも称している場合がある。
【００９８】
以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
【符号の説明】
【００９９】
１０１  管理計算機
１０２  物理計算機
１４１  ソフトウェア実行資格チェック情報
１４２  物理リソースチェック手段情報
１４３  ソフトウェア−物理プロセッサ管理マップ情報
１４４  仮想計算機移行処理部
１４５  物理プロセッサ環境の構成情報
１４６  連携ソフトウェア情報
１７１−１〜１７１−ｎ  仮想計算機
１９５−１〜１９５−ｎ  物理プロセッサ環境
【図１】
2015005080.tif 000003
【図２】
2015005080.tif 000004
【図３】
2015005080.tif 000005
【図４】
2015005080.tif 000006
【図５】
2015005080.tif 000007
【図６】
2015005080.tif 000008
【図７】
2015005080.tif 000009
【図８】
2015005080.tif 000010
【図９】
2015005080.tif 000011
【図１０】
2015005080.tif 000012
【図１１】
2015005080.tif 000013
【図１２】
2015005080.tif 000014
【図１３】
2015005080.tif 000015
【図１４】
2015005080.tif 000016