(57)【要約】【課題】サービスを停止することなく、仮想マシン上のあるプロセスについての物理ＣＰＵの割り当てを変更すること。【解決手段】情報処理装置１００は、仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、複数のプロセスのうちのいずれかのプロセスについて、物理ＣＰＵを占有する状態とする要求を受け付ける。情報処理装置１００は、要求を受け付けたことに応じて、仮想マシン上の未使用の論理ＣＰＵを、自装置の未使用の物理ＣＰＵと対応付けて使用状態とする。情報処理装置１００は、複数のプロセスのうちの第１プロセスと同一の第２プロセスを生成して、第２プロセスをスタンバイ状態で、使用状態とした論理ＣＰＵに割り当てる。情報処理装置１００は、使用状態とした論理ＣＰＵに割り当てた第２プロセスをアクティブ状態とし、第１プロセスをスタンバイ状態とする。【選択図】図１
2017220183.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、
前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、前記コンピュータ上の未使用の物理ＣＰＵと対応付けて使用状態とし、
前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
処理を実行させることを特徴とするプロセス管理プログラム。
【請求項２】
前記コンピュータに、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスの動作状況を確認し、
前記第２プロセスが正常起動した場合に、前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
処理を実行させることを特徴とする請求項１に記載のプロセス管理プログラム。
【請求項３】
前記コンピュータに、
前記スタンバイ状態とした前記第１プロセスを終了させる、処理を実行させることを特徴とする請求項１または２に記載のプロセス管理プログラム。
【請求項４】
前記コンピュータに、
前記アクティブ状態とした前記第２プロセスについて、他のプロセスと物理ＣＰＵを共用する状態とする第２の要求を受け付け、
前記第２の要求を受け付けたことに応じて、前記第２プロセスと同一の第３プロセスを生成して、前記第３プロセスをスタンバイ状態で前記仮想マシン上の使用中の論理ＣＰＵに割り当て、
前記使用中の論理ＣＰＵに割り当てた前記第３プロセスをアクティブ状態とし、
前記第２プロセスをスタンバイ状態とする、
処理を実行させることを特徴とする請求項１〜３のいずれか一つに記載のプロセス管理プログラム。
【請求項５】
前記コンピュータに、
前記使用中の論理ＣＰＵに割り当てた前記第３プロセスの動作状況を確認し、
前記第３プロセスが正常起動した場合に、前記第３プロセスをアクティブ状態とし、
前記第２プロセスをスタンバイ状態とする、
処理を実行させることを特徴とする請求項４に記載のプロセス管理プログラム。
【請求項６】
前記コンピュータに、
前記スタンバイ状態とした前記第２プロセスを終了させる、処理を実行させることを特徴とする請求項４または５に記載のプロセス管理プログラム。
【請求項７】
コンピュータが、
仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、
前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、前記コンピュータ上の未使用の物理ＣＰＵと対応付けて使用状態とし、
前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
処理を実行することを特徴とするプロセス管理方法。
【請求項８】
仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、
前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、自装置上の未使用の物理ＣＰＵと対応付けて使用状態とし、
前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス管理プログラム、プロセス管理方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、通信キャリアのネットワークに含まれるネットワーク機器の機能を、物理サーバ上で動作する仮想マシンにより実現する、ＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）と呼ばれる技術がある。通信キャリアのネットワークに含まれるネットワーク機器としては、例えば、呼処理サーバ、認証サーバ、帯域制御サーバ、Ｌ２（Ｌａｙｅｒ２）スイッチ、ルータなどがある。
【０００３】
先行技術としては、例えば、ＮＦＶ環境にてサービス影響の少ないシームレスな仮想マシンの移行を行うために、移行元のＡＣＴ（Ａｃｔｉｖｅ）系仮想マシンと移行先のＳＢＹ（Ｓｔａｎｄｂｙ）系仮想マシンとの系の切り替えを行うものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／１４６３７４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、呼処理サーバのようなレスポンスタイムを保証することが求められるネットワーク機器を仮想マシンとして動作させる場合、リソースを効率的に使用することが難しい。例えば、リソースの使用を最小限に抑えるために、通常運用時は仮想マシン上の複数のプロセス（呼処理プロセス）で１つのＣＰＵを共用する構成とすることが考えられる。この構成では、ＣＰＵを共用しているプロセスが高負荷状態となったときに、プロセスが使用できるＣＰＵのパワーを増やすスケールアップ処理を行うことになる。ところが、従来技術では、スケールアップ時に仮想マシンの再起動が必要となりサービスを中断させることになる。
【０００６】
一つの側面では、本発明は、サービスを停止することなく、仮想マシン上のあるプロセスについての物理ＣＰＵの割り当てを変更することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、未使用の物理ＣＰＵと対応付けて使用状態とし、前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、前記第１プロセスをスタンバイ状態とするプロセス管理プログラム、プロセス管理方法、および情報処理装置が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、サービスを停止することなく、仮想マシン上のあるプロセスについての物理ＣＰＵの割り当てを変更することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかるプロセス管理方法の一実施例を示す説明図である。
【図２】図２は、システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、コンフィグ情報４００の具体例を示す説明図である。
【図５】図５は、論理ＣＰＵ使用状況テーブル５００の記憶内容の一例を示す説明図である。
【図６】図６は、物理ＣＰＵ使用状況テーブル６００の記憶内容の一例を示す説明図である。
【図７】図７は、プロセス管理テーブル７００の記憶内容の一例を示す説明図である。
【図８】図８は、情報処理装置１００の機能的構成例を示すブロック図である。
【図９】図９は、情報処理装置１００のプロセス管理処理例を示す説明図（その１）である。
【図１０】図１０は、情報処理装置１００のプロセス管理処理例を示す説明図（その２）である。
【図１１】図１１は、情報処理装置１００のプロセス管理処理例を示す説明図（その３）である。
【図１２】図１２は、情報処理装置１００のプロセス管理処理例を示す説明図（その４）である。
【図１３】図１３は、情報処理装置１００のプロセス管理処理例を示す説明図（その５）である。
【図１４】図１４は、情報処理装置１００のプロセス管理処理例を示す説明図（その６）である。
【図１５】図１５は、論理ＣＰＵ使用状況テーブル５００の更新例を示す説明図である。
【図１６】図１６は、物理ＣＰＵ使用状況テーブル６００の更新例を示す説明図である。
【図１７】図１７は、プロセス管理テーブル７００の更新例を示す説明図である。
【図１８】図１８は、情報処理装置１００の初期化処理手順の一例を示すフローチャートである。
【図１９】図１９は、情報処理装置１００のスケールアップ処理手順の一例を示すフローチャート（その１）である。
【図２０】図２０は、情報処理装置１００のスケールアップ処理手順の一例を示すフローチャート（その２）である。
【図２１】図２１は、情報処理装置１００のスケールダウン処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかるプロセス管理プログラム、プロセス管理方法、および情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
図１は、実施の形態にかかるプロセス管理方法の一実施例を示す説明図である。図１において、情報処理装置１００は、自装置のハードウェア資源を仮想化して、複数の異なるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）などである。
【００１２】
具体的には、例えば、情報処理装置１００は、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）によってＯＳを稼働させることができる。仮想マシンとは、物理的なコンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。
【００１３】
また、情報処理装置１００は、仮想マシン上のプロセスと論理ＣＰＵと物理ＣＰＵとの対応関係を管理する。プロセスとは、プログラムの実行単位である。論理ＣＰＵとは、物理ＣＰＵの処理（性能）を分割し、仮想マシンのＣＰＵとして構成したものである。物理ＣＰＵとは、実際に存在するＣＰＵ（例えば、コア）である。
【００１４】
通信キャリアのネットワークに含まれるネットワーク機器として、レスポンスタイムを保証することが求められる呼処理サーバがある。呼処理サーバを仮想マシンとして動作させる場合、レスポンスタイムを保証することが前提であるため、１つの論理ＣＰＵが１つの物理ＣＰＵを占有し、物理ＣＰＵの切り替えが発生しない構成とすることが多い。
【００１５】
すなわち、仮想マシン上の１つのプロセス（呼処理プロセス）が１つの物理ＣＰＵを占有して、ピークトラフィック時に備えてリソースを確保する構成とすることが多い。しかし、この構成では、全ての物理ＣＰＵをフルパワーで動作させることになるため消費電力を抑えにくい。
【００１６】
消費電力を抑えるには、通常運用時は必要分だけ物理ＣＰＵのパワーを使用するように構成することが望ましい。例えば、通常運用時は複数のプロセスで論理ＣＰＵを共用（共有）し、使用する論理ＣＰＵの数を最小限にしてマッピングする物理ＣＰＵを減らす構成にすることが有効である。
【００１７】
一方で、複数のプロセスで論理ＣＰＵを共用する構成では、論理ＣＰＵを共用しているプロセスが高負荷状態となったときに、論理ＣＰＵを増やして、プロセスが使用できる論理ＣＰＵのパワーを増強するスケールアップ処理が必要となる。ところが、従来技術では、スケールアップ時に仮想マシンの再起動、あるいは、少なくとも当該プロセスの再起動が必要となり、サービスの中断をともなう。
【００１８】
具体的には、呼処理プロセスが論理ＣＰＵを共用する場合、例えば、端末間のセッションを生成する処理で共用するキューが溜まり、処理完了時間の待ちが生じる場合がある。しかし、一度配備したプロセスと論理ＣＰＵの構成の変更はサービスの中断をともなうため待ち状態を解消できない。
【００１９】
そこで、本実施の形態では、「ＣＰＵのＰｉｎｎｉｎｇ技術」と「プロセス切替技術」を利用して、レスポンス時間を保証する処理（プロセス）に対して、サービス無中断でプロセスが使用可能な論理ＣＰＵのパワーを動的に変更可能とするプロセス管理方法について説明する。
【００２０】
ＣＰＵのＰｉｎｎｉｎｇ技術は、論理ＣＰＵと物理ＣＰＵとを１対１で対応付ける技術であり、論理ＣＰＵが使用する物理ＣＰＵを制限することができる。プロセス切替技術は、アクティブ状態のプロセス（ＡＣＴ）とスタンバイ状態のプロセス（ＳＢＹ）とを起動しておき、サービスを中断することなく、プロセス（ＡＣＴ）／プロセス（ＳＢＹ）を切り替えることが可能な技術である。
【００２１】
以下、情報処理装置１００の処理例について説明する。ここでは、情報処理装置１００上で稼働中の仮想マシン１０１を例に挙げて、仮想マシン１０１上のプロセスが使用可能な論理ＣＰＵのパワーを動的に変更する場合について説明する。
【００２２】
（１）情報処理装置１００は、仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、複数のプロセスのうちのいずれかのアクティブ状態であるプロセスについて、物理ＣＰＵを占有する状態とする要求を受け付ける。ここで、複数のプロセスで物理ＣＰＵを共用中とは、プロセスと論理ＣＰＵと物理ＣＰＵとの対応関係が「多：１：１」の状態である。
【００２３】
一方、あるプロセスで物理ＣＰＵを占有する状態とは、プロセスと論理ＣＰＵと物理ＣＰＵとの対応関係が「１：１：１」の状態である。すなわち、情報処理装置１００は、物理ＣＰＵを共用中の複数のプロセスのうちのいずれかのプロセスが使用可能な論理ＣＰＵのパワーを増やすスケールアップ指示を受け付ける。
【００２４】
図１の例では、仮想マシン１０１上のアクティブ状態であるプロセス１１１，１１２が、論理ＣＰＵ１２１を介して物理ＣＰＵ１３１を共用中である。ここでは、プロセス１１１，１１２が高負荷状態となって、情報処理装置１００が、プロセス１１１，１１２のうちのプロセス１１２について、物理ＣＰＵを占有する状態とする要求を受け付けた場合を想定する。
【００２５】
（２）情報処理装置１００は、要求を受け付けたことに応じて、仮想マシン上の未使用の論理ＣＰＵを、自装置の未使用の物理ＣＰＵと対応付けて使用状態とする。未使用の論理ＣＰＵとは、プロセスが割り当てられていない論理ＣＰＵ、すなわち、ホットスタンバイ状態（あるいは、休止状態）の論理ＣＰＵである。また、未使用の物理ＣＰＵとは、論理ＣＰＵが対応付けられていない物理ＣＰＵである。
【００２６】
図１の例では、情報処理装置１００は、ＣＰＵのＰｉｎｎｉｎｇ技術を利用して、仮想マシン１０１上の未使用の論理ＣＰＵ１２２を、自装置の未使用の物理ＣＰＵ１３２と対応付けて使用状態（アクティブ状態）とする。
【００２７】
（３）情報処理装置１００は、複数のプロセスのうちの第１プロセスと同一の第２プロセスを生成して、第２プロセスをスタンバイ状態で、使用状態とした論理ＣＰＵに割り当てる。ここで、第１プロセスは、スケールアップ対象のプロセスである。また、第２プロセスは、第１プロセスと同じ機能のプロセスである。
【００２８】
図１の例では、情報処理装置１００は、プロセス１１１，１１２のうちのプロセス１１２と同じプロセス１１３を生成して、生成したプロセス１１３をスタンバイ状態（ＳＢＹ）で、使用状態とした論理ＣＰＵ１２２に割り当てる。この時点では、プロセス１１２はアクティブ状態（ＡＣＴ）である。
【００２９】
（４）情報処理装置１００は、使用状態とした論理ＣＰＵに割り当てた第２プロセスをアクティブ状態とし、第１プロセスをスタンバイ状態とする。具体的には、例えば、情報処理装置１００は、第２プロセスが正常に起動したことを確認したら、プロセス切替技術を利用して、第２プロセスをアクティブ状態とし、第１プロセスをスタンバイ状態とする。
【００３０】
図１の例では、情報処理装置１００は、例えば、使用状態とした論理ＣＰＵ１２２に割り当てたプロセス１１３の動作状況を確認する。そして、情報処理装置１００は、プロセス１１３が正常に起動したことを確認したら、プロセス１１３をアクティブ状態（ＡＣＴ）とし、プロセス１１２をスタンバイ状態（ＳＢＹ）とする。
【００３１】
このように、情報処理装置１００によれば、仮想マシン上のプロセスについて、物理ＣＰＵを占有する状態とする要求、すなわち、プロセスと論理ＣＰＵと物理ＣＰＵとの対応を「多：１：１」から「１：１：１」とする要求を受け付けることができる。そして、情報処理装置１００によれば、要求された第１プロセスと同じ第２プロセスを生成して、未使用の物理ＣＰＵに対応付けた論理ＣＰＵに割り当て、第１プロセスから第２プロセスへのプロセス切替を行うことができる。これにより、サービスを停止することなく、仮想マシン上のあるプロセスについての物理ＣＰＵの割り当てを変更して、当該プロセスが使用可能な論理ＣＰＵのパワーを動的に変更することができる。
【００３２】
図１の例では、仮想マシン１０１上でプロセス１１１と論理ＣＰＵ１２１を共用中のプロセス１１２を、仮想マシン１０１を再起動することなく、プロセス１１２と同じ機能のプロセス１１３に切り替えることができる。これにより、サービスを中断することなく、スケールアップ対象のプロセスが使用可能な論理ＣＰＵのパワーを増やすことができる。このため、通常運用時は最小限のリソースを使用して消費電力を抑えながら、プロセスが高負荷状態となったら、サービスを停止することなく、プロセスをスケールアップすることができるようになり、負荷変動へ柔軟に対応することが可能となる。
【００３３】
（システム２００のシステム構成例）
つぎに、実施の形態にかかるシステム２００のシステム構成例について説明する。以下の説明では、情報処理装置１００において、ＳＩＰサーバ（呼処理サーバ）を仮想マシンとして動作させる場合を想定する。
【００３４】
図２は、システム２００のシステム構成例を示す説明図である。図２において、システム２００は、情報処理装置１００と、複数の端末２０１と、保守装置２０２と、を含む。システム２００において、情報処理装置１００、端末２０１および保守装置２０２は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、移動体通信網などを含む。
【００３５】
情報処理装置１００は、ホストＯＳ２２０と、ＳＩＰサーバ＃１〜＃ｎと、を含む。ホストＯＳ２２０は、仮想マシンを動作させるための基盤となるＯＳである。ＳＩＰサーバ＃１〜＃ｎは、ゲストＯＳ＃１〜＃ｎを実行する仮想マシンであり、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に従って呼制御を行う。
【００３６】
ＳＩＰとは、音声や映像の交換などを行うためのセッションの生成・変更・切断を行うプロトコルであり、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）電話、テレビ電話などのリアルタイム性が要求されるアプリケーションで採用される。情報処理装置１００は、例えば、物理サーバである。
【００３７】
端末２０１は、ＳＩＰによるＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通話が可能なコンピュータであり、例えば、ＩＰ電話機、スマートフォン、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。保守装置２０２は、システム２００の保守者が使用するコンピュータであり、例えば、ＰＣである。
【００３８】
以下の説明では、ＳＩＰサーバ＃１〜＃ｎのうちの任意のＳＩＰサーバを「ＳＩＰサーバ＃ｉ」と表記し、ＳＩＰサーバ＃ｉが実行するゲストＯＳを「ゲストＯＳ＃ｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。
【００３９】
（情報処理装置１００のハードウェア構成例）
図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。図３において、情報処理装置１００は、ＣＰＵ３０１と、メモリ３０２と、Ｉ／Ｆ３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４０】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。なお、ＣＰＵ３０１は、情報処理装置１００が有する複数の物理ＣＰＵ（例えば、コア）をまとめたものを表している。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４１】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示した保守装置２０２、端末２０１）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４２】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４３】
なお、情報処理装置１００は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、図２に示した端末２０１、保守装置２０２についても、情報処理装置１００と同様のハードウェア構成により実現することができる。ただし、端末２０１、保守装置２０２は、上述した構成部のほかに、入力装置、ディスプレイを有する。また、端末２０１、保守装置２０２は、ディスクドライブ３０４、ディスク３０５を有していなくてもよい。
【００４４】
（コンフィグ情報４００の具体例）
つぎに、ＳＩＰサーバ＃ｉのゲストＯＳ＃ｉが用いるコンフィグ情報４００の具体例について説明する。コンフィグ情報４００は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００４５】
図４は、コンフィグ情報４００の具体例を示す説明図である。図４において、コンフィグ情報４００は、プロセス名と論理ＣＰＵマッピング値との対応関係、およびホストＯＳのＩＰアドレスを示す情報である。
【００４６】
ここで、プロセス名は、スケールアップ対象となるプロセスの名称（例えば、プログラムファイルの名前）である。ＳＩＰサーバ＃ｉの場合、スケールアップ対象となるプロセスは、例えば、呼処理プロセスである。論理ＣＰＵマッピング値は、初期化処理実行時に、スケールアップ対象となるプロセスをどの論理ＣＰＵで動作させるかを示す値である。論理ＣＰＵマッピング値が同一のプロセスは、同じ論理ＣＰＵで動作させることを示す。
【００４７】
ホストＯＳのＩＰアドレスは、ゲストＯＳ＃ｉがホストＯＳ２２０（図２参照）と通信するためのＩＰアドレスである。なお、ここでは、ゲストＯＳ＃ｉが用いるコンフィグ情報４００を例に挙げて説明したが、コンフィグ情報は、図２に示したゲストＯＳ＃１〜＃ｎごとに用意される。
【００４８】
（論理ＣＰＵ使用状況テーブル５００の記憶内容）
つぎに、ＳＩＰサーバ＃ｉのゲストＯＳ＃ｉが用いる論理ＣＰＵ使用状況テーブル５００の記憶内容について説明する。論理ＣＰＵ使用状況テーブル５００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【００４９】
図５は、論理ＣＰＵ使用状況テーブル５００の記憶内容の一例を示す説明図である。図５において、論理ＣＰＵ使用状況テーブル５００は、論理ＣＰＵＩＤおよび使用状況のフィールドを有し、各フィールドに情報を設定することで、論理ＣＰＵ使用状況情報５００−１〜５００−４をレコードとして記憶する。
【００５０】
ここで、論理ＣＰＵＩＤは、ＳＩＰサーバ＃ｉ上の論理ＣＰＵを一意に識別する識別子である。使用状況は、ＳＩＰサーバ＃ｉ上の論理ＣＰＵの使用状況を示す。使用状況には、Ｆｒｅｅ、Ｕｓｅｄ、Ｏｃｃｕｐｉｅｄのいずれかが設定される。Ｆｒｅｅは、論理ＣＰＵが未使用状態であることを示す。Ｕｓｅｄは、論理ＣＰＵを２以上のプロセスで共用中であることを示す。Ｏｃｃｕｐｉｅｄは、論理ＣＰＵを１つのプロセスで占有していることを示す。
【００５１】
なお、ここでは、ゲストＯＳ＃ｉが用いる論理ＣＰＵ使用状況テーブル５００を例に挙げて説明したが、論理ＣＰＵ使用状況テーブルは、図２に示したゲストＯＳ＃１〜＃ｎごとに用意される。
【００５２】
（物理ＣＰＵ使用状況テーブル６００の記憶内容）
つぎに、図２に示した情報処理装置１００のホストＯＳ２２０が用いる物理ＣＰＵ使用状況テーブル６００の記憶内容について説明する。物理ＣＰＵ使用状況テーブル６００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【００５３】
図６は、物理ＣＰＵ使用状況テーブル６００の記憶内容の一例を示す説明図である。図６において、物理ＣＰＵ使用状況テーブル６００は、物理ＣＰＵＩＤおよび使用状況のフィールドを有し、各フィールドに情報を設定することで、物理ＣＰＵ使用状況情報（例えば、物理ＣＰＵ使用状況情報６００−１〜６００−５）をレコードとして記憶する。
【００５４】
ここで、物理ＣＰＵＩＤは、情報処理装置１００上の物理ＣＰＵを一意に識別する識別子である。使用状況は、情報処理装置１００上の物理ＣＰＵの使用状況を示す。使用状況には、Ｆｒｅｅ、Ｕｓｅｄのいずれかが設定される。Ｆｒｅｅは、物理ＣＰＵが未使用状態であることを示す。Ｕｓｅｄは、物理ＣＰＵに１つ以上の論理ＣＰＵが対応付けられて使用中であることを示す。
【００５５】
（プロセス管理テーブル７００の記憶内容）
つぎに、ＳＩＰサーバ＃ｉのゲストＯＳ＃ｉが用いるプロセス管理テーブル７００の記憶内容について説明する。プロセス管理テーブル７００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【００５６】
図７は、プロセス管理テーブル７００の記憶内容の一例を示す説明図である。図７において、プロセス管理テーブル７００は、プロセス名、ＰＩＤ、論理ＣＰＵＩＤおよび物理ＣＰＵＩＤのフィールドを有し、各フィールドに情報を設定することで、プロセス管理情報７００−１〜７００−４をレコードとして記憶する。
【００５７】
ここで、プロセス名は、スケールアップ対象となるプロセスの名称である。ＰＩＤは、プロセス名のプロセスが起動した後にゲストＯＳ＃ｉにより当該プロセスに付与される識別子である。論理ＣＰＵＩＤは、プロセス名のプロセスが割り当てられた論理ＣＰＵの識別子である。物理ＣＰＵＩＤは、論理ＣＰＵＩＤの論理ＣＰＵと対応付けられた物理ＣＰＵの識別子である。
【００５８】
（情報処理装置１００の機能的構成例）
図８は、情報処理装置１００の機能的構成例を示すブロック図である。図８において、情報処理装置１００は、初期化処理部８０１と、受付部８０２と、スケールアップ処理部８０３と、スケールダウン処理部８０４と、を含む構成である。初期化処理部８０１〜スケールダウン処理部８０４は、制御部となる機能であり、例えば、ＳＩＰサーバ＃ｉのゲストＯＳ＃ｉが有する。具体的には、例えば、初期化処理部８０１〜スケールダウン処理部８０４は、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００５９】
初期化処理部８０１は、コンフィグ情報に基づいて、スケールアップ対象となるプロセスの数分の論理ＣＰＵを含む論理ＣＰＵプールを作成する。ここで、コンフィグ情報は、スケールアップ対象となるプロセスを指定する情報であり、例えば、図４に示したコンフィグ情報４００である。コンフィグ情報は、例えば、図２に示した保守装置２０２から情報処理装置１００に送信されて、ゲストＯＳ＃ｉと対応付けてメモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００６０】
具体的には、例えば、初期化処理部８０１は、コンフィグ情報で指定されたスケールアップ対象となるプロセスの数分の論理ＣＰＵの増設をホストＯＳ２２０に依頼する。ホストＯＳ２２０との通信は、例えば、コンフィグ情報４００に含まれるホストＯＳ２２０のＩＰアドレスを用いて行われる。
【００６１】
この結果、ホストＯＳ２２０により論理ＣＰＵが増設されて、ＳＩＰサーバ＃ｉがリブートされる。これにより、スケールアップ対象となるプロセスの数分の論理ＣＰＵを含む論理ＣＰＵプールが作成され、各論理ＣＰＵの論理ＣＰＵ使用状況情報が、図５に示した論理ＣＰＵ使用状況テーブル５００に記憶される。この時点の各論理ＣＰＵの使用状況は「Ｆｒｅｅ（ホットスタンバイ状態）」となる。
【００６２】
また、初期化処理部８０１は、コンフィグ情報で指定されたスケールアップ対象となるプロセスを起動する。この結果、スケールアップ対象となるプロセスのプロセス管理情報が、図７に示したプロセス管理テーブル７００に登録される。この時点では、各プロセス管理情報の論理ＣＰＩＩＤおよび物理ＣＰＵＩＤは「ＮＵＬＬ」である。
【００６３】
また、初期化処理部８０１は、論理ＣＰＵ使用状況テーブル５００を参照して、コンフィグ情報で指定されたスケールアップ対象となるプロセスの論理ＣＰＵマッピング値に基づいて、各プロセスを未使用の論理ＣＰＵに割り当てる。この際、初期化処理部８０１は、論理ＣＰＵマッピング値が同一のプロセス同士を、同じ論理ＣＰＵに割り当てる。
【００６４】
この結果、プロセスを割り当てた論理ＣＰＵが使用状態となり、論理ＣＰＵ使用状況テーブル５００の記憶内容が更新される。また、プロセスと論理ＣＰＵとの対応関係がプロセス管理テーブル７００に登録される。なお、論理ＣＰＵ使用状況テーブル５００およびプロセス管理テーブル７００の更新例については、図１５および図１７を用いて後述する。
【００６５】
また、初期化処理部８０１は、プロセスを割り当てた論理ＣＰＵ、すなわち、使用状態とした論理ＣＰＵと、未使用の物理ＣＰＵとを対応付ける。具体的には、例えば、初期化処理部８０１は、ホストＯＳ２２０に対して、使用状態とした論理ＣＰＵを、自装置上の未使用の物理ＣＰＵに対応付けるＰｉｎｎｉｎｇ要求を行う。
【００６６】
この結果、プロセスを割り当てた論理ＣＰＵと物理ＣＰＵとの対応付けが行われ、論理ＣＰＵと物理ＣＰＵとの対応関係がプロセス管理テーブル７００に登録される。また、論理ＣＰＵと対応付けられた物理ＣＰＵが使用状態となり、ホストＯＳ２２０により物理ＣＰＵ使用状況テーブル６００の記憶内容が更新される。なお、物理ＣＰＵ使用状況テーブル６００の更新例については、図１６を用いて後述する。
【００６７】
受付部８０２は、スケールアップ指示を受け付ける。ここで、スケールアップ指示とは、アクティブ状態であるプロセスが利用できる論理ＣＰＵのパワーを増やすよう指示するものであり、物理ＣＰＵを共用中の複数のプロセスのうちのいずれかのプロセスについて、物理ＣＰＵを占有する状態とする要求である。
【００６８】
スケールアップ指示には、スケールアップ対象のプロセスを特定する情報、例えば、プロセス名、ＰＩＤあるいは論理ＣＰＵＩＤが含まれる。なお、スケールアップ指示に論理ＣＰＵＩＤが含まれる場合には、例えば、当該論理ＣＰＵＩＤの論理ＣＰＵに割り当てられたいずれかのプロセスが、スケールアップ対象のプロセスとして特定されることにしてもよい。
【００６９】
具体的には、例えば、受付部８０２は、オーケストレータまたは保守装置２０２から、スケールアップ指示を受け付ける。オーケストレータは、ＳＩＰサーバ＃ｉ上のプロセスの負荷状態を監視するソフトウェアであり、例えば、後述の図１１に示すオーケストレータ１１００である。
【００７０】
より詳細に説明すると、オーケストレータは、例えば、複数のプロセスで共有中の論理ＣＰＵに対応するキューの状態を監視し、要求の待ち時間が閾値以上となったらトラフィックの異常を検知して、当該論理ＣＰＵに割り当てたプロセスのスケールアップ指示を行う。
【００７１】
以下の説明では、スケールアップ対象のプロセスを「スケールアップ対象プロセス」と表記する場合がある。
【００７２】
スケールアップ処理部８０３は、スケールアップ指示を受け付けたことに応じて、ＳＩＰサーバ＃ｉ上の未使用の論理ＣＰＵを、自装置上の未使用の物理ＣＰＵと対応付けて使用状態とする。具体的には、例えば、スケールアップ処理部８０３は、論理ＣＰＵ使用状況テーブル５００を参照して、使用状況「Ｆｒｅｅ」の論理ＣＰＵを選択する。
【００７３】
つぎに、スケールアップ処理部８０３は、ホストＯＳ２２０に対して、選択した論理ＣＰＵを、自装置上の未使用の物理ＣＰＵに対応付けるＰｉｎｎｉｎｇ要求を行う。そして、スケールアップ処理部８０３は、論理ＣＰＵ使用状況テーブル５００内の選択した論理ＣＰＵの使用状況に「Ｏｃｃｕｐｉｅｄ」を設定する。
【００７４】
これにより、選択した論理ＣＰＵが論理ＣＰＵプールから払い出されてアクティブ状態となる。また、論理ＣＰＵと対応付けられた物理ＣＰＵに対応する物理ＣＰＵ使用状況テーブル６００内の使用状況が、ホストＯＳ２２０により「Ｕｓｅｄ」に更新される。
【００７５】
また、スケールアップ処理部８０３は、スケールアップ対象プロセスと同一の第２プロセスを生成して、第２プロセスをスタンバイ状態で、使用状態とした論理ＣＰＵに割り当てる。ここで、第２プロセスは、スケールアップ対象プロセス（運用系プロセス）と同じプロセス名、機能の待機系プロセスである。この結果、第２プロセスと論理ＣＰＵと物理ＣＰＵとの対応関係がプロセス管理テーブル７００に登録される。
【００７６】
また、スケールアップ処理部８０３は、使用状態とした論理ＣＰＵに割り当てた第２プロセスをアクティブ状態とし、スケールアップ対象プロセスをスタンバイ状態とする。これにより、スケールアップ対象として指定されたあるプロセスについて、スケールアップ対象プロセスから第２プロセスに切り替えて、サービスを中断することなく当該プロセスが使用可能な論理ＣＰＵのパワーを増やすことができる。
【００７７】
ただし、何らかの不具合により第２プロセスが正常に起動していない場合がある。このため、スケールアップ処理部８０３は、例えば、使用状態とした論理ＣＰＵに割り当てた第２プロセスの動作状況を確認することにしてもよい。そして、スケールアップ処理部８０３は、第２プロセスが正常起動した場合に、第２プロセスをアクティブ状態とし、スケールアップ対象プロセスをスタンバイ状態とすることにしてもよい。これにより、第２プロセスが正常に起動していないために生じるサービス中断を回避することができる。
【００７８】
また、スケールアップ処理部８０３は、スタンバイ状態としたスケールアップ対象プロセスを終了させることにしてもよい。具体的には、例えば、スケールアップ処理部８０３は、正常起動した第２プロセスをアクティブ状態として、スケールアップ対象プロセスをスタンバイ状態とした後に、スケールアップ対象プロセスを削除する。これにより、スタンバイ状態としたスケールアップ対象プロセスにかかる無駄な消費電力を削減することができる。
【００７９】
また、受付部８０２は、スケールダウン指示を受け付ける。ここで、スケールダウン指示とは、プロセスが利用できる論理ＣＰＵのパワーを減らすよう指示するものであり、アクティブ状態とした第２プロセスについて、他のプロセスと物理ＣＰＵを共用する状態とする要求である。スケールダウン指示には、スケールダウン対象のプロセスを特定する情報、例えば、プロセス名、ＰＩＤあるいは論理ＣＰＵＩＤが含まれる。
【００８０】
具体的には、例えば、受付部８０２は、オーケストレータまたは保守装置２０２から、スケールダウン指示を受け付ける。より詳細に説明すると、オーケストレータは、例えば、１つのプロセスで占有中の論理ＣＰＵに対応するキューの状態を監視し、要求の待ち時間が閾値未満となったら、当該論理ＣＰＵに割り当てたプロセスのスケールダウン指示を行う。
【００８１】
以下の説明では、スケールダウン対象のプロセスを「スケールダウン対象プロセス」と表記する場合がある。
【００８２】
スケールダウン処理部８０４は、スケールダウン指示を受け付けたことに応じて、スケールダウン対象プロセスと同一の第３プロセスを生成して、第３プロセスをスタンバイ状態で、ＳＩＰサーバ＃ｉ上の使用中の論理ＣＰＵに割り当てる。
【００８３】
ここで、第３プロセスは、スケールダウン対象プロセス（運用系プロセス）と同じプロセス名、機能の待機系プロセスである。また、第３プロセスの割当先となる論理ＣＰＵは、例えば、スケールダウン対象プロセスのプロセス名に対応する論理ＣＰＵマッピング値と同じ論理ＣＰＵマッピング値が設定された他のプロセスが割り当てられている論理ＣＰＵである。
【００８４】
具体的には、例えば、まず、スケールダウン処理部８０４は、コンフィグ情報４００を参照して、スケールダウン対象プロセスのプロセス名に対応する論理ＣＰＵマッピング値を特定する。また、スケールダウン処理部８０４は、コンフィグ情報４００を参照して、特定した論理ＣＰＵマッピング値が設定された他のプロセス（プロセス名）を特定する。
【００８５】
つぎに、スケールダウン処理部８０４は、プロセス管理テーブル７００を参照して、特定した他のプロセスが割り当てられた論理ＣＰＵを特定する。そして、スケールダウン処理部８０４は、特定した論理ＣＰＵに第３プロセスをスタンバイ状態で割り当てる。この結果、第３プロセスと論理ＣＰＵと物理ＣＰＵとの対応関係がプロセス管理テーブル７００に登録される。
【００８６】
また、スケールダウン処理部８０４は、使用中の論理ＣＰＵに割り当てた第３プロセスをアクティブ状態とし、スケールダウン対象プロセスをスタンバイ状態とする。これにより、スケールダウン対象として指定されたあるプロセスについて、スケールダウン対象プロセスから第３プロセスに切り替えて、サービスを中断することなく当該プロセスが使用可能な論理ＣＰＵのパワーを減らすことができる。
【００８７】
ただし、何らかの不具合により第３プロセスが正常に起動していない場合がある。このため、スケールダウン処理部８０４は、例えば、使用中の論理ＣＰＵに割り当てた第３プロセスの動作状況を確認することにしてもよい。そして、スケールアップ処理部８０３は、第３プロセスが正常起動した場合に、第３プロセスをアクティブ状態とし、スケールダウン対象プロセスをスタンバイ状態とすることにしてもよい。これにより、第３プロセスが正常に起動していないために生じるサービス中断を回避することができる。
【００８８】
また、スケールアップ処理部８０３は、スタンバイ状態としたスケールダウン対象プロセスを終了させることにしてもよい。具体的には、例えば、スケールアップ処理部８０３は、正常起動した第３プロセスをアクティブ状態として、スケールダウン対象プロセスをスタンバイ状態とした後に、第２プロセスを削除する。これにより、スタンバイ状態としたスケールダウン対象プロセスにかかる無駄な消費電力を削減することができる。
【００８９】
（プロセス管理処理例）
つぎに、図９〜図１７を用いて、情報処理装置１００のプロセス管理処理例（初期化処理例、スケールアップ処理例、スケールダウン処理例）について説明する。
【００９０】
図９〜図１４は、情報処理装置１００のプロセス管理処理例を示す説明図である。図１５は、論理ＣＰＵ使用状況テーブル５００の更新例を示す説明図である。図１６は、物理ＣＰＵ使用状況テーブル６００の更新例を示す説明図である。図１７は、プロセス管理テーブル７００の更新例を示す説明図である。
【００９１】
・初期化処理例
図９において、ゲストＯＳ＃ｉは、コンフィグ情報４００に基づいて、スケールアップ対象となるプロセスの数分の論理ＣＰＵ１〜４を含む論理ＣＰＵプール９００を作成する。この結果、図１５の（１５−１）に示すように、各論理ＣＰＵ１〜４の論理ＣＰＵ使用状況情報５００−１〜５００−４が論理ＣＰＵ使用状況テーブル５００に記憶される。
【００９２】
なお、図９の例では、ＳＩＰサーバ＃ｉ上の論理ＣＰＵとして「論理ＣＰＵ１〜４」を表示し、情報処理装置１００上の物理ＣＰＵとして「物理ＣＰＵ０〜５」を表示しているが、これに限らない。例えば、スケールアップ対象外のプロセスが使用中の論理ＣＰＵおよび物理ＣＰＵが含まれていてもよい。
【００９３】
図１０において、ゲストＯＳ＃ｉは、コンフィグ情報４００で指定されたスケールアップ対象となるプロセスを起動する。ここでは、ＰＩＤ「１００」のプロセスＰ０（ＡＣＴ）、ＰＩＤ「２００」のプロセスＰ１（ＡＣＴ）、ＰＩＤ「３００」のプロセスＰ２（ＡＣＴ）およびＰＩＤ「４００」のプロセスＰ３（ＡＣＴ）が起動される。
【００９４】
つぎに、ゲストＯＳ＃ｉは、コンフィグ情報４００で指定された各プロセスの論理ＣＰＵマッピング値に基づいて、各プロセスを未使用の論理ＣＰＵに割り当てる。具体的には、例えば、ゲストＯＳ＃ｉは、論理ＣＰＵ使用状況テーブル５００を参照して、論理ＣＰＵプール９００から使用状況「Ｆｒｅｅ」の論理ＣＰＵ１，２を払い出す。
【００９５】
つぎに、ゲストＯＳ＃ｉは、ＰＩＤ「１００」のプロセスＰ０（ＡＣＴ）と、ＰＩＤ「２００」のプロセスＰ１（ＡＣＴ）とを論理ＣＰＵ１に割り当てる。また、ゲストＯＳ＃ｉは、ＰＩＤ「３００」のプロセスＰ２（ＡＣＴ）と、ＰＩＤ「４００」のプロセスＰ３（ＡＣＴ）とを論理ＣＰＵ２に割り当てる。
【００９６】
そして、ゲストＯＳ＃ｉは、論理ＣＰＵ１，２を使用状態とする。具体的には、例えば、ゲストＯＳ＃ｉは、図１５の（１５−２）に示すように、論理ＣＰＵ使用状況テーブル５００内の論理ＣＰＵ使用状況情報５００−１，５００−２の使用状況に「Ｕｓｅｄ」を設定する。
【００９７】
つぎに、ゲストＯＳ＃ｉは、ホストＯＳ２２０に対して、論理ＣＰＵ１，２を、未使用の物理ＣＰＵに対応付けるＰｉｎｎｉｎｇ要求を行う。この結果、論理ＣＰＵ１，２と物理ＣＰＵ０，１との対応付けが行われ、図１６の（１６−１）に示すように、物理ＣＰＵ使用状況テーブル６００内の物理ＣＰＵ使用状況情報６００−１，６００−２の使用状況に「Ｕｓｅｄ」が設定される。また、図１７の（１７−１）に示すように、各プロセスＰ０〜Ｐ３のプロセス管理情報７００−１〜７００−４がプロセス管理テーブル７００に記憶される。
【００９８】
・スケールアップ処理例
図１１において、ゲストＯＳ＃ｉは、オーケストレータ１１００からスケールアップ指示を受け付ける。ここでは、プロセスＰ３のスケールアップ指示を受け付けた場合を想定する。この場合、ゲストＯＳ＃ｉは、論理ＣＰＵ使用状況テーブル５００を参照して、論理ＣＰＵプール９００から使用状況「Ｆｒｅｅ」の論理ＣＰＵ３を払い出してアクティブ状態とする。
【００９９】
そして、ゲストＯＳ＃ｉは、ホストＯＳ２２０に対して、論理ＣＰＵ３を、未使用の物理ＣＰＵに対応付けるＰｉｎｎｉｎｇ要求を行う。この結果、論理ＣＰＵ３と物理ＣＰＵ２との対応付けが行われ、図１６の（１６−２）に示すように、物理ＣＰＵ使用状況テーブル６００内の物理ＣＰＵ使用状況情報６００−３の使用状況に「Ｕｓｅｄ」が設定される。また、図１５の（１５−３）に示すように、論理ＣＰＵ使用状況テーブル５００内の論理ＣＰＵ使用状況情報５００−３の使用状況に「Ｏｃｃｕｐｉｅｄ」を設定する。
【０１００】
つぎに、ゲストＯＳ＃ｉは、プロセスＰ３（ＰＩＤ：４００）と同一のプロセスＰ３（ＰＩＤ：４０１）を生成して、プロセスＰ３（ＰＩＤ：４０１）をスタンバイ状態で、アクティブ状態とした論理ＣＰＵ３に割り当てる。そして、ゲストＯＳ＃ｉは、プロセスＰ３（ＰＩＤ：４０１）をアクティブ状態とし、プロセスＰ３（ＰＩＤ：４００）をスタンバイ状態とする。さらに、ゲストＯＳ＃ｉは、スタンバイ状態としたプロセスＰ３（ＰＩＤ：４００）を削除（ｋｉｌｌ）する。
【０１０１】
この結果、図１７の（１７−２）に示すように、プロセス管理テーブル７００からプロセスＰ３のプロセス管理情報７００−４が削除され、プロセス管理テーブル７００にプロセスＰ３の新たなプロセス管理情報７００−５が記憶される。また、ゲストＯＳ＃ｉは、図１５の（１５−３）に示すように、論理ＣＰＵ使用状況テーブル５００内の論理ＣＰＵ使用状況情報５００−２の使用状況に「Ｏｃｃｕｐｉｅｄ」を設定する。
【０１０２】
これにより、図１２に示すように、スケールアップ対象として指定されたプロセスＰ３について、プロセスＰ３（ＰＩＤ：４００）からプロセスＰ３（ＰＩＤ：４０１）に切り替えることができる。この結果、サービスを中断することなく、プロセスＰ３が使用可能な論理ＣＰＵのパワーを、５０％（プロセスＰ２と共用）から１００％（プロセスＰ３で占有）に増やすことができる。
【０１０３】
・スケールダウン処理例
図１３において、ゲストＯＳ＃ｉは、オーケストレータ１１００からスケールダウン指示を受け付ける。ここでは、プロセスＰ３のスケールダウン指示を受け付けた場合を想定する。この場合、ゲストＯＳ＃ｉは、プロセスＰ３（ＰＩＤ：４０１）と同一のプロセスＰ３（ＰＩＤ：４０２）を生成して、プロセスＰ３（ＰＩＤ：４０２）をスタンバイ状態で、アクティブ状態の論理ＣＰＵ２に割り当てる。
【０１０４】
なお、論理ＣＰＵ２は、コンフィグ情報４００から特定される、プロセスＰ３の切替先の論理ＣＰＵであり、プロセスＰ３に対応する論理ＣＰＵマッピング値と同じ論理ＣＰＵマッピング値が設定されたプロセスＰ２が割り当てられている論理ＣＰＵである。
【０１０５】
そして、ゲストＯＳ＃ｉは、プロセスＰ３（ＰＩＤ：４０２）をアクティブ状態とし、プロセスＰ３（ＰＩＤ：４０１）をスタンバイ状態とする。さらに、ゲストＯＳ＃ｉは、スタンバイ状態としたプロセスＰ３（ＰＩＤ：４０１）を削除（ｋｉｌｌ）する。
【０１０６】
この結果、図１７の（１７−３）に示すように、プロセス管理テーブル７００からプロセスＰ３のプロセス管理情報７００−５が削除され、プロセス管理テーブル７００にプロセスＰ３の新たなプロセス管理情報７００−６が記憶される。また、ゲストＯＳ＃ｉは、図１５の（１５−４）に示すように、論理ＣＰＵ使用状況テーブル５００内の論理ＣＰＵ使用状況情報５００−２の使用状況に「Ｕｓｅｄ」を設定するとともに、論理ＣＰＵ使用状況情報５００−３の使用状況に「Ｆｒｅｅ」を設定する。また、図１６の（１６−３）に示すように、物理ＣＰＵ使用状況テーブル６００内の物理ＣＰＵ使用状況情報６００−３の使用状況に「Ｆｒｅｅ」が設定される。
【０１０７】
これにより、図１４に示すように、スケールダウン対象として指定されたプロセスＰ３について、プロセスＰ３（ＰＩＤ：４０１）からプロセスＰ３（ＰＩＤ：４０２）に切り替えることができる。この結果、サービスを中断することなく、プロセスＰ３が使用可能な論理ＣＰＵのパワーを、１００％（プロセスＰ３で占有）から５０％（プロセスＰ２と共用）に減らすことができる。
【０１０８】
（情報処理装置１００のプロセス管理処理手順）
つぎに、情報処理装置１００のプロセス管理処理手順について説明する。まず、図１８を用いて、情報処理装置１００の初期化処理手順について説明する。ただし、スケールアップ対象となるプロセスの数分の論理ＣＰＵを含む論理ＣＰＵプールが作成されて、各論理ＣＰＵの論理ＣＰＵ使用状況情報が論理ＣＰＵ使用状況テーブル５００に記憶されている場合を想定する。
【０１０９】
＜初期化処理手順＞
図１８は、情報処理装置１００の初期化処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、情報処理装置１００のゲストＯＳ＃ｉは、コンフィグ情報を読み込む（ステップＳ１８０１）。そして、ゲストＯＳ＃ｉは、読み込んだコンフィグ情報を参照して、スケールアップ対象となるプロセスのプロセス名を選択する（ステップＳ１８０２）。
【０１１０】
つぎに、ゲストＯＳ＃ｉは、コンフィグ情報を参照して、選択したプロセス名に対応する論理ＣＰＵマッピング値を特定する（ステップＳ１８０３）。そして、ゲストＯＳ＃ｉは、選択したプロセス名のプロセスを起動する（ステップＳ１８０４）。なお、起動されたプロセスにはＰＩＤが付与される。
【０１１１】
つぎに、ゲストＯＳ＃ｉは、論理ＣＰＵ使用状況テーブル５００を参照して、特定した論理ＣＰＵマッピング値に基づいて、起動したプロセスを論理ＣＰＵに割り当てる（ステップＳ１８０５）。そして、ゲストＯＳ＃ｉは、プロセス管理テーブル７００を参照して、起動したプロセスを割り当てた論理ＣＰＵに物理ＣＰＵが対応付けられているか否かを判断する（ステップＳ１８０６）。
【０１１２】
ここで、物理ＣＰＵが対応付けられている場合（ステップＳ１８０６：Ｙｅｓ）、ゲストＯＳ＃ｉは、ステップＳ１８１１に移行する。一方、物理ＣＰＵが対応付けられていない場合（ステップＳ１８０６：Ｎｏ）、ゲストＯＳ＃ｉは、ホストＯＳ２２０から、物理ＣＰＵの物理ＣＰＵ使用状況情報を取得する（ステップＳ１８０７）。
【０１１３】
そして、ゲストＯＳ＃ｉは、取得した物理ＣＰＵ使用状況情報を参照して、未使用の物理ＣＰＵがあるか否かを判断する（ステップＳ１８０８）。ここで、未使用の物理ＣＰＵがない場合（ステップＳ１８０８：Ｎｏ）、ゲストＯＳ＃ｉは、保守装置２０２に対してエラーを出力して（ステップＳ１８０９）、本フローチャートによる一連の処理を終了する。
【０１１４】
これにより、システム２００の保守者に対して、スケールアップ対象となるプロセスが使用可能な物理ＣＰＵが存在しないことを通知することができる。
【０１１５】
一方、未使用の物理ＣＰＵがある場合（ステップＳ１８０８：Ｙｅｓ）、ゲストＯＳ＃ｉは、ホストＯＳ２２０に対して、起動したプロセスを割り当てた論理ＣＰＵを未使用の物理ＣＰＵに対応付けるＰｉｎｎｉｎｇ要求を行う（ステップＳ１８１０）。この結果、プロセスを割り当てた論理ＣＰＵと物理ＣＰＵとの対応付けが行われ、論理ＣＰＵと物理ＣＰＵとの対応関係がプロセス管理テーブル７００に登録される。
【０１１６】
なお、ホストＯＳ２２０におけるＰｉｎｎｉｎｇ処理が終了すると、ホストＯＳ２２０からゲストＯＳ＃ｉに対してＰｉｎｎｉｎｇ応答が送信される。このＰｉｎｎｉｎｇ応答には、例えば、論理ＣＰＵと物理ＣＰＵとの対応関係を示す情報が含まれる。
【０１１７】
つぎに、ゲストＯＳ＃ｉは、コンフィグ情報を参照して、選択していない未選択のプロセス名があるか否かを判断する（ステップＳ１８１１）。ここで、未選択のプロセス名がある場合（ステップＳ１８１１：Ｙｅｓ）、ゲストＯＳ＃ｉは、ステップＳ１８０２に戻る。
【０１１８】
一方、未選択のプロセス名がない場合（ステップＳ１８１１：Ｎｏ）、ゲストＯＳ＃ｉは、本フローチャートによる一連の処理を終了する。これにより、スケールアップ対象となる各プロセスを、予め指定したスケール（論理ＣＰＵのパワー）で起動することができる。
【０１１９】
＜スケールアップ処理手順＞
つぎに、図１９および図２０を用いて、情報処理装置１００のスケールアップ処理手順について説明する。
【０１２０】
図１９および図２０は、情報処理装置１００のスケールアップ処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、情報処理装置１００のゲストＯＳ＃ｉは、スケールアップ指示を受け付けたか否かを判断する（ステップＳ１９０１）。
【０１２１】
ここで、ゲストＯＳ＃ｉは、スケールアップ指示を受け付けるのを待つ（ステップＳ１９０１：Ｎｏ）。そして、ゲストＯＳ＃ｉは、スケールアップ指示を受け付けた場合（ステップＳ１９０１：Ｙｅｓ）、プロセス管理テーブル７００を参照して、スケールアップ対象プロセスの割当先の論理ＣＰＵを特定する（ステップＳ１９０２）。
【０１２２】
そして、ゲストＯＳ＃ｉは、プロセス管理テーブル７００を参照して、特定した論理ＣＰＵが最大スケール状態であるか否かを判断する（ステップＳ１９０３）。最大スケール状態とは、１つのプロセスで論理ＣＰＵを占有中の状態である。
【０１２３】
ここで、最大スケール状態の場合（ステップＳ１９０３：Ｙｅｓ）、ゲストＯＳ＃ｉは、保守装置２０２に対してエラーを出力して（ステップＳ１９０４）、本フローチャートによる一連の処理を終了する。これにより、システム２００の保守者に対して、スケールアップ対象プロセスについて、これ以上スケールアップすることができない状態であることを通知することができる。
【０１２４】
一方、最大スケール状態ではない場合（ステップＳ１９０３：Ｎｏ）、ゲストＯＳ＃ｉは、論理ＣＰＵ使用状況テーブル５００を参照して、使用状況「Ｆｒｅｅ」の論理ＣＰＵを選択する（ステップＳ１９０５）。つぎに、ゲストＯＳ＃ｉは、ホストＯＳ２２０に対して、選択した論理ＣＰＵを未使用の物理ＣＰＵに対応付けるＰｉｎｎｉｎｇ要求を行う（ステップＳ１９０６）。
【０１２５】
そして、ゲストＯＳ＃ｉは、論理ＣＰＵ使用状況テーブル５００内の選択した論理ＣＰＵの使用状況に「Ｏｃｃｕｐｉｅｄ」を設定して（ステップＳ１９０７）、図２０に示すステップＳ２００１に移行する。
【０１２６】
図２０のフローチャートにおいて、まず、ゲストＯＳ＃ｉは、スケールアップ対象プロセスと同一の待機系プロセスを生成する（ステップＳ２００１）。そして、ゲストＯＳ＃ｉは、生成した待機系プロセスをスタンバイ状態で、ステップＳ１９０５において選択した論理ＣＰＵに割り当てる（ステップＳ２００２）。
【０１２７】
つぎに、ゲストＯＳ＃ｉは、生成した待機系プロセスの動作状況を確認する（ステップＳ２００３）。そして、ゲストＯＳ＃ｉは、待機系プロセスが正常に起動したか否かを判断する（ステップＳ２００４）。
【０１２８】
ここで、待機系プロセスが正常に起動した場合（ステップＳ２００４：Ｙｅｓ）、ゲストＯＳ＃ｉは、待機系プロセスをアクティブ状態とし、スケールアップ対象プロセスをスタンバイ状態とすることにより、スケールアップ対象プロセスを待機系プロセスに切り替える（ステップＳ２００５）。
【０１２９】
そして、ゲストＯＳ＃ｉは、スタンバイ状態としたスケールアップ対象プロセスを削除して（ステップＳ２００６）、本フローチャートによる一連の処理を終了する。この結果、論理ＣＰＵ使用状況テーブル５００およびプロセス管理テーブル７００の記憶内容が適宜更新される。
【０１３０】
これにより、サービスを中断することなく、スケールアップ指示されたプロセスが使用可能な論理ＣＰＵのパワーを増やすことができる。
【０１３１】
また、ステップＳ２００４において、待機系プロセスが正常に起動していない場合（ステップＳ２００４：Ｎｏ）、ゲストＯＳ＃ｉは、生成した待機系プロセスを削除する（ステップＳ２００７）。そして、ゲストＯＳ＃ｉは、保守装置２０２に対してエラーを出力して（ステップＳ２００８）、本フローチャートによる一連の処理を終了する。
【０１３２】
これにより、システム２００の保守者に対して、スケールアップ対象プロセスのスケールアップに失敗したことを通知することができるとともに、待機系プロセスが正常に起動していないために生じるサービス中断を回避することができる。
【０１３３】
なお、ゲストＯＳ＃ｉは、ステップＳ１９０１において受け付けたスケールアップ指示から特定されるプロセスが、コンフィグ情報に定義されたプロセスでない場合にはエラーを出力することにしてもよい。
【０１３４】
＜スケールダウン処理手順＞
つぎに、図２１を用いて、情報処理装置１００のスケールダウン処理手順について説明する。
【０１３５】
図２１は、情報処理装置１００のスケールダウン処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、ゲストＯＳ＃ｉは、スケールダウン指示を受け付けたか否かを判断する（ステップＳ２１０１）。ここで、ゲストＯＳ＃ｉは、スケールダウン指示を受け付けるのを待つ（ステップＳ２１０１：Ｎｏ）。
【０１３６】
そして、ゲストＯＳ＃ｉは、スケールダウン指示を受け付けた場合（ステップＳ２１０１：Ｙｅｓ）、プロセス管理テーブル７００を参照して、スケールダウン対象プロセスの切替先の論理ＣＰＵを特定する（ステップＳ２１０２）。なお、切替先の論理ＣＰＵは、例えば、スケールダウン対象プロセスのプロセス名に対応する論理ＣＰＵマッピング値と同じ論理ＣＰＵマッピング値が設定された他のプロセスが割り当てられている論理ＣＰＵである。
【０１３７】
つぎに、ゲストＯＳ＃ｉは、スケールダウン対象プロセスと同一の待機系プロセスを生成する（ステップＳ２１０３）。そして、ゲストＯＳ＃ｉは、生成した待機系プロセスをスタンバイ状態で、特定した切替先の論理ＣＰＵに割り当てる（ステップＳ２１０４）。
【０１３８】
つぎに、ゲストＯＳ＃ｉは、生成した待機系プロセスの動作状況を確認する（ステップＳ２１０５）。そして、ゲストＯＳ＃ｉは、待機系プロセスが正常に起動したか否かを判断する（ステップＳ２１０６）。
【０１３９】
ここで、待機系プロセスが正常に起動した場合（ステップＳ２１０６：Ｙｅｓ）、ゲストＯＳ＃ｉは、待機系プロセスをアクティブ状態とし、スケールダウン対象プロセスをスタンバイ状態とすることにより、スケールダウン対象プロセスを待機系プロセスに切り替える（ステップＳ２１０７）。
【０１４０】
そして、ゲストＯＳ＃ｉは、スタンバイ状態としたスケールダウン対象プロセスを削除して（ステップＳ２１０８）、本フローチャートによる一連の処理を終了する。この結果、論理ＣＰＵ使用状況テーブル５００およびプロセス管理テーブル７００の記憶内容が適宜更新される。
【０１４１】
これにより、サービスを中断することなく、スケールダウン指示されたプロセスが使用可能な論理ＣＰＵのパワーを減らすことができる。
【０１４２】
また、ステップＳ２１０６において、待機系プロセスが正常に起動していない場合（ステップＳ２１０６：Ｎｏ）、ゲストＯＳ＃ｉは、生成した待機系プロセスを削除する（ステップＳ２１０９）。そして、ゲストＯＳ＃ｉは、保守装置２０２に対してエラーを出力して（ステップＳ２１１０）、本フローチャートによる一連の処理を終了する。
【０１４３】
これにより、システム２００の保守者に対して、スケールダウン対象プロセスのスケールダウンに失敗したことを通知することができるとともに、待機系プロセスが正常に起動していないために生じるサービス中断を回避することができる。
【０１４４】
なお、ゲストＯＳ＃ｉは、ステップＳ２１０１において受け付けたスケールダウン指示から特定されるプロセスが、コンフィグ情報に定義されたプロセスでない場合にはエラーを出力することにしてもよい。
【０１４５】
以上説明したように、実施の形態にかかる情報処理装置１００によれば、ＳＩＰサーバ＃ｉ上のプロセスのスケールアップ指示を受け付けたことに応じて、ＳＩＰサーバ＃ｉ上の未使用の論理ＣＰＵを、未使用の物理ＣＰＵと対応付けて使用状態とすることができる。また、情報処理装置１００によれば、スケールアップ対象プロセスと同一の第２プロセスを生成して、第２プロセスをスタンバイ状態で、使用状態とした論理ＣＰＵに割り当てることができる。そして、情報処理装置１００によれば、使用状態とした論理ＣＰＵに割り当てた第２プロセスをアクティブ状態とし、スケールアップ対象プロセスをスタンバイ状態とすることができる。
【０１４６】
これにより、スケールアップ対象として指定されたあるプロセスについて、スケールアップ対象プロセスから第２プロセスに切り替えて、サービスを中断することなく当該プロセスが使用可能な論理ＣＰＵのパワーを増やすことができる。
【０１４７】
また、情報処理装置１００によれば、使用状態とした論理ＣＰＵに割り当てた第２プロセスの動作状況を確認し、第２プロセスが正常起動した場合に、第２プロセスをアクティブ状態とし、スケールアップ対象プロセスをスタンバイ状態とすることができる。これにより、第２プロセスが正常に起動していないために生じるサービス中断を回避することができる。
【０１４８】
また、情報処理装置１００によれば、スタンバイ状態とした第１プロセスを終了させることができる。これにより、スタンバイ状態としたスケールアップ対象プロセスにかかる無駄な消費電力を削減することができる。
【０１４９】
また、情報処理装置１００によれば、スケールダウン指示を受け付けたことに応じて、スケールダウン対象プロセスと同一の第３プロセスを生成して、第３プロセスをスタンバイ状態で、ＳＩＰサーバ＃ｉ上の使用中の論理ＣＰＵに割り当てることができる。そして、情報処理装置１００によれば、使用中の論理ＣＰＵに割り当てた第３プロセスをアクティブ状態とし、スケールダウン対象プロセスをスタンバイ状態とすることができる。
【０１５０】
これにより、スケールダウン対象として指定されたあるプロセスについて、スケールダウン対象プロセスから第３プロセスに切り替えて、サービスを中断することなく当該プロセスが使用可能な論理ＣＰＵのパワーを減らすことができる。
【０１５１】
また、情報処理装置１００によれば、スケールダウン対象プロセスと同じ論理ＣＰＵマッピング値が設定された他のプロセスが割り当てられている論理ＣＰＵ、例えば、スケールダウン対象プロセスに対応するスケールアップ前のプロセスが割り当てられていた論理ＣＰＵに第３プロセスを割り当てることができる。これにより、物理ＣＰＵ（論理ＣＰＵ）へのプロセスの割り当てを、コンフィグ情報（例えば、コンフィグ情報４００）で予め定義した元の構成に戻すことができる。
【０１５２】
また、情報処理装置１００によれば、使用中の論理ＣＰＵに割り当てた第３プロセスの動作状況を確認し、第３プロセスが正常起動した場合に、第３プロセスをアクティブ状態とし、スケールダウン対象プロセスをスタンバイ状態とすることができる。これにより、第３プロセスが正常に起動していないために生じるサービス中断を回避することができる。
【０１５３】
また、情報処理装置１００によれば、スタンバイ状態としたスケールダウン対象プロセスを終了させることができる。これにより、スタンバイ状態としたスケールダウン対象プロセスにかかる無駄な消費電力を削減することができる。
【０１５４】
これらのことから、情報処理装置１００によれば、通常運用時は最小限のリソース（物理ＣＰＵ）を使用して消費電力を抑えながら、プロセスが高負荷状態となったら、サービスを停止することなく、プロセスをスケールアップすることができるようになる。これにより、負荷変動へ柔軟に対応することが可能となり、リソースを効率的に使用することができる。
【０１５５】
なお、上述した説明では、プロセス管理対象として、レスポンスタイムを保証することが求められるＳＩＰサーバ＃ｉ上のプロセス（呼処理プロセス）を例に挙げて説明したが、これに限らない。例えば、チケット予約のシステムの予約受付処理のプロセスに適用することにより、当該プロセスの負荷が急激に増加した際に、スケールアウトするよりも迅速に対応することができる。
【０１５６】
なお、本実施の形態で説明したプロセス管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本プロセス管理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本プロセス管理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５８】
（付記１）コンピュータに、
仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、
前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、前記コンピュータ上の未使用の物理ＣＰＵと対応付けて使用状態とし、
前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
処理を実行させることを特徴とするプロセス管理プログラム。
【０１５９】
（付記２）前記コンピュータに、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスの動作状況を確認し、
前記第２プロセスが正常起動した場合に、前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
処理を実行させることを特徴とする付記１に記載のプロセス管理プログラム。
【０１６０】
（付記３）前記コンピュータに、
前記スタンバイ状態とした前記第１プロセスを終了させる、処理を実行させることを特徴とする付記１または２に記載のプロセス管理プログラム。
【０１６１】
（付記４）前記コンピュータに、
前記アクティブ状態とした前記第２プロセスについて、他のプロセスと物理ＣＰＵを共用する状態とする第２の要求を受け付け、
前記第２の要求を受け付けたことに応じて、前記第２プロセスと同一の第３プロセスを生成して、前記第３プロセスをスタンバイ状態で前記仮想マシン上の使用中の論理ＣＰＵに割り当て、
前記使用中の論理ＣＰＵに割り当てた前記第３プロセスをアクティブ状態とし、
前記第２プロセスをスタンバイ状態とする、
処理を実行させることを特徴とする付記１〜３のいずれか一つに記載のプロセス管理プログラム。
【０１６２】
（付記５）前記使用中の論理ＣＰＵは、前記第１プロセスが割り当てられていた論理ＣＰＵである、ことを特徴とする付記４に記載のプロセス管理プログラム。
【０１６３】
（付記６）前記コンピュータに、
前記使用中の論理ＣＰＵに割り当てた前記第３プロセスの動作状況を確認し、
前記第３プロセスが正常起動した場合に、前記第３プロセスをアクティブ状態とし、
前記第２プロセスをスタンバイ状態とする、
処理を実行させることを特徴とする付記４または５に記載のプロセス管理プログラム。
【０１６４】
（付記７）前記コンピュータに、
前記スタンバイ状態とした前記第２プロセスを終了させる、処理を実行させることを特徴とする付記４〜６のいずれか一つに記載のプロセス管理プログラム。
【０１６５】
（付記８）コンピュータが、
仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、
前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、前記コンピュータ上の未使用の物理ＣＰＵと対応付けて使用状態とし、
前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
処理を実行することを特徴とするプロセス管理方法。
【０１６６】
（付記９）仮想マシン上の複数のプロセスで物理ＣＰＵを共用中に、前記複数のプロセスのうちのいずれかのアクティブ状態である第１プロセスについて、物理ＣＰＵを占有する状態とする要求を受け付け、
前記要求を受け付けたことに応じて、前記仮想マシン上の未使用の論理ＣＰＵを、自装置上の未使用の物理ＣＰＵと対応付けて使用状態とし、
前記第１プロセスと同一の第２プロセスを生成して、前記第２プロセスをスタンバイ状態で前記使用状態とした論理ＣＰＵに割り当て、
前記使用状態とした論理ＣＰＵに割り当てた前記第２プロセスをアクティブ状態とし、
前記第１プロセスをスタンバイ状態とする、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０１６７】
１００  情報処理装置
１０１  仮想マシン
１１１，１１２，１１３  プロセス
１２１，１２２  論理ＣＰＵ
１３１，１３２  物理ＣＰＵ
２００  システム
２０１  端末
２０２  保守装置
２２０  ホストＯＳ
４００  コンフィグ情報
５００  論理ＣＰＵ使用状況テーブル
６００  物理ＣＰＵ使用状況テーブル
７００  プロセス管理テーブル
８０１  初期化処理部
８０２  受付部
８０３  スケールアップ処理部
８０４  スケールダウン処理部
９００  論理ＣＰＵプール
１１００  オーケストレータ
＃１〜＃ｎ，＃ｉ  ゲストＯＳ
【図１】
2017220183.tif 000003
【図２】
2017220183.tif 000004
【図３】
2017220183.tif 000005
【図４】
2017220183.tif 000006
【図５】
2017220183.tif 000007
【図６】
2017220183.tif 000008
【図７】
2017220183.tif 000009
【図８】
2017220183.tif 000010
【図９】
2017220183.tif 000011
【図１０】
2017220183.tif 000012
【図１１】
2017220183.tif 000013
【図１２】
2017220183.tif 000014
【図１３】
2017220183.tif 000015
【図１４】
2017220183.tif 000016
【図１５】
2017220183.tif 000017
【図１６】
2017220183.tif 000018
【図１７】
2017220183.tif 000019
【図１８】
2017220183.tif 000020
【図１９】
2017220183.tif 000021
【図２０】
2017220183.tif 000022
【図２１】
2017220183.tif 000023