JP7359222B2 - 通信管理装置及び通信管理方法 - Google Patents

通信管理装置及び通信管理方法 Download PDF

Info

Publication number
JP7359222B2
JP7359222B2 JP2021562226A JP2021562226A JP7359222B2 JP 7359222 B2 JP7359222 B2 JP 7359222B2 JP 2021562226 A JP2021562226 A JP 2021562226A JP 2021562226 A JP2021562226 A JP 2021562226A JP 7359222 B2 JP7359222 B2 JP 7359222B2
Authority
JP
Japan
Prior art keywords
communication
computer
unit
cluster
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021562226A
Other languages
English (en)
Other versions
JPWO2021111516A1 (ja
Inventor
幸洋 鋒
真悟 岡田
久史 小島
三郎 瀬戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021111516A1 publication Critical patent/JPWO2021111516A1/ja
Application granted granted Critical
Publication of JP7359222B2 publication Critical patent/JP7359222B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5006Creating or negotiating SLA contracts, guarantees or penalties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

特許法第30条第2項適用 2019年10月17日に電子情報通信学会 第20回ネットワークソフトウェア研究会(NWS)予稿集にて発表
本発明は、通信管理装置及び通信管理方法に関する。
AR(Augmented Reality)、VR(Virtual Reality)、遠隔保守などのサービスでは、パケットロスや遅延を最小化した、高い通信品質がEnd-to-Endで必要となる。このようなサービスが、クラスタにおいて構築されたクラウドネイティブな基盤(kubernetes等)上で動作する状況において、例えば、非特許文献1では、kubernetesでコンテナを管理する最小単位であるポッドを複数の優先クラスに分けて、高優先クラスのポッドから順に帯域を割り当てることで、キューイング遅延を発生させずに通信を可能とすることが開示されている。
NBWGuard:Realizing Network QoS for Kubernetes ,2018.
End-to-End通信で低遅延が必要なサービスでは、クラスタ外エンドユーザ端末との通信や、アプリの処理に不可欠なマイクロサービス間の通信も低遅延であるべきところ、非特許文献1の技術では、高優先通信の多重やバーストが発生すると遅延が発生してしまうという問題が有る。
本発明は、上記の点に鑑みてなされたものであって、クラスタにおける通信異常の発生を抑制することを目的とする。
そこで上記課題を解決するため、通信管理装置は、クラスタを構成する複数のコンピュータのそれぞれにおいて1以上稼働する通信部が行う通信の通信量を取得する取得部と、前記通信について将来の通信量を予測する予測部と、それぞれの前記通信部の前記将来の通信量に基づいて、前記通信部を移動させる第1のコンピュータを特定する特定部と、前記第1のコンピュータにおいて稼働する前記通信部について、第2のコンピュータへの移動を制御する移動制御部と、を有し、前記通信部は、前記クラスタ内の第1の通信及び前記クラスタの外部との第2の通信の双方又は一方を行い、前記予測部は、過去における前記第1の通信と前記第2の通信との相関に基づいて、前記第2の通信の通信量を予測する
クラスタにおける通信異常の発生を抑制することができる。
本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態における通信管理装置10のハードウェア構成例を示す図である。 通信管理装置10が実行する処理手順の一例を説明するためのフローチャートである。 各ポッドの宛先別通信量の取得処理の処理手順の一例を説明するためのフローチャートである。 各ポッドの宛先別通信量の取得処理を説明するための図である。 各ポッドの通信の一例を示す図である。 各ポッドの将来の通信量の予測処理を説明するための図である。 帯域超過となる可能性が高いサーバαの特定処理の処理手順の一例を説明するためのフローチャートである。 閾値の計算例を示す図である。 サーバαの特定例を示す図である。 移動対象のポッド及び移動先の決定処理の処理手順の一例を説明するためのフローチャートである。 移動対象のポッド及び移動先の決定例を示す図である。 移動後のポッドへのQoS制御の処理手順の一例を説明するためのフローチャートである。 移動後のポッドへのQoS制御を説明するための図である。 本発明の実施の形態を適用した具体的なシステム構成の一例を示す図である。 クラスタNW管理システム20の構成例を示す図である。 通信量予測装置21の構成例を示す図である。 予測パラメータ管理テーブル214の構成例を示す図である。 閾値情報テーブル215の構成例を示す図である。 スケジュール装置22の構成例を示す図である。 クラスタ管理テーブル222の構成例を示す図である。 QoS制御装置23の構成例を示す図である。 QoS設定情報テーブル233の構成例を示す図である。 通信量情報の取得と予測に関する処理手順の一例を説明するためのシーケンス図である。 スケジューリングの実施に関する処理手順の一例を説明するためのシーケンス図である。
以下、図面に基づいて本発明の実施の形態を説明する。以下では、クラスタにおいて構築されたkubernetes等のクラウドネイティブな基盤上でサービスを実現するプロセス(コンテナ)が実行される環境を想定して説明する。
図1は、本発明の実施の形態の概要を説明するための図である。図1には、クラスタを構成する4つの物理ホスト(物理的なコンピュータ)であるサーバのそれぞれにおいて、1以上ポッド(Pod)が稼働している状態が示されている。また、実線の両矢印は、クラスタの外部(クラスタ外)との通信を示し、破線の両矢印は、マイクロサービス間通信(クラスタ内のポッド間の通信)を示す(斯かる表記は、以下の他の図面において同様である。)。なお、ポッドとは、コンテナ(プロセス)の集合を管理する最小単位をいう。図1では、当該クラスタを管理するコンピュータである通信管理装置10が、(1)、(2)、(3)の手順を実行することが示されている。これらの意味は以下の通りである。
(1)各ポッドの通信量を予測することで、帯域超過の可能性が相対的に高いサーバを特定
(2)サーバ間で通信量が分散するように、移動させるポッドと移動先のサーバを選択
(3)(2)において、移動先としての条件を満たすサーバが無い場合、ポッドを複数個にスケールアウトし(ポッドを分割し)、ポッド間の通信量を分散した後で(2)以降を再実行
なお、ポッドの移動後、通信管理装置10は、サービス側の通信品質要求に応じたポッドの通信のQoS設定を動的に行う。
図2は、本発明の実施の形態における通信管理装置10のハードウェア構成例を示す図である。図2の通信管理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びネットワークインタフェース105等を有する。
通信管理装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って通信管理装置10に係る機能を実行する。ネットワークインタフェース105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、通信管理装置10が実行する処理手順の一例を説明するためのフローチャートである。なお、図3の各ステップは、通信管理装置10にインストールされた1以上のプログラムが通信管理装置10に実行させる。
ステップS10において、通信管理装置10は、クラスタ内の各サーバで稼働する各ポッドの宛先別通信量を取得する。ここで、「宛先別」とは、クラスタ外であるかクラスタ内であるかの別をいい、クラスタ内の通信については、通信相手別に通信量が区別される。一方、クラスタ外の通信の通信量については、通信相手は区別されない。したがって、クラスタ外の通信の通信量は、ポッドごとに高々1つである。
続いて、通信管理装置10は、各ポッドの将来(例えば、N分後)の通信量を予測(通信量の予測値を計算)する(S20)。
続いて、通信管理装置10は、各ポッド通信量の予測値に基づいて、各サーバの通信量の予測値を算出し、各サーバの通信量の予測値に基づいて、帯域超過となる可能性が相対的に高いサーバαを特定する(S30)。
続いて、通信管理装置10は、サーバαにおいて稼働するポッドの中から移動対象のポッドを決定すると共に、移動対象のポッドの移動先のサーバを決定し、当該ポッドを当該サーバへ移動する(S40)。今後の通信量の変化を想定しサーバ間の通信量ができるだけ均等に分散されるように、移動対象のポッドと移動先が決定される。その結果、各サーバ間で通信量を分散できるようになる。
続いて、通信管理装置10は、新たにスケジューリングした(移動した)ポッドに対するQoS制御を動的に設定する(S50)。すなわち、ポッドのスケジュール後(移動後)に、特に通信品質を担保したい優先サービスのポッドに対してQoS制御が行われる。
続いて、ステップS10の詳細について説明する。図4は、各ポッドの宛先別通信量の取得処理の処理手順の一例を説明するためのフローチャートである。また、図5は、各ポッドの宛先別通信量の取得処理を説明するための図である。
ステップS11において、通信管理装置10は、通信量の取得対象とするポッドのリスト(以下、「ポッドリスト」という。)を取得する。ポッドリストは、例えば、通信量について管理したい一部のポッド(すなわち、通信に関する優先度が相対的に高い一部のポッド)の一覧情報であり、例えば、予め作成される。但し、全てのポッドの通信量について管理したい場合、ポッドリストは、全てのポッドの一覧情報でもよい。なお、ポッドリストにおいて、各ポッドの識別情報は、例えば、IPアドレスやサービス名等である。以下、ポッドリストに含まれる各ポッドを「対象ポッド」という。
続いて、通信管理装置10は、ポッド間通信を中継する機能(例:envoyプロキシ)のテレメトリ情報から全ポッド間の通信(以下「通信c4」という。)のそれぞれごとに、通信量V4(図5参照)を取得する(S12)。ここで、全ポッドとは、対象ポッド以外のポッドも含む全てのポッドをいう。なお、ステップS12では、通信c4ごとに、通信量V4に加え、当該通信c4の端点となるポッドが特定される。
続いて、通信管理装置10は、通信c4のうち、対象ポッドが端点であり、かつ、同一サーバ内の通信ではない通信(すなわち、対象ポッド⇔別サーバ上のポッドの通信(以下、「通信c2」という。))を特定し、対象ポッドごとに、当該対象ポッドに係る(当該対象ポッドが端点である)各通信c2の通信量V2(図5参照)を取得する(S13)。
続いて、通信管理装置10は、コンテナ統合機能(例えば、docker)の管理情報から全ポッドの送受信通信(以下「通信c3」という。)の通信量V3(図5参照)を取得する(S14)。
続いて、通信管理装置10は、対象ポッドごとに、当該対象ポッドの通信量V3から通信量V4を差し引くことで、対象ポッド⇔クラスタ外の通信(以下「通信c1」という。)の通信量V1を取得する(S15)。
上記により、対象ポッドごとに、1つの通信量V1と、1以上の通信c2別(通信相手のポッド別)の通信量V2とが取得される。
続いて、図3のステップS20の詳細について説明する。図6は、各ポッドの通信の一例を示す図である。図6には、ステップS10において取得された、通信c1及びc2の一例が示されている。本実施の形態では、予測精度を向上するため、通信管理装置10は、ステップS20において、通信c1と通信c2とで異なる方法で予測を行う。
図7は、各ポッドの将来の通信量の予測処理を説明するための図である。図7には、或る1つの対象ポッド(以下、「対象ポッドp」という。)に関する通信c1及び各通信c2のそれぞれについて、左側に現在の通信量が示され、右側に将来(N分後)の通信量の予測値が示されている。すなわち、以下において説明する処理は、対象ポッドごとに実行される。
まず、通信管理装置10は、対象ポッドpの通信c1について、時系列分析(「川原、ネットワークオペレーションへのAI活用、2018、https://www.jstage.jst.go.jp/article/bplus/12/1/12_29/_article/-char/ja/」)やRNN(「井田、深層学習のための先進的な学習技術、2018、https://www.ntt.co.jp/journal/1806/files/JN20180630.pdf」)等の公知技術を利用して将来の通信量を予測する(S21)。
一方、通信管理装置10は、対象ポッドpの各通信c2について、通信量V1の予測結果との相関、ポッド間通信のポリシ情報、通信プロトコルの特性などを考慮した予測モデルを学習し、当該予測モデルに基づいて将来の通信量を予測する。
例えば、通信管理装置10は、過去データ(過去の通信履歴)に基づいて、通信c1の通信量と各通信c2の通信量のベクトルv2の成分の総和との相関関係を学習する(S22)。ここで、ベクトルv2の各成分は、通信相手別の各通信c2の通信量である。なお、通信c2は、対象ポッドpが受信した通信c1の処理をリクエストヘッダの値及び負荷分散weightにしたがって他のpodに転送する通信であり、プロトコルにgrpcを用いられため、各フローの通信量は固定的である。したがって、通信c1の通信量と通信c2の通信量の総和との間には相関関係が有ると考えられる。
通信管理装置10は、また、過去データに基づいて、対象ポッドpについて、当該ベクトルv2の各成分の相関関係を学習する(S23)。
続いて、通信管理装置10は、対象ポッドpについて、学習済みの通信c1の通信量と各通信c2の通信量のベクトルv2の成分の総和の相関関係に対して通信c1の予測値を適用して、当該総和の予測値を算出する(S24)。
続いて、通信管理装置10は、注目ポッドについて、当該総和と学習済みのベクトルv2の各成分の相関関係に対して当該総和の予測値を適用して、通信c2の将来の通信量の予測値を計算する(S25)。
なお、図7には、通信c1の通信量=ベクトルv2の成分の総和であり、ベクトルv2の各成分の相関が固定であるといった単純化した例が示されている。この場合、ベクトルv2の各成分の値は通信c2の通信量に線形に比例する。
続いて、図3のステップS30の詳細について説明する。図8は、帯域超過となる可能性が高いサーバαの特定処理の処理手順の一例を説明するためのフローチャートである。
ステップS31において、通信管理装置10は、各サーバに接続するリンク帯域及びバッファ値等に基づいて、各サーバの最大帯域を算出する。続いて、通信管理装置10は、各サーバについて、最大帯域と許容使用率に基づいて閾値を決定(計算)する(S32)。なお、許容使用率は、予め設定される値である。
図9は、閾値の計算例を示す図である。図9には、リンク帯域が10Gbps、バッファが0.5Gbps、許容使用率が95%であるサーバの例が示されている。この場合、当該サーバの閾値は、図9に示されるように、10Gbpsとして決定される。但し、閾値は各サーバで固定的に設定されてもよい。
続いて、通信管理装置10は、サーバごとに、当該サーバに属する各ポッドの通信c1及びc2の予測値の合計と、当該サーバの閾値とを比較し、当該合計が当該閾値より大きくなるサーバαを特定する(S31)。この際、複数のサーバがサーバαとして特定されうる。
なお、対象ポッドが全ポッドの一部である場合、当該予測値の合計は、必ずしもサーバによる全通信量であるとは限らない。そこで、このような事情を考慮して許容使用率が設定されてもよい。すなわち、許容使用率には、サーバの全通信量のうち対象ポッドの通信に対して許容される通信量の割合が設定されてもよい。
図10は、サーバαの特定例を示す図である。図10の例では、真ん中のサーバがサーバαとして特定される。
続いて、図3のステップS40の詳細について説明する。図11は、移動対象のポッド及び移動先の決定処理の処理手順の一例を説明するためのフローチャートである。
ステップS41において、通信管理装置10は、各サーバの予測通信量の平均T'を計算する。
続いて、通信管理装置10は、以下の最適化問題を解くことで、サーバαの予測通信量がT'に最も近くなるように、移動対象のポッドiを選択する(S42)。
Figure 0007359222000001
但し、Tαは、サーバαの通信量、tは、ポッドiの通信量である。
続いて、通信管理装置10は、以下の最適化問題を解くことで、移動先のサーバβの予測通信量がT'に最も近くなるように、移動先のサーバβを探索する(S43)。
Figure 0007359222000002
但し、sijは、ポッドiとサーバj上の(全ての)ポッドの通信量の総和である。
すなわち、サーバ間の通信量ができるだけ均等に分散されるように、移動対象のポッドiと移動先のサーバβとが決定される。
サーバβの探索に成功した場合(S44でYes)、通信管理装置10は、ポッドiについてサーバβへの移動を制御する(S46)。すなわち、通信管理装置10は、ポッドiをサーバαから削除し、ポッドiをサーバβに新規に生成するための制御を行う。その結果、ポッドiがサーバβへ移動する。一方、サーバβの探索に失敗した場合(S44でNo)、通信管理装置10は、ポッドiを複数個にスケールアウトし(ポッドiを複数のポッドに分割し)(S45)、ステップS42以降を繰り返す。
図12は、移動対象のポッド及び移動先の決定例を示す図である。図12の(1)では、左側のサーバにおいて帯域超過(閾値の超過)の可能性が高い例が示されている。この場合、(2)に示されるようにポッドを移動すれば、当該帯域超過を解消しつつ、各サーバの予測通信量の差を最小化することができる。したがって、この場合、左側のサーバの左側のポッドが移動対象として選択され、右側のサーバが移動先として選択される。
なお、上記では予測通信量に基づいて移動させるポッドi及び移動先のサーバβを決定する例を示したが、例えば、予測通信量の分散に基づいて移動させるポッドi及び移動先のサーバβが決定されるようにしてもよい。この場合、上記における予測通信量が予測通信量の分散に置換されればよい。
続いて、図3のステップS50の詳細について説明する。図13は、移動後のポッドへのQoS制御の処理手順の一例を説明するためのフローチャートである。また、図14は、移動後のポッドへのQoS制御を説明するための図である。図14には、図13のステップ番号に対応する符号が対応箇所に付与されている。
ステップS51において、通信管理装置10は、各ポッドのQoS制御情報が記録されたリストを参照し、移動したポッドiに対するQoS設定情報を取得する。
続いて、通信管理装置10は、非特許文献1の技術やtcコマンドを利用し、移動後のポッドiに対して優先的に帯域を割り当てる設定を投入する(S52)。例えば、通信管理装置10は、図14に示されるように、サーバαからポッドiに関する設定を削除し、サーバβに対してtcコマンドの設定等を行う。
続いて、上記した内容を適用した具体的なシステム例について説明する。図15は、本発明の実施の形態を適用した具体的なシステム構成の一例を示す図である。
図15において、物理ホストの一例である複数のサーバがIPネットワーク(例えば、DCファブリックやLANな等)を介して通信している。サーバ上には、コンテナごとのワークロード(例:Kuberntesのポッドやコンテナ)が稼働する仮想ネットワークであるクラスタNW30がサービス事業者ごとに構築されている。このとき、単一サーバ上に複数のクラスタNW30が存在してもよい。
クラスタNW管理システム20は、クラスタNW30上のワークロードやクラスタNW30に属するサーバから通信量等のネットワーク情報を取得し、取得した情報に基づくワークロードの位置制御(スケジューリング)やQoS制御の設定等を行う1以上のコンピュータである。すなわち、クラスタNW管理システム20は、上記の通信管理装置10に相当する。また、ワークロードは、上記のポッドに対応する。なお、クラスタNW管理システム20は、クラスタNW30に属するサーバ内部に位置してもよい。また、単一のサーバ上に複数のクラスタNW30が存在する場合、複数のクラスタNW管理システム20間で連携し、制御に必要な情報をやりとりしてもよい。
図16は、クラスタNW管理システム20の構成例を示す図である。図16において、クラスタNW管理システム20は、通信量予測装置21、スケジュール装置22、QoS制御装置23、インタフェース装置24及び管理DB25等を含む。各装置は、ソフトウェアであってもよいしハードウェア(コンピュータ)であってもよい。各装置がソフトウェアである場合、各装置は、共通のコンピュータを用いて実現されてもよい。いずれの場合であっても、各装置の機能は、各装置を実現するコンピュータにインストールされた1以上のプログラムが当該コンピュータに実行させる処理により実現される。
インタフェース装置24は、ユーザから投入されたコマンドの情報を管理DB25に投入したり、クラスタNW30の構成要素であるサーバやワークロード、その他の内部機能と直接通信し、テレメトリや制御情報等をやり取りする。
管理DB25は、ユーザが投入したコマンドに基づき、クラスタの取るべき構成(ワークロード数など)を保持する。
通信量予測装置21は、インタフェース装置24からワークロードやサーバの通信量を取得して将来の通信量を予測する。通信量予測装置21は、更に、サーバごとの通信量を計算し、帯域超過の可能性が高いサーバαを特定する。
スケジュール装置22は、サーバαの中から移動させるワークロードと移動先のサーバを決定する。
QoS制御装置23は、移動したワークロードに対し動的にQoSを設定する。
また、各サーバは、ワークロード管理部41を含む。ワークロード管理部41は、インタフェース装置24からの制御通信を受け付け、ワークロードの立ち上げや消去を行うなど、ワークロードがサーバ内で正常に稼働することを保証する。
以下、通信量予測装置21、スケジュール装置22、QoS制御装置23の詳細について説明する。
図17は、通信量予測装置21の構成例を示す図である。図17において、通信量予測装置21は、通信量予測部211、帯域超過判定部212、学習データDB213、予測パラメータ管理テーブル214及び閾値情報テーブル215等を含む。
学習データDB213は、ワークロードやサーバの過去の通信量を学習データとして蓄積する。
予測パラメータ管理テーブル214は、通信量を取得したいワークロード(上記の対象ポッド)のリストを保持する。予測パラメータ管理テーブル214は、また、予測モデルの学習に用いるアルゴリズムや事前情報となる設定情報、学習後のパラメータを保持する。
通信量予測部211は、インタフェース装置24を介してワークロードやサーバの通信量を取得し、学習データDB213に蓄積された学習データから将来の通信量を予測する。通信量予測部211は、また、予測モデルのパラメータを更新し、更新結果を予測パラメータ管理テーブル214に格納する。通信量予測部211は、更に、インタフェース装置24からワークロードの位置情報(どのワークロードがどのサーバに位置するか)を取得し、各サーバの通信量を計算する。
閾値情報テーブル215は、サーバの帯域の閾値の決定に用いる情報を蓄積する。
帯域超過判定部212は、サーバごとの帯域やパラメータから閾値を決定する。帯域超過判定部212は、また、閾値と各サーバの通信量とを比較し帯域超過の可能性が高いサーバαを特定する。
図18は、予測パラメータ管理テーブル214の構成例を示す図である。図18に示されるように、予測パラメータ管理テーブル214は、通信量を取得したいワークロードのリスト、クラスタ外との通信予測に用いるアルゴリズム、クラスタ内のワークロードとの通信予測に用いるアルゴリズムの情報、及びその学習パラメータを蓄積する。ワークロードごとの通信量を予測するため、ワークロードごとに個別の学習パラメータが保持される。学習パラメータは新たに流入する通信量データに伴って学習され、テーブル内の値も更新される。
また、各ワークロードがクラスタ内でどのように通信するかがポリシで定められている場合、予測パラメータ管理テーブル214は、これらの情報も保持する。当該情報は、モデルの学習に使用される。
図19は、閾値情報テーブル215の構成例を示す図である。図19に示されるように、閾値情報テーブル215は、帯域超過判定部212が帯域超過の可能性が高いサーバαを選択する際に用いる閾値を計算するための情報を保持する。例えば、サーバの帯域、ソケットのバッファ値がサーバごとに保持される。閾値情報テーブル215は、また、最大帯域に対して、使用可能な帯域の使用率の情報である許容使用率を保持する。
図20は、スケジュール装置22の構成例を示す図である。図20において、スケジュール装置22は、スケジュール演算部221及びクラスタ管理テーブル222等を含む。
スケジュール演算部221は、帯域超過サーバの情報、及び当該サーバの内部で稼働するワークロードの通信量情報を通信量予測装置21から取得する。スケジュール演算部221は、また、クラスタ管理テーブル222を参照し、帯域超過サーバから移動させるワークロードを決定する。スケジュール演算部221は、また、クラスタ管理テーブル222を参照し、各サーバで稼働しているワークロードの情報やサーバのメトリック情報を考慮したうえで、移動先のサーバを決定する。スケジュール演算部221は、更に、ワークロードの移動の制御を行う。具体的には、スケジュール演算部221は、移動対象ワークロードと移動先のサーバの情報を変更するため、インタフェース装置24に更新依頼を行うと同時にQoS制御装置23に配置変更の通知を送信する。
クラスタ管理テーブル222は、インタフェース装置24を介して、各サーバで稼働しているワークロードのIDや、各サーバのメトリック(CPUやメモリ、ストレージ量、通信量)をリアルタイムに取得し保持する。
図21は、クラスタ管理テーブル222の構成例を示す図である。図21に示されるように、クラスタ管理テーブル222は、各サーバで動作するワークロードのID、及び各サーバの現在のパフォーマンスを示すメトリック情報を保持する。テーブル内の情報は、クラスタNW30の中で変更が発生するタイミングで、インタフェース装置24からの更新依頼に基づき更新される。スケジュール装置22は、特に、メトリック情報を参照し、通信量だけでなく、CPU、メモリ、ストレージの観点で最適な移動先のサーバを決定する。
図22は、QoS制御装置23の構成例を示す図である。図22において、QoS制御装置23は、コマンド生成部231、過去コマンドDB232及びQoS設定情報テーブル233等を含む。
コマンド生成部231は、スケジュール装置22からワークロードの配置変更の通知を受け付けると、過去コマンドDB232に問い合わせ、移動対象のワークロードに対して過去に設定したQoS設定を取得し、インタフェース装置24を介してQoS設定の更新依頼を行う。コマンド生成部231は、また、QoS設定情報テーブル233から移動対象のワークロードの優先度情報を取得し、取得情報に基づいて新たなQoSコマンドを生成し、インタフェース装置24を介してQoS設定の更新依頼を行う。
図23は、QoS設定情報テーブル233の構成例を示す図である。図23に示されるように、QoS設定情報テーブル233は、各ワークロードの優先度に合わせて、QoS設定情報(Guaranteed、Best Effort)を保持する。これらの情報は、サービス開始の時点でシステム管理者によって定められる。ワークロードのIDや名称・IPアドレス等の識別子は随時更新されるため、QoS設定情報テーブル233ではサービス名とQoS設定情報が紐づくようにする。
以下、クラスタNW管理システム20において実行される処理手順について説明する。図24は、通信量情報の取得と予測に関する処理手順の一例を説明するためのシーケンス図である。図24は、図3のステップS10~S30に対応する、クラスタNW管理システム20において実行される処理手順を示す。
各ワークロードは、所定の時間間隔で、インタフェース装置24を介して通信量予測装置21宛に通信量情報(現在の通信量を示す情報)を送信する(S101、S102)。一方、各サーバは、所定の時間間隔で、インタフェース装置24を介して通信量予測装置21宛にワークロードの管理情報(ワークロードが稼働するサーバの情報等)を送信する(S103、S104)。通信量予測装置21の通信量予測部211は、インタフェース装置24を介して受信した情報を学習データDB213に記録する。
その後、通信量予測部211は、学習データDB213に記録された過去の通信量データを学習して(S105)、学習済みモデルに基づいて各ワークロードの将来的な(例えば、N分後の)通信量を予測する(S106)。続いて、通信量予測部211は、ワークロードの予測通信量をサーバごとに合計することで各サーバの予測通信量を算出する(S107)。続いて、通信量予測装置21の帯域超過判定部212は、各サーバの算出結果に基づいて、帯域超過の可能性が高いサーバαを特定する(S108)。続いて、帯域超過判定部212は、特定したサーバαの情報と各ワークロードの予測通信量をスケジュール装置22に送信する(S109)。
図25は、スケジューリングの実施に関する処理手順の一例を説明するためのシーケンス図である。図25は、図3のステップS40及びS50に対応する、クラスタNW管理システム20において実行される処理手順を示す。
スケジュール装置22のスケジュール演算部221は、通信量予測装置21から通知されたサーバαの内部で稼働するワークロードの中から移動させるワークロードを選択すると共に、当該ワークロードの移動先のサーバを決定する(S201)。続いて、スケジュール演算部221は、選択又は決定した情報をインタフェース装置24を介して移動先のサーバ及び移動元サーバのそれぞれのワークロード管理部41、並びにQoS制御装置23へ送信する(S202、S210、S220)。
各サーバのエージェントであるワークロード管理部41は、スケジュール装置22の指示に従い(スケジュール演算部221から送信された情報に基づき)、ワークロードの削除及び新規作成(ワークロードの移動)を行う(S211)。
一方、QoS制御装置23のコマンド生成部231は、移動したワークロードに適用するQoS制御コマンドを生成し(S221)、当該コマンドに基づいて、移動先のサーバに対してQoS制御を指示する(S222)。
上述したように、本実施の形態によれば、クラスタを構成するサーバの通信量を考慮して、動的にポッド(ワークロード)の位置を変更することで、サーバの通信が所定の帯域を超過することを防ぎ、パケットロスや遅延を削減することができる。その結果、クラスタにおける通信異常の発生を抑制することができる。
なお、本実施の形態において、ポッド又はワークロードは、通信部の一例である。サーバは、クラスタを構成する複数のコンピュータの一例である。通信量予測部211は、取得部及び予測部の一例である。帯域超過判定部212は、特定部の一例である。スケジュール演算部221は、移動制御部の一例である。コマンド生成部231は、QoS設定部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 通信管理装置
20 クラスタNW管理システム
21 通信量予測装置
22 スケジュール装置
23 QoS制御装置
24 インタフェース装置
25 管理DB
30 クラスタNW
41 ワークロード管理部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 ネットワークインタフェース
211 通信量予測部
212 帯域超過判定部
213 学習データDB
214 予測パラメータ管理テーブル
215 閾値情報テーブル
221 スケジュール演算部
222 クラスタ管理テーブル
231 コマンド生成部
232 過去コマンドDB
233 QoS設定情報テーブル
B バス

Claims (6)

  1. クラスタを構成する複数のコンピュータのそれぞれにおいて1以上稼働する通信部が行う通信の通信量を取得する取得部と、
    前記通信について将来の通信量を予測する予測部と、
    それぞれの前記通信部の前記将来の通信量に基づいて、前記通信部を移動させる第1のコンピュータを特定する特定部と、
    前記第1のコンピュータにおいて稼働する前記通信部について、第2のコンピュータへの移動を制御する移動制御部と、
    を有し、
    前記通信部は、前記クラスタ内の第1の通信及び前記クラスタの外部との第2の通信の双方又は一方を行い、
    前記予測部は、過去における前記第1の通信と前記第2の通信との相関に基づいて、前記第2の通信の通信量を予測する、
    ことを特徴とする通信管理装置。
  2. 前記移動の後において、前記移動の対象とされた前記通信部に対して優先的に帯域を割り当てるQoS設定を行うQoS設定部、
    を有することを特徴とする請求項1記載の通信管理装置。
  3. 前記特定部は、前記コンピュータごとに当該コンピュータで稼働する前記通信部の前記将来の通信量の合計を算出し、前記合計が閾値を超過する第1のコンピュータを特定する、
    ことを特徴とする請求項1又は2記載の通信管理装置。
  4. 前記移動制御部は、前記コンピュータごとに将来の通信量を予測し、前記第1のコンピュータにおいて稼働する前記通信部のうち、当該通信部を前記第1のコンピュータから移動した場合に、前記第1のコンピュータの将来の通信量が前記コンピュータごとの将来の通信量の平均に最も近くなる前記通信部を前記第2のコンピュータへの移動対象として選択する、
    ことを特徴とする請求項1乃至3いずれか一項記載の通信管理装置。
  5. 前記移動制御部は、前記コンピュータごとに将来の通信量を予測し、前記移動の対象の前記通信部が当該コンピュータに移動した場合に、当該コンピュータの将来の通信量が前記コンピュータごとの将来の通信量の平均に最も近くなるコンピュータを前記第2のコンピュータとして選択する、
    ことを特徴とする請求項1乃至4いずれか一項記載の通信管理装置。
  6. クラスタを構成する複数のコンピュータのそれぞれにおいて1以上稼働する通信部が行う通信の通信量を取得する取得手順と、
    前記通信について将来の通信量を予測する予測手順と、
    それぞれの前記通信部の前記将来の通信量に基づいて、前記通信部を移動させる第1のコンピュータを特定する特定手順と、
    前記第1のコンピュータにおいて稼働する前記通信部について、第2のコンピュータへの移動を制御する移動制御手順と、
    をコンピュータが実行し、
    前記通信部は、前記クラスタ内の第1の通信及び前記クラスタの外部との第2の通信の双方又は一方を行い、
    前記予測手順は、過去における前記第1の通信と前記第2の通信との相関に基づいて、前記第2の通信の通信量を予測する、
    ことを特徴とする通信管理方法。
JP2021562226A 2019-12-03 2019-12-03 通信管理装置及び通信管理方法 Active JP7359222B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/047185 WO2021111516A1 (ja) 2019-12-03 2019-12-03 通信管理装置及び通信管理方法

Publications (2)

Publication Number Publication Date
JPWO2021111516A1 JPWO2021111516A1 (ja) 2021-06-10
JP7359222B2 true JP7359222B2 (ja) 2023-10-11

Family

ID=76222501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021562226A Active JP7359222B2 (ja) 2019-12-03 2019-12-03 通信管理装置及び通信管理方法

Country Status (3)

Country Link
US (1) US11695644B2 (ja)
JP (1) JP7359222B2 (ja)
WO (1) WO2021111516A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118233401A (zh) * 2022-12-13 2024-06-21 华为云计算技术有限公司 一种服务网格限流方法及相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190253490A1 (en) 2016-10-31 2019-08-15 Huawei Technologies Co., Ltd. Resource load balancing control method and cluster scheduler

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10205675B2 (en) * 2016-10-19 2019-02-12 Red Hat, Inc. Dynamically adjusting resources to meet service level objectives
US10684893B2 (en) * 2017-02-25 2020-06-16 Vmware, Inc. Methods and apparatus to manage compute resources in a hyperconverged infrastructure computing environment
US10467052B2 (en) * 2017-05-01 2019-11-05 Red Hat, Inc. Cluster topology aware container scheduling for efficient data transfer
US10956849B2 (en) * 2017-09-29 2021-03-23 At&T Intellectual Property I, L.P. Microservice auto-scaling for achieving service level agreements
US20220350675A1 (en) * 2021-05-03 2022-11-03 Avesha, Inc. Distributed computing system with multi tenancy based on application slices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190253490A1 (en) 2016-10-31 2019-08-15 Huawei Technologies Co., Ltd. Resource load balancing control method and cluster scheduler

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cong Xu, et al.,NBWGuard: Realizing Network QoS for Kubernetes,In the Proceedings of the 19th International Middleware Conference Industry (Middleware'18),ACM,2018年12月10日,pp.32-38

Also Published As

Publication number Publication date
US20230006893A1 (en) 2023-01-05
US11695644B2 (en) 2023-07-04
JPWO2021111516A1 (ja) 2021-06-10
WO2021111516A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
JP4920080B2 (ja) コンテンツ配信ネットワークのための集中化したスケジューラ
US8918792B2 (en) Workflow monitoring and control system, monitoring and control method, and monitoring and control program
US11463554B2 (en) Systems and methods for dynamic multi-access edge allocation using artificial intelligence
US20180279261A1 (en) Resource allocation device and resource allocation method
CN112822050A (zh) 用于部署网络切片的方法和装置
JPWO2014119719A1 (ja) リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
JP6406633B2 (ja) 仮想ネットワーク制御装置、仮想ネットワーク制御方法、及びプログラム
JPWO2004092971A1 (ja) サーバ割当制御方法
WO2020185132A1 (en) Method and current edge cloud manager for controlling resources
US9654333B2 (en) Application allocation in datacenters
CN109815204A (zh) 一种基于拥塞感知的元数据请求分发方法及设备
JP7359222B2 (ja) 通信管理装置及び通信管理方法
KR101448413B1 (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
JPWO2018029913A1 (ja) リソース割当装置及びリソース割当方法
US11397605B2 (en) Management system, management apparatus, management method, and program
CN112737806B (zh) 网络流量的迁移方法及装置
CN115190121B (zh) 基于跨地域的微服务过量负载调度***、方法及设备
US20180278495A1 (en) Provisioning of telecommunications resources
EP3709582B1 (en) Network route selection
JP7259738B2 (ja) 制御装置、制御システム、制御装置の制御方法及びプログラム
CN116232427B (zh) 一种用于卫星网络的前向带宽分配方法
Sasaki et al. Resource Allocation Methods among Server Clusters in a Resource Permeating Distributed Computing Platform for 5G Networks
JP2012209787A (ja) 通信システム及び通信制御方法
JP7434893B2 (ja) 情報処理管理装置および情報処理管理方法
KR20170124136A (ko) 소프트웨어 정의 네트워크를 위한 적응적 제어 평면 관리 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20220614

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20220614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230911

R150 Certificate of patent or registration of utility model

Ref document number: 7359222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150