(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】制御決定装置、制御決定方法及びプログラム
(51)【国際特許分類】
H04L 41/0895 20220101AFI20241001BHJP
【FI】
H04L41/0895
(21)【出願番号】P 2022581051
(86)(22)【出願日】2021-02-09
(86)【国際出願番号】 JP2021004783
(87)【国際公開番号】W WO2022172329
(87)【国際公開日】2022-08-18
【審査請求日】2023-06-09
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】岩本 真尚
(72)【発明者】
【氏名】鈴木 晃人
(72)【発明者】
【氏名】小林 正裕
(72)【発明者】
【氏名】原田 薫明
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2020-048174(JP,A)
【文献】Takaya Miyazawa et al.,Autonomic Resource Arbitration and Service-continuable Network Function Migration along Service Function Chains,NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium,2018年04月23日
【文献】平山 孝弘 Takahiro HIRAYAMA 他,エンコーダ・デコーダRNNを用いたサービスファンクション移行スケジューリング手法の検討 Study on VNF migration Scheduling by using Encoder-Decoder Recurrent Neural Network,電子情報通信学会技術研究報告 Vol.118 No.466 [online] IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Ele,2019年02月25日,P.349-354
【文献】宮澤 高也 Takaya Miyazawa 他,仮想ネットワーク基盤構築制御における機械学習適用の取り組み,電子情報通信学会2018年通信ソサイエティ大会講演論文集2 PROCEEDINGS OF THE 2018 IEICE COMMUNICATIONS SOCIETY CONFERENCE,2018年08月28日,P.SS-90-SS-91,BI-4-6
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-69/40
(57)【特許請求の範囲】
【請求項1】
複数の仮想ネットワーク機能を利用する1以上のサービスが提供されるネットワークから取得される情報に基づき、品質の劣化が所定の条件に合致するサービスである劣化サービスを検知する検知部と、
前記劣化サービスについて、前記劣化を改善するための、前記劣化サービスが利用するリソースに関する制御、及びルーティング制御の1以上の候補を列挙する列挙部と、
前記制御の候補の中で、当該制御の実行中の前記劣化サービスの品質の劣化が最小となる制御及び当該制御の実行タイミングの組み合わせを決定する決定部と、
を有することを特徴とする制御決定装置。
【請求項2】
前記列挙部は、前記劣化サービスが利用する第1の仮想マシンとは別の第2の仮想マシンへの負荷分散、前記第1の仮想マシンに対するリソースの増強、前記第1の仮想マシンが動作するサーバとは別のサーバにおける前記第1の仮想マシンと同じ機能の仮想マシンの生成のいずれかを行う制御の1以上の候補を列挙する、
ことを特徴とする請求項1記載の制御決定装置。
【請求項3】
前記決定部は、前記制御の候補と実行タイミングとの組み合わせのうち、当該制御の前記実行中の期間のタイムスロットごとの前記品質の劣化の程度の合計が最小となる組み合わせを決定する、
ことを特徴とする請求項1又は2記載の制御決定装置。
【請求項4】
複数の仮想ネットワーク機能を利用する1以上のサービスが提供されるネットワークから取得される情報に基づき、品質の劣化が所定の条件に合致するサービスである劣化サービスを検知する検知手順と、
前記劣化サービスについて、前記劣化を改善するための、前記劣化サービスが利用するリソースに関する制御、及びルーティング制御の1以上の候補を列挙する列挙手順と、
前記制御の候補の中で、当該制御の実行中の前記劣化サービスの品質の劣化が最小となる制御及び当該制御の実行タイミングの組み合わせを決定する決定手順と、
をコンピュータが実行することを特徴とする制御決定方法。
【請求項5】
前記列挙手順は、前記劣化サービスが利用する第1の仮想マシンとは別の第2の仮想マシンへの負荷分散、前記第1の仮想マシンに対するリソースの増強、前記第1の仮想マシンが動作するサーバとは別のサーバにおける前記第1の仮想マシンと同じ機能の仮想マシンの生成のいずれかを行う制御の1以上の候補を列挙する、
ことを特徴とする請求項4記載の制御決定方法。
【請求項6】
前記決定手順は、前記制御の候補と実行タイミングとの組み合わせのうち、当該制御の前記実行中の期間のタイムスロットごとの前記品質の劣化の程度の合計が最小となる組み合わせを決定する、
ことを特徴とする請求項4又は5記載の制御決定方法。
【請求項7】
請求項4乃至6いずれか一項記載の制御決定方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御決定装置、制御決定方法及びプログラムに関する。
【背景技術】
【0002】
ネットワーク仮想化技術において、ネットワーク機能(SF:Service Function)は、仮想マシンのインスタンス(SFI:Service Function Instance)上で実行される。特に、SFIで実行されるSFを仮想ネットワーク機能と呼ぶ。
【0003】
サービスは、複数のSFの処理から成り、このSFの処理順序はSFC(Service Function Chain)で定義される。
【0004】
仮想ネットワーク制御は、サービスのSFCに応じて、SFIにトラヒックをルーティングし、SFIに処理を実行させる。仮想ネットワーク制御は、主に、仮想ネットワーク機能の「リソース制御」と「ルーティング制御」に大別される。リソース制御は、SFIの新規生成、削除及びリソース量(CPU、メモリ等)の変更を行う。ルーティング制御は、サービス毎の利用するSFIの決定や、トラヒックが流れる経路の制御を行う。
【0005】
一般に、制御の種類によって実行可能タイミングや、実行開始から完了までに要する時間(制御実行時間)が異なる。
【0006】
実行可能タイミングについて、例えば、SFIを新規生成し、そのSFIへトラヒックの負荷分散を行う場合は、ルーティング制御によるトラヒックの経路切り替えの実行開始よりも前に、リソース制御によるSFI新規生成の実行を完了させる必要がある。
【0007】
また、制御実行時間については、ルーティング制御によるトラヒックの経路切り替えには数秒程度を要し、リソース制御によるSFIのリソース量の変更には10分程度の時間を要する。
【0008】
仮想ネットワーク制御は、時変動するトラヒック需要に対し、サービスの品質(QoS:Quality of Service)劣化が最小となるように動的なリソース割り当て、ルーティングを行う。
【0009】
そこで、仮想ネットワーク制御の既存手法として、制御完了時のQoSの劣化度合いが最小となるリソース/ルーティングの制御を算出する手法(以下、「既存手法」という。)がある(非特許文献1)。
【先行技術文献】
【非特許文献】
【0010】
【文献】S. Agarwal, F. Malandrino, C. Chiasserini and S. De, "Joint VNF Placement and CPU Allocation in 5G," IEEE INFOCOM 2018 - IEEE Conference on Computer Communications, Honolulu, HI, 2018, pp. 1943-1951, doi: 10.1109/INFOCOM.2018.848594
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、既存手法は、制御の実行可能タイミングや実行時間を考慮していない。そのため、既存手法に基づいて制御を実行した場合、完了時刻が遅くなり、QoSの劣化対処までに時間がかかる可能性がある。
【0012】
例えば、SFIaの負荷増加に伴い、QoS劣化が生じた状況を考える。この劣化に対し、SFIaのリソースの増強、又はルーティング制御による他のSFIへの負荷分散のいずれかによって当該QoS劣化に対処可能であるとする。また、リソース増強は、QoS劣化が最小化される一方で制御に時間がかかり、ルーティング制御は、リソース制御より実行時間が短いがQoS劣化の改善度合いが小さいとする。
【0013】
このような状況に対して、既存手法に基づいた制御を実行した場合、完了時刻に関わらず、制御完了時のQoS劣化が最小となる制御を行うため、完了の早い負荷分散でなく、完了の遅いリソース増強が行われる可能性がある。リソース増強が行われた場合、負荷分散を行った場合に対して、QoS劣化の継続時間が長くなってしまう。
【0014】
また、QoS劣化に対して複数の制御を実行する場合、各制御の完了順序により、制御完了までのQoSの推移が異なる。しがしながら、既存手法は、リソース制御とルーティング制御の完了順序を考慮していない。そのため、既存手法に基づいて制御を実行した場合、制御実行中の各時刻のQoSが大幅に劣化してしまう可能性がある。
【0015】
例えば、SFIaの負荷増加に伴い、QoS劣化が生じた状況を考える。この状況において、既存手法は、SFIaの負荷を分散させるために、リソース制御による他のSFIbのリソース増強と、ルーティング制御によるSFIbへの負荷分散を同時に実行することがある。
【0016】
しかし、一般に、ルーティング制御の完了の方が早いため、リソース増強完了前にルーティング制御が完了し、十分な処理能力がないSFIbに負荷が流れてしまう。その結果、SFIbにおいて一時的なQoS劣化が生じてしまう。
【0017】
本発明は、上記の点に鑑みてなされたものであって、サービスの品質劣化の継続時間を短縮化しつつ一時的な品質劣化の発生を抑制することを目的とする。
【課題を解決するための手段】
【0018】
そこで上記課題を解決するため、制御決定装置は、複数の仮想ネットワーク機能を利用する1以上のサービスが提供されるネットワークから取得される情報に基づき、品質の劣化が所定の条件に合致するサービスである劣化サービスを検知する検知部と、前記劣化サービスについて、前記劣化を改善するための、前記劣化サービスが利用するリソースに関する制御、及びルーティング制御の1以上の候補を列挙する列挙部と、前記制御の候補の中で、当該制御の実行中の前記劣化サービスの品質の劣化が最小となる制御及び当該制御の実行タイミングの組み合わせを決定する決定部と、を有する。
【発明の効果】
【0019】
サービスの品質劣化の継続時間を短縮化しつつ一時的な品質劣化の発生を抑制することができる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施の形態におけるシステム構成例を示す図である。
【
図2】本発明の実施の形態における制御決定装置10のハードウェア構成例を示す図である。
【
図3】本発明の実施の形態における制御決定装置10の機能構成例を示す図である。
【
図4】制御決定装置10が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態におけるシステム構成例を示す図である。
図1において、制御決定装置10はネットワークを介してネットワーク制御機器20に接続される。
【0022】
ネットワーク制御機器20は、仮想ネットワークのコントローラー又はオーケストレータ等、仮想ネットワークを制御する機器である。
【0023】
制御決定装置10は、ネットワーク仮想化技術を用いた仮想ネットワーク機能(SF:Service Function)の制御を決定する1以上のコンピュータである。制御決定装置10は、定期的なネットワーク(ネットワーク制御機器20の制御下にあるネットワーク)の観測情報に基づき、仮想ネットワークにおいて提供されるサービスの品質(QoS(Quality of Service))の劣化を検知し、QoS劣化を検知したサービスに対して、以下の(1)、(2)のような工夫を行い、QoS劣化が最小化されるような制御を決定する。
(1)制御実行時間が推定可能であるという前提の下、制御完了時のQoSだけでなく、制御実行中の各時刻のQoSの推移も考慮し、制御実行中の全ての時間幅におけるQoS劣化の合計が最小化される制御を選択する。
(2)制御内容だけでなく、複数の制御を行う際に制御間の依存関係(例えば、あるSFIのリソースを増強する制御を行う前に、そのSFIに負荷を分散させるルーティング制御を行うと、そのSFIが過負荷になる可能性があるため、後者の制御を先に完了させた方が良いという関係)を考慮し、制御実行中のQoS劣化を抑えるような制御の実行タイミングを決定する。
【0024】
図2は、本発明の実施の形態における制御決定装置10のハードウェア構成例を示す図である。
図2の制御決定装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
【0025】
制御決定装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0026】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従って制御決定装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0027】
図3は、本発明の実施の形態における制御決定装置10の機能構成例を示す図である。
図3において、制御決定装置10は、入力情報取得部11、QoS推定部12、QoS劣化検知部13、制御候補列挙部14、制御決定部15、受信部16及び送信部17等を有する。これら各部は、制御決定装置10にインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。制御決定装置10は、また、制御実行時間DB121等のデータベース(記憶部)を利用する。制御実行時間DB121は、例えば、補助記憶装置102、又は制御決定装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【0028】
入力情報取得部11は、「物理ネットワークの情報」、「仮想ネットワークの情報」及び「ネットワーク制御に関する情報」等の既定(又は固定)の情報を取得するとともに、時間の経過に応じて変化しうる「ネットワークの観測情報」を、受信部16を介してネットワーク制御機器20から定期的に取得する。
【0029】
「物理ネットワークの情報」は、以下の情報を含む。
・ネットワーク内のサーバと、その性能(CPUリソース量(コア数)、メモリ容量等)を示す情報
・ネットワーク内のリンクと、その情報(リンクの帯域、伝搬遅延)を示す情報
・ネットワークのトポロジー情報(サーバ間の接続関係等)
「仮想ネットワークの情報」は、以下の情報を含む。
・仮想ネットワーク機能(SF)の種類を示す情報
・ネットワークを利用するサービスの情報
・サービスが利用するSFとその順序(SFC(Service Function Chain))
・サービス毎のQoS要件(許容する最大遅延時間(s))
・各サービスが利用する仮想マシンのインスタンス(SFI(Service Function Instance))及びリンクを示す情報
「ネットワーク制御に関する情報」は、以下の情報を含む。
・SFIの制御実行時間(s)
-リソース割り当て変更に要する時間(減少させる場合、増加させる場合のそれぞれの所要時間(一般に減少は増加よりも短いことが想定される。))
-新しいSFIの立ち上げに要する時間
-ルーティングの制御実行時間(s)
・トラヒックのルーティング変更に掛かる時間(サービスが処理されるサーバの変更等)
「ネットワーク制御に関する情報」の各制御の実行時間は事前に計測済み、または推定可能であり、制御実行時間DB121に登録されている。
【0030】
「ネットワークの観測情報」は、以下の情報を含む。
・サーバごとのトラヒック負荷(トラヒック到着レート(MB/s))を示す情報
・SFIごとのトラヒック負荷(トラヒック到着レート(MB/s))を示す情報
・サービスごとのトラヒック負荷(トラヒック到着レート(MB/s))を示す情報
いずれのトラヒック負荷も受信部16が,現在までの観測情報に基づいて推定し、入力情報取得部11は推定されたトラヒック負荷を観測情報として受け取る。推定方法として,定期的な周期における平均値を用いる方法等がある。
【0031】
QoS推定部12は、入力情報取得部11が取得した情報に基づき、「仮想ネットワークの情報」の「ネットワークを利用するサービスの情報」が示す全てのサービスのそれぞれについて、現在のQoSを推定する。QoS推定部12は、各サービスのQoSの推定結果をQoS劣化検知部13へ送信する。
【0032】
QoS劣化検知部13は、QoS推定部12による推定結果に基づき、サービス品質が劣化している(サービスの品質の劣化が所定の条件に合致する)サービス(以下、「QoS劣化サービス」という。)を検知する。QoS劣化検知部13は、検知結果を制御候補列挙部14へ送信する。
【0033】
制御候補列挙部14は、QoS劣化検知部13が検知したQoS劣化サービスに対して、リソース制御/ルーティング制御の候補を算出する。制御候補列挙部14は、算出結果を制御決定部15へ送信する。なお、制御の候補は、リソース制御及びルーティング制御の双方を含んでもよいし、いずれ一方のみを含んでもよい。
【0034】
制御決定部15は、制御候補列挙部14が算出した制御の候補の中から、その制御の実行中のQoS劣化が最小となるような制御とその実行タイミングを決定する。
【0035】
送信部17は、制御決定部15による決定内容をネットワーク機器に送信する。
【0036】
以下、制御決定装置10が実行する処理手順について説明する。
図4は、制御決定装置10が実行する処理手順の一例を説明するためのフローチャートである。
図4の処理手順は、定期的に実行される。
【0037】
ステップS101において、入力情報取得部11は、「物理ネットワークの情報」、「仮想ネットワークの情報」及び「ネットワーク制御に関する情報」等の既定(又は固定)の情報を、予め記憶されている場所から取得する。
【0038】
続いて、入力情報取得部11は、一定時間待機した後、当該一定時間における「ネットワークの観測情報」を受信部16から取得する(S102)。
【0039】
続いて、QoS推定部12は、入力情報取得部11が取得した情報に基づき、「仮想ネットワークの情報」の「ネットワークを利用するサービスの情報」が示す全てのサービスのそれぞれについて、現在のQoS(の指標値)を推定する(S103)。
【0040】
本実施の形態では、サービスの処理開始から完了までに要した時間(処理時間)をQoSの指標値の一例として説明する。QoS推定部12は、以下の方法で全サービスのそれぞれの現在のQoSを推定する。
(S103-1)サービスが利用するリンク、及びSFIを列挙する。斯かる列挙は、「仮想ネットワークの情報」の各サービスが利用するSFI及びリンクを示す情報に基づいて可能である。
(S103-2)列挙されたリンクで生じる遅延を取得するとともに、SFIの処理遅延の推定を行う。
【0041】
リンクで生じる遅延は、リンクlごとに事前に定義された一定の値Dl
Lとする。但し、リンクに流せるトラヒックレートは、リンクの通信容量を超えない範囲とする。
【0042】
SFIの処理遅延の推定は、SFIに割り当てられているCPUリソース量とSFIが処理するトラヒック到着レートに基づき、以下の(1)~(3)の計算をすることで行われる。
(1)サーバiでSFfを提供するSFIi,fに割り当てられているCPUリソース量zi,f(コア数)と、事前に定義した1コアあたりのSFの処理レートRf(MB/s)を用いて、SFIi,fの処理レートμi,fを、μi,f=zi,f×Rfとする。
(2)「ネットワークの観測情報」の「SFIごとのトラヒック負荷」からSFIi,fのトラヒック到着レートλi,fを取得する。
(3)これらを用いて、SFIi,fの処理遅延Di,f
PをDi,f
P=μi,f/(zi,f(μi,f-λi,f))とする。
【0043】
リンクで生じる遅延及びSFIの処理遅延は他の方法で推定されてもよいし、直接計測されてもよい。
【0044】
QoS推定部12は、リンクで生じる遅延及びSFIの処理遅延の合計を、サービスkの処理時間Dkとして算出する。Dkは、サービスkのQoSの推定値を示し、以下の式に基づいて算出可能である。
【0045】
【数1】
但し、L
kをサービスkが利用するリンクの集合とし、I
kをサービスkが利用するSFIの集合とする。
【0046】
続いて、QoS劣化検知部13は、QoS推定部12による推定結果に基づき、QoS劣化サービスの有無を判定する(S104)。サービスkがQoS劣化サービスであるか否かは、サービスkの処理時間Dkが閾値を下回っているか否かによって判定され、処理時間Dkが閾値を下回る場合、サービスkは、QoS劣化サービスであると判定される。閾値として、サービスkのQoS要件で定められた、許容する最大遅延時間Dk
QoSが用いられる。但し、他の値が閾値として用いられてもよい。
【0047】
なお、ステップS104において、QoS劣化サービスであると判定されたサービスの集合(QoS劣化サービスの集合)をKdとする。
【0048】
QoS劣化サービスが無い場合(Kdが空集合である場合)(S104でNo)、ステップS105以降は実行されず、入力情報取得部11による情報の取得が待機される。
【0049】
QoS劣化サービスが有る場合(S104でYes)、制御候補列挙部14は、QoS劣化サービスごとに、QoS劣化を改善させるための制御(の組み合わせ)の候補を列挙する(S105)。より詳しくは、制御候補列挙部14は、QoS劣化サービスk∈Kdについて、リソース制御によるサービスkの利用SFIの新規生成、削除、リソース量(CPU、メモリ等)の変更と、ルーティング制御によるサービスkの利用リンクの変更、SFIの変更について、実行可能な制御を列挙する。この際、SFIのリソース増強に伴う他のSFIのリソース削減や、利用リンクの変更又はSFIの変更に伴う他のSFIが利用するリンクの負荷増加によって、他サービスのQoS劣化が起こる可能性がある。制御候補列挙部14は、これを考慮し、他サービスのQoSが劣化しない範囲で、実行可能な制御を求める。
【0050】
具体的には、制御候補列挙部14は、以下の「他SFIへの負荷分散」、「SFIのリソース増強」、「他サーバのSFI新規生成」を求める。なお、ステップS105では、ステップS106において実行する制御の組み合わせと、その実行タイミングとが決定される。
【0051】
[他SFIへの負荷分散]
制御候補列挙部14は、サービスkが利用するSFIの集合Ikの中から、処理遅延Di,f
Pが最も大きいSFIia,faを特定する。制御候補列挙部14は、SFIia,faのトラヒック到着レートを他SFIに負荷分散させることで処理遅延を改善させ、QoS劣化を最小化しようとする。この負荷分散にはルーティング制御による経路切り替えが用いられる。
【0052】
まず、制御候補列挙部14は、Di,f
Pの計算式Di,f
P=μi,f/(zi,f(μi,f-λi,f))、μi,f=zi,f×Rfから、QoS劣化の解決のためにSFIia,faから減少させる必要のあるトラヒック到着レートλa
reqを求める。具体的には、制御候補列挙部14は、まず、サービスkの処理時間Dkと,サービスkのQoS要件Dk
QoSから処理遅延の違反量を求める。続いて、Di,f
Pの計算式に基づき,Di,f
Pがこの違反量分だけ短くなるために必要なトラヒック到着レートを求め,当該トラヒック到着レートと現状のトラヒック到着レートとの差分をλa
reqとする。
【0053】
次に、制御候補列挙部14は、SFIia,faと同じSF(fa)を提供するSFIの集合をIa
LBとし、Ia
LBの中から負荷分散先のSFIを決定する。同じ種類のSFを提供するSFIはサーバごとに高々1つであるとする。したがって、この負荷分散先は他のサーバのSFIとなる。
【0054】
制御候補列挙部14は、SFIi,f∈Ia
LBについて、SFIi,fを利用するサービスのQoSが劣化しない範囲で、増加が許容できるトラヒック到着レートλi,f
incを計算する。QoSが劣化しない範囲は、トラヒック到着レートの増加に伴って増加するDkがDk
QoSを越えない範囲に対応する。λi,f
incは、Di,f
Pの計算式に基づいて算出することができる。
【0055】
そして、制御候補列挙部14は、負荷分散のために利用SFIを変更させるサービスkLBを以下のように決める。
【0056】
SFIi,f∈Ia
LBのそれぞれのλi,f
incの中での最大値をλLBとし、λLBに対応するSFIをSFIib,fbとする。
【0057】
λLB≦λa
reqの場合、制御候補列挙部14は、SFIia,faへのトラヒック到着レートがλLBを下回るサービスの内、最も到着レートの高いサービスをkLBとする。λLBを下回るサービスが存在しない場合、SFIia,faに関する負荷分散の制御を行わない。
【0058】
λa
req<λLBの場合、制御候補列挙部14は、SFIia,faへのトラヒック到着レートがλa
req以上で、λLB以下を満たすサービスの内、最も到着レートの低いサービスをkLBとする。条件を満たすサービスが存在しない場合、制御候補列挙部14は、トラヒック到着レートがλa
req未満のサービスの内、トラヒック到着レートが最も高いサービスをkLBとする。これをも満たすサービスも存在しない場合、SFIia,faに関する負荷分散の制御を行わない。
【0059】
制御候補列挙部14は、「サービスkLBの利用SFIをSFIia,faからSFIib,fbへ変更」、「サービスkLBの利用リンクを、SFIib,fbを経由し、かつ、その中で処理時間DkLBが最小となるように変更」を制御候補の制御内容とする。制御候補列挙部14は、また、これらの制御候補のそれぞれについて、負荷分散の制御を元に戻す制御を含む制御の組み合わせも制御候補に追加する。
【0060】
[SFIのリソース増強]
制御候補列挙部14は、サービスkが利用するSFIの集合Ikの中から、処理遅延Di,f
Pが最も大きいSFIia,faを特定する。制御候補列挙部14は、SFIia,faのCPUリソース量を増強することで処理遅延を改善させ、QoS劣化を最小化しようとする。
【0061】
まず、制御候補列挙部14は、Di,f
Pの計算式から、QoS劣化解決のためにSFIia,fa必要な追加CPUリソース量za
reqを計算する。具体的には、制御候補列挙部14は、まず、サービスkの処理時間Dkと,サービスkのQoS要件Dk
QoSから処理遅延の違反量を求める。続いて、Di,f
Pの計算式に基づき,Di,f
Pがこの違反量分だけ短くなるために必要なCPUリソース量を求め,当該CPUリソース量と現状のCPUリソース量との差分をza
reqとする。
【0062】
次に、制御候補列挙部14は、SFIia,faが稼働しているサーバ内の他SFIからSFIia,faに割り当て可能なCPUリソース量z'RRを求める。z'RRは、他SFIを利用するサービスのQoSが劣化しない範囲で、サーバから削減可能なCPUリソース量の総和とする。リソース削減が可能なSFIの集合をIRR、SFIごとのリソース削減可能量をzi,f
dec(SFIi,f∈IRR)とすると、
【0063】
【0064】
制御候補列挙部14は、
zRR=min(z'RR,za
req)とする。
【0065】
制御候補列挙部14は、「同サーバ内のリソース増減が可能なSFIi,f∈IRRのリソース量をzRR×(zi,f
dec/z'RR)コア減少」、「SFIia,faのリソース量をzRRコア増加」を制御候補の制御内容とする。
【0066】
[他サーバのSFI新規生成]
SFIia,faと同じSF(fa)を提供するSFIを他のサーバ(SFIia,faが動作するサーバとは別のサーバ)に新規生成し、負荷分散先として用意する。この制御と「他SFIへの負荷分散」を組み合わせることで、QoS劣化を最小化する。
【0067】
制御候補列挙部14は、SFIia,faが稼働しているサーバとは別のサーバそれぞれについて、削減可能なCPUリソース量を求める。具体的には、制御候補列挙部14は、或るサーバを利用する全てのサービスのQoSが劣化しない範囲で、当該サーバから削減可能なCPUリソース量の総和を、削減可能なCPUリソース量とする。すなわち、制御候補列挙部14は、削減可能なCPUリソース量は「SFIのリソース増強」と同様に計算し、削減可能量が最大のサーバをibとする。
【0068】
サーバibにおいてリソース削減が可能なSFIの集合をILS、削減可能量をzi,f
dec(SFIi,f∈ILS)とする。この時、サーバ全体の削減可能なリソース量zLSは、
【0069】
【0070】
制御候補列挙部14は、これらを用いて、「サーバib内のリソース増減が可能なSFIi,f∈ILSのリソース量をzLS×(zi,f
dec)/zLSコア減少」、「サーバib内にリソース量zLSの新規のSFIib,faを立ち上げる」を制御候補の制御内容とする。
【0071】
なお、上記では、一例として、処理遅延の最も大きいSFIに注目して制御候補を求めたが、別のSFIに注目した制御も、候補として追加されてもよい。例えば、前時刻の処理遅延に対する処理遅延の増加が大きいSFIや、利用サービス数が多いSFI等が注目の対象として考えられる。
【0072】
なお、制御の候補の列挙に要する時間が制御実行時間に対して無視できない長さであるとき、制御完了までの時間に影響を及ぼしかねない。そこで、ステップS105の計算時間と列挙する制御の候補の数に閾値が設けられてもよい。当該計算時間又は制御の候補の数が閾値に達した時点で、制御候補列挙部14は、制御の候補の列挙を終了し、ステップS106へ進んでもよい。例えば、計算時間の閾値をルーティング制御に要する時間の10%に設定し、制御の候補数の閾値を30に設定することが考えられる。
【0073】
続いて、制御決定部15は、ステップS105において列挙された制御の候補の中から、その制御の実行中のQoS劣化が最小となるような制御とその実行タイミングを算出する(S106)。
【0074】
ここでは、制御実行中の時刻をタイムスロットとして離散的に考え、各タイムスロットtにおける観測値や推定値はそのスロットにおける平均値とする。
【0075】
QoSが劣化したサービスの集合をKdとし、サービスk∈KdのQoS劣化の最小化を考える。サービスkのQoS要件で定められた、許容する最大の遅延時間(s)をDk
QoS、タイムスロットtにおけるサービスkの処理時間(s)をDk(t)とする。
【0076】
現在のタイムスロットtiから将来のタイムスロットti+Nにおける、サービスkの遅延時間の超過量(s)であるVk(ti)を、
【0077】
【0078】
【数5】
なお、Nは、QoS劣化の最小化の対象となる時間幅を決めるパラメータである。すなわち、i~i+Nの期間は、予め定められる期間である。Nはどれほど将来の遅延時間を考慮して制御するかに応じて、自由に決めてよい。但し、Nには或る程度大きな値を設定して、複数の制御から成る一連の制御が実行されて完了するまでの期間が,常に、i~i+Nの期間に含まれるようにされるのが望ましい。
【0079】
Dk(t)は、リンク間で生じる遅延(s)であるDl
L(t)と、SFIの処理遅延(s)であるDi,f
P(t)との合計で求められ、
【0080】
【数6】
とする。但し、タイムスロットtでサービスkが利用するリンクの集合をL
k(t)とし、タイムスロットtでサービスkが利用するSFIの集合をI
k(t)とする。
【0081】
ステップS105で列挙された制御の候補の中から、いずれの制御をどのタイミングで実行するかにより、タイムスロットti~ti+Nの各タイムスロットのLk(t)、Ik(t)、Di,f
P(t)、Dk(t)が異なる。すなわち、実行する制御とタイミングによってVk(ti)は異なる。これを用いて、制御の目的関数を、
【0082】
【0083】
制御決定部15は、ステップS105で列挙された制御とその実行タイミングの組み合わせの中から、目的関数が最小となるような制御と実行タイミングの組み合わせを決定する。
【0084】
組み合わせの決定方法については、例えば、全ての組み合わせに対して、目的関数の値を計算し、値が最小となる組み合わせを採用することができる。他に、遺伝子的アルゴリズムやランダムサーチなどのヒューリスティックな手法で組み合わせを求めてもよい。
【0085】
例えば、本制御によって以下のような制御スケジューリングが想定される。ここでは、或るサービスsのE2E(end-to-end)遅延が閾値を上回った場合を考える。
【0086】
サービスsが利用するSFIのうち、処理遅延の最も大きいSFIaに注目し、SFIaと同じSFを提供し、かつ、負荷に余裕のあるSFIbへの負荷分散を実行する。同時にSFIaと同じサーバで稼働し、かつ、負荷に余裕のあるSFIcのリソースを奪い、SFIaのリソース増強を実行する。ここではリソース増強よりも先に負荷分散の実行が完了することを想定している。負荷に余裕のあるSFIが存在しない場合は、負荷に余裕のあるサーバを探し、そのサーバにおいて、SFIaと同じSFを提供するSFIを新規生成する。この場合においても、SFIの新規生成よりも負荷分散の実行が完了することを想定している。
【0087】
負荷分散及びリソース増強が共に完了すると、負荷分散のみ実行前の状態に戻す。つまり、SFIbからSFIaへ負荷分散しなおす。これによって、SFIaの負荷遅延、つまりサービスsの遅延劣化の継続時間を抑えつつ、同時に他のSFIの処理遅延の増加も抑えるような制御が可能となる。
【0088】
続いて、送信部17は、制御決定部15による決定内容(実行する制御及び実行タイミング)を示す情報をネットワーク制御機器20へ送信することで、当該制御を実行する(S107)。当該決定内容の送信完了後は、再び入力情報取得部11による情報の取得を待機する。ステップS102~S107は、ネットワークの運用を終了するまで繰り返される(S108)。
【0089】
上述したように,本実施の形態によれば、制御間で実行可能タイミングや実行時間が異なる状況で、サービスの品質劣化の継続時間を短縮化することができる。また、制御間で完了順序に関する依存関係が存在する状況で、一時的な品質劣化の発生を抑制することができる。
【0090】
なお、本実施の形態において、QoS劣化検知部13は、検知部の一例である。制御候補列挙部14は、列挙部の一例である。制御決定部15は、決定部の一例である。
【0091】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0092】
10 制御決定装置
11 入力情報取得部
12 QoS推定部
13 QoS劣化検知部
14 制御候補列挙部
15 制御決定部
16 受信部
17 送信部
20 ネットワーク制御機器
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 プロセッサ
105 インタフェース装置
121 制御実行時間DB
B バス