(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】VDIリソース配置決定装置、VDIリソース配置決定方法及びVDIリソース配置決定プログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20241126BHJP
【FI】
G06F9/50 120A
(21)【出願番号】P 2022553289
(86)(22)【出願日】2020-09-30
(86)【国際出願番号】 JP2020037079
(87)【国際公開番号】W WO2022070292
(87)【国際公開日】2022-04-07
【審査請求日】2023-01-27
【前置審査】
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】呉 超
(72)【発明者】
【氏名】田山 健一
(72)【発明者】
【氏名】堀内 信吾
(72)【発明者】
【氏名】村瀬 健司
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2015-207180(JP,A)
【文献】特開2011-210134(JP,A)
【文献】特開2009-104530(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
(57)【特許請求の範囲】
【請求項1】
仮想デスクトップ(VDI)装置のリソース配置を決定するVDIリソース配置決定装置であって、
前記VDI装置が満たすべきパフォーマンスを定めるパフォーマンス要件及び前記パフォーマンス要件を満たす時間帯を示す指定時間帯を受信する入力部と、
前記VDI装置のホストが有する仮想マシン数と、仮想マシンに割り当てる仮想計算リソースと、を含む現在のリソース配置を保存するリソース配置収集及び保存部と、
前記VDI装置のワークロードを保存しているワークロード収集及び保存部と、
前記指定時間帯及び前記ワークロードをワークロード予測モデルに適用して、前記指定時間帯におけるワークロードを算出し、前記指定時間帯におけるワークロード及び前記現在のリソース配置をパフォーマンスモデルに適用して、前記VDI装置の第1のパフォーマンスを算出し、前記第1のパフォーマンスが前記パフォーマンス要件を満たすか否か判定する計算機能部と、
を備え、前記ワークロードは、前記仮想マシン及び前記仮想マシンのオペレーティングシステム上で生じるアプリケーションワークロードと、前記ホストで生じるホストワークロードと、を備え、前記アプリケーションワークロードが収集困難又は限定して収集可能な場合、前記ワークロード収集及び保存部は、代替として前記ホストワークロードを収集してモデルを生成する機能を備える、VDIリソース配置決定装置。
【請求項2】
仮想デスクトップ(VDI)装置のリソース配置を決定するVDIリソース配置決定装置が行うVDIリソース配置決定方法であって、
前記VDI装置が満たすべきパフォーマンスを定めるパフォーマンス要件及び前記パフォーマンス要件を満たす時間帯を示す指定時間帯を受信することと、
前記VDI装置のホストが有する仮想マシン数と、仮想マシンに割り当てる仮想計算リソースと、を含む現在のリソース配置を保存することと、
前記仮想マシン及び前記仮想マシンのオペレーティングシステム上で生じるアプリケーションワークロードと、前記ホストで生じるホストワークロードと、を備える、前記VDI装置のワークロードを保存することと、
前記指定時間帯をワークロード予測モデルに適用して、前記指定時間帯におけるワークロードを算出し、前記指定時間帯におけるワークロード及び前記現在のリソース配置をパフォーマンスモデルに適用して前記VDI装置の第1のパフォーマンスを算出し、前記第1のパフォーマンスが前記パフォーマンス要件を満たすか否か判定することと、
前記アプリケーションワークロードが収集困難又は限定して収集可能な場合、代替として前記ホストワークロードを収集してモデルを生成することと、
を備える、VDIリソース配置決定方法。
【請求項3】
請求項
1に記載のVDIリソース配置決定装置の前記各部としてプロセッサを機能させる通知制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、VDIリソース配置決定装置、VDIリソース配置決定方法及びVDIリソース配置決定プログラムに関する。
【背景技術】
【0002】
近年、コスト削減及び働き方改革等により、仮想デスクトップ(VDI:Virtual Desktop Infrastructure)装置の普及が進んでいる。VDI装置は、ユーザ端末のデスクトップ環境を仮想化させるためのものであり、例えば、ユーザ端末が行うべきデータ等の処理をVDI装置上で行い、ユーザ端末が行う処理をVDI装置上に集約したものである。
【0003】
VDI装置を利用するユーザに対する体験品質(QoE:Quality of Experience)を向上するために、多様なパフォーマンス要件を定量的に満足させる必要がある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】“VDC-Analyst: Design and verification of virtual desktop cloud resource allocations”, P. Calyam et al. Computer Networks 68 (2014) 110-122
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1は、パフォーマンス要件を満たすためのリソース配置決定手法が未検討である。
【0006】
この発明の課題は、パフォーマンス要件を満たすためのリソース配置を決定することができるようにすることにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、この発明の仮想デスクトップ(VDI)装置のリソース配置を決定するVDIリソース配置決定装置は、前記VDI装置が満たすべきパフォーマンスを定めるパフォーマンス要件及び前記パフォーマンス要件を満たす時間帯を示す指定時間帯を受信する入力部と、前記VDI装置のホストが有する仮想マシン数と、仮想マシンに割り当てる仮想計算リソースと、を含む現在のリソース配置を保存するリソース配置収集及び保存部と、前記VDI装置のワークロードを保存しているワークロード収集及び保存部と、前記指定時間帯及び前記ワークロードをワークロード予測モデルに適用して、前記指定時間帯におけるワークロードを算出し、前記指定時間帯におけるワークロード及び前記現在のリソース配置をパフォーマンスモデルに適用して、前記VDI装置の第1のパフォーマンスを算出し、前記第1のパフォーマンスが前記パフォーマンス要件を満たすか否か判定する計算機能部と、を備えるようにしたものである。
【発明の効果】
【0008】
この発明の一態様によれば、パフォーマンス要件を満たすリソース配置を決定することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、VDIリソース配置システム全体を示す構成図である。
【
図2】
図2は、VDI装置のハードウェア構成の一例を示すブロック図である。
【
図3】
図3は、実施形態におけるVDIリソース配置決定装置のハードウェア構成の一例を示すブロック図である。
【
図4】
図4は、ユーザ端末のハードウェア構成の一例を示すブロック図である。
【
図5】
図5は、VDIリソース配置決定装置の機能構成図を示したものである。
【
図6】
図6は、ワークロード収集及び保存部がVDI装置から収集するワークロードの一例を示す図である。
【
図7】
図7は、パフォーマンス収集及び保存部がVDI装置から収集するパフォーマンスの一例を示す図である。
【
図8】
図8は、計算機能部による、ワークロード予測モデル生成の一例を表す図である。
【
図9】
図9は、計算機能部による、ワークロード予測モデルを用いた指定時間帯におけるワークロード算出の一例を表す図である。
【
図10】
図10は、計算機能部による、パフォーマンスモデル生成の一例を表す図である。
【
図11】
図11は、計算機能部による、パフォーマンスモデルを用いた指定時間帯におけるワークロード算出の一例を表す図である。
【
図12】
図12は、実施形態におけるVDIリソース配置決定装置のVDIリソース配置決定動作の一例を示すフローチャートである。
【
図13】
図13は、VDI運用者に提示する入力画面の一例を示す図である。
【
図14】
図14は、VDIシステムの現在のリソース配置の例を示す図である。
【
図15】
図15は、指定された時間帯におけるワークロードの一例を示す図である。
【
図16】
図16は、
図12中のステップS104で算出したパフォーマンスにパフォーマンス要件を重ねて提示する提示画面の一例を示す図である。
【
図17】
図17は、設定可能なリソース配置の一例を示す図である。
【
図18】
図18は、
図12中のステップS108で算出したパフォーマンスにパフォーマンス要件を重ねて提示する提示画面の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照してこの発明に係わる実施形態を説明する。
[構成]
図1は、VDIリソース配置システム全体を示す構成図である。
【0011】
図1におけるVDIリソース配置システムは、VDI装置1と、本発明の一実施形態に係るVDIリソース配置決定装置2と、ユーザ端末3と、を備える。また、
図1では、VDIリソース配置決定装置2を管理運用するためのVDI運用者4も示している。
【0012】
VDI装置1は、VDIシステム110と、仮想インフラ―管理フレーム部120と、を備える。VDIシステム110は、ホスト111と、仮想マシン112(
図1上ではVMと表示)と、オペレーティングシステム113(
図1上では、OSと表示)と、を備える。VDI装置1は、http等の通信プロトコルを使用したネットワークを介して無線又は有線でVDIリソース配置決定装置2と接続される。
【0013】
ホスト111は、1つ又は複数の物理サーバから成り、ユーザ端末3から要求された処理を行う。ホスト111は、仮想化ソフトウェアがインストールされ、ユーザ端末3それぞれが使用する仮想マシン112及びオペレーティングシステム113が構築される。また、仮想マシン112は、リモートデスクトップ又はPCoIP等の画面転送プロトコルを使用したIPネットワークを介して無線又は有線でユーザ端末3それぞれと接続される。仮想インフラ―管理フレーム部120は、VDIシステム110を管理するために用いられる。仮想インフラ―管理フレーム部120は、VDIシステム110のリソース配置、例えば、1つのホスト111に割り当てる仮想マシン112の数及び各仮想マシン112に割り当てる仮想計算リソースである、vCPU(仮想CPU)の数、メモリ量、ディスク容量等を管理する。
【0014】
VDIリソース配置決定装置2は、VDI装置1から、ワークロード、パフォーマンス及び現在のリソース配置を収集する。さらに、VDIリソース配置決定装置2は、収集したワークロード、パフォーマンス及び現在のリソース配置から生成したワークロード予測モデル及びパフォーマンスモデルを保持している。なお、ワークロード予測モデルは、指定時間帯を入力すると、指定された時間帯におけるワークロードを出力するモデルである。さらに、パフォーマンスモデルは、ワークロード予測モデルから出力された指定時間帯におけるワークロード及びリソース配置を入力すると指定時間帯におけるパフォーマンスを出力するモデルである。さらに、VDIリソース配置決定装置2は、VDI運用者4からパフォーマンス要件の入力を受け付ける。そして、VDIリソース配置決定装置2は、このパフォーマンス要件を満たすリソース配置を算出し、VDI運用者4に算出したリソース配置を提示する、又はVDI装置1のリソース配置を算出したリソース配置になるよう仮想インフラ―管理フレーム部120に直接指示を送る。なお、パフォーマンス要件を満たすリソース配置の算出方法は、後述する。
【0015】
ユーザ端末3は、ユーザが使用する端末であり、シンクライアントのようにユーザ端末3内に処理能力及びストレージを備えていなくとも良い。すなわち、ユーザ端末3は、仮想マシン112から得られた情報をユーザに表示し、ユーザからの入力を仮想マシン112に送ることができれば良い。
【0016】
VDI運用者4は、VDIリソース配置システム全体を運用する運用者であって良く、VDIリソース配置決定装置2に、ユーザ端末3に対して満足させたいパフォーマンス要件を入力する。さらに、VDI運用者4は、VDIリソース配置決定装置2によって提示されたリソース配置に従って、VDI装置1のリソース配置を指示することができる。
【0017】
図2は、VDI装置1の仮想インフラ―管理フレーム部120のハードウェア構成の一例を示すブロック図である。
【0018】
仮想インフラ―管理フレーム部120は、
図2に示すように、例えばサーバコンピュータ(Server computer)により構成され、CPU(Central Processing Unit)等のハードウェアプロセッサ(Hardware processor)11を有する。ハードウェアプロセッサ11は、CPUに代えて又はCPUと共に、ASIC(Application Specific Integrated Circuit、FPGA(Field Programmable Gate Array)、又はGPU(Graphics Processing Unit)等の各種集積回路が用いられても良い。そして、VDI装置1では、このハードウェアプロセッサ11に対し、プログラムメモリ(Program memory)12と、データメモリ(Data memory)13と、通信インタフェース14と、入出力インタフェース(
図2では入出力IFと記す)15とが、バス(Bus)16を介して接続される。
【0019】
通信インタフェース14は、例えば一つ以上の有線または無線の通信モジュールを含むことができる。通信インタフェース14は、VDIリソース配置決定装置2及びVDIシステム110における各ホスト111(を構成する一以上の物理サーバ)それぞれの間で通信を行い、VDIリソース配置決定装置2及びホスト111それぞれと情報交換を可能とする。
【0020】
入出力インタフェース15には、入力部17及び表示部18が接続されている。入力部17及び表示部18は、例えば液晶または有機EL(Electro Luminescence)を使用した表示デバイスの表示画面上に、静電方式または圧力方式を採用した入力検知シートを配置した、いわゆるタブレット型の入力・表示デバイスを用いたものが用いられる。なお、入力部17及び表示部18は独立するデバイスにより構成されてもよい。入出力インタフェース15は、上記入力部17において入力された操作情報をプロセッサ11に入力するとともに、プロセッサ11で生成された表示情報を表示部18に表示させる。
【0021】
なお、入力部17及び表示部18は、入出力インタフェース15に接続されていなくてもよい。入力部17及び表示部18は、通信インタフェース24と直接またはネットワークを介して接続するための通信ユニットを備えることで、プロセッサ11との間で情報の授受を行い得る。
【0022】
プログラムメモリ12は、非一時的な有形のコンピュータ可読記憶媒体として、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の随時書込み及び読出しが可能な不揮発性メモリと、ROM等の不揮発性メモリとが組合せて使用されたものである。このプログラムメモリ12には、プロセッサ11がこの実施形態に係る各種制御処理を実行するために必要なプログラムが格納されている。
【0023】
データメモリ13は、有形のコンピュータ可読記憶媒体として、例えば、上記の不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとが組合せて使用されたものである。このデータメモリ13は、各種処理が行われる過程で取得及び作成された各種データが記憶されるために用いられる。
【0024】
なお、各ホスト111を構成する一以上の物理サーバについても、この仮想インフラ―管理フレーム部120を構成するサーバコンピュータと同様の構成を採ることができる。また、この仮想インフラ―管理フレーム部120を構成するサーバコンピュータと、いずれかのホスト111のいずれかの物理サーバを構成するサーバコンピュータとを、一つのサーバコンピュータにより兼用するようにしても良い。
【0025】
図3は、VDIリソース配置決定装置2のハードウェア構成の一例を示すブロック図である。
【0026】
VDIリソース配置決定装置2は、
図3に示すように、例えばサーバコンピュータまたはパーソナルコンピュータにより構成され、CPU等のハードウェアプロセッサ21を有する。そして、VDIリソース配置決定装置2では、このハードウェアプロセッサ21に対し、プログラムメモリ22と、データメモリ23と、通信インタフェース24と、入出力インタフェース(
図3では入出力IFと記す)25とが、バス26を介して接続される。
【0027】
通信インタフェース24は、例えば一つ以上の有線または無線の通信モジュールを含むことができる。通信インタフェース24は、VDI装置1との間で通信を行い、VDI装置1との情報交換を可能とする。
【0028】
入出力インタフェース25には、入力部27及び表示部28が接続されている。入力部27及び表示部28は、例えばタブレット型の入力・表示デバイスを用いたものが用いられる。なお、入力部27及び表示部28は、独立するデバイスにより構成されてもよい。入出力インタフェース25は、上記入力部27において入力された操作情報をプロセッサ21に入力するとともに、プロセッサ21で生成された表示情報を表示部28に表示させる。
【0029】
なお、入力部27及び表示部28は、入出力インタフェース25に接続されていなくてもよい。入力部27及び表示部28は、通信インタフェース24と直接またはネットワークを介して接続するための通信ユニットを備えることで、プロセッサ21との間で情報の授受を行い得る。この場合、入力部27及び表示部28は、VDI装置1の入力部17及び表示部18として機能させてもよい。すなわち、VDI装置1の入力部17及び表示部18とVDIリソース配置決定装置2の入力部27及び表示部28とは、一つの入力部及び表示部を兼用されるものとしても良い。
【0030】
プログラムメモリ22は、非一時的な有形のコンピュータ可読記憶媒体として、例えば、HDD又はSSD等の随時書込み及び読出しが可能な不揮発性メモリと、ROM等の不揮発性メモリとが組合せて使用されたものである。このプログラムメモリ22には、プロセッサ21がこの実施形態に係る各種制御処理を実行するために必要なプログラムが格納されている。
【0031】
データメモリ23は、有形のコンピュータ可読記憶媒体として、例えば、上記の不揮発性メモリと、上記のRAM等の揮発性メモリとが組合せて使用されたものである。このデータメモリ23は、各種処理が行われる過程で取得及び作成された各種データが記憶されるために用いられる。
【0032】
図4は、ユーザ端末3のハードウェア構成の一例を示すブロック図である。
【0033】
ユーザ端末3は、
図4に示すように、例えば、通信インタフェース31と、入出力インタフェース(
図4では入出力IFと記す)32とが、バス35を介して接続される。すなわち、ユーザ端末3は、シンクライアントであって良く、
図2及び3に示すようなプロセッサ、各種メモリを有していなくとも良い。なお、
図4では示していないが、ユーザ端末3は、各種処理が行われる過程で一時的にデータを記憶するために、RAM等の揮発性メモリを備えていても良い。
【0034】
通信インタフェース31は、例えば一つ以上の有線または無線の通信モジュールを含むことができる。通信インタフェース31は、VDI装置1との間で通信を行い、VDI装置1が行った処理またはユーザからの入力等の情報をVDI装置1との間で情報交換を可能とする。
【0035】
入出力インタフェース32には、入力部33及び表示部34が接続されている。入力部33及び表示部34は、例えばタブレット型の入力・表示デバイスを用いたものが用いられる。なお、入力部33及び表示部34は、独立するデバイスにより構成されても良い。入出力インタフェース32は、上記入力部33において入力された操作情報を、通信インタフェース31を介してVDI装置1に入力するとともに、VDI装置1で生成された表示情報を、通信インタフェース31を介して表示部34に表示させる。
【0036】
図5は、この実施形態に係るVDIリソース配置決定装置2の機能構成図を示したものである。
【0037】
VDIリソース配置決定装置2は、収集機能部群210と、モデル生成機能部群220と、計算機能部群230と、を備える。
【0038】
収集機能部群210は、ワークロード収集及び保存部211と、パフォーマンス収集及び保存部212と、リソース配置収集及び保存部213と、を含む。
【0039】
ワークロード収集及び保存部211は、VDIシステム110で生じたアプリケーションワークロード及びホストワークロードについての情報を収集及び保存する。アプリケーションワークロードは、仮想マシン112及びオペレーティングシステム113上で生じるワークロードであり、例えば、資料閲覧及び編集ワークロード、リモート会議ワークロード、プログラム実行ワークロード、画像編集ワークロード等である。ホストワークロードは、ホスト111上で生じるワークロードであり、例えば、ホスト111の、CPU/GPUワークロード、メモリワークロード、ネットワークスループットワークロード、仮想マシン起動数及びシャットダウン数ワークロード等である。
【0040】
図6は、ワークロード収集及び保存部211がVDI装置1から収集するワークロードの一例を示す図である。VDI装置1は、VDI装置1上にインストールされた各アプリケーションワークロード収集ツールを用いてアプリケーションワークロードを収集する。そして、ワークロード収集及び保存部211は、収集したアプリケーションワークロードを受け取り、保存する。VDI装置1は、VDI装置1上にインストールされたホストワークロード収集ツールを用いてホストワークロードを収集する。そして、ワークロード収集及び保存部211は、収集したホストワークロードを受け取り、保存する。
【0041】
アプリケーションワークロードは、仮想マシン112のワークロードを直接表現でき、その種類も多様である。しかしながら、アプリケーションワークロードを収集するための専用ツールが少ない又はユーザのプライバシー問題により、ワークロード収集及び保存部211は、アプリケーションワークロードの収集が困難である、又は限定して収集可能である。また、ワークロードは、下で説明するパフォーマンスモデルを生成するために不可欠なデータである。そのため、アプリケーションワークロードの収集が困難である、又は限定して収集可能な場合でも、アプリケーションワークロードの代わりにVDIの処理の重さを表せるワークロード情報を収集する必要がある。そこで、ワークロード収集及び保存部211は、VDIワークロードを間接的に表現できるホストワークロードを収集及び保存する。
【0042】
アプリケーションワークロードが収集困難又は限定して収集可能な場合、ワークロード収集及び保存部211は、アプリケーションワークロードを代替しパフォーマンスモデルにワークロード情報を用いて学習させるために、アプリケーションワークロードを代替できるホストワークロードを収集し、パフォーマンスモデルの学習データのワークロード部分とする。例えば、ワークロード収集及び保存部211は、アプリケーションワークロードである資料閲覧及び編集のワークロードを代替するために、ホストワークロードであるCPU/GPUワークロード、メモリワークロード及びディスクワークロードを収集してパフォーマンスモデルの学習データの一部分とする。さらに、アプリケーションワークロードであるリモート会議ワークロードを代替するために、ワークロード収集及び保存部211は、ホストワークロードであるCPU/GPUワークロード、ネットワークスループットワークロードを収集してパフォーマンスモデルの学習データの一部分とする。このように、VDIリソース配置決定装置2は、、アプリケーションワークロード収集困難又は限定して収集可能な場合でも、収集したホストワークロードを収集することで、パフォーマンスモデルにワークロード情報を提供可能とし、パフォーマンスモデルを生成可能とする。
【0043】
また、ワークロード収集及び保存部211は、アプリケーションワークロードが収集可能な場合でも、アプリケーションワークロード及びホストワークロードを両方収集する。これにより、VDIシステム110全体のワークロードをより正確且つ全面的に表現することができ、パフォーマンスモデルの精度の向上につながる。
【0044】
パフォーマンス収集及び保存部212は、アプリケーションパフォーマンス及びホストパフォーマンスを収集及び保存する。アプリケーションパフォーマンスは、ユーザが直接体感するパフォーマンスであり、例えば、仮想マシン112及びオペレーティングシステム113の、入力応答時間、プログラム起動遅延、画質、仮想マシン起動/シャットダウン遅延時間等である。ホストパフォーマンスは、ホスト111で観測して評価することが可能なパフォーマンスであり、例えば、ホスト111の、CPU待ち時間、メモリオーバロード、入力応答時間、ネットワーク遅延時間等である。また、ホストパフォーマンスは、アプリケーションパフォーマンスを間接的に評価することが可能である。
【0045】
図7は、パフォーマンス収集及び保存部212がVDI装置1から収集するパフォーマンスの一例を示す図である。VDI装置1は、VDI装置1上にインストールされた各アプリケーションパフォーマンス収集ツールを用いてアプリケーションパフォーマンスを収集する。そして、パフォーマンス収集及び保存部212は、収集したアプリケーションパフォーマンスを受け取り、保存する。VDI装置1は、VDI装置1上にインストールされたホストパフォーマンス収集ツールを用いてホストパフォーマンスを収集する。そして、パフォーマンス収集及び保存部212は、収集したホストパフォーマンスを受け取り、保存する。
【0046】
リソース配置収集及び保存部213は、クラスタレベル及びリソース配置を仮想インフラ―管理フレーム部120から収集し、保存する。ここで、クラスタレベルは、例えば、クラスタ内のノード数、計算リソースの総量を表し、クラスタは、ホスト111を所定の数でまとめたものである。なお、計算リソースは、例えば、クラスタ内のvCPU、メモリ、ディスクの量を表す。リソース配置は、VM112内のホストの数、ホストに配置されるVM112の数、各VM112に配置される仮想計算リソースを表す。ここで、仮想計算リソースは、1つのVM112に割り当てられたvCPU、メモリ、ディスクの量を表す。また、リソース配置収集及び保存部213は、収集したクラスタレベル及びリソース配置から、VDIシステム110で設定可能なリソース配置を算出し、保存している。
【0047】
モデル生成機能部群220は、ワークロード予測モデル生成部221と、ワークロード予測モデル保存部222と、パフォーマンスモデル生成部223と、パフォーマンスモデル保存部224と、を備える。
【0048】
ワークロード予測モデル生成部221は、ワークロード収集及び保存部211に保存されたアプリケーションワークロード及びホストワークロード、すなわち、過去のワークロードデータに基づいてワークロード予測モデルを生成する。ワークロード予測モデルは、将来の指定時間帯を指定すると、その指定された時間帯におけるアプリケーションワークロード及びその指定された時間帯におけるホストワークロードを出力するモデルである。指定時間帯は、VDI運用者4がユーザ端末3に対して満足させたいパフォーマンス要件を満たすべき時間帯を示す。ここで、ワークロード予測モデル生成部221は、ワークロード予測モデルを、例えば、LSTM(Long Short Time Memory)等の既存の方法を使用して生成することができる。そのため、ワークロード予測モデルの詳細な生成方法は、ここでは省略する。
【0049】
ワークロード予測モデル保存部222は、ワークロード予測モデル生成部221で生成されたワークロード予測モデルを保存する。
【0050】
パフォーマンスモデル生成部223は、ワークロード収集及び保存部211に保存されたアプリケーションワークロード及びホストワークロード、すなわち過去のワークロードデータと、パフォーマンス収集及び保存部212に保存されたアプリケーションパフォーマンス及びホストパフォーマンス、すなわち過去のパフォーマンスと、リソース配置収集及び保存部213に保存されたクラスタレベル及びリソース配置を含む、現在のリソース配置に基づいて、パフォーマンスモデルを生成する。パフォーマンスモデルは、指定時間帯におけるアプリケーションワークロード及びホストワークロードと、リソース配置と、を入力すると、その指定された時間帯におけるアプリケーションパフォーマンス及びその指定された時間帯におけるホストパフォーマンスを出力するモデルである。なお、パフォーマンスモデルは、入力であるワークロードと、出力であるパフォーマンスとの定性関係を算出するモデルである。ここで、パフォーマンスモデル生成部223は、パフォーマンスモデルを生成するために、例えば、ニューラルネットワークリグレッション等の既存の方法を使用することができる。そのため、パフォーマンスモデルの詳細な生成方法は、ここでは省略する。
【0051】
パフォーマンスモデル保存部224は、パフォーマンスモデル生成部223で生成されたパフォーマンスモデルを保存する。
【0052】
計算機能部群230は、入力機能部231と、計算機能部232と、提示機能部233と、を備える。
【0053】
入力機能部231は、VDI運用者4によって入力されたアプリケーションパフォーマンス要件、ホストパフォーマンス要件、これらの要件を満たすべき指定時間帯の入力を含む、要件情報を受信する。入力機能部231は、要件情報を受信すると、要件情報を計算機能部232に送信する。
【0054】
計算機能部232は、ワークロード予測モデルを用いて指定時間帯におけるワークロードを算出する。さらに、計算機能部232は、指定時間帯におけるワークロードにおいて現在のリソース設定及び他の設定可能なリソース設定において、パフォーマンスモデルを用いて指定時間帯におけるパフォーマンスを算出する。
【0055】
図8は、計算機能部232による、ワークロード予測モデル生成の一例を表す図である。
図8に示すように、学習データは、複数のレコードにより構成され、各レコードは、過去のある時間帯Tにおけるワークロードである特徴値と、過去のある時間帯Tよりnだけ後の過去の時間帯T+nにおけるワークロードである目標値によって構成される。ここで、nは、任意の時間を表す。LSTM等の未学習モデルに学習データを入力し、学習させることで、過去の時間帯のワークロードから将来の時間帯おけるワークロードを予測可能なモデルが生成される。つまり、生成されたモデルは、将来の時間帯を指定すると、その将来の指定時間帯のワークロードを予測できる。
【0056】
図9は、計算機能部232による、ワークロード予測モデルを用いた指定時間帯におけるワークロード算出の一例を表す図である。
図9に示すように、ワークロード予測モデルは、要件情報として、指定時間帯が入力されると、その指定時間帯におけるアプリケーションワークロード及びその指定時間帯におけるホストワークロードを出力する。
【0057】
図10は、計算機能部232による、パフォーマンスモデル生成の一例を表す図である。
図10に示すように、学習データは、複数のレコードにより構成され、各レコードは、過去のある時間帯Tにおけるワークロード及びリソース配置である特徴値と、過去のある時間帯Tにおけるパフォーマンスである目標値とによって構成される。ニューラルネットワークリグレッション等の未学習モデルに学習データを入力し、学習させることで、ある時間帯Tのワークロード及びリソース配置からパフォーマンスを算出可能なモデルが生成される。つまり、生成されたモデルは、ワークロードとリソース配置を指定すると、そのワークロード及びリソース配置でのパフォーマンスを予測できる。
【0058】
図11は、計算機能部232による、パフォーマンスモデルを用いた指定時間帯におけるワークロード算出の一例を表す図である。パフォーマンスモデルは、ワークロード予測モデルから出力された指定時間帯におけるアプリケーションワークロード及び指定時間帯におけるホストワークロードと、リソース配置収集及び保存部213に保存されている現在のリソース配置とが入力されると、指定時間帯におけるアプリケーションパフォーマンス及び指定時間帯におけるホストパフォーマンスを出力する。
【0059】
さらに計算機能部232は、パフォーマンスモデルから出力されたパフォーマンスがVDI運用者4が入力したパフォーマンス要件を満たしているか否かを判定する。満たしていない場合、計算機能部232は、リソース配置収集及び保存部213に保存されている設定可能なリソース配置を用いて再度パフォーマンスを計算し、パフォーマンス要件を満たすリソース配置を見出す。そして、計算機能部232は、見出されたリソース配置についての情報を提示機能部233に送信する。
【0060】
提示機能部233は、受信したリソース配置についての情報をVDI運用者4に提示する。
【0061】
[動作]
図12は、本実施形態におけるVDIリソース配置決定装置2のVDIリソース配置決定動作の一例を示すフローチャートである。VDIリソース配置決定装置2のプロセッサ21がプログラムメモリ22に格納されたVDIリソース配置決定プログラムを読み出して実行することにより、このフローチャートの動作が実現される。このフローチャートは、VDI運用者4によるVDI装置1のパフォーマンス要件を入力したいという要求指示を受信することにより開始する。
【0062】
VDIリソース配置決定装置2中の入力機能部231は、VDI運用者4から、パフォーマンス要件及び当該要件を必要とする指定時間帯を含む要件情報を、入力部27を介して受信する(ステップS101)。すなわち、入力機能部231は、当該VDI運用者4から当該要求指示を受信すると、アプリケーションパフォーマンス要件及びホストパフォーマンス要件を含むパフォーマンス要件とこれらの要件を満たすべき将来の指定時間帯とを入力するための情報を表示部28に表示させ、VDI運用者4に入力を促す。入力機能部231は、入力部27からVDI運用者4からアプリケーションパフォーマンス要件、ホストパフォーマンス要件及びこれらの要件を必要とする将来の指定時間帯についての入力を受信する。入力機能部231は、パフォーマンス要件及び当該要件を必要とする指定時間帯を含む要件情報が入力されると、これらの要件情報を計算機能部232に送信する。
【0063】
図13は、VDI運用者4に提示する入力画面の一例を示す図である。
図13は、アプリケーションパフォーマンス要件としてのユーザ入力応答と、ホストパフォーマンス要件としての、CPU待ち時間、メモリオーバロード及びI/O応答時間の上限と、将来の指定時間帯と、をVDI運用者4が入力する例を示している。VDIリソース配置決定装置2は、四角で囲まれた部分に数字を入力するようにVDI運用者4を促す。VDI運用者4は、パフォーマンス要件を入力及び当該要件を必要とする指定時間帯を入力することになる。なお、
図13に開示される要件は単なる例であり、アプリケーションパフォーマンス要件及びホストパフォーマンス要件は、
図13に示されるものに限られないのは勿論である。また、アプリケーションパフォーマンス要件は、ユーザ体感要件と言い換えても良い。
【0064】
計算機能部232は、入力機能部231から要件情報を受信すると、リソース配置収集及び保存部213からVDIシステム110の現在のリソース配置についての情報を読込む(ステップS102)。
【0065】
図14は、VDIシステム110の現在のリソース配置の例を示す図である。
図14に示されるように、計算機能部232は、現在のリソース配置、すなわちVDIシステム110内のホスト数、各ホストのVM数、各VMに割り当てられた仮想計算リソース、すなわちvCPUの数、メモリ量、ディスク容量についての情報を読込む。
【0066】
計算機能部232は、ワークロード予測モデル保存部222に保存されているワークロード予測モデルを用いて、指定時間帯におけるワークロードを算出する(ステップS103)。
【0067】
図15は、指定された時間帯におけるワークロードの一例を示す図である。
図15の例では、
図13で示した指定された時間帯におけるパフォーマンス要件に対応するリソース配置を算出するために、指定された時間帯帯の予測ワークロードの一例であるディスクI/Oワークロード、ネットワークスループットワークロード、VM起動数及びシャットダウン数ワークロードを示す。なお、
図15で示したワークロードは、単なる例であり、計算機能部232は、必要なリソース配置を算出するために他のワークロードを算出できるのは勿論である。
【0068】
計算機能部232は、ステップS103で算出した指定時間帯におけるワークロード及び現在のリソース配置に、パフォーマンスモデル保存部224に保存されているパフォーマンスモデルを適用して指定時間帯における現在リソース配置の場合のパフォーマンスを算出する(ステップS104)。すなわち、計算機能部232は、上記算出した指定時間帯におけるアプリケーションワークロード及び指定時間帯におけるホストワークロードと、リソース配置収集及び保存部213に保存されている現在のリソース配置と、をパフォーマンスモデルに入力する。パフォーマンスモデルは、指定時間帯におけるアプリケーションパフォーマンス及びホストパフォーマンスを出力する。例えば、
図15で示したワークロード及び
図14で示した現在のリソース配置をパフォーマンスモデルに入力すると、パフォーマンスモデルは、指定時間帯におけるアプリケーションパフォーマンスとして、ユーザ応答時間を出力し、指定時間帯におけるホストパフォーマンスとして、CPU待ち時間、メモリオーバロード、ディスクI/O応答時間を出力する。
【0069】
計算機能部232は、算出されたパフォーマンスがVDI運用者4によって入力されたパフォーマンス要件を満たすか否かを判定する(ステップS105)。ステップS104で算出されたアプリケーションパフォーマンス及びホストパフォーマンスがすべてパフォーマンス要件を満たす場合、計算機能部232は、現在のリソース配置で、VDI運用者4が入力したパフォーマンス要件を満たすという情報を提示機能部233に送信する。提示機能部233は、現在のリソース配置で指定されたパフォーマンス要件を満たすことを示す情報をVDI運用者4に提示する。ステップS104で算出されたアプリケーションパフォーマンス及びホストパフォーマンスが1つでもパフォーマンス要件を満たさない場合、ステップS106に進む。
【0070】
図16は、ステップS104で算出したパフォーマンスにパフォーマンス要件を重ねて提示する提示画面の一例を示す図である。
図16で示すパフォーマンスは、
図14及び
図15で示したリソース配置及びワークロードから算出されたパフォーマンスであり、パフォーマンス要件は、
図13で示したパフォーマンス要件である。アプリケーションパフォーマンス提示エリア1401は、アプリケーションパフォーマンスであるユーザ応答時間にユーザ応答時間上限を重ねた図である。ホストパフォーマンス提示エリア1402で示される図は、ホストパフォーマンスである、CPU待ち時間、メモリオーバロード、I/O応答時間にVDI運用者4が入力した各上限を重ねた図である。アプリケーションパフォーマンス提示エリア1401中のユーザ入力応答時間は、ある時間帯でユーザ応答時間の上限を超える。ホストパフォーマンス提示エリア1402中のCPU待ち時間、メモリオーバロード、ディスクI/O応答時間は、ある時間帯で上限を超える。したがって、
図16に示す例は、パフォーマンスが全てパフォーマンス要件を満たさない場合を示している。
【0071】
計算機能部232は、リソース配置収集及び保存部213に設定可能なリソース配置が保存されているか否かを判定する(ステップS106)。リソース配置収集及び保存部213に設定可能なリソース配置が無かった場合、計算機能部232は、VDI運用者4の指定したパフォーマンス要件を満たすリソース配置が無いことを示す情報を提示機能部233に送信する。そして、提示機能部233は、指定したパフォーマンス要件を満たすリソース配置が無いことを示す情報をVDI運用者4に提示する。
【0072】
設定可能なリソース配置が有る場合、計算機能部232は、リソース配置収集及び保存部213から設定可能なリソース配置のうちの1つを読込む(ステップS107)。
【0073】
図17は、設定可能なリソース配置の一例を示した図である。
図17は、
図14で示したリソース配置からの変更箇所を示している。
図17では、ホスト1の仮想マシンの数を10から8に減らし、さらに仮想マシン4のvCPUの数を1から2に増やし、仮想マシン5のメモリ量を2Gバイトから4Gバイトに増やしたリソース配置の例を示している。
【0074】
計算機能部232は、読込んだ設定可能なリソース配置及びステップS104で算出された指定時間帯におけるワークロードにパフォーマンスモデルを適用してパフォーマンスを算出する(ステップS108)。
【0075】
計算機能部232は、算出されたパフォーマンスがパフォーマンス要件を満たすかどうかを判定する(ステップS109)。判定の結果、パフォーマンスがパフォーマンス要件を満たさない場合、すなわち、アプリケーションパフォーマンス又はホストパフォーマンスのうちの1つでもパフォーマンス要件を満たさない場合、ステップS106へと戻る。判定の結果、パフォーマンスがパフォーマンス要件を満たす場合、すなわち、アプリケーションパフォーマンス及びホストパフォーマンスが全てパフォーマンス要件を満たす場合、計算機能部232は、読込んだリソース配置で、VDI運用者4が入力したパフォーマンス要件を満たすという情報を提示機能部233に送信する。提示機能部233は、読込んだリソース配置でパフォーマンス要件を満たすことを示す情報をVDI運用者4に提示する。また、計算機能部232は、読込んだリソース配置にするよう仮想インフラ―管理フレーム部120に直接指示を送るようにしても良い。
【0076】
図18は、ステップS108で算出したパフォーマンスにパフォーマンス要件を重ねて提示する提示画面の一例を示す図である。
図18で示すパフォーマンスは、
図16と同様に、
図14及び
図15で示したリソース配置及びワークロードから算出されたパフォーマンスであり、パフォーマンスは、
図13で示したパフォーマンス要件である。アプリケーションパフォーマンス提示エリア1401は、アプリケーションパフォーマンスであるユーザ応答時間にユーザ応答時間上限を重ねた図である。ホストパフォーマンス提示エリア1402で示される図は、ホストパフォーマンスである、CPU待ち時間、メモリオーバロード、I/O応答時間にVDI運用者4が入力した各上限を重ねた図である。ホストパフォーマンス提示エリア1402中のユーザ入力応答時間は、全ての時間帯でユーザ応答時間の上限を超えない。さらに、ホストパフォーマンス提示エリア1402中のCPU待ち時間、メモリオーバロード、ディスクI/O応答時間は、全ての時間帯で上限を超えない。したがって、
図18に示す例は、パフォーマンスが全てパフォーマンス要件を満たす場合を示している。
【0077】
[作用効果]
VDI運用者4が入力したアプリケーションパフォーマンス要件及びホストパフォーマンス要件を満たすリソース配置を自動的に算出することが可能となる。また、この結果を用いてVDIシステム110のリソースを配置することで、リソース利用の効率化が図れると共にユーザ端末3を利用するユーザの満足度向上につながる。
【0078】
[他の実施形態]
なお、この発明は上記実施形態に限定されるものではない。例えば、VDI装置1とVDIリソース配置決定装置2は、別々の装置として示したが、全ての機能を統合した1つの装置としても良い。
【0079】
また、前記実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウェア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記憶媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブル、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記憶媒体に記憶されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書で言う記憶媒体は、頒布用に限らず、計算機内部或いはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
【0080】
要するに、この発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。
【符号の説明】
【0081】
1…VDI装置
2…VDIリソース配置決定装置
3…ユーザ端末
4…VDI運用者
11…プロセッサ
12…プログラムメモリ
13…データメモリ
14…通信インタフェース
15…入出力インタフェース
17…入力部
18…表示部
21…プロセッサ
22…プログラムメモリ
23…データメモリ
24…通信インタフェース
25…入出力インタフェース
26…バス
27…入力部
28…表示部
31…通信インタフェース
32…入出力インタフェース
33…入力部
34…表示部
110…VDIシステム
111…ホスト
112…仮想マシン
113…オペレーティングシステム
120…仮想インフラ―管理フレーム部
210…収集機能部群
211…ワークロード収集及び保存部
212…パフォーマンス収集及び保存部
213…リソース配置収集及び保存部
220…モデル生成機能部群
221…ワークロード予測モデル生成部
222…ワークロード予測モデル保存部
223…パフォーマンスモデル生成部
224…パフォーマンスモデル保存部
230…計算機能部群
231…入力機能部
232…計算機能部
233…提示機能部
1401…アプリケーションパフォーマンス提示エリア
1402…ホストパフォーマンス提示エリア