(57)【要約】本発明では、仮想マシンをスケジューリングする方法および装置が開示される。この方法は、次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得することであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、取得することと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得することと、各候補ホストマシンの重ね合わせ結果を取得するために、予測結果を各候補ホストマシンの使用済みリソースデータに追加することと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択することとを含む。本発明は、既存技術においてホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があることによって引き起こされるリソースの大きな無駄という技術的問題を解決する。
2021521518.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンスケジューリング方法であって、
予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測することであって、前記リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測することと、
候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得することと、
各候補ホストマシンの重ね合わせ結果を取得するために、前記予測結果を各候補ホストマシンの使用済みリソースデータに追加することと、
各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択することと、を含む、方法。
【請求項２】
前記期間は複数の時間セグメントを含み、前記予測結果を取得するために、前記次の期間に前記仮想マシンが必要とする前記リソースデータを予測することは、
予測モデルを取得することであって、前記予測モデルは、異なる属性パラメータを有する仮想マシンの予測結果とプリセット時間セグメントとの対応関係を表すために使用され、前記属性パラメータは、前記仮想マシンのＩＤ、仕様、およびアプリケーションタイプを含む、取得することと、
前記仮想マシンの属性パラメータを前記予測モデルに入力することと、
前記予測モデルから出力された前記仮想マシンの予測結果を受信することと、を含む、請求項１に記載の方法。
【請求項３】
前記仮想マシンの前記属性パラメータを前記予測モデルに入力する前に、前記方法は、
前記予測モデルの信頼度およびプリセット信頼閾値を取得することと、
前記予測モデルの前記信頼度が前記信頼閾値以上である場合に、前記仮想マシンの前記属性パラメータを前記予測モデルに入力する前記ステップを開始することと、
前記予測モデルの前記信頼度が前記信頼閾値未満である場合に、前記仮想マシンの仮想プロセッサリソースおよび仮想プロセッサ使用率に基づいて、前記次の期間に前記仮想マシンが必要とするリソースデータを予測することと、をさらに含む、請求項２に記載の方法。
【請求項４】
前記予測モデルを取得することは、
サンプルデータを取得することであって、前記サンプルデータは、複数のサンプル仮想マシンの属性情報およびプリセット時間セグメントにおける前記サンプル仮想マシンの過去リソースデータを含む、取得することと、
モデルトレーニングを通じて前記予測モデルを取得することと、を含む、請求項２に記載の方法。
【請求項５】
前記プリセット時間セグメントにおける前記サンプル仮想マシンの前記リソースデータを取得することは、
プリセットサンプリング時間に従って、前記仮想マシンの複数の仮想プロセッサの平均リソースデータを収集することであって、前記プリセット時間セグメントは、複数のサンプリング時間を含む、収集することと、
前記プリセット時間セグメントにおいて最大である平均リソースデータを、前記プリセット時間セグメントの前記過去リソースデータとして決定することと、を含む、請求項４に記載の方法。
【請求項６】
前記期間は複数の時間セグメントを含み、前記リソースデータが前記プロセッサリソースであるとき、前記候補ホストマシンの前記使用済みリソースデータを取得することは、
プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンが使用するリソースを取得することと、
前記プリセット時間セグメントにおいて各仮想マシンが使用する前記リソースの合計を、前記プリセット時間セグメントにおける前記ホストマシンの使用済みプロセッサリソースとして決定することと、を含む、請求項１に記載の方法。
【請求項７】
前記候補ホストマシンの前記使用可能なリソースデータを取得することは、
ホストマシンの全プロセッサリソースおよびプリセット使用閾値を取得することであって、前記ホストマシンの前記全プロセッサリソースは、前記ホストマシンの物理コアの数とプリセット定数との積である、取得することと、
前記ホストマシンの前記全プロセッサリソースと前記プリセット使用閾値との前記積を、前記候補ホストマシンの前記使用可能なリソースデータとして決定することと、を含む、請求項６に記載の方法。
【請求項８】
前記プリセット時間セグメントにおいて前記候補ホストマシン上で実行されている各仮想マシンが使用する前記リソースを取得することは、
それぞれの仮想マシンの仮想プロセッサの数および前記候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均使用率、および前記候補ホストマシンの物理コアの数を取得することと、
前記それぞれの仮想マシンの仮想プロセッサの前記数と前記候補ホストマシンによって作成された仮想プロセッサの前記総数との比率を取得することと、
前記候補ホストマシンの物理コアの前記数と前記候補ホストマシンによって作成された仮想プロセッサの前記総数との間の最小値を取得することと、
前記比率、仮想プロセッサの前記平均使用率、および前記最小の積を計算することと、
前記積を、前記プリセット時間セグメントでの前記それぞれの仮想マシンの前記プロセッサリソースとして決定することと、を含む、請求項６に記載の方法。
【請求項９】
前記期間は複数のプリセット時間セグメントを含み、各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの前記使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応する前記ターゲットホストマシンを選択することは、
前記候補ホストマシンから条件（複数可）を満たす候補ホストマシン（複数可）をフィルタリングおよび選択することであって、前記条件（複数可）は、各プリセット時間セグメントの重ね合わせ結果が前記ホストマシン（複数可）の使用可能なリソースデータを超えないことを含む、フィルタリングおよび選択することと、
条件（複数可）を満たす前記候補ホストマシン（複数可）を、前記仮想マシンに対応する前記ターゲットホストマシンとして決定することと、を含む、請求項１に記載の方法。
【請求項１０】
条件（複数可）を満たす候補ホストマシンが複数存在するとき、前記条件（複数可）を満たす前記候補ホストマシン（複数可）を、前記仮想マシンに対応する前記ホストマシンとして決定することは、
各リソースデータに対応する重み値を取得することと、前記条件（複数可）を満たす前記候補ホストマシン（複数可）に対応するそれぞれの重み付け結果（複数可）を取得するために、重み値（複数可）で重ね合わせ結果（複数可）に重み付けすることと、
重み付け結果が最小である候補ホストマシンを、前記仮想マシンに対応する前記ターゲットホストマシンとして決定することと、を含む、請求項９に記載の方法。
【請求項１１】
各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの前記使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応する前記ターゲットホストマシンを選択した後、前記方法は、
前記仮想マシンを、前記仮想マシンに対応する前記ターゲットホストマシンに移行することをさらに含む、請求項１に記載の方法。
【請求項１２】
前記仮想マシンが新しく作成された仮想マシンであるとき、前記予測結果を取得するために、前記次の期間に前記仮想マシンが必要とする前記リソースデータを予測することは、
前記新しく作成された仮想マシンの識別子および仕様を取得することと、
前記新しく作成された仮想マシンの同じ識別子および／または同じ仕様を有するターゲット仮想マシンを検索することと、
前記ターゲット仮想マシンの予測結果が、前記新しく作成された仮想マシンの予測結果であると決定することと、を含む、請求項２に記載の方法。
【請求項１３】
仮想マシンスケジューリング方法であって、
予測結果を取得するために、次の期間に仮想マシンが必要とするプロセッサリソースを予測することと、
候補ホストマシンの使用済みプロセッサリソースおよび使用可能なプロセッサリソースを取得することと、
各候補ホストマシンの重ね合わせ結果を取得するために、前記予測結果を各候補ホストマシンの使用済みプロセッサリソースに追加することと、
各候補ホストマシンの前記重ね合わせ結果を各候補ホストマシンの使用可能なプロセッサリソースと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択することと、を含む、方法。
【請求項１４】
前記候補ホストマシンの前記使用可能なプロセッサリソースを取得することは、
プリセット定数、前記ホストマシンの物理コアのそれぞれの数、および１未満であるプリセット閾値を取得することと、
前記プリセット定数、前記ホストマシンの物理コアの前記それぞれの数、および前記プリセット閾値のそれぞれの積を、前記ホストマシンの前記使用可能なプロセッサリソースとして決定することと、を含む、請求項１３に記載の方法。
【請求項１５】
前記期間は複数のプリセット時間セグメントを含み、前記候補ホストマシンの前記使用済みプロセッサリソースを取得することは、
プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンのプロセッサリソースを取得することと、
各仮想マシンの前記プロセッサリソースの合計を、前記プリセット時間セグメントにおける前記候補ホストマシンの使用済みプロセッサリソースとして決定することと、を含む、請求項１４に記載の方法。
【請求項１６】
前記プリセット時間セグメントについて前記候補ホストマシン上で実行されている各仮想マシンの前記プロセッサリソースを取得することは、
それぞれの仮想マシンの仮想プロセッサの数および前記候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均使用率、および前記候補ホストマシンの物理コアの数を取得することと、
前記それぞれの仮想マシンの仮想プロセッサの前記数と前記候補ホストマシンによって作成された仮想プロセッサの前記総数との比率を取得することと、
前記候補ホストマシンの物理コアの前記数と前記候補ホストマシンによって作成された仮想プロセッサの前記総数との間の最小値を取得することと、
前記比率、仮想プロセッサの前記平均使用率、および前記最小の積を計算することと、
前記積を、前記プリセット時間セグメントでのそれぞれの仮想マシンの前記プロセッサリソースとして決定することと、を含む、請求項１５に記載の方法。
【請求項１７】
仮想マシンスケジューリング装置であって、
次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するように構成された予測モジュールであって、前記リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測モジュールと、
候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するように構成された取得モジュールと、
前記予測結果を各候補ホストマシンのリソースデータに追加して、各候補ホストマシンの重ね合わせ結果を取得するように構成された重ね合わせモジュールと、
各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択するように構成された比較モジュールと、を含む、仮想マシンスケジューリング装置。
【請求項１８】
仮想マシンスケジューリング装置であって、
次の期間に仮想マシンが必要とするプロセッサリソースを予測して予測結果を取得するように構成された予測モジュールと、
候補ホストマシンの使用済みプロセッサリソースおよび使用可能なプロセッサリソースを取得するように構成された取得モジュールと、
前記予測結果を各候補ホストマシンの使用済みプロセッサリソースに追加して、各候補ホストマシンの重ね合わせ結果を取得するように構成された重ね合わせモジュールと、
各候補ホストマシンの前記重ね合わせ結果を各候補ホストマシンの使用可能なプロセッサリソースと比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択するように構成された比較モジュールと、を含む、仮想マシンスケジューリング装置。
【請求項１９】
記憶されたプログラムを含む記憶媒体であって、前記記憶媒体が配置されているデバイスが、前記プログラムが実行されているとき、
予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測するステップであって、前記リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測するステップと、
候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、
各候補ホストマシンの重ね合わせ結果を取得するために、前記予測結果を各候補ホストマシンの使用済みリソースデータに追加するステップと、
各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択するステップと、を行うように制御される、記憶媒体。
【請求項２０】
プログラムを実行するために使用されているプロセッサであって、前記プログラムが実行されているとき、
予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測するステップであって、前記リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測するステップと、
候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、
各候補ホストマシンの重ね合わせ結果を取得するために、前記予測結果を各候補ホストマシンの使用済みリソースデータに追加するステップと、
各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択するステップと、が実行される、プロセッサ。
【請求項２１】
プロセッサと、
前記プロセッサに結合され、
予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測する処理ステップであって、前記リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測する処理ステップと、
候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得する処理ステップと、
各候補ホストマシンの重ね合わせ結果を取得するために、前記予測結果を各候補ホストマシンの使用済みリソースデータに追加する処理ステップと、
各候補ホストマシンの前記重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、前記候補ホストマシンから前記仮想マシンに対応するターゲットホストマシンを選択する処理ステップと、を処理するための命令を前記プロセッサに提供するように構成されたメモリと、を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１８年４月９日に出願され、「Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｃｈｅｄｕｌｉｎｇ  Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ」と題された中国出願番号２０１８１０３１２０７４．７の優先権を主張し、参照によりその全体が本明細書に組み込まれる。
【０００２】
本出願は、クラウドコンピューティングの分野に関し、特に、仮想マシンスケジューリング方法および装置に関する。
【背景技術】
【０００３】
仮想マシンとは、ソフトウェアによってシミュレートされ、完全に分離された環境で実行される、完全なハードウェアシステム機能を有する完全なコンピュータシステムを指す。仮想マシンを作成するとき、スケジューリングシステムが、仮想マシンのホストマシンを分類する必要がある。仮想マシンが作成された後、仮想マシンがその上で実行されるホストマシンを変更することができる。このようなホストマシンの割り当てプロセスおよびホストマシンの変更プロセスは、仮想マシンのスケジューリングプロセスである。
【０００４】
現在、業界におけるクラウドコンピューティングスケジューリングは、通常、機密性の高いサービスおよびバッチジョブのハイブリッドスケジューリングを行う様々な方法を使用して、相互の影響を低減している。アプリケーションが属するカテゴリ、すなわち、計算集約型、キャッシュ集約型、およびメモリ集約型は、ユーザーの画像を使用して分類され、これにより、異なるタイプの仮想マシンに異なるスケジューリング戦略が策定される。
【０００５】
しかし、既存のハイブリッドスケジューリングスキームは、バッチ処理アプリケーションが優先レベルを下げる可能性があるという前提に基づいており、問題が発生するとレベルがダウングレードされる。しかし、仮想マシンスケジューリングには優先レベルがない。仮想マシンは同じ優先レベルで作成される。どのマイグレーションもユーザーに特定の影響を与えるため、ホストマシンは、各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があり、必然的に多くのリソースが無駄になる。
【０００６】
既存技術のホストマシンは、各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があり、多くのリソースが無駄になるという問題につながる。現在、効果的な解決策は提案されていない。
【発明の概要】
【０００７】
本発明の実施形態は、仮想マシンをスケジューリングする方法および装置を提供し、既存技術においてホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があることによって引き起こされるリソースの大きな無駄という技術的問題を少なくとも解決する。
【０００８】
本発明の実施形態の一態様によれば、仮想マシンスケジューリング方法が提供され、これは、予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測することであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数の数、および消費電力量の使用率のうちの少なくとも１つを含む、予測することと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得することと、各候補ホストマシンの重ね合わせ結果を取得するために、予測結果を各候補ホストマシンの使用済みリソースデータに追加することと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択することとを含む。
【０００９】
本発明の実施形態の別の態様によれば、仮想マシンスケジューリング方法も提供され、これは、予測結果を取得するために、次の期間に仮想マシンが必要とするプロセッサリソースを予測することと、候補ホストマシンの使用済みプロセッサリソースおよび使用可能なプロセッサリソースを取得することと、各候補ホストマシンの重ね合わせ結果を取得するために、予測結果を各候補ホストマシンの使用済みプロセッサリソースに追加することと、各候補ホストマシンの重ね合わせ結果を各候補ホストマシンの使用可能なプロセッサリソースと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択することとを含む。
【００１０】
本発明の実施形態の別の態様によれば、仮想マシンスケジューリング装置も提供され、これは、次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するように構成された予測モジュールであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測モジュールと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するように構成された取得モジュールと、予測結果を各候補ホストマシンのリソースデータに追加して、各候補ホストマシンの重ね合わせ結果を取得するように構成された重ね合わせモジュールと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するように構成された比較モジュールとを含む。
【００１１】
本発明の実施形態の別の態様によれば、仮想マシンスケジューリング装置も提供され、これは、次の期間に仮想マシンが必要とするプロセッサリソースを予測して予測結果を取得するように構成された予測モジュールと、候補ホストマシンの使用済みプロセッサリソースおよび使用可能なプロセッサリソースを取得するように構成された取得モジュールと、予測結果を各候補ホストマシンの使用済みプロセッサリソースに追加して、各候補ホストマシンの重ね合わせ結果を取得するように構成された重ね合わせモジュールと、各候補ホストマシンの重ね合わせ結果を各候補ホストマシンの使用可能なプロセッサリソースと比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するように構成された比較モジュールとを含む。
【００１２】
本発明の実施形態の別の態様によれば、記憶媒体も提供される。記憶媒体は、記憶されたプログラムを含み、記憶媒体が配置されているデバイスが、プログラムが実行されているとき、予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測するステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測するステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、各候補ホストマシンの重ね合わせ結果を取得するために、予測結果を各候補ホストマシンの使用済みリソースデータに追加するステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するステップとを行うように制御される。
【００１３】
本発明の実施形態の別の態様によれば、プロセッサも提供される。プロセッサは、プログラムを実行するために使用され、プログラムが実行されているとき、予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測するステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測するステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、各候補ホストマシンの重ね合わせ結果を取得するために、予測結果を各候補ホストマシンの使用済みリソースデータに追加するステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するステップとが実行される。
【００１４】
本発明の実施形態の別の態様によれば、システムも提供され、これは、プロセッサと、プロセッサに結合され、予測結果を取得するために、次の期間に仮想マシンが必要とするリソースデータを予測する処理ステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測する処理ステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得する処理ステップと、各候補ホストマシンの重ね合わせ結果を取得するために、予測結果を各候補ホストマシンの使用済みリソースデータに追加する処理ステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択する処理ステップとを処理するための命令をプロセッサに提供するように構成されたメモリと、を含む。
【００１５】
本発明の実施形態では、将来のサイクルにおいて仮想マシンが使用するリソースデータが予測を通じてスケジューリングされる。また、取得された候補ホストマシンの現在使用されているリソースデータおよび使用可能なリソースデータを使用することによって、仮想マシンのどの候補ホストマシンに移行する必要があるか、つまりターゲットホストマシンが決定される。このため、各ホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要なく、仮想マシンのホストマシンをより正確に選択することができ、したがって、リソースの無駄が減り、仮想マシンを異なるホストマシンにできるだけ均等に分散して、物理マシンの安定した負荷バランスが達成される。
【００１６】
したがって、本出願の上述の実施形態は、既存技術においてホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があり、リソースの大きな無駄になるという技術的問題を解決する。
【図面の簡単な説明】
【００１７】
本明細書に説明される図面は、本発明のさらなる理解を提供するために使用され、本出願の一部を構成する。本発明の例示的な実施形態およびその説明は、本発明を説明するために使用され、本発明に対する不適切な限定を構成するものではない。
【図１】仮想マシンスケジューリング方法を実施するために使用されるコンピュータ端末（またはモバイルデバイス）のハードウェア構成を示すブロック図を示す。
【図２】本出願の第１の実施形態による仮想マシンをスケジューリングする方法のフローチャートである。
【図３】本出願の第１の実施形態による仮想マシンのマイグレーションの概略図である。
【図４】本出願の第１の実施形態による仮想マシンの移行前後におけるホストマシンの使用済みリソースの任意選択の変更の概略図である。
【図５】本出願の第２の実施形態による仮想マシンをスケジューリングする方法のフローチャートである。
【図６】本出願の第３の実施形態による仮想マシンスケジューリング装置の概略図である。
【図７】本出願の第４の実施形態による仮想マシンスケジューリング装置の概略図である。
【図８】本出願の第６の実施形態によるコンピュータ端末の構造ブロック図である。
【発明を実施するための形態】
【００１８】
当業者が本発明の解決策をよりよく理解することを可能にするために、本発明の実施形態における技術的解決策を、本発明の実施形態における添付図面を参照して、以下に明確かつ完全に説明する。明らかに、記載される実施形態は、本発明の実施形態の全部ではなく、一部のみを表す。本発明の実施形態に基づいて、当業者によって独創的な努力なしに取得される他のすべての実施形態は、本発明の保護の範囲内にあるものとする。
【００１９】
本発明の説明および上記の図面における「第１の」および「第２の」という用語は、類似の対象を区別するために使用され、特定の順番または順序を説明するために使用されるのではないことに留意されたい。このように使用されるデータは、適宜交換可能であり、したがって、本明細書に説明される本発明の実施形態は、本明細書に例示または説明されるもの以外の順番で実装され得ることを理解されたい。加えて、「含む」、「有する」という用語、およびそれらの任意の変形は、非排他的な包括をカバーすることを意図している。例えば、一連のステップまたはユニットを含むプロセス、方法、システム、製品、またはデバイスは、明示的にリストされたステップまたはユニットに必ずしも限定されず、明示的にリストされていないか、またはそのようなプロセス、方法、システム、製品、またはデバイスに固有の他のステップまたはユニットを含んでもよい。
【００２０】
まず、本出願の実施形態を説明するプロセスに登場する幾つかの名詞または用語は、以下の解釈に適している。
【００２１】
仮想マシン：ソフトウェアによってシミュレートされ、完全に分離された環境で実行される完全なハードウェアシステム機能を有する完全なコンピュータシステムを指す。
【００２２】
仮想マシン（ＶＭ）スケジューリング：仮想マシンを作成するとき、スケジューリングシステムは、仮想マシンのホストマシンを分類する必要があり、仮想マシンが実行されるホストマシンは、仮想マシンの作成後に変更することができる。ホストマシンを割り当てるプロセスとホストマシンを変更するプロセスとは、仮想マシンをスケジューリングするプロセスである。
【００２３】
第１の実施形態
本発明の実施形態によれば、仮想マシンをスケジューリングする方法の一実施形態も提供される。添付図面のフローチャートに示されるステップは、コンピュータ実行可能命令のセットといったコンピュータシステムで実行することができることに留意する必要がある。また、論理的順序がフローチャートに示されているが、場合によっては、ステップは、本明細書に示されるかまたは説明されるものとは異なる順序で行われてもよい。
【００２４】
本出願の第１の実施形態において提供される方法の実施形態は、モバイル端末、コンピュータ端末、または同様のコンピューティングデバイス内で実行することができる。図１は、仮想マシンスケジューリング方法を実施するために使用されるコンピュータ端末（またはモバイルデバイス）のハードウェア構造のブロック図を示す。図１に示されるように、コンピュータ端末１０（またはモバイルデバイス１０）は、１つ以上のプロセッサ１０２（図では１０２ａ、１０２ｂ、…、１０２ｎとして示される）（プロセッサ１０２は、マイクロプロセッサＭＣＵまたはプログラマブルロジックデバイスＦＰＧＡなどの処理デバイスを含んでよいが、これらに限定されない）、データを記憶するために使用されるメモリ１０４、および通信機能のために使用される伝送モジュール１０６を含むことができる。さらに、ディスプレイ、入力／出力インターフェース（Ｉ／Ｏインターフェース）、ユニバーサルシリアルバス（ＵＳＢ）ポート（Ｉ／Ｏインターフェースのポートの１つとして含めることができる）、ネットワークインターフェース、電源、および／またはカメラを含むこともできる。当業者は、図１に示される構造は、例示のみを意図しており、上記の電子デバイスの構造に対する制限として解釈されないことを理解することができる。例えば、コンピュータ端末１０はまた、図１に示されるものよりも多いか、または少ない構成要素を含んでもよく、または図１に示されるものとは異なる構成を有してもよい。
【００２５】
１つ以上のプロセッサ１０２および／または他のデータ処理回路は、本明細書では一般に「データ処理回路」と呼ばれる場合があることに留意する必要がある。データ処理回路は、全体的または部分的に、ソフトウェア、ハードウェア、ファームウェア、または任意の他の組み合わせとして具体化することができる。さらに、データ処理回路は、単一の独立した処理モジュールであってもよく、またはコンピュータ端末１０（またはモバイルデバイス）の他の構成要素のいずれか１つに完全にまたは部分的に統合されてもよい。本出願の実施形態で述べたように、データ処理回路は、一種のプロセッサ制御（例えば、インターフェースに接続された可変抵抗端子経路の選択）として使用される。
【００２６】
メモリ１０４は、本発明の実施形態における仮想マシンスケジューリング方法に対応するプログラム命令／データストレージデバイスなどのソフトウェアプログラムおよびアプリケーションソフトウェアのモジュールを記憶するように構成することができる。プロセッサ（複数可）１０２は、メモリ１０４に記憶されているソフトウェアプログラム（複数可）およびモジュール（複数可）によって、すなわち、仮想マシンスケジューリング方法を実施することによって、様々な機能アプリケーションおよびデータ処理を実行する。メモリ１０４は、高速ランダムアクセスメモリを含んでよく、また、１つ以上の磁気ストレージデバイス、フラッシュメモリ、または他の不揮発性ソリッドステートメモリなどの不揮発性メモリも含んでよい。幾つかの例では、メモリ１０４はさらに、プロセッサ（複数可）１０２に対して遠隔に配備されたストレージデバイスを含んでよく、これらのストレージデバイスは、ネットワークを介してコンピュータ端末１０に接続されてよい。上記ネットワークの例には、インターネット、企業イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびこれらの組み合わせが含まれるが、これらに限定されない。
【００２７】
伝送デバイス１０６は、ネットワークを介してデータを受信または送信するように構成されている。ネットワークの具体例には、コンピュータ端末１０の通信プロバイダによって提供される無線ネットワークが含まれてよい。一例では、伝送デバイス１０６は、インターネットと通信するために基地局を介して他のネットワークデバイスに接続することができるネットワークアダプター（ネットワークインターフェースコントローラ、ＮＩＣ）を含む。一例では、伝送デバイス１０６は、無線でインターネットと通信するために使用される無線周波数（ＲＦ）モジュールであってよい。
【００２８】
ディスプレイは、例えば、ユーザーがコンピュータ端末１０（またはモバイルデバイス）のユーザインターフェースと対話することを可能にし得るタッチスクリーン液晶ディスプレイ（ＬＣＤ）であってよい。
【００２９】
本明細書では、幾つかの代替実施形態において、図１に示されるコンピュータ端末（またはモバイルデバイス）は、ハードウェア要素（回路を含む）およびソフトウェア要素（コンピュータ可読媒体に記憶されたコンピュータコードを含む）、またはハードウェアおよびソフトウェア構成要素の組み合わせを含んでよいことに留意されたい。図１は、具体的な実施形態の一例に過ぎず、上述のようにコンピュータデバイス（またはモバイルデバイス）に存在していてよい構成要素のタイプを示すことを意図していることに留意されたい。
【００３０】
上記動作環境において、本出願は、図２に示されるような仮想マシンスケジューリング方法のフローチャートを提供する。図２は、本発明の第１の実施形態による仮想マシンをスケジューリングする方法のフローチャートである。
【００３１】
ステップＳ２１：次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得する。ここで、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む。
【００３２】
具体的には、仮想マシンは、新しく作成された仮想マシンか、または移行する必要でありうる仮想マシンであってよい。例えば、仮想マシンを実行しているホストマシンに障害が発生したとき、または仮想マシンを実行しているホストマシンが過負荷になったとき、仮想マシンを移行させて仮想マシンの安定した動作を確保する必要がある。
【００３３】
上記プロセッサはＣＰＵであってよく、ＣＰＵの使用率に応じてＣＰＵリソースを決定することができる。ＣＰＵの使用率は、ＣＰＵが使用されている度合いであり、百分率で表すことができる。仮想マシンでは、プロセッサリソースは仮想プロセッサ（ＶＣＰＵ）リソースである。ホストマシンでは、プロセッサリソースは物理ＣＰＵリソースである。プロセッサ競合の数とは、仮想マシン（複数可）のスレッドがホストマシンのカーネル内で所定の時間を超えて待機する回数を指す。キャッシュミスの数は、ＣＰＵキャッシュミスであり、仮想マシンがホストマシンのキャッシュを読み取るときのミスの数を指すために使用される。
【００３４】
代替実施形態では、上記のための期間は７日であってよく、次の期間において仮想マシンが必要とするリソースデータは、仮想マシンの過去リソースデータを取得することによって予測することができる。
【００３５】
例として、企業の応用シナリオを使用する。企業は従業員ごとに仮想マシンアカウントを割り当て、従業員はそのアカウントを使用して仮想マシンオフィスにログインする。この場合、各従業員が仮想マシンを使用した時間、使用されたＣＰＵリソースなどといったデータには、特定のパターンがある。したがって、仮想マシンのリソースデータパターンを、仮想マシンの過去のリソースデータを通じて決定することができ、得られたパターンに従って、仮想マシンが次の期間に必要とするリソースデータを予測することができる。
【００３６】
ステップＳ２３：候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得する。
【００３７】
具体的には、候補ホストマシンは、仮想マシンを実行することが許可されているホストマシンであり、複数存在してもよい。企業の応用シナリオを一例としてまだ使用する。企業のホストマシンは、企業の各仮想マシンを実行することが許可されている。したがって、企業の仮想マシンをスケジュールするとき、企業のホストマシンは、候補ホストマシンである。
【００３８】
候補ホストマシンの使用済みリソースデータは、候補ホストマシンが使用するＣＰＵリソース、ＣＰＵ競合の数、キャッシュミスの数、および／または消費電力量の使用率であってよい。候補ホストマシンによって使用されたＣＰＵ競合の回数、キャッシュミスの数、および／または消費電力量の使用率は、検出によって取得することができ、候補ホストマシンによって使用されたＣＰＵリソースは、ホストマシン上で実行されているすべての仮想マシンが使用するＶＣＰＵリソースによって決定することができる。
【００３９】
候補ホストマシンの使用可能なリソースデータとは、候補ホストマシンが仮想マシンに使用を許可するリソースデータを指す。候補ホストマシンは、ＣＰＵリソース、ＣＰＵ競合の所定の回数、キャッシュミスの所定の数、および消費電力の所定の使用率を含んでよい特定のリソースデータを有する。各リソースデータは、対応する使用閾値、すなわち、すべてのリソースデータの一部を占めることが許可されている使用される部分を有してよい。例えば、所定の閾値が８０％の場合、仮想マシン（複数可）はホストマシンのすべてのリソースデータの８０％を使用することができる。
【００４０】
ステップＳ２５：予測結果を各候補ホストマシンの使用済みリソースデータに追加して、各候補ホストマシンの重ね合わせ結果を取得する。
【００４１】
上記解決策では、予測結果を候補ホストマシンの使用済みリソースに追加して、仮想マシンが候補ホストマシンに移行された後に候補ホストマシンが必要とするリソースデータを予測する。
【００４２】
代替実施形態では、候補ホストマシンのリソースデータを取得した後、仮想マシンの予測結果および対応する候補ホストマシンのリソースデータを別々に追加して重ね合わせ結果を取得する。具体的には、仮想マシンのリソースデータには、仮想マシンが必要とするＣＰＵリソースＡ１、ＣＰＵ競合の回数Ｂ１、キャッシュミスの数Ｃ１、消費電力量の使用率Ｄ１が含まれる。候補ホストマシンのリソースデータには、使用済みＣＰＵリソースＡ２、ＣＰＵ競合の回数Ｂ２、キャッシュミスの数Ｃ２、および消費電力量の使用率Ｄ２が含まれる。得られる重ね合わせ結果は、Ａ１＋Ａ２、Ｂ１＋Ｂ２、Ｃ１＋Ｃ２、およびＤ１＋Ｄ２である。
【００４３】
ステップＳ２７：各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択する。
【００４４】
上記ステップＳ２７において、候補ホストマシンの重ね合わせ結果が候補ホストマシンの使用可能なリソースデータを超えるとき、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンには仮想マシンの動作をサポートするのに十分なリソースがなく、これにより、候補ホストマシンが過負荷になる可能性があると決定することができる。候補ホストマシンの重ね合わせ結果が候補ホストマシンの使用可能なリソースデータを超えないとき、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンには仮想マシンの動作をサポートするのに十分なリソースがあると決定することができる。したがって、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと比較することによって、仮想マシンの動作をサポートすることができるターゲットホストマシンを候補ホストマシンから選択することができる。
【００４５】
代替実施形態では、前の実施形態と組み合わせて、候補ホストマシンを例にとってみる。候補ホストマシンの使用可能なリソースデータは、利用可能なＣＰＵリソースＡ３、ＣＰＵ競合の回数Ｂ３、およびキャッシュミスの数Ｃ３、および消費電力量の使用率Ｄ３である。Ａ１＋Ａ２＜Ａ３、Ｂ１＋Ｂ２＜Ｂ３、Ｃ１＋Ｃ２＜Ｃ３、およびＤ１＋Ｄ２＜Ｄ３が満たされる場合、ホストマシンはターゲットホストマシンであると決定される。上記条件のいずれかが満たされない場合、ホストマシンはターゲットホストマシンではないと決定される。
【００４６】
前述の実施形態では、解決策は、将来の期間に仮想マシンが使用するリソースデータを予測およびスケジューリングし、候補ホストマシンの現在使用されているリソースデータおよび使用可能なリソースデータを取得して、どの候補ホストマシンに仮想マシンを移行するかが決定される、つまり、ターゲットホストマシンが決定されることに留意する必要がある。この結果として、各ホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブすることを必要とすることなく、仮想マシンのホストマシンをより正確に選択することができるため、リソースの無駄が減り、仮想マシンを異なるホストマシンにできるだけ均等にスケジューリングおよび分散して、物理マシンの安定した負荷バランスを達成することができる。
【００４７】
したがって、本出願の前述の実施形態は、既存技術において各仮想マシンのそれぞれのピークのためにリソースをリザーブするホストマシンの必要性によって引き起こされるリソースの大きな無駄という技術的問題を解決する。
【００４８】
図３は、本出願の第１の実施形態による仮想マシン移行の概略図である。図３に示されるように、ＮＣ１およびＮＣ２は、２つのホストマシンである。ＶＭは、移行を待機している仮想マシンであり、仮想マシンＶＭをどちらのホストマシンに移行するかを決定する必要がある。
【００４９】
前述の実施形態によって提供された解決策に従って、かつ図３と組み合わせて見られるように、将来の期間における仮想マシンＶＭの予測結果が、ＮＣ１およびＮＣ２のそれぞれの使用済みリソースデータに追加され、次にこれらは、ＮＣ１およびＮＣ２の使用可能なリソースと別々に比較される。したがって、どちらのホストマシンに仮想マシンＶＭを移行するかを決定することができる。
【００５０】
しかし、予測をより正確にするために、期間を複数のプリセット時間セグメントに分割することができる。図３に示されるように、時間矢印が、期間内の時間トレンドを示し、ＮＣ１およびＮＣ２の後の長方形は、ＮＣ１およびＮＣ２それぞれの各時間セグメントの使用済みリソースデータを示す。仮想マシンＶＭの後ろの円形は、各時間セグメントでの仮想マシンＶＭの予測結果を示す。各時間セグメントの対応する予測結果に、各時間セグメントにおけるＮＣ１およびＮＣ２のそれぞれの使用済みリソースデータが追加され、次にこれらは、ＮＣ１およびＮＣ２のそれぞれの使用可能なリソースデータと別々に比較される。このようにして、仮想マシンＶＭの移行先のホストマシンをより正確に決定することができる。
【００５１】
期間を複数のプリセット期間に分割する方法を使用して、将来の期間において仮想マシンが必要とするリソースデータの予測を行うことについて、以下で説明する。
【００５２】
代替実施形態として、期間は複数のプリセット時間セグメントを含み、次の時間間隔に仮想マシンが必要とするリソースデータを予測して予測結果を取得することは、予測モデルを取得することであって、予測モデルは、異なる属性パラメータを有する仮想マシンの予測結果とプリセット時間セグメントとの対応関係を表すために使用され、属性パラメータは、仮想マシンのＩＤ、仕様、およびアプリケーションタイプを含む、取得することと、仮想マシンの属性パラメータを予測モデルに入力することと、予測モデルから出力された仮想マシンの予測結果を受信することとを含む。
【００５３】
具体的には、仮想マシンのＩＤは、ユーザーＩＤ、すなわち、ｕｓｅｒ＿ｉｄであってよい。ユーザーは、ｕｓｅｒ＿ｉｄおよび対応するパスワードを使用して仮想マシンにログインする。仮想マシンの仕様は、仮想マシンが複数のＶＣＰＵを含むことと、仮想マシンのキャッシュ量を示すために使用される。仮想マシンのアプリケーションタイプを、仮想マシンの用途に応じて決定することができる。アプリケーションのタイプは、オンラインサービスのタイプ（例えば、ウェブサイトサーバとして使用される）またはオフラインコンピューティングのタイプ（例えば、ビッグデータコンピューティング）である。
【００５４】
予測モデルは、既存のデータ（例えば、仮想マシンの過去リソースデータ）で訓練することによって取得されたニューラルネットワークモデルであってよい。
【００５５】
属性パラメータはすべて、仮想マシンが使用するリソースデータに比較的大きな影響を与えるパラメータである。例えば、ユーザーＩＤについては、ユーザーによって仮想マシンを使用する習慣が異なり、使用されたリソースデータには強い個人的特徴がある。仕様については、仕様が異なる仮想マシンが占有するリソースデータは、実行時に大きく異なる。アプリケーションタイプについては、実行時にアプリケーションタイプが異なる仮想マシンが使用するリソースデータにも大きな違いがある。
【００５６】
したがって、上記解決策では、これらの属性パラメータを仮想マシンの特性として使用し、これらを予測モデルに入力する。予測モデルは、このような入力データに基づいて予測を行い、仮想マシンの予測結果を返す。
【００５７】
代替実施形態として、仮想マシンの属性パラメータを予測モデルに入力する前に、上記方法はさらに、予測モデルの信頼度およびプリセット信頼閾値を取得することと、予測モデルの信頼度が信頼閾値以上である場合に、仮想マシンの属性パラメータを予測モデルに入力するステップを開始することと、予測モデルの信頼度が信頼閾値未満である場合に、仮想マシンの仮想プロセッサリソースおよび仮想プロセッサ使用率に基づいて、次の期間に仮想マシンが必要とするリソースデータを予測することとを含む。
【００５８】
特定のパターンを有する仮想マシンでは、その予測モデルの信頼度は高い。したがって、信頼度の高い仮想マシンでは、その予測モデルで予測されるリソースデータの精度が高くなる。自明でないパターンを有する仮想マシンでは、その予測モデルの信頼度は低い。そのため、信頼度の低い仮想マシンでは、その予測モデルで予測されるリソースデータの精度は低い。
【００５９】
上記解決策では、信頼閾値が予め設定されており、信頼閾値を使用して、予測モデルを使用して仮想マシンのリソースデータを予測するかどうかを決定する。
【００６０】
代替実施形態では、仮想マシンの予測モデルの信頼度が９０％で、信頼閾値が８５％である場合、仮想マシンの予測モデルは、次の期間における仮想マシンのリソースデータを予測するために使用することが可能にされる。
【００６１】
別の代替実施形態では、仮想マシンの予測モデルの信頼度が８０％で、信頼閾値が８５％である場合、仮想マシンの予測モデルの予測精度が低いと判断され、予測モデルは破棄される。仮想マシンの仮想プロセッサリソースおよび仮想プロセッサ使用率は、所定の式に従って、次の期間において仮想マシンが必要とするリソースデータを計算するために使用される。
【００６２】
代替実施形態として、予測モデルを取得することは、サンプルデータを取得することとモデルトレーニングを通じて予測モデルを取得することとを含む。サンプルデータは、複数のサンプル仮想マシンの属性情報と、プリセット時間セグメントにおけるサンプル仮想マシンの過去リソースデータとを含む。
【００６３】
具体的には、上記プリセット時間セグメントは６時間であってよく、各時間セグメントは連続しているが重複していない。例えば、１日のうちの０：００〜６：００、６：００〜１２：００、１２：００〜１８：００、１８：００〜２４：００は、その日の４つの時間セグメントである。
【００６４】
サンプル仮想マシンは、仮想マシンのものと同じ動作環境を持つ仮想マシンであってよい。訓練された予測モデルの精度を確保するために、サンプル仮想マシンの数は多く、様々な属性情報に分散されていてよい。
【００６５】
代替実施形態では、ユーザーの行動は通常、平日の高利用率および週末の低利用率といったように週に関連するため、７日の期間を例にとってみる。プリセット時間セグメントが６時間の場合、期間には２８の時間セグメントが含まれる。最初のサンプル仮想マシンが選択される。ＩＤ、仕様、およびアプリケーションタイプが異なる複数の仮想マシンがサンプル仮想マシンとして選択される。次に、期間内の２８の時間セグメントにおけるサンプル仮想マシンのそれぞれのリソースデータが取得される。つまり、過去リソースデータが取得される。
【００６６】
その後、空のモデルが取得され、サンプルデータを使用して空のモデルの学習および訓練が行われて、訓練されたモデルが取得される。検証データ（既知の属性情報と様々な期間における仮想マシンの過去リソースデータとを有する仮想マシンを含む）を使用して、訓練されたモデルを検証し、検証が成功すると予測モデルが取得される。
【００６７】
代替実施形態として、予測モデルを取得し、プリセット時間セグメントにおけるサンプル仮想マシンの過去リソースデータを取得することは、プリセットサンプリング時間に従って仮想マシンの複数の仮想プロセッサの平均リソースデータを収集することと、プリセット時間セグメントにおいて最大である平均リソースデータを、プリセット時間セグメントの過去リソースデータとして決定することとを含み、プリセット時間セグメントには複数のサンプリング時間が含まれる。
【００６８】
具体的には、サンプリング時間は５分であり、仮想マシンのＣＰＵは複数のＶＣＰＵを有していてよい。したがって、複数のＶＣＰＵの平均値が取得される。
【００６９】
代替実施形態では、４つのＶＣＰＵを有し、各ＶＣＰＵは４つのコアを有する仮想マシンでは、すべてのコアのリソースデータが５分ごとに収集され、１６コアの平均値が計算されて、その収集ポイントでの仮想マシンの平均リソースデータが取得される。プリセット時間セグメントが６時間、すなわち、３６０分である場合、プリセット時間セグメントは、７２個の平均リソースデータを含み、７２個の平均リソースデータの最大値が時間セグメントの過去リソースデータとして決定される。
【００７０】
代替実施形態として、リソースデータがＣＰＵリソースであるとき、候補ホストマシンの使用済みリソースデータを取得することは、プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンによって使用されたリソースを取得することと、プリセット時間セグメントにおける各仮想マシンの使用済みリソースの合計を、プリセット時間セグメントにおけるホストマシンの使用済みプロセッサリソースとして決定することとを含む。
【００７１】
代替実施形態として、候補ホストマシンの使用可能なリソースデータを取得することは、ホストマシンの全プロセッサリソースおよびプリセット使用閾値を取得することであって、ホストマシンの全プロセッサリソースは、ホストマシンの物理コアの数とプリセット定数との積である、取得することと、ホストマシンの全プロセッサリソースとプリセット使用閾値との積を、候補ホストマシンの使用可能なリソースデータとして決定することとを含む。
【００７２】
上記解決策は、プロセッサリソースをデジタル化する方法を提案する。具体的には、ＣＰＵのリソースのデジタル化は、次の方法で行われてよい。ホストマシンのＣＰＵの物理コアによって提供されるリソースは、定数ｘとされる。ホストマシンにｙ個の物理コアがある場合、ＣＰＵのリソースはｘ×ｙである。代替実施形態では、ホストマシンのＣＰＵは、５６個の物理コアを含み、物理コアによって提供されるリソースは１００であると見なされる。ホストマシンのＣＰＵ使用リソースは５６００である。
【００７３】
上記解決策では、ＣＰＵリソースは、物理コアの数にプリセット定数を乗算する方法でデジタル化される。したがって、ホストマシンのリソースは数値計算によって計算することができる。このようにして、プリセット定数を１００とすることができる。つまり、各物理コアによって提供されるリソースは、１００シェアとして計算される。
【００７４】
代替実施形態として、複数のプリセット時間セグメントにおいてホストマシン上で実行されている各仮想マシンが使用するプロセッサリソースを取得することは、それぞれの仮想マシンの仮想プロセッサの数および候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均使用率、および候補ホストマシンの物理コアの数を取得することと、それぞれの仮想マシンの仮想プロセッサの数と候補ホストマシンによって作成された仮想プロセッサの総数との比率を取得することと、候補ホストマシンの物理コアの数と候補ホストマシンによって作成された仮想プロセッサの総数との間の最小値を取得することと、比率、仮想プロセッサの平均使用率および最小の積を計算することと、上記積を、プリセット時間セグメントでのそれぞれの仮想マシンのプロセッサリソースとして決定することとを含む。
【００７５】
具体的には、前述のＶＣＰＵの平均使用率は、具体的には、各時間セグメント（各時間セグメントには複数のサンプリング時間が含まれる）における複数のサンプリング時間に対応する平均値の最大平均値であってよい過去データから取得することができる。各サンプリング時間に対応する平均値は、それぞれのサンプリング時間における仮想マシンのすべてのコアの平均使用率である。
【００７６】
代替実施形態では、仮想マシンのＶＣＰＵの数がａであり、ホストマシンのＶＣＰＵの総数がｂであり、ＶＣＰＵの平均使用率がｃであり、ホストマシンの物理コアの数がｄである場合、仮想マシンのリソースは、ｅ＝（ａ／ｂ）*ｃ*ｍｉｎ（ｄ，ｂ）である。より具体的には、ホストマシンＮＣ１に５６個の物理コアがあり、８０個のＶＣＰＵが作成され、仮想マシンＶＭ１に８個のＶＣＰＵがあり、ＶＭ１の平均ＣＰＵ使用率が５０％である場合、ＶＭ１の物理コアが占有するリソースは（８／８０）*５０*５６＝２８０である。
【００７７】
表１は、ホストマシンの使用済みＣＯＵリソースと使用可能なＣＰＵリソースとを計算する方法を示す。表１と組み合わせて、この例では、期間は７日であり、期間には４つの時間セグメントが含まれ、各時間セグメントは６時間であり、４つの時間セグメントは連続しており、互いに重複しない。表１は、１日目の最初の２つの時間セグメントを計算する方法のみを示す。他の時間セグメントの計算方法は同じである。表１に関連して、詳細について以下で説明する。
【００７８】
最初に、ＮＣ１の１日目の最初の時間セグメント（０〜６）を説明する。ＮＣ１には５６個の物理コアがあり、ＶＭ１（４コア）、ＶＭ２（８コア）、およびＶＭ３（８コア）に個別に適用される２０個のＶＣＰＵが作成される。
【００７９】
最初の時間セグメントにおけるＶＭ１の平均ＶＣＰＵ使用率は５であり、最初の時間セグメントにおけるＶＭ１の使用済みＣＰＵリソースは、上記実施形態における式「ｅ＝（ａ／ｂ）*ｃ*ｍｉｎ（ｄ，ｂ）」を使用して取得することができる。ｅ１＝（４／２０）*５*ｍｉｎ（５６，２０）＝２０。
【００８０】
最初の時間セグメントにおけるＶＭ２の平均ＶＣＰＵ使用率は２０である。最初の時間セグメントにおいてＶＭ２が使用するリソースは、同じ式を使用してｅ２＝１６０として取得される。最初の時間セグメントにおけるＶＭ３の平均ＶＣＰＵ使用率は３０である。同じ式を使用して、最初の時間セグメントにおいてＶＭ３が使用するリソースは、ｅ３＝２４０である。したがって、最初の時間セグメントにおけるＮＣ１の使用済みＣＰＵリソースは、ｅ１＋ｅ２＋ｅ３＝４２０である。この例では、プリセット定数は１００であり、プリセット使用閾値は８０％であり、ＮＣ１の全ＣＰＵリソースは５６*１００＝５６００である。したがって、ＮＣ１の使用可能なリソースは５６００*８０％＝４０６０である。
【００８１】
上記スキームを使用して、他の時間セグメントにおけるＮＣ１の使用済みＣＰＵリソースおよび使用可能なＣＰＵリソースと、各時間セグメントにおけるＮＣ２の使用済みＣＰＵリソースおよび使用可能なＣＰＵリソースを計算することができる。
【００８２】
【表１】
2021521518.tif 000003
【００８３】
前述の実施形態では、各時間セグメントにおける仮想マシンの平均ＶＣＰＵ使用率は、具体的には、プリセットサンプリング時間に従って仮想マシンに関連付けられたすべてのコアの平均ＶＣＰＵ使用率を収集することと、プリセット時間セグメントにおいて収集された最大平均使用率を、プリセット時間セグメントのＶＣＰＵ平均使用率として決定することとを含む過去リソースデータを取得することによって取得することができることに留意する必要がある。期間内の各プリセット時間セグメントは、複数のサンプリング時間を含む。
【００８４】
図４は、本出願の第１の実施形態による仮想マシンのマイグレーション前後におけるホストマシンの使用済みリソースの変化を示す概略図である。図４に示されるように、ＮＣ１には５６個の物理コアがあり、ＣＰＵリソースは５６００であり、使用済みリソースは３０００である。ＮＣ１は８０個のＶＣＰＵ（仮想プロセッサ）を作成し、ＶＭ１は８個のｖｃｕｐを含み、平均使用率は５０％である。したがって、ＶＭ１は、ホストマシンのリソースを占有する。つまり、ＶＭ１が使用するｃｏｕリソースは８／８０*５０*５６＝２８０である。
【００８５】
ＮＣ２にも５６個の物理コアがあり、ＣＰＵリソースは５６００であり、ＮＣ２の平均ＣＰＵ使用率は１０％であり、ＮＣ２の使用済みＣＰＵリソースは５６００*１０％＝５６０である。
【００８６】
したがって、ＶＭ１がＮＣ１からＮＣ２に移行された後、ＮＣ１の使用済みＣＰＵリソースは３０００−２８０＝２７２０であり、ＮＣ２の使用済みＣＰＵリソースは５６０＋２８０＝８４０である。
【００８７】
代替実施形態として、期間は複数のプリセット時間セグメントを含む。各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するホストマシンを選択することは、候補ホストマシンから条件（複数可）を満たす候補ホストマシン（複数可）をフィルタリングおよび選択することと、条件（複数可）を満たす候補ホストマシン（複数可）を、仮想マシンに対応するターゲットホストマシンとして決定することとを含み、条件（複数可）は、各プリセット時間セグメントの重ね合わせ結果がホストマシン（複数可）の使用可能なリソースデータを超えないことを含む。
【００８８】
上記解決策は、スケジューリングシステムのフィルタを使用して実行することができる。上記解決策により、仮想マシンの動作をサポートすることができるホストマシンが選択される。候補ホストマシンの重ね合わせ結果が候補ホストマシンの使用可能なリソースデータを超えるとき、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンには仮想マシンの動作をサポートするのに十分なリソースがなく、候補ホストマシンは過負荷になると決定することができる。候補ホストマシンの重ね合わせ結果が候補ホストマシンの使用可能なリソースデータを超えないとき、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンには仮想マシンの動作をサポートするのに十分なリソースがあると決定することができる。したがって、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと比較することにより、仮想マシンの動作をサポートすることができるターゲットホストマシンを候補ホストマシンから選択することができる。
【００８９】
代替実施形態として、条件（複数可）を満たす候補ホストマシンが複数存在するとき、条件（複数可）を満たす候補ホストマシン（複数可）を、仮想マシンに対応するホストマシンとして決定することは、各リソースデータに対応する重み値を取得することと、重み値で重ね合わせ結果に重み付けして、条件（複数可）を満たす候補ホストマシン（複数可）に対応するそれぞれの重み付け結果（複数可）を取得することと、重み付け結果が最小である候補ホストマシンを、仮想マシンに対応するターゲットホストマシンとして決定することとを含む。
【００９０】
上記解決策は、スケジューリングシステムの重み付けデバイスによって実行することができる。スケジューリングフィルタでフィルタリングした後、候補ホストマシンが複数存在している場合がある。つまり、複数の候補ホストマシンが仮想マシンの動作をサポートすることができるとき、重み付けデバイスは、リソースデータ内の複数のタイプのデータを統合して、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンのリソース使用を表すことができるそれぞれの重み付け結果を取得する。
【００９１】
代替実施形態では、各リソースデータの重み値は、次のように降順で並べることができる。つまり、それぞれ５０％、３０％、１０％、１０％であるプロセッサリソース、消費電力量の使用率、プロセッサ競合の回数、およびキャッシュミスの数で並べることができる。ステップＳ２５の実施形態に関連して、候補ホストマシンの重ね合わせ結果がＡ１＋Ａ２、Ｂ１＋Ｂ２、Ｃ１＋Ｃ２、およびＤ１＋Ｄ２である場合、ホストマシンに対応する重み付け結果は（Ａ１＋Ａ２）５０％＋（Ｂ１＋Ｂ２）１０％＋（Ｃ１＋Ｃ２）１０％＋（Ｄ１＋Ｄ２）３０％である。
【００９２】
前述の実施形態は、ホストマシンの重み付け結果を計算する方法を示す。このような計算により、条件（複数可）を満たす各候補ホストマシンの重み付け結果が計算され、重み付け結果が最小である候補ホストマシンがターゲットホストマシンとして選択される。
【００９３】
上記解決策では、条件（複数可）を満たす候補ホストマシンの重み付け結果が、仮想マシンがホストマシンに移行された後のホストマシンのリソース使用状況を説明することができる。重み付け結果が比較的大きい場合、これは候補ホストマシンのより多くのリソースが使用されることを意味し、仮想マシンが候補ホストマシンに移行された場合、負荷は比較的大きい。重み付け結果が小さい場合、これは仮想マシンが候補ホストマシンに移行された場合に使用される候補ホストマシンのリソースが少ないことを意味する。ホストマシンの負荷バランスを維持するために、仮想マシンは重み付け結果が最小である候補ホストマシンに移行される。つまり、重み付け結果が最小である候補ホストマシンがターゲットホストマシンとして決定される。
【００９４】
仮想マシンは、条件（複数可）を満たす各候補ホストマシンに移行されると想定することにより、上記解決策は、仮想マシンが各候補ホストマシンに移行された場合の各ホストマシンのリソース使用状況を予測し、これによりターゲットホストマシンを決定する。
【００９５】
代替実施形態として、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと比較し、仮想マシンに対応するホストマシンを候補ホストマシンから選択した後、方法はさらに、仮想マシンを、仮想マシンに対応するターゲットホストマシンに移行することを含む。
【００９６】
仮想マシンは対応するターゲットホストマシンに移行され、ターゲットホストマシンは、実行時に仮想マシンが必要とするリソースデータを提供することができる。これはまた、ホストマシン上で負荷のバランスを取る目的も達成することができる。
【００９７】
代替実施形態として、仮想マシンが新しく作成された仮想マシンであるとき、次の期間において仮想マシンが必要とするリソースデータを予測して予測結果を取得することは、新しく作成された仮想マシンの識別子および／または使用を取得することと、新しく作成された仮想マシンの同じ識別子および／または同じ仕様を有するターゲット仮想マシンを検索することと、ターゲット仮想マシンの予測結果が、新たに作成された仮想マシンの予測結果であると決定することとを含む。
【００９８】
新しく作成された仮想マシンでは、新しく作成された仮想マシンの識別子および仕様と同じ識別子および仕様を有する仮想マシンの予測結果が、新しく作成された仮想マシンの予測結果として選択される。
【００９９】
代替実施形態では、新しく作成された仮想マシンと同じ識別子および仕様を有するターゲット仮想マシンが存在しない場合、また、新しく作成された仮想マシンに対して識別子は同じであるが仕様は異なるターゲット仮想マシンが存在する場合、また、新しく作成された仮想マシンに対して仕様は同じであるが識別子は異なるターゲット仮想マシンが存在する場合、新しく作成された仮想マシンと同じ識別子を有するターゲット仮想マシンの予測結果が、新しく作成された仮想マシンの予測結果として選択される。
【０１００】
第２の実施形態
本発明の実施形態によれば、仮想マシンをスケジューリングする方法の一実施形態も提供される。図５は、本出願の第２の実施形態による仮想マシンをスケジューリングする方法のフローチャートである。図５に示されるように、本方法は以下のステップを含む。
ステップＳ５１：次の期間に仮想マシンが必要とするプロセッサリソースを予測して予測結果を取得する。
【０１０１】
具体的には、仮想マシンは、新しく作成された仮想マシンか、または移行される必要がありうる仮想マシンであってよい。例えば、仮想マシンを実行しているホストマシンに障害が発生したとき、または仮想マシンを実行しているホストマシンが過負荷になったとき、仮想マシンを移行して、仮想マシンの安定した動作を確保する必要がある。
【０１０２】
代替実施形態では、上記期間は７日であってよく、次の期間において仮想マシンが必要とするリソースデータは、仮想マシンの過去リソースデータを取得することによって予測することができる。
【０１０３】
ステップＳ５３：候補ホストマシンの使用済みプロセッサリソースと使用可能なプロセッサリソースとを取得する。
【０１０４】
具体的には、候補ホストマシンの使用可能なプロセッサリソースとは、候補ホストマシンが仮想マシン（複数可）に使用を許可するプロセッサリソースを指す。候補ホストマシンは、特定の全プロセッサリソースと対応する使用閾値、つまり、すべてのリソースデータの許容される使用の割合とを有する。例えば、所定の閾値が８０％の場合、仮想マシン（複数可）はホストマシンの全プロセッサリソースの８０％を使用することができる。
【０１０５】
ステップＳ５５：予測結果を各候補ホストマシンの使用済みプロセッサリソースに追加して、各候補ホストマシンの重ね合わせ結果を取得する。
【０１０６】
上記解決策では、予測結果を候補ホストマシンの使用済みプロセッサリソースに追加して仮想マシンが候補ホストマシンに移行された後に候補ホストマシンが必要とするプロセッサリソースを予測する。
【０１０７】
ステップＳ５７：各候補ホストマシンの重ね合わせ結果を各候補ホストマシンの使用可能なプロセッサリソースと比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択する。
【０１０８】
上記ステップＳ５７において、候補ホストマシンの重ね合わせ結果が候補ホストマシンの使用可能なプロセッサリソースデータを超えるとき、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンには仮想マシンの動作をサポートするのに十分なプロセッサリソースがなく、これにより、候補ホストマシンが過負荷になる可能性があると決定することができる。候補ホストマシンの重ね合わせ結果が候補ホストマシンの使用可能なプロセッサリソースデータを超えないとき、仮想マシンが候補ホストマシンに移行された場合に、候補ホストマシンには仮想マシンの動作をサポートするのに十分なプロセッサリソースがあると決定することができる。したがって、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なプロセッサリソースデータと比較することによって、仮想マシンの動作をサポートすることができるターゲットホストマシンを選択することができる。
【０１０９】
前述の実施形態では、解決策は、将来の期間に仮想マシンが使用するリソースデータを予測およびスケジューリングし、候補ホストマシンの現在使用されているプロセッサリソースおよび使用可能なプロセッサリソースを取得し、どの候補ホストマシンに仮想マシンを移行する必要があるかを決定する、つまり、ターゲットホストマシンが決定されることに留意する必要がある。したがって、各ホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要なく、仮想マシンのホストマシンをより正確に選択することができる。これにより、リソースの無駄が減り、仮想マシンを異なるホストマシンにできるだけ均等にスケジューリングおよび分散して、物理マシンの安定した負荷バランスが達成される。
【０１１０】
したがって、本出願の前述の実施形態は、ホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があり、リソースの大きな無駄になるという既存技術における技術的問題を解決する。
【０１１１】
代替実施形態として、候補ホストマシンの使用可能なプロセッサリソースを取得することは、プリセット定数、ホストマシンの物理コアのそれぞれの数、および１未満であるプリセット閾値を取得することと、プリセット定数、ホストマシンの物理コアのそれぞれの数、およびプリセット閾値のそれぞれの積を、ホストマシンの使用可能なプロセッサリソースとして決定することとを含む。
【０１１２】
上記解決策は、プロセッサリソースをデジタル化する方法を提案する。具体的には、ＣＰＵのリソースのデジタル化は、次の方法で行われてよい。ホストマシンのＣＰＵの物理コアによって提供されるリソースは、定数ｘとされる。ホストマシンにｙ個の物理コアがある場合、ＣＰＵのリソースはｘ×ｙである。代替実施形態では、ホストマシンのＣＰＵは、５６個の物理コアを含み、物理コアによって提供されるリソースは１００であると見なされる。ホストマシンのＣＰＵ使用リソースは５６００である。
【０１１３】
代替実施形態として、期間は複数のプリセット時間セグメントを含み、候補ホストマシンの使用済みプロセッサリソースを取得することは、プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンのプロセッサリソースを取得することと、各仮想マシンのプロセッサリソースの合計を、プリセット時間セグメントにおける候補ホストマシンの使用済みプロセッサリソースとして決定することとを含む。
【０１１４】
代替実施形態として、プリセット時間セグメントについて候補ホストマシン上で実行されている各仮想マシンのプロセッサリソースを取得することは、それぞれの仮想マシンの仮想プロセッサの数および候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均使用率、および候補ホストマシンの物理コアの数を取得することと、それぞれの仮想マシンの仮想プロセッサの数と候補ホストマシンによって作成された仮想プロセッサの総数との比率を取得することと、候補ホストマシンの物理コアの数と候補ホストマシンによって作成された仮想プロセッサの総数との間の最小値を取得することと、比率、仮想プロセッサの平均使用率および最小の積を計算することと、上記積を、プリセット時間セグメントでのそれぞれの仮想マシンのプロセッサリソースとして決定することとを含む。
【０１１５】
代替実施形態では、仮想マシンのＶＣＰＵの数がａであり、ホストマシンのＶＣＰＵの総数がｂであり、ＶＣＰＵの平均使用率がｃであり、ホストマシンの物理コアの数がｄである場合、仮想マシンのリソースは、ｅ＝（ａ／ｂ）*ｃ*ｍｉｎ（ｄ，ｂ）である。より具体的には、ホストマシンＮＣ１に５６個の物理コアがあり、８０個のＶＣＰＵが作成され、仮想マシンＶＭ１に８個のＶＣＰＵがあり、ＶＭ１の平均ＣＰＵ使用率が５０％である場合、ＶＭ１の物理コアが占有するリソースは（８／８０）*５０*５６＝２８０である。
【０１１６】
前述の方法の実施形態はすべて、説明を簡単にするために、一連の動きの組み合わせとして表現されていることに留意する必要がある。本発明によれば、特定のステップを他の順序で、または並行して行うことができるため、当業者は、本発明が説明された動作の順序によって制限されないことを知るべきである。さらに、当業者はまた、明細書に記載された実施形態はすべて好適な実施形態であり、関与する動作およびモジュールを本発明が必ずしも必要としない場合があることも知るべきである。
【０１１７】
上記実施形態の説明を通じて、当業者は、上記実施形態による方法がソフトウェアおよび必要な一般的なハードウェアプラットフォームによって実施することができ、また、明らかにハードウェアによっても実施することができることを明確に理解することができる。しかし、多くの場合、前者の方がより優れた実装形態である。このような理解に基づいて、本発明の技術的解決策の本質または既存の技術に貢献する部分をソフトウェア製品の形式で具体化することができる。このようなコンピュータソフトウェア製品は、記憶媒体（ＲＯＭ／ＲＡＭ、磁気ディスク、および光ディスクなど）に記憶され、端末デバイス（携帯電話機、コンピュータ、サーバ、またはネットワークデバイスなどであってよい）に本発明の各実施形態の方法を実行させる幾つかの命令を含む。
【０１１８】
第３の実施形態
本発明の実施形態によれば、上述の仮想マシンスケジューリング方法を実施するための仮想マシンスケジューリング装置も提供される。図６に示されるように、装置６００は、
次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するように構成された予測モジュール６０２であって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、予測モジュール６０２と、
候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するように構成された取得モジュール６０４と、
予測結果を各候補ホストマシンのリソースデータに追加して、各候補ホストマシンの重ね合わせ結果を取得するように構成された重ね合わせモジュール６０６と、
各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するように構成された比較モジュール６０８とを含む。
【０１１９】
ここで、上述の予測モジュール６０２、取得モジュール６０４、重ね合わせモジュール６０６、および比較モジュール６０８は、第１の実施形態におけるステップＳ２１〜Ｓ２７に対応することに留意する必要がある。上記４つのモジュールによって実施される例および応用シナリオは、対応するステップと同じであるが、第１の実施形態で開示された内容に限定されない。上記モジュールは、第１の実施形態で提供される装置の一部としてコンピュータ端末１０で実行することができることに留意する必要がある。
【０１２０】
代替実施形態として、期間は複数のプリセット時間セグメントを含み、予測モジュールは、予測モデルを予測するように構成された第１の取得サブモジュールであって、予測モデルは、異なる属性パラメータを有する仮想マシンの予測結果とプリセット時間セグメントとの対応関係を表すために使用され、属性パラメータには、仮想マシンのＩＤ、仕様、およびアプリケーションタイプが含まる、第１の取得サブモジュールと、仮想マシンの属性パラメータを予測モデルに入力するように構成された入力サブモジュールと、予測モデルから出力される仮想マシンの予測結果を受信するように構成された受信サブモジュールとを含む。
【０１２１】
任意で、上記プロセッサはまた、以下のステップのプログラムコードを実行することもできる。仮想マシンの属性パラメータが予測モデルに入力される前に、予測モデルの信頼度およびプリセット信頼閾値を取得するように構成された第２の取得サブモジュールと、予測モデルの信頼度が信頼閾値以上である場合に、仮想マシンの属性パラメータを予測モデルに入力するステップを開始するように構成された開始サブモジュールと、予測モデルの信頼度が信頼閾値未満である場合に、仮想マシンの仮想プロセッサリソースおよび仮想プロセッサ使用率に基づいて、次の期間に仮想マシンが必要とするリソースデータを予測するように構成された予測サブモジュール。
【０１２２】
代替実施形態として、第１の取得サブモジュールは、サンプルデータを取得するように構成された第１の取得ユニットであって、サンプルデータは、複数のサンプル仮想マシンの属性情報およびプリセット時間セグメントにおけるサンプル仮想マシンの過去リソースデータを含む、第１の取得ユニットと、モデルトレーニングを通じて予測モデルを取得するように構成された訓練ユニットとを含む。
【０１２３】
代替実施形態として、第１の取得ユニットは、プリセットサンプリング時間に従って仮想マシンの複数の仮想プロセッサの平均リソースデータを収集するように構成された収集サブユニットであって、プリセット時間セグメントは複数のサンプリング時間を含む、収集サブユニットと、プリセット時間セグメントにおいて最大である平均リソースデータを、プリセット時間セグメントの過去リソースデータとして決定するように構成較正された決定サブユニットとを含む。
【０１２４】
代替実施形態として、期間は複数のプリセット時間セグメントを含み、リソースデータがプロセッサリソースであるとき、取得モジュールは、プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンが使用するリソースを取得するように構成された第３の取得サブモジュールと、プリセット時間セグメントにおいて各仮想マシンが使用するリソースの合計を、プリセット時間セグメントにおけるホストマシンの使用済みプロセッサリソースとして決定する第１の決定サブモジュールとを含む。
【０１２５】
代替実施形態として、取得モジュールは、ホストマシンの全プロセッサリソースおよびプリセット使用閾値をするように構成された第４の取得サブモジュールであって、ホストマシンの全プロセッサリソースは物理コアの数とプリセット定数との積である、第４の取得サブモジュールと、ホストマシンの全プロセッサリソースとプリセット使用閾値との積を、候補ホストマシンの使用可能なリソースデータとして決定するように構成された第２の決定サブモジュールとを含む。
【０１２６】
代替実施形態として、第３の取得サブモジュールは、それぞれの仮想マシンの仮想プロセッサの数および候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均利用率、ならびに候補ホストマシンの物理コアの数を取得するように構成された第２の取得ユニットと、それぞれの仮想マシンの仮想プロセッサの数と候補ホストマシンによって作成された仮想プロセッサの総数との比率を取得するように構成された第３の取得ユニットと、候補ホストマシンの物理コアの数と候補ホストマシンによって作成された仮想プロセッサの総数との間の最小値を取得するように構成された第４の取得ユニットと、比率、仮想プロセッサの平均使用率、および最小の積を計算するように構成された比率計算ユニットと、上記積を、プリセット時間セグメントにおけるそれぞれの仮想マシンのプロセッサリソースとして決定するように構成された第１の決定ユニットとを含む。
【０１２７】
代替実施形態として、期間は複数のプリセット時間セグメントを含み、比較モジュールは、候補ホストマシンから条件（複数可）を満たす候補ホストマシン（複数可）をフィルタリングおよび選択するように構成されたフィルタリングサブモジュールであって、条件（複数可）は、各プリセット時間セグメントの重ね合わせ結果がホストマシン（複数可）の使用可能なリソースデータを超えないことを含む、フィルタリングサブモジュールと、条件（複数可）を満たす候補ホストマシン（複数可）を、仮想マシンに対応するターゲットホストマシンとして決定するように構成された第３の決定サブモジュールとを含む。
【０１２８】
代替実施形態として、条件（複数可）を満たす候補ホストマシンが複数存在し、第３の決定サブモジュールは、各リソースデータに対応する重み値を取得するように構成された第５の取得ユニットと、重み値（複数可）で重ね合わせ結果（複数可）に重み付けして条件（複数可）を満たす候補ホストマシン（複数可）に対応するそれぞれの重み付け結果（複数可）を取得するように構成された重み付けユニット、重み付け結果が最小である候補ホストマシンを、仮想マシンに対応するターゲットホストマシンとして決定するように構成された第２の決定ユニットとを含む。
【０１２９】
代替実施形態として、装置はさらに、各候補ホストマシンの重ね合わせ結果が各ホストマシンの使用可能なリソースデータと比較され、候補ホストマシンから仮想マシンに対応する仮想ホストマシンが選択された後に、仮想マシンを、仮想マシンに対応するターゲットホストマシンに移行するように構成されたマイグレーションモジュールを含む。
【０１３０】
代替実施形態として、仮想マシンが新しく作成された仮想マシンであるとき、予測モジュールは、新しく作成された仮想マシンの識別子および／または仕様を取得するように構成された第５の取得サブモジュールと、新しく作成された仮想マシンの識別子および／または仕様と同じである識別子および使用を有するターゲット仮想マシンを検索するように構成された検索サブモジュールと、ターゲット仮想マシンの予測結果が新しく作成された仮想マシンの予測結果であると決定するように構成された第４の決定サブモジュールとを含む。
【０１３１】
第４の実施形態
本発明の実施形態によれば、上記仮想マシンスケジューリング方法を実施するための仮想マシンスケジューリング装置も提供される。図７に示されるように、装置７００は、
次の期間に仮想マシンが必要とするプロセッサリソースを予測して予測結果を取得するように構成された予測モジュール７０２と、
候補ホストマシンの使用済みプロセッサリソースおよび使用可能なプロセッサリソースを取得するように構成された取得モジュール７０４と、
予測結果を各候補ホストマシンの使用済みプロセッサリソースに追加して、各候補ホストマシンの重ね合わせ結果を取得するように構成された重ね合わせモジュール７０６と、
各候補ホストマシンの重ね合わせ結果を各候補ホストマシンの使用可能なプロセッサリソースと比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するように構成された比較モジュール７０８とを含む。
【０１３２】
ここで、上述の予測モジュール６０２、取得モジュール６０４、重ね合わせモジュール６０６、および比較モジュール６０８は、第１の実施形態におけるステップＳ２１〜Ｓ２７に対応することに留意する必要がある。上記４つのモジュールによって実施される例および応用シナリオは、対応するステップと同じであるが、第１の実施形態で開示された内容に限定されない。上記モジュールは、第１の実施形態で提供される装置の一部としてコンピュータ端末１０で実行することができることに留意する必要がある。
【０１３３】
代替実施形態として、予測モジュールは、プリセット定数、ホストマシンの物理コアのそれぞれの数、および１未満であるプリセット閾値を取得するように構成された第１の取得サブモジュールと、プリセット定数、ホストマシンの物理コアのそれぞれの数、およびプリセット閾値のそれぞれの積を、ホストマシンの使用可能なプロセッサリソースとして決定するように構成された第１の決定サブモジュールとを含む。
【０１３４】
代替実施形態として、期間は複数のプリセット時間セグメントを含み、取得モジュールは、プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンのプロセッサリソースを取得するように構成された第２の取得サブモジュールと、各仮想マシンのプロセッサリソースの合計を、プリセット時間セグメントにおける候補ホストマシンの使用済みプロセッサリソースとして決定するように構成された第２の決定サブモジュールとを含む。
【０１３５】
代替実施形態として、第２の取得サブモジュールは、それぞれの仮想マシンの仮想プロセッサの数および候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均使用率、ならびに候補ホストマシンの物理コアの数を取得するように構成された第１の取得ユニットと、それぞれの仮想マシンの仮想プロセッサの数と候補ホストマシンによって作成された仮想プロセッサの総数との比率を取得するように構成された第２の取得ユニットと、候補ホストマシンの物理コアの数と候補ホストマシンによって作成された仮想プロセッサの総数との間の最小値を取得するように構成された第３の取得ユニットと、比率、仮想プロセッサの平均使用率、および最小の積を計算することと、上記積を、プリセット時間セグメントにおけるそれぞれの仮想マシンのプロセッサリソースとして決定するように構成された決定ユニットとを含む。
【０１３６】
第５の実施形態
本発明の実施形態によれば、プロセッサと、プロセッサに結合され、プロセッサに以下の処理ステップを処理するための命令を提供するように構成されたメモリとを含むシステムも提供される。
次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、取得するステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、予測結果を各候補ホストマシンの使用済みリソースデータに追加して各候補ホストマシンの重ね合わせ結果を取得するステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較して、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するステップ。
【０１３７】
第６の実施形態
本発明の実施形態は、コンピュータ端末を提供することができる。コンピュータ端末は、コンピュータ端末グループ内の任意のコンピュータ端末デバイスでであってよい。任意で、本実施形態では、コンピュータ端末は、モバイル端末といった端末デバイスで置き換えられてもよい。
【０１３８】
任意で、本実施形態では、コンピュータ端末は、コンピュータネットワーク内の複数のネットワークデバイスのうちの少なくとも１つのネットワークデバイスに配置されてもよい。
【０１３９】
本実施形態では、コンピュータ端末は、仮想マシンスケジューリング方法における以下のステップのプログラムコードを実行することができる。すなわち、次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、取得するステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、予測結果を各候補ホストマシンの使用リソースデータに追加して各候補ホストマシンの重ね合わせ結果を取得するステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するステップ。
【０１４０】
任意で、図８は、本発明の第６の実施形態によるコンピュータ端末の構造ブロック図である。図８に示されるように、コンピュータ端末Ａは、１つ以上（図では１つのみ示す）のプロセッサ８０２、メモリ８０４、および周辺インターフェース８０６を含んでよい。
【０１４１】
メモリは、本発明の実施形態における仮想マシンをスケジューリングする方法および装置に対応するプログラム命令／モジュールなどのソフトウェアプログラムおよびモジュールを記憶するように構成することができる。プロセッサ（複数可）は、メモリに記憶されているソフトウェアプログラムおよびモジュールを実行することによって、すなわち、前述の仮想マシンのスケジューリング方法を実施することによって、様々な機能アプリケーションとデータ処理を実行する。メモリは、高速ランダムアクセスメモリを含んでよく、また、１つ以上の磁気ストレージデバイス、フラッシュメモリ、または他の不揮発性ソリッドステートメモリなどの不揮発性メモリも含んでよい。幾つかの例では、メモリはさらに、プロセッサに対して遠隔に配備されたストレージデバイスを含んでよく、これらの遠隔ストレージデバイスは、ネットワークを介して端末Ａに接続されてよい。上記ネットワークの例には、インターネット、企業イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびそれらの組み合わせが含まれるが、これらに限定されない。
【０１４２】
プロセッサ（複数可）は、伝送デバイスを介してメモリに記憶されている情報およびアプリケーションプログラムを呼び出し、以下のステップを行うことができる。すなわち、次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちの少なくとも１つを含む、取得するステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、予測結果を各候補ホストマシンの使用済みリソースデータに追加して各候補ホストマシンの重ね合わせ結果を取得するステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するステップ。
【０１４３】
任意で、プロセッサ（複数可）はまた、以下の次のステップのプログラムコードを実行することもできる。すなわち、予測モデルを取得するステップであって、予測モデルは、異なる属性パラメータを有する仮想マシンの予測結果とプリセット時間セグメントとの対応関係を表すために使用され、属性パラメータは、仮想マシンのＩＤ、仕様、およびアプリケーションタイプを含む、取得するステップと、仮想マシンの属性パラメータを予測モデルに入力するステップと、予測モデルから出力された仮想マシンの予測結果を受信するステップ。
【０１４４】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、仮想マシンの属性パラメータを予測モデルに入力する前に、上記方法はさらに、予測モデルの信頼度およびプリセット信頼閾値を取得することと、予測モデルの信頼度が信頼閾値以上である場合に、仮想マシンの属性パラメータを予測モデルに入力するステップを開始することと、予測モデルの信頼度が信頼閾値未満である場合に、仮想マシンの仮想プロセッサリソースおよび仮想プロセッサ使用率に基づいて、次の期間に仮想マシンが必要とするリソースデータを予測することとを含む。
【０１４５】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、サンプルデータを取得するステップであって、サンプルデータは、複数のサンプル仮想マシンの属性情報およびプリセット時間セグメントにおけるサンプル仮想マシンの過去リソースデータを含む、取得するステップと、モデルトレーニングを通じて予測モデルを取得するステップ。
【０１４６】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、プリセットサンプリング時間に従って仮想マシンの複数の仮想プロセッサの平均リソースデータを収集するステップであって、プリセット時間セグメントは複数のサンプリング時間を含む、収集するステップと、プリセット時間セグメントにおいて最大である平均リソースデータを、プリセット時間セグメントの過去リソースデータとして決定するステップ。
【０１４７】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、プリセット時間セグメントにおいて候補ホストマシン上で実行されている各仮想マシンが使用するリソースを取得するステップと、プリセット時間セグメントにおいて各仮想マシンが使用するリソースの合計を、プリセット時間セグメントにおけるホストマシンの使用済みプロセッサリソースとして決定するステップ。
【０１４８】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、ホストマシンの全プロセッサリソースおよびプリセット使用閾値を取得するステップであって、ホストマシンの全プロセッサリソースは、ホストマシンの物理コアの数とプリセット定数との積である、取得するステップと、ホストマシンの全プロセッサリソースとプリセット使用閾値との積を、候補ホストマシンの使用可能なリソースデータとして決定するステップ。
【０１４９】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、それぞれの仮想マシンの仮想プロセッサの数および候補ホストマシンによって作成された仮想プロセッサの総数、各プリセット時間セグメントにおける仮想プロセッサの平均使用率、および候補ホストマシンの物理コアの数を取得するステップと、それぞれの仮想マシンの仮想プロセッサの数と候補ホストマシンによって作成された仮想プロセッサの総数との比率を取得するステップと、候補ホストマシンの物理コアの数と候補ホストマシンによって作成された仮想プロセッサの総数との間の最小値を取得するステップと、比率、仮想プロセッサの平均使用率、および最小の積を計算するステップと、上記積を、プリセット時間セグメントにおけるそれぞれの仮想マシンのプロセッサリソースとして決定するステップ。
【０１５０】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、期間は複数のプリセット時間セグメントを含み、候補ホストマシンから条件（複数可）を満たす候補ホストマシン（複数可）をフィルタリングおよび選択するステップであって、条件（複数可）は、各プリセット時間セグメントの重ね合わせ結果がホストマシン（複数可）の使用可能なリソースデータを超えないことを含む、フィルタリングおよび選択するステップと、条件（複数可）を満たす候補ホストマシン（複数可）を、仮想マシンに対応するターゲットホストマシンとして決定するステップ。
【０１５１】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、条件（複数可）を満たす候補ホストマシンが複数存在するとき、各リソースデータに対応する重み値を取得するステップと、重み値（複数可）で重ね合わせ結果（複数可）に重み付けして、条件（複数可）を満たす候補ホストマシン（複数可）に対応するそれぞれの重み付結果（複数可）を取得するステップと、重み付け結果が最小である候補ホストマシンを、仮想マシンに対応するターゲットホストマシンとして決定するステップ。
【０１５２】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、仮想マシンを、仮想マシンに対応するターゲットホストマシンに移行するステップ。
【０１５３】
任意で、プロセッサ（複数可）はまた、以下のステップのプログラムコードを実行することもできる。すなわち、仮想マシンが新しく作成された仮想マシンであるとき、新しく作成された仮想マシンの識別子および仕様を取得するステップと、新しく作成された仮想マシンの同じ識別子および／または同じ仕様を有するターゲット仮想マシンを検索するステップと、ターゲット仮想マシンの予測結果が、新たに作成された仮想マシンの予測結果であると決定するステップ。
【０１５４】
本発明の実施形態を使用して、次の期間に仮想マシンが使用するリソースデータを予測およびスケジューリングし、候補ホストマシンの現在使用されているリソースデータおよび使用可能なリソースデータを取得することによって、どの候補ホストマシンに仮想マシンを移行する必要があるか決定される、つまり、ターゲットホストマシンが決定される。これにより、各ホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要なく、仮想マシンのためのホストマシンをより正確に選択することができる。これにより、リソースの無駄が減り、仮想マシンを異なるホストマシンにできるだけ均一にスケジューリングおよび分散して、物理マシンの安定したロードバランシングが達成される。
【０１５５】
したがって、本出願の前述の実施形態は、ホストマシンが各仮想マシンのそれぞれのピークのためにリソースをリザーブする必要があり、リソースの大きな無駄になるという既存技術における技術的問題を解決する。
【０１５６】
当業者は、図８に示されている構造が単に例示のために使用されており、コンピュータ端末がスマートフォン（Ａｎｄｒｏｉｄフォン、ｉＯＳフォンなど）、タブレットコンピュータ、ハンドヘルドコンピュータ、およびモバイルインターネットデバイス（モバイルインターネットデバイス、ＭＩＤ）、ＰＡＤ、および他の端末デバイスであってもよいことを理解することができる。図８は、上記電子デバイスの構造を限定するものではない。例えば、コンピュータ端末はまた、図８に示されるものよりも多いか、または少ない構成要素（ネットワークインターフェース、ディスプレイデバイスなど）を含んでもよいか、または図８に示されるものとは異なる構成を有してもよい。
【０１５７】
当業者は、前述の実施形態の様々な方法におけるステップのすべてまたは一部が、プログラムを通じて端末デバイスの関連ハードウェアに命令することによって完了することができることを理解することができる。プログラムは、フラッシュディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク、または光ディスクなどを含んでよいコンピュータ可読記憶媒体に記憶されてもよい。
【０１５８】
第７の実施形態
本発明の実施形態はまた、記憶媒体を提供する。任意で、本実施形態では、記憶媒体は、第１の実施形態で提供された仮想マシンスケジューリング方法によって実行されるプログラムコードを記憶するために使用することができる。
【０１５９】
任意で、本実施形態では、記憶媒体は、コンピュータネットワーク内のコンピュータ端末グループ内の任意のコンピュータ端末、またはモバイル端末グループ内の任意のモバイル端末にあってよい。
【０１６０】
任意で、本実施形態では、記憶媒体は、以下のステップを実行するために使用されるプログラムコードを記憶するように構成される。すなわち、次の期間に仮想マシンが必要とするリソースデータを予測して予測結果を取得するステップであって、リソースデータは、プロセッサリソース、プロセッサ競合の回数、キャッシュミスの数、および消費電力量の使用率のうちのすくなくとも１つを含む、取得するステップと、候補ホストマシンの使用済みリソースデータおよび使用可能なリソースデータを取得するステップと、予測結果を各候補ホストマシンの使用済みリソースデータに追加して各候補ホストマシンの重ね合わせ結果を取得するステップと、各候補ホストマシンの重ね合わせ結果を各ホストマシンの使用可能なリソースデータと個別に比較し、候補ホストマシンから仮想マシンに対応するターゲットホストマシンを選択するステップ。
【０１６１】
本発明の前述の実施形態のシーケンス番号は、説明のために使用されたにすぎず、実施形態の品質を表すものではない。
【０１６２】
本発明の上記実施形態では、各実施形態の説明は、それ自体の重要性を有する。１つの実施形態において詳細に説明されていない部品については、他の実施形態の関連する説明を参照することができる。
【０１６３】
本出願に提供される幾つかの実施形態では、開示された技術的内容は、他の手段で実装され得ることが理解されるべきである。上記装置の実施形態は、単なる例示である。例えば、ユニットの分割は、論理機能の分割にすぎない。実際の実装形態では、他の分割方法が存在してもよい。例えば、複数のユニットまたは構成要素を組み合わせるか、または別のシステムに統合してもよい。あるいは、一部の機能を無視するか、実装しないこともできる。さらに、表示もしくは議論された相互結合または直接結合または通信接続は、幾つかのインターフェース、ユニット、またはモジュールを介した間接結合または通信接続であってもよく、電気的な形態または他の形態であってもよい。
【０１６４】
別々の構成要素として説明されるユニットは、物理的に別々であっても別々でなくてもよい。ユニットとして表示される構成要素は、物理的なユニットであってもなくてもよく、すなわち、一箇所に位置していても、複数のネットワークユニットに分散されていてもよい。ユニットの一部または全部は、実施形態の解決策の目的を達成するための実際の必要性に応じて選択されてよい。
【０１６５】
さらに、本発明の様々な実施形態における機能ユニットは、単一の処理ユニットに統合されてもよい。あるいは、各ユニットは物理的に単独で存在してもよい。あるいは、２つ以上のユニットが１つのユニットに統合されてもよい。上述の統合ユニットは、ハードウェアまたはソフトウェア機能ユニットの形態で実現することができる。
【０１６６】
ソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用される場合、統合ユニットは、コンピュータ可読記憶媒体に格納することができる。このような理解に基づいて、本発明の技術的解決策の本質、または既存技術に貢献する部分、または技術的解決策の全部または一部は、ソフトウェア製品の形態で具現化することができる。このようなコンピュータソフトウェア製品は、記憶媒体に格納され、コンピューティングデバイス（パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであってよい）に、本発明の各実施形態における方法のステップの全部または一部を実行させる幾つかの命令を含む。記憶媒体には、フラッシュディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、モバイルハードディスク、磁気ディスク、または光ディスク等といったプログラムコードを格納可能である様々な種類の媒体が含まれる。
【０１６７】
上記は、本発明の好適な実施形態のみを表す。当業者は、本発明の原理から逸脱することなく、多くの改良および修正を行うことができることを指摘しておくべきである。これらの改良および修正もまた、本発明の保護範囲に含まれると見なされるべきである。
【図１】
2021521518.tif 000004
【図２】
2021521518.tif 000005
【図３】
2021521518.tif 000006
【図４】
2021521518.tif 000007
【図５】
2021521518.tif 000008
【図６】
2021521518.tif 000009
【図７】
2021521518.tif 000010
【図８】
2021521518.tif 000011
【手続補正書】
【提出日】令和2年10月12日(2020.10.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本出願の第１の実施形態において提供される方法の実施形態は、モバイル端末、コンピュータ端末、または同様のコンピューティングデバイス内で実行することができる。図１は、仮想マシンスケジューリング方法を実施するために使用されるコンピュータ端末（またはモバイルデバイス）のハードウェア構造のブロック図を示す。図１に示されるように、コンピュータ端末１０（またはモバイルデバイス１０）は、１つ以上のプロセッサ１０２（図では１０２ａ、１０２ｂ、…、１０２ｎとして示される）（プロセッサ１０２は、マイクロプロセッサＭＣＵまたはプログラマブルロジックデバイスＦＰＧＡなどの処理デバイスを含んでよいが、これらに限定されない）、データを記憶するために使用されるメモリ１０４、および通信機能のために使用される伝送デバイス１０６を含むことができる。さらに、ディスプレイ、入力／出力インターフェース（Ｉ／Ｏインターフェース）、ユニバーサルシリアルバス（ＵＳＢ）ポート（Ｉ／Ｏインターフェースのポートの１つとして含めることができる）、ネットワークインターフェース、電源、および／またはカメラを含むこともできる。当業者は、図１に示される構造は、例示のみを意図しており、上記の電子デバイスの構造に対する制限として解釈されないことを理解することができる。例えば、コンピュータ端末１０はまた、図１に示されるものよりも多いか、または少ない構成要素を含んでもよく、または図１に示されるものとは異なる構成を有してもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
表１は、ホストマシンの使用済みＣＰＵリソースと使用可能なＣＰＵリソースとを計算する方法を示す。表１と組み合わせて、この例では、期間は７日であり、期間には４つの時間セグメントが含まれ、各時間セグメントは６時間であり、４つの時間セグメントは連続しており、互いに重複しない。表１は、１日目の最初の２つの時間セグメントを計算する方法のみを示す。他の時間セグメントの計算方法は同じである。表１に関連して、詳細について以下で説明する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
図４は、本出願の第１の実施形態による仮想マシンのマイグレーション前後におけるホストマシンの使用済みリソースの変化を示す概略図である。図４に示されるように、ＮＣ１には５６個の物理コアがあり、ＣＰＵリソースは５６００であり、使用済みリソースは３０００である。ＮＣ１は８０個のＶＣＰＵ（仮想プロセッサ）を作成し、ＶＭ１は８個のＶＣＰＵを含み、平均使用率は５０％である。したがって、ＶＭ１は、ホストマシンのリソースを占有する。つまり、ＶＭ１が使用するＣＰＵリソースは８／８０*５０*５６＝２８０である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
任意で、予測モジュールは、仮想マシンの属性パラメータが予測モデルに入力される前に、予測モデルの信頼度およびプリセット信頼閾値を取得するように構成された第２の取得サブモジュールと、予測モデルの信頼度が信頼閾値以上である場合に、仮想マシンの属性パラメータを予測モデルに入力するステップを開始するように構成された開始サブモジュールと、予測モデルの信頼度が信頼閾値未満である場合に、仮想マシンの仮想プロセッサリソースおよび仮想プロセッサ使用率に基づいて、次の期間に仮想マシンが必要とするリソースデータを予測するように構成された予測サブモジュールとをさらに含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
ここで、上述の予測モジュール７０２、取得モジュール７０４、重ね合わせモジュール７０６、および比較モジュール７０８は、第１の実施形態におけるステップＳ５１〜Ｓ５７に対応することに留意する必要がある。上記４つのモジュールによって実施される例および応用シナリオは、対応するステップと同じであるが、第１の実施形態で開示された内容に限定されない。上記モジュールは、第１の実施形態で提供される装置の一部としてコンピュータ端末１０で実行することができることに留意する必要がある。
【国際調査報告】
2021521518.tif 000012
2021521518.tif 000013
2021521518.tif 000014
2021521518.tif 000015