(57)【要約】【課題】各仮想マシンが作動する作動時間の間隔を計算し、作動時間の間隔によって１つずつ仮想マシンを作動して、サーバの操作システムの故障を避けることができる仮想マシンの作動スケジューリングシステム及びその方法を提供することを目的とする。【解決手段】本発明の仮想マシンの作動スケジューリングシステムは、遠距離コンピュータ内に監視プログラムを設置する設定モジュールと、サーバに監視プログラムを実行させる送信モジュールと、監視プログラムを介して、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データを獲得する獲得モジュールと、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算する計算モジュールと、計算された作動時間の間隔によって仮想マシンを作動する作動モジュールと、を備える。【選択図】図３
2014127210.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンの作動スケジューリングシステムにおいて、
遠距離コンピュータ内に監視プログラムを設置する設定モジュールと、
前記監視プログラムをサーバに送信し、前記サーバに受信された監視プログラムを実行させる送信モジュールと、
前記監視プログラムを介して、各サーバの配置データ及び該サーバが各仮想マシンに分配された資源データを獲得する獲得モジュールと、
各サーバの配置データと、該サーバが各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算する計算モジュールと、
計算された作動時間の間隔によって仮想マシンを作動する作動モジュールと
を備えることを特徴とする仮想マシンの作動スケジューリングシステム。
【請求項２】
前記仮想マシンの配置データは、仮想マシンの中央処理装置のクロックレート、中央処理装置のカーネルの数、中央処理装置のキャッシュ、中央処理のモデル、メモリの容量、メモリのクロックレート、メモリのモデル、保存装置の容量、保存装置のインタフェースの保存及び取り出す速度、保存装置のモデルのデータであることを特徴とする請求項１に記載の仮想マシンの作動スケジューリングシステム。
【請求項３】
前記サーバが各仮想マシンに分配した資源データは、各仮想マシンに分配された中央処理装置のカーネルの数、メモリの容量、保存装置の容量であることを特徴とする請求項１又は２に記載の仮想マシンの作動スケジューリングシステム。
【請求項４】
前記サーバにはハイパーバイザソフトウェアが設置されていることを特徴とする請求項１から３のいずれか１項に記載の仮想マシンの作動スケジューリングシステム。
【請求項５】
各サーバの各仮想マシンの使用量の係数ＶＭｕｓａｇｅを計算し、
前記サーバの全ての仮想マシンの使用量の係数ＶＭｇｒｏｕｐを計算し、
各仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを合計して前記全ての仮想マシンの資源使用量の係数ＶＭｃｐｕを計算し
前記サーバの資源使用量の係数ＨＯＳＴｇｒｏｕｐを計算し、
前記サーバの使用量の係数ＨＯＳＴｇｒｏｕｐから前記全ての仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを分割して仮想マシンの作動時間の間隔Ｔｇｒｏｕｐを計算し、
この際、計算する方程式は、ＶＭｕｓａｇｅ  ＝（Ｗｋ−０．１＊ＶＭｎ）＊（ｆ（ＶＭｃｐｕ）＋ｇ（ＶＭｍｅｍｏｒｙ））、ｆ（ＶＭｃｐｕ）＝Ｗｃ＊ＶＭｃｐｕ、ｇ（ＶＭｍｅｍｏｒｙ）＝Ｗｍ＊ＶＭｍｅｍｏｒｙであり、
前記ＶＭｃｐｕは、前記仮想マシンが使用された中央処理装置のカーネルの数であり、
前記ＶＭｍｅｍｏｒｙは、仮想マシンが使用されたメモリの容量であり、
前記ＶＭｎは、仮想マシンの順序数値であり、
前記ＶＭｎが大きいほど仮想マシンの数は多く、方程式ＨＯＳＴｇｒｏｕｐ＝Ｗｋ＊（ｆ（ＨＯＳＴｃｐｕ）＋ｇ（ＨＯＳＴｍｅｍｏｒｙ））＋ｈ（ＨＯＳＴｉｏ）、ｆ（ＨＯＳＴｃｐｕ）＝Ｗｃ＊ＨＯＳＴｃｐｕ、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝Ｗｍ＊ＨＯＳＴｍｅｍｏｒｙ、ｈ（ＨＯＳＴｉｏ）＝Ｗｉ＊ＨＯＳＴｄｉｓｋ／ＨＯＳＴｉｏによって計算し、
前記ＨＯＳＴｃｐｕは、前記サーバの仮想マシンが使用された中央処理装置のカーネルの数であり、
前記ＨＯＳＴｍｅｍｏｒｙは、前記サーバの容量であり、
前記ＨＯＳＴｄｉｓｋは、前記サーバの保存装置の容量であり、
前記ＨＯＳＴｉｏは、前記保存装置の入力及び出力のインタフェースのデータの伝送速度であり、
Ｗｋ、Ｗｃ、Ｗｍ及びＷｉは定数であり、
前記サーバの使用量の係数ＨＯＳＴｇｒｏｕｐから前記全ての仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを分割して計算し、即ち、方程式Ｔｇｒｏｕｐ＝  ＨＯＳＴｇｒｏｕｐ／ＶＭｇｒｏｕｐによって仮想マシンの作動時間の間隔Ｔｇｒｏｕｐを計算すること
を特徴とする請求項１から４のいずれか１項に記載の仮想マシンの作動スケジューリングシステム。
【請求項６】
仮想マシンの作動スケジューリングシステムの作動スケジューリング方法において、
遠距離コンピュータ内に監視プログラムを設置するステップと、
前記監視プログラムをサーバに送信し、前記サーバに受信された監視プログラムを実行させるステップと、
前記監視プログラムを介して、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データを獲得するステップと、
各サーバの配置データと、該サーバが各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算するステップと、
計算された作動時間の間隔によって仮想マシンを作動するステップと
を備えることを特徴とする仮想マシンの作動スケジューリングシステムの作動スケジューリング方法。
【請求項７】
前記仮想マシンの配置データは、仮想マシンの中央処理装置のクロックレート、中央処理装置のカーネルの数、中央処理装置のキャッシュ、中央処理のモデル、メモリの容量、メモリのクロックレート、メモリのモデル、保存装置の容量、保存装置のインタフェースの保存及び取り出す速度、保存装置のモデルのデータであることを特徴とする請求項6に記載の仮想マシンの作動スケジューリングシステムの作動スケジューリング方法。
【請求項８】
前記サーバが各仮想マシンに分配した資源データは、各仮想マシンに分配された中央処理装置のカーネルの数、メモリの容量、保存装置の容量であることを特徴とする請求項６又は７に記載の仮想マシンの作動スケジューリングシステムの作動スケジューリング方法。
【請求項９】
前記サーバにハイパーバイザソフトウェアが設置されていることを特徴とする請求項６から８のいずれか１項に記載の仮想マシンの作動スケジューリングシステムの作動スケジューリング方法。
【請求項１０】
各サーバの各仮想マシンの使用量の係数ＶＭｕｓａｇｅを計算し、
前記サーバの全ての仮想マシンの使用量の係数ＶＭｇｒｏｕｐを計算し、
各仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを合計して前記全ての仮想マシンの資源使用量の係数ＶＭｃｐｕを計算し、
前記サーバの資源使用量の係数ＨＯＳＴｇｒｏｕｐを計算し、
前記サーバの使用量の係数ＨＯＳＴｇｒｏｕｐから前記全ての仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを分割して仮想マシンの作動時間の間隔Ｔｇｒｏｕｐを計算し、
この際、計算する方程式は、ＶＭｕｓａｇｅ  ＝（Ｗｋ−０．１＊ＶＭｎ）＊（ｆ（ＶＭｃｐｕ）＋ｇ（ＶＭｍｅｍｏｒｙ））、ｆ（ＶＭｃｐｕ）＝Ｗｃ＊ＶＭｃｐｕ、ｇ（ＶＭｍｅｍｏｒｙ）＝Ｗｍ＊ＶＭｍｅｍｏｒｙであり、
前記ＶＭｃｐｕは、前記仮想マシンが使用された中央処理装置のカーネル数であり、
前記ＶＭｍｅｍｏｒｙは、仮想マシンが使用されたメモリの容量であり、
前記ＶＭｎは、仮想マシンの順序数値であり、
前記ＶＭｎが大きいほど仮想マシンの数は多く、方程式ＨＯＳＴｇｒｏｕｐ＝Ｗｋ＊（ｆ（ＨＯＳＴｃｐｕ）＋ｇ（ＨＯＳＴｍｅｍｏｒｙ））＋ｈ（ＨＯＳＴｉｏ）、ｆ（ＨＯＳＴｃｐｕ）＝Ｗｃ＊ＨＯＳＴｃｐｕ、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝Ｗｍ＊ＨＯＳＴｍｅｍｏｒｙ、ｈ（ＨＯＳＴｉｏ）＝Ｗｉ＊ＨＯＳＴｄｉｓｋ／ＨＯＳＴｉｏによって計算し、
前記ＨＯＳＴｃｐｕは、前記サーバの仮想マシンが使用された中央処理装置のカーネル数であり、
前記ＨＯＳＴｍｅｍｏｒｙは、前記サーバの容量であり、
前記ＨＯＳＴｄｉｓｋは、前記サーバの保存装置の容量であり、
前記ＨＯＳＴｉｏは、前記保存装置の入力及び出力のインタフェースのデータの伝送速度であり、
Ｗｋ、Ｗｃ、Ｗｍ及びＷｉは定数であり、
前記サーバの使用量の係数ＨＯＳＴｇｒｏｕｐから前記全ての仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを分割して計算し、即ち、方程式Ｔｇｒｏｕｐ＝  ＨＯＳＴｇｒｏｕｐ／ＶＭｇｒｏｕｐによって仮想マシンの作動時間の間隙Ｔｇｒｏｕｐを計算すること
を特徴とする請求項６から９のいずれか１項に記載の仮想マシンの作動スケジューリングシステムの作動スケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの制御システム及びその方法に関し、特に仮想マシンの作動スケジューリングシステム及びその方法に関するものである。
【背景技術】
【０００２】
データセンターは、通常何台或いは何万台のサーバを備えるので、サーバファームとも呼ばれ、且つコンピュータシステム或いは他の部材（例えば、電信システム或いは保存システム）に設置される装置である。一般的に、データセンターは、冗長及び予備電源を備え、冗長は、通信によって環境制御（例えば、エアコン、消火器等）及び安全装置に接続される。データセンターで最も重要な装置はデータを保存するサーバである。仮想マシンとは、ソフトウェアを使用して模擬的で、完全なハードウエアシステム機能を有し、且つ完全に隔離された環境中で実行される完全なコンピュータシステムである。データセンターのサーバに仮想マシンを設置して、該サーバから１台或いは複数台の仮想のサーバ（つまり、仮想マシンに複数の操作システムを設置する）を作り出す。従って、データセンターに設置するサーバの数を減らし、同時に仮想マシンの使用状態及び待機状態によって使用し、各サーバ（例えば、ブレードサーバ）のブレード間の動態移動システムによって、ＩＴ分野の作業者は有効的に資源を調整し、且つ保護を強化することができる。通常、仮想マシンの管理において、全ての仮想マシンが同時に作動された場合、ＩＯＰＳは素早く上昇し、同一時間に作動された仮想マシンの数が多い場合、サーバに設置された保存装置の入力及び出力のインタフェースのデータの伝送速度は最大の伝送速度を超える。従って、サーバの操作システムが故障し（例えば、ブートストーム）、且つサーバは正常に作動できないので、ユーザは正常に仮想マシンを使用することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
以上の問題点に鑑みて、本発明は、各仮想マシンが作動する作動時間の間隔を計算し、作動時間の間隔によって１つずつ仮想マシンを作動して、サーバの操作システムの故障を避けることができる仮想マシンの作動スケジューリングシステム及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、本発明の仮想マシンの作動スケジューリングシステムは、遠距離コンピュータ内に前記監視プログラムを設置する設定モジュールと、前記監視プログラムをサーバに送信し、前記サーバに受信された監視プログラムを実行させる送信モジュールと、前記監視プログラムを介して、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データを獲得する獲得モジュールと、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算する計算モジュールと、計算された作動時間の間隔によって仮想マシンを作動する作動モジュールと、を備える。
【０００５】
上記の課題を解決するために、本発明の仮想マシンの作動スケジューリングシステムの作動スケジューリング方法は、遠距離コンピュータ内に前記監視プログラムを設置するステップと、前記監視プログラムをサーバに送信し、前記サーバに受信された監視プログラムを実行させるステップと、前記監視プログラムを介して、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データを獲得するステップと、各サーバの配置データと、該サーバが各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算するステップと、計算された作動時間の間隔によって仮想マシンを作動するステップと、を備える。
【発明の効果】
【０００６】
本発明の仮想マシンの作動スケジューリングシステム及びその方法は、各仮想マシンが作動する作動時間の間隔を計算し、作動時間の間隔によって１つずつ仮想マシンを作動する。これにより、サーバの操作システムの故障を避けることができるので、操作に便利である。
【図面の簡単な説明】
【０００７】
【図１】本発明に係る仮想マシンの作動スケジューリングシステムの使用環境を表す図である。
【図２】本発明に係る遠距離コンピュータの構造を表す図である。
【図３】本発明に係る仮仮想マシンの作動スケジューリングシステムの作動スケジューリング方法を表す流れ図である。
【発明を実施するための形態】
【０００８】
以下、図面に基づいて、本発明に係る仮想マシンの作動スケジューリングシステム及びその方法について詳細に説明する。図１に示したように、本発明に係る仮想マシンの作動スケジューリングシステム２００は、遠距離コンピュータ２０内に設置されて実行される。遠距離コンピュータ２０は、データセンター５０及びネットワーク４０によって接続される。ネットワーク４０は、インターネット、組織内ネットワーク或いは他の種類の通信ネットワークである。
【０００９】
データセンター５０は、複数のサーバ５００（本発明では、４つのサーバを例に挙げて説明する）を備え、サーバ５００は、ブレードサーバである。本発明の実施形態において、サーバ５００は、メインフレームと呼ばれ、各メインフレームには１つ或いは複数の仮想マシンが設置されて、効率的に各仮想マシンを管理し、各メインフレームにはハイパーバイザソフトウェアが設置されている。ハイパーバイザソフトウェアは、サーバ５００とサーバ５００の操作システム間のソフトウェア層に設置されて実行され、複数の操作システムを許可し、且つサーバ５００のハードウェアを応用して、ハイパーバイザーとも呼ばれる。ハイパーバイザソフトウェアは、サーバ５００の中央処理装置、ディスク、メモリ等の全ての物理装置を訪問することができ、ハードウェアの資源の訪問を調和し、同時に、各仮想マシンの間の保護を強化する。サーバ５００が作動されてハイパーバイザソフトェアが実行された場合、ハイパーバイザソフトウェアが各仮想マシンに適量な中央処理装置、メモリ、ネットワーク、ハードディスク等を配給して、仮想マシンの実行を確保する。
【００１０】
遠距離コンピュータ２０は、データセンタ５０のサーバ５００の実行の状態を監視し、各サーバ５００の仮想マシンの配置データ及びサーバ５００が各仮想マシンに分配した資源データを獲得する。仮想マシンの配置データは、仮想マシンの中央処理装置のクロックレート、中央処理装置のキャッシュ、中央処理装置のカーネル数、中央処理のモデル、メモリの容量、メモリのクロックレート、メモリのモデル、保存装置の容量、保存装置のインタフェースの保存及び取り出す速度、保存装置のモデル等のデータである。サーバ５００が各仮想マシンに分配された資源データは、各仮想マシンに分配された中央処理装置のカーネルの数、メモリの容量、保存装置の容量である。
【００１１】
遠距離コンピュータ２０には、更にＤＨＣＰサービスが設置され、ＤＨＣＰサービスによってネットワーク間のＩＰアドレスをデータセンター５０の各サーバ５００に分配する。これにより、遠距離コンピュータ２０はデータセンター５０の各サーバ５００と通信することができる。遠距離コンピュータ２０は、パソコン、インターネットサーバ、或いは他の最適なコンピュータである。遠距離コンピュータ２０は、データセンター５０の内部に設置され、ユーザはユーザ端末１０を使用して操作し、且つサーバ５００の監視を行う。
【００１２】
遠距離コンピュータ２０は、１つのデータベースコンピュータを介してデータベース３０と接続される。データベースコンピュータは、ＯＤＢＣ或いはＪＤＢＣである。データベース３０は、データセンター５０の各仮想マシンから送信されたデータを保存し、仮想マシンから送信されたデータは、各サーバ５００の配置データ及びサーバ５００が各仮想マシンに分配された資源データ使用である。
【００１３】
データベース３０は、遠距離コンピュータ２０と接続された外部の装置か或いは遠距離コンピュータ２０の内部に設置された装置である。データベース３０は、遠距離コンピュータ２０のハードディスク或いはメモリに保存される。システムの安全性のために、本発明の実施形態において、データベース３０は、遠距離コンピュータ２０と接続された外部の装置である。
【００１４】
ユーザ端末１０は、ユーザにユーザインタフェースを提供し、ユーザは、このユーザインタフェースによって操作し、且つ操作中のデータを遠距離コンピュータ２０に保存する。ユーザ端末１０は、コンピュータ、ノートパソコン、携帯電話、タブレット、或いは遠距離コンピュータ２０と接続できる他の装置である。
【００１５】
図２に示したように、本発明の遠距離コンピュータ２０は、仮想マシンの作動スケジューリングシステム２００を備える。仮想マシンの作動スケジューリングシステム２００は、設定モジュール２１０、分配モジュール２２０、送信モジュール２３０、獲得モジュール２４０、計算モジュール２５０及び作動モジュール２６０を備える。本発明において、モジュールとは、特定の機能を持つプログラムセグメントであり、プログラムに比べ、コンピュータ中の実効過程を描写するのに最適である。
【００１６】
設定モジュール２１０は、遠距離コンピュータ２０内に監視プログラムを設置する。監視プログラムは、各サーバ５００のハイパーバイザソフトウェアの各サーバ５００の配置データ及び該サーバが各仮想マシンに分配された資源データを読み取ることができる。
【００１７】
分配モジュール２２０は、遠距離コンピュータ２０内のＤＨＣＰサービスを介してＩＰアドレスをデータセンター５０の各サーバ５００に分配する。これにより、遠距離コンピュータ２０はデータセンター５０の各サーバ５００と通信することができる。詳しく説明すれば、図１に示したように、データセンター５０は４つのサーバ５００を有し、ＤＨＣＰサービスを介して各仮想マシンに独立した１つのＩＰアドレスを分配する。
【００１８】
送信モジュール２３０は、監視プログラムをサーバ５００に送信し、監視プログラムが受信されたサーバ５００に対して監視プログラムを実行させる。
【００１９】
獲得モジュール２４０は、監視プログラムを介して、各サーバ５００の配置データと、該サーバ５００が各仮想マシンに分配された資源データを獲得する。
【００２０】
計算モジュール２５０は、各サーバ５００の配置データ及び該サーバ５００の各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算する。各仮想マシンの作動時間の間隔を計算する際、先ず、各サーバ５００の各仮想マシンの使用量の係数ＶＭｕｓａｇｅを計算し、次に、サーバ５００の全ての仮想マシンの使用量の係数ＶＭｇｒｏｕｐを計算する。この際、ＶＭｕｓａｇｅは、方程式ＶＭｕｓａｇｅ  ＝（Ｗｋ−０．１＊ＶＭｎ）＊（ｆ（ＶＭｃｐｕ）＋ｇ（ＶＭｍｅｍｏｒｙ））によって計算され、ｆ（ＶＭｃｐｕ）は、方程式ｆ（ＶＭｃｐｕ）＝Ｗｃ＊ＶＭｃｐｕによって計算され、ｇ（ＶＭｍｅｍｏｒｙ）は、方程式ｇ（ＶＭｍｅｍｏｒｙ）＝Ｗｍ＊ＶＭｍｅｍｏｒｙによって計算される。ＶＭｃｐｕは、仮想マシンが使用された中央処理装置のカーネルの数であり、ＶＭｍｅｍｏｒｙは、仮想マシンが使用されたメモリの容量であり、ＶＭｎは、仮想マシンの順序数値であり、ＶＭｎが大きいほど仮想マシンの数は多く、Ｗｋ、Ｗｃ及びＷｍは定数であり、Ｗｋ−０．１＊ＶＭｎの数値はゼロより大きい。全ての仮想マシンの資源使用量の係数ＶＭｃｐｕは、各仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅの合計である。即ち、方程式
【００２１】
【数１】
2014127210.tif 000003
【００２２】
によって計算する。続いて、サーバ５００の資源使用量の係数ＨＯＳＴｇｒｏｕｐを計算する。この際、方程式ＨＯＳＴｇｒｏｕｐ＝Ｗｋ＊（ｆ（ＨＯＳＴｃｐｕ）＋ｇ（ＨＯＳＴｍｅｍｏｒｙ））＋ｈ（ＨＯＳＴｉｏ）、ｆ（ＨＯＳＴｃｐｕ）＝Ｗｃ＊ＨＯＳＴｃｐｕ、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝Ｗｍ＊ＨＯＳＴｍｅｍｏｒｙ、ｈ（ＨＯＳＴｉｏ）＝Ｗｉ＊ＨＯＳＴｄｉｓｋ／ＨＯＳＴｉｏによって計算する。ＨＯＳＴｃｐｕは、サーバ５００の仮想マシンが使用された中央処理装置のカーネルの数であり、ＨＯＳＴｍｅｍｏｒｙは、サーバ５００の容量であり、ＨＯＳＴｄｉｓｋは、サーバ５００の保存装置の容量であり、ＨＯＳＴｉｏは、保存装置の入力及び出力のインタフェースのデータの伝送速度であり、Ｗｋ、Ｗｃ、Ｗｍ及びＷｉは定数である。最後に、仮想マシンの作動時間の間隔Ｔｇｒｏｕｐは、サーバ５００の使用量の係数ＨＯＳＴｇｒｏｕｐから全ての仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを分割して計算する。即ち、方程式Ｔｇｒｏｕｐ＝  ＨＯＳＴｇｒｏｕｐ／ＶＭｇｒｏｕｐによって計算する。上述の方程式では、各データの数値をのみを獲取して計算し、各データの単位は考慮せず、計算した資源使用率の係数に単位はなく、１つのみの数値である。計算された仮想マシンの作動時間の間隔Ｔｇｒｏｕｐに、単位はなく、１つのみの数値である。この際、該係数に時間単位（例えば、分）を設定させ、係数Ｔｇｒｏｕｐは、仮想マシンの作動時間と別の仮想マシンの作動時間との間の作動時間の間隔である。
【００２３】
例を挙げて説明すれば、方程式ｆ（ＶＭｃｐｕ）＝ＶＭｃｐｕ＊０．３８、ｇ（ＶＭｍｅｍｏｒｙ）＝ＶＭｍｅｍｏｒｙ＊０．５９、ＶＭｕｓａｇｅ＝（１．２−０．１＊ＶＭｎ）＊（ｆ（ＶＭｃｐｕ）＋ｇ（ＶＭｍｅｍｏｒｙ）））であり、サーバ５００に２つの仮想マシンが設置され、２つの仮想マシンはそれぞれＶ１、Ｖ２であり、仮想マシンＶ１のＶＭｃｐｕが２であり、仮想マシンＶ１のＶＭｍｅｍｏｒｙが２であり、仮想マシンＶ１のＶＭｎが１である場合、上述の方程式によって、仮想マシンＶ１の資源使用量の係数を計算し、且つ係数１．９４を獲得する。仮想マシンＶ２のＶＭｃｐｕが４であり、仮想マシンＶ２のＶＭｍｅｍｏｒｙが４であり、仮想マシンＶ２のＶＭｎが２である場合、上述の方程式によって、仮想マシンＶ１の資源使用量の係数を計算し、且つ係数３．４９を獲得する。サーバ５００の全ての仮想マシンの資源使用量の係数は、５．４３２である。方程式ｆ（ＨＯＳＴｃｐｕ）＝ＨＯＳＴｃｐｕ＊０．３８、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝ＨＯＳＴｍｅｍｏｒｙ＊０．５９、ｈ（ＨＯＳＴｉｏ）＝０．０６８＊ＨＯＳＴｄｉｓｋ／ＨＯＳＴｉｏであり、サーバ５００のＨＯＳＴｃｐｕは８であり、ＨＯＳＴｍｅｍｏｒｙは１６であり、サーバの保存装置の容量ＨＯＳＴｄｉｓｋは、２ＴＢ＝２０００＊１０２４Ｍであり、ＨＯＳＴｉｏは、８０ｍｂ／秒＝８０＊６０ｍｂ／分である。従って、方程式によって、ｆ（ＨＯＳＴｃｐｕ）＝８＊０．３８、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝１６＊０．５９、ｈ（ＨＯＳＴｉｏ）＝０．０６８＊２０００＊１０２４／（８０＊６０）、ＨＯＳＴｇｒｏｕｐ＝１．２＊（ｆ（ＨＯＳＴｃｐｕ）＋ｇ（ＨＯＳＴｍｅｍｏｒｙ））＋ｈ（ＨＯＳＴｉｏ）＝４３．９８９、Ｔｇｒｏｕｐ＝ＨＯＳＴｇｒｏｕｐ／ＶＭｇｒｏｕｐ＝８．０１８を計算する。即ち、仮想マシンＶ１と仮想マシンＶ２との間の作動時間の間隔は、８．０１８分である。
【００２４】
作動モジュール２６０は、計算された作動時間の間隔によって仮想マシンを作動する。具体的には、サーバ５００は２つの仮想マシンを備え、計算された作動時間の間隔が、８．０１８分である場合、仮想マシンＶ１は作動して、８．０１８分後に仮想マシンＶ２を作動させる。
【００２５】
図３に示したように、仮想マシンの作動スケジューリングシステムの作動スケジューリング方法は以下のステップを備える。ステップＳ１０において、設定モジュール２１０は、遠距離コンピュータ２０内に監視プログラムを設置する。監視プログラムは、各サーバ５００のハイパーバイザソフトウェアの各サーバ５００の配置データ及び該サーバが各仮想マシンに分配された資源データを読み取ることができる。
【００２６】
ステップＳ２０において、分配モジュール２２０は、遠距離コンピュータ２０内のＤＨＣＰサービスを介してＩＰアドレスをデータセンター５０の各サーバ５００に分配する。これにより、遠距離コンピュータ２０はデータセンター５０の各サーバ５００と通信することができる。具体的には、図１に示したように、データセンター５０は４つのサーバ５００を有し、ＤＨＣＰサービスを介して各仮想マシンに独立した１つのＩＰアドレスを分配する。
【００２７】
ステップＳ３０において、送信モジュール２３０は、監視プログラムをサーバ５００に送信し、サーバ５００に受信された監視プログラムを実行させる。
【００２８】
ステップＳ４０において、獲得モジュール２４０は、監視プログラムを介して、各サーバ５００の配置データと、該サーバ５００が各仮想マシンに分配された資源データを獲得する。
【００２９】
ステップＳ５０において、計算モジュール２５０は、各サーバ５００の配置データ及び該サーバ５００の各仮想マシンに分配された資源データによって、各仮想マシンの作動時間の間隔を計算する。各仮想マシンの作動時間の間隔を計算する際、先ず、各サーバ５００の各仮想マシンの使用量の係数ＶＭｕｓａｇｅを計算し、次に、サーバ５００の全ての仮想マシンの使用量の係数ＶＭｇｒｏｕｐを計算する。この際、ＶＭｕｓａｇｅは、方程式ＶＭｕｓａｇｅ＝（Ｗｋ−０．１＊ＶＭｎ）＊（ｆ（ＶＭｃｐｕ）＋ｇ（ＶＭｍｅｍｏｒｙ））によって計算され、ｆ（ＶＭｃｐｕ）は、方程式ｆ（ＶＭｃｐｕ）＝Ｗｃ＊ＶＭｃｐｕによって計算され、ｇ（ＶＭｍｅｍｏｒｙ）は、方程式ｇ（ＶＭｍｅｍｏｒｙ）＝Ｗｍ＊ＶＭｍｅｍｏｒｙによって計算される。ＶＭｃｐｕは、仮想マシンが使用された中央処理装置のカーネル数であり、ＶＭｍｅｍｏｒｙは、仮想マシンが使用されたメモリの容量であり、ＶＭｎは、仮想マシンの順序数値であり、ＶＭｎが大きいほど仮想マシンの数は多く、Ｗｋ、Ｗｃ及びＷｍは定数であり、Ｗｋ−０．１＊ＶＭｎの数値はゼロより大きい。全ての仮想マシンの資源使用量の係数ＶＭｃｐｕは、各仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅの合計であり、即ち、方程式
【００３０】
【数２】
2014127210.tif 000004
【００３１】
によって計算する。続いて、サーバ５００の資源使用量の係数ＨＯＳＴｇｒｏｕｐを計算する。この際、方程式ＨＯＳＴｇｒｏｕｐ＝Ｗｋ＊（ｆ（ＨＯＳＴｃｐｕ）＋ｇ（ＨＯＳＴｍｅｍｏｒｙ））＋ｈ（ＨＯＳＴｉｏ）、ｆ（ＨＯＳＴｃｐｕ）＝Ｗｃ＊ＨＯＳＴｃｐｕ、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝Ｗｍ＊ＨＯＳＴｍｅｍｏｒｙ、ｈ（ＨＯＳＴｉｏ）＝Ｗｉ＊ＨＯＳＴｄｉｓｋ／ＨＯＳＴｉｏによって計算する。ＨＯＳＴｃｐｕは、サーバ５００の仮想マシンが使用された中央処理装置のカーネルの数であり、ＨＯＳＴｍｅｍｏｒｙは、サーバ５００の容量であり、ＨＯＳＴｄｉｓｋは、サーバ５００の保存装置の容量であり、ＨＯＳＴｉｏは、保存装置の入力及び出力のインタフェースのデータの伝送速度であり、Ｗｋ、Ｗｃ、Ｗｍ及びＷｉは定数である。最後に、仮想マシンの作動時間の間隔Ｔｇｒｏｕｐは、サーバ５００の使用量の係数ＨＯＳＴｇｒｏｕｐから全ての仮想マシンの資源使用量の係数資源使用量の係数ＶＭｕｓａｇｅを分割して計算する。即ち、方程式Ｔｇｒｏｕｐ＝  ＨＯＳＴｇｒｏｕｐ／ＶＭｇｒｏｕｐによって計算する。上述の方程式では、各データの数値のみを獲取して計算し、各データの単位は考慮せず、計算した資源使用率の係数も単位はなく、１つのみの数値である。計算された仮想マシンの作動時間の間隔Ｔｇｒｏｕｐに単位はなく、１つのみの数値であり、この際、該係数に時間単位（例えば、分）を設定させて、係数Ｔｇｒｏｕｐは、仮想マシンの作動時間と別の仮想マシンの作動時間との間の作動時間の間隔である。
【００３２】
例を挙げて説明すると、方程式ｆ（ＶＭｃｐｕ）＝ＶＭｃｐｕ＊０．３８、ｇ（ＶＭｍｅｍｏｒｙ）＝ＶＭｍｅｍｏｒｙ＊０．５９、ＶＭｕｓａｇｅ＝（１．２−０．１＊ＶＭｎ）＊（ｆ（ＶＭｃｐｕ）＋ｇ（ＶＭｍｅｍｏｒｙ）））であり、サーバ５００に２つの仮想マシンが設置され、２つの仮想マシンはそれぞれＶ１、Ｖ２であり、仮想マシンＶ１のＶＭｃｐｕが２であり、仮想マシンＶ１のＶＭｍｅｍｏｒｙが２であり、仮想マシンＶ１のＶＭｎが１である場合、上述の方程式によって、仮想マシンＶ１の資源使用量の係数を計算し、且つ係数１．９４を獲得する。仮想マシンＶ２のＶＭｃｐｕが４であり、仮想マシンＶ２のＶＭｍｅｍｏｒｙが４であり、仮想マシンＶ２のＶＭｎが２である場合、上述の方程式によって、仮想マシンＶ１の資源使用量の係数を計算し、且つ係数３．４９を獲得する。サーバ５００の全ての仮想マシンの資源使用量の係数は、５．４３２である。方程式ｆ（ＨＯＳＴｃｐｕ）＝ＨＯＳＴｃｐｕ＊０．３８、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝ＨＯＳＴｍｅｍｏｒｙ＊０．５９、ｈ（ＨＯＳＴｉｏ）＝０．０６８＊ＨＯＳＴｄｉｓｋ／ＨＯＳＴｉｏであり、サーバ５００のＨＯＳＴｃｐｕは、８であり、ＨＯＳＴｍｅｍｏｒｙは、１６であり、サーバの保存装置の容量ＨＯＳＴｄｉｓｋは、２ＴＢ＝２０００＊１０２４Ｍであり、ＨＯＳＴｉｏは、８０ｍｂ／秒＝８０＊６０ｍｂ／分である。従って、方程式によって、ｆ（ＨＯＳＴｃｐｕ）＝８＊０．３８、ｇ（ＨＯＳＴｍｅｍｏｒｙ）＝１６＊０．５９、ｈ（ＨＯＳＴｉｏ）＝０．０６８＊２０００＊１０２４／（８０＊６０）、ＨＯＳＴｇｒｏｕｐ＝１．２＊（ｆ（ＨＯＳＴｃｐｕ）＋ｇ（ＨＯＳＴｍｅｍｏｒｙ））＋ｈ（ＨＯＳＴｉｏ）＝４３．９８９、Ｔｇｒｏｕｐ＝ＨＯＳＴｇｒｏｕｐ／ＶＭｇｒｏｕｐ＝８．０１８を計算する。即ち、仮想マシンＶ１と仮想マシンＶ２との間の作動時間の間隔は、８．０１８分である。
【００３３】
ステップＳ６０において、作動モジュール２６０は、計算された作動時間の間隔によって仮想マシンを作動する。具体的には、サーバ５００は２つの仮想マシンを備え、計算された作動時間の間隔が、８．０１８分である場合、仮想マシンＶ１は作動して、８．０１８分後に仮想マシンＶ２を作動させる。
【符号の説明】
【００３４】
１０  ユーザ端末
２０  遠距離コンピュータ
３０  データベース
４０  ネットワーク
５０  データセンター
５００  サーバ
２００  仮想マシンの作動スケジューリングシステム
２１０  設定モジュール
２２０  分配モジュール
２３０  送信モジュール
２４０  獲得モジュール
２５０  計算モジュール
２６０  作動モジュール
【図１】
2014127210.tif 000005
【図２】
2014127210.tif 000006
【図３】
2014127210.tif 000007