(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】管理装置、ネットワークシステム、管理方法、およびプログラム
(51)【国際特許分類】
H04L 43/00 20220101AFI20231212BHJP
H04L 47/125 20220101ALI20231212BHJP
【FI】
H04L43/00
H04L47/125
(21)【出願番号】P 2020046684
(22)【出願日】2020-03-17
【審査請求日】2023-02-15
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】野田 知秀
【審査官】和平 悠希
(56)【参考文献】
【文献】特開2008-153978(JP,A)
【文献】特開2009-290390(JP,A)
【文献】特開2015-164245(JP,A)
【文献】国際公開第2015/151442(WO,A1)
【文献】特開2011-114822(JP,A)
【文献】特開2008-078924(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
ネットワークを構成する複数のネットワーク装置の統計データを収集する収集手段と、
前記複数のネットワーク装置のうち関連性を持つ複数の前記ネットワーク装置によって構成されるグループを生成する生成手段と、
前記統計データを用いて、前記ネットワーク装置の負荷率と、前記グループのグループ負荷率とを計算する計算手段と、
前記負荷率が閾値を超える場合、前記グループ負荷率に基づいて前記グループの負荷状況を判定する判定手段と、
前記グループの前記負荷状況に基づいてネットワーク経路を更新する更新手段と、を備える管理装置。
【請求項2】
前記計算手段は、
前記ネットワークに含まれる第1ネットワーク装置の前記負荷率が前記閾値を超えた場合、前記第1ネットワーク装置を含む第1グループの前記グループ負荷率を計算し、
前記更新手段は、
前記第1グループの前記負荷状況に基づいて、前記第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路を割り当てる候補として、前記ネットワークに含まれる第2ネットワーク装置を選択する請求項1に記載の管理装置。
【請求項3】
前記計算手段は、
前記第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路が前記第2ネットワーク装置に割り当てられたネットワーク経路候補に関して、前記第1グループの前記グループ負荷率を計算し、
前記更新手段は、
前記ネットワーク経路候補において前記第1グループの前記グループ負荷率が前記閾値を下回った場合、前記ネットワーク経路候補で前記ネットワーク経路を更新する請求項2に記載の管理装置。
【請求項4】
前記計算手段は、
前記第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路が前記第2ネットワーク装置に割り当てられたネットワーク経路候補に関して、前記第1ネットワーク装置を含む前記第1グループの前記グループ負荷率と、前記第2ネットワーク装置を含む第2グループの前記グループ負荷率とを計算し、
前記更新手段は、
前記ネットワーク経路候補において前記第1グループおよび前記第2グループの前記グループ負荷率が前記閾値を下回った場合、前記ネットワーク経路候補で前記ネットワーク経路を更新し、
前記生成手段は、
関連性を持つ複数の前記ネットワーク装置によって構成される前記グループを再生成する請求項2に記載の管理装置。
【請求項5】
前記生成手段は、
前記複数のネットワーク装置のうち、カンバセーションが一致するフローを近接した時刻に中継し合う複数の前記ネットワーク装置を含む前記グループを生成する請求項1乃至4のいずれか一項に記載の管理装置。
【請求項6】
前記計算手段は、
前記ネットワーク装置から送信される管理情報ベースに含まれる送受信トラフィックを用いて、前記ネットワーク装置の前記負荷率を計算する請求項1乃至5のいずれか一項に記載の管理装置。
【請求項7】
前記計算手段は、
前記グループに含まれる複数の前記ネットワーク装置の前記負荷率の平均値および最大値のうち少なくともいずれかを前記グループ負荷率として計算する請求項1乃至6のいずれか一項に記載の管理装置。
【請求項8】
請求項1乃至7のいずれか一項に記載の管理装置と、
前記複数のネットワーク装置によって構成される前記ネットワークと、を備えるネットワークシステム。
【請求項9】
コンピュータが、
ネットワークを構成する複数のネットワーク装置の統計データを収集し、
前記複数のネットワーク装置のうち、関連性を持つ複数の前記ネットワーク装置によって構成されるグループを生成し、
前記統計データを用いて、前記ネットワーク装置の負荷率と、前記グループのグループ負荷率とを計算し、
前記負荷率が閾値を超える場合、前記グループ負荷率に基づいて前記グループの負荷状況を判定し、
前記グループの前記負荷状況に基づいてネットワーク経路を更新する、管理方法。
【請求項10】
ネットワークを構成する複数のネットワーク装置の統計データを収集する処理と、
前記複数のネットワーク装置のうち、関連性を持つ複数の前記ネットワーク装置によって構成されるグループを生成する処理と、
前記統計データを用いて、前記ネットワーク装置の負荷率と、前記グループのグループ負荷率とを計算する処理と、
前記負荷率が閾値を超える場合、前記グループ負荷率に基づいて前記グループの負荷状況を判定する処理と、
前記グループの前記負荷状況に基づいてネットワーク経路を更新する処理と、をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークリソースを管理する管理装置等に関する。
【背景技術】
【0002】
マルチパスルーティングにおけるネットワーク経路の制御には、例えば、ディスタンスベクタ型ルーティングプロトコルや、リンクステート型ルーティングプロトコル、パスベクタ型ルーティングプロトコルといった手法が用いられる。これらのプロトコルは、経路の決定を端末間で実行するため、経路が重複しやすく、トラフィックが特定の箇所に集中する傾向がある。また、それらのプロトコルは、耐障害のために経路を変更する傾向があり、十分なパフォーマンスは出ているがこのままの状態ではスループットの低下の可能性があるといった予兆検知の観点が足りない。
【0003】
例えば、L2レイヤでは、OpenFlowといった技術によって、柔軟に経路を選択できる。しかし、OpenFlowの手法は、OpenFlowに対応した機種にしか適用できず、一般的なスイッチには適用できない。
【0004】
特許文献1には、障害が発生する前に、各装置の性能差を考慮した上で経路を選択し、かつ管理情報ベース(MIB:Management information base)やネットワークフローといった標準的に組み込まれている機能を利用する手法が開示されている。
【0005】
特許文献2には、仮想アドレスを共有するサーバ群を形成するサーバ機器と、ネットワーク機器の各々から収集される性能データに基づいて、通信経路を集中管理する制御方法について開示されている。特許文献2の方法では、ネットワーク機器の性能データに基づいて、サーバ機器の性能データに基づいて選択された最適なサーバ機器に到達するための最適経路を決定する。
【0006】
特許文献3には、複数のノードのフローを制御するコントローラを用いたネットワーク制御方法について開示されている。特許文献3の方法では、あるノードを通過するフローを別の代替経路に移す際に、移動対象のフローに対応する経路の送信元と宛先が一致し、移動対象のフローが通っていたあるノードを通らない複数の代替経路候補を求める。特許文献3の方法では、予め定められた基準に従って、複数の代替経路候補の中から代替経路を決定し、代替経路上の各ノードのフローを集約する。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2018-148382号公報
【文献】国際公開第2012/101890号
【文献】国際公開第2011/043312号
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1の手法によれば、装置単位での経路の最適化は実現される。しかし、特許文献1の手法は、最適化の範囲が局所的であり、ネットワーク全体の負荷を分散することに適用することは難しい。
【0009】
特許文献2の手法によれば、サーバ機器やネットワーク機器の性能データに基づいて、通信経路を集中管理できる。しかしながら、特許文献2の手法は、機器によって相対的に異なる性能データに基づいて最適経路を決定するため、ネットワーク全体の経路を制御する用途に適用することは難しい。
【0010】
特許文献3の手法によれば、ノードを通過するフローの数を削減し、各ノードに登録されるフロー情報のエントリ数を削減できる。しかしながら、特許文献3の手法は、代替経路の決定には用いることができるが、ネットワーク全体の経路を制御する用途に適用することは難しい。
【0011】
本発明の目的は、ネットワークを構成するネットワーク装置のリソースに頼らずに、ネットワーク経路を最適化できる管理装置等を提供することにある。
【課題を解決するための手段】
【0012】
本発明の一態様の管理装置は、ネットワークを構成する複数のネットワーク装置の統計データを収集する収集部と、複数のネットワーク装置のうち関連性を持つ複数のネットワーク装置によって構成されるグループを生成する生成部と、統計データを用いて、ネットワーク装置の負荷率と、グループのグループ負荷率とを計算する計算部と、負荷率が閾値を超える場合、グループ負荷率に基づいてグループの負荷状況を判定する判定部と、グループの負荷状況に基づいてネットワーク経路を更新する更新部と、を備える。
【0013】
本発明の一態様の管理方法においては、コンピュータが、ネットワークを構成する複数のネットワーク装置の統計データを収集し、複数のネットワーク装置のうち、関連性を持つ複数のネットワーク装置によって構成されるグループを生成し、統計データを用いて、ネットワーク装置の負荷率と、グループのグループ負荷率とを計算し、負荷率が閾値を超える場合、グループ負荷率に基づいてグループの負荷状況を判定し、グループの負荷状況に基づいてネットワーク経路を更新する。
【0014】
本発明の一態様のプログラムは、ネットワークを構成する複数のネットワーク装置の統計データを収集する処理と、複数のネットワーク装置のうち、関連性を持つ複数のネットワーク装置によって構成されるグループを生成する処理と、統計データを用いて、ネットワーク装置の負荷率と、グループのグループ負荷率とを計算する処理と、負荷率が閾値を超える場合、グループ負荷率に基づいてグループの負荷状況を判定する処理と、グループの負荷状況に基づいてネットワーク経路を更新する処理と、をコンピュータに実行させる。
【発明の効果】
【0015】
本発明によれば、ネットワークを構成するネットワーク装置のリソースに頼らずに、ネットワーク経路を最適化できる管理装置等を提供することが可能になる。
【図面の簡単な説明】
【0016】
【
図1】第1の実施形態に係るネットワークシステムの構成の一例を示すブロック図である。
【
図2】第1の実施形態に係るネットワークシステムに含まれるネットワークの一例を示す概念図である。
【
図3】第1の実施形態に係るネットワークシステムの管理装置が、
図2のネットワークを構成するスイッチの管理情報ベースに含まれる情報を分析した結果をまとめた分析テーブルの一例である。
【
図4】第1の実施形態に係るネットワークシステムに含まれるネットワークの別の一例を示す概念図である。
【
図5】第1の実施形態に係るネットワークシステムの管理装置が、
図4のネットワークを構成するスイッチの管理情報ベースに含まれる情報を分析した結果をまとめた分析テーブルの一例である。
【
図6】第1の実施形態に係るネットワークシステムの管理装置が、
図5の分析テーブルを送信元および送信先をキーとしてソートしたテーブルの一例である。
【
図7】第1の実施形態に係るネットワークシステムの管理装置が、
図6のテーブルに基づいて生成したグループをまとめたテーブルの一例である。
【
図8】第1の実施形態に係るネットワークシステムが複数のネットワークを含む一例を示す概念図である。
【
図9】第1の実施形態に係るネットワークシステムに含まれる複数のネットワークから生成されるグループの一例を示す概念図である。
【
図10】第1の実施形態に係るネットワークシステムの管理装置の動作の一例について説明するためのフローチャートである。
【
図11】第1の実施形態に係るネットワークシステムの管理装置による経路最適化処理の一例について説明するためのフローチャートである。
【
図12】12個のノードで構成されるネットワークの負荷状況の一例を示す概念図である。
【
図13】関連技術に係る手法を用いてネットワーク経路を変更する一例について説明するための概念図である。
【
図14】第1の実施形態に係る手法を用いてネットワーク経路を変更する一例について説明するための概念図である。
【
図15】第2の実施形態に係る管理装置の構成の一例を示すブロック図である。
【
図16】各実施形態に係る管理装置を実現するハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0017】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【0018】
(第1の実施形態)
まず、本発明の第1の実施形態に係るネットワークシステムについて図面を参照しながら説明する。本実施形態のネットワークシステムは、スイッチやルータ等の複数のネットワーク装置によって構成される通信ネットワーク(ネットワークとも呼ぶ)を含む。
【0019】
(構成)
図1は、本実施形態のネットワークシステムの構成の一例を示すブロック図である。本実施形態のネットワークシステムは、管理装置10、ルータ11、複数のスイッチ13、および複数の端末15によって構成される。複数のスイッチ13は、ネットワーク130を構成する。なお、ネットワーク130は、管理装置10やルータ11を含んでもよい。
図1にはルータ11を一つしか図示していないが、本実施形態のネットワークシステムは、複数のルータ11を含んでもよい。ネットワーク130に含まれるスイッチ13や、ネットワーク130に接続された個々の端末15は、ノードとも呼ばれる。
【0020】
ネットワーク130を構成するルータ11や複数のスイッチ13等のネットワーク装置には、SNMP(Simple Network Management Protocol)が実装されている。また、ネットワーク130を構成するルータ11や複数のスイッチ13等のネットワーク装置には、NetFlow、sFlowといった、個々の装置の統計データをフローとして送信できるプロトコルが実装される。ネットワーク130の内部には複数の冗長な経路があり、特定の経路やネットワーク機器が突発的に高負荷になることがある。
【0021】
管理装置10は、上記の条件を満たすネットワーク装置から構成されたネットワーク130を含むネットワークシステムに配置される。管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々の種々の情報を取得する。管理装置10は、取得された情報を分析し、各々のスイッチ13の負荷状況に応じて、ネットワーク130の構成を変更するための指示を出す。
【0022】
管理装置10は、ルータ11に接続される。管理装置10は、ネットワーク130を構成する複数のスイッチ13の間を接続する物理的な配線に関する情報を定期的に取得し、取得された情報を管理することによってネットワーク130全体の負荷を監視する。
【0023】
ネットワーク130を構成する複数のスイッチ13の間に優先度が設定されている場合、管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々に設定された優先度を管理する。例えば、インターネット経由で接続されたサーバから送信されたパケットを、そのサーバの製造元と同じメーカのスイッチ13に対して優先的にリソースを割り当てるために、そのメーカのスイッチ13の優先度が高く設定されていることがある。
【0024】
ルータ11は、管理装置10に接続される。また、ルータ11は、ネットワーク130を構成する複数のスイッチ13のうち少なくともいずれかに接続される。また、ルータ11は、図示しないインターネットやローカルネットに接続される。
図1には図示されてないが、ルータ11は、ネットワーク130とは別のネットワークを構成するスイッチ13に接続されてもよい。ルータ11は、ネットワーク130を構成する複数のスイッチ13を介して伝搬される信号をルーティングする。例えば、ルータ11のポートは、ローカル用のVLAN(Virtual Local Area Network)とグローバル用のVLANに分割される。ルータ11は、ローカル用のVLANの出口をグローバル用のVLANのIP(Internet Protocol)アドレスに指定することによってルーティングする。
【0025】
スイッチ13は、ネットワーク130を構成する複数のスイッチ13のいずれか、ルータ11、複数の端末15のいずれかに接続される。スイッチ13は、スイッチ13を通過したパケット数などの統計データをフローとして、定期的に管理装置10に送信する。
図1の例では、各々のスイッチ13は、ルータ11または上位のスイッチ13と、下位のスイッチ13または端末15のいずれかに物理的に接続される。スイッチ13は、管理装置10によって設定されたネットワーク経路を介して伝搬される信号を転送先のスイッチ13やルータ、端末15に転送する。スイッチ13は、複数のポートを有する。スイッチ13は、管理装置10によって設定された転送先の端末15がいずれのポートに接続されているのかを記憶する。通常、ルータ11に接続されるスイッチ13と、ルータ11との間には、ファイアウォールが設定される。
【0026】
図1において、複数のスイッチ13を結ぶ実線は、物理的な配線を示す。上位のスイッチ13と下位のスイッチ13とを結ぶ配線によって形成されるネットワーク経路は、ネットワーク130の負荷に応じてフレキシブルに変更できる。ネットワーク経路として設定されていない配線は、各々のスイッチ13の設定に応じて通信できないように設定される。通信できないように設定された配線も、ネットワーク130の負荷に応じたネットワーク経路の構成の変更によって、ネットワーク経路として使用される。
【0027】
管理装置10は、ネットワーク130全体の負荷を監視し、ネットワーク130に高い負荷が発生している領域がある場合は、ネットワーク130を構成する各々のスイッチ13の負荷状況に応じて、ネットワーク130におけるネットワーク経路を最適化する。
【0028】
管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々から取得される情報を用いて、ネットワーク130の構成を変更する候補を作成する。管理装置10は、ルータ11を介して、複数のスイッチ13の間の経路を設定する。例えば、管理装置10は、複数の端末15の間の接続経路や、図示しない装置と複数の端末15との間の接続経路を設定する。管理装置10は、特定の関連性を持つスイッチ13を選択する。管理装置10は、選択された複数のスイッチ13を含むグループを生成する。管理装置10は、ネットワーク130を構成する複数のスイッチ13の負荷状況に応じて、グループを動的に変更する。すなわち、管理装置10は、特定の関連性を持つ複数のスイッチ13を含むグループを動的に生成する。
【0029】
例えば、管理装置10は、以下の手法でグループを生成する。まず、管理装置10は、ルータ11や複数のスイッチ13等のネットワーク装置の各々の管理情報ベース(MIB:Management Information Base)を参照し、隣接し合うネットワーク装置を調査する。管理装置10は、互いに隣接し合うネットワーク装置を記録する。ネットワーク装置が複数隣接している場合、管理装置10は、それらの全てを記録する。次に、管理装置10は、各ネットワーク装置を流れるネットワークフローの送信元および送信先を含むカンバセーションを分析し、同時刻に流れるフローを調べる。管理装置10は、カンバセーションが一致するフローを近接した時刻に中継しているネットワーク装置同士は、関連性が高いと判断する。管理装置10は、関連性が高いと判断された複数のネットワーク装置で構成されるグループを生成する。
【0030】
図2は、複数のスイッチ13で構成されるネットワークの一例である。
図2のネットワークは、1から12までの番号が付された13個のスイッチ13で構成される。複数のスイッチ13の各々は、実線または破線で示す線で接続される。実線は、
図2の時点における信号伝達経路(ネットワーク経路とも呼ぶ)である。例えば、
図2の時点において、SW5には、SW2、SW9、およびSW10との間にネットワーク経路が設定されている。
【0031】
図3は、
図2のネットワークのMIBの情報を管理装置10が分析した分析状況の一例(分析テーブル131)である。分析テーブル131には、
図2の時点においてネットワーク経路が設定されている二つのスイッチ13を対応づける情報が記録される。例えば、管理装置10は、分析テーブル131の情報に基づいて、
図2の一点鎖線で囲まれた範囲内のSW2、SW5、SW9、およびSW10の関連性が高いと判断し、それらのスイッチ13によって構成されるグループを生成する。
【0032】
図4は、ルータ11および複数のスイッチ13で構成されるネットワークの別の一例である。
図4のネットワークは、1から13までの番号が付された13個のスイッチ13を含む。SW1は、ルータ11に接続される。SW8~13の各々は、複数の端末15(END-A、END-B、END-C、END-D、END-E、END-F)の各々に接続される。ルータ11は、端末15(END-Z)に接続される。複数のスイッチ13の各々の間には、実線で示すネットワーク経路が設定されている。
図4には、なお、
図4においては、設定されていないネットワーク経路が省略されている。
図4には、END-A、END-B、END-C、END-D、END-E、およびEND-Fの各々から、END-Zに向かうフローを矢印で示す。
【0033】
図5は、
図4のネットワークのMIBの情報を管理装置10が分析した分析状況の一例(分析テーブル132)である。分析テーブル132には、
図4の時点における各スイッチ13のフローの情報が記録される。例えば、管理装置10は、分析テーブル132を分析し、分析テーブル132の情報に含まれる送信元と送信先でソートし、
図6に示すような分析テーブル133を生成する。例えば、管理装置10は、
図6の分析テーブル133に基づいて、
図4のネットワークを構成する複数のスイッチ13をグループ化する。
図7は、
図6の分析テーブル133に基づいて、管理装置10が生成したグループをまとめたテーブル134である。例えば、管理装置10は、
図7のテーブル134に示すように、グループ1とグループ2を生成する。グループ1は、SW2、SW4、SW5、SW8、SW9、およびSW10を含む。グループ1は、SW3、SW6、SW7、SW11、SW12、およびSW13を含む。
【0034】
管理装置10は、生成されたグループの各々に対して、そのグループを構成するスイッチ13の負荷が加味された負荷率(グループ負荷率とも呼ぶ)を計算する。例えば、管理装置10は、グループ内で最も高い負荷率や、グループ内の負荷率の平均値をグループ負荷率として計算する。
【0035】
管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々から統計データを取得する。例えば、管理装置10は、複数のスイッチ13の各々から、それらのスイッチ13のトラフィックを取得する。例えば、管理装置10は、複数のスイッチ13の各々から、それらのスイッチ13を通過したパケット数などの統計データをフローとして定常的に取得する。例えば、統計データは、MIBの規格に基づいて監視されるデータである。管理装置10は、MIBの規格に基づいて監視される送受信トラフィックやトラフィック使用率などのインターフェースに関するデータを、複数のスイッチ13の各々から受信する。また、管理装置10は、送受信トラフィック以外の指標値に基づいてスイッチ13の負荷状況を監視してもよい。例えば、管理装置10は、CPU(Central Processing Unit)使用率やメモリ使用率、ディスク使用率などに関するリソースに関するデータや、プロセスに関するデータに基づいて、スイッチ13の負荷状況を判定してもよい。
【0036】
管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々から、複数のスイッチ13の各々の統計データを収集する。例えば、管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々から、複数のスイッチ13の各々の統計データを定常的に収集する。管理装置10は、ネットワーク130を構成する複数のスイッチ13の各々から取得される統計データに基づいて、複数のスイッチ13の各々の負荷状況を監視する。
【0037】
管理装置10は、複数のスイッチ13のうちいずれかが高負荷になった場合、ネットワーク130の内部におけるネットワーク経路を変更するための処理(ネットワーク経路変更処理とも呼ぶ)を実行する。例えば、管理装置10は、いずれかのグループに含まれる複数のスイッチ13のうちいずれかの統計データが閾値を超えた場合、ネットワーク経路変更処理を実行する。以下において、高負荷のスイッチ13を含むグループを第1グループと呼び、第1グループ以外のグループを第2グループと呼ぶ。
【0038】
例えば、管理装置10は、特許文献1(特開2018-148382号公報)に開示された以下の方法を用いて、グループ負荷率を計算する。例えば、管理装置10は、グループに含まれる複数のスイッチ13の負荷率のうち最大値をグループ負荷率として計算する。例えば、管理装置10は、グループに含まれる複数のスイッチ13の負荷率の平均値をグループ負荷率として計算する。
【0039】
管理装置10は、ある時点におけるスイッチ13のスイッチング容量の使用率について、以下の二つのパラメータを取得する。一つ目のパラメータは、ある時点においてスイッチ13が処理した総フレーム数F1である。二つ目のパラメータは、ある時点から期間tが経過した時点においてスイッチ13が処理した総フレーム数F2である。
【0040】
管理装置10は、取得した二つのパラメータを用いて、期間tにおけるCPU使用率の平均値Aを計算する。例えば、管理装置10は、以下の式1を用いて、期間tにおけるCPU使用率の平均値Aを計算する。
【0041】
ただし、上記の式1において、Tは期間tにおいてCPU使用率を測定した回数であり、Cpはそれぞれの測定時点におけるCPU使用率である。
【0042】
例えば、管理装置10は、以下の式2を用いて、スイッチ13のスイッチング容量Sを計算する。
【0043】
管理装置10は、ネットワークの構成変更によりF
3のトラフィックが発生する場合、以下の式3を用いて、リソース分配後のスイッチ13の負荷率γを計算する。
【0044】
管理装置10は、各グループに含まれる複数のスイッチ13の負荷率γの平均値または最大値を、グループごとのグループ負荷率に設定する。管理装置10は、グループごとのグループ負荷率に基づいて、ネットワークを構成する複数のスイッチ13のグループを再生成するか判断する。例えば、管理装置10は、グループ負荷率が閾値を超えた場合、ネットワークを構成する複数のスイッチ13のグループを再生成する。例えば、管理装置10は、第1グループのグループ負荷率を低下させるために、第1グループに含まれるスイッチ13の間のいずれかの経路を、第2グループに含まれるいずれかのスイッチ13に割り当てるようにグループを再生成する。
【0045】
管理装置10は、ネットワーク130を構成する複数のスイッチ13のグループを再生成する場合、構成変更可能な範囲内において、グループの候補(グループ候補とも呼ぶ)を生成する。管理装置10は、生成されたグループ候補の各々に対して、グループ負荷率を計算する。管理装置10は、グループ候補のグループ負荷率が閾値を下回る場合、そのグループ候補をグループとして再生成する。
【0046】
端末15は、ネットワーク130を構成する複数のスイッチ13のいずれかに接続される。端末15は、通信インターフェースを有する一般的な通信端末である。例えば、端末15は、ユーザの操作に応じた情報の入力を受け付け、受け付けた情報に基づいた情報処理を実行する。例えば、端末15は、情報処理によって得られた結果を画面に表示させる。例えば、端末15は、ネットワーク130を介して、ユーザによって入力された情報に基づいたデータを送信先に指定された別の端末15やサーバ(図示しない)等に送信したり、別の端末15やサーバ等から送信されてきたデータを受信したりする。端末15は、一般的な据え置き型のコンピュータであってもよいし、携帯端末であってもよい。
【0047】
〔構成例〕
図8は、本実施形態のネットワークシステムが複数のネットワーク130-1~3を含む一例を示す概念図である。なお、
図8においては、スイッチ(SW)および端末(END)の符号を省略する。ネットワーク130-1~3の各々には、基幹となるコアのスイッチ(コアスイッチとも呼ぶ)と、コアスイッチに接続されたエッジのスイッチ(エッジスイッチとも呼ぶ)が含まれる。エッジスイッチの各々には、少なくとも一つの端末が接続される。各々の端末には、同じネットワーク130に接続された別の端末のみと通信を行うものや、外部サーバ(図示しない)に接続するもの、サーバとして外部に公開されているものなど、様々な用途なものが混在する。個々の端末は、ノードとも呼ばれる。
【0048】
図9は、複数のネットワーク130-1~3の各々に含まれる複数のスイッチをグループ分けした例を示す概念図である。複数のネットワーク130-1~3は、複数のグループ135-1~6にグループ分けされる。なお、例えば、グループ135-1に含まれるいずれかのスイッチの負荷が閾値を超えたものとする。この場合、管理装置10は、グループ135-1に含まれるいずれかの経路を、グループ135-1とは異なるグループ135-2~6のうち少なくともいずれかのスイッチを経由する経路を候補として選択する。そして、管理装置10は、選択された経路の候補でネットワーク経路を構成した場合のグループ負荷率をグループ135-1~6の各々について計算する。グループ135-1~6の各々について算出されたグループ負荷率が閾値を下回った場合、管理装置10は、その経路の候補でネットワーク経路を更新する。一方、グループ135-1~6の各々について算出されたグループ負荷率が閾値を下回らなかった場合、別の経路を候補として選択し、グループ負荷率に基づいてネットワーク経路を最適化する。
【0049】
(動作)
次に、本実施形態の管理装置10の動作について図面を参照しながら説明する。
図10は、管理装置10の動作の一例について説明するためのフローチャートである。
図10のフローチャートに沿った処理の説明においては、管理装置10を動作主体として説明する。
【0050】
図10において、まず、管理装置10は、ネットワーク130を構成する複数のスイッチ13(ノードとも呼ぶ)のうち、特定の関連性を持つ複数のノードを含むグループを生成する(ステップS111)。
【0051】
管理装置10は、ネットワーク130を構成する複数のノードの各々から統計データを収集する(ステップS112)。
【0052】
管理装置10は、複数のノードの各々から収集された統計データを分析する(ステップS113)。
【0053】
高負荷のノードが発生した場合(ステップS114でYes)、管理装置10は、経路最適化処理を実行する(ステップS115)。一方、高負荷のノードが発生していない場合(ステップS114でNo)、ステップS112に戻る。
【0054】
経路最適化処理(ステップS115)において、異なるグループ間において経路変更があった場合(ステップS116でYes)、管理装置10は、新たなネットワーク経路に合わせてグループを更新する(ステップS117)。一方、経路最適化処理(ステップS114)において、異なるグループ間において経路変更がなかった場合(ステップS116でNo)、グループを更新しない。例えば、異なるグループ間において経路変更がなかった場合(ステップS116でNo)、そのネットワーク130を含むネットワークシステムを管理する端末等(図示しない)に、高負荷のノードが発生した旨を通知する。
【0055】
〔経路最適化処理〕
次に、管理装置10による経路最適化処理について図面を参照しながら説明する。
図11は、経路最適化処理の一例について説明するためのフローチャートである。
図11のフローチャートに沿った処理の説明においては、管理装置10を動作主体として説明する。
【0056】
図11において、まず、管理装置10は、高負荷のノードを含むグループを、経路変更の候補となるノードの選択対象を含むグループ(検証対象グループとも呼ぶ)に設定する(ステップS131)。
【0057】
次に、管理装置10は、検証対象グループに含まれる未検証のノードを経路変更の候補として選択する(ステップS132)。
【0058】
次に、管理装置10は、選択されたノードに経路が変更されたネットワーク経路に関して、グループ負荷率を計算する(ステップS133)。ステップS133において、管理装置10は、高負荷のノードを含むグループのみのグループ負荷率を計算してもよいし、ネットワーク130に含まれる全てのグループのグループ負荷率を計算してもよい。また、ステップS133において、管理装置10は、高負荷のノードを含むグループと、そのグループに隣接するグループのグループ負荷率を計算してもよい。
【0059】
ここで、算出されたグループ負荷率が閾値を下回らず(ステップS134でNo)、検証対象グループ内に未検証のノードがある場合(ステップS135でYes)、ステップS132に戻る。一方、算出されたグループ負荷率が閾値を下回らず(ステップS134でNo)、検証対象グループ内に未検証のノードがない場合(ステップS135でNo)、管理装置10は、未検証のグループがあるか否かに応じて、処理を切り替える(ステップS136)。
【0060】
未検証のグループがある場合(ステップS136でYes)、管理装置10は、いずれかの未検証のグループを検証対象グループに設定する(ステップS137)。ステップS137の後は、ステップS132に戻る。一方、未検証のグループがない場合(ステップS136でNo)、
図11のフローチャートに沿った処理を終了とし、
図10のフローチャートのステップS116に進む。
【0061】
ステップS134において、算出されたグループ負荷率が閾値を下回った場合(ステップS134でYes)、管理装置10は、選択されたノードを含むネットワーク経路に更新する(
図12のステップS138)。ステップS138の後は、
図10のステップS116に進む。
【0062】
以上のように、本実施形態のネットワークシステムは、複数のネットワーク装置によって構成されるネットワークと、管理装置とを備える。管理装置は、ネットワークを構成する複数のネットワーク装置の統計データを収集する。管理装置は、複数のネットワーク装置のうち、関連性を持つ複数のネットワーク装置によって構成されるグループを生成する。管理装置は、統計データを用いて、ネットワーク装置の負荷率と、グループのグループ負荷率とを計算する。管理装置は、負荷率が閾値を超える場合、グループ負荷率に基づいてグループの負荷状況を判定する。管理装置は。グループの負荷状況に基づいてネットワーク経路を更新する。
【0063】
本実施形態の一態様において、管理装置は、ネットワークに含まれる第1ネットワーク装置の負荷率が閾値を超えた場合、第1ネットワーク装置を含む第1グループのグループ負荷率を計算する。管理装置は、第1グループの負荷状況に基づいて、第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路を割り当てる候補として、ネットワークに含まれる第2ネットワーク装置を選択する。
【0064】
本実施形態の一態様において、管理装置は、第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路が第2ネットワーク装置に割り当てられたネットワーク経路候補に関して、第1グループのグループ負荷率を計算する。管理装置は、ネットワーク経路候補において第1グループのグループ負荷率が閾値を下回った場合、ネットワーク経路候補でネットワーク経路を更新する。
【0065】
本実施形態の一態様において、管理装置は、第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路が第2ネットワーク装置に割り当てられたネットワーク経路候補を選択する。管理装置は、ネットワーク経路候補に関して、第1ネットワーク装置を含む第1グループのグループ負荷率と、第2ネットワーク装置を含む第2グループのグループ負荷率とを計算する。管理装置は、ネットワーク経路候補において第1グループおよび第2グループのグループ負荷率が閾値を下回った場合、ネットワーク経路候補でネットワーク経路を更新する。管理装置は、関連性を持つ複数のネットワーク装置によって構成されるグループを再生成する。
【0066】
本実施形態の一態様において、管理装置は、複数のネットワーク装置のうち、カンバセーションが一致するフローを近接した時刻に中継し合う複数の前記ネットワーク装置を含むグループを生成する。
【0067】
本実施形態の一態様において、管理装置は、ネットワーク装置から送信される管理情報ベースに含まれる送受信トラフィックを用いて、ネットワーク装置の負荷率を計算する。本実施形態の一態様において、グループに含まれる複数のネットワーク装置の負荷率の平均値および最大値のうち少なくともいずれかをグループ負荷率として計算する。
【0068】
本実施形態によれば、性能や障害性に応じた複数の冗長な経路が存在する大規模なネットワーク環境下で、ネットワークを構成する複数のネットワーク装置の各々のCPUリソースを消費することなく、負荷状況に応じた最適な経路を自動的に決定できる。例えば、本実施形態によれば、大規模なネットワーク環境下において、多数の冗長な経路があり、全ての経路の候補について計算しきれないほどの選択肢がある場合であっても、負荷状況に応じた最適な経路を短時間で決定できる。
【0069】
また、本実施形態によれば、性能が異なる様々なネットワーク装置が含まれるネットワークにおいて、各々のネットワーク装置の性能差によらずネットワークの経路を動的に変更し、ネットワーク負荷を平準化できる。そのため、本実施形態の手法は、SNMPや、NetFlow、sFlowといった一般的なスイッチに標準的に実装されている技術に適用できる。本実施形態の手法は、スイッチの機種に限定を受けることがないため、多様な環境に適用できる。
【0070】
ここで、本実施形態の手法と、関連技術の手法との相違について、一例を挙げて説明する。
図12は、12個のノード(SW1~SW12)で構成されるネットワークの負荷状況の一例を示す概念図である。
図12のネットワークでは、SW2の負荷が70%、SW4の負荷が90%の高負荷になっている状態を示す。例えば、高負荷と判定される閾値を70%とする。
【0071】
図13は、関連技術の手法を用いて、ノードごとの負荷率に基づいて、
図12のネットワーク経路を変更した例である。関連技術においては、個々のノードの負荷率に基づいて経路を変更する。
図13の例の場合、SW4の負荷を低下させるために、ノードごとの負荷率に基づいて、SW1とSW8との間の経路において、経由するノードをSW4からSW5に変更する。その結果、SW4の負荷は90%から65%に低下したものの、SW4とSW5の上位のSW2の負荷は依然として70%のままである。すなわち、個々のノードの負荷率に基づいてノード間で経路を最適化する場合、負荷が高くなっているノードの負荷を低下させることはできるが、その上位のノードの負荷は軽減されない。
【0072】
図14は、本実施形態の手法を用いて、グループごとのグループ負荷率に基づいて、
図12のネットワーク経路を変更した例である。本実施形態の手法においては、グループごとのグループ負荷率に基づいて経路を変更する。
図14の例の場合、SW4の負荷を低下させるために、グループごとのグループ負荷率に基づいて、SW1とSW8とを接続する経路を、SW2およびSW4を経由する経路から、SW3およびSW5経路に変更する。その結果、SW4の負荷は90%から65%に低下し、SW4とSW5の上位のSW2の負荷が45%に低下した。すなわち、グループごとのグループ負荷率に基づいて経路を変更すれば、負荷が高くなっているノードの負荷を低下させることができ、かつその上位のノードの負荷も軽減させることができる。
【0073】
例えば、小規模なネットワークであれば、ネットワークに含まれる全ての経路の通信量を試算して最適な経路をシミュレートすることによって、定常的に発生する負荷に対しては対処可能である。しかしながら、大規模なネットワークの場合、ネットワークに含まれる全ての経路の通信量を試算して最適な経路をシミュレートするためには時間がかかり、計算中に負荷状況が変化する可能性がある。そのため、ネットワークに含まれる全ての経路の通信量を試算して最適な経路をシミュレートする手法は、定常的に高負荷になっている環境はともかく、突発的に負荷が発生するような環境への適用は困難である。
【0074】
本実施形態の手法では、グループごとの負荷率に基づいて最適な経路をシミュレートできるので、計算時間が短縮され、突発的に負荷が発生するような環境にも適用できる。
【0075】
(第2の実施形態)
次に、第2の実施形態に係る管理装置について図面を参照しながら説明する。本実施形態の管理装置は、第1の実施形態の管理装置10を簡略化した構成である。本実施形態の管理装置は、複数のネットワーク装置によって構成されるネットワークにおけるネットワーク経路を最適化する。
【0076】
図15は、本実施形態の管理装置20の構成の一例を示すブロック図である。管理装置20は、収集部21、生成部22、計算部23、判定部24、および更新部25を備える。
【0077】
収集部21は、ネットワークを構成する複数のネットワーク装置の統計データを収集する。生成部22は、複数のネットワーク装置のうち関連性を持つ複数のネットワーク装置によって構成されるグループを生成する。計算部23は、統計データを用いて、ネットワーク装置の負荷率と、グループのグループ負荷率とを計算する。判定部24は、負荷率が閾値を超える場合、グループ負荷率に基づいてグループの負荷状況を判定する。更新部25は、グループの負荷状況に基づいてネットワーク経路を更新する。
【0078】
例えば、計算部23は、ネットワークに含まれる第1ネットワーク装置の負荷率が閾値を超えた場合、第1ネットワーク装置を含む第1グループのグループ負荷率を計算する。例えば、更新部25は、第1グループの負荷状況に基づいて、第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路を割り当てる候補として、ネットワークに含まれる第2ネットワーク装置を選択する。
【0079】
例えば、計算部23は、第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路が第2ネットワーク装置に割り当てられたネットワーク経路候補に関して、第1グループのグループ負荷率を計算する。例えば、更新部25は、ネットワーク経路候補において第1グループのグループ負荷率が閾値を下回った場合、ネットワーク経路候補でネットワーク経路を更新する。
【0080】
例えば、計算部23は、第1ネットワーク装置を経由する経路のうち少なくともいずれかの経路が第2ネットワーク装置に割り当てられたネットワーク経路候補を選択する。例えば、計算部23は、選択されたネットワーク経路候補に関して、第1ネットワーク装置を含む第1グループのグループ負荷率と、第2ネットワーク装置を含む第2グループのグループ負荷率とを計算する。例えば、更新部25は、ネットワーク経路候補において第1グループおよび第2グループのグループ負荷率が閾値を下回った場合、ネットワーク経路候補でネットワーク経路を更新する。例えば、生成部22は、関連性を持つ複数のネットワーク装置によって構成されるグループを再生成する。
【0081】
例えば、生成部22は、複数のネットワーク装置のうち、カンバセーションが一致するフローを近接した時刻に中継し合う複数のネットワーク装置を含むグループを生成する。
【0082】
例えば、計算部23は、ネットワーク装置から送信される管理情報ベースに含まれる送受信トラフィックを用いて、ネットワーク装置の負荷率を計算する。例えば、計算部23は、グループに含まれる複数のネットワーク装置の負荷率の平均値および最大値のうち少なくともいずれかをグループ負荷率として計算する。
【0083】
本実施形態によれば、ネットワークを構成するネットワーク装置の統計データに基づいてネットワーク経路を更新するため、ネットワーク装置のリソースに頼らずに、ネットワーク経路を最適化できる。
【0084】
(ハードウェア)
ここで、本発明の各実施形態に係る管理装置やネットワーク装置、端末等の装置を実現するハードウェア構成について、
図16の情報処理装置90を一例として挙げて説明する。なお、
図16の情報処理装置90は、各実施形態の装置の処理を実行するための構成例であって、本発明の範囲を限定するものではない。
【0085】
図16のように、情報処理装置90は、プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95、および通信インターフェース96を備える。
図16においては、インターフェースをI/F(Interface)と略して表記する。プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95、および通信インターフェース96は、バス98を介して互いにデータ通信可能に接続される。また、プロセッサ91、主記憶装置92、補助記憶装置93および入出力インターフェース95は、通信インターフェース96を介して、インターネットやイントラネットなどのネットワークに接続される。
【0086】
プロセッサ91は、補助記憶装置93等に格納されたプログラムを主記憶装置92に展開し、展開されたプログラムを実行する。本実施形態においては、情報処理装置90にインストールされたソフトウェアプログラムを用いる構成とすればよい。プロセッサ91は、本実施形態に係る装置による処理を実行する。
【0087】
主記憶装置92は、プログラムが展開される領域を有する。主記憶装置92は、例えばDRAM(Dynamic Random Access Memory)などの揮発性メモリとすればよい。また、MRAM(Magnetoresistive Random Access Memory)などの不揮発性メモリを主記憶装置92として構成・追加してもよい。
【0088】
補助記憶装置93は、種々のデータを記憶する。補助記憶装置93は、ハードディスクやフラッシュメモリなどのローカルディスクによって構成される。なお、種々のデータを主記憶装置92に記憶させる構成とし、補助記憶装置93を省略することも可能である。
【0089】
入出力インターフェース95は、情報処理装置90と周辺機器とを接続するためのインターフェースである。通信インターフェース96は、規格や仕様に基づいて、インターネットやイントラネットなどのネットワークを通じて、外部のシステムや装置に接続するためのインターフェースである。入出力インターフェース95および通信インターフェース96は、外部機器と接続するインターフェースとして共通化してもよい。
【0090】
情報処理装置90には、必要に応じて、キーボードやマウス、タッチパネルなどの入力機器を接続するように構成してもよい。それらの入力機器は、情報や設定の入力に使用される。なお、タッチパネルを入力機器として用いる場合は、表示機器の表示画面が入力機器のインターフェースを兼ねる構成とすればよい。プロセッサ91と入力機器との間のデータ通信は、入出力インターフェース95に仲介させればよい。
【0091】
また、情報処理装置90には、情報を表示するための表示機器を備え付けてもよい。表示機器を備え付ける場合、情報処理装置90には、表示機器の表示を制御するための表示制御装置(図示しない)が備えられていることが好ましい。表示機器は、入出力インターフェース95を介して情報処理装置90に接続すればよい。
【0092】
以上が、本発明の各実施形態に係る装置を可能とするためのハードウェア構成の一例である。なお、
図16のハードウェア構成は、各実施形態に係る装置の演算処理を実行するためのハードウェア構成の一例であって、本発明の範囲を限定するものではない。また、各実施形態に係る装置に関する処理をコンピュータに実行させるプログラムも本発明の範囲に含まれる。さらに、各実施形態に係るプログラムを記録したプログラム記録媒体も本発明の範囲に含まれる。記録媒体は、例えば、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光学記録媒体で実現できる。また、記録媒体は、USB(Universal Serial Bus)メモリやSD(Secure Digital)カードなどの半導体記録媒体や、フレキシブルディスクなどの磁気記録媒体、その他の記録媒体によって実現してもよい。プロセッサが実行するプログラムが記録媒体に記録されている場合、その記録媒体はプログラム記録媒体に相当する。
【0093】
各実施形態の装置の構成要素は、任意に組み合わせることができる。また、各実施形態の装置の構成要素は、ソフトウェアによって実現してもよいし、回路によって実現してもよい。
【0094】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0095】
10、20 管理装置
11 ルータ
13 スイッチ
15 端末
21 収集部
22 生成部
23 計算部
24 判定部
25 更新部
130 ネットワーク