(57)【特許請求の範囲】
【請求項１】
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている出力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記出力処理において前記入出力装置に格納されるデータを、前記第１入出力制御装置から読み取る読み取り手段と、
前記読み取り手段が読み取ったデータを、前記入出力装置に格納する格納処理を実行する処理手段と、
前記格納処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する送信手段と
を備える切り替え装置。
【請求項２】
前記読み取り手段は、前記第１入出力制御装置によって前記入出力装置に対して実行されている入力処理を、前記第２入出力制御装置に切り替える命令に応じて、前記入力処理において前記第１入出力制御装置に格納されたデータを、前記第１入出力制御装置から読み取り、
前記処理手段は、前記入出力装置が前記第１入出力制御装置に送信するデータを受信し、読み取った前記データ及び受信した前記データを前記第２入出力制御装置に格納し、
前記送信手段は、前記入力処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する
請求項１に記載の切り替え装置。
【請求項３】
請求項１または請求項２に記載の切り替え装置と、
前記第１論理区画において実行されている仮想情報処理装置に関する処理を停止する停止信号を、前記第１論理区画において前記仮想情報処理装置を管理している管理装置に送信し、前記切り替え装置に前記命令を指示し、その後、前記仮想情報処理装置を前記第２論理区画に移設し、移設した前記仮想情報処理装置に関する処理を開始する開始信号を、前記第２論理区画において前記仮想情報処理装置を管理する管理装置に送信し、前記第１入出力制御装置が実行している処理を表すプログラムを、前記第２入出力制御装置に複製する管理手段と
を備える仮想情報管理装置。
【請求項４】
前記管理手段は、前記第１論理区画において実行されている処理に関する負荷が、前記第２論理区画において実行されている処理に関する負荷よりも高い場合に、前記第１論理区画における前記仮想情報処理装置に関する前記停止信号を前記管理装置に送信する
請求項３に記載の仮想情報管理装置。
【請求項５】
請求項３または請求項４に記載の仮想情報管理装置と、
論理区画を管理可能な論理区画管理手段と
を備える情報処理装置。
【請求項６】
前記第１論理区画において前記仮想情報処理装置を管理している前記管理装置を表す第１管理装置と、
前記第２論理区画において前記仮想情報処理装置を管理している前記管理装置を表す第２管理装置と、
前記送信手段が送信した前記信号を受信し、前記第２論理区画に移設された前記仮想情報処理装置に、受信した前記信号を送信する前記第２入出力制御装置と
をさらに備え、
前記第１管理装置は、前記停止信号を受信した場合に、前記第１論理区画における前記仮想情報処理装置に、前記第１論理区画に関する処理を処理可能な計算機リソースを割り当てるのを停止し、
前記第２管理装置は、前記開始信号を受信した場合に、前記第２論理区画に移設された前記仮想情報処理装置に、前記第２論理区画に関する処理を処理可能な計算機リソースを割り当てる
請求項５に記載の情報処理装置。
【請求項７】
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている出力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記出力処理において前記入出力装置に格納されるデータを、前記第１入出力制御装置から読み取り、読み取ったデータを前記入出力装置に格納する格納処理を実行し、前記格納処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する切り替え方法。
【請求項８】
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている入力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記入力処理において前記第１入出力制御装置に格納されたデータを、前記第１入出力制御装置から読み取り、前記入出力装置が前記第１入出力制御装置に送信するデータを受信し、読み取った前記データ及び受信した前記データを前記第２入出力制御装置に格納し、前記入力処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する切り替え方法。
【請求項９】
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている出力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記出力処理において前記入出力装置に格納されるデータを、前記第１入出力制御装置から読み取る読み取り機能と、
前記読み取り機能において読み取られたデータを、前記入出力装置に格納する格納処理を実行する処理機能と、
前記格納処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する送信機能と
をコンピュータに実現させる切り替えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理区画における入出力処理を切り替える切り替え装置等に関する。
【背景技術】
【０００２】
コンピュータを仮想化する技術の一つとして、論理分割（Ｌｏｇｉｃａｌ＿Ｐａｒｔｉｔｉｏｎｉｎｇ、ＬＰＡＲ）がある。論理分割によって作成された論理区画（Ｌｏｇｉｃａｌ＿Ｐａｒｔｉｔｉｏｎ）には、たとえば、複数の仮想計算機（ＶＭ）が含まれる。論理区画に関する処理に計算機リソースを割り当てる方法には、プロセッサを物理的なコアの単位を基に割り当てる方法と、物理的なプロセッサが有する処理能力を時分割された状態において必要な分だけ割り当てる方法とがある。
【０００３】
一部のＶＭが実行する処理が増えるにつれ、該ＶＭを含む論理区画における処理は増える。該論理区画における処理を実行している計算機リソースの負荷が増えることにより、該論理区画における計算機リソースは不足する場合がある。この場合に、たとえば、実行すべき処理に対して計算機リソース（「第１リソース」と表す）が過剰に割り当てられているある論理区画から、該論理区画とは異なり計算機リソースが不足している他の論理区画に対して、第１リソースを割り当て直すことによって、処理負荷は平準化される。
【０００４】
たとえば、特許文献１には、論理区画に割り当てている計算機リソースを、他の論理区画に割り当てる仮想計算機システムが開示されている。該仮想計算機システムは、負荷が高い論理区画に、より多くの計算機リソースを割り当てる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１５７１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、プロセッサを物理的なコアの単位を基に割り当てる方法の場合には、ある論理区画に対する計算機リソースの割り当てが変更される場合に、必ずしも、当該論理区画における処理に対して計算機リソースが過剰に割り当てられているとは限らない。また、ある論理区画が、計算機リソースが過剰に割り当てられた論理区画であるとしても、計算機リソースを再割り当てすることにより、該論理区画に関する計算機リソースは不足してしまうこともある。
【０００７】
このような状況は、たとえば、計算機リソースが少ない場合に発生する。すなわち、このような状況は、たとえば、物理的なコアの単位を基に計算機リソースを割り当てる等、計算機リソースの粒度が粗い場合に頻繁に発生し、特許文献１に開示される仮想計算機システムを用いたとしても、負荷を平準化することができない。この原因は、仮想計算機システムが、たとえば、ある論理区画において実行されている入出力処理を、短期間のうちに異なる論理区画に切り替えることができないからである。
【０００８】
そこで、本発明の主たる目的は、ある論理区画において実行されている入出力処理を、異なる論理区画に、短期間のうちに切り替えることが可能な切り替え装置等を提供することである。
【課題を解決するための手段】
【０００９】
前述の目的を達成するために、本発明の一態様において、切り替え装置は、
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている出力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記出力処理において前記入出力装置に格納されるデータを、前記第１入出力制御装置から読み取る読み取り手段と、
前記読み取り手段が読み取ったデータを、前記入出力装置に格納する格納処理を実行する処理手段と、
前記格納処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する送信手段と
を備える。
【００１０】
また、本発明の他の見地として、切り替え方法は、
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている出力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記出力処理において前記入出力装置に格納されるデータを、前記第１入出力制御装置から読み取り、読み取ったデータを前記入出力装置に格納する格納処理を実行し、前記格納処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する。
【００１１】
また、本発明の他の見地として、切り替え方法は、
物理情報処理装置が論理的に分割された複数の論理区画において、第１論理区画に関する入出力処理を制御している第１入出力制御装置によって、入出力装置に対して実行されている入力処理を、第２論理区画に関する入出力処理を制御している第２入出力制御装置に切り替える命令に応じて、前記入力処理において前記第１入出力制御装置に格納されたデータを、前記第１入出力制御装置から読み取り、前記入出力装置が前記第１入出力制御装置に送信するデータを受信し、読み取った前記データ及び受信した前記データを前記第２入出力制御装置に格納し、前記入力処理が完了するのに応じて前記入出力装置が送信した信号を、前記第２入出力制御装置に送信する。
【００１２】
さらに、同目的は、係る切り替えプログラム、及び、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１３】
本発明に係る切り替え装置等によれば、ある論理区画において実行されている入出力処理を、異なる論理区画に、短期間のうちに切り替えることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る切り替え装置が有する構成、及び、切り替え装置を含む情報処理装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る切り替え装置における処理の流れを示すフローチャートである。
【図３】リソース管理部における処理の流れを示すフローチャートである。
【図４】本発明の第２の実施形態に係る切り替え装置が有する構成を示すブロック図である。
【図５】第２の実施形態に係る切り替え装置における処理の流れを示すフローチャートである。
【図６】本発明の第３の実施形態に係る情報処理装置が有する構成を示すブロック図である。
【図７】第３の実施形態に係る管理情報の一例を概念的に表す図である。
【００１５】
【図８】第３の実施形態に係る情報処理装置における処理の一例を表すフローチャートである。
【図９】書き込み処理である場合に、第３の実施形態に係る切り替え装置が行う処理を表すフローチャートである。
【図１０】読み取り処理である場合に、第３の実施形態に係る切り替え装置が行う処理を表すフローチャートである。
【図１１】第３の実施形態に係る入出力情報の一例を概念的に表す図である。
【図１２】本発明の各実施形態に係る切り替え装置を実現可能な計算処理装置のハードウェア構成例を、概略的に示すブロック図である。
【発明を実施するための形態】
【００１６】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００１７】
＜第１の実施形態＞
図１を参照しながら、本発明の第１の実施形態に係る切り替え装置１０１、及び、切り替え装置１０１を含む情報処理装置１０５が有する構成について詳細に説明する。情報処理装置１０５は、物理的に存在する装置である。図１は、本発明の第１の実施形態に係る切り替え装置１０１が有する構成、及び、切り替え装置１０１を含む情報処理装置１０５が有する構成を示すブロック図である。
【００１８】
第１の実施形態に係る切り替え装置１０１は、読み取り部１０２と、処理部１０３と、送信部１０４とを有する。
【００１９】
情報処理装置１０５は、第１論理区画２０１と、第２論理区画２０２と、切り替え装置１０１と、リソース管理部２０８とを有する。第１論理区画２０１は、仮想情報処理装置２０３と、第１入出力制御装置２０４と、管理部２０６とを含む。第１入出力制御装置２０４は、物理的に存在する装置である。第２論理区画２０２は、第２入出力制御装置２０５と、管理部２０７とを含む。情報処理装置１０５は、入出力装置２０９に対してデータを入出力することができる。第２入出力制御装置２０５は、物理的に存在する装置である。
【００２０】
尚、論理区画に含まれる入出力制御装置の個数、及び、入出力装置２０９の個数等は、図１に示す例に限定されない。
【００２１】
第１入出力制御装置２０４は、第１論理区画２０１において実行される入出力処理を制御する。また、第２入出力制御装置２０５は、第２論理区画２０２において実行される入出力処理を制御する。たとえば、仮想情報処理装置２０３が入出力装置２０９にデータを格納する場合に、第１入出力制御装置２０４は、仮想情報処理装置２０３から該データを受信し（または、読み取り）、受信したデータを入出力装置２０９に格納する。
【００２２】
管理部２０６は、第１論理区画２０１に含まれる仮想情報処理装置（たとえば、仮想情報処理装置２０３）に関する処理を制御する。たとえば、管理部２０６は、仮想情報処理装置２０３に関する処理に、計算機リソースを割り当てるか否かを制御する。
【００２３】
同様に、管理部２０７は、第２論理区画２０２に含まれる仮想情報処理装置に関する処理を制御する。たとえば、管理部２０７は、仮想情報処理装置に関する処理に計算機リソースを割り当てるか否かを制御する。
【００２４】
リソース管理部２０８は、第１論理区画２０１または第２論理区画２０２等の論理区画に含まれる仮想情報処理装置を管理している管理部（たとえば、管理部２０６、管理部２０７）を制御することができる。たとえば、リソース管理部２０８は、仮想情報処理装置２０３が実行する処理に対して、計算機リソースを割り当てるのを停止（または、開始）する処理を、管理部２０６に指示することができる。たとえば、リソース管理部２０８は、停止している仮想情報処理装置２０３を、第１論理区画２０１から第２論理区画２０２に移設することができる。たとえば、リソース管理部２０８は、仮想情報処理装置が入出力している入出力制御装置を特定することができる。
【００２５】
説明の便宜上、本実施形態においては、仮想情報処理装置２０３が入出力装置２０９にデータを格納している期間内において、仮想情報処理装置２０３を第１論理区画２０１から第２論理区画２０２に移設するとする。また、移設するとは、仮想情報処理装置２０３を論理的に第１論理区画２０１から第２論理区画２０２に移設することを表し、必ずしも、仮想情報処理装置２０３に関する物理的な情報を記憶している記憶領域を移動するとは限らない。さらに、第１入出力制御装置２０４は、仮想情報処理装置２０３における入出力処理のみを実行しているとする。
【００２６】
読み取り部１０２は、入出力処理において入出力装置２０９に格納される対象であるデータを、第１入出力制御装置２０４から読み取る。
【００２７】
処理部１０３は、読み取り部１０２が読み取ったデータを、入出力装置２０９に格納する。
【００２８】
入出力装置２０９は、データを自装置に格納する処理が完了するのに応じて、完了したことを表す信号を切り替え装置１０１に送信する。
【００２９】
送信部１０４は、入出力装置２０９が送信した信号を受信し、受信した信号を第２論理区画２０２に送信する。
【００３０】
次に、図２及び図３を参照しながら、第１の実施形態に係る切り替え装置１０１が有する構成が行う処理について詳細に説明する。図２は、第１の実施形態に係る切り替え装置１０１における処理の流れを示すフローチャートである。図３は、リソース管理部２０８における処理の流れを示すフローチャートである。
【００３１】
まず、リソース管理部２０８は、仮想情報処理装置２０３が実行する処理に関して計算機リソースを割り当てるのを停止する停止命令を、仮想情報処理装置２０３を管理している管理部２０６に送信する（ステップＳ１１１）。
【００３２】
管理部２０６は、該停止命令を受信し、受信した停止命令に基づき、仮想情報処理装置２０３に関する処理に関して、計算機リソースを割り当てるのを停止する。
【００３３】
次に、リソース管理部２０８は、仮想情報処理装置２０３に関する入出力処理を実行している第１入出力制御装置２０４を特定する（ステップＳ１１２）。
【００３４】
リソース管理部２０８は、仮想情報処理装置２０３に関する入出力処理を、第１論理区画２０１から第２論理区画２０２に切り替える切り替え命令を送信する（ステップＳ１１３）。切り替え命令には、特定した第１入出力制御装置２０４、及び、切り替え先の第２論理区画２０２における入出力処理を実行する第２入出力制御装置２０５に関する情報が含まれている。
【００３５】
切り替え装置１０１は、リソース管理部２０８が送信した切り替え命令を受信する（ステップＳ１０１）。
【００３６】
読み取り部１０２は、受信した切り替え命令に基づき、入出力処理において入出力装置２０９に格納される対象であるデータを、第１入出力制御装置２０４から読み取る（ステップＳ１０２）。
【００３７】
処理部１０３は、読み取り部１０２が読み取ったデータを、入出力装置２０９に格納する（ステップＳ１０３）。
【００３８】
リソース管理部２０８は、仮想情報処理装置２０３を第２論理区画２０２に複製する（ステップＳ１１４）。リソース管理部２０８は、複製した仮想情報処理装置２０３に関する計算機リソースの割り当てを開始する開始信号を、管理部２０７に指示する（ステップＳ１１５）。
【００３９】
管理部２０７は、該開始信号を受信し、受信した開始信号に基づき、仮想情報処理装置２０３が実行する処理に計算機リソースを割り当てる。
【００４０】
その後、リソース管理部２０８は、仮想情報処理装置２０３が実行している入出力処理に関するチャネルプログラムを、第１入出力制御装置２０４から第２入出力制御装置２０５に複製する（ステップＳ１１６）。
【００４１】
送信部１０４は、入出力装置２０９が該データを格納するのを完了した場合に送信した信号を受信し、受信した信号を第２入出力制御装置２０５に送信する（ステップＳ１０４）。
【００４２】
第２入出力制御装置２０５は、該信号を受信し、受信した信号を、第２論理区画２０２に複製された仮想情報処理装置２０３に送信する。第２論理区画２０２に複製された仮想情報処理装置２０３は、該信号を受信し、受信した信号に基づき、入出力処理を終了する。
【００４３】
尚、上述した切り替え装置１０１の処理（動作）は、たとえば、情報処理装置１０５におけるオペレーティングシステム環境において、上記の仮想情報処理装置２０３等の仮想環境を実現可能なハイパーバイザ等のファームウェアの処理に対して実装することにより実現することができる。
【００４４】
次に、第１の実施形態に係る切り替え装置１０１に関する効果について説明する。
【００４５】
第１の実施形態に係る切り替え装置１０１によれば、ある論理区画において実行されている入出力処理を、異なる論理区画に、短期間のうちに切り替えことができる。
【００４６】
この理由は、第１論理区画２０１において仮想情報処理装置２０３が実行している入出力処理を切り替え装置１０１が実行するからである。
【００４７】
上述したように、切り替え装置１０１は、仮想情報処理装置２０３を含む論理区画における第１入出力制御装置２０４から読み取ったデータを、入出力装置２０９に格納する。その後、切り替え装置１０１は、切り替え先である第２入出力制御装置２０５に、格納処理が完了したことを表す信号を送信する。
【００４８】
この結果、第２入出力制御装置２０５に関するチャネルプログラムが、第１入出力制御装置２０４に関するチャネルプログラムの複製であるので、第２入出力制御装置２０５は、該信号を受信する場合に、該格納処理が完了したことを検知する。
【００４９】
したがって、第１の実施形態に係る切り替え装置１０１によれば、ある論理区画において実行されている入出力処理を、異なる論理区画に、短期間のうちに切り替えることができる。
【００５０】
一方、関連している技術として、いわゆる、ライブマイグレーションがある。ライブマイグレーションは、ある物理的な情報処理装置にて動作している仮想情報処理装置を、該仮想情報処理装置にて動作しているオペレーティングシステム等の機能を停止することなく、異なる物理的な情報処理装置に移設することを表す。ライブマイグレーションは、たとえば、移設対象である仮想情報処理装置が入出力装置に入出力処理を実行している最中に、入出力処理を一時停止し、一時的に停止した状態を移設先である情報処理装置に複製することにより実現される。または、ライブマイグレーションは、入出力処理中のデータをすべて入出力装置に格納し、その後、格納したデータを移設先である情報処理装置に複製することにより実現される。
【００５１】
このような関連技術に対して、本実施形態に係る切り替え装置１０１は、移設対象である仮想情報処理装置２０３に関する入出力処理を一時的に停止せずに、上述したような処理を実行する。したがって、切り替え装置１０１が当該入出力処理を実行するので、リソース管理部２０８は、短期間のうちに、仮想情報処理装置を異なる論理区画に移設することができる。さらに、切り替え装置１０１は、当該入出力処理中のデータを一時的に入出力装置２０９に格納する処理を実行しない。一般的に、入出力装置２０９に対する入出力時間が長いので、切り替え装置１０１が入出力装置２０９に格納しないことにより、リソース管理部２０８は、短期間のうちに仮想情報処理装置を異なる論理区画に移設することができる。
【００５２】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００５３】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００５４】
図４と図５とを参照しながら、第２の実施形態に係る切り替え装置１５１が有する構成と、切り替え装置１５１が行う処理とについて説明する。図４は、本発明の第２の実施形態に係る切り替え装置１５１が有する構成を示すブロック図である。図５は、第２の実施形態に係る切り替え装置１５１における処理の流れを示すフローチャートである。
【００５５】
第２の実施形態に係る切り替え装置１５１は、読み取り部１５２と、処理部１５３と、送信部１５４とを有する。
【００５６】
また、情報処理装置１５５は、第１論理区画２０１と、第２論理区画２０２と、リソース管理部２０８と、切り替え装置１５１とを有する。情報処理装置１５５は、物理的に存在する装置である。
【００５７】
説明の便宜上、仮想情報処理装置２０３が入出力装置２０９からデータを読み取っている期間内において、仮想情報処理装置２０３を第１論理区画２０１から第２論理区画２０２に移設するとする。第１入出力制御装置２０４は、仮想情報処理装置２０３における入出力処理のみを実行しているとする。
【００５８】
切り替え装置１５１は、仮想情報処理装置２０３に対する入力処理を第１論理区画２０１から第２論理区画２０２に切り替える切り替え命令を受信する（ステップＳ１５１）。
【００５９】
読み取り部１５２は、該入力処理において、既に第１入出力制御装置２０４に格納されたデータを、第１入出力制御装置２０４から読み取る（ステップＳ１５２）。
【００６０】
処理部１５３は、入出力装置２０９が第１入出力制御装置２０４に送信したデータを受信する（ステップＳ１５３）。または、処理部１５３は、第１入出力制御装置２０４が入出力装置２０９から読み取るデータを読み取る。
【００６１】
処理部１５３は、読み取り部１５２が読み取ったデータ、及び、入出力装置２０９から受信したデータを、第２入出力制御装置２０５に格納する（ステップＳ１５４）。
【００６２】
入出力装置２０９は、データを送信する処理が完了するのに応じて、完了したことを表す信号を切り替え装置１５１に送信する。
【００６３】
送信部１５４は、入出力装置２０９が送信した信号を受信し、受信した信号を第２入出力制御装置２０５に送信する（ステップＳ１５５）。
【００６４】
第２入出力制御装置２０５は、該信号を受信し、受信した信号に応じて、自装置に格納されているデータを、第２論理区画２０２に複製された仮想情報処理装置２０３に送信する。第２論理区画２０２に複製された仮想情報処理装置２０３は、該データを受信する。さらに、第２入出力制御装置２０５は、第２論理区画２０２に複製された仮想情報処理装置２０３に、受信した信号を送信する。第２論理区画２０２に複製された仮想情報処理装置２０３は、該信号を受信し、受信した信号に基づき、入出力処理を終了する。
【００６５】
次に、第２の実施形態に係る切り替え装置１５１に関する効果について説明する。
【００６６】
本実施形態に係る切り替え装置１５１によれば、ある論理区画において実行されている入出力処理を異なる論理区画に、短期間のうちに切り替えることができる。この理由は、第２の実施形態に係る切り替え装置１５１が有する構成は、第１の実施形態に係る切り替え装置１０１が有する構成を含むからである。
【００６７】
さらに、第２の実施形態に係る切り替え装置１５１によれば、仮想情報処理装置２０３が入出力装置２０９にデータを格納している最中であっても、リソース管理部２０８は、仮想情報処理装置２０３を異なる論理区画に移設することができる。この理由は、仮想情報処理装置２０３が実行している入出力処理を、切り替え装置１５１が実行するからである。その後、切り替え装置１５１は、切り替え先である第２論理区画２０２に、格納処理が完了したことを表す信号を送信する。したがって、第２の実施形態に係る切り替え装置１５１によれば、仮想情報処理装置２０３が入出力装置２０９にデータを格納している最中であっても、リソース管理部２０８は、仮想情報処理装置２０３を異なる論理区画に移設することができる。
【００６８】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第３の実施形態について説明する。
【００６９】
図６を参照しながら、第３の実施形態に係る情報処理装置３０１について説明する。図６は、本発明の第３の実施形態に係る情報処理装置３０１が有する構成を示すブロック図である。
【００７０】
第３の実施形態に係る情報処理装置３０１は、論理区画３０３と、論理区画３０４と、リソース管理部３０２と、切り替え装置３０５とを有する。情報処理装置３０１は、物理的に存在する装置である。
【００７１】
情報処理装置３０１は、入出力装置３０６と、情報を送受信することができる。
【００７２】
尚、以降の説明においては、論理区画３０３を中心として、論理区画が有する構成、及び、論理区画における処理等を説明するとする。しかし、論理区画３０４に関しても論理区画３０３と同様な構成を有し、論理区画３０３と同様な処理が実行される。
【００７３】
論理区画３０３は、仮想計算機３０７と、ＶＭ管理部３０９と、区画負荷監視部３１０と、入出力処理部３０８と、管理情報部３１１とを含む。仮想計算機３０７は、仮想計算機３０７が読み書き可能なメモリを表すメモリユニット３１２を有する。ＶＭ管理部３０９は、ＶＭ負荷監視部３１４を有する。入出力処理部３０８は、ＩＯバッファ３１３を有する。尚、ＩＯは、入出力を表す。
【００７４】
尚、入出処理部は、本発明の各実施形態に示した入出力制御装置と同様の機能を有する。
【００７５】
尚、論理区画３０３及び論理区画３０４において、仮想計算機３０７は、複数であってもよい。
【００７６】
切り替え装置３０５は、本発明の各実施形態に係る切り替え装置に加え、さらに、データ記憶部３１５と、入出力情報部３１６とを有してもよい。
【００７７】
まず、図７を参照しながら、管理情報部３１１が記憶可能な管理情報について説明する。図７は、第３の実施形態に係る管理情報の一例を概念的に表す図である。
【００７８】
管理情報においては、入出力装置３０６を一意に識別可能な入出力装置識別子（以降、識別子を「ＩＤ」と表す）と、該入出力装置ＩＤが表す入出力装置３０６に対して入出力処理を実行しているＶＭを一意に識別可能な仮想計算機ＩＤとが関連付けされている。管理情報においては、さらに、入出力装置ＩＤと、該入出力処理に関する入出力処理部３０８を一意に識別可能な入出力処理部ＩＤとが関連付けされている。
【００７９】
図７に例示する管理情報においては、仮想計算機ＩＤ「仮想計算機３０７」と、入出力装置ＩＤ「入出力装置３０６」と、入出力処理部ＩＤ「入出力処理部３０８」とが関連付けされている。これは、仮想計算機３０７と、入出力装置３０６とが、入出力処理部３０８を介して相互に入出力処理を実行していることを表す。
【００８０】
説明の便宜上、各入出力装置３０６は、２つの入出力処理を並行して実行しないとする。すなわち、入出力装置ＩＤを特定することにより、該入出力装置ＩＤが表す入出力装置３０６が実行している入出力処理と、該入出力処理を実行しているＶＭとを特定できるとする。
【００８１】
次に、図８を参照しながら第３の実施形態に係る情報処理装置３０１における処理について詳細に説明する。図８は、第３の実施形態に係る情報処理装置３０１における処理の一例を表すフローチャートである。
【００８２】
説明の便宜上、論理区画３０３における処理を実行している中央演算処理装置（ＣＰＵ）が高負荷であり、論理区画３０４における処理を実行しているＣＰＵは低負荷であるとする。また、該論理区画３０３におけるＶＭが、論理区画３０４に移動する（移設される）とする。
【００８３】
ＶＭ負荷監視部３１４は、所定のタイミングにて（たとえば、定期的に）、論理区画３０３に含まれるＶＭが実行している処理に関する負荷量を、それぞれ計測し、計測した負荷量を区画負荷監視部３１０、及び、リソース管理部３０２に送信する（ステップＳ３０１）。区画負荷監視部３１０は、ＶＭ負荷監視部３１４が送信する負荷量を受信し、受信した負荷量に基づき論理区画３０３における負荷量の総量を算出する（ステップＳ３０２）。
【００８４】
区画負荷監視部３１０は、算出した負荷量の総量をリソース管理部３０２に送信する。リソース管理部３０２は、該総量を受信し、受信した総量が所定の負荷量以上であるか否かに基づいて、該論理区画３０３における処理が高負荷であるか否かを判定する（ステップＳ３０３）。さらに、リソース管理部３０２は、ＶＭ管理部３０９が送信した各ＶＭが実行している処理量を受信する。
【００８５】
または、区画負荷監視部３１０は、算出した負荷量の総量が所定の負荷量以上であるか否かに基づいて、該論理区画３０３における処理が高負荷であるか否かを判定してもよい。この場合に、区画負荷監視部３１０は、高負荷であると判定する場合に、該論理区画３０３が高負荷であることを表す信号（以降、「負荷信号」と表す）をリソース管理部３０２に送信する。
【００８６】
リソース管理部３０２は、論理区画３０３における負荷が高い場合に（ステップＳ３０３にてＹＥＳ）、受信したＶＭに関する処理量に基づき、負荷が高い論理区画３０３に含まれるＶＭの内、負荷が低い論理区画３０４に割り当てを変更すべき特定の仮想計算機を選択する（ステップＳ３０４）。
【００８７】
説明の便宜上、特定の仮想計算機は、仮想計算機３０７であるとする。
【００８８】
たとえば、リソース管理部３０２は、特定のＶＭに関する割り当てを、論理区画３０３から論理区画３０４に変更することによって、複数の論理区画間における負荷が最も平準化される特定の仮想計算機を選択する。リソース管理部３０２は、たとえば、論理区画３０３に含まれるＶＭのうち、負荷が最も低い仮想計算機を、係る特定の仮想計算機として選択する。リソース管理部３０２は、選択した特定の仮想計算機に関する処理にＣＰＵを割り当てるのを停止するリクエストを表す停止信号（サスペンド信号）をＶＭ管理部３０９に送信する。すなわち、リソース管理部３０２は、仮想計算機に関する処理を停止する停止信号をＶＭ管理部３０９に送信する。
【００８９】
説明の便宜上、該特定の仮想計算機は、入出力処理部３０８を介して、入出力装置３０６に対して入出力処理を実行しているとする。
【００９０】
ＶＭ管理部３０９は、リソース管理部３０２が送信した停止信号を受信するのに応じて、仮想計算機３０７に関する処理にＣＰＵを割り当てるのを停止する（ステップＳ３０５）。これによって、仮想計算機３０７は停止する。その後、ＶＭ管理部３０９は、仮想計算機３０７が停止したことを表す通知信号をリソース管理部３０２に送信する。
【００９１】
次に、リソース管理部３０２は、該通知信号を受信し、その後、管理情報において、仮想計算機３０７を表す仮想計算機ＩＤに関連付けされている入出力装置ＩＤ、及び、仮想計算機ＩＤに関連付けされている入出力処理部ＩＤを特定する（ステップＳ３０６）。次に、リソース管理部３０２は、特定した入出力処理部ＩＤが表す入出力処理部３０８と、特定した入出力装置ＩＤが表す入出力装置３０６との間において実行されている入出力処理を、割り当て先に切り替えることを要求する切り替え命令を切り替え装置３０５に送信する。すなわち、リソース管理部３０２は、選択した割り当て先における入出力処理部３１７と、該入出力装置３０６との間における入出力処理に切り替えることを要求する切り替え命令を送信する。
【００９２】
切り替え装置３０５は、該切り替え命令を受信し、受信した切り替え命令に基づき、仮想計算機３０７と入出力装置３０６との間において実行されている入出力処理を、割り当て先に切り替える（ステップＳ３０７）。尚、切り替え装置３０５における処理については後述する。
【００９３】
リソース管理部３０２は、通知信号を受信するのに応じて仮想計算機３０７に関するメモリユニット３１２を、移設元である論理区画３０３から移設先である論理区画３０４に複製（または、移動）する（ステップＳ３０８）。リソース管理部３０２は、移設先である論理区画３０４におけるＶＭ管理部３２０に、仮想計算機３０７に対するＣＰＵの割り当てを開始することを要求する開始信号（レジューム信号）を送信する。すなわち、リソース管理部３０２は、仮想計算機３０７に関する処理を開始する開始信号をＶＭ管理部３２０に送信する。
【００９４】
ＶＭ管理部３２０は、該開始信号を受信するのに応じて、仮想計算機３０７に対して、ＣＰＵの割り当てを開始する（ステップＳ３０９）。すなわち、仮想計算機３０７は、論理区画３０４において処理を再開する。
【００９５】
リソース管理部３０２は、管理情報部３１８に格納されている管理情報に基づき、割り当て先の論理区画３０４に含まれる入出力処理部の中から、特定の入出力処理部（たとえば、入出力処理部３１７）を選択する（ステップＳ３１０）。
【００９６】
次に、リソース管理部３０２は、移設元の論理区画３０３において、入出力装置３０６及び入出力処理部３０８の間において実行されていた入出力処理を表すチャネルプログラムを、入出力処理部３１７に送信する。入出力処理部３１７は、当該チャネルプログラムに基づき、入出力処理を実行する（ステップＳ３１１）。
【００９７】
次に、リソース管理部３０２は、仮想計算機３０７を表す仮想計算機ＩＤと、該入出力処理に関する入出力装置３０６を表す入出力装置ＩＤと、入出力処理部３１７を表す入出力処理部ＩＤとが関連付けされた管理情報を作成する。リソース管理部３０２は、作成した管理情報を移設先の入出力処理部３１７に送信する（ステップＳ３１２）。
【００９８】
入出力処理部３１７は、該管理情報を受信し、受信した管理情報を管理情報部３１８に格納する。
【００９９】
次に、切り替え装置３０５における処理について詳細に説明する。
【０１００】
説明の便宜上、切り替え命令は、入出力処理部３０８及び入出力装置３０６の間において実行されている入出力処理に関して、入出力処理部３０８を入出力処理部３１７に切り替えることを要求する命令であるとする。
【０１０１】
切り替え装置３０５は、リソース管理部３０２が送信した切り替え命令を受信するのに応じて、入出力処理部ＩＤと、入出力装置ＩＤとが関連付けされた入出力情報（図１１）を作成する。図１１は、第３の実施形態に係る入出力情報の一例を概念的に表す図である。
【０１０２】
図１１に例示する入出力情報を参照すると、入出力処理部ＩＤ「入出力処理部３０８」と、入出力装置ＩＤ「入出力装置３０６」とが関連付けされている。これは、入出力処理部３０８と、入出力装置３０６との間において、入出力処理が実行されていることを表す。
【０１０３】
切り替え装置３０５は、たとえば、上述した切り替え命令に基づき、入出力装置３０６と、入出力処理部３１７とが関連付けされた入出力情報を作成してもよい。あるいは、切り替え装置３０５は、たとえば、上述した切り替え命令に基づき、入出力装置３０６と、空値とが関連付けされた入出力情報（この場合には、エントリ）を作成してもよい。切り替え装置３０５は、作成した入出力情報を入出力情報部３１６に格納する。
【０１０４】
以降、実行中のチャネルプログラムが、書き込み（ＷＲＩＴＥ）命令である場合、及び、読み取り（ＲＥＡＤ）命令である場合に、本実施形態に係る切り替え装置３０５が行う処理について説明する。
【０１０５】
まず、図９を参照しながら、実行中のチャネルプログラムが書き込み（ＷＲＩＴＥ）命令である場合に、本実施形態に係る切り替え装置３０５が行う処理について説明する。図９は、書き込み処理である場合に、第３の実施形態に係る切り替え装置３０５が行う処理を表すフローチャートである。
【０１０６】
切り替え装置３０５は、切り替え命令を受信するのに応じて、入出力処理部３０８におけるＩＯバッファ３１３に格納されているデータを読み取り（ステップＳ３２１）、読み取ったデータをデータ記憶部３１５に格納する（ステップＳ３２２）。切り替え装置３０５は、ＩＯバッファ３１３に格納されているデータを削除してもよい。
【０１０７】
次に、切り替え装置３０５は、データ記憶部３１５からデータを読み取り（ステップＳ３２３）、読み取ったデータを入出力装置３０６に送信する。
【０１０８】
入出力装置３０６は、該データを受信し、受信したデータを自装置に格納する（ステップＳ３２４）。入出力装置３０６は、受信したデータを自装置に格納した場合に、入出力処理が完了したことを表す完了信号を切り替え装置３０５に送信する。
【０１０９】
切り替え装置３０５は、該完了信号を受信し（ステップＳ３２５）、その後、入出力情報部３１６において、該入出力処理を実行している入出力装置３０６を表す入出力装置ＩＤに関連付けされた入出力処理部ＩＤを読み取る。切り替え装置３０５は、読み取った入出力処理部ＩＤが表す入出力処理部３１７に、入出力処理が完了したことを表す完了信号を送信する（ステップＳ３２６）。その後、切り替え装置３０５は、入出力情報部３１６において、該入出力装置ＩＤに関連付けされた情報を削除する（ステップＳ３２７）。
【０１１０】
次に、図１０を参照しながら、実行中のチャネルプログラムが読み取り（ＲＥＡＤ）命令である場合に、本実施形態に係る切り替え装置３０５が行う処理について説明する。図１０は、読み取り処理である場合に、第３の実施形態に係る切り替え装置３０５が行う処理を表すフローチャートである。
【０１１１】
切り替え装置３０５は、切り替え命令を受信するのに応じて、切り替え元のＩＯバッファ３１３に格納されているデータを読み取り（ステップＳ３４１）、読み取ったデータをデータ記憶部３１５に格納する（ステップＳ３４２）。次に、切り替え装置３０５は、入出力装置３０６が送信したデータを受信し（ステップＳ３４３）、受信したデータをデータ記憶部３１５に格納する（ステップＳ３４４）。
【０１１２】
入出力装置３０６は、該データに関する入出力処理が完了するのに応じて、入出力処理が完了したことを表す完了信号を、切り替え装置３０５に送信する。
【０１１３】
切り替え装置３０５は、該完了信号を受信する（ステップＳ３４５）。さらに、切り替え装置３０５は、データ記憶部３１５に格納されているデータを入出力処理部３１７に送信する。
【０１１４】
入出力処理部３１７は、該データを受信し、受信したデータをＩＯバッファ３１９に格納する（ステップＳ３４６）。
【０１１５】
その後、切り替え装置３０５は、入出力情報部３１６において、該入出力装置ＩＤに関する情報を削除し（ステップＳ３４７）、さらに、入出力処理が完了したことを表す完了信号を入出力処理部３１７に送信する。
【０１１６】
次に、第３の実施形態に係る切り替え装置３０５に関する効果について説明する。
【０１１７】
本実施形態に係る切り替え装置３０５によれば、仮想計算機３０７が入出力装置３０６にデータを格納している最中であっても、仮想計算機３０７が実行している入出力処理を異なる論理区画に、短期間のうちに切り替えることができる。この理由は、第３の実施形態に係る切り替え装置３０５が有する構成が、第１の実施形態に係る切り替え装置１０１が有する構造を含むからである。
【０１１８】
さらに、本実施形態に係る切り替え装置３０５によれば、ある論理区画に関する負荷が高くなった場合であっても、複数の論理区画における負荷を平準化することができる。この理由は、論理区画において入出力処理が実行されている場合であっても、切り替え装置３０５が、該入出力処理を異なる論理区画に切り替えるからである。
【０１１９】
特許文献１に開示された仮想計算機システムは、入出力処理を実行している仮想計算機を異なる論理区画に移設することはできない。該仮想計算機システムは、実行している入出力処理が完了した後に、該仮想計算機を異なる論理区画に移設する。あるいは、該仮想計算機システムは、実行している入出力処理を中止することによって、該仮想計算機を異なる論理区画に移設する。
【０１２０】
一方、第３の実施形態に係る切り替え装置３０５は、上述した処理を実行することによって、実行中の入出力処理であっても、該入出力処理を異なる論理区画に切り替える。この結果、リソース管理部３０２は、該仮想計算機を異なる論理区画に移設することができる。
【０１２１】
（ハードウェア構成例）
上述した本発明の各実施形態における切り替え装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る切り替え装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る切り替え装置は、専用の装置として実現してもよい。
【０１２２】
図１２は、第１の実施形態乃至第３の実施形態に係る切り替え装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、及び、不揮発性記録媒体２４を有する。計算処理装置２０は、さらに、入力装置２５、出力装置２６、通信インターフェース（以降、「通信ＩＦ」と表す。）２７、及び、ディスプレー２８を有する。計算処理装置２０は、通信ＩＦ２７を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【０１２３】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）である。また、不揮発性記録媒体２４は、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ＿Ｄｒｉｖｅ）等であってもよい。不揮発性記録媒体２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ＩＦ２７を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【０１２４】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、ディスプレー２８に出力結果を表示する。外部への出力が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を出力する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１における切り替え装置、図４における切り替え装置、または、図６に示す各部が表す機能（処理）に対応するところのメモリ２２にある切り替えプログラム（図２、図５、図８、図９、または、図１０）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【０１２５】
すなわち、このような場合、本発明は、係る切り替えプログラムによっても成し得ると捉えることができる。更に、係る切り替えプログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【０１２６】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１２７】
１０１    切り替え装置
１０２    読み取り部
１０３    処理部
１０４    送信部
１０５    情報処理装置
２０１    第１論理区画
２０２    第２論理区画
２０３    仮想情報処理装置
２０４    第１入出力制御装置
２０５    第２入出力制御装置
２０６    管理部
２０７    管理部
２０８    リソース管理部
２０９    入出力装置
１５１    切り替え装置
１５２    読み取り部
１５３    処理部
１５４    送信部
１５５    情報処理装置
３０１    情報処理装置
３０２    リソース管理部
３０３    論理区画
３０４    論理区画
３０５    切り替え装置
３０６    入出力装置
３０７    仮想計算機
３０８    入出力処理部
３０９    ＶＭ管理部
３１０    区画負荷監視部
３１１    管理情報部
３１２    メモリユニット
３１３    ＩＯバッファ
３１４    ＶＭ負荷監視部
３１５    データ記憶部
３１６    入出力情報部
３１７    入出力処理部
３１８    管理情報部
３１９    ＩＯバッファ
３２０    ＶＭ管理部
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
２７    通信ＩＦ
２８    ディスプレー
【図１】
0006459696.tif 000002
【図２】
0006459696.tif 000003
【図３】
0006459696.tif 000004
【図４】
0006459696.tif 000005
【図５】
0006459696.tif 000006
【図６】
0006459696.tif 000007
【図７】
0006459696.tif 000008
【図８】
0006459696.tif 000009
【図９】
0006459696.tif 000010
【図１０】
0006459696.tif 000011
【図１１】
0006459696.tif 000012
【図１２】
0006459696.tif 000013