(57)【特許請求の範囲】
【請求項１】
仮想マシンと、
前記仮想マシンに割当てられるＧＰＵリソースと、
前記仮想マシンから前記ＧＰＵリソースのサイズ変更要求を通知された場合、前記サイズ変更要求に応じて前記ＧＰＵリソースのサイズを変更するハイパーバイザと、を備え、
前記仮想マシンは、情報処理装置における所定の操作を検知した場合、前記サイズの拡大を要求する前記サイズ変更要求を前記ハイパーバイザに通知し、
前記所定の操作は、既定時間以内に同一の指示を繰り返し入力する操作及び前記情報処理装置における入力が無効化されている画面領域に指示を繰り返し入力する操作のうちの少なくともいずれかである、
ことを特徴とする仮想基盤ホスト。
【請求項２】
前記仮想マシンは複数あり、
前記ＧＰＵリソースは、前記仮想マシンの各々に割当てられ、
前記ハイパーバイザは、前記仮想マシンの内の第１の仮想マシンから、前記ＧＰＵリソースの内の前記第１の仮想マシンに割当てられている第１のＧＰＵリソースに対するサイズ変更要求が通知された場合、前記仮想マシンの内の１つ以上の第２の仮想マシンに割当てられている、前記ＧＰＵリソースの内の１つ以上の第２のＧＰＵリソースの使用率に基づき、前記第１のＧＰＵリソースのサイズを変更する、ことを特徴とする請求項１に記載の仮想基盤ホスト。
【請求項３】
前記第１のＧＰＵリソースに対するサイズ変更要求が前記第１のＧＰＵリソースのサイズ拡大の要求であった場合、
前記ハイパーバイザは、使用率が既定の時間以上既定の閾値以下の前記第２のＧＰＵリソースを特定したときには、該特定した第２のＧＰＵリソースのサイズを縮小し、縮小した分の第２のＧＰＵリソースを前記第１のＧＰＵリソースに割当てる、ことを特徴とする請求項２に記載の仮想基盤ホスト。
【請求項４】
前記第１のＧＰＵリソースに対するサイズ変更要求が前記第１のＧＰＵリソースのサイズ縮小の要求であった場合、
前記ハイパーバイザは、前記第１のＧＰＵリソースのサイズを縮小する、ことを特徴とする請求項２又は３に記載の仮想基盤ホスト。
【請求項５】
前記ハイパーバイザは、前記ＧＰＵリソースの使用率が既定の時間以上既定の閾値以下であった場合、前記ＧＰＵリソースのサイズを縮小する、ことを特徴とする請求項１乃至４のいずれか１項に記載の仮想基盤ホスト。
【請求項６】
請求項１乃至５のいずれか１項に記載の仮想基盤ホストと、
前記仮想基盤ホストと接続する情報処理装置と、を備える、
通信システム。
【請求項７】
仮想マシンと、前記仮想マシンに割当てられるＧＰＵリソースと、を備える仮想基盤ホストの制御方法であって、
前記仮想マシンが前記ＧＰＵリソースのサイズの変更を要求した場合、当該要求に応じて前記ＧＰＵリソースのサイズを変更し、
前記仮想マシンは、前記情報処理装置における所定の操作を検知した場合、前記サイズの拡大を要求する前記要求を前記ＧＰＵリソースのサイズを変更するハイパーバイザに通知し、
前記所定の操作は、既定時間以内に同一の指示を繰り返し入力する操作及び前記情報処理装置における入力が無効化されている画面領域に指示を繰り返し入力する操作のうちの少なくともいずれかである、
ことを特徴とする仮想基盤ホストの制御方法。
【請求項８】
仮想マシンと、前記仮想マシンに割当てられるＧＰＵリソースと、を備える仮想基盤ホストのコンピュータに、
前記仮想マシンが前記ＧＰＵリソースのサイズの変更を要求した場合、前記要求に応じて前記ＧＰＵリソースのサイズを変更する処理を、
実行させ、
前記仮想マシンは、前記情報処理装置における所定の操作を検知した場合、前記サイズの拡大を要求する前記サイズの変更を要求するサイズ変更要求を前記ハイパーバイザに通知し、
前記所定の操作は、既定時間以内に同一の指示を繰り返し入力する操作及び前記情報処理装置における入力が無効化されている画面領域に指示を繰り返し入力する操作のうちの少なくともいずれかである、
ことを特徴とする仮想基盤ホストのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想基盤ホスト、仮想基盤ホストの制御方法、仮想基盤ホストのプログラムおよび通信システムに関する。
【背景技術】
【０００２】
１台の仮想基盤ホストと呼ばれる物理機器上で複数の仮想マシンを同時に稼働させる、仮想環境が普及している。図１は、仮想環境におけるシステムの構成例を示す。
【０００３】
図１におけるクライアント装置１０は、例えば、自身に搭載されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のリモートデスクトップ接続機能を用いて、仮想基盤ホスト２０上の仮想マシン２１を遠隔操作する。そして、クライアント装置１０は、仮想マシン２１から、上記遠隔操作に基づく結果を受信する。
【０００４】
図１における仮想基盤ホスト２０の仮想マシン２１は、例えば、クライアント装置１０によって遠隔操作される場合、ハイパーバイザ２２に対して、ハードウェア２３のリソースの割当てを要求する。そして、仮想マシン２１は、ハイパーバイザ２２によって割当てられたハードウェア２３のリソースを用いて、上記遠隔操作に基づく動作を行う。例えば、仮想マシン２１は、画像や音声等をクライアント装置１０に出力する。
【０００５】
図１における仮想基盤ホスト２０のハイパーバイザ２２は、仮想マシン２１からハードウェア２３の使用を要求された場合、上記仮想マシン２１に対して、ハードウェア２３のリソースの割当てを行う。なお、ハイパーバイザ２２は、複数の仮想マシン２１から同時にハードウェア２３の使用を要求された場合であっても、ハードウェア２３のリソースの割当てを適切に行うことで、複数の仮想マシン２１におけるアプリケーション等の同時処理を可能とする。
【０００６】
仮想基盤ホスト２０のハードウェア２３は、例えば、グラフィックボードで実現される。この場合、仮想マシン２１は、自身に割当てられているハードウェア２３のリソースに、グラフィック処理を行わせることが可能となる。すなわち、仮想マシン２１は、クライアント装置１０によって、高いグラフィック処理性能を要するアプリケーションの実行を要求された場合であっても、これに対応することが可能となる。上記に関連して、近年、仮想環境下における仮想マシンの各々に、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のリソースを一対一に割当てるＧＰＵ仮想化方式が普及している。ＧＰＵ仮想化方式としては、例えば、ＮＶＩＤＩＡ社のＧｒｉｄ  ＧＰＵによるｖＧＰＵが、広く知られている。
【０００７】
さらに、ＧＰＵ仮想化方式に関連する技術として、特許文献１には、互換性、セキュリティ、およびデジタル著作権管理等に対して利益を提供する、仮想化されたグラフィックアーキテクチャに関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１９０２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＧＰＵ仮想化方式におけるＧＰＵリソースの割当ては、例えば、事前にユーザ毎に必要なグラフィック性能をプロファイラと呼ばれる性能測定ツール等で数値化し、該数値化の結果に基づいて行われる。また、例えば、ＧＰＵリソースの割当ては、ＧＰＵリソースをユーザ毎に同サイズ割当てた後、ユーザ毎の操作感に基づき調整することで行われる。
【００１０】
上記のようなＧＰＵリソースの割当ては、主に人手で行われる。そのため、仮想マシンに適切なサイズのＧＰＵリソースが割当てられない場合がある。例えば、仮想マシンに割当てられるＧＰＵリソースのサイズが、仮想マシンにおいて実行されるアプリケーションの要求するサイズを満たしていない場合である。また、例えば、必要以上のサイズのＧＰＵリソースが、仮想マシンに割当てられる場合である。
【００１１】
前者の場合、仮想マシンにログインして仮想マシンにアプリケーションを実行させるクライアント装置のユーザは、仮想マシンから転送される画像の表示遅延やマウス操作の追従性の悪さ等が原因でストレスを感じる。しかしながら、割当てられたＧＰＵリソースが要求サイズを満たしていない場合であっても、一度割当てられたＧＰＵリソースは、そのまま維持されるという問題がある。
【００１２】
一方、後者の場合、ＧＰＵリソースの使用効率が、悪くなってしまう等の問題が生じる。
【００１３】
しかしながら、特許文献１には、上記問題を解決するための方法等について、記載も示唆もない。
【００１４】
本発明は、上記問題に鑑みてなされたものであり、適切なサイズのＧＰＵリソースを適宜割当てることができる、仮想基盤ホスト、仮想基盤ホストの制御方法、仮想基盤ホストのプログラムおよび通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明の一態様における仮想基盤ホストは、仮想マシンと、前記仮想マシンに割当てられるＧＰＵリソースと、前記仮想マシンから前記ＧＰＵリソースのサイズ変更要求を通知された場合、前記ＧＰＵリソースのサイズを変更するハイパーバイザと、を備えることを特徴とする。
【００１６】
上記目的を達成するために、本発明の一態様における通信システムは、仮想基盤ホストと、前記仮想基盤ホストと接続する情報処理装置と、を備え、前記仮想基盤ホストは、仮想マシンと、前記仮想マシンに割当てられるＧＰＵリソースと、前記仮想マシンから前記ＧＰＵリソースのサイズ変更要求を通知された場合、前記ＧＰＵリソースのサイズを変更するハイパーバイザと、を備え、前記仮想マシンは、前記情報処理装置における所定の動作を検知した場合、前記サイズ変更要求を前記ハイパーバイザに通知する、ことを特徴とする。
【００１７】
上記目的を達成するために、本発明の一態様における仮想基盤ホストの制御方法は、仮想マシンと、前記仮想マシンに割当てられるＧＰＵリソースと、を備える仮想基盤ホストの制御方法であって、前記仮想マシンが前記ＧＰＵリソースのサイズの変更を要求した場合、前記ＧＰＵリソースのサイズを変更する、ことを特徴とする。
【００１８】
上記目的を達成するために、本発明の一態様における仮想基盤ホストのプログラムは、仮想マシンと、前記仮想マシンに割当てられるＧＰＵリソースと、を備える仮想基盤ホストのコンピュータに、前記仮想マシンが前記ＧＰＵリソースのサイズの変更を要求した場合、前記ＧＰＵリソースのサイズを変更する処理を、実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、適切なサイズのＧＰＵリソースを適宜割当てることができる。
【図面の簡単な説明】
【００２０】
【図１】クライアント装置１０と仮想基盤ホスト２０とから構成される仮想環境におけるシステムの構成例を示す。
【図２】本発明の第１の実施形態に係る仮想基盤ホスト３０のブロック構成図の一例である。
【図３】本発明の第１の実施形態に係る仮想基盤ホスト３０の動作の一例を示すフローチャートである。
【図４】本発明の第２の実施形態に係る通信システム１００のシステム構成図の一例である。
【図５】本発明の第２の実施形態に係る仮想基盤ホスト２００のブロック構成図の一例である。
【図６】本発明の第２の実施形態に係る仮想マシン２２０及びハイパーバイザ２３０の動作の一例を示すフローチャートである。
【図７】本発明の第２の実施形態に係るハイパーバイザ２３０の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
（第１の実施形態）
本発明の第１の実施形態について説明する。
【００２２】
本発明の第１の実施形態に係る仮想基盤ホスト３０のブロック構成図を図２に示す。仮想基盤ホスト３０は、図２に示すように、ＧＰＵリソース３１と、仮想マシン３２と、ハイパーバイザ３３と、を備える。
【００２３】
ＧＰＵリソース３１は、仮想マシン３２に割当てられる。ＧＰＵリソースは、例えば、仮想マシン３２で実行されるアプリケーションのグラフィック処理を行う。
【００２４】
仮想マシン３２は、ＧＰＵリソース３１のサイズ変更要求を、ハイパーバイザ３３に通知する。例えば、本実施形態に係る仮想マシン３２は、ユーザから、仮想マシン３２上のアプリケーションに対する無効な入力操作を複数回検知した場合、仮想マシン３２に割当てられたＧＰＵリソース３１が不足していると判定する。そして、仮想マシン３２は、ＧＰＵ３１のサイズ変更要求を、ハイパーバイザ３３に通知する。
【００２５】
ハイパーバイザ３３は、仮想マシン３２からＧＰＵリソース３１のサイズ変更要求を通知された場合、ＧＰＵリソース３１のサイズを変更する。
【００２６】
次に、図３を参照しながら仮想基盤ホスト３０の動作について説明する。
【００２７】
（Ｓ１０１：仮想マシン３２の動作）
仮想マシン３２は、ＧＰＵリソース３１のサイズ変更要求を、ハイパーバイザ３３に通知する。ここで、例えば、本実施形態に係る仮想マシン３２は、ユーザから、仮想マシン３２上のアプリケーションに対する無効な入力操作を複数回検知した場合、仮想マシン３２に割当てられたＧＰＵリソース３１が不足していると判定する。そして、仮想マシン３２は、ＧＰＵ３１のサイズ変更要求を、ハイパーバイザ３３に通知する。
【００２８】
（Ｓ１０２：ハイパーバイザ３３の動作）
ハイパーバイザ３３は、仮想マシン３２からＧＰＵリソース３１のサイズ変更要求を通知された場合、ＧＰＵリソース３１のサイズを変更する。
【００２９】
以上のように、本実施形態に係る仮想基盤ホスト３０におけるハイパーバイザ３３は、仮想マシン３２からＧＰＵリソース３１のサイズ変更要求を通知された場合、ＧＰＵリソース３１のサイズを変更する。すなわち、仮想マシン３２は、適切なサイズのＧＰＵリソースを用いて動作することが可能となる。
【００３０】
以上のことから、本実施形態によれば、適切なサイズのＧＰＵリソースを適宜割当てることができる。
【００３１】
また、以上のことを鑑みると、本実施形態に係る仮想基盤ホスト３０は、高いグラフィック処理性能を要求される３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）向けや、３次元ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）向けの仮想マシン３２に対して、適切なサイズのリソースを割当てることができる。これにより、仮想基盤ホスト３０は、自身が収容できる仮想マシン３２の数を増やすことができる。
【００３２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
【００３３】
本発明の第２の実施形態に係る通信システム１００のシステム構成図を図４に示す。通信システム１００は、図４に示すように、仮想基盤ホスト２００と、仮想基盤ホスト２００が備える後述の仮想マシン２２０にログインして仮想マシン２２０にアプリケーションを実行させるクライアント装置３００と、を備える。
【００３４】
本発明の第２の実施形態に係る仮想基盤ホスト２００は、図５に示すように、仮想ＧＰＵ２１１−１〜２１１−ｎを備えるＧＰＵ２１０と、仮想マシン２２０−１〜２２０−ｎと、ハイパーバイザ２３０と、を備える。
【００３５】
以降、仮想ＧＰＵ２１１−１〜２１１−ｎの各々を区別して説明する必要が無い場合には、仮想ＧＰＵ２１１−１〜２１１−ｎを仮想ＧＰＵ２１１と呼称して説明する。また、仮想マシン２２０−１〜２２０−ｎの各々を区別して説明する必要が無い場合には、仮想マシン２２０−１〜２２０−ｎを仮想マシン２２０と呼称して説明する。
【００３６】
ここで、仮想基盤ホスト２００は、本発明の第１の実施形態における仮想基盤ホスト３０の一例である。また、仮想ＧＰＵ２１１は、本発明の第１の実施形態におけるＧＰＵリソース３１の一例である。また、仮想マシン２２０は、本発明の第１の実施形態における仮想マシン３２の一例である。また、ハイパーバイザ２３０は、本発明の第１の実施形態におけるハイパーバイザ３３の一例である。
【００３７】
ＧＰＵ２１０は、仮想マシン２２０にログインしたクライアント装置３００が仮想マシン２２０に実行させるアプリケーションのグラフィック処理を行うハードウェアであって、仮想ＧＰＵ２１１−１〜２１１−ｎを備える。仮想ＧＰＵ２１１−１〜２１１―ｎは、ＧＰＵ２１０のリソースであり、仮想マシン２２０−１〜２２０−ｎに一対一に割当てられる。ここで、例えば、仮想ＧＰＵ２１１−１は、仮想マシン２２０−１が実行するアプリケーションのグラフィック処理を行う。また、例えば、仮想ＧＰＵ２１１−２は、仮想マシン２２０−２が実行するアプリケーションのグラフィック処理を行う。なお、仮想ＧＰＵ２１１−１〜２１１−ｎは、後述するように、ハイパーバイザ２３０の割当変更部２３３によって、そのサイズを変更される場合がある。
【００３８】
仮想マシン２２０は、自身にログインしたクライアント装置３００からの指示に基づき、自身にインストールされているアプリケーションの実行等を行う。仮想マシン２２０は、図５に示すように、アプリケーション制御部２２１と、グラフィックドライバ制御部２２２と、検知部２２３と、第１通信処理部２２４と、を備える。
【００３９】
アプリケーション制御部２２１は、クライアント装置３００からの指示に基づき、仮想マシン２２０にインストールされているアプリケーションの実行等を制御する。なお、アプリケーション制御部２２１は、グラフィック処理を要するアプリケーションを制御する場合、その旨をグラフィックドライバ制御部２２２に通知する。
【００４０】
グラフィックドライバ制御部２２２は、グラフィック処理を要するアプリケーションを制御する旨をアプリケーション制御部２２１から通知された場合、次の動作を行う。この場合、グラフィックドライバ制御部２２２は、仮想マシン２２０にインストールされているグラフィックドライバを介して、ＧＰＵ２１０の仮想ＧＰＵ２１１に上記グラフィック処理の実施を要求する。ここで、仮想マシン２２０にインストールされているグラフィックドライバは、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１の場所を示すアドレス情報や、サイズを示すサイズ情報を管理している。
【００４１】
また、グラフィックドライバ制御部２２２は、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズを拡大した旨と、追加割当されたＧＰＵ２１０のリソースのアドレス情報及びサイズ情報とを、第１通信処理部２２４がハイパーバイザ２３０から受信した場合、次の動作を行う。この場合、グラフィックドライバ制御部２２２は、仮想マシン２２０にインストールされているグラフィックドライバに、上記受信したアドレス情報及びサイズ情報を、追加で管理させる。これによって、仮想マシン２２０は、サイズ拡大後の仮想ＧＰＵ２１１に、グラフィック処理を行わせることができるようになる。
【００４２】
また、グラフィックドライバ制御部２２２は、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズを縮小した旨と、サイズ縮小後の仮想ＧＰＵ２１１のアドレス情報及びサイズ情報とを、第１通信処理部２２４がハイパーバイザ２３０から受信した場合、次の動作を行う。この場合、グラフィックドライバ制御部２２２は、仮想マシン２２０にインストールされているグラフィックドライバに、現在管理させている仮想ＧＰＵ２１１のアドレス情報及びサイズ情報の代わりに、上記サイズ縮小後の仮想ＧＰＵ２１１のアドレス情報及びサイズ情報を管理させる。これによって、仮想マシン２２０は、サイズ縮小後の仮想ＧＰＵ２１１にグラフィック処理を行わせることができるようになる。
【００４３】
検知部２２３は、仮想マシン２２０にインストールされているアプリケーションがアプリケーション制御部２２１によって制御されている場合、すなわち、上記アプリケーションがクライアント装置３００によって実行されている場合、次の動作を行う。この場合、検知部２２３は、クライアント装置３００における所定の操作を検知する。ここで、上記所定の操作は、クライアント装置３００のユーザが、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ不足により生じる仮想マシン２２０に実行させているアプリケーションの処理遅延等にストレスを感じた際に行う操作である。上記所定の操作は、例えば、クライアント装置３００に対して既定時間以内に同一の指示を繰り返し入力する操作や、クライアント装置３００上の入力が無効化されている画面領域に指示を繰り返し入力する操作等である。そして、検知部２１３は、上記所定の動作を検知した場合、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ拡大要求を、第１通信処理部２２４を介してハイパーバイザ２３０に通知する。
【００４４】
第１通信処理部２２４は、ハイパーバイザ２３０と各種情報のやり取りを行う。
【００４５】
ハイパーバイザ２３０は、図５に示すように、第２通信処理部２３１と、監視部２３２と、割当変更部２３３と、を備える。
【００４６】
第２通信処理部２３１は、仮想マシン２２０と各種情報のやり取りを行う。
【００４７】
監視部２３２は、ＧＰＵ２１０における仮想ＧＰＵ２１１−１〜２１１−ｎの使用率を監視する。
【００４８】
割当変更部２３３は、第２通信処理部２３１が、仮想マシン２２０から、該仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ拡大要求を受信した場合、次のように動作する。この場合、割当変更部２３３は、前記サイズ拡大要求を通知した仮想マシン２２０以外の仮想マシン２２０に割当てられている仮想ＧＰＵ２１１の使用率を監視部２３２を介して確認し、上記サイズ拡大要求に応じられるか否かを判定する。
【００４９】
割当変更部２３３は、上記サイズ拡大要求に応じられると判定した場合、ＧＰＵ２１０のリソースを追加割当することで、上記サイズ拡大要求に対応する仮想ＧＰＵ２１１のサイズを拡大する。そして、割当変更部２３３は、上記サイズ拡大要求を通知した仮想マシン２２０に対し、該仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズを拡大した旨と、追加割当したＧＰＵ２１０のアドレス情報及びサイズ情報とを通知する。この際、割当変更部２３３は、上記サイズ拡大要求を通知した仮想マシン２２０以外に、割当てられている仮想ＧＰＵ２１１にサイズの拡大があった仮想マシン２２０が存在した場合、該仮想マシン２２０に対しても、上記と同様の通知を行う。また、この際、割当変更部２３３は、割当てられている仮想ＧＰＵ２１１にサイズの縮小があった仮想マシン２２０が存在した場合、該仮想マシン２２０に対して、仮想ＧＰＵ２１１のサイズを縮小した旨と、サイズ縮小後の仮想ＧＰＵ２１１のアドレス情報及びサイズ情報とを通知する。
【００５０】
一方、割当変更部２３３は、上記サイズ拡大要求に応じられないと判定した場合、上記サイズ拡大要求を通知した仮想マシン２２０に対し、該仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ拡大が不可能である旨を通知する。
【００５１】
ここで、割当変更部２３３は、例えば、仮想ＧＰＵ２１１−１のサイズ拡大要求を、第２通信処理部２３１が仮想マシン２２０−１から受信した場合、仮想ＧＰＵ２１１−２〜２１１−ｎの使用率を監視部２３２を介して確認する。割当変更部２３３は、例えば、仮想ＧＰＵ２１１−２〜２１１−ｎの内、使用率が既定の時間以上既定の閾値以下の仮想ＧＰＵ２１１として仮想マシン２２０−２に割当てられている仮想ＧＰＵ２１１−２を特定した場合、仮想ＧＰＵ２１１−２のサイズを縮小する。そして、割当変更部２３３は、上記縮小させた分のＧＰＵ２１０のリソースを追加割当することで、仮想ＧＰＵ２１１−１のサイズを拡大する。その後、割当変更部２３３は、仮想マシン２２０−１に対し、仮想ＧＰＵ２１１−１のサイズを拡大した旨と、追加割当したＧＰＵ２１０のリソースのアドレス情報及びサイズ情報とを通知する。また、割当変更部２３３は、仮想マシン２２０−２に対し、仮想ＧＰＵ２１１−２のサイズを縮小した旨と、サイズ縮小後の仮想ＧＰＵ２１１−２のアドレス情報及びサイズ情報とを通知する。なお、上記仮想ＧＰＵ２１１−２のサイズの縮小は、仮想ＧＰＵ２１１−２のグラフィック処理等に支障がでない範囲で行われる。
【００５２】
クライアント装置３００は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やスマートフォン等の通信装置である。クライアント装置３００は、仮想基盤ホスト２００の仮想マシン２２０にログインする。そして、クライアント装置３００は、上記仮想マシン２２０にインストールされているアプリケーションの実行等を、上記仮想マシン２２０に指示する。
【００５３】
次に、図６を参照しながら、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１を拡大する動作を説明する。
【００５４】
（Ｓ２０１：仮想マシン２２０における動作）
検知部２２３は、仮想マシン２２０にインストールされているアプリケーションがアプリケーション制御部２２１によって制御されている際に、クライアント装置３００におけるユーザの所定の操作を検知した場合、次の動作を行う。この場合、検知部２２３は、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ拡大要求を、第１通信処理部２２４を介してハイパーバイザ２３０に通知する。ここで、上記ユーザの所定の操作とは、例えば、クライアント装置３００に対して既定時間以内に同一の指示を繰り返し入力する操作や、クライアント装置３００上の入力が無効化されている画面領域に指示を繰り返し入力する操作等である。
【００５５】
（Ｓ２０２：ハイパーバイザ２３０における動作）
割当変更部２３３は、第２通信処理部２３１が、仮想マシン２２０から、該仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ拡大要求を受信した場合、次のように動作する。この場合、割当変更部２３３は、上記サイズ拡大要求を通知した仮想マシン２２０以外の仮想マシン２２０に割当てられている仮想ＧＰＵ２１１の使用率を監視部２３２を介して確認し、上記サイズ拡大要求に応じられるか否かを判定する。
【００５６】
（Ｓ２０３：ハイパーバイザ２３０における動作）
割当変更部２３３は、Ｓ２０２におけるサイズ拡大要求に応じられると判定した場合（Ｓ２０２のＹＥＳ）、ＧＰＵ２１０のリソースを追加割当することで、Ｓ２０２におけるサイズ拡大要求に対応する仮想ＧＰＵ２１１のサイズを拡大する。そして、割当変更部２３３は、Ｓ２０２においてサイズ拡大要求を通知した仮想マシン２２０に対して、該仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズを拡大した旨と、追加割当したＧＰＵ２１０のリソースのアドレス情報及びサイズ情報とを通知する。
【００５７】
一方、割当変更部２３３は、Ｓ２０２におけるサイズ拡大要求に応じられないと判定した場合（Ｓ２０２のＮＯ）、Ｓ２０２においてサイズ拡大要求を通知した仮想マシン２２０に対して、仮想ＧＰＵ２１１のサイズ拡大要求に応じられない旨を通知する。この場合、以降のＳ２０４は、行われない。
【００５８】
（Ｓ２０４：仮想マシン２２０における動作）
グラフィックドライバ制御部２２２は、第１通信処理部２２４が、ハイパーバイザ２３０から、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズを拡大した旨と、追加割当したＧＰＵ２１０のアドレス情報及びサイズ情報と、を通知された場合、次の動作を行う。グラフィックドライバ制御部２２２は、仮想マシン２２０にインストールされているグラフィックドライバが管理している仮想ＧＰＵ２１１のアドレス情報及びサイズ情報を、上記通知されたアドレス情報及びサイズ情報に基づき、更新する。具体的には、グラフィックドライバ制御部２２２は、上記グラフィックドライバに、上記通知されたアドレス情報及びサイズ情報を追加で管理させる。これによって、仮想マシン２２０は、サイズが拡大した仮想ＧＰＵ２１１に、グラフィック処理を行わせることが可能となる。
【００５９】
以上のように、本実施形態において、仮想マシン２２０は、クライアント装置３００におけるユーザのストレスに起因する操作を検知した場合、自身に割当てられている仮想ＧＰＵ２１１のサイズ拡大要求を、ハイパーバイザ２３０に通知する。そして、ハイパーバイザ２３０は、上記サイズ拡大要求を通知した仮想マシン２２０以外の仮想マシン２２０に割当てられている仮想ＧＰＵ２１１の使用率に基づき、上記サイズ拡大要求に対応する仮想ＧＰＵ２１１のサイズを拡大する。
【００６０】
以上のことから、本実施形態によれば、適切なサイズのリソースを割当てることができる。
【００６１】
本実施形態において、検知部２２３は、クライアント装置３００において、仮想ＧＰＵ２１１のサイズの縮小を求める操作を検知した場合、仮想マシン２２０に割当てられている仮想ＧＰＵ２１１のサイズ縮小要求を、第１通信処理部２２４を介してハイパーバイザ２３０に通知してもよい。ここで、仮想ＧＰＵ２１１のサイズの縮小を求める操作は、所定のパスワードを入力する操作等、特に限定されない。
【００６２】
また、本実施形態において、割当変更部２３３は、ＧＰＵ２１０内に何れの仮想ＧＰＵ２１１にも割当てられていないリソースが存在する場合、仮想ＧＰＵ２１１のサイズ拡大要求を通知した仮想マシン２２０に対して、上記リソースを割当ててもよい。
【００６３】
また、本実施形態において、仮想ＧＰＵ２１１は、仮想マシン２２０が実行するアプリケーションのグラフィック処理を行ったが、これに限定されない。仮想ＧＰＵ２１１は、例えば、仮想マシン２２０が実行する各種プログラムの汎用演算を行ってもよい。この場合、ハイパーバイザ２３０は、仮想ＧＰＵ２１１による汎用演算の処理状況に応じて、仮想マシン２２０に割当てる仮想ＧＰＵ２１１の拡大や縮小を行ってもよい。
【００６４】
また、本実施形態において、割当変更部２３３は、上記Ｓ２０３において、割当てられている仮想ＧＰＵ２１１にサイズの縮小があった仮想マシン２２０が存在した場合、次の動作を並行して行うことができる。この場合、割当変更部２３３は、上記仮想マシン２２０に対して、割当てられている仮想ＧＰＵ２１１のサイズを縮小した旨と、サイズ縮小後の仮想ＧＰＵ２１１のアドレス情報及びサイズ情報とを通知する。これに伴い、上記仮想マシン２２０のグラフィックドライバ制御部２２２は、上記仮想マシン２２０にインストールされているグラフィックドライバに、現在管理させているアドレス情報及びサイズ情報の代わりに、割当変更部２３３から通知されたアドレス情報及びサイズ情報を管理させる。これによって、上記仮想マシン２２０は、サイズ縮小後の仮想ＧＰＵ２１１にグラフィック処理を行わせることができるようになる。
【００６５】
また、本実施形態において、割当変更部２３３は、次の動作を並行して行うこともできる。割当変更部２３３は、仮想ＧＰＵ２１１−１〜２１１−ｎの使用率を監視部２３２を介して常時監視する。割当変更部２３３は、仮想ＧＰＵ２１１−１〜２１１−ｎの内、使用率が既定の時間以上既定の閾値以下の仮想ＧＰＵ２１１の存在を特定した場合、次の動作を行う。この場合、割当変更部２３３は、特定した上記仮想ＧＰＵ２１１には必要以上のＧＰＵ２１０のリソースが割当てられていると判定し、上記仮想ＧＰＵ２１１のサイズを縮小する。そして、割当変更部２３３は、上記仮想ＧＰＵ２１１が割当てられている仮想マシン２２０に対して、上記仮想ＧＰＵ２１１のサイズを縮小した旨と、サイズ縮小後の上記仮想ＧＰＵ２１１のアドレス情報及びサイズ情報とを通知する。
【００６６】
上記割当変更部２３３の動作を図７を参照しながら説明する。
【００６７】
（Ｓ３０１）
割当変更部２３３は、仮想ＧＰＵ２１１−１〜２１１−ｎの使用率を監視部２３２を介して常時監視する。割当変更部２３３は、仮想ＧＰＵ２１１−１〜２１１−ｎの内、使用率が既定の時間以上既定の閾値以下の仮想ＧＰＵ２１１の存在を特定した場合、該特定した仮想ＧＰＵ２１１のサイズを縮小する。
【００６８】
（Ｓ３０２）
割当変更部２３３は、Ｓ３０１においてサイズを縮小した仮想ＧＰＵ２１１が割当てられている仮想マシン２２０に対して、割当てられている仮想ＧＰＵ２１１のサイズを縮小した旨と、サイズ縮小後の仮想ＧＰＵ２１１のアドレス情報及びサイズ情報とを通知する。
【００６９】
上記割当変更部２３３の動作によって、仮想基盤ホスト２００は、ＧＰＵ２１０のリソースの使用効率を向上させることができる。
【００７０】
以上、本発明の各実施形態を説明したが、本発明は、上記した各実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。また、各実施形態を適宜組み合わせて実施してもよい。
【００７１】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。
【符号の説明】
【００７２】
１０  クライアント装置
２０  仮想基盤ホスト
２１  仮想マシン
２２  ハイパーバイザ
２３  ハードウェア
３０  仮想基盤ホスト
３１  ＧＰＵリソース
３２  仮想マシン
３３  ハイパーバイザ
１００  通信システム
２００  仮想基盤ホスト
２１０  ＧＰＵ
２１１  仮想ＧＰＵ
２２０  仮想マシン
２２１  アプリケーション制御部
２２２  グラフィックドライバ制御部
２２３  検知部
２２４  第１通信処理部
２３０  ハイパーバイザ
２３１  第２通信処理部
２３２  監視部
２３３  割当変更部
【図１】
0006743368.tif 000002
【図２】
0006743368.tif 000003
【図３】
0006743368.tif 000004
【図４】
0006743368.tif 000005
【図５】
0006743368.tif 000006
【図６】
0006743368.tif 000007
【図７】
0006743368.tif 000008