特許第6981367号(P6981367)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6981367ネットワークシステムおよびネットワーク帯域制御管理方法
<>
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000002
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000003
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000004
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000005
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000006
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000007
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000008
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000009
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000010
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000011
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000012
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000013
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000014
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000015
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000016
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000017
  • 特許6981367-ネットワークシステムおよびネットワーク帯域制御管理方法 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6981367
(24)【登録日】2021年11月22日
(45)【発行日】2021年12月15日
(54)【発明の名称】ネットワークシステムおよびネットワーク帯域制御管理方法
(51)【国際特許分類】
   H04L 12/865 20130101AFI20211202BHJP
   H04L 12/873 20130101ALI20211202BHJP
   H04L 12/70 20130101ALI20211202BHJP
【FI】
   H04L12/865
   H04L12/873
   H04L12/70 D
【請求項の数】5
【全頁数】24
(21)【出願番号】特願2018-106838(P2018-106838)
(22)【出願日】2018年6月4日
(65)【公開番号】特開2019-213026(P2019-213026A)
(43)【公開日】2019年12月12日
【審査請求日】2020年10月12日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】特許業務法人磯野国際特許商標事務所
(72)【発明者】
【氏名】秋山 貴之
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特開2015−149577(JP,A)
【文献】 特開2015−138425(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/865
H04L 12/873
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpen Stackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを廃棄するネットワークシステムであって、
前記仮想化基盤と前記外部NWとの間に設置され、前記OVSへ流入するパケットの帯域量を制御する外部SWと、
前記コンポーネントから取得した情報をもとに、前記仮想化基盤のサービス追加または削除をトリガとして前記外部SWの帯域制御および優先制御の設定変更を行うNW制御管理装置と、を備え、
前記NW制御管理装置は、
前記コンポーネントを構成するコントローラノードからVM(Virtual Machine)の情報を取得するとともに、前記各サービスのID、IPアドレス、MACアドレス、VLAN、および帯域を含むNW制御に関わる情報を管理するデータ管理部と、
前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視し、帯域の上限設定をしていない場合、または空き帯域がある場合、VM単位の利用量に応じた帯域制限の解放または設定を行うNW制御部と、
各サービスへ割り当てる帯域量を前記外部SWへ設定するための設定情報を生成するとともに、前記外部SWへ接続し、前記設定情報の投入を行う外部SW設定部と、を備える
ことを特徴とするネットワークシステム。
【請求項2】
仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpen Stackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを廃棄するネットワークシステムであって、
前記仮想化基盤と前記外部NWとの間に設置され、前記OVSへ流入するパケットの帯域量を制御する外部SWと、
前記コンポーネントから取得した情報をもとに、前記仮想化基盤のサービス追加または削除をトリガとして前記外部SWの帯域制御および優先制御の設定変更を行うNW制御管理装置と、を備え、
前記NW制御管理装置は、
前記仮想化基盤のOVSの処理可能な帯域量を把握し、その上限値を記憶するデータ記憶部を有し、
前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視して各サービスのトラヒック情報を定期的に取得し、
各サービスがサービス単位に設定した上限帯域を超過しておらず、かつ、前記OVSの処理能力の上限値を超える前に、各サービスの優先度が高いサービスは帯域確保を行い、優先度の低いサービスは、上限帯域を絞るように設定情報を生成する
ことを特徴とするネットワークシステム。
【請求項3】
前記NW制御管理装置は、
各サービスのトラヒック量の最繁若しくは閑散の時間、月日または曜日のトレンドを把握し、
サービスが上限帯域を超過する傾向にあり、かつ、仮想化基盤全体のNW帯域に余力がある場合、一時的に当該サービスの上限帯域を緩めるように設定情報を作成する
ことを特徴とする請求項に記載のネットワークシステム。
【請求項4】
仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpenStackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを破棄するネットワークシステムのネットワーク帯域制御管理方法であって、
前記ネットワークシステムは、NW制御を行うNW制御管理装置と、前記OVSへ流入するパケットの帯域量を制御する外部SWと、を備え、
前記NW制御管理装置
前記コンポーネントを構成するコントローラノードからVM(Virtual Machine)の情報を取得するとともに、前記各サービスのID、IPアドレス、MACアドレス、VLAN、および帯域を含むNW制御に関わる情報を管理するステップと、
前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視し、帯域の上限設定をしていない場合、または空き帯域がある場合、VM単位の利用量に応じた帯域制限の解放または設定を行うステップと、
各サービスへ割り当てる帯域量を前記外部SWへ設定するための設定情報を生成するとともに、前記外部SWへ接続し、前記設定情報の投入を行うステップと、実行する
ことを特徴とするネットワーク帯域制御管理方法。
【請求項5】
仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpenStackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを破棄するネットワークシステムのネットワーク帯域制御管理方法であって、
前記ネットワークシステムは、NW制御を行うNW制御管理装置と、前記OVSへ流入するパケットの帯域量を制御する外部SWと、を備え、
前記NW制御管理装置
前記仮想化基盤のOVSの処理可能な帯域量を把握し、その上限値を記憶するデータ記憶部を有し、
前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視して各サービスのトラヒック情報を定期的に取得するステップと、
各サービスがサービス単位に設定した上限帯域を超過しておらず、かつ、前記OVSの処理能力の上限値を超える前に、各サービスの優先度が高いサービスは帯域確保を行い、優先度の低いサービスは、上限帯域を絞るように設定情報を生成するステップと、を実行する
ことを特徴とするネットワーク帯域制御管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークシステムおよびネットワーク帯域制御管理方法に関する。
【背景技術】
【0002】
ネットワーク事業者においては、ネットワーク全体の資源を有効に利用し、転送品質の維持、ネットワークコストの低減を図ることが重要である。将来のサービスの多様化に伴うネットワークの突発的かつ不規則な変化に柔軟に対応し、ネットワーク資源の有効利用を実現する技術としてネットワーク仮想化技術が提案されている。
【0003】
また、ハイパーバイザと呼ばれるソフトウェアで、一台の物理サーバ上に複数の仮想的な計算機となる仮想マシン(以下、仮想マシンVM(Virtual Machine)という)を実現する技術が知られている。この仮想マシンVMは、それぞれが独立にオペレーティングシステムを動作させることができる。複数の仮想マシンVMが動作する物理サーバは、ワークステーションやパーソナルコンピュータ等のコンピュータである。また、仮想マシンサーバがネットワークを介して複数台接続された環境においては、仮想マシンサーバ上に実現された仮想マシンVMもネットワークを介して通信することができる。
【0004】
Open Stackは、オープンソースで開発されているクラウド環境構築用のソフトウェア群である。Open Stackでは、仮想マシンとストレージ、ネットワーク等の一番低いレイヤーのリソースを提供するクラウド環境が構築できる。Open Stackの持つQoS(Quality of Service:サービス品質)ルール種別は、帯域幅制限、最小帯域幅、パケット優先度(DSCP:Differentiated Services Code Point)があり、帯域を制限できる(非特許文献1参照)。QoSは、帯域、遅延、ジッター、信頼性などのある種のネットワーク要件を保証する機能で、アプリケーションプロバイダーとユーザ間のサービスレベル合意(SLA:Service Level Agreement)を満たすために使用される。スイッチやルータなどのネットワーク機器は、トラヒックに優先度のマークを付けることでSLAにおいて合意された QoS 条件を達成できる。
Open Stackで一般的に利用されるOVS(Open Virtual Switch)のQoSは、出力(egress)はシェーピング(Shaping)、入力(ingress)はポリシング(Policing)をサポートしている(非特許文献2参照)。
【0005】
OVSの入力は、ポリシングであり、サービス単位で帯域幅の上限設定を行えばその設定値を超過した場合にそのパケットを廃棄する。帯域幅の上限設定は、サービス単位であり、システムとしての運用管理が必要な場合、運用者が他サービスやOVSの処理能力を考慮してネットワーク設計し、設定値を変更する必要がある。しかし、仮想化環境においては、サービス増減が頻繁に発生するため、ネットワークの再設計作業は煩雑になる。
【0006】
また、仮想化基盤全体ではNWのトラヒックが低い状態であって、あるサービスが帯域幅上限まで使用していた場合、その上限設定まで利用しかできない。NW有効活用するためには、一時的に帯域幅上限を変更する必要があるが、保守者の手動運用が必要である。
以下、従来の仮想化基盤におけるネットワーク帯域制御について説明する。
【0007】
図15および図16は、従来の仮想化基盤におけるネットワーク帯域制御を説明する図である。
図15および図16に示すように、従来技術に係るネットワークシステムは、物理サーバ内に存在するサービスAを提供する仮想マシンVM、サービスBを提供する仮想マシンVM、サービスCを提供する仮想マシンVM、仮想マシンVMと、Open Stackを構成するコンポーネントであるCompute Node1〜3、Network Node6およびController Node7と、L2スイッチL2SW(以下L2SWという)4と、を備える。
【0008】
仮想マシンVM1〜仮想マシンVM4は、Network Node6を経由してそれぞれ外部ネットワークNW8に接続される。
仮想サーバVM1〜VM4は、ソフトウェアにより実現される仮想的な情報処理装置である。仮想サーバVM1〜VM4は、図示しない仮想スイッチを介して、L2SW4に接続される。L2SW4は、自己の仮想スイッチが含まれる物理サーバ上の仮想サーバVM〜VMによる通信を切り替えるハードウェアである。なお、各Computeを複数台接続するにはハードウェアのL2SWが必要になり、その装置がL2SW4になる。
【0009】
Open Stackは、役割ごとにノード(物理もしくは仮想サーバ)を構成して利用する。図15では、Open Stackは、Compute Node1〜3と、Network Node6と、Controller Node7とに分けられる。
【0010】
Compute Node1〜3は、仮想化基盤の構築や制御を行う。Compute Node1は、仮想マシンVMが動作するノード、Compute Node2は、仮想マシンVM,仮想マシンVMが動作するノード、Compute Node3は、仮想マシンVMが動作するノードである。
【0011】
Network Node6は、ネットワークの仮想化や管理を行う。Network Node6は、IP(Internet Protocol)転送やDHCP(Dynamic Host Configuration Protocol)など、インスタンスに対するネットワークサービスを提供するサーバである。Network Node6は、Compute Node1〜3による仮想ルータ、DHCP等の機能を提供する。Network Node6は、OVS5を有する。
Open Stackでは、サービス単位に帯域の上限設定ができる。OVS5はその帯域の上限を超過した場合、入力はポリシングによりパケットを破棄する。
【0012】
Controller Node7は、各コンポーネントのうち、管理系のサービスすべての制御用のコンポーネントを配置する。Controller Node7は、ユーザや他のノードからの要求を処理し、Open Stack 全体の管理を行う管理サーバである。また、Controller Node7は、Network Node6のみ帯域の上限設定が可能である。
【0013】
図15の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbpsを設定している。
例えば、図15の符号aに示すように、サービスCに3Gbpsの帯域が入力してきた場合、ポリシング制御により2Gbps分のパケットは通過し、残りの1Gbps分のパケットは破棄される(図15の符号b参照)。
ポリシングは、仮想化基盤のNW全体のトラヒック量に関係なくそのサービスが上限帯域を超過した場合、パケットを破棄する。そのため、仮想化基盤のNW全体のトラヒック量が少なく、かつあるサービスが帯域上限を超過した場合、NWに余力があるものの上限設定をしたがためにパケット廃棄をしてしまう。すなわち、帯域上限設定したポリシングにより、超過分のパケットは廃棄される。
【0014】
一方、各サービスの帯域上限設定を超えていない場合、入力パケットに対して、ポリシングは働かずにOVS5へ流入する。しかし、全サービスのトラヒックの合計(以下、「総トラヒック量」という)がOVS5の処理能力を超えた場合、優先度の高いパケットの区別なくパケットを破棄することになり、仮想化基盤のサービス断、遅延が発生する。
例えば、図16に示すOVS5の処理能力が8Gbpsしかない場合、入力パケットは、
4Gps+3Gbps+2Gbps=9Gbps
である。
このため、OVS5は、1Gbps分パケット破棄をするが、優先度の高いサービスAも優先度の低いサービスB、Cと同様にパケット破棄してしまう(図4の符号c参照)。すなわち、OVS5は、OVS処理能力<総トラヒック量の場合、優先度を考慮せずにパケットを破棄する。
【先行技術文献】
【非特許文献】
【0015】
【非特許文献1】https://docs.openstack.org/ocata/ja/networking-guide/config-qos.html
【非特許文献2】https://docs.openvswitch.org/en/latest/faq/qos/
【発明の概要】
【発明が解決しようとする課題】
【0016】
Open Stackでは、仮想化基盤上に複数のサービスが搭載され、OVS5に接続される。Open StackのQoSでは、サービス単位の帯域幅の上限設定であるため、超過した場合はパケット廃棄するが、超過しない場合はポリシングが効かない。
特に、外部SWから大量パケットが流入してくる場合、仮想化基盤のNW全体からみると、各サービスで超過しなかったパケットがOVS5へ流入し、OVS5の処理負荷が高くなり、ボトルネックとなる。つまり、各サービスの帯域幅の上限設定以下でもパケットロスが発生する。また、OVS5はパケットをキューに入れないポリシングのため、優先したいパケットが外部NWから流入してもパケット破棄され、仮想化基盤上に搭載されているサービスの通信断、パケット再送による遅延が発生する。例えば、一般的に電話等のような優先度が高いサービスでもパケット廃棄されるため、サービスとして成立しなくなることになる。
【0017】
その対応策の1つとして、Open Stack等仮想化基盤と外部NWとの間に外部のL2SWまたはL3SWを設置し、あらかじめ帯域制御を手動で設定する手動設定方法がある。しかし、この手動設定方法は、運用者が全サービスの帯域を考慮して設計する必要がある。また、この手動設定方法は、運用者がサービスの増設/減設時にその都度設計の見直し、再設定をしなければならない。
【0018】
このような背景に鑑みて本発明がなされたのであり、本発明は、高負荷時に優先的に流す必要のあるパケットが破棄されるのを防ぐことができるネットワークシステムおよびネットワーク帯域制御管理方法を提供することを課題とする。
【課題を解決するための手段】
【0019】
前記した課題を解決するため、請求項1に記載の発明は、仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpen Stackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを廃棄するネットワークシステムであって、前記仮想化基盤と前記外部NWとの間に設置され、前記OVSへ流入するパケットの帯域量を制御する外部SWと、前記コンポーネントから取得した情報をもとに、前記仮想化基盤のサービス追加または削除をトリガとして前記外部SWの帯域制御および優先制御の設定変更を行うNW制御管理装置と、を備え、前記NW制御管理装置は、前記コンポーネントを構成するコントローラノードからVM(Virtual Machine)の情報を取得するとともに、前記各サービスのID、IPアドレス、MACアドレス、VLAN、および帯域を含むNW制御に関わる情報を管理するデータ管理部と、前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視し、帯域の上限設定をしていない場合、または空き帯域がある場合、VM単位の利用量に応じた帯域制限の解放または設定を行うNW制御部と、各サービスへ割り当てる帯域量を前記外部SWへ設定するための設定情報を生成するとともに、前記外部SWへ接続し、前記設定情報の投入を行う外部SW設定部と、を備えることを特徴とするネットワークシステムとした。
【0021】
また、請求項に記載の発明は、仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpenStackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを破棄するネットワークシステムのネットワーク帯域制御管理方法であって、前記ネットワークシステムは、NW制御を行うNW制御管理装置と、前記OVSへ流入するパケットの帯域量を制御する外部SWと、を備え、前記NW制御管理装置前記コンポーネントを構成するコントローラノードからVM(Virtual Machine)の情報を取得するとともに、前記各サービスのID、IPアドレス、MACアドレス、VLAN、および帯域を含むNW制御に関わる情報を管理するステップと、前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視し、帯域の上限設定をしていない場合、または空き帯域がある場合、VM単位の利用量に応じた帯域制限の解放または設定を行うステップと、各サービスへ割り当てる帯域量を前記外部SWへ設定するための設定情報を生成するとともに、前記外部SWへ接続し、前記設定情報の投入を行うステップと、実行することを特徴とするネットワーク帯域制御管理方法とした。
【0022】
このようにすることで、仮想化基盤にあるOVSのボトルネックを解消し、優先したいパケットを処理することができる。また、高負荷時に優先的に流す必要のあるパケットが破棄されたのを防ぐことができる。
【0025】
また、請求項に記載の発明は、仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpen Stackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを廃棄するネットワークシステムであって、前記仮想化基盤と前記外部NWとの間に設置され、前記OVSへ流入するパケットの帯域量を制御する外部SWと、前記コンポーネントから取得した情報をもとに、前記仮想化基盤のサービス追加または削除をトリガとして前記外部SWの帯域制御および優先制御の設定変更を行うNW制御管理装置と、を備え、前記NW制御管理装置、前記仮想化基盤のOVSの処理可能な帯域量を把握し、その上限値を記憶するデータ記憶部を有し、前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視して各サービスのトラヒック情報を定期的に取得し、各サービスがサービス単位に設定した上限帯域を超過しておらず、かつ、前記OVSの処理能力の上限値を超える前に、各サービスの優先度が高いサービスは帯域確保を行い、優先度の低いサービスは、上限帯域を絞るように設定情報を生成することを特徴とするネットワークシステムとした。
また、請求項5に記載の発明は、仮想化基盤上に複数のサービスが搭載され、OVS(Open Virtual Switch)に接続されるOpenStackを構成するコンポーネントを有し、前記OVSは、外部NWから流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットを破棄するネットワークシステムのネットワーク帯域制御管理方法であって、前記ネットワークシステムは、NW制御を行うNW制御管理装置と、前記OVSへ流入するパケットの帯域量を制御する外部SWと、を備え、前記NW制御管理装置は、前記仮想化基盤のOVSの処理可能な帯域量を把握し、その上限値を記憶するデータ記憶部を有し、前記仮想化基盤に装備されているCeilometerから情報を収集するとともに、前記外部SWのNW帯域量を監視して各サービスのトラヒック情報を定期的に取得するステップと、各サービスがサービス単位に設定した上限帯域を超過しておらず、かつ、前記OVSの処理能力の上限値を超える前に、各サービスの優先度が高いサービスは帯域確保を行い、優先度の低いサービスは、上限帯域を絞るように設定情報を生成するステップと、を実行することを特徴とするネットワーク帯域制御管理方法とした。
【0026】
このようにすることで、仮想化基盤NWの利用状況を監視し、帯域上限まで利用し入るサービスと仮想化基盤NWの空き状況を考慮して、帯域制御を自動変更することができ、仮想化基盤NWの有効活用を図ることができる。特に、外部NWで優先度の高いサービスから仮想化基盤へ流入させることができ、優先度の高いサービスのサービス断を回避することができる。
【0027】
また、請求項に記載の発明は、前記NW制御管理装置が、各サービスのトラヒック量の最繁若しくは閑散の時間、月日または曜日のトレンドを把握し、サービスが上限帯域を超過する傾向にあり、かつ、仮想化基盤全体のNW帯域に余力がある場合、一時的に当該サービスの上限帯域を緩めるように設定情報を作成することを特徴とする請求項に記載のネットワークシステムとした。
【0028】
このようにすることで、帯域上限を一時的に仮想化基盤および外部SW20の帯域制御を自動変更する機能を持たせることで、仮想化基盤NWの有効活用を図ることができる。
【発明の効果】
【0029】
本発明によれば、高負荷時に優先的に流す必要のあるパケットが破棄されるのを防ぐことができるネットワークシステムおよびネットワーク帯域制御管理方法を提供することができる。
【図面の簡単な説明】
【0030】
図1】本発明の実施形態に係るネットワークシステムの構成例を示す図である。
図2】本実施形態に係るネットワークシステムのNW制御管理装置の詳細構成を示す機能ブロック図である。
図3A】本実施形態に係るネットワークシステムの各サービスの日時毎の利用帯域量を記憶するDBのレコードの一例を示す図である。
図3B】本実施形態に係るネットワークシステムの各サービスのID、IPアドレス、MACアドレス、VLAN、帯域等NW制御に関わる情報を記憶するDBのレコードの一例を示す図である。
図4】本実施形態に係るネットワークシステムのサービス登録時の動作例を示す図である。
図5】本実施形態に係るネットワークシステムの運用中の動作例1を示す図である。
図6】本実施形態に係るネットワークシステムの日常のトレンドのトラヒック量を示す図である。
図7】本実施形態に係るネットワークシステムの運用中の動作例2を示す図である。
図8】本実施形態に係るネットワークシステムの日常のトレンドのトラヒック量を示す図である。
図9】本実施形態に係るネットワークシステムの運用中の動作例3を示す図である。
図10】本実施形態に係るネットワークシステムの運用中の動作例4を示す図である。
図11】本実施形態に係るネットワークシステムのOVS処理能力≧総トラヒック量、かつ、優先度が同一(すべて高または低)場合のパターン例1を示す図である。
図12】本実施形態に係るネットワークシステムのOVS処理能力<総トラヒック量、かつ、優先度が同一(すべて高または低)場合のパターン例2を示す図である。
図13】本実施形態に係るネットワークシステムのOVS処理能力≧総トラヒック量、かつ、優先度が混在の場合のパターン例3を示す図である。
図14】本実施形態に係るネットワークシステムのOVS処理能力<総トラヒック量、かつ、優先度が混在の場合のパターン例4を示す図である。
図15】従来の仮想化基盤におけるネットワーク帯域制御を説明する図である。
図16】従来の仮想化基盤におけるネットワーク帯域制御を説明する図である。
【発明を実施するための形態】
【0031】
以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)におけるネットワークシステム等について説明する。
(実施形態)
[ネットワークシステム100の構成]
図1は、本発明の実施形態に係るネットワークシステムの構成例を示す図である。また、図1は、ネットワークシステムの動作例の初期状態を示している。図15と同一構成部分には、同一符号を付している。
図1示すように、ネットワークシステム100は、物理サーバ内に存在するサービスAを提供する仮想マシンVMサービスBを提供する仮想マシンVM、サービスCを提供する仮想マシンVM、仮想マシンVMと、仮想化基盤上に複数のサービスが搭載され、OVS5に接続されるOpen Stackを構成するコンポーネントであるCompute Node1〜3、Network Node6およびController Node7と、L2SW4と、を備える。
ネットワークシステム100は、Compute Node1〜3、Network Node6およびController Node7から取得した情報をもとに、仮想化基盤のサービス追加または削除をトリガとして外部SW20の帯域制御および優先制御の設定変更を行うNW制御管理装置10と、仮想化基盤と外部NW20との間に設置され、OVS5へ流入するパケットの帯域量を制御する外部SW20と、を備える。
【0032】
仮想マシンVM〜仮想マシンVMは、Network Node6を経由してそれぞれ外部ネットワークNW8に接続される。
仮想サーバVM〜VMは、ソフトウェアにより実現される仮想的な情報処理装置である。仮想サーバVM〜VMは、図示しない仮想スイッチを介して、L2SW4に接続される。L2SW4は、自己の仮想スイッチが含まれる物理サーバ上の仮想サーバVM〜VMによる通信を切り替えるハードウェアである。
【0033】
Open Stackは、役割ごとにノード(物理もしくは仮想サーバ)を構成して利用する。図1では、Open Stackは、Compute Node1〜3と、Network Node6と、Controller Node7とに分けられる。
【0034】
Compute Node1〜3は、仮想化基盤の構築や制御を行う。Compute Node1は、仮想マシンVMが動作するノード、Compute Node2は、仮想マシンVM,仮想マシンVMが動作するノード、Compute Node3は、仮想マシンVMが動作するノードである。
【0035】
Network Node6は、ネットワークの仮想化や管理を行う。Network Node6は、IP転送やDHCPなど、インスタンスに対するネットワークサービスを提供するサーバである。Network Node6は、Compute Node1〜3による仮想ルータ、DHCP等の機能を提供する。Network Node6は、OVS5を有する。
Open Stackでは、サービス単位に帯域の上限設定ができる。OVS5はその帯域の上限を超過した場合、入力はポリシングによりパケットを破棄する。
【0036】
Controller Node7は、各コンポーネントのうち、管理系のサービスすべての制御用のコンポーネントを配置する。Controller Node7は、ユーザや他のノードからの要求を処理し、Open Stack 全体の管理を行う管理サーバである。また、Controller Node7は、Network Node6のみ帯域の上限設定が可能である。
【0037】
OVS5は、外部NW20から流入したパケットが、サービス単位で設定された帯域幅の上限を超過した場合、当該パケットをポリシングする。
【0038】
<NW制御管理装置10>
NW制御管理装置10は、Compute Node1〜3、Network Node6およびController Node7から取得した情報をもとに、サービスに括りつけられたVLAN(Virtual LAN)、上限帯域、および優先度を含むNWに関する情報を外部SW20に設定するためのConfig情報(設定情報)を生成するとともに、外部SW20へ接続し、作成したConfig情報に従い、外部SW20の設定変更を行う。
【0039】
NW制御管理装置10は、仮想化基盤のOVS5の処理可能な帯域量を把握し、その上限値を記憶するデータ管理記憶部114(図2参照)を有し、仮想化基盤に装備されているCeilometerから情報を収集するとともに、外部SW20のNW帯域量を監視して各サービスのトラヒック情報を定期的に取得する。NW制御管理装置10は、各サービスがサービス単位に設定した上限帯域を超過しておらず、かつ、OVS5の処理能力の上限値を超える前に、各サービスの優先度が高いサービスは帯域確保を行い、優先度の低いサービスは、帯域を絞るようにConfig情報を生成する。
【0040】
NW制御管理装置10は、各サービスのトラヒック量の最繁若しくは閑散の時間、月日または曜日のトレンドを把握し、サービスが上限帯域を超過する傾向にあり、かつ、仮想化基盤全体のNW帯域に余力がある場合、一時的に当該サービスの上限帯域を変更するConfig情報を作成する。
【0041】
NW制御管理装置10は、仮想化基盤のNWの利用状況を監視し、帯域上限まで利用し入るサービスと仮想化基盤のNWの空き状況を考慮し、仮想化基盤および外部SW20の帯域制御の帯域上限を一時的に変更する。
【0042】
NW制御管理装置10は、下記(1)〜(3)機能を有する。
(1)NW制御管理装置10は、Controller Node7で管理している各サービスのデータ情報を管理する。各サービスのデータ情報は、例えば、
・VM_ID
・VLAN_ID、MACアドレス(L2の場合)
・IPアドレス、サブネット(L3の場合)
・上限帯域
がある。
【0043】
(2)NW制御管理装置10は、Network Node6からCeilometer等で情報を収集する、および外部SW20で収集するNW収集・制御機能を有する。NW収集・制御機能には、例えば、
・定期的に収集した各サービスのトラヒック量
・現在の各サービスのトラヒック量
・帯域変動に応じた上限帯域の変更制御
がある。
【0044】
(3)NW制御管理装置10は、外部SW20の設定機能を有する。外部SW20の設定機能には、例えば、
・サービスの追加/削除をトリガに上記(1)の設定情報を基に外部SW20のConfig情報を生成する
・上記(2)の定期トラヒック量と現在のトラヒック量から帯域変動を考慮して一時的に設定情報を書き換えるためのConfig情報を生成する
・外部SW20へ接続し、Config投入する
がある。
【0045】
<外部SW20>
外部SW20は、仮想化基盤と外部NW20との間に設置され、OVS5へ流入するパケットの帯域量を制御する。外部SW20は、NW制御管理装置10が操作可能なリーチャビリティを持つ。
【0046】
[NW制御管理装置10の詳細構成]
図2は、NW制御管理装置10の詳細構成を示す機能ブロック図である。
図2に示すように、NW制御管理装置10は、Controller Node7からVMの情報を取得するとともに、各サービスのID、IPアドレス、MACアドレス、VLAN、および帯域を含むNW制御に関わる情報を管理するデータ管理部110と、仮想化基盤に装備されているCeilometerから情報を収集するとともに、外部SW20のNW帯域量を監視し、帯域の上限設定をしていない場合、または空き帯域がある場合、VM単位の利用量に応じた帯域制限の解放または設定を行うNW制御部120と、各サービスへ割り当てる帯域量を外部SW20へ設定するためのConfig情報を生成するとともに、外部SW20へ接続し、Config投入を行う外部SW設定部130と、を備える。
【0047】
<データ管理部110>
データ管理部110は、Open StackのController Node7から仮想化環境に生成されているVMの情報を管理する。
データ管理部110は、データ更新確認部111と、データ受信部112と、データ比較/データ更新部113と、データ管理記憶部114と、を有する。
データ更新確認部111は、Controller Node7にVM情報の更新が無いかを周期的に確認する。
データ受信部112は、Controller Node7から取得したデータを受信する。
データ比較/データ更新部113は、データ受信した情報と当該のデータ管理情報を比較する。変更のあった場合、外部SW20設定へ情報を転送するとともにデータ管理を更新する。
データ管理記憶部114は、OVS5の処理能力値を記憶する。データ管理記憶部114は、各サービスの日時毎の利用帯域量を記憶する(図3A参照)。データ管理記憶部114は、各サービスのID、IPアドレス、MACアドレス、VLAN、帯域等NW制御に関わる情報を記憶する(図3A参照)。
【0048】
<NW制御部120>
NW制御部120は、帯域の上限設定をしていない場合、または空き帯域がある場合、Ceilometer/外部SW20等のNW帯域量を監視し、VM単位の利用量に応じた帯域制限の解放/設定を行う。
NW制御部120は、NW利用状況確認部121と、状況受信部122と、空き帯域量算出部123と、帯域量比較/割当可能帯域算出部124と、を有する。
NW利用状況確認部121は、Ceilometer /外部SW20等NW帯域を管理している機能に対し、NW帯域の利用状況を周期的に確認する。
状況受信部122は、Ceilometer等NW帯域を管理している機能から取得した状況を受信する。
空き帯域量算出部123は、取得した利用帯域量から空き帯域量を算出する。
帯域量比較/割当可能帯域算出部124は、データ管理の帯域情報と空き帯域量を比較する。各サービスに割り当てる帯域量を決定し、外部SW20設定へ情報を転送するとともにデータ管理を更新する。
【0049】
<外部SW設定部130>
外部SW設定部130は、外部SW20へアクセスし、データ管理情報を基にconfig設定を行う。
外部SW設定部130は、外部SW設定情報生成部131と、外部SW接続/設定部132と、を有する。
外部SW設定情報生成部131は、割り当てる帯域量を外部SW20へ設定するためのConfigを生成する。
外部SW接続/設定部132は、外部SW20へ接続し、Config投入を行う。
【0050】
図3A−Bは、データ管理記憶部114がデータベース(DB)に格納する情報の一例を示す図であり、図3Aは、各サービスの日時毎の利用帯域量を記憶するDBのレコードの一例を示し、図3Bは、各サービスのID、IPアドレス、MACアドレス、VLAN、帯域等NW制御に関わる情報のレコードの一例を示す。
図3Aに示すように、データ管理記憶部114は、DBに日時毎に各サービスの利用帯域量を格納する。
図3Bに示すように、データ管理記憶部114は、DBに各サービスのID、IPアドレス、MACアドレス、VLAN ID、上限帯域、割当帯域等を格納する。
【0051】
以下、上述のように構成されたネットワークシステムのネットワーク帯域制御管理方法について説明する。
[サービス登録時の動作例]
図4は、サービス登録時の動作例を示す図である。
図4に示すように、NW制御管理装置10は、仮想化基盤上にサービスを登録する際に優先度をつけて登録する。図4の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbpsを設定している。このとき、NW制御管理装置10は、サービスD(優先度:高)を登録する(図4の符号d参照)。
具体的には、NW制御管理装置10(図2参照)は、下記のステップを実行する。
<ステップS1:Controller Node7からの情報収集>
データ管理部110のデータ更新確認部111(図2参照)は、Controller Node7にVM情報の更新が無いかを周期的に確認する。データ受信部112(図2参照)は、Controller Node7から取得したデータを受信する(図4の符号e参照)。
【0052】
<ステップS2:情報をDB格納>
データ比較/データ更新部113(図2参照)は、サービスの登録をトリガにController Node7に登録し、管理された当該サービスの情報を取得および優先度の情報をデータ管理記憶部114(図2参照)のDBに格納する。
【0053】
<ステップS3:Config情報生成>
データ比較/データ更新部113は、データ管理記憶部114のDBを参照して、NW制御管理装置10において、取得データから当該サービスに括りつけられたVLAN、上限帯域、優先度等のNWに関する情報を外部SW20に設定するためのConfig情報を生成する。このとき、データ比較/データ更新部113は、OVS処理能力を超過しないように外部SW20の出力を設定する。
【0054】
<ステップS4:Config投入>
外部SW設定部130の外部SW設定情報生成部131(図2参照)は、生成されたConfig情報をもとに、外部SW20の設定情報を設定する。
【0055】
<ステップS5:設定変更>
外部SW設定部130の外部SW接続/設定部132(図2参照)は、外部SW20へ接続し、Config投入を行う(図4の符号f参照)。
【0056】
<ステップS6:設定追加>
以上の登録動作により、図4に示すように、サービスD(優先度:高)が帯域上限1Gbpsで設定追加された。
【0057】
[運用中の動作例1]
図5は、運用中の動作例1を示す図である。
図5の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:高)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbps、1Gbps、が設定されている。
NW制御管理装置10(図2参照)は、運用中は下記のステップを実行する。
<ステップS11:Ceilometer等でトラヒック情報収集>
NW制御部120のNW利用状況確認部121(図2参照)は、Ceilometer等でNW帯域を管理している機能に対し、NW帯域の利用状況を周期的に確認する。状況受信部122は、Ceilometer等でNW帯域を管理している機能から取得した状況を受信する(図5の符号g参照)。
【0058】
<ステップS12:外部SW20からトラヒック収集>
NW制御部120のNW利用状況確認部121(図2参照)は、外部SW20に対し、トラヒック情報を周期的に確認する。状況受信部122は、外部SW20からトラヒック情報を受信する(図5の符号h参照)。
このように、NW制御部120は、仮想化基盤に装備されているCeilometer等および外部SW20からのNW情報を取得する機能を利用し、定期的にトラヒック情報を取得する。また、NW制御部120は、仮想化基盤のOVSの処理可能な帯域量を把握し、その上限値を持っている。
【0059】
<ステップS13:OVS能力オーバを検知、Config情報生成>
各サービスがサービス単位に設定した上限帯域を超過しておらず、かつOVSの処理能力の上限値を超えるとパケットロスが発生する。それを回避するため、NW制御管理装置10は、その上限値を超える前に各サービスの優先度を考慮し、優先度の高いサービスは帯域確保を行い、優先度の低いサービスは、帯域を絞るようにConfig情報を作成する。
具体的には、NW制御部120の空き帯域量算出部123(図2参照)は、取得した利用帯域量から空き帯域量を算出する。帯域量比較/割当可能帯域算出部124(図2参照)は、データ管理の帯域情報と空き帯域量を比較し、各サービスに割り当てる帯域量を決定する。
図5の例では、優先度の高いサービスAとサービスDは帯域確保を行い(サービスAは4Gbps、サービスDは1Gbpsで帯域を変えない)、優先度の低いサービスBとサービスCは、帯域を絞る(サービスBは3Gbpsから1.7Gbpsに、またサービスCは2Gbpsから1.3Gbpsに上限帯域を削減する)。
【0060】
<ステップS14:設定変更>
NW制御部120の帯域量比較/割当可能帯域算出部124は、外部SW20設定へ情報を転送するとともに(図5の符号i参照)、データ管理記憶部114のDBを更新する。
また、外部SW設定部130の外部SW設定情報生成部131(図2参照)は、生成されたConfig情報をもとに、外部SW20の設定情報を設定する。
外部SW設定部130の外部SW接続/設定部132(図2参照)は、外部SW20へ接続し、Config投入を行う。
【0061】
以上の動作により、図5に示すように、優先度の高いサービスは、上限帯域を維持し、優先度の低いサービスは、上限帯域を絞るように制御される。
外部NW8では、優先度の高いサービスから仮想化基盤へ流入することにより、優先度の高いサービスのサービス断を回避することができる。
【0062】
[運用中の動作例2]
図6は、日常のトレンドのトラヒック量を示す図である。横軸に0時から24時の時間帯のトラヒック量のトレンドを示し、縦軸に各サービスで使用した帯域を重ねて示す。なお、図中のハッチングの表記は、図4および図5の各サービスの表記に揃えられている。
図6に示すように、OVS5の処理能力限界は、8Gbpsであるとする。図6に示す日常のトレンドでは、0時から24時のどの時間帯であってもOVS5の処理能力を上回ることはない。ところで、図6の破線楕円囲みに示す時間帯(18時−21時)の場合、OVS5の処理能力限界8Gbpsに対して、約3Gbpsの空き帯域がある。このため、図6の矢印jに示すサービスD(優先度:高 1Gbps)の上限帯域を一時的に3Gbpsまで増加可能である。このようにすれば、優先度の高いサービスDについてよりサービスを向上させることができる。
【0063】
図7は、運用中の動作例2を示す図である。図6のトレンドのトラヒック量を把握して、運用中の動作に適用した例である。
図7の例では、図6の場合と同様に、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:高)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbps、1Gbps、が設定されている。
【0064】
<ステップS21:Ceilometer等でトラヒック情報収集>
NW制御部120のNW利用状況確認部121(図2参照)は、Ceilometer等でNW帯域を管理している機能に対し、NW帯域の利用状況を周期的に確認する。状況受信部122は、Ceilometer等でNW帯域を管理している機能から取得した状況を受信する(図7の符号k参照)。
【0065】
<ステップS22:外部SW20からトラヒック収集>
NW制御部120のNW利用状況確認部121(図2参照)は、外部SW20に対し、トラヒック情報を周期的に確認する。状況受信部122は、外部SW20からトラヒック情報を受信する(図7の符号l参照)。
このように、NW制御部120は、仮想化基盤に装備されているCeilometer等および外部SW20からのNW情報を取得する機能を利用し、定期的にトラヒック情報を取得する。また、NW制御部120は、仮想化基盤のOVSの処理可能な帯域量を把握し、その上限値を持っている。
【0066】
<ステップS23:NWに余力があることを検知、Config情報生成>
図6の破線楕円囲みに示す時間帯(18時−21時)のように、仮想化基盤全体のNW帯域に余力がある場合、一時的にサービスD(優先度:高)の上限帯域を1Gbpsから3Gbpsに変更するConfig情報を作成する。
NW制御管理装置10は、外部SW20へ接続し、作成されたConfig情報に従い、外部SW20の設定変更を行う。
【0067】
<ステップS24:設定変更>
NW制御部120の帯域量比較/割当可能帯域算出部124は、外部SW20設定へ情報を転送するとともに(図7の符号m参照)、データ管理記憶部114の情報を更新する。
また、外部SW設定部130の外部SW設定情報生成部131(図2参照)は、生成されたConfig情報をもとに、外部SW20の設定情報を設定する。
以上の動作により、仮想化基盤NWに余力のある場合、上限帯域を超えるサービスへ一時的に割り当てることでNWの有効活用を実現する。
【0068】
[運用中の動作例3]
図8は、図6と同じ日常のトレンドのトラヒック量を示す図である。横軸に0時から24時の時間帯のトラヒック量のトレンドを示し、縦軸に各サービスで使用した帯域を重ねて示す。
図8の破線楕円囲みに示す時間帯(21時−24時)では、時間帯(18時−21時)に存在した約3Gbpsの空き帯域が減少傾向にある。このため、図8の矢印nに示すように、一時的に増加させていたサービスD(優先度:高 1Gbps)の上限帯域を元に戻す制御を行う。
【0069】
図9は、運用中の動作例3を示す図である。図8のトレンドのトラヒック量を把握して、一時的に増加させていたサービスの上限帯域を元に戻す制御を行う例である。
図9の例では、サービスD(優先度:高)は、一時的に3Gbpsが設定されていた。
【0070】
<ステップS31:Ceilometer等でトラヒック情報収集>
NW制御部120のNW利用状況確認部121(図2参照)は、Ceilometer等でNW帯域を管理している機能に対し、NW帯域の利用状況を周期的に確認する。状況受信部122は、Ceilometer等でNW帯域を管理している機能から取得した状況を受信する(図9の符号o参照)。
【0071】
<ステップS32:外部SW20からトラヒック収集>
NW制御部120のNW利用状況確認部121(図2参照)は、外部SW20に対し、トラヒック情報を周期的に確認する。状況受信部122は、外部SW20からトラヒック情報を受信する(図9の符号p参照)。
【0072】
<ステップS33:NWに余力がなくなってきていることを検知、Config情報生成>
図8の破線楕円囲みに示す時間帯(21時−24時)のように、仮想化基盤全体のNW帯域の空き帯域が減少傾向にある場合、一時的に増加していたサービスD(優先度:高)の上限帯域3Gbpsを、元の上限帯域3Gbpsに変更するConfig情報を作成する。
NW制御管理装置10は、外部SW20へ接続し、作成されたConfig情報に従い、外部SW20の設定変更を行う。
【0073】
<ステップS34:設定変更>
NW制御部120の帯域量比較/割当可能帯域算出部124は、外部SW20設定へ情報を転送するとともに(図9の符号q参照)、データ管理記憶部114の情報を更新する。
また、外部SW設定部130の外部SW設定情報生成部131(図2参照)は、生成されたConfig情報をもとに、外部SW20の設定情報を設定する。
【0074】
以上の動作により、仮想化基盤NWに余力のある場合に上限帯域を超えるサービスへ一時的に割り当てていた上限帯域を元に戻すことで、OVS5の処理能力限界に上限帯域を確実に収めることができる。上限帯域を超えるサービスへ一時的に割り当てたとしてもOVS5の処理能力限界に収められるので、仮想化基盤NWの有効活用を図ることができる。
【0075】
[運用中の動作例4]
図10は、運用中の動作例4を示す図であり、サービス削除時の例を示す。
図10の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:高)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbps、1Gbps、が設定されていた。このとき、サービスC(優先度:低)を削除しようとする(図10の符号r参照)。
【0076】
<ステップS41:Ceilometer等でトラヒック情報収集>
NW制御部120のNW利用状況確認部121(図2参照)は、Ceilometer等でNW帯域を管理している機能に対し、NW帯域の利用状況を周期的に確認する。状況受信部122は、Ceilometer等でNW帯域を管理している機能から取得した状況を受信する(図9の符号s参照)。
NW利用状況確認部121は、NW仮想化基盤上からサービスの削除処理をトリガにControllerから削除されたサービスの情報を把握する。
【0077】
<ステップS42:外部SW20からトラヒック収集>
NW制御部120のNW利用状況確認部121(図2参照)は、外部SW20に対し、トラヒック情報を周期的に確認する。状況受信部122は、外部SW20からトラヒック情報を受信する(図9の符号t参照)。
【0078】
<ステップS43:削除サービスの把握、Config情報生成>
NW利用状況確認部121は、NW仮想化基盤上からサービスの削除処理をトリガにControllerから削除されたサービスの情報を把握する。
NW制御部120(図2参照)は、削除されたサービスに括りつけられたVLAN等のNWに関する情報を削除するためのConfig情報を生成する。
【0079】
<ステップS44:設定変更>
NW制御部120の帯域量比較/割当可能帯域算出部124は、外部SW20設定へ情報を転送するとともに(図9の符号u参照)、データ管理記憶部114の情報を更新する。
また、外部SW設定部130の外部SW設定情報生成部131(図2参照)は、生成されたConfig情報をもとに、外部SW20の設定情報を設定する。
【0080】
<ステップS45:DBから削除>
データ管理部110(図2参照)は、削除されたサービスの情報をデータ管理記憶部114のDBから削除する。
【0081】
[帯域制御の想定パターン例]
図11図14を参照して帯域制御の想定パターン例を説明する。
<パターン例1>
図11は、OVS処理能力≧総トラヒック量、かつ、優先度が同一(すべて高または低)場合の例である。
図11の例では、サービスA(優先度:低)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:低)で、優先度がすべて同一で「低」の場合である。OVS5の処理能力限界は、9Gbpsであり、総トラヒック量は、8Gbpsであるとする。
OVS処理能力≧総トラヒック量、かつ、優先度が同一(すべて低)場合には、総上限流入量8GbpsはOVS5の処理能力限界9Gbpsに収まっており、帯域変更の必要がない。なお、NW帯域の余力があるとき、均等に上限値を増やすことも可能である。
また、OVS処理能力≧総トラヒック量、かつ、優先度が同一(すべて高)場合には、総上限流入量8GbpsはOVS5の処理能力限界9Gbpsに収まっている。OVS5の処理能力限界9Gbpsまで、1Gbpsの余裕があるが、優先度が同一(すべて高)のため優先順位は付けられない。なお、NW帯域の余力があるとき、均等に上限値を増やすことも可能である。
【0082】
<パターン例2>
図12は、OVS処理能力<総トラヒック量、かつ、優先度が同一(すべて高または低)場合の例である。
図12の例では、サービスA(優先度:高)、サービスB(優先度:高)、サービスC(優先度:高)、サービスD(優先度:高)で、優先度がすべて同一で「高」の場合である。OVS5の処理能力限界は、9Gbpsであり、総上限流入量は、10Gbpsである。
OVS5の処理能力9Gbpsに対して、総上限流入量が1Gbps超過しているが、各サービスの優先度は同一である。この場合、NW制御部120(図2参照)は、総トラヒック量/OVS処理能力×各サービス上限帯域とする。
図12の例では、サービスA(優先度:高)、サービスB(優先度:高)、サービスC(優先度:高)、サービスD(優先度:高)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbps、1Gbps、が設定されているが、各帯域上限設定をそれぞれ一律10%削減し、それぞれ帯域上限設定を3.6Gbps、2.7Gbps、1.8Gbps、0.9Gbps、に設定する(図12の符号w参照)。これにより、一律10%パケット廃棄または遅延となる。
【0083】
下記パターン例3およびパターン例4は、各サービスの優先度が同一でない場合の例である。
<パターン例3>
図13は、OVS処理能力≧総トラヒック量、かつ、優先度が混在の場合の例である。
図13の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:高)である。OVS5の処理能力限界は、9Gbpsであり、総トラヒック量は、8Gbpsである。
図13に示すように、OVS処理能力≧総トラヒック量、かつ、優先度が混在の場合には、総トラヒック量8GbpsはOVS5の処理能力限界9Gbpsに収まっているので帯域変更を行わない(図13の符号x参照)。
このように、OVS処理能力≧総トラヒック量、かつ、優先度が混在の場合は、帯域変更せず、各サービス上限帯域とする。
【0084】
<パターン例4>
図14は、OVS処理能力<総トラヒック量、かつ、優先度が混在の場合の例である。
図14の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:高)である。OVS5の処理能力限界は、9Gbpsであり、総トラヒック量は、10Gbpsである。
OVS処理能力<総トラヒック量、かつ、優先度が混在している場合は、優先度が高いサービスについては帯域上限設定を削減せず、その分、優先度が低いサービスについて帯域上限設定を削減する。この場合、優先度が高いサービスは帯域変更なし、優先度が低いサービスは、「低」の総流入量/残りのOVS処理能力×各サービス上限帯域とする。
【0085】
図14の例では、サービスA(優先度:高)、サービスB(優先度:低)、サービスC(優先度:低)、サービスD(優先度:高)にそれぞれ帯域上限設定を4Gbps、3Gbps、2Gbps、1Gbps、が設定されている。優先度が高いサービスは帯域変更なし、優先度が低いサービスは、下記により帯域上限設定を削減する。
優先度「低」に割当可能な帯域は、OVS5の処理能力9Gbpsに対して優先度「高」の帯域変更なし分を差し引いた
9−(4+1)=4Gbps
とする。このため、NW制御部120(図2参照)は、サービスB(優先度:低)、サービスC(優先度:低)の帯域上限設定の3Gbps、2Gbpsを一律20%削減し、それぞれ帯域上限設定を2.4Gbps、1.6Gbps、に設定する(図14の符号y参照)。これにより、優先度「低」に割当可能な帯域は、一律20%パケット廃棄または遅延となる。
【0086】
以上説明したように、ネットワークシステム100は、仮想化基盤と外部NW20との間に設置され、OVS5へ流入するパケットの帯域量を制御する外部SW20と、Compute Node1〜3、Network Node6およびController Node7から取得した情報をもとに、仮想化基盤のサービス追加または削除をトリガとして外部SW20の帯域制御および優先制御の設定変更を行うNW制御管理装置10と、を備える。
【0087】
また、NW制御管理装置10は、Controller Node7からVMの情報を取得するとともに、各サービスのID、IPアドレス、MACアドレス、VLAN、および帯域を含むNW制御に関わる情報を管理するデータ管理部110と、仮想化基盤に装備されているCeilometerから情報を収集するとともに、外部SW20のNW帯域量を監視し、帯域の上限設定をしていない場合、または空き帯域がある場合、VM単位の利用量に応じた帯域制限の解放または設定を行うNW制御部120と、各サービスへ割り当てる帯域量を外部SW20へ設定するためのConfig情報を生成するとともに、外部SW20へ接続し、Config投入を行う外部SW設定部130を備える。
【0088】
また、NW制御管理装置10において、Compute Node1〜3、Network Node6およびController Node7から取得した情報をもとに、仮想化基盤のサービス追加または削除をトリガとして外部SW20の帯域制御および優先制御の設定変更を行うステップを実行する。外部SW20において、OVS5へ流入するパケットの帯域量を制御するステップを実行する。
【0089】
従来技術(図15および図16参照)では、特に外部SW20から大量パケットが流入してくる場合、仮想化基盤全体からみると、各サービスで超過しなかったパケットがOVS5へ流入し、OVS5の処理負荷が高くなり、ボトルネックとなる。つまり、各サービスの帯域幅の上限設定以下でもパケットロスが発生する。また、優先したいパケットが外部NWから流入してもパケット破棄され、仮想化基盤上に搭載されているサービスの通信断、パケット再送による遅延が発生する。電話等のような優先度が高いサービスでもパケット廃棄されるため、サービスとして成立しなくなることになる。
【0090】
これに対して、本実施形態では、仮想化基盤のController Node7内にあるVMのID情報とMACアドレス情報またはVLAN情報やIPアドレス情報を利用し、仮想化基盤のサービス追加/削除をトリガに連動して外部SW20の帯域制御、優先制御の設定変更を行う。これにより、仮想化基盤にあるOVS5のボトルネックを解消し、優先したいパケットを処理することができる。また、高負荷時に優先的に流す必要のあるパケットが破棄されたのを防ぐことができる。
【0091】
また、仮想化基盤NWの利用状況に応じて使用帯域を変更することで、NWの有効活用を図ることができる。
しかも、本実施形態では、上記帯域制御は自動で設定される。すなわち、従来技術のように、運用者が帯域制御を手動で設定する方法では、全サービス(VM)の帯域を考慮して運用者が設計する必要がある。また、サービスの増設/減設時にその都度設計の見直し、再設定をしなければならない。これに対して、本実施形態では、運用者による設計の見直し等を不要にしつつ、使用帯域を自動で変更して、NWの有効活用を図ることができる。
【0092】
本実施形態では、NW制御管理装置10は、取得した情報をもとに、サービスに括りつけられたVLAN、上限帯域、および優先度を含むNWに関する情報を外部SW20に設定するためのConfig情報を生成するとともに、外部SW20へ接続し、作成したConfig情報に従い、外部SW20の設定変更を行う。これにより、NW制御管理装置10は、外部SW20と連動して帯域制御、優先制御の設定変更を行うことができる。
【0093】
本実施形態では、NW制御管理装置10は、仮想化基盤のOVS5の処理可能な帯域量を把握し、その上限値を記憶するデータ記憶部114を有し、仮想化基盤に装備されているCeilometerから情報を収集するとともに、外部SW20のNW帯域量を監視して各サービスのトラヒック情報を定期的に取得し、各サービスがサービス単位に設定した上限帯域を超過しておらず、かつ、OVS5の処理能力の上限値を超える前に、各サービスの優先度が高いサービスは帯域確保を行い、優先度の低いサービスは、帯域を絞るようにConfig情報を生成する。これにより、仮想化基盤NWの利用状況を監視し、帯域上限まで利用し入るサービスと仮想化基盤NWの空き状況を考慮して、帯域制御を自動変更することができ、仮想化基盤NWの有効活用を図ることができる。特に、外部NWで優先度の高いサービスから仮想化基盤へ流入させることができ、優先度の高いサービスのサービス断を回避することができる。
【0094】
本実施形態では、NW制御管理装置10は、各サービスのトラヒック量の最繁若しくは閑散の時間、月日または曜日のトレンドを把握し、サービスが上限帯域を超過する傾向にあり、かつ、仮想化基盤全体のNW帯域に余力がある場合、一時的に当該サービスの上限帯域を変更するConfig情報を作成する。これにより、帯域上限を一時的に仮想化基盤および外部SW20の帯域制御を自動変更する機能を持たせることで、仮想化基盤NWの有効活用を図ることができる。
【0095】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0096】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)をも含むものである。
【符号の説明】
【0097】
1〜3 Compute Node
4 L2スイッチL2SW(L2SW)
5 OVS
6 Network Node
7 Controller Node
10 NW制御管理装置
20 外部SW
100 ネットワークシステム
110 データ管理部
111 データ更新確認部
112 データ受信部
113 データ比較/データ更新部
114 データ管理記憶部
120 NW制御部
121 NW利用状況確認部
122 状況受信部
123 空き帯域量算出部
124 帯域量比較/割当可能帯域算出部
130 外部SW設定部
131 外部SW設定情報生成部
132 外部SW接続/設定部
VM〜VM 仮想マシン(Virtual Machine)
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16