本発明の実施形態は、サービス障害回復中及び仮想マシンのシステム初期構築中にサービスを素早く提供するとともにサービス処理能力を素早く向上させるべく、仮想マシン始動方法及び仮想マシン始動装置を提供する。
第1の態様によれば、本発明の一実施形態は仮想マシン始動方法を提供し、方法は、第1のネットワークサービスが展開されるネットワーク機能仮想化NFVネットワークに適用され、NFVネットワークは、コンピュータデバイス上で動いている複数の仮想マシンにより実装され、第1のネットワークサービスは、N個のタイプの仮想ネットワーク機能コンポーネントVNFCにより共同で実施され、方法は、N個のタイプのVNFCと複数の仮想マシンとの間の分布関係を取得するステップであって、分布関係が、複数の仮想マシンのそれぞれの中にあるN個のタイプのVNFCのそれぞれの量を示す、ステップと、仮想マシンの第1のグループ内の各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たすように、分布関係に従って少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップであって、仮想マシンの第1のグループのセットが、始動された仮想マシンセットと始動されるべき仮想マシンセットとを含み、始動された仮想マシンセット内の始動された仮想マシンの量が0以上であり、量が0よりも大きいときに、始動された仮想マシンが複数の仮想マシンに属する、ステップと、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップとを含む。
方法によれば、各仮想マシン内のVNFCのタイプ及び量に従って可能な限り少ない仮想マシンを適切に且つ選択的に選択でき、そのため、NFVネットワーク上の第1のネットワークサービスを可能な限り素早く実施できる。
第2の態様によれば、本発明の一実施形態は仮想マシン始動装置を提供し、装置は、第1のネットワークサービスが展開されるネットワーク機能仮想化NFVネットワークに適用され、NFVネットワークは、コンピュータデバイス上で動いている複数の仮想マシンにより実装され、第1のネットワークサービスは、N個のタイプの仮想ネットワーク機能コンポーネントVNFCにより共同で実施され、Nが正の整数であり、装置は、N個のタイプのVNFCと複数の仮想マシンとの間の分布関係を取得するように構成される取得モジュールであって、分布関係が、複数の仮想マシンのそれぞれの中にあるN個のタイプのVNFCのそれぞれの量を示す、取得モジュールと、仮想マシンの第1のグループ内の各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たすように、取得モジュールにより取得される分布関係に従って少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するように構成される選択モジュールであって、仮想マシンの第1のグループのセットが、始動された仮想マシンセットと始動されるべき仮想マシンセットとを含み、始動された仮想マシンセット内の始動された仮想マシンの量が0以上であり、量が0よりも大きいときに、始動された仮想マシンが複数の仮想マシンに属する、選択モジュールと、選択モジュールにより選択される始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるように構成される始動モジュールとを含む。
装置は、各仮想マシン内のVNFCのタイプ及び量に従って可能な限り少ない仮想マシンを適切に且つ選択的に選択でき、そのため、NFVネットワーク上のネットワークサービスを可能な限り素早く実施できる。
第1の態様及び第2の態様における技術的解決策は、単サービスタイプが求められるシナリオに適用でき、この場合、単サービスタイプが求められるシナリオは2つのケースを含む。すなわち、一方のケースは、NFVネットワーク上にSLA(Service Level Agreement、サービスレベルアグリーメント)可用性レベルのサービス優先度を有する1つのタイプのサービスしか存在せず、ネットワーク上に異なるサービス優先度を有する他のサービスが存在しないとともに、ネットワーク上の全ての仮想マシンがサービスタイプのサービスをその優先度でサポートするケースである。他方のケースは、NFVネットワーク上に複数のサービスが存在し、ネットワーク上の仮想マシンが異なるサービスに対応するVNFCを含むが、現在始動している仮想マシンの目的が単に特定のサービスを実施することにすぎないケースである。
第1の態様又は第2の態様によれば、想定し得る形態において、分布関係に従って少なくとも1つの始動されるべき仮想マシンを始動されない仮想マシンから選択するステップは、
ステップ1:
に従って仮想マシンの第1のグループ内の各タイプのVNFCの現在の量重みを決定し、αiはi番目のタイプのVNFCの現在の量重みであり、Qiは、仮想マシンの第1のグループ内のi番目のタイプのVNFCの現在の総量であり、Qjは、仮想マシンの第1のグループ内のj番目のタイプのVNFCの現在の総量であり、i番目のタイプのVNFC及びj番目のタイプのVNFCがN個のタイプのVNFCに属し、i及びjの値範囲がNよりも大きくない正の整数を含み、
ステップ2:各タイプのVNFCの決定された現在の量重みと、各タイプのVNFCの事前設定された量重みとに従って、その現在の量重みが事前設定された量重みよりも最大限に小さいk番目のタイプのVNFCを見出し、k番目のタイプのVNFCがN個のタイプのVNFCのうちの1つであり、
ステップ3:k番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択し、及び、
N個のタイプ内にあるとともに仮想マシンの第1のグループ内にある各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たすまで、ステップ1、ステップ2、及び、ステップ3を順序良く繰り返すステップ、
を含む。
技術的解決策によれば、アルゴリズムを使用することにより各仮想マシン内のVNFCのタイプ及び量に従って最も不足しているタイプのVNFCが位置付けられる仮想マシンを選択的に選択でき、また、第1のネットワークサービスの素早い実施を確保することを前提として、現在始動する仮想マシン内のVNFCの最大効率を十分に実現でき、それにより、第1のネットワークサービスのサービス能力が素早く向上される。
第1の態様又は第2の態様によれば、想定し得る形態において、k番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップは、以下の態様、すなわち、最大量のk番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように選択するステップ、又は、複数の始動されない仮想マシンが最大量のk番目のタイプのVNFCを含む場合には、N個のタイプのうち最大量のVNFCタイプを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように選択する、又は、第1のネットワークサービスを実施するために使用される最大総量のVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように選択する、ステップ、のうちのいずれか1つを含む。
技術的解決策によれば、システムが1つの仮想マシンを選択するときに複数の始動されない仮想マシンが同じフィルタリング条件を満たす場合に、優先的選択解決策を与えることができる。
第1の態様又は第2の態様によれば、想定し得る形態では、ステップ1、ステップ2、及び、ステップ3を順序良く繰り返すプロセスにおいて、少なくとも1つの始動されない仮想マシンの選択順序が取得され、また、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップは、選択順序に従って少なくとも1つの始動されない仮想マシンを始動させるステップを含む。
技術的解決策によれば、少なくとも1つの始動されない仮想マシンを選択するプロセスにおいて仮想マシンを始動させるためのオーケストレーション順序が明らかにもたらされる。従来技術と比べると、始動順序はもはや単に仮想マシン番号に基づかず、また、順序に従って、始動された仮想マシン内のVNFCの最大効率を実現できる。
第1の態様又は第2の態様によれば、想定し得る形態において、少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップは、分布関係に従ってK個のタイプを決定するステップであって、K個のタイプがN個のタイプのサブセットであり、K個のタイプのVNFCが始動された仮想マシンに存在しない、ステップと、第1の事前設定された規則に従ってL個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップであって、L個の始動されない仮想マシンがK個のタイプのVNFCを備え、Lが第1の事前設定された規則に従ってKより大きくない、ステップと、第2の事前設定された規則に従ってH個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップであって、第2の事前設定された規則に従って、仮想マシンの第1のグループ内の各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たす、ステップと、を含む。第1の事前設定された規則は、K個のタイプ内の大部分のタイプを伴う始動されない仮想マシンを優先的に選択していてもよい。例えば、K=3であり、また、タイプは別々にk1、k2、及び、k3である。VNFCの3つのタイプk1、k2、及び、k3の全てを含む仮想マシンが優先的に選択される。VNFCの3つのタイプk1、k2、及び、k3の全てを含む仮想マシンが存在しない場合、VNFCのk1、k2、及び、k3のうちの2つのタイプを含む仮想マシンが選択される。VNFCのk1、k2、及び、k3のうちの2つのタイプを含む仮想マシンが依然として存在しない場合、VNFCのk1、k2、及び、k3のうちの1つのタイプを含む仮想マシンが選択される。第2の事前設定された規則が無作為な順序であってもよく、そのため、簡単な付加原理に従うだけで済む。或いは、第2の事前設定された規則が量優先順序であってもよく、すなわち、第1のネットワークサービスに対応するVNFCの最大量を含む(タイプではなく量を考慮するだけ)仮想マシンが優先的に選択される。或いは、第2の事前設定された規則がタイプ優先順序であってもよく、すなわち、第1のネットワークサービスに対応するVNFCの最大量のタイプを含む仮想マシンが優先的に選択される。前述の事前設定された規則のうちのいずれか1つの特定の実施態様において、複数の仮想マシンが同じ優先度を有する場合、選択のために無作為態様が使用されてもよい。
技術的解決策によれば、可能な限り少ない仮想マシンが始動され、それにより、第1のネットワークサービスの基本的な実施を確保でき、また、仮想マシンが故障している又は新たな仮想マシンシステムが構築されるときに第1のネットワークサービスの機能を少なくとも回復させる又はセットアップすることができる。
第1の態様又は第2の態様によれば、想定し得る形態では、第1の事前設定された規則に従ってL個の始動されない仮想マシンを複数の仮想マシンから選択するプロセスにおいて、L個の始動されない仮想マシンの第1の選択順序が取得され、第2の事前設定された規則に従ってH個の始動されない仮想マシンを複数の仮想マシンから選択するプロセスにおいて、H個の始動されない仮想マシンの第2の選択順序が取得され、また、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップは、最初に第1の選択順序に従ってL個の始動されない仮想マシンを始動させ、その後、第2の選択順序に従ってH個の始動されない仮想マシンを始動させるステップを含む。
仮想マシンは、前述の選択順序に従って始動するためにオーケストレートされ、それにより、始動された仮想マシンは、可能な限り多くの様々なVNFCを含むことができ、また、第1のネットワークサービスが素早く回復され又はセットアップされる。
第1の態様又は第2の態様によれば、想定し得る形態では、任意の仮想マシンの属性情報テーブルがVNFCフィールドを含み、また、任意の仮想マシン上で動いているi番目のタイプのVNFCの量がVNFCフィールドに記録され、また、N個のタイプのVNFCと複数の仮想マシンとの間の分布関係を取得するステップは、VNFCフィールドを読み込むことにより、任意の仮想マシン上で動いているi番目のタイプのVNFCの量を取得するステップを含む。
これは、VNFCと仮想マシンとの間の分布関係を取得するための方法であり、分布関係に従って、システムは、各仮想マシンにおけるVNFC起動状態と仮想マシンにおける各タイプのVNFCの分布状態とを学習することができる。
第1の態様又は第2の態様によれば、想定し得る形態では、任意の仮想マシンがソフトウェアパッケージを含み、また、i番目のタイプのVNFCの量がソフトウェアパッケージに記録され、また、N個のタイプのVNFCと複数の仮想マシンとの間の分布関係を取得するステップは、ソフトウェアパッケージを取り込むことにより、任意の仮想マシンに含まれるi番目のタイプのVNFCの量を取得するステップを含む。
これは、VNFCと仮想マシンとの間の分布関係を取得するための他の方法であり、分布関係に従って、システムは、各仮想マシンにおけるVNFC起動状態と仮想マシンにおける各タイプのVNFCの分布状態とを学習することができる。
第1の態様又は第2の態様によれば、想定し得る形態では、前述の少なくとも1つの始動されるべき仮想マシンが始動された後、始動されなかった残りの始動されるべき仮想マシンが無作為態様で始動されてもよい。一般に、仮想マシンが始動されるたびに、対象のVNFC使用を満たすことを前提として、残りの仮想マシンが存在し、それにより、VNFCの信頼性が確保される。方法によれば、対象のVNFC使用が満たされた後においては、後に始動されるべき仮想マシンに対して順序制限がもはや課されず、したがって、システムの処理電力消費量を低減できる。
第3の態様によれば、本発明の一実施形態は仮想マシン始動方法を提供し、方法は、M個のネットワークサービスが展開されるネットワーク機能仮想化NFVネットワークに適用され、NFVネットワークは、コンピュータデバイス上で動いている複数の仮想マシンにより実装され、x番目のサービスがM個のネットワークサービス内の1つのネットワークサービスであり、x番目のサービスは、N(x)個のタイプのVNFCにより共同で実施され、Nが正の整数であり、xの値範囲がMよりも大きくない全ての正の整数を含み、Mが1よりも大きい自然数であり、方法は、N(x)個のタイプのVNFCと複数の仮想マシンとの間の分布関係を取得するステップであって、分布関係が、複数の仮想マシンのそれぞれの中で分布されるxi番目のタイプのVNFCの量を示し、xi番目のタイプが、x番目のサービスに対応するN(x)個のタイプのうちの1つであり、iの値範囲がN(x)よりも大きくない全ての正の整数である、ステップと、
仮想マシンの第1のグループ内にあってM個のネットワークサービス内にある各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たすように、分布関係に従って少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップであって、仮想マシンの第1のグループのセットが、始動された仮想マシンセットと始動されるべき仮想マシンセットとを含み、始動された仮想マシンセット内の始動された仮想マシンの量が0以上であり、量が0よりも大きいときに、始動された仮想マシンが複数の仮想マシンに属する、ステップと、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップと、を含む。
方法によれば、各仮想マシン内のVNFCのタイプ及び量に従って可能な限り少ない仮想マシンを適切に且つ選択的に選択でき、そのため、M個のネットワークサービスを可能な限り素早く実施できる。
第4の態様によれば、本発明の一実施形態は仮想マシン始動装置を提供し、装置は、M個のネットワークサービスが展開されるネットワーク機能仮想化NFVネットワークに適用され、NFVネットワークは、コンピュータデバイス上で動いている複数の仮想マシンにより実装され、x番目のサービスがM個のネットワークサービス内の1つのネットワークサービスであり、x番目のサービスは、N(x)個のタイプのVNFCにより共同で実施され、Nが正の整数であり、xの値範囲がMよりも大きくない全ての正の整数を含み、Mが1よりも大きい自然数であり、装置は、N(x)個のタイプのVNFCと複数の仮想マシンとの間の分布関係を取得するように構成される取得モジュールであって、分布関係が、複数の仮想マシンのそれぞれの中で分布されるxi番目のタイプのVNFCの量を示し、xi番目のタイプが、x番目のサービスに対応するN(x)個のタイプのうちの1つであり、iの値範囲がN(x)よりも大きくない全ての正の整数である、取得モジュールと、仮想マシンの第1のグループ内にあってM個のネットワークサービス内にある各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たすように、取得モジュールにより取得される分布関係に従って少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択する選択モジュールであって、仮想マシンの第1のグループのセットが、始動された仮想マシンセットと始動されるべき仮想マシンセットとを含み、始動された仮想マシンセット内の始動された仮想マシンの量が0以上であり、量が0よりも大きいときに、始動された仮想マシンが複数の仮想マシンに属する、選択モジュールと、選択モジュールにより選択される始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるように構成される始動モジュールと、を含む。
装置は、各仮想マシン内のVNFCのタイプ及び量に従って可能な限り少ない仮想マシンを適切に且つ選択的に選択でき、そのため、NFVネットワーク上のネットワークサービスを可能な限り素早く実施できる。
第3の態様又は第4の態様によれば、想定し得る形態において、分布関係に従って少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップは、
ステップ1:
に従って仮想マシンの第1のグループ内のxi番目のタイプのVNFCの現在の量重みを決定し、αxiはxi番目のタイプのVNFCの現在の量重みであり、Qxiは、仮想マシンの第1のグループ内のxi番目のタイプのVNFCの現在の総量であり、Qxjは、仮想マシンの第1のグループ内のxj番目のタイプのVNFCの現在の総量であり、xj番目のタイプが、x番目のサービスに対応するN(x)個のタイプのうちの1つであり、jの値範囲がN(x)よりも大きくない全ての正の整数を含み、
ステップ2:xi番目のタイプのVNFCの決定された現在の量重みαxiと、xi番目のタイプのVNFCの事前設定された量重みとに従って、その現在の量重みが事前設定された量重みよりも最大限に小さいk番目のタイプのVNFCを見出し、k番目のタイプのVNFCがN(x)個のタイプのVNFCのうちの1つであり、
ステップ3:k番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択し、及び、
仮想マシンの第1のグループ内に含まれてM個のネットワークサービス内にある各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たすまで、ステップ1、ステップ2、及び、ステップ3を順序良く繰り返すステップ、
を含む。
技術的解決策によれば、アルゴリズムを使用することにより各仮想マシン内のVNFCのタイプ及び量に従って最も不足しているタイプのVNFCが位置付けられる仮想マシンを選択的に選択でき、また、M個のサービスの素早い実施を確保することを前提として、現在始動する仮想マシン内のVNFCの最大効率を十分に実現できる。
第3の態様又は第4の態様によれば、想定し得る形態において、分布関係に従って少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップは、
M個のサービスの優先度の降順を決定して、優先度の降順に従ってM個のサービス内の全てのサービスに関してサービス許可作業を連続的に行なうステップを含み、
サービス許可作業は、
ステップ1:αxiに従って仮想マシンの第1のグループ内の各タイプのVNFCの現在の量重みを決定し、αxiはxi番目のタイプのVNFCの現在の量重みであり、Qxiは、仮想マシンの第1のグループ内のxi番目のタイプのVNFCの現在の総量であり、Qxjは、仮想マシンの第1のグループ内のxj番目のタイプのVNFCの現在の総量であり、xjの値範囲が、現在のサービスに対応するN(x)よりも大きくない全ての正の整数を含み、
ステップ2:現在のサービス内の各タイプのVNFCの決定された現在の量重みαxiと、現在のサービスにおける各タイプのVNFCの事前設定された量重みとに従って、その現在の量重みが事前設定された量重みよりも最大限に小さいk番目のタイプのVNFCを見出し、k番目のタイプが現在のサービスにおけるN(x)個のタイプのうちの1つであり、
ステップ3:k番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択し、及び、
仮想マシンの第1のグループ内にあって現在のサービス内にある各タイプのVNFCの総量が現在のサービスにおける各タイプのVNFCに対応する事前設定された量を満たすまで、ステップ1、ステップ2、及び、ステップ3を順序良く繰り返すステップ、
を含む。
技術的解決策によれば、アルゴリズムを使用することにより各仮想マシン内のVNFCのタイプ及び量に従って最も不足しているタイプのVNFCが位置付けられる仮想マシンを選択的に選択でき、また、M個のサービスの素早い実施を確保することを前提として、現在始動する仮想マシン内のVNFCの最大効率を十分に実現できる。加えて、サービス優先度が区別される。したがって、高優先度サービス内のVNFCの最大効率が優先的に実現され、その後、低優先度サービス内のVNFCが考慮されるようにすることができ、特に、高優先度の素早い回復が確保される。
第3の態様又は第4の態様によれば、想定し得る形態において、k番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップは、以下の態様、すなわち、
最大量のk番目のタイプのVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように選択するステップ、又は、
複数の始動されない仮想マシンが最大量のk番目のタイプのVNFCを含む場合には、最大量のVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように選択する、又は、最大量のVNFCを含む始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように選択する、ステップ
のうちのいずれか1つを含む。
技術的解決策によれば、システムが少なくとも1つの始動されない仮想マシンを選択するときに複数の始動されない仮想マシンが同じフィルタリング条件を満たす場合に、優先的選択解決策が与られる。
第3の態様又は第4の態様によれば、想定し得る形態では、ステップ1、ステップ2、及び、ステップ3を繰り返すプロセスにおいて、少なくとも1つの選択された始動されない仮想マシンの選択順序が取得され、また、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップは、選択順序に従って少なくとも1つの選択された始動されない仮想マシンを始動させるステップを含む。
少なくとも1つの始動されない仮想マシンを選択するプロセスにおいて仮想マシンを始動させるためのオーケストレーション順序が明らかにもたらされる。従来技術と比べると、始動順序はもはや単に仮想マシン番号に基づかず、また、順序に従って、始動された仮想マシン内のVNFCの最大効率を実現できる。
第3の態様又は第4の態様によれば、想定し得る形態では、優先度の降順に従ってM個のサービス内の全てのサービスに関してサービス許可作業を連続的に行なうプロセスにおいて、少なくとも1つの選択された始動されない仮想マシンの選択順序が取得され、また、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップは、選択順序に従って少なくとも1つの選択された始動されない仮想マシンを始動させるステップを含む。
少なくとも1つの始動されない仮想マシンを選択するプロセスにおいて仮想マシンを始動させるためのオーケストレーション順序が明らかにもたらされる。従来技術と比べると、始動順序はもはや単に仮想マシン番号に基づかず、また、順序に従って、始動された仮想マシン内のVNFCの最大効率を実現できる。
第3の態様又は第4の態様によれば、想定し得る形態において、少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップは、分布関係に従ってK個のタイプを決定するステップであって、K個のタイプがM個のサービスに対応する全てのVNFCタイプのサブセットであり、K個のタイプのVNFCが始動された仮想マシンに存在しない、ステップと、第1の事前設定された規則に従ってL個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップであって、L個の始動されない仮想マシンがK個のタイプのVNFCを備え、Lが第1の事前設定された規則に従ってKより大きくない、ステップと、第2の事前設定された規則に従ってH個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップであって、第2の事前設定された規則に従って、仮想マシンの第1のグループ内に含まれてM個のネットワークサービス内にある各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たす、ステップと、を含む。例えば、K=3であり、また、タイプは別々にk1、k2、及び、k3である。VNFCの3つのタイプk1、k2、及び、k3の全てを含む仮想マシンが優先的に選択される。VNFCの3つのタイプk1、k2、及び、k3の全てを含む仮想マシンが存在しない場合、VNFCのk1、k2、及び、k3のうちの2つのタイプを含む仮想マシンが選択される。VNFCのk1、k2、及び、k3のうちの2つのタイプを含む仮想マシンが依然として存在しない場合、VNFCのk1、k2、及び、k3のうちの1つのタイプを含む仮想マシンが選択される。第2の事前設定された規則が無作為な順序であってもよく、そのため、簡単な付加原理に従うだけで済む。或いは、第2の事前設定された規則が量優先順序であってもよく、すなわち、対応するサービスに対応するVNFCの最大量を含む(タイプではなく量を考慮するだけ)仮想マシンが優先的に選択される。或いは、第2の事前設定された規則がタイプ優先順序であってもよく、すなわち、第1のサービスに対応するVNFCの最大量のタイプを含む仮想マシンが優先的に選択される。前述の事前設定された規則のうちのいずれか1つの特定の実施態様において、複数の仮想マシンが同じ優先度を有する場合、選択のために無作為態様が使用されてもよい。
技術的解決策において与えられる仮想マシンを始動させるための新規なオーケストレーション方法によれば、可能な限り少ない仮想マシンが始動され、それにより、サービスの基本的な実施を確保でき、また、仮想マシンが故障している又は新たな仮想マシンシステムが構築されるときにM個のサービスの機能を回復させる又はセットアップすることができる。
第3の態様又は第4の態様によれば、想定し得る形態において、第1の事前設定された規則に従ってL個の始動されない仮想マシンを複数の仮想マシンから選択するプロセスにおいて、L個の始動されるべき仮想マシンの第1の選択順序が取得され、第2の事前設定された規則に従ってH個の始動されない仮想マシンを複数の仮想マシンから選択するプロセスにおいて、H個の始動されるべき仮想マシンの第2の選択順序が取得され、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップは、最初に第1の選択順序に従ってL個の始動されない仮想マシンを始動させ、その後、第2の選択順序に従ってH個の始動されない仮想マシンを始動させるステップを含む。
技術的解決策において与えられる仮想マシンを始動させるための新規なオーケストレーション方法によれば、可能な限り少ない仮想マシンが始動され、それにより、サービスの基本的な実施を確保でき、また、仮想マシンが故障している又は新たな仮想マシンシステムが構築されるときにM個のサービスの機能を回復させる又はセットアップすることができる。
第3の態様又は第4の態様によれば、想定し得る形態において、少なくとも1つの始動されない仮想マシンを始動されるべき仮想マシンセットとして複数の仮想マシンから選択するステップは、M個のサービスの優先度の降順を決定して、優先度の降順に従ってM個のサービス内の全てのサービスに関してサービス保証作業を連続的に行なうとともに、H1個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップと、M個のサービス内の全てのサービスに関してサービス保証作業を行なった後、第4の事前設定された規則に従ってH2個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップであって、第4の事前設定された規則に従って、仮想マシンの第1のグループ内に含まれてM個のネットワークサービス内にある各タイプのVNFCの総量が各タイプのVNFCに対応する事前設定された量を満たす、ステップと、を含み、サービス保証作業は、分布関係に従ってK(x)個のタイプを決定するステップであって、K(x)個のタイプが現在のサービスにおけるN(x)個のタイプのサブセットであり、K(x)個のタイプのVNFCが始動された仮想マシンに存在しない、ステップと、第3の事前設定された規則に従ってL(x)個の始動されない仮想マシンを始動されるべき仮想マシンセットに加えられるように複数の仮想マシンから選択するステップであって、L(x)個の始動されない仮想マシンがK(x)個のタイプのVNFCを含み、L(x)が第3の事前設定された規則に従ってK(x)よりも大きくない、ステップと、を含む。
技術的解決策は、仮想マシンオーケストレーション選択方法を提供する。このオーケストレーション順序によれば、可能な限り少ない仮想マシンが始動され、サービスの基本的な実施を確保できる。特に複数のサービスが存在するときに、高優先度サービスが優先的に実施されるようにすることができる。したがって、仮想マシンが故障しているとき又は新たな仮想マシンシステムが構築されるときにサービス機能を少なくとも確保できる又はセットアップできる。
第3の態様又は第4の態様によれば、想定し得る形態では、M個のサービス内の全てのサービスに関してサービス保証作業を行なうプロセスにおいて、H1個の始動されない仮想マシンの第3の選択順序が取得され、第4の事前設定された規則に従ってH2個の始動されない仮想マシンを複数の仮想マシンから選択するプロセスにおいて、H2個の始動されない仮想マシンの第4の選択順序が取得され、始動されるべき仮想マシンセット内の1つの仮想マシンを始動させるステップは、最初に第3の選択順序に従ってH1個の始動されない仮想マシンを始動させ、その後、第4の選択順序に従ってH2個の始動されない仮想マシンを始動させるステップを含む。
技術的解決策によれば、可能な限り少ない仮想マシンが始動され、サービスの基本的な実施を確保できる。特に複数のサービスが存在するときに、高優先度サービスが優先的に実施されるようにすることができる。したがって、仮想マシンが故障しているとき又は新たな仮想マシンシステムが構築されるときにサービス機能を少なくとも確保できる又はセットアップできる。
第3の態様又は第4の態様によれば、想定し得る形態では、任意の仮想マシンの属性情報テーブルがVNFCフィールドを含み、また、任意の仮想マシン上で動いているxi番目のタイプのVNFCの量がVNFCフィールドに記録され、また、N(x)個のタイプのVNFCと仮想マシンとの間の分布関係を取得するステップは、VNFCフィールドを読み込むことにより、任意の仮想マシン上で動いているxi番目のタイプのVNFCの量を取得するステップを含む。
これは、VNFCと仮想マシンとの間の分布関係を取得するための方法であり、分布関係に従って、システムは、各仮想マシンにおけるVNFC起動状態と仮想マシンにおける各タイプのVNFCの分布状態とを学習することができる。
第3の態様又は第4の態様によれば、想定し得る形態では、任意の仮想マシンがソフトウェアパッケージを含み、また、xi番目のタイプのVNFCの量がソフトウェアパッケージに記録され、また、N(x)個のタイプのVNFCと仮想マシンとの間の分布関係を取得するステップは、ソフトウェアパッケージを取り込むことにより、任意の仮想マシンに含まれるxi番目のタイプのVNFCの量を取得するステップを含む。
これは、VNFCと仮想マシンとの間の分布関係を取得するための他の方法であり、分布関係に従って、システムは、各仮想マシンにおけるVNFC起動状態と仮想マシンにおける各タイプのVNFCの分布状態とを学習することができる。
第3の態様又は第4の態様によれば、想定し得る形態では、少なくとも1つの始動されるべき仮想マシンが始動された後、始動されなかった残りの始動されるべき仮想マシンが無作為態様で始動されてもよく、また、対象のVNFC使用が満たされた後においては、後に始動されるべき仮想マシンに対して順序制限がもはや課されない。
一般に、仮想マシンが始動されるたびに、対象のVNFC使用を満たすことを前提として、残りの仮想マシンが存在し、それにより、VNFCの信頼性が確保される。順序制限が存在しなければ、システムの処理電力消費量を低減できる。
第5の態様によれば、本発明は、仮想マシン始動デバイスを提供し、デバイスは、少なくとも1つのプロセッサと、メモリと、バスとを含み、プロセッサ及びメモリは、バスを使用することにより通信のために接続され、メモリがプログラム及び命令を記憶し、プロセッサは、プログラム及び命令をメモリに呼び出すとともに、前述の形態の方法又は同等な方法のうちのいずれか1つを実施するように構成される。
従来技術では、仮想マシンブートストームを回避するために、同時に始動される仮想マシンの量を制限する必要がある。したがって、始動量に対する制約があるときには、仮想マシンは、一般に、ホスト命令又はVNF命令に従って始動される。この場合、特定のサービス(目標サービス)を実施するために必要とされる複数のタイプのVNFCの全てを素早く始動できるとは限らず、また、比較的低いサービス始動効率がもたらされる。しかしながら、本発明の実施形態では、仮想マシン内のVNFCのタイプ及び量の分布が取得され、サービス要件に従って始動されるべき仮想マシンを選択でき、また、始動されるべき仮想マシンのために順序が決定される。この方法によれば、従来技術のように仮想マシンをバッチ状態で無作為に始動させるのではなく、特定のサービス又は高優先度サービスに対応するタイプのVNFCを起動させるために使用される仮想マシンが優先的に始動されるようにすることができ、それにより、サービスが素早く提供されるとともに、サービス処理能力が素早く向上される。
以下は、本発明の実施形態における添付図面に関連して、本発明の実施形態における技術的解決策を明確且つ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態の一部であって、全てではない。創作的努力を伴うことなく本発明の実施形態に基づいて当業者により得られる他の全ての実施形態は、本発明の保護範囲内に含まれるものとする。
図2aを参照すると、図2aは、本発明の一実施形態に従って適用され得るNFVシステム000のシステムアーキテクチャの概略図である。NFVシステムが単に説明のための一例として使用されるにすぎず、本発明の適用範囲がこれに限定されないいことに留意すべきである。図2aに示されるNFVシステムは、複数のネットワーク、例えば、データセンターネットワーク、サービスプロバイダネットワーク、又は、ローカルエリアネットワーク(Local Area Network、LAN)を使用することにより実装されてもよい。図2aに示されるように、NFVシステムは、NFV管理・オーケストレーションシステム(Management and Orchestration System)028、NFVインフラストラクチャ(NFV Infrastructure、NFVI)030、複数の仮想ネットワーク機能008、複数の要素管理システム(element management system、EMS)022、サービス・VNF・インフラストラクチャ記述(Service、VNF and Infrastructure Description)システム026、及び、1つ以上のオペレーション・サポート・システム/ビジネス・サポート・システム(Operation Support System/Business Support System、OSS/BSS)024を含んでもよい。
NFV管理・オーケストレーションシステム028は、オーケストレータ(Orchestrator)002、1つ以上のVNFマネージャ(VNF Manager)004、及び、1つ以上の仮想化インフラストラクチャマネージャ(Virtualized Infrastructure Manager)006を含んでもよい。NFVI030は、コンピューティングハードウェア012、ストレージハードウェア014、及び、ネットワークハードウェア016を含むハードウェアリソース層と、仮想化層と、仮想コンピューティング010(例えば、仮想マシン)、仮想ストレージ018、及び、仮想ネットワーク020を含む仮想リソース層とを含んでもよい。コンピューティングハードウェア012は、処理機能及び計算機能を与えるように構成される特殊用途プロセッサ又は汎用プロセッサであってもよい。ストレージハードウェア014は、記憶能力を与えるように構成される。記憶能力は、ストレージハードウェア014(例えば、サーバのローカルメモリ)によって与えられてもよく、又は、ネットワーク(例えば、ネットワークを使用することによりサーバがネットワーク記憶デバイスに接続される)によって与えられてもよい。ネットワークハードウェア016は、スイッチ、ルータ、及び/又は、他のネットワークデバイスであってもよい。ネットワークハードウェア016は、複数のデバイス間で通信を実施するように構成される。複数のデバイスは有線態様又は無線態様で接続される。NFVI030における仮想化層は、ハードウェアリソース層でハードウェアリソースを抽象化する、ハードウェアリソースが属する物理層及びVNF008を分離する、及び、仮想リソースをVNF008に与えるように構成される。図2aに示されるように、仮想リソース層は、仮想コンピューティング010、仮想ストレージ018、及び、仮想ネットワーク020を含んでもよい。仮想コンピューティング010及び仮想ストレージ018は、仮想マシン形態でVNF008に設けられてもよく或いは他の形態で仮想コンテナに設けられてもよい。例えば、1つ以上のVNF008が1つの仮想マシンで展開されてもよい。仮想化層は、仮想ネットワーク020を形成するためにネットワークハードウェア016を抽象化する。仮想ネットワーク020、例えば仮想スイッチ(例えば、Vswitches)は、複数の仮想マシン間で又はVNFを伴う他のタイプの複数の仮想コンテナ間で通信を実施するために使用される。ネットワークハードウェアの仮想化は、仮想LAN(Virtual LAN、VLAN)、仮想プライベートローカルエリアネットワークサービス(Virtual Private LAN Service、VPLS)、仮想拡張可能ローカルエリアネットワーク(Virtual eXtensible Local Area Network、VxLAN)、又は、一般ルーティングカプセル化を使用するネットワーク仮想化(Network Virtualization using Generic Routing Encapsulation、NVGRE)などの技術を使用することによって実施されてもよい。OSS/BSS 024は、主に、テレコミュニケーションサービスオペレータへ向けられるとともに、ネットワーク管理(障害監視及びネットワーク情報収集など)、課金管理、顧客サービス管理等を含む包括的なネットワーク管理機能及びビジネスオペレーション機能を与える。サービス・VNF・インフラストラクチャ記述システム026は、ETSI GS NFV 002 v1.1.1規格に詳しく記載される。したがって、本発明のこの実施形態では詳細について説明しない。
NFV管理・オーケストレーションシステム028は、VNF008及びNFVI030を監視して管理するように構成されてもよい。オーケストレータ002は、リソース関連要求を実施して、コンフィギュレーション情報をVNFマネージャ004に送るとともに、VNF008の状態情報を収集するために1つ以上のVNFマネージャ004と通信してもよい。また、オーケストレータ002は、リソース割り当てを実施する及び/又は仮想化ハードウェアリソースの状態情報及びコンフィギュレーション情報の予約及び交換を実施するために仮想化インフラストラクチャマネージャ006と更に通信してもよい。VNFマネージャ004は、1つ以上のVNF008を管理して、VNF008の初期化、更新、問い合わせ、及び/又は、停止などの様々な管理機能を果たすように構成されてもよい。仮想化インフラストラクチャマネージャ006は、VNF008とコンピューティングハードウェア012、ストレージハードウェア014、ネットワークハードウェア016、仮想コンピューティング010、仮想ストレージ018、又は、仮想ネットワーク020との間の相互作用を制御して管理するように構成されてもよい。例えば、仮想化インフラストラクチャマネージャ006は、リソースをVNF008に割り当てるための作業を行なうように構成されてもよい。VNFマネージャ004及び仮想化インフラストラクチャマネージャ006は、仮想化ハードウェアリソースのコンフィギュレーション情報及び状態情報を交換するために互いに通信してもよい。
NFVI030はハードウェア及びソフトウェアを含む。ハードウェア及びソフトウェアはいずれも、VNF008を展開して、管理するとともに、実行するために、仮想化環境を共同して構築する。言い換えると、ハードウェアリソース及び仮想リソース層は、仮想リソースをVNF008に与える、例えば他の形態では仮想マシン及び/又は仮想コンテナに与えるように構成される。
図2aに示されるように、VNFマネージャ004は、VNFライフサイクル管理を行なってコンフィギュレーション情報/状態情報を交換するためにVNF008及びEMS022と通信してもよい。VNF008は少なくとも1つのネットワーク機能の仮想化であり、また、ネットワーク機能は物理ネットワークデバイスによって事前に与えられる。一実施態様において、VNF008は、仮想化移動性管理エンティティ(Mobility Management Entity、MME)ノードであってもよく、典型的な非仮想化MMEデバイスによって与えられるネットワーク機能を与えるように構成される。他の実施態様において、VNF008は、非仮想化MMEデバイスにより与えられる全てのコンポーネントの一部の機能を果たすように構成されてもよい。1つ以上のVNF008は、1つの仮想マシン(又は他の形態では1つの仮想コンテナ)で展開されてもよい。EMS022は、1つ以上のVNFを管理するように構成されてもよい。
MMEは、3GPP(3rd Generation Partnership Project)プロトコルLTE(Long Term Evolution)アクセスネットワークにおける重要な制御ノードである。MMEは、アイドルモードでUE(User Equipment)を位置決めし、ページングし、及び、中継することに関与する。つまり、MMEは信号伝達処理に関与する。UEが初期化されてMMEに接続されると、MMEは、UEのためのSGW(Serving Gateway)を選択することに関与する。MMEは、HSS(Home Subscriber Server)と相互作用することによりユーザを認証するとともに、一時的ID(identifier)をユーザに割り当てるように更に構成される。また、MMEは、法律により許容される範囲内で傍受及び聴取もサポートする。
本発明は、仮想ネットワーク機能におけるオーケストレーション及び管理に関する。したがって、本発明に関与する方法及び装置は、主に、仮想ネットワーク機能管理・オーケストレーションシステム028に対応している。
本発明では、NFVネットワークにおけるVNFC分布状態について最初に配慮する必要がある。多量の仮想マシンが大規模NFVネットワーク上で動く。これらの仮想マシンは幾つかの物理リソースを共有してもよい。物理リソースは、ホスト、共有ストレージ等を含む。例えば、図2bに示されるように、VM0及びVM1がホスト1を共有し、VM2及びVM3がホスト2を共有し、VM4及びVM5がホスト3を共有し、VM6及びVM7がホスト4を共有し、また、VM0、VM1、VM2、VM3、VM4、VM5、VM6、及び、VM7がストレージリソースを共有する。VNFCコンポーネントは仮想マシン上で動く。一般に、より強力なサービス処理能力又はより高いサービス信頼性を与えるために同じVNFCが複数の仮想マシン上で動く。また、一部の仮想マシンも複数の異なる仮想ネットワーク機能コンポーネントを起動する。図2bに示されるように、VNFC000及びVNFC001がVM0及びVM2の両方で動き、VNFC002がVM1及びVM3の両方で動き、VNFC010がVM4及びVM5の両方で動き、及び、VNFC001がVM6及びVM7の両方で動く。
実際の用途において、NFVネットワークは、1つ以上のネットワークサービス(略してサービス)を正常に与える必要があり、また、各ネットワークサービスは特定のVNFCセットに対応している。したがって、前述のNFVネットワークは、1つ以上の特定のVNFCセットが正常に働くことを必要とする。一般に、異なるタイプのサービスにおけるVNFCセットは異なる。例えば、図3に示されるように、サービス0は、セット{VNFC000,VNFC001,VNFC010,VNFC011}内のVNFCによって共同で実施される必要があり、また、サービス1は、セット{VNFC000,VNFC002,VNFC020,VNFC021}内のVNFCによって共同で実施される必要がある。VNFC000、VNFC001、及び、VNFC002はVNF00に属し、また、VNFC010及びVNFC011はVNF01に属し、また、VNFC020及びVNFC021はVNF02に属する。一般に異なるVNFが同じVNFCに対応しないことに留意すべきである。
特定の実装プロセスにおいて、大規模NFVネットワークは、音声サービスなどの多くのネットワークサービス、及び、Rich Communication Suite RCS(ショートメッセージサービスメッセージ及びピクチャシェアリング)サービスを提供できる。任意の特定のサービスにおいて、NFVネットワークは特定のVNFCセットを必要とする。セットは少なくとも1つのタイプのVNFCを含み、また、VNFCセット内のVNFCタイプは互いに異なる。セット内の全てのVNFCは、特定のネットワークサービスを実施するために互いに協力し、また、いずれも不必要ではない。
従来技術では、仮想マシンブートストームを回避するために、同時に始動される仮想マシンの量を制限する必要がある。したがって、仮想マシンの始動量に対する制約があるときには、仮想マシンは、一般に、ホスト命令又はVNF命令に従って始動される。この場合、特定のサービス(目標サービス)を実施するために必要とされる複数のタイプのVNFCの全てを素早く始動できるとは限らない。したがって、比較的低いサービス始動効率がもたらされる。この問題は、特に、仮想マシンを集中態様で始動させるプロセスにおいて又は障害のある多量の仮想マシンを回復させる必要があるシナリオにおいて解決される必要がある。そのため、この問題を解決するべく、この明細書は、目標サービスを可能な限り早く回復させることができるように仮想マシンにおけるVNFC分布に従って仮想マシン始動順序を適切な態様で決定して計画できる仮想マシン始動方法及び装置を提供する。目標サービス要件を満たすことは、主に、以下の2つの態様を含む。
(1)目標サービスを可能な限り素早く実施できるとともに、目標サービスを提供する全てのVNFCを始動できる。例えば、目標サービスがサービス0であれば、サービス0の機能を実施する又は回復させるために、4つのVNFC、すなわち、VNFC000、VNFC001、VNFC010、及び、VNFC011の全てを始動させる必要がある。
(2)目標サービスのための量要件を満たすために、目標サービスにおけるVNFCのそれぞれのタイプの量が事前設定された量に可能な限り素早く達する。例えば、目標サービスがサービス1(サービス1に対応するVNFCは、VNFC000、VNFC002、VNFC020、及び、VNFC021を含む)であれば、サービスプロバイダは、多量のユーザ使用習慣の統計収集により、VNFC000、VNFC002、VNFC020、及び、VNFC021の推定起動量を取得し、また、一般に、VNFCの各タイプの推定量は異なる。ユーザは、大部分の時間にわたってVNFC000を使用し、僅かな時間においてのみVNFC002を使用してもよい。サービスプロバイダにより予期されるVNFC000、VNFC002、VNFC020、及び、VNFC021の量がそれぞれ100、30、20、及び、10であると想定される。この場合、サービスプロバイダは、始動された仮想マシン上で最終的に動くVNFC000、VNFC002、VNFC020、及び、VNFC021の量がそれぞれ100、30,20、及び、10に達するように、一部の仮想マシンを可能な限り素早く始動させる必要がある。全てのVNFCが始動されるとは限らないプロセスにおいて、サービスプロバイダは、現在始動される仮想マシンにおいて限られた量のVNFC000、VNFC002、VNFC020、及び、VNFC021を十分に使用するために、VNFC000、VNFC002、VNFC020、及び、VNFC021の量の比率が100:30:20:10に近づくことができると予期する。
本発明の適用シナリオは、異なる要件に従って単サービスタイプと多サービスタイプとに関連してもよく、したがって、以下、2つのシナリオについて別々に説明する。
1.単サービスシナリオ
単サービスタイプが求められるシナリオは2つのケースを含む。すなわち、一方のケースは、NFVネットワーク上にSLA(Service Level Agreement、サービスレベルアグリーメント)可用性レベルのサービス優先度を有する1つのタイプのサービスしか存在せず、ネットワーク上に異なるサービス優先度を有する他のサービスが存在しないとともに、ネットワーク上の全ての仮想マシンがこのタイプのサービスをその優先度でサポートするケースである。他方のケースは、NFVネットワーク上に複数のサービスが存在し、ネットワーク上の仮想マシンが異なるサービスに対応するVNFCを含むが、現在始動している仮想マシンの目的が単に特定のサービスを実施することにすぎないケースである。
図4を参照すると、図4は、本発明の一実施形態に係る仮想マシン始動方法の概略的なフローチャートである。方法100は以下のステップを含む。
ステップ101:第1のネットワークサービスに従ってN個のタイプの仮想ネットワーク機能コンポーネントVNFCを決定し、この場合、第1のネットワークサービスは、例えば音声送信又はマルチメディア送信など、仮想マシンによって実施され得る多くのネットワークサービス内の任意のネットワークサービスであり、N個のタイプのVNFCが第1のVNFCセットを形成し、また、Nは正の整数である。
ステップ102:N個のタイプのVNFCと仮想マシンとの間の分布関係を取得し、この場合、分布関係は、目標検索範囲内の各仮想マシン内で分布されるi番目のタイプのVNFCの量を示し、各仮想マシンは、始動された仮想マシン又は始動されない仮想マシンを含み、i番目のタイプが前述のN個のタイプのうちの1つであり、また、iの値範囲は、N以下の全ての正の整数を含む。
始動されない仮想マシンは、起動のために電源ONされなかった仮想マシンであり、システムによって自動的に検出されて障害に起因して再始動される必要がある仮想マシンを含んでもよく、或いは、システム初期化段階で始動される必要がある仮想マシンを含んでもよい。始動された仮想マシンは、始動動作を既に完了する仮想マシン、及び、始動動作を行なう前に起動して働いてしまった仮想マシンを含んでもよい。なお、この出願文献で言及される始動されるべき仮想マシンとは、始動されない仮想マシンから選択されてしまって始動のためにオーケストレートされる仮想マシンのことである。したがって、方法が行なわれる前に、仮想マシンシステム全体は、始動された仮想マシン(量が0であってもよい)と始動されない仮想マシンとを含む。方法を行なうプロセスにおいて、仮想マシンシステム全体は、始動された仮想マシン、始動されるべき仮想マシン、及び、始動されない仮想マシンを含む。
ステップ103:仮想マシンの第1のグループに含まれるi番目のタイプのVNFCの総量が対応する事前設定された量を満たすように、102において取得される分布関係に従って始動されない仮想マシンから少なくとも1つの始動されるべき仮想マシンを選択し、この場合、仮想マシンの第1のグループのセットは、始動された仮想マシンと、少なくとも1つの選択された始動されない仮想マシンとを含み、また、少なくとも1つの始動されない仮想マシンが始動されるべき仮想マシンセットとして使用されてもよい。
ステップ104:103において決定される少なくとも1つの始動されるべき仮想マシンを始動させる。
以下は、第1のサービスを説明のための一例として使用する。第1のサービスに対応するVNFCセットは{VNFC1,VNFC2,VNFC3,VNFC4}である。第1のサービスは、特定のサービスではなく、順序を限定しようとするものではなく、一般的な意味でのサービスである。その実施方法原理が等価な置き換えを行なうことができる任意のサービスは、本発明の保護範囲内に入るものとする。
随意的には、ステップ102が具体的に以下のようであってもよい。すなわち、任意の仮想マシンの属性情報テーブルがVNFCフィールドを含み、また、任意の仮想マシン上で動いているi番目のタイプのVNFCの量がVNFCフィールドに記録され、任意の仮想マシン上で動いているi番目のタイプのVNFCの量がVNFCフィールドを読み取ることによって取得される。一般に、属性情報テーブルは、仮想マシンが形成されるときに生成される。特殊用途VNFCフィールドがセットであってもよく、或いは、以下のテーブルに示されるように、仮想マシンとVNFCとの間の対応を記録するために既存のフィールドが置き換えられてもよい。
随意的には、ステップ102が具体的に以下のようであってもよい。すなわち、任意の仮想マシンがソフトウェアパッケージを含み、また、i番目のタイプのVNFCの量がソフトウェアパッケージに記録され、任意の仮想マシンは、仮想マシンとVNFCとの間の対応を学習するために、ソフトウェアパッケージを取り込むことによって、任意の仮想マシンに含まれるi番目のタイプのVNFCの量を取得する。ソフトウェアパッケージ内の記述ファイルが以下のテーブルに示される。
仮想マシンとVNFCとの間の対応は、仮想マシン上で動いている全てのVNFCの仮想マシン識別子及びタイプ識別子を含んでもよい。例えば、VM0{10−VNFC000}は10個のVNFC000が仮想マシンVM0上で動くことを示し、また、VM1{10−VNFC000,20−VNFC001,30−VNFC100}は10個のVNFC000、20個のVNFC001、及び、30個のVNFC100が仮想マシンVM1上で動くことを示すなど、仮想マシン上でのVNFC起動状態が取得されるだけでなく、仮想マシン内のVNFC分布も取得されてもよく、例えば、VNFC000{10−VM0,20−VM1,30−VM3}は、VM0、VM1、及び、VM3内で分布されるVNFC000の量がそれぞれ10、20、及び、30であることを示し、また、VNFC001{15−VM2,25−VM3}は、VM2及びVM3内で分布されるVNFC001の量がそれぞれ15及び25であることを示す。本発明における技術的解決策が、特定の構成態様、又は、仮想マシンとVNFCとの間の対応のコンフィギュレーションデータの記憶態様に、及び、フィールド表現形態に限定しないことに留意すべきである。
随意的に、ステップ103は、具体的には、102において取得される分布関係に従って「サービス保証作業」を行なうことであってもよく、この場合、「サービス保証作業」は具体的に以下のようであってもよい。
始動された仮想マシンが既に第1のサービスに対応する4つのVNFCタイプを含むかどうかを決定する。
始動された仮想マシンが第1のサービスに対応する4つのVNFCタイプを含まないという決定結果であれば、4つのVNFCタイプの中で、始動された仮想マシンに含まれない1つのタイプ、すなわち、第1のサービスを実施するために依然として起動する必要があるVNFCのタイプを決定し、その後、始動されない仮想マシンからL個の始動されるべき仮想マシン(Lは4以下)を選択し、この場合、L個の始動されるべき仮想マシンは、第1のVNFCセット内にあって始動された仮想マシンに含まれなかったk個のVNFCタイプ(kは4以下で且つL以上)を含む。例えば、第1のサービスは、セット{VNFC1,VNFC2,VNFC3,VNFC4}内のVNFCによって共同で実施される必要がある。VNFC1及びVNFC3のみが始動された仮想マシン上で動く場合には、第1のサービスを実施できない。これは、VNFC2及びVNFC4も必要とされるからである。この場合、VNFC2又はVNFC4を含む始動されない仮想マシンを選択する必要があり、VNFC2及びVNFC4の両方がその上で動く始動されない仮想マシンが優先的に選択されてもよく、及び、より多くの量のVNFC2及びVNFC4を含む始動されない仮想マシンがより良い仮想マシンである。VNFC2及びVNFC4の両方を含む始動されない仮想マシンが存在しなければ、最大量のVNFC2を含む始動されない仮想マシンが最初に選択されてもよく、その後、最大量のVNFC4を含む始動されない仮想マシンが選択される。特定の選択順序が限定されない。一言で言えば、最大量のVNFCのタイプを含む始動されない仮想マシンが選択され、この場合、VNFCのそのタイプは、始動された仮想マシン及びL個の始動されない仮想マシンが第1のサービスに対応するVNFCの全てのタイプを含むまで、始動された仮想マシン及び始動のために既にオーケストレートされる仮想マシンに存在しない。随意的な実施態様では、L個の始動されるべき仮想マシンがオーケストレートされた後、H個の始動されるべき仮想マシンが始動されない仮想マシンから選択され、この場合、始動された仮想マシン、L個の始動されるべき仮想マシン、及び、H個の始動されるべき仮想マシンに含まれて第1のサービスに対応している全てのタイプのVNFCの量は、対応する事前設定された量を満たす。
始動された仮想マシンが第1のサービスに対応する4つのVNFCタイプを含むという決定結果であれば、L個の始動されるべき仮想マシンを始動されない仮想マシンから選択し、この場合、始動された仮想マシン及びL個の始動されるべき仮想マシンに含まれて第1のサービスに対応している全てのタイプのVNFCの量は、対応する事前設定された量を満たす。実施アイデアが単一の更なる原理を使用することにより実施されてもよい。例えば、VNFC1、VNFC2、VNFC3、及び、VNFC4の量がそれぞれ、400、300、200、及び、100以上に達する。
他の想定し得る形態において、ステップ103は、具体的には、ステップ102において取得される分布関係に従って「サービス高効率作業」を行なうことであってもよく、この場合、「サービス高効率作業」は、具体的には、以下のステップを含んでもよい。
ステップ1031:i番目のタイプのVNFCの実際の量重み
を決定し、この場合、Qiは、仮想マシンの第2のグループ内のi番目のタイプのVNFCの総量であり、Qjは、仮想マシンの第2のグループ内のj番目のタイプのVNFCの総量であり、jの値範囲は、Nよりも大きくない全ての正の整数を含み、また、本発明で言及される仮想マシンの第2のグループは、現在始動される仮想マシンと現在選択された始動されるべき仮想マシンとを含む。
ステップ1032:i番目のタイプのVNFCの実際の量重みαiと、i番目のタイプのVNFCの事前設定された量重みとに従って、その実際の量重みがk番目のタイプの事前設定された量重みよりも最大限に小さいk番目のタイプを見出し、この場合、k番目のタイプはN個のタイプのうちの1つである。
ステップ1033:k番目のタイプのVNFCを含む仮想マシンを新たな始動されるべき仮想マシンとして選択し、複数の仮想マシンが最大量のk番目のタイプのVNFCを含む場合には、N個のタイプの最大量のVNFCタイプを有する仮想マシンを複数の仮想マシンから選択し、又は、第1のサービスに対応する最大総量のVNFCを含む仮想マシンを選択し、この場合、第1のサービスに対応するVNFCは、N個のVNFCタイプの全てのタイプのVNFCのである。
仮想マシンの第1のグループに含まれるi番目のタイプのVNFCの総量が対応する事前設定された量を満たすまで、ステップ1031,1032、及び、1033を繰り返す。補足的説明として、この出願文献における仮想マシンの第2のグループは、その都度行なわれる、すなわち、新たな始動されるべき仮想マシンがオーケストレーションによって選択されるたびに行なわれる新たな一連の計算では、仮想マシンの現在の第1のグループとして更に理解されてもよく、仮想マシンの第1のグループはリアルタイムで更新される。
以下、一例を使用して説明する。特定の実施プロセスでは、最も簡単なケースにおいて、1つの始動されない仮想マシンが存在するとともに、その始動されない仮想マシンに含まれる全てのコンポーネントの量は、所定量を満たすのに十分である。しかしながら、そのケースは稀であり、又は、そのようなケースは殆ど存在しない。大部分の実際のケースでは、その所定量に達する全てのタイプのVNFCを起動させるために、多くの始動されない仮想マシンを始動させる必要があり、また、一般に、少なくとも数百個の始動されない仮想マシンを始動させる必要がある。この場合には、複数の始動されない仮想マシンの中で最初に始動される必要がある始動されない仮想マシンを決定するという問題を解決する必要がある。前述したように、サービスプロバイダは、多量のユーザ使用習慣の統計収集により、ユーザ要件を満たす全てのコンポーネントの基本的な量関係を取得する。例えば、第1のサービスによって必要とされるVNFC1、VNFC2、VNFC3、及び、VNFC4の所定量はそれぞれ、400、300、200、及び、100である。しかしながら、400、300、200、及び、100は単なる最終的な値にすぎず、始動された仮想マシンは直ちに量関係に達することができない。始動されるべき仮想マシンは徐々に始動され、また、量は徐々に所定量に近づく。4つのタイプのコンポーネント、すなわち、VNFC1、VNFC2、VNFC3、及び、VNFC4の量比率が400:300:200:100(すなわち、4:3:2:1)の条件を満たすときに第1のサービスの実施効率が最も高いことを最終的な量から学習することは容易である。したがって、コンポーネントの各タイプが事前設定された量重みを有し、また、VNFC1、VNFC2、VNFC3、及び、VNFC4の所定の量重みはそれぞれ以下の通りである。
RVNFC1=4/(1+2+3+4)=0.4;
RVNFC2=3/(1+2+3+4)=0.3;
RVNFC3=2/(1+2+3+4)=0.2;及び、
RVNFC4=1/(1+2+3+4)=0.1
実際のケースにおいて、始動のために現在オーケストレートされている始動されるべき仮想マシン(すなわち、現在選択された始動されるべき仮想マシン)及び現在始動された仮想マシンに含まれる各タイプのVNFCの量は、常に比率を満たさないが、殆どの時間において動的に変動する。したがって、サービス実施効率は、これらのVNFCのうちの1つのVNFCであってその実際の量重みが事前設定された量重みよりも小さいVNFCによって決まる。VNFC1、VNFC2、VNFC3、及び、VNFC4の現在の実際の量重みを最初に決定する必要がある。例えば、ある瞬間に、仮想マシンの第2のグループ(すなわち、現在始動される仮想マシン及び始動のために現在オーケストレートされている始動されるべき仮想マシン)上で動いているVNFC1、VNFC2、VNFC3、及び、VNFC4の実際の量は、50、10、10、及び、30であり、また、それに対応して、実際の量重みは以下の通りである。
R’VNFC1=50/(50+10+10+30)=0.5;
R’VNFC2=10/(50+10+10+30)=0.1;
R’VNFC3=10/(50+10+10+30)=0.1;及び、
R’VNFC4=30/(50+10+10+30)=0.3
仮想マシンの第2のグループ内のこれらのVNFCの事前設定された量重みからの実際の量重みの偏位度は、式S=(R’−R)/Rを使用することによって評価されてもよい。この時点で、仮想マシンの第2のグループ内のVNFC1、VNFC2、VNFC3、及び、VNFC4の事前設定された量重みからの実際の量重みの偏位度は、それに対応して、以下の通りである。
SVNFC1=(0.5−0.4)/0.4=+25%;
SVNFC2=(0.1−0.3)/0.3=−66.7%;
SVNFC3=(0.1−0.2)/0.2=−50%;及び、
SVNFC4=(0.3−0.1)/0.1=+200%
このタイプのVNFCが過剰であることをプラスの偏位結果が示し、また、より大きなプラス値結果がより高い過剰度合いを示し、及び、このタイプのVNFCが少ないことをマイナスの偏位結果が示し、また、より小さいマイナス値結果がより高い不足度合いを示すことを学習することは容易である。この例では、VNFCの現在の量分布において、仮想マシンの第2のグループ内のVNFC1及びVNFC4が相対的に過剰であり、また、特にVNFC4が相対的に多く、及び、VNFC2及びVNFC3が相対的に少なく、また、特に、不足度合いはVNFC2において最大であることを学習できる。したがって、第1のサービスが現在のVNFCリソースを可能な限り素早く十分に使用できるようにするために、現在のVNFCの利用効率を可能な限り素早く向上させるための方法は、最初にVNFC2の量を増大させるようになっている。この場合には、VNFC2を含む始動されない仮想マシンを選択する必要があり、また、最大量のVNFC2を含む仮想マシンが優先的に選択される。複数の始動されない仮想マシンが最大量のVNFC2を含む場合には、これらの始動されない仮想マシンのうちの1つの仮想マシンであってより多くの量の他のVNFCタイプ又はより多くの量の他のタイプのVNFCを含む仮想マシンを優先的に選択できる確率がより高い。例えば、最大量のVNFC2を含むとともにVNFC3を含む始動されない仮想マシンが優先的に選択され、又は、最大量のVNFC2を含むとともにVNFC1、VNFC3、及び、VNFC4を含む始動されない仮想マシンが優先的に選択される。一言で言えば、不足しているVNFCリソースを可能な限り素早く補うことができる仮想マシン、特に、全ての不足しているVNFCリソースを補うことができる仮想マシンは、高い選択優先度を有する。新たな始動されるべき仮想マシンが選択されるたびに、仮想マシンの第2のグループ内のVNFC分布が更新され、また、システムは、仮想マシンの第2のグループ内のVNFCの事前設定された量重みからの実際の量重みの偏位度を計算して更新する。各更新後の結果は異なる。したがって、仮想マシンをオーケストレーションのために1つずつ選択するプロセスにおいて、各VNFCコンポーネントの偏位度のプラス又はマイナスの両方の偏位の大きさは動的に変化する。各更新及び計算の後に使用される好ましい選択機構は前述した通りである。したがって、現在の量のVNFCは、仮想マシンの第1のグループ内の全てのタイプのVNFCが所定量に達するまで、選択プロセスにおいてそれぞれの最大効率を実現できる。例えば、幾つかの仮想マシンが連続的に始動された後、VNFC1、VNFC2、VNFC3、及び、VNFC4の所要量がそれぞれ400、300、200、及び、100に達し、また、この場合、仮想マシンの第1のグループが第1のサービスのためのユーザ要件を満たすことができ、始動されるべき仮想マシンのその後の選択が、もはや順序制約により制限されなくてもよく、無作為態様で行なわれ得ることが示唆される。
これに対応して、始動されるべき仮想マシンが選択順序に従って選択され、また、これらの始動されるべき仮想マシンを始動させるための順序は、選択順序と同じである。例えば、ステップ1031〜ステップ1033を繰り返すプロセスでは、ステップ1031〜ステップ1033が行なわれるたびに、最も適した始動されるべき仮想マシンがオーケストレーションのために始動シーケンス内に含まれるように選択されてもよい。ステップ1031〜ステップ1033が複数回にわたって行なわれた後、始動されるべき仮想マシンの選択順序が存在する。これに対応して、より早く選択された始動されるべき仮想マシンが、始動シーケンス内でより高くランク付けされ、より早く始動される。仮想マシン始動機構では、選択された始動されるべき仮想マシンが順序に従って始動される。
随意的に、仮想マシン始動態様は以下のようになっている。すなわち、最初に、始動されるべき仮想マシンを始動させるためのオーケストレーション順序が取得される。次に、始動順序に従って始動されるべき仮想マシンに関して始動作業が行なわれる。始動されるべき仮想マシンが過剰である場合、例えば始動されるべき仮想マシンがブートストームにより制限される量を超える場合、制限される量がcであると仮定すると、c個の仮想マシンが素早く始動される。各仮想マシンの起動状態は異なり、したがって、その始動時間が異なる。c個の始動されるべき仮想マシンが一瞬で同時に始動される場合には、c個の始動されるべき仮想マシンの後にランク付けされた始動されるべき仮想マシンを直ちに始動させることができない。スタック・オーバーフロー態様と同様に、現在始動されている仮想マシンの始動が完了された後においてのみ、始動されるべきシーケンス内の次の仮想マシンを始動させることができる。方法においては、明らかに、始動された仮想マシンにおけるVNFCの最大効率は、仮想マシンブートストーム制約下で依然として実施され得る。
前述の偏位度計算アルゴリズムは、単に説明のための一例として使用されるにすぎない。他の計算態様が数学的原理に従ってアルゴリズムから更に導き出されて変換されてもよく、また、本発明のこの実施形態では、他の計算態様が1つずつ挙げられない。加えて、仮想マシンを選択するプロセスでは、複数の始動されない仮想マシンが1つの条件を満たすとき、例えば、1つの条件を満たす2つの始動されない仮想マシン上で動いているVNFCのタイプ及び量が同じであるとき、複数の始動されない仮想マシンのうちの1つが無作為態様で選択されてもよい。創造的努力を伴わない任意の簡単な同等に置き換えられる解決策は、本発明の保護範囲内に入るものとする。
特定の実施プロセスでは、ステップ103が複数の態様で更に実施されてもよく、また、複数の実施態様は、システムに存在する異なるサービス方針に起因して導出により得られてもよい。例えば、少なくとも1つの始動されるべき仮想マシンを選択するプロセス(プロセス全体に限定されず、プロセスの一部も含む)では、始動された仮想マシン及び始動のためにオーケストレートされる始動されるべき仮想マシンに含まれるi番目のタイプのVNFCが所定量に達するまで、最大量の含まれるVNFC1、VNFC2、VNFC3、及び、VNFC4の順序に従って現在始動されない仮想マシンを選択するためにポーリングが繰り返されてもよく、又は、仮想マシンに含まれるVNFCの総量の降順に従って現在始動されない仮想マシンを選択するためにポーリングが行なわれてもよく、又は、仮想マシンに含まれるVNFCタイプの量の降順に従って現在始動されない仮想マシンを選択するためにポーリングが行なわれてもよい。なお、前述のケースのうちのいずれか1つにおいては、複数の仮想マシンが同じフィルタリング条件を満たすとき、複数の仮想マシンのうちの1つが無作為態様で又はアルゴリズム規則に従って選択されてもよい。
本発明のこの実施形態で与えられる仮想マシン始動方法によれば、始動されるべき仮想マシンは、VNFCと仮想マシンとの間の分布関係に従って及び規則に従って適切に選択されるとともに、それに対応して、選択順序に従って始動される。したがって、サービス性能を向上させることができるとともに、現在始動される仮想マシン内のVNFCリソースを比較的短時間で十分に使用でき、また、VNFCリソースが少ない条件下で最大利用効率を実現できる。
本発明のより明確な理解を容易にするために、以下は、実際の適用例を使用することによって詳細な説明を与える。図5を参照すると、図5は、本発明の一実施形態に係るセッション制御サービスにおけるVNFとVNFCとの間の対応の図である。
簡単なIMSセッション制御サービスでは、端末UE1が音声通話を開始し、また、音声信号がIMS(IP Multimedia Subsystem)IPマルチメディアサブシステムを通過して端末UE2に到達する。IMSは、P−CSCF(Proxy−Call Session Control Function)、I−CSCF(Interrogating Call Session Control Function)、及び、S−CSCF(Serving Call Session Control Function)を含む。
(1)Proxy CSCF(P−CSCF)
P−CSCFはプロキシ・コール・セッション制御機能である。P−CSCFは、IMS端末とIMSネットワークとを接続する入口ノードである。全てのIMS端末によって開始されて1つのIMS端末で終了されるセッション開始プロトコルSIP(Session Initiation Protocol)信号は、P−CSCFを通過する必要がある。実際に、P−CSCFはプロキシサーバの役割を果たす。P−CSCFは、SIP要求又は応答を受け、そのSIP要求又は応答をIMSネットワーク又はIMSサーバへ転送する。P−CSCFは、訪問先ネットワークに位置されてもよく、又は、ホームネットワークに位置されてもよい。
(2)Interrogating CSCF(I−CSCF)
I−CSCFは問い合わせコール・セッション制御機能である。I−CSCFは入口ノードであり、この入口ノードを使用することにより、訪問先ネットワーク上に位置されるIMS端末がローカルIMSネットワークドメインに入る。I−CSCFは、海外端末のSIP要求又は応答を国内S−CSCFへルーティングする。I−CSCFは、ホームネットワークに位置されてもよく、又は、特定の場合には訪問先ネットワークに位置されてもよい。
(3)Serving CSCF(S−CSCF):S−CSCFはサービング・コール・セッション制御機能である。S−CSCFは、SIP信号プレーン上の中央ノードである。S−CSCFの機能は、ソフトスイッチシステム内のソフトスイッチデバイスの機能と同様である。S−CSCFは、IMS端末のためのセッション制御サービスを行なって、セッション状態を維持する。全てのIMS端末により送受信されるSIP信号は、S−CSCFを通過する必要がある。S−CSCFは、SIP信号をチェックして、アプリケーションサーバにアクセスする必要があるかどうかを決定するとともに、その信号を最終送り先へ転送する。S−CSCFは常にホームネットワーク上に位置される。
P−CSCF、I−CSCF、及び、S−CSCFは、音声通話サービスを完了するために必要なDPU、SCU、及び、RDBを有する。ユニットをディスパッチするDPU(Dispatching Unit)は、CSCFシステムの外部出口及び入口であり、SIPメッセージのディスパッチングを完了するように構成される。SCU(Session Control Unit)セッション制御ユニットは、各論理ネットワーク要素のサービス処理機能を完了するように構成される。RDB(Remote Distributed Database)遠隔分散型ストレージユニットは、データとプログラムとの間の分離を実施するために、ユーザデータ及びセッションデータの分散記憶を完了するように構成される。
音声通話サービスにおいて、対応するVNFは、P−CSCF、I−CSCF、及び、S−CSCFである。P−CSCF、I−CSCF、及び、S−CSCFは、それら自体の対応するプロセス/ソフトウェアモジュールを有する。プロセス/ソフトウェアモジュールは、P−CSCF内のDPU00、SCU01、及び、RDB02、I−CSCF内のDPU10、SCU11、及び、RDB12、並びに、S−CSCF内のDPU20、SCU21、及び、RDB22などのVNFCである。確かに、P−CSCF、I−CSCF、及び、S−CSCFは、付加的な機能を有するとともに音声通話に必要ない幾つかの他のVNFCも有する。したがって、この実施形態は詳細を与えない。
本発明の解決策によれば、音声通話サービスに従って決定されるVNFCタイプは、DPU00、SCU01、RDB02、DPU10、SCU11、RDB12、DPU20、SCU21、及び、RDB22である。例えば、オペレータは、音声通話サービスの展開を完了する必要があるとともに、DPU00、SCU01、RDB02、DPU10、SCU11、RDB12、DPU20、SCU21、及び、RDB22の量がそれぞれ1000,2500、1500、600、1500、900,400,1000、及び、600であることを予期する。すなわち、DPU00、SCU01、RDB02、DPU10、SCU11、RDB12、DPU20、SCU21、及び、RDB22の対応する事前設定重みはそれぞれ、10%、25%、15%、6%、15%、9%、4%、10%、及び、6%である。
仮想ネットワーク機能管理・オーケストレーションシステムは、各仮想マシンの属性情報を読み込むことによって各仮想マシンにおける前述の9個のタイプのVNFCの分布関係を学習する、すなわち、始動された仮想マシン内で分布される前述の9個のタイプのVNFCの量、及び、始動されない仮想マシン内で分布される前述の9個のタイプのVNFCの量を学習する。加えて、始動された仮想マシンにおけるDPU00、SCU01、RDB02、DPU10、SCU11、RDB12、DPU20、SCU21、及び、RDB22の最初の実際の重みが計算される。
VNFC、例えば、その最初の実際の重みが事前設定された量重みよりも最大偏位度まで小さい(相対的にも最も不足している)SCU01が選択される。その後、SCU01を含む始動されない仮想マシンが分布関係に従って決定されるとともに、最大量のSCU01を含む始動されない仮想マシンが、新たな始動されるべき仮想マシンとして始動されない仮想マシンから選択される。複数の始動されない仮想マシンが同じ最大量のSCU01を含む場合には、最大総量の9個のタイプのVNFCを含む始動されない仮想マシンが複数の始動されない仮想マシンから選択されてもよく、又は、9個のタイプのうちの最大量のタイプのVNFCを含む始動されない仮想マシンが複数の始動されない仮想マシンから選択されてもよい。複数の始動されない仮想マシンが同じタイプのVNFCを含むとともに、各タイプのVNFCの量も同じであれば、複数の始動されない仮想マシンのうちの1つが無作為態様で選択されてもよい。新たな始動されるべき仮想マシンの選択が完了した後、新たな仮想マシンが仮想マシンの第2のグループに加えられる。したがって、仮想マシンの第2のグループ内のDPU00、SCU01、RDB02、DPU10、SCU11、RDB12、DPU20、SCU21、及び、RDB22の量が変化し、実際の重みが更新される。新たな始動されるべき仮想マシンは、新たな実際の重みに基づいて及び前述の方法に相当する規則に従って選択される。仮想マシンが選択されるたびに、新たな実際の重みに基づいて及び同じ規則に従って新たな始動されるべき仮想マシンが選択され、また、仮想マシンの第1のグループ内のDPU00、SCU01、RDB02、DPU10、SCU11、RDB12、DPU20、SCU21、及び、RDB22の量がそれぞれ1000、2500、1500、600、1500、900、400、1000、及び、600以上に達するまで、ポーリングが複数回にわたって繰り返される。待機中の始動されない仮想マシンをその後に始動させるために依然としてオーケストレートする必要がある場合には、前述の方法に相当する規則に従って仮想マシンが選択されてもよく、又は、始動順序が無作為態様で決定されてもよい。
2.多サービスシナリオ
多サービスとは、NFVネットワークが複数の異なるサービス優先度を伴うサービスをサポートすることである。異なるサービスタイプのサービスのVNFCセットは異なる。幾つかのシナリオでは、高優先度サービスに対応するVNFCがその上で動く多量のVM及び低優先度サービスに対応するVNFCがその上で動く多量のVMが同時に始動されると、仮想マシンを最初に始動させるために考慮される因子がより複雑であり、そのため、本発明は、サービスを受けるユーザの実際の要求方針に従って対応する技術的解決策を提供する。多サービスタイプとは、NFVネットワーク上にSLA(Service Level Agreement、サービスレベルアグリーメント)可用性レベルのサービス優先度を伴うAタイプのサービスが存在することを意味してもよい。この場合に仮想マシンを始動させる目的は、サービスのタイプのうちBタイプの特定のサービスを実施するためであり、この場合、BはA以下であり、また、A及びBの両方がプラスの整数である。
例えば、仮想マシンを一度にバッチ式で始動させると、第2のサービス、第3のサービス、及び、第4のサービスのためのユーザの要件を満たすことができる。第2のサービスは、セット{VNFC21,VNFC22,VNFC23,VNFC24}内のVNFCによって共同で実施される必要があり、第3のサービスは、セット{VNFC31,VNFC32,VNFC33}内のVNFCによって共同で実施される必要があり、また、第4のサービスは、セット{VNFC41,VNFC42}内のVNFCによって共同で実施される必要がある。多サービス要件では、多種多様なVNFCが関与し、また、既存の仮想マシン始動態様によれば、VNFCの分布が決定されないため、始動されたVNFCリソースを始動プロセスで十分に使用できないことが学習され得る。したがって、本発明では、多サービス要件を伴う環境内で仮想マシンを始動させることも計画される。特定の解決策は以下の通りである。
図6を参照すると、図6は、本発明の一実施形態に係る多サービスシナリオにおける仮想マシン始動方法の概略的なフローチャートである。方法は、M個のネットワークサービス要件を有するネットワーク機能仮想化NFVネットワークに適用され、ここで、Mは、1よりも大きい自然数である。方法200は以下のステップを含む。
ステップ201:x番目のサービスに従って、x番目のサービスに対応するN(x)個のタイプの仮想ネットワーク機能コンポーネントVNFCを決定し、この場合、x番目のサービスは、M個のネットワークサービス内の1つのネットワークサービスであり、N(x)個のタイプのVNFCはx番目のサービスを共同で実施でき、Nは正の整数であり、また、xの値範囲は、M以下の全ての正の整数を含む。
ステップ202:N(x)個のタイプのVNFCと仮想マシンとの間の分布関係を取得し、この場合、分布関係は、各仮想マシン内で分布されるxi番目のタイプのVNFCの量を示し、各仮想マシンは、始動された仮想マシン又は始動されない仮想マシンを含み、xi番目のタイプがN(x)個のタイプのうちの1つであり、また、xiの値範囲は、N(x)以下の全ての正の整数を含む。
ステップ203:仮想マシンの第1のグループに含まれるxi番目のタイプのVNFCの総量が対応する事前設定された量を満たすように、202において取得される分布関係に従って始動されない仮想マシンから少なくとも1つの始動されるべき仮想マシンを選択し、この場合、仮想マシンの第1のグループのセットは、始動された仮想マシンと、少なくとも1つの始動されるべき仮想マシンとを含み、また、少なくとも1つの始動されるべき仮想マシンが始動されるべき仮想マシンセットとして使用されてもよい。
ステップ204:203において決定される少なくとも1つの始動されるべき仮想マシンを始動させる。
随意的に、特定の実施プロセスでは、方針内でサービスが絶対優先度を有さなければ、例えば、絶対優先度を有するサービスが第2のサービス、第3のサービス、及び、第4のサービスから区別されなければ、サービスの予期される性能標準規格が優先的に満たされなければならないかどうかに注意が払われず、代わりに、目標は、各サービスにおけるVNFCの各タイプが推定量に達することである。この場合、ステップ203は、具体的には、ステップ202において取得される分布関係に従って「サービス高効率作業」を行なうことであってもよく、この場合、「サービス高効率作業」は、具体的には、以下のステップを含んでもよい。
ステップ2031a:xi番目のタイプのVNFCの実際の量重み
を決定し、この場合、Qxiは、仮想マシンの第2のグループ内のxi番目のタイプのVNFCの総量であり、Qxjは、仮想マシンの第2のグループ内のxj番目のタイプのVNFCの総量であり、xjの値範囲は、N(x)よりも大きくない全ての正の整数を含み、また、仮想マシンの第2のグループは、現在始動される仮想マシンと現在選択された始動されるべき仮想マシンとを含む。
ステップ2032a:xi番目のタイプのVNFCの実際の量重みαxiと、xi番目のタイプのVNFCの事前設定された量重みとに従って、その実際の量重みがk番目のタイプの事前設定された量重みよりも最大限に小さいk番目のタイプを見出す。
ステップ2033a:k番目のタイプのVNFCを含む始動されない仮想マシンを新たな始動されるべき仮想マシンとして選択する。
仮想マシンの第1のグループに含まれるxi番目のタイプのVNFCの総量が対応する事前設定された量を満たすまで、ステップ2031a,2032a、及び、2033aを繰り返す。補足的説明として、この出願文献における仮想マシンの第2のグループは、その都度行なわれる、すなわち、新たな始動されるべき仮想マシンがオーケストレーションによって選択されるたびに行なわれる新たな一連の計算では、仮想マシンの現在の第1のグループとして更に理解されてもよく、仮想マシンの第1のグループはリアルタイムで更新される。
他の特定の実施プロセスにおいて、方針内でサービスが絶対優先度を有する場合には、例えば、第2のサービスの優先度が第3のサービスの優先度よりも高く、且つ、第3のサービスの優先度が第4のサービスの優先度よりも高い場合には、第2のサービスの予期されるサービス能力が最初に満たされる必要がある。すなわち、第2のサービスにおける全てのタイプのVNFCの量が対応する事前設定された量に達した後、第3のサービスが関与し、第3のサービスにおける全てのタイプのVNFCの量が対応する事前設定された量に達した後、第4のサービスが関与し、及び、第4のサービスにおける全てのタイプのVNFCの量が対応する事前設定された量に達する。この場合、ステップ203は、具体的には、M個のサービスの優先度の降順を決定すること、及び、優先度の降順に従ってM個のサービス中の全てのサービスに関して「サービス許可作業」を連続的に行なうことを含んでもよく、この場合、「サービス許可作業」は以下のステップを含む。
ステップ2031b:現在のサービスにおけるxi番目のタイプのVNFCの実際の量重み
を決定し、この場合、Qxiは、仮想マシンの第2のグループ内にあって現在のサービス内にあるxi番目のタイプのVNFCの総量であり、Qxjは、仮想マシンの第2のグループ内にあって現在のサービス内にあるxj番目のタイプのVNFCの総量であり、xjの値範囲は、N(x)よりも大きくない全ての正の整数を含み、また、仮想マシンの第2のグループは、現在始動される仮想マシンと現在選択された始動されるべき仮想マシンとを含む。
ステップ2032b:現在のサービスにおけるxi番目のタイプのVNFCの実際の量重みαxiと、現在のサービスにおけるxi番目のタイプのVNFCの事前設定された量重みとに従って、その実際の量重みがk番目のタイプの事前設定された量重みよりも最大限に小さいk番目のタイプを見出す。
ステップ2033b:k番目のタイプのVNFCを含む始動されない仮想マシンを新たな始動されるべき仮想マシンとして選択する。
仮想マシンの第1のグループに含まれて現在のサービス内にあるxi番目のタイプのVNFCの総量が対応する事前設定された量を満たすまで、ステップ2031b,2032b、及び、2033bを繰り返す。
前述の方法の特定の実施プロセスでは、k番目のタイプのVNFCを含む仮想マシンが新たな始動されるべき仮想マシンとして始動されない仮想マシンから選択されると、最大量のk番目のタイプのVNFCを含む始動されない仮想マシンが選択されてもよい。複数の始動されない仮想マシンが最大量のk番目のタイプのVNFCを含む場合には、最大量のVNFCタイプを含む始動されない仮想マシンが複数の始動されない仮想マシンから選択され、又は、最大量のVNFCを含む始動されない仮想マシン(非カテゴリー)が複数の始動されない仮想マシンから選択される。加えて、仮想マシンを選択するプロセスでは、複数の始動されない仮想マシンが同じVNFC起動状態を有するとき、例えば、1つの条件を満たす2つの始動されない仮想マシン上で動いているVNFCのタイプ及び量が同じであるとき、複数の始動されない仮想マシンのうちの1つが無作為態様で選択されてもよい。
ステップ2031a〜ステップ2033a又はステップ2031b〜ステップ2033bを繰り返すプロセスでは、ステップ2031a〜ステップ2033a又はステップ2031b〜ステップ2033bが行なわれるたびに、相対的に最も適した始動されない仮想マシンが選択されて始動されるべきシーケンスに加えられる。ステップ2031a〜ステップ2033a又はステップ2031b〜ステップ2033bが複数回にわたって行なわれた後には、選択された始動されるべき仮想マシンのための選択順序がシーケンスに存在する。仮想マシンを始動させるためのオーケストレーション機構が、これらの選択された始動されるべき仮想マシンを順序に従ってその後に始動できるようにする。
特定の実施プロセスでは、ステップ203を行なう特定のプロセスにおいて、システムにより予め決定される方針を更に参照する必要がある。異なる事前設定された多サービス方針に起因して、複数の実施態様がステップ203から導き出されてもよい。例えば、少なくとも1つの始動されるべき仮想マシンを選択するプロセスでは、複数のサービスに対応するVNFCのそれぞれのタイプごとに、最大量の現在含まれるタイプのVNFCの順序に従って始動されない仮想マシンを選択するためにポーリングが繰り返されてもよく、又は、仮想マシンに含まれるVNFCの総量の降順に従って始動されない仮想マシンを選択するためにポーリングが繰り返されもよく、又は、仮想マシンに含まれるVNFCタイプの量の降順に従って始動されない仮想マシンを選択するためにポーリングが繰り返されもよい。なお、前述のケースのうちのいずれか1つにおいては、複数の始動されない仮想マシンが同じフィルタリング条件を満たすとき、複数の始動されない仮想マシンのうちの1つが無作為態様で選択されてもよい。
本発明のこの実施形態は、ネットワーク初期化段階で、すなわち、全ての仮想マシンが起動してしまっていない段階で適用されてもよい。この場合、仮想マシンが1つのサービスに従って始動されてもよい。本発明のこの実施形態は、ネットワーク起動段階で更に適用されてもよい。例えば、従来技術において仮想マシン命令又はホスト命令に従って仮想マシンが始動された後においては、ネットワーク起動段階で、複数の仮想マシンが新たに加えられれば、又は、複数の仮想マシンが大規模インタラプト障害から回復されれば、新たに加えられる仮想マシン又は中断された仮想マシンをサービスに従って始動させる必要がある。
本発明のこの実施形態では、第1のサービスに対応するN個のVNFCタイプが決定されるとともに、始動される必要がある仮想マシンのうちの始動されるべき仮想マシンが、N個のタイプのVNFCと仮想マシンとの間の分布関係に従って決定されて、始動されるべき仮想マシンが始動される。本発明では、特定のサービスに対応するVNFCタイプがその上で動く仮想マシンが可能な限り素早く始動されてもよく、それにより、仮想マシンブートストームを回避するために仮想マシンの始動量を制限する最中に引き起こされる問題、すなわち、サービスを長期間にわたって提供できない又はサービス処理能力を長期間にわたって向上させることができないという問題を解決することができ、サービスが素早く提供され、及び、サービス処理能力が素早く向上される。加えて、前述した方法で言及された単/多サービス方針によれば、現在の仮想マシンにおけるVNFC量状態に従って、最も不足しているタイプのVNFCが位置付けられる始動されない仮想マシンを選択でき、それにより、現在始動される仮想マシン上で動くとともに現在のサービス内にあるVNFCの利用効率をそれぞれの時間で十分に実現でき、サービス性能が向上される。
簡単な例において、サービス0に対応するVNFCタイプは、VNFC000、VNFC001、VNFC010、及び、VNFC011であり、また、最初に始動されない8個の仮想マシンVM0〜VM7に含まれるVNFCの状態が図7aに示される(サービス0に関係ないVNFCはこの図に示されない)。従来技術において仮想マシンが(図7aに示される)仮想マシン番号の順序に従って始動するためにオーケストレートされる場合には、7個の仮想マシンVM0〜VM6がオーケストレートされた後においてのみ、サービス0が正常に起動できる。本発明のこの実施形態における方法に従って選択が行なわれれば、すなわち、サービス0に対応する最も不足しているタイプのVNFCを伴う仮想マシンが選択されれば、4個の仮想マシン、すなわち、VM0(又はVM1)、VM2(又はVM3)、VM4(又はVM5)、及び、VM6(又はVM7)が始動される限り、サービス0が正常に起動できる。想定し得る実施態様が図7bに示される。したがって、本発明では、最小量の始動されない仮想マシンが始動されさえすれば、サービスを可能な限り素早く提供でき、それにより、サービスを提供するための時間が短縮される。
図8を参照すると、図8は、本発明の一実施形態に係る仮想マシン始動装置の概略構造図である。装置300は、決定モジュール301、取得モジュール302、選択モジュール303、及び、始動モジュール304を含む。複数の想定し得る実施態様が存在する。したがって、以下は、例を使用することにより装置について説明し続け、また、同等な置き換えを行なうことができる任意の技術的解決策は、本発明の保護範囲内に入るものとする。
例1
仮想マシン始動装置が提供され、また、装置は、単一のネットワークサービス要件を有するネットワーク機能仮想化NFVネットワークに適用され(単サービスタイプが必要とされるシナリオが先のように記載され、また、実施例1では、第1のサービスが一例として使用され続ける)、装置300は、
第1のサービスに従ってN個のタイプの仮想ネットワーク機能コンポーネントVNFCを決定するように構成される決定モジュール301であって、第1のサービスが、仮想マシンにより実施され得る多くのネットワークサービス内の1つのネットワークサービスであり、N個のタイプのVNFCが第1のサービスを共同して実施でき、Nが正の整数である、決定モジュール301と、
決定モジュール301により決定されるN個のタイプのVNFCと仮想マシンとの間の分布関係を取得するように構成される取得モジュール302であって、分布関係が各仮想マシン内に分布されるi番目のタイプのVNFCの量を示し、各仮想マシンが始動された仮想マシン又は始動されない仮想マシンを含み、i番目のタイプがN個のタイプのうちの1つであり、iの値範囲がNよりも大きくない全ての正の整数である、取得モジュール302と、
仮想マシンの第1のグループに含まれるi番目のタイプのVNFCの総量が対応する事前設定された量を満たすように、取得モジュール302により取得される分布関係に従って少なくとも1つの始動されるべき仮想マシンを始動されない仮想マシンから選択するように構成される選択モジュール303であって、仮想マシンの第1のグループのセットが始動された仮想マシンと少なくとも1つの始動されるべき仮想マシンとを含む、選択モジュール303と、
選択モジュール303により選択される少なくとも1つの始動されるべき仮想マシンを始動させるように構成される始動モジュール304と、
を含む。
特定の実施プロセスにおいて、取得モジュール302は、N個のタイプのVNFCと仮想マシンとの間の分布関係を複数の態様で取得する。2つの典型的な態様においては、前述の実施形態におけるテーブル1及びテーブル2に対応する実施方法が参照されてもよい。
従来の仮想マシン始動装置とは異なる特定の実施プロセスにおいて、本発明における選択モジュール303は、非常に重要な役割を果たすとともに、取得モジュール302により取得される分布関係に従って始動されない仮想マシンを選択し、始動されない仮想マシンを始動されるべき仮想マシンとしてオーケストレートしてもよい。動作態様は以下の通りである。すなわち、y個の仮想マシン上で及び始動された仮想マシン上で動いているi番目のタイプのVNFCの総量が対応する所定量に達するように、y個の始動されない仮想マシンが最初に付加的な理論を使用することにより選択されてもよい。選択モジュール303が複数の実施態様を有し、また、複数の実施態様は、選択モジュール303内に記憶される又は選択モジュール303により呼び出される異なるサービス方針に起因して導出により得られてもよい。前述の実施形態における第1のサービスは依然として一例として使用される。例えば、VNFC1、VNFC2、VNFC3、及び、VNFC4の順序に従って選択するためにポーリングが繰り返される。すなわち、(ステップ1:VNFC1を含む始動されない仮想マシンを選択する;ステップ2:VNFC2を含む始動されない仮想マシンを選択する;ステップ3:VNFC3を含む始動されない仮想マシンを選択する;ステップ4:VNFC4を含む始動されない仮想マシンを選択する;及び、始動された仮想マシン及び始動のためにオーケストレートされる始動されるべき仮想マシンに含まれる全てのタイプのVNFCの量が第1のサービスに対応する全てのタイプのVNFCの所定量を満たすことができるまでステップ1〜ステップ4を繰り返す)。ポーリングプロセスでは、VNFC1を含む仮想マシンの量が1よりも大きいため、最大量のVNFC1を含む始動されない仮想マシンが優先的に選択されてもよく、また、同様の態様が他のタイプのVNFCに適用できる。他の例では、仮想マシンに含まれるVNFCの総量の降順に従って一連の選択が行なわれてもよく、又は、仮想マシンに含まれるVNFCタイプの量の降順に従って一連の選択が行なわれてもよい。なお、前述のケースのうちのいずれか1つにおいては、複数の始動されない仮想マシンが同じフィルタリング条件を満たすとき、複数の始動されない仮想マシンのうちの1つが無作為態様で選択されてもよい。これに対応して、始動モジュール304は、始動されるべき仮想マシンの選択順序に従って選択された始動されるべき仮想マシンを連続的に始動させてもよい。連続番号に従って仮想マシンを始動させるための従来の態様と比べて、分布仮想に従う仮想マシンの選択は、より素早く適切である。したがって、第1のサービス内のi番目のタイプのVNFCの総量が所定量に達するという目標をより素早く達成できるとともに、第1のサービスのサービス能力が予期される効果を可能な限り素早く達成できる。
想定し得る形態において、選択モジュール303は、取得モジュール302により取得される分布関係に従って、前述の実施形態における「サービス保証作業」、方法に対応する事例、及び、同等な置き換えを成すことができる全ての実施態様を行なってもよい。
他の想定し得る形態において、選択モジュール303は、取得モジュール302により取得される分布関係に従って、前述の実施形態における「サービス高効率作業」、すなわち、ステップ1031〜ステップ1033において説明された方法、方法に対応する事例、及び、同等な置き換えを成すことができる全ての実施態様を行なってもよい。
想定し得る形態では、選択モジュール303の形態に関して、図9が参照されてもよい。図9は、本発明の一実施形態に係る仮想マシン始動装置における選択モジュール303の概略図である。装置は、単一のネットワークサービス要件を有するネットワーク機能仮想化NFVネットワークに適用される。特定の実施態様は以下の通りである。すなわち、選択モジュール303は、計算ユニット3031a、決定ユニット3032a、及び、選択ユニット3033aを含む。
計算ユニット3031aは、i番目のタイプのVNFCの実際の量重み
を決定するように構成され、この場合、Qiは、仮想マシンの第2のグループ内のi番目のタイプのVNFCの総量であり、Qjは、仮想マシンの第2のグループ内のj番目のタイプのVNFCの総量であり、jの値範囲は、Nよりも大きくない全ての正の整数を含み、また、仮想マシンの第2のグループは、現在始動される仮想マシンと現在選択された始動されるべき仮想マシンとを含む。
決定ユニット3032aは、i番目のタイプのVNFCの事前設定された量重みとi番目のタイプのVNFCの実際の量重みαiであって計算ユニット3031により取得される量重みαiとに従って、その実際の量重みがk番目のタイプの事前設定された量重みよりも最大限に小さいk番目のタイプを見出すように構成され、この場合、k番目のタイプはN個のタイプのうちの1つである。
選択ユニット3033aは、決定ユニット3032aにより決定されるk番目のタイプのVNFCを含む始動されない仮想マシンを新たな始動されるべき仮想マシンとして選択するように構成され、この場合、最大量のk番目のタイプのVNFCを含む始動されない仮想マシンが選択されてもよく、複数の始動されない仮想マシンが最大量のk番目のタイプのVNFCを含む場合、選択ユニット3033aは、複数の始動されない仮想マシンから、N個のタイプのうち最大量のVNFCタイプを含む始動されない仮想マシンを選択してもよく、又は、第1のサービスにおける最大総量のVNFCを含む始動されない仮想マシンを選択してもよく、また、第1のサービスにおけるVNFCは、N個のVNFCタイプの中の様々なタイプのVNFCである。
選択モジュール303は、仮想マシンの第1のグループに含まれるi番目のタイプのVNFCの総量が対応する事前設定された量を満たすまで、計算ユニット3031a、決定ユニット3032a、及び、選択ユニット3033aを連続的に且つ周期的に順序良く働くように制御するべく構成される制御ユニット3034aを更に含んでもよい。
計算ユニット3031a、決定ユニット3032a、及び、選択ユニット3033aを周期的に順序良く働くように制御ユニット3034により制御するプロセスでは、選択ユニット3033aにより選択される少なくとも1つの始動されるべき仮想マシンの選択順序が存在する。選択モジュール303が順序記録ユニット3035aを更に含んでもよく、この場合、順序記録ユニット3035aは、選択ユニット3033aにより選択される少なくとも1つの始動されるべき仮想マシンの順序を記録するように構成される。これに対応して、始動モジュール304は、順序記録ユニット3035aにより記録される順序に従って少なくとも1つの始動されるべき仮想マシンを始動させる。
特定の実施プロセスにおいて、複数の実施態様は、選択モジュール303内に記憶される又は選択モジュール303により呼び出される異なるサービス方針に起因して導出により得られてもよい。例えば、少なくとも1つの始動されるべき仮想マシンを選択するプロセス(プロセス全体に限定されず、プロセスの一部も含む)では、始動された仮想マシン及び始動のためにオーケストレートされる始動されるべき仮想マシンに含まれるi番目のタイプのVNFCが所定量に達するまで、最大量の含まれるVNFC1、VNFC2、VNFC3、及び、VNFC4の順序に従って現在始動されない仮想マシンを選択するためにポーリングが繰り返されてもよく、又は、仮想マシンに含まれるVNFCの総量の降順に従って現在始動されない仮想マシンを選択するためにポーリングが行なわれてもよく、又は、仮想マシンに含まれるVNFCタイプの量の降順に従って現在始動されない仮想マシンを選択するためにポーリングが行なわれてもよい。なお、前述のケースのうちのいずれか1つにおいては、複数の仮想マシンが同じフィルタリング条件を満たすとき、複数の仮想マシンのうちの1つが無作為態様で又はアルゴリズム規則に従って選択されてもよい。
例2
仮想マシン始動装置が提供され、また、装置は、M個のネットワークサービス要件を有するネットワーク機能仮想化NFVネットワークに適用され(多サービスシナリオが先のように記載され、また、実施例2では、M個もネットワークサービスが一例として使用され続ける)、Mは1よりも大きい自然数であり、また、装置300は、
x番目のサービスに従って、x番目のサービスに対応するN(x)個のタイプの仮想ネットワーク機能コンポーネントVNFCを決定するように構成される決定モジュール301であって、x番目のサービスがM個のネットワークサービス内の1つのネットワークサービスであり、N(x)個のタイプのVNFCがx番目のサービスを共同して実施でき、Nが正の整数であり、xの値範囲がMよりも大きくない全ての正の整数を含む、決定モジュール301と、
決定モジュール301により決定されるN(x)個のタイプのVNFCと仮想マシンとの間の分布関係を取得するように構成される取得モジュール302であって、分布関係が各仮想マシン内に分布されるxi番目のタイプのVNFCの量を示し、各仮想マシンが始動された仮想マシン又は始動されない仮想マシンを含み、xi番目のタイプがx番目のサービスに対応するN(x)個のタイプのうちの1つであり、iの値範囲がN(x)よりも大きくない全ての正の整数である、取得モジュール302と、
仮想マシンの第1のグループに含まれるxi番目のタイプのVNFCの総量が対応する事前設定された量を満たすように、事前設定された多サービス方針と取得モジュール302により取得される分布関係とに従って少なくとも1つの始動されるべき仮想マシンを始動されない仮想マシンから選択するように構成される選択モジュール303であって、仮想マシンの第1のグループのセットが始動された仮想マシンと少なくとも1つの始動されるべき仮想マシンとを含む、選択モジュール303と、
選択モジュール303により選択される少なくとも1つの始動されるべき仮想マシンを始動させるように構成される始動モジュール304と、
を含む。
特定の実施プロセスにおいて、取得モジュール302は、N(x)個のタイプのVNFCと仮想マシンとの間の分布関係を複数の態様で取得する。詳細については、実施例1における取得モジュール302の説明を参照することができ、したがって、ここでは再び詳細について説明しない。
想定し得る形態では、方針内でサービスが絶対優先度を有さなければ、例えば、絶対優先度を有するサービスが第2のサービス、第3のサービス、及び、第4のサービスから区別されなければ、サービスの予期される性能標準規格が優先的に満たされなければならないかどうかに注意が払われず、代わりに、目標は、各サービスにおけるVNFCの各タイプが推定量に達することである。この場合、選択モジュール303は、ステップ2031a〜2033aにおいて説明された方法、方法に対応する事例、及び、同等な置き換えを成すことができる全ての実施態様を行なってもよい。想定し得る形態では、選択モジュール303の実施態様に関して、図9が参照されてもよい。図9は、本発明の一実施形態に係る他の仮想マシン始動装置における選択モジュール303の概略構造図である。この場合には、M個のネットワークサービスの優先度を区別する必要がない。特定の実施態様は以下の通りである。すなわち、選択モジュール303は、計算ユニット3031a、決定ユニット3032a、及び、選択ユニット3033aを含む。
計算ユニット3031aは、xi番目のタイプのVNFCの実際の量重み
を決定するように構成され、この場合、Qxiは、仮想マシンの第2のグループ内のxi番目のタイプのVNFCの総量であり、Qxjは、仮想マシンの第2のグループ内のxj番目のタイプのVNFCの総量であり、xj番目のタイプは、x番目のサービスに対応するN(x)個のタイプのうちの1つであり、jの値範囲は、N(x)よりも大きくない全ての正の整数を含み、また、仮想マシンの第2のグループは、現在始動される仮想マシンと現在選択された始動されるべき仮想マシンとを含む。
決定ユニット3032aは、xi番目のタイプのVNFCの事前設定された量重みと、xi番目のタイプのVNFCの実際の量重みαxiであって計算ユニット3031aにより計算される実際の量重みαxiとに従って、その実際の量重みがk番目のタイプの事前設定された量重みよりも最大限に小さいk番目のタイプを見出すように構成され、この場合、k番目のタイプはN(x)個のタイプのうちの1つである。
選択ユニット3033aは、決定ユニット3032aにより決定されるk番目のタイプのVNFCを含む始動されない仮想マシンを新たな始動されるべき仮想マシンとして選択するように構成され、この場合、最大量のk番目のタイプのVNFCを含む始動されない仮想マシンが選択されてもよく、複数の始動されない仮想マシンが最大量のk番目のタイプのVNFCを含む場合、選択ユニット3033aは、複数の始動されない仮想マシンから、最大量のVNFCタイプを含む始動されない仮想マシンを選択してもよく、又は、最大総量のVNFCを含む始動されない仮想マシンを選択してもよい。
選択モジュール303は、仮想マシンの第1のグループに含まれるxi番目のタイプのVNFCの総量が対応する事前設定された量を満たすまで、計算ユニット3031a、決定ユニット3032a、及び、選択ユニット3033aを連続的に且つ周期的に順序良く働くように制御するべく構成される制御ユニット3034aを更に含んでもよい。
計算ユニット3031a、決定ユニット3032a、及び、選択ユニット3033aを連続的に且つ周期的に順序良く働くように制御ユニット3034aより制御するプロセスでは、選択ユニット3033aにより選択される少なくとも1つの始動されるべき仮想マシンの選択順序が存在する。装置は、選択ユニット3033aにより選択される始動されるべき仮想マシンのための選択順序を記録するように構成される順序記録ユニット3036aを更に含む。順序記録ユニット3036aにより記録される選択順序を取得した後、始動モジュール304は、選択順序に従って、選択ユニット3033aにより選択される始動されるべき仮想マシンを始動させる。
他の想定し得る形態において、方針内でサービスが絶対優先度を有する場合には、例えば、第2のサービスの優先度が第3のサービスの優先度よりも高く、且つ、第3のサービスの優先度が第4のサービスの優先度よりも高い場合には、第2のサービスの予期される性能標準規格に最初に達する必要がある。すなわち、第2のサービスに対応するそれぞれのタイプのVNFCが予期される量に達した後、同じ考えを使用することにより第3のサービスが考慮され、その後、第4のサービスが考慮される。この場合、選択モジュール303は、ステップ2031b〜2033bにおいて説明された方法、方法に対応する事例、及び、同等な置き換えを成すことができる全ての実施態様を行なってもよい。想定し得る形態では、選択モジュール303の実施態様に関して、図10が参照されてもよい。図10は、本発明の一実施形態に係る他の仮想マシン始動装置における選択モジュール303の概略図である。この場合には、M個のネットワークサービスの優先度が区別される。特定の実施態様は以下の通りである。
選択モジュール303は、計算ユニット3031b、決定ユニット3032b、及び、選択ユニット3033bを含むとともに、制御ユニット3034b及びトラバーサルユニット3035bを更に含んでもよい。図10における計算ユニット3031b、決定ユニット3032b、選択ユニット3033b、及び、制御ユニット3034bにより行なわれる機能は、図9における計算ユニット3031a、決定ユニット3032a、選択ユニット3033a、及び、制御ユニット3034aにより対応して行なわれる機能と同一であり、信号をユニット間で転送するための原理は同様であり、同じ作動モード「計算ユニット−決定ユニット−選択ユニット」が作動のために適合され、また、制御ユニットは、計算ユニット、決定ユニット、及び、選択ユニットを作動モードに従ってそれぞれの動作を繰り返すように制御する。違いは、図10に示される実施形態がトラバーサルユニット3035bを更に含むことにある。トラバーサルユニット3035bは、M個のサービスの優先度の降順を決定するように構成され、それにより、制御ユニット3034bは、サービス優先度に従って各サービスごとに、仮想マシンの第1のグループ内にあってそれぞれのサービス内にある各タイプのVNFCの量が事前設定された量に達するまで、計算ユニット3031b、決定ユニット3032b、及び、選択ユニット3033bを「計算ユニット−決定ユニット−選択ユニット」の作動モードに従って連続的に且つ周期的に働くように制御する。
トラバーサルユニット3035bにより制御ユニット3034bがそれぞれのサービスのために計算ユニット3031b、決定ユニット3032b、及び、選択ユニット3033bを「計算ユニット−決定ユニット−選択ユニット」の作動モードに従って連続的に且つ周期的に働くように制御できるプロセスでは、選択ユニット3033bにより選択される始動されるべき仮想マシンのための選択順序が存在する。順序記録ユニット3036bは、選択ユニット3033bにより選択される始動されるべき仮想マシンのための選択順序を記録するように構成される。選択順序を取得した後、始動モジュール304は、選択ユニット3033bにより選択される始動されるべき仮想マシンを始動させる。
特定の実施プロセスにおいて、複数の実施態様は、選択モジュール303内に記憶される又は選択モジュール303により呼び出される異なるサービス方針に起因して導出により得られてもよい。例えば、少なくとも1つの始動されるべき仮想マシンを選択するプロセス(プロセス全体に限定されず、プロセスの一部も含む)では、始動された仮想マシン及び始動のためにオーケストレートされる始動されるべき仮想マシンに含まれるxi番目のタイプのVNFCが所定量に達するまで、最大量の含まれるVNFC1、VNFC2、VNFC3、及び、VNFC4の順序に従って現在始動されない仮想マシンを選択するためにポーリングが繰り返されてもよく、又は、仮想マシンに含まれるVNFCの総量の降順に従って現在始動されない仮想マシンを選択するためにポーリングが行なわれてもよく、又は、仮想マシンに含まれるVNFCタイプの量の降順に従って現在始動されない仮想マシンを選択するためにポーリングが行なわれてもよい。なお、前述のケースのうちのいずれか1つにおいては、複数の仮想マシンが同じフィルタリング条件を満たすとき、複数の仮想マシンのうちの1つが無作為態様で又はアルゴリズム規則に従って選択されてもよい。
本発明のこの実施形態において、仮想マシン始動装置は、決定モジュール、取得モジュール、選択モジュール、及び、始動モジュールを含む。決定モジュールは、x番目のサービスに対応するN(x)個のVNFCタイプを決定するように構成される。選択モジュールは、単/多サービス方針と、取得モジュールにより取得されてN(x)個のタイプのVNFCと仮想マシンとの間にある分布関係とに従って、始動される必要がある仮想マシンから始動されるべき仮想マシンを決定する。始動モジュールは始動されるべき仮想マシンを始動させる。本発明では、サービスにより必要とされるVNFCに従って、特定のサービスに対応するVNFCタイプがその上で動く仮想マシンが可能な限り素早く見つけられて始動されてもよく、それにより、仮想マシンブートストームを回避するために仮想マシンの始動量を制限する最中に引き起こされる問題、すなわち、サービスを長期間にわたって提供できない又はサービス処理能力を長期間にわたって向上させることができないという問題を解決することができ、サービスが素早く提供され、及び、サービス処理能力が素早く向上される。加えて、前述の選択モジュールの複数の実施態様では、現在の仮想マシンにおけるVNFC量状態に従って、最も不足しているタイプのVNFCが位置付けられる始動されない仮想マシンを選択でき、それにより、現在の仮想マシン上で動くとともに現在のサービス内にあるVNFCの利用効率をそれぞれの時間で十分に実現でき、サービス性能が向上される。
図11を参照すると、図11は、本発明の一実施形態に係る仮想マシン始動コンピュータの概略構造図である。デバイス500は、プロセッサ501、メモリ502、及び、バス503を含む。
プロセッサ501は、対応する動作制御信号を生成して、その動作制御信号をコンピュータ処理デバイスの対応する部分へ送るとともに、ソフトウェアでデータを読み込んで処理し、特に、コンピュータ処理デバイス内の全ての機能モジュールが対応する機能を果たすように、データ及びプログラムをメモリ502に読み込んで処理し、それにより、対応する部分を制御して、命令要件に従った作用を果たすべく構成される。
メモリ502は、プログラム及び様々なデータを記憶する、主に、オペレーティングシステム、アプリケーション、及び、機能命令、又は、そのサブセット、或いは、その拡張セットなどのソフトウェアユニットを記憶するように構成される。オペレーティングシステムは、様々な基本的なサービスを実施してハードウェアベースのタスクを処理するために使用される様々なシステムプログラム、例えば、windowsシリーズを含む。メモリ502は、不揮発性ランダム・アクセス・メモリ(NVRAM)を更に含んでもよく、また、コンピュータ処理デバイス内のハードウェア、ソフトウェア、及び、データリソースを管理して制御をサポートするためのソフトウェア及びアプリケーションをプロセッサ501に与えてもよい。
前述のハードウェアユニットの全ては、バス503を使用することにより通信のために接続されてもよい。
このように、プロセッサ501は、メモリ502に記憶されるプログラム又は命令を呼び出すことにより第1のサービスに従ってN個のタイプの仮想ネットワーク機能コンポーネントVNFCを決定し;N個のタイプのVNFCと仮想マシンとの間の分布関係を取得し、この場合、分布関係は、各仮想マシン内に分布されるi番目のタイプのVNFCの量を示し、i番目のタイプがN個のタイプのうちの1つであり、iの値範囲がNよりも大きくない全ての正の整数を含み;仮想マシンの第1のグループに含まれるi番目のタイプのVNFCの総量が対応する事前設定された量を満たすように、メモリ502内の事前設定されたサービス方針と分布関係とに従って少なくとも1つの始動されるべき仮想マシンを始動されない仮想マシンから選択し、この場合、仮想マシンの第1のグループのセットは、始動された仮想マシンと少なくとも1つの始動されるべき仮想マシンとを含み;少なくとも1つの始動されるべき仮想マシンを始動させる。
同様に、プロセッサ501は、メモリ502に記憶されたプログラム又は命令を呼び出すことにより、ステップ101〜ステップ104及びステップ201〜ステップ204で説明された方法及び関連する事例を行なってもよい。
加えて、特定の実施プロセスにおいて、プロセッサ501は、メモリ502に記憶されたプログラム又は命令を呼び出すことにより、前述した方法実施形態の全てのシナリオにおける想定し得る実施方法、方法に対応する事例、及び、同等の置き換えを成すことができる全ての方法を行なってもよい。
当業者であれば分かるように、前述の方法のステップの全部又は一部は、関連するハードウェアに命令するプログラムにより実施されてもよい。プログラムはコンピュータ可読記憶媒体に記憶されてもよい。前述の実施形態の説明により、当業者は、ハードウェア、ファームウェア、又は、これらの組み合わせによって本発明を実施できることを明確に理解できる。
以上の説明は、本発明の技術的解決策の単なる一部の実施形態にすぎず、本発明の保護範囲を限定しようとするものではない。本発明の原理から逸脱することなく成される任意の変更、等価な置換、又は、改良は、本発明の保護範囲内に入るものとする。すなわち、任意の変更、等価な置換、又は、改良は、サービスに従って対応する仮想マシンが始動されることを満たし、本発明の保護範囲内に入るものとする。