JP2012198843A - 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム - Google Patents
仮想サーバ調整システム、仮想サーバ制御装置及びプログラム Download PDFInfo
- Publication number
- JP2012198843A JP2012198843A JP2011063853A JP2011063853A JP2012198843A JP 2012198843 A JP2012198843 A JP 2012198843A JP 2011063853 A JP2011063853 A JP 2011063853A JP 2011063853 A JP2011063853 A JP 2011063853A JP 2012198843 A JP2012198843 A JP 2012198843A
- Authority
- JP
- Japan
- Prior art keywords
- virtual server
- virtual
- service
- server
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】仮想サーバの起動指示が出されてからサービスの提供が可能になるまでの間の資源の不足を解消する。
【解決手段】仮想サーバ13の稼動状況を監視して、仮想サーバ13におけるサービスの提供の開始日時及び終了日時を収集する稼動状況情報収集部23と、仮想サーバ13の起動時間を記憶する仮想サーバ情報記憶部45と、仮想サーバ13におけるサービスの平均処理時間及び仮想サーバ13の平均起動時間に基づいて、現時点から仮想サーバ13の平均起動時間経過後に受け付けると予測されるリクエスト数のサービスを、予め設定されている保証期間内に終了させるのに必要な仮想サーバ13の数を算出する算出部42と、現在起動中の仮想サーバ13の数が算出部42による算出結果に満たない場合に仮想サーバ13を起動する仮想サーバ起動部43と、を有する。
【選択図】図1
【解決手段】仮想サーバ13の稼動状況を監視して、仮想サーバ13におけるサービスの提供の開始日時及び終了日時を収集する稼動状況情報収集部23と、仮想サーバ13の起動時間を記憶する仮想サーバ情報記憶部45と、仮想サーバ13におけるサービスの平均処理時間及び仮想サーバ13の平均起動時間に基づいて、現時点から仮想サーバ13の平均起動時間経過後に受け付けると予測されるリクエスト数のサービスを、予め設定されている保証期間内に終了させるのに必要な仮想サーバ13の数を算出する算出部42と、現在起動中の仮想サーバ13の数が算出部42による算出結果に満たない場合に仮想サーバ13を起動する仮想サーバ起動部43と、を有する。
【選択図】図1
Description
本発明は、仮想サーバ調整システム、仮想サーバ制御装置及びプログラムに関する。
コンピュータの資源(リソース)の効率的利用を図るために、物理的に1台の物理サーバを仮想的な複数台のサーバとして使用する場合がある。この仮想的なサーバは、仮想サーバあるいは仮想マシンと呼ばれ、要求側プロセスからの要求に応じてサービスを提供するためのサービス提供プログラムを実行してサービス提供プロセスを生成する。このような仮想サーバを複数利用してサービスを提供するシステムでは、システムのリソース不足を検出すると、仮想サーバに配分するリソースを追加するスケールアップや、仮想サーバを動作させる物理サーバの台数を増やすスケールアウトを行う。たとえば特許文献1では、起動中の仮想サーバのリソースの消費状況、すなわち仮想サーバにかかる負荷を常時監視し、負荷が管理者が予め設定した閾値を超えるなどしてシステムのリソースの不足を検出すると、仮想サーバのリソース配分方式に応じてスケールアップまたはスケールアウトを行う技術が提案されている。
本発明は、仮想サーバの起動指示が出されてからサービスの提供が可能になるまでの間の資源の不足を解消することを目的とする。
本発明に係る仮想サーバ調整システムは、要求側プロセスにサービスを提供するプログラムであるサービス提供プログラムを実行する仮想サーバが複数起動される物理サーバと、要求側プロセスからのサービスの提供要求を受け付け、受け付けた提供要求に応じて該提供要求に対応するサービス提供プログラムをいずれかの前記仮想サーバに実行させてサービス提供プロセスを生成する受付手段と、前記仮想サーバの起動に要した時間を含む稼動サーバ情報を記憶する記憶手段と、現在起動されている前記仮想サーバの利用の状況に関する利用状況情報を収集する収集手段と、前記利用状況情報から得られる前記仮想サーバにおけるサービス提供プロセスの処理時間の平均値及び前記稼動サーバ情報から得られる前記仮想サーバの起動時間の平均値に基づいて、現時点から前記仮想サーバの平均起動時間経過後に受け付けると予測される提供要求数のサービス提供プロセスを、予め設定されている保証期間内に終了させるのに必要な前記仮想サーバの数を算出する算出手段と、前記算出手段における算出結果に基づき前記仮想サーバを起動する起動手段と、を有することを特徴とする。
また、前記算出手段は、前記利用状況情報から得られる一定期間内に受け付けたサービスの提供要求数の遷移に基づき、平均起動時間経過後におけるサービスの予測される提供要求数を算出することを特徴とする。
また、前記算出手段は、現在受け付けて処理が終了していないサービスの提供要求数、前記仮想サーバの起動時間の平均値及び受け付けたサービスの提供要求数の遷移に基づいて、前記仮想サーバの平均起動時間経過後に受け付けると予測されるサービスの提供要求数を算出することを特徴とする。
本発明に係る仮想サーバ制御装置は、要求側プロセスにサービスを提供するプログラムであるサービス提供プログラムを実行する仮想サーバが複数起動される物理サーバと、要求側プロセスからのサービスの提供要求を受け付け、受け付けた提供要求に応じて該提供要求に対応するサービス提供プログラムをいずれかの前記仮想サーバに実行させてサービス提供プログラムを生成する受付手段と、前記仮想サーバの起動に要した時間を含む稼動サーバ情報を記憶する記憶手段と、現在起動されている前記仮想サーバの利用の状況に関する利用状況情報を収集する収集手段と、を有する仮想サーバ調整システムにおける仮想サーバ制御装置において、前記利用状況情報から得られる前記仮想サーバにおけるサービス提供プロセスの処理時間の平均値及び前記稼動サーバ情報から得られる前記仮想サーバの起動時間の平均値に基づいて、前記仮想サーバの平均起動時間経過後に受け付けると予測される提供要求数のサービス提供プロセスを、予め設定されている保証期間内に終了させるのに必要な前記仮想サーバの数を算出する算出手段と、前記算出手段における算出結果に基づき前記仮想サーバを起動する起動手段と、を有することを特徴とする。
本発明に係るプログラムは、要求側プロセスにサービスを提供するプログラムであるサービス提供プログラムを実行する仮想サーバが複数起動される物理サーバと、要求側プロセスからのサービスの提供要求を受け付け、受け付けた提供要求に応じて該提供要求に対応するサービス提供プログラムをいずれかの前記仮想サーバに実行させてサービス提供プロセスを生成する受付手段と、前記仮想サーバの起動に要した時間を含む稼動サーバ情報を記憶する記憶手段と、現在起動されている前記仮想サーバの利用の状況に関する利用状況情報を収集する収集手段と、を有する仮想サーバ調整システムに含まれるコンピュータを、前記利用状況情報から得られる前記仮想サーバにおけるサービス提供プロセスの処理時間の平均値及び前記稼動サーバ情報から得られる前記仮想サーバの起動時間の平均値に基づいて、前記仮想サーバの平均起動時間経過後に受け付けると予測される提供要求数のサービスプロセスを、予め設定されている保証期間内に終了させるのに必要な前記仮想サーバの数を算出する算出手段、前記算出手段における算出結果に基づき前記仮想サーバを起動する起動手段、として機能させるためのものである。
請求項1記載の発明によれば、仮想サーバの起動指示が出されてからサービスの提供が可能になるまでの間の資源の不足を解消することができる。
請求項2記載の発明によれば、サービスの提供要求数の遷移にという過去の実績に基づいて平均起動時間経過後におけるサービスの予測される提供要求数を算出することができる。
請求項3記載の発明によれば、仮想サーバの平均起動時間経過後に受け付けると予測されるサービスの提供要求数を算出することができる。
請求項4記載の発明によれば、仮想サーバの起動指示が出されてからサービスの提供が可能になるまでの間の資源の不足を解消することができる。
請求項5記載の発明によれば、仮想サーバの起動指示が出されてからサービスの提供が可能になるまでの間の資源の不足を解消することができる。
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
図1は、本発明に係る仮想サーバ調整システムの一実施の形態を示したブロック構成図である。図1には、クラウド基盤12と、クライアント14と、ロードバランサ20と、監視サーバ30と、コントローラ40と、が示されている。クラウド基盤12には、仮想サーバ13が複数起動される物理サーバが複数台含まれている。仮想サーバ13は、物理的なサーバの全部又は一部の資源(リソース)で構成される仮想的な1台のサーバコンピュータであり、要求側プロセスにサービスを提供するサービス提供プログラムが実行される。クライアント14は、要求側プロセスが動作するコンピュータである。なお、本システムは、複数台のクライアントによって利用可能であるが、各クライアントは同様の構成でよいので、図1には1台のクライアント14のみ図示した。
ロードバランサ20は、常時稼動しており、要求側プロセスからのサービスの提供要求を受け付け、受け付けたサービスをいずれかの仮想サーバ13に実行させる受付手段である。図1では、ロードバランサ20をクラウド基盤12の外部に設けたが、内部に設けてもよい。本実施の形態におけるロードバランサ20は、要求受付部21、サービス実行制御部22、稼動状況情報収集部23、稼動状況情報提供部24、仮想サーバ情報取得部25、稼動状況情報記憶部26及び仮想サーバ情報記憶部27を有する。要求受付部21は、クライアント14の要求側プロセスから送られてくるサービスの提供要求を受け付ける。サービス実行制御部22は、受け付けたサービスを提供するサービス提供プログラムを、各記憶部26,27に記憶されている情報を参照して選択したいずれかの仮想サーバ13に実行させてサービス提供プロセスを生成する。稼動状況情報収集部23は、各仮想サーバ13の稼動状況を監視し、その監視により各仮想サーバ13における稼動状況に関する稼動状況情報を収集し、稼動状況情報記憶部26に登録する。稼働状況情報の詳細は後述する。稼動状況情報提供部24は、収集された稼動状況情報を監視サーバ30へ送信することで提供する。仮想サーバ情報取得部25はコントローラ40から送られてくる仮想サーバ情報を受信することで取得し、仮想サーバ情報記憶部27に保存する。
監視サーバ30は、常時稼動し、本システム全体を監視する。監視サーバ30は、稼動状況情報取得部31、実績情報提供部32及び稼動状況情報記憶部33を有する。稼動状況情報取得部31は、ロードバランサ20から送られてくる稼動状況情報を受信することで取得すると、稼動状況情報記憶部33に保存する。実績情報提供部32は、稼動状況情報に基づきコントローラ40が起動する仮想サーバ13の数を算出する際に用いるデータを必要により計算し、仮想サーバ13の稼動状況に関する実績情報としてコントローラ40に送信することで提供する。
コントローラ40は、常時稼動し、起動されている仮想サーバ13の稼動状況に関する実績を参照に、仮想サーバ13の起動及び停止を行うことで、サービスの提供に必要な仮想サーバ13の最適化を図る仮想サーバ制御装置である。コントローラ40は、実績情報取得部41、算出部42、仮想サーバ起動部43、仮想サーバ情報提供部44及び仮想サーバ情報記憶部45を有する。実績情報取得部41は、監視サーバ30から送られてくる実績情報を受信することで取得する。算出部42は、仮想サーバ13の平均起動時間経過後に受け付けると予測される提供要求数のサービスを、予め設定されている保証期間内に終了させるのに必要な仮想サーバ13の数を算出する算出手段である。仮想サーバ起動部43は、仮想サーバ13を起動する。起動には、仮想サーバ13の新規起動と、既存の仮想サーバ13の機能や仕様の変更に伴う仮想サーバ13の再起動が含まれる。また、仮想サーバ13を起動するというものの、正確には、仮想サーバ13の起動指示をクラウド基盤12に含まれる管理サーバ(図示せず)へ送信することによって、管理サーバに、指示したリソースで仮想サーバ13を起動させるが、本実施の形態では、便宜的に仮想サーバ起動部43が仮想サーバ13を起動すると表現する場合もある。本実施の形態における仮想サーバ起動部43は、現在起動されている仮想サーバ13の数が算出部42により算出された数に達していない場合に、その数に達するように仮想サーバ13を起動する。仮想サーバ情報提供部44は、現在起動されている稼動サーバに関する稼動サーバ情報をロードバランサ20に送信することで提供する。仮想サーバ情報記憶部45には、起動された仮想サーバ13に関する稼動サーバ情報が記憶される。
図2は、本実施の形態における監視サーバ30を形成するサーバコンピュータのハードウェア構成図である。本実施の形態において監視サーバ30を形成するサーバコンピュータは、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図2に示したようにCPU1、ROM2、RAM3、ハードディスクドライブ(HDD)4を接続したHDDコントローラ5、入力手段として設けられたマウス6とキーボード7、及び表示装置として設けられたディスプレイ8をそれぞれ接続する入出力コントローラ9、通信手段として設けられたネットワークコントローラ10を内部バス11に接続して構成される。
また、コントローラ40及びクライアント14も同じコンピュータであることから、そのハードウェアは、図2に示したように構成してもよい。また、ロードバランサ20は、入力手段を設けなくてもよいかもしれないが、同じコンピュータであることから、そのハードウェアは、図2に示したように構成してもよい。
ロードバランサ20における各構成要素21〜25は、ロードバランサ20を形成するコンピュータと、コンピュータに搭載されたCPU1で動作するプログラムとの協調動作により実現される。また、各記憶部26,27は、ロードバランサ20に搭載されたHDD4又はRAM3で実現してよい。あるいは、各記憶部26,27を別の装置に設け、その別の装置にアクセスするように構成してもよい。
監視サーバ30における各構成要素31〜32は、監視サーバ30を形成するコンピュータと、コンピュータに搭載されたCPU1で動作するプログラムとの協調動作により実現される。また、稼動状況情報記憶部33は、監視サーバ30に搭載されたHDD4又はRAM3で実現してよい。あるいは、稼動状況情報記憶部33を別の装置に設け、その別の装置にアクセスするように構成してもよい。
コントローラ40における各構成要素41〜44は、コントローラ40を形成するコンピュータと、コンピュータに搭載されたCPU1で動作するプログラムとの協調動作により実現される。また、仮想サーバ情報記憶部45は、コントローラ40に搭載されたHDD4又はRAM3で実現してよい。あるいは、仮想サーバ情報記憶部45を別の装置に設け、その別の装置にアクセスするように構成してもよい。
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのCPUがインストールプログラムを順次実行することで各種処理が実現される。
次に、本実施の形態における動作について説明する。本実施の形態は、コントローラ40が必要な仮想サーバ13の数を決定することを特徴とするが、最初に、仮想サーバ13によりサービスが提供される通常のシステム運用時における動作について説明する。
クラウド基盤12が提供しているサービスを利用したいクライアント14の要求側プロセスは、サービスの提供要求をロードバランサ20へ送信する。ロードバランサ20における要求受付部21は、クライアント14の要求側プロセスから送信されてきた提供要求を受け付けると、仮想サーバ情報記憶部27に登録されている仮想サーバ情報及び稼動状況情報記憶部26に記憶されている稼動状況情報を参照に、要求されたサービスを提供する仮想サーバ13を決定し、その仮想サーバ13にサービスの提供を指示する。
仮想サーバ情報には、現在起動されている各仮想サーバ13のCPUの種類、コア数、メモリ、ハードディスクの容量等の構成、つまり各仮想サーバ13に割り当てられたハードウェア資源、また実行可能なサービス提供プログラム等のソフトウェア資源等各仮想サーバ13の資源(リソース)に関する情報が含まれている。また、仮想サーバ情報には、コントローラ40が仮想サーバ13を新規に起動する要求をしてから、クライアント14の要求側プロセスがその仮想サーバ13を利用可能となるまでに要した時間(起動時間)が含まれている。仮想サーバ情報取得部25は、コントローラ40が仮想サーバ13を新たに起動する度に、また既存の仮想サーバ13の資源を変更して再起動する度に仮想サーバ情報提供部44から送られてくる最新の仮想サーバ情報を取得し、この情報で仮想サーバ情報記憶部27を更新する。
また、稼動状況情報には、例えばCPUの使用率、メモリの使用率、ハードディスクの使用量、実行しているサービス提供プロセスの種類、数など起動されている仮想サーバ13の現在におけるリソースの利用状況が含まれている。また、稼動状況情報には、受け付けたサービスの提供要求(以下、「リクエスト」とも称する)の実行状態に関する情報も含まれており、具体的には、リクエストに割り振られた仮想サーバ13と、リクエストに応じて当該仮想サーバ13においてサービス提供プロセスの実行が開始された日時情報及びサービス提供プロセスの実行が終了した日時情報が含まれる。なお、仮想サーバ13が割り振られていないリクエスト、あるいは仮想サーバ13は割り振られたものの実行開始日時情報が設定されていないリソースは待機中(受付中)という状態にあり、仮想サーバ13は割り振られ、実行開始日時情報が設定されているが、実行終了日時情報が設定されていないリソースは現在処理中という状態にあることがわかる。稼動状況情報収集部23は、各仮想サーバ13の稼動状況を常時収集しており、稼動状況情報記憶部26に登録されている各仮想サーバ13の稼動状況情報を逐次更新している。
要求受付部21は、これらの情報を参照して、仮想サーバ13にかかる負荷が均等になるように、クラウド基盤12の環境下にある仮想サーバ13の中からそのサービスの提供に最適な少なくとも1台の仮想サーバ13を選出し、その仮想サーバ13にサービスの提供を指示する。その指示を受けた仮想サーバ13は、要求側プロセスにより要求されたサービスに対応するサービス提供プログラムを実行してサービス提供プロセスを生成する。このようにして、要求側プロセスにサービスを提供する。
また、稼動状況情報提供部24は、収集された稼動状況情報を監視サーバ30へその都度送信することで提供する。もちろん、周期的な処理により、例えば1分という一定期間内に収集された稼動状況情報をまとめて送信するようにしてもよい。監視サーバ30における稼動状況情報取得部31は、このようにして稼動状況情報提供部24から提供される稼動状況情報で稼動状況情報記憶部33を更新することで、稼動状況情報を最新の状態にする。
以上のようにして、クラウド基盤12の環境下において起動されている仮想サーバ13は、クライアント14の要求側プロセスから送られてくるリクエストに応じてサービスを提供する。
続いて、本実施の形態におけるリソース最適化処理について説明する。ここでいうリソース最適化処理というのは、クライアント14の要求側プロセスからのリクエストに対応するために起動中の仮想サーバ13の数を最適な数とするための処理である。具体的には、リソースが不足していることを検出した場合に仮想サーバ13を起動することで、リソース不足を解消する。本実施の形態は、このリソース最適化処理において仮想サーバ13の平均起動時間経過後に受け付けると予測される提供要求数のサービスを、予め設定されている保証期間内に終了させるのに必要な仮想サーバ13の数を算出することを特徴としている。このリソース最適化処理について図3に示したフローチャートを用いて説明する。この処理は、コントローラ40により定期的、例えば1分間隔で繰り返し実行される。
まず、実績情報取得部41は、監視サーバ30から平均処理時間及びリクエスト数を取得する(ステップ110)。平均処理時間というのは、仮想サーバ13におけるサービスの処理時間の平均値のことをいう。サービスの処理時間というのは、より正確には、仮想サーバ13がサービスを提供するために、ロードバランサ20からの指示を受けてからサービス提供プログラムを起動、実行し、その実行結果を返すまでに要した時間である。稼動状況情報に含まれているサービス提供プログラムの実行開始日時情報及び実行終了日時情報からサービスの実行に要した処理時間が得られるので、実績情報提供部32は、稼動状況情報を参照して、ある一定期間内、例えば1分間に提供されたサービスの処理時間の平均値を算出し、この算出した平均処理時間を実績情報としてコントローラ40に提供する。なお、実績情報提供部32は、稼動状況情報を実績情報として提供し、コントローラ40側で平均処理時間を算出してもよい。また、リクエスト数というのは、ロードバランサ20が受け付けたリクエストのうち処理が終了していない現時点におけるリクエストの数である。これは、稼動状況情報を参照し、ある一定期間内、例えば1分間において待機中及び処理中の状態にあるリクエストを積算することで得られる。このリクエスト数は、平均処理時間と同様に実績情報としてコントローラ40に提供される。
ここで、クライアント14の要求側プロセスから送られてくる各リクエストを予め設定されている保証期間内に終了させるためには、次の式(1)を満たす必要がある。
ここで、req′は、前述した現時点におけるリクエスト数であり、Seは前述した平均処理時間である。ltは、リクエスト受け付けてから、システム管理者がこの時間までにリクエストに応じたいという時間を示す保証期間である。つまり、保証期間が満たされると、ユーザ要求側プロセスは、リクエストしてから遅くとも保証期間が経過するまでにはサービスが受けられるということである。この保証期間は、システム管理者等によって予め設定される。そして、VM′は、現時点で起動されている仮想サーバ13の数である。これは、仮想サーバ情報記憶部45を参照することで得られる。
左辺の第1項では、現在の一定期間内において1台の仮想サーバ13当たり処理しなければならないリクエスト数に平均処理時間を乗算している。つまり、現在到着していてサービスの提供がまだ終了していないリクエストの処理に要する1台当たりの時間である。次の一定期間では、この残りの分のリクエストを処理することになる。左辺の第2項は、次の一定期間内において受け付けるリクエストの処理に要する1台当たりの時間である。これは、この処理時間には、平均処理時間をそのまま利用する。つまり、1台の仮想サーバ13が次の一定期間内において保証期間を保証するためには、式(1)を満たす必要がある。
続いて、算出部42は、平均起動時間を算出する(ステップ120)。平均起動時間というのは、仮想サーバ13の起動に要した時間の平均値のことをいう。平均起動時間は、過去に起動された全起動時間から算出してもよいし、ある一定期間内に起動された仮想サーバ13の起動時間から算出してもよい。起動時間は、仮想サーバ情報記憶部45を参照することで得られる。また、算出部42は、リクエスト増加率を取得する(ステップ130)。リクエスト増加率というのは、ある一定期間内に受け付けたリクエストの数が、その直前の一定期間内に受け付けたリクエストの数に対してどれだけ増加したか、という増加傾向を表す指標値である。リクエスト増加率が1であれば増減無し、1より大きい値となれば増加していることを示している。監視サーバ30における実績情報提供部32は、稼動状況情報から一定期間内に受け付けたリクエストの数の遷移を把握できるので、この遷移が示すリクエストの増加率を算出し、この算出したリクエスト増加率を実績情報としてコントローラ40に提供する。なお、実績情報提供部32は、稼動状況情報を実績情報として提供し、コントローラ40側でリクエスト増加率を算出してもよい。そして、現時点において仮想サーバを起動した場合に、その仮想サーバの起動が終了した時点(平均起動時間経過後)において到着しているリクエストの予測数を式(2)を用いて算出する(ステップ140)。
ここで、req″は、仮想サーバ起動終了時点におけるリクエストの予測数である。仮想サーバの起動が終了した時点というのは、現在から平均起動時間経過後の時点で表している。reqは、式(1)のreq′に相当し、現時点におけるリクエスト数である。従って、reqは、ステップ110においてすでに取得している。Stは平均起動時間であり、ステップ120で算出している。rateは、リクエスト増加率であり、ステップ130で取得している。このようにして、仮想サーバ13が処理すべきリクエストの数の変化、換言すると仮想サーバ13にかかる負荷の変化を予測する。
ところで、式(2)における算出結果は、CPUコアを1つ持つ仮想サーバ13における負荷である。CPUコアを複数持つと、それだけ並列処理が可能となる。従って、式(2)における算出結果をみかけの仮想サーバ数に換算する。これを式(3)にて表す。
ここで、VM′は、見かけ上の仮想サーバ数であり、式(1)におけるVM′に相当する。VMは、起動される仮想サーバの数である。coreは、仮想サーバ1台当たりに搭載されているCPUコアの数である。coreは、システム管理者によって指定される。そして、以上の式(1)〜(3)を統合することによって式(4)を得る。
式(4)において、左辺のVMは、平均起動時間経過後に受け付けると予測されるリクエストの数のサービスを、保証期間lt内に終了させるのに必要な仮想サーバ13の数である。算出部42は、式(4)に示したように、平均処理時間及び平均起動時間という仮想サーバ13の稼動状況の実績に用いて平均起動時間経過後に必要な仮想サーバ13の数を算出する(ステップ150)。
右辺の値が例えば3.2だとすると、この式(4)から必要な数は4以上ということになる。ここで、現在起動されている仮想サーバ13の数が1〜3台であれば、平均起動時間経過後に必要な仮想サーバ13の数に達していないので(ステップ160でN)、仮想サーバ起動部43は、起動されている仮想サーバ13の数を4台にするために、3〜1台の仮想サーバ13を起動する(ステップ170)。本実施の形態では、このように平均起動時間経過後に必要な仮想サーバ13の数を予測し、その予測した数の仮想サーバ13を確保するために現時点で仮想サーバ13の起動を実行する。一方、平均起動時間経過後に必要な仮想サーバ13の数をすでに起動していれば(ステップ160でY)、仮想サーバ13を新たに起動する必要はない。もし、5台以上の仮想サーバ13を起動しているのであれば、4台に減らすために仮想サーバ13を停止させてもよい。本実施の形態では、このようにして仮想サーバ13の数の最適化を図っている。
1 CPU、2 ROM、3 RAM、4 ハードディスクドライブ(HDD)、5 HDDコントローラ、6 マウス、7 キーボード、8 ディスプレイ、9 入出力コントローラ、10 ネットワークコントローラ、11 内部バス、12 クラウド基盤、13 仮想サーバ、14 クライアント、20 ロードバランサ、21 要求受付部、22 サービス実行制御部、23 稼動状況情報収集部、24 稼動状況情報提供部、25 仮想サーバ情報取得部、26 稼動状況情報記憶部、27 仮想サーバ情報記憶部、30 監視サーバ、31 稼動状況情報取得部、32 実績情報提供部、33 稼動状況情報記憶部、40 コントローラ、41 実績情報取得部、42 算出部、43 仮想サーバ起動部、44 仮想サーバ情報提供部、45 仮想サーバ情報記憶部。
Claims (5)
- 要求側プロセスにサービスを提供するプログラムであるサービス提供プログラムを実行する仮想サーバが複数起動される物理サーバと、
要求側プロセスからのサービスの提供要求を受け付け、受け付けた提供要求に応じて該提供要求に対応するサービス提供プログラムをいずれかの前記仮想サーバに実行させてサービス提供プロセスを生成する受付手段と、
前記仮想サーバの起動に要した時間を含む稼動サーバ情報を記憶する記憶手段と、
現在起動されている前記仮想サーバの利用の状況に関する利用状況情報を収集する収集手段と、
前記利用状況情報から得られる前記仮想サーバにおけるサービス提供プロセスの処理時間の平均値及び前記稼動サーバ情報から得られる前記仮想サーバの起動時間の平均値に基づいて、現時点から前記仮想サーバの平均起動時間経過後に受け付けると予測される提供要求数のサービス提供プロセスを、予め設定されている保証期間内に終了させるのに必要な前記仮想サーバの数を算出する算出手段と、
前記算出手段における算出結果に基づき前記仮想サーバを起動する起動手段と、
を有することを特徴とする仮想サーバ調整システム。 - 前記算出手段は、前記利用状況情報から得られる一定期間内に受け付けたサービスの提供要求数の遷移に基づき、平均起動時間経過後におけるサービスの予測される提供要求数を算出することを特徴とする請求項1に記載の仮想サーバ調整システム。
- 前記算出手段は、現在受け付けて処理が終了していないサービスの提供要求数、前記仮想サーバの起動時間の平均値及び受け付けたサービスの提供要求数の遷移に基づいて、前記仮想サーバの平均起動時間経過後に受け付けると予測されるサービスの提供要求数を算出することを特徴とする請求項1に記載の仮想サーバ調整システム。
- 要求側プロセスにサービスを提供するプログラムであるサービス提供プログラムを実行する仮想サーバが複数起動される物理サーバと、要求側プロセスからのサービスの提供要求を受け付け、受け付けた提供要求に応じて該提供要求に対応するサービス提供プログラムをいずれかの前記仮想サーバに実行させてサービス提供プログラムを生成する受付手段と、前記仮想サーバの起動に要した時間を含む稼動サーバ情報を記憶する記憶手段と、現在起動されている前記仮想サーバの利用の状況に関する利用状況情報を収集する収集手段と、を有する仮想サーバ調整システムにおける仮想サーバ制御装置において、
前記利用状況情報から得られる前記仮想サーバにおけるサービス提供プロセスの処理時間の平均値及び前記稼動サーバ情報から得られる前記仮想サーバの起動時間の平均値に基づいて、前記仮想サーバの平均起動時間経過後に受け付けると予測される提供要求数のサービス提供プロセスを、予め設定されている保証期間内に終了させるのに必要な前記仮想サーバの数を算出する算出手段と、
前記算出手段における算出結果に基づき前記仮想サーバを起動する起動手段と、
を有することを特徴とする仮想サーバ制御装置。 - 要求側プロセスにサービスを提供するプログラムであるサービス提供プログラムを実行する仮想サーバが複数起動される物理サーバと、要求側プロセスからのサービスの提供要求を受け付け、受け付けた提供要求に応じて該提供要求に対応するサービス提供プログラムをいずれかの前記仮想サーバに実行させてサービス提供プロセスを生成する受付手段と、前記仮想サーバの起動に要した時間を含む稼動サーバ情報を記憶する記憶手段と、現在起動されている前記仮想サーバの利用の状況に関する利用状況情報を収集する収集手段と、を有する仮想サーバ調整システムに含まれるコンピュータを、
前記利用状況情報から得られる前記仮想サーバにおけるサービス提供プロセスの処理時間の平均値及び前記稼動サーバ情報から得られる前記仮想サーバの起動時間の平均値に基づいて、前記仮想サーバの平均起動時間経過後に受け付けると予測される提供要求数のサービスプロセスを、予め設定されている保証期間内に終了させるのに必要な前記仮想サーバの数を算出する算出手段、
前記算出手段における算出結果に基づき前記仮想サーバを起動する起動手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011063853A JP2012198843A (ja) | 2011-03-23 | 2011-03-23 | 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011063853A JP2012198843A (ja) | 2011-03-23 | 2011-03-23 | 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012198843A true JP2012198843A (ja) | 2012-10-18 |
Family
ID=47180970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011063853A Withdrawn JP2012198843A (ja) | 2011-03-23 | 2011-03-23 | 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012198843A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014080994A1 (ja) * | 2012-11-22 | 2014-05-30 | 日本電気株式会社 | 輻輳制御システム、制御装置、輻輳制御方法およびプログラム |
JP2014186416A (ja) * | 2013-03-22 | 2014-10-02 | Hitachi Solutions Ltd | ジョブ運用管理システム、ジョブ運用管理方法およびジョブ管理装置 |
JP2015194958A (ja) * | 2014-03-31 | 2015-11-05 | 富士通株式会社 | 情報処理装置、スケール管理方法およびプログラム |
JP2017509066A (ja) * | 2014-02-19 | 2017-03-30 | スノーフレーク コンピューティング インク.Snowflake Computing Inc. | リソース提供システム及び方法 |
JP2019046163A (ja) * | 2017-09-01 | 2019-03-22 | 富士通株式会社 | 情報処理装置、仮想マシン監視プログラム、および情報処理システム |
JP2019135597A (ja) * | 2018-02-05 | 2019-08-15 | 富士通株式会社 | 性能調整プログラム、および性能調整方法 |
US10445198B2 (en) | 2016-12-27 | 2019-10-15 | Fujitsu Limited | Information processing device that monitors a plurality of servers and failover time measurement method |
WO2023223599A1 (ja) * | 2022-05-17 | 2023-11-23 | 株式会社日立製作所 | 計算機システム及びメトリクスの算出方法 |
-
2011
- 2011-03-23 JP JP2011063853A patent/JP2012198843A/ja not_active Withdrawn
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014080994A1 (ja) * | 2012-11-22 | 2014-05-30 | 日本電気株式会社 | 輻輳制御システム、制御装置、輻輳制御方法およびプログラム |
JP2014186416A (ja) * | 2013-03-22 | 2014-10-02 | Hitachi Solutions Ltd | ジョブ運用管理システム、ジョブ運用管理方法およびジョブ管理装置 |
US11269921B2 (en) | 2014-02-19 | 2022-03-08 | Snowflake Inc. | Resource provisioning systems and methods |
US11500900B2 (en) | 2014-02-19 | 2022-11-15 | Snowflake Inc. | Resource provisioning systems and methods |
US11106696B2 (en) | 2014-02-19 | 2021-08-31 | Snowflake Inc. | Resource provisioning systems and methods |
US10325032B2 (en) | 2014-02-19 | 2019-06-18 | Snowflake Inc. | Resource provisioning systems and methods |
US11599556B2 (en) | 2014-02-19 | 2023-03-07 | Snowflake Inc. | Resource provisioning systems and methods |
US11157516B2 (en) | 2014-02-19 | 2021-10-26 | Snowflake Inc. | Resource provisioning systems and methods |
US11010407B2 (en) | 2014-02-19 | 2021-05-18 | Snowflake Inc. | Resource provisioning systems and methods |
JP2021077406A (ja) * | 2014-02-19 | 2021-05-20 | スノーフレーク インク. | リソースを提供するためのシステム、方法、及び非一時的コンピュータ可読媒体 |
US11086900B2 (en) | 2014-02-19 | 2021-08-10 | Snowflake Inc. | Resource provisioning systems and methods |
US11093524B2 (en) | 2014-02-19 | 2021-08-17 | Snowflake Inc. | Resource provisioning systems and methods |
JP7163430B2 (ja) | 2014-02-19 | 2022-10-31 | スノーフレーク インク. | リソースを提供するためのシステム、方法、及び非一時的コンピュータ可読媒体 |
JP2017509066A (ja) * | 2014-02-19 | 2017-03-30 | スノーフレーク コンピューティング インク.Snowflake Computing Inc. | リソース提供システム及び方法 |
US11263234B2 (en) | 2014-02-19 | 2022-03-01 | Snowflake Inc. | Resource provisioning systems and methods |
US11238062B2 (en) | 2014-02-19 | 2022-02-01 | Snowflake Inc. | Resource provisioning systems and methods |
US11475044B2 (en) | 2014-02-19 | 2022-10-18 | Snowflake Inc. | Resource provisioning systems and methods |
US11269920B2 (en) | 2014-02-19 | 2022-03-08 | Snowflake Inc. | Resource provisioning systems and methods |
US11397748B2 (en) | 2014-02-19 | 2022-07-26 | Snowflake Inc. | Resource provisioning systems and methods |
US11321352B2 (en) | 2014-02-19 | 2022-05-03 | Snowflake Inc. | Resource provisioning systems and methods |
JP2015194958A (ja) * | 2014-03-31 | 2015-11-05 | 富士通株式会社 | 情報処理装置、スケール管理方法およびプログラム |
US10445198B2 (en) | 2016-12-27 | 2019-10-15 | Fujitsu Limited | Information processing device that monitors a plurality of servers and failover time measurement method |
JP2019046163A (ja) * | 2017-09-01 | 2019-03-22 | 富士通株式会社 | 情報処理装置、仮想マシン監視プログラム、および情報処理システム |
JP7011162B2 (ja) | 2018-02-05 | 2022-01-26 | 富士通株式会社 | 性能調整プログラム、および性能調整方法 |
JP2019135597A (ja) * | 2018-02-05 | 2019-08-15 | 富士通株式会社 | 性能調整プログラム、および性能調整方法 |
WO2023223599A1 (ja) * | 2022-05-17 | 2023-11-23 | 株式会社日立製作所 | 計算機システム及びメトリクスの算出方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012198843A (ja) | 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム | |
JP6373432B2 (ja) | 仮想環境における演算インフラストラクチャのリアルタイム最適化 | |
CN107003887B (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
JP6005795B2 (ja) | 仮想マシンの信頼性のある決定論的ライブ移行 | |
CN107003706B (zh) | 非暂时性计算机可读存储介质和用于管理作业的装置 | |
WO2017045576A1 (en) | System and method for resource management | |
WO2011155233A1 (ja) | クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体 | |
US10191779B2 (en) | Application execution controller and application execution method | |
Sampaio et al. | PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers | |
JP2008027442A (ja) | サブタスク・プロセッサの分散スケジューリング | |
KR101474872B1 (ko) | 클라우드 상에 가상 클러스터들의 효율적 구축을 위한 탄력적 가상 클러스터 관리 방법, 이를 이용한 가상 클러스터 관리 장치 및 클라우드 시스템 | |
US8458379B2 (en) | Information processing program, method, and transfer processing device | |
WO2011144132A1 (zh) | 软件持续集成的方法、装置和系统 | |
JP6620609B2 (ja) | 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置 | |
JP2017129988A (ja) | バッチ制御システム、バッチ制御プログラム、及びバッチ制御方法 | |
JP2012181578A (ja) | 更新制御装置及びプログラム | |
JP5879117B2 (ja) | 情報処理システムおよび運用管理方法 | |
GB2507816A (en) | Calculating timeout for remote task execution from network delays and processing duration on local application/hardware replica | |
JP2009181249A (ja) | 仮想マシンサーバ装置、仮想マシンシステム及びそれらに用いる仮想マシン分散方法並びにそのプログラム | |
Kumar et al. | Load balancing algorithm to minimize the makespan time in cloud environment | |
CN102200928B (zh) | 计算资源控制设备和计算资源控制方法 | |
JP6795536B2 (ja) | Vm性能保証システムおよびvm性能保証方法 | |
JP2014206805A (ja) | 制御装置 | |
JP5056346B2 (ja) | 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム | |
JP2013164749A (ja) | 仮想サーバ管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |