IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

7050023ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法
<>
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図1
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図2
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図3
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図4
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図5
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図6
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図7
  • -ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-30
(45)【発行日】2022-04-07
(54)【発明の名称】ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法
(51)【国際特許分類】
   H04L 43/00 20220101AFI20220331BHJP
【FI】
H04L43/00
【請求項の数】 7
(21)【出願番号】P 2019055440
(22)【出願日】2019-03-22
(65)【公開番号】P2020156053
(43)【公開日】2020-09-24
【審査請求日】2021-01-22
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、総務省「革新的AI ネットワーク統合基盤技術の研究開発」委託事業、産業技術力強化法第19条の適用を受ける特許出願
【早期審査対象出願】
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】宮本 達史
(72)【発明者】
【氏名】蕨野 貴之
(72)【発明者】
【氏名】宮澤 雅典
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2005-354280(JP,A)
【文献】特開2019-029856(JP,A)
【文献】国際公開第2018/175972(WO,A1)
【文献】米国特許出願公開第2018/0376390(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
(57)【特許請求の範囲】
【請求項1】
通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースと、
前記通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得部と、
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて前記タスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習エンジンと、
前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行部と、
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換部と、
前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換部と、を備え、
前記強化学習エンジンは、前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行する、
ネットワーク障害復旧システムであって、
前記グラフ構造ネットワーク状態データの行列形式データは、
通信ネットワークのネットワークトポロジを示す第1多層行列と、通信ネットワークの性能の状態であるネットワーク性能状態を示す多層行列であってネットワーク性能状態の監視項目ごとに設けられる第2多層行列とを有し、
前記第2多層行列において、前記第1多層行列で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値は当該ネットワーク構成要素のネットワーク性能状態が正常か否かを示す、
ネットワーク障害復旧システム。
【請求項2】
前記通信ネットワークに障害が発生してから復旧するまでに前記通信ネットワークに対して実行されたタスクを記録するワークフロー生成部、
をさらに備える請求項1に記載のネットワーク障害復旧システム。
【請求項3】
前記強化学習エンジンは、前記選択されたタスクが前記通信ネットワークに対して実行されても前記通信ネットワークの障害が復旧しない場合に、前記強化学習演算処理における報酬として負の値を設定する、
請求項1又は2のいずれか1項に記載のネットワーク障害復旧システム。
【請求項4】
前記強化学習エンジンは、前記選択されたタスクの実行に要する時間に応じて、前記強化学習演算処理における報酬を設定する、
請求項1から3のいずれか1項に記載のネットワーク障害復旧システム。
【請求項5】
前記強化学習エンジンは、前記選択されたタスクの実行によって前記通信ネットワークの状態に影響を及ぼした範囲の大きさに応じて、前記強化学習演算処理における報酬を設定する、
請求項1から4のいずれか1項に記載のネットワーク障害復旧システム。
【請求項6】
コンピュータに、
通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、
前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換ステップと、
前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換ステップと、
を実行させるためのコンピュータプログラムであって、
前記強化学習ステップは、前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行し、
前記グラフ構造ネットワーク状態データの行列形式データは、
通信ネットワークのネットワークトポロジを示す第1多層行列と、通信ネットワークの性能の状態であるネットワーク性能状態を示す多層行列であってネットワーク性能状態の監視項目ごとに設けられる第2多層行列とを有し、
前記第2多層行列において、前記第1多層行列で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値は当該ネットワーク構成要素のネットワーク性能状態が正常か否かを示す、
コンピュータプログラム。
【請求項7】
ネットワーク状態取得部が、通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、
強化学習エンジンが、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、
タスク実行部が、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、
を含むネットワーク障害復旧方法であって、
ネットワーク状態データ構造変換部が、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換ステップと、
ネットワーク状態データ行列変換部が、前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換ステップと、をさらに含み、
前記強化学習エンジンは、前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行し、
前記グラフ構造ネットワーク状態データの行列形式データは、
通信ネットワークのネットワークトポロジを示す第1多層行列と、通信ネットワークの性能の状態であるネットワーク性能状態を示す多層行列であってネットワーク性能状態の監視項目ごとに設けられる第2多層行列とを有し、
前記第2多層行列において、前記第1多層行列で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値は当該ネットワーク構成要素のネットワーク性能状態が正常か否かを示す、
ネットワーク障害復旧方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法に関する。
【背景技術】
【0002】
従来、通信ネットワークの障害復旧における復旧手段の実行手順を機械学習により作成する技術として、例えば特許文献1が知られている。特許文献1に記載の従来技術では、教師データありの事前学習によって予め復旧モデルを取得する。そして、実際の通信ネットワークの障害発生時に、学習部が復旧モデルにより各復旧手段の実行手順を選定し、手順修正部が選定された実行手順の実行結果の通信ネットワークの障害の復旧レベルに応じて学習部に対して手順の修正を通知する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-170618号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述した従来技術では、教師データありの事前学習によって予め復旧モデルを取得するので、通信ネットワークで発生し得る事象が多くなると、全ての事象を網羅する教師データを準備することが難しい場合があった。このため、一部の事象に限定した教師データによって復旧モデルの事前学習を行わなければならない場合、復旧モデルが不十分になって各復旧手段の実行手順の選定結果の品質が低下する可能性があった。
【0005】
本発明は、このような事情を考慮してなされたものであり、その目的は、機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図ることにある。
【課題を解決するための手段】
【0006】
(1)本発明の一態様は、通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースと、前記通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得部と、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて前記タスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習エンジンと、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行部と、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換部と、前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換部と、を備え、前記強化学習エンジンは、前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行する、ネットワーク障害復旧システムであって、前記グラフ構造ネットワーク状態データの行列形式データは、通信ネットワークのネットワークトポロジを示す第1多層行列と、通信ネットワークの性能の状態であるネットワーク性能状態を示す多層行列であってネットワーク性能状態の監視項目ごとに設けられる第2多層行列とを有し、前記第2多層行列において、前記第1多層行列で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値は当該ネットワーク構成要素のネットワーク性能状態が正常か否かを示す、ネットワーク障害復旧システムである。
(2)本発明の一態様は、前記通信ネットワークに障害が発生してから復旧するまでに前記通信ネットワークに対して実行されたタスクを記録するワークフロー生成部、をさらに備える上記(1)のネットワーク障害復旧システムである。
(3)本発明の一態様は、前記強化学習エンジンは、前記選択されたタスクが前記通信ネットワークに対して実行されても前記通信ネットワークの障害が復旧しない場合に、前記強化学習演算処理における報酬として負の値を設定する、上記(1)又は(2)のいずれかのネットワーク障害復旧システムである。
(4)本発明の一態様は、前記強化学習エンジンは、前記選択されたタスクの実行に要する時間に応じて、前記強化学習演算処理における報酬を設定する、上記(1)から(3)のいずれかのネットワーク障害復旧システムである。
(5)本発明の一態様は、前記強化学習エンジンは、前記選択されたタスクの実行によって前記通信ネットワークの状態に影響を及ぼした範囲の大きさに応じて、前記強化学習演算処理における報酬を設定する、上記(1)から(4)のいずれかのネットワーク障害復旧システムである。
【0007】
)本発明の一態様は、コンピュータに、通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換ステップと、前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換ステップと、を実行させるためのコンピュータプログラムであって、前記強化学習ステップは、前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行し、前記グラフ構造ネットワーク状態データの行列形式データは、通信ネットワークのネットワークトポロジを示す第1多層行列と、通信ネットワークの性能の状態であるネットワーク性能状態を示す多層行列であってネットワーク性能状態の監視項目ごとに設けられる第2多層行列とを有し、前記第2多層行列において、前記第1多層行列で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値は当該ネットワーク構成要素のネットワーク性能状態が正常か否かを示す、コンピュータプログラムである。
【0008】
)本発明の一態様は、ネットワーク状態取得部が、通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、強化学習エンジンが、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、タスク実行部が、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、を含むネットワーク障害復旧方法であって、ネットワーク状態データ構造変換部が、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換ステップと、ネットワーク状態データ行列変換部が、前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換ステップと、をさらに含み、前記強化学習エンジンは、前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行し、前記グラフ構造ネットワーク状態データの行列形式データは、通信ネットワークのネットワークトポロジを示す第1多層行列と、通信ネットワークの性能の状態であるネットワーク性能状態を示す多層行列であってネットワーク性能状態の監視項目ごとに設けられる第2多層行列とを有し、前記第2多層行列において、前記第1多層行列で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値は当該ネットワーク構成要素のネットワーク性能状態が正常か否かを示す、ネットワーク障害復旧方法である。
【発明の効果】
【0009】
本発明によれば、機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図ることができるという効果が得られる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係るネットワーク障害復旧システムの構成例を示すブロック図である。
図2】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
図3】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
図4】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
図5】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
図6】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
図7】一実施形態に係るネットワーク状態データの機械学習用データの例を示す多層行列図である。
図8】一実施形態に係るネットワーク状態データの機械学習用データの例を示す多層行列図である。
【発明を実施するための形態】
【0011】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係るネットワーク障害復旧システムの構成例を示すブロック図である。図1において、ネットワーク障害復旧システム1は、ネットワーク状態取得部(NW状態取得部)10と、強化学習エンジン20と、タスクデータベース30と、ワークフロー実行・生成部40とを備える。NW状態取得部10は、受信部11と、判断部12と、ネットワーク状態データ構造変換部(NW状態データ構造変換部)13と、ネットワーク状態データ行列変換部(NW状態データ行列変換部)14とを備える。強化学習エンジン20は、モデル21と制御部22とを備える。ワークフロー実行・生成部40は、ワークフロー生成部41とタスク実行部42とを備える。
【0012】
ネットワーク基盤(NW基盤)100は、ネットワーク障害復旧システム1が障害復旧の対象にする通信ネットワークの基盤である。NW基盤100は、ネットワーク基盤管理部(NW基盤管理部)110と、オーケストレータ120と、通信ネットワークを構成するネットワーク機器の一例としてのルータとを備える。図1の例では、NW基盤100は、複数台のルータによって通信ネットワークを構成する。具体的には、障害発生前は3台のルータA,B,Cによって通信ネットワークが構成される。その後、ルータAに障害が発生することが図1に示されている。ルータDは、予備のルータとして予め設けられたものである。なお、ルータA,B,C,Dは、それぞれ独立したルータ装置として設けられてもよく、又は、コンピュータによって実現される仮想マシン(VM)上でルータアプリケーションが実行されることによりルータ機能が実現されるものであってもよい。
【0013】
NW基盤管理部110は、3台のルータA,B,Cによって構成される通信ネットワークの状態を管理し、当該通信ネットワークの状態を示すネットワーク状態データをNW状態取得部10へ送信する。ネットワーク状態データは、通信ネットワークの接続構成(ネットワークトポロジ)を示すネットワークトポロジ情報を含むデータである。このネットワークトポロジ情報は、通信ネットワークを構成する3台のルータA,B,Cの情報に加えて予備のルータDの情報も含むものである。
【0014】
また、ネットワーク状態データは、通信ネットワークの状態の一例として通信ネットワークの性能の状態を示すNW性能状態情報を含むデータである。NW性能状態情報は、例えば、ルータ機能を実現するためのCPU(Central Processing Unit:中央演算処理装置)やハードディスク等の記憶装置に関するCPU使用率や記憶容量使用率などのデータである。
【0015】
NW状態取得部10において、受信部11は、NW基盤管理部110からネットワーク状態データを受信する。判断部12は、受信部11がNW基盤管理部110から受信したネットワーク状態データに基づいて通信ネットワークに障害が発生しているか否かを判断する。NW状態取得部10は、判断部12による判断結果が通信ネットワークに障害発生ありの場合(図1に示す「障害が復旧している?:No」の場合)、通信ネットワークに障害が発生していると判断されたネットワーク状態データを強化学習エンジン20へ出力する。具体的には、NW状態取得部10は、判断部12による判断結果が通信ネットワークに障害発生ありの場合(図1に示す「障害が復旧している?:No」の場合)、通信ネットワークに障害が発生していると判断されたネットワーク状態データをNW状態データ構造変換部13及びNW状態データ行列変換部14により機械学習用データに変換し、変換結果であるネットワーク状態データの機械学習用データを強化学習エンジン20へ出力する。NW状態データ構造変換部13は、ネットワーク状態データをグラフ構造ネットワーク状態データに変換する。NW状態データ行列変換部14は、グラフ構造ネットワーク状態データを行列形式データに変換する。NW状態データ行列変換部14による変換結果のグラフ構造ネットワーク状態データの行列形式データがネットワーク状態データの機械学習用データとして強化学習エンジン20へ出力される。
【0016】
タスクデータベース30は、NW基盤100の通信ネットワークに発生した障害を復旧させるためのタスクが登録されたデータベースである。
【0017】
強化学習エンジン20は、NW状態取得部10から出力されたネットワーク状態データ(通信ネットワークに障害が発生していると判断されたネットワーク状態データ)の機械学習用データに基づいてタスクデータベース30から通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する。具体的には、強化学習エンジン20は、NW状態取得部10から出力されたネットワーク状態データの機械学習用データをモデル21の状態の入力にする。モデル21は、機械学習のモデルであって、教師データなしの機械学習である強化学習のモデルである。モデル21としては、例えば、DDQN、DDPG、A3Cなどのモデルを利用することができる。モデル21は、自己の状態に基づいて、タスクデータベース30から通信ネットワークに適用するタスクを選択する。モデル21は、出力として選択結果のタスクを指定する。
【0018】
制御部22は、モデル21から出力されたタスクの指定に基づいて、当該指定されたタスクの実行をワークフロー実行・生成部40のタスク実行部42へ指示する。タスク実行部42は、制御部22から指示されたタスクを、NW基盤100のオーケストレータ120によって実行させる。オーケストレータ120は、当該タスクを通信ネットワークに適用する。
【0019】
制御部22は、モデル21によるタスクの選択結果に基づいて、モデル21に対して報酬を設定する。例えば、制御部22は、モデル21によって選択されたタスクの実行結果に基づいて、モデル21に対して報酬を設定してもよい。制御部22は、モデル21によって選択されたタスクの特性(例えば、タスクの実行に要する時間など)に基づいて、モデル21に対して報酬を設定してもよい。
【0020】
強化学習エンジン20は、CPU及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより強化学習エンジン20の機能が実現されるものである。
【0021】
NW状態取得部10は、判断部12による判断結果が通信ネットワークに障害発生ありから障害発生なしに変化した場合(図1に示す「障害が復旧している?:Yes」の場合)、ワークフロー実行・生成部40のワークフロー生成部41に対して、ワークフローの生成を指示する。ワークフロー生成部41は、通信ネットワークに障害が発生してから復旧するまでに当該通信ネットワークに対して実行されたタスクを記録する。このタスクの記録には、各タスクのタスク識別子と実行順序とが記録される。
【0022】
図1の例では、ルータAに障害が発生し、このルータAによる通信ネットワークの障害発生が判断部12によってネットワーク状態データに基づいて検出される。次いで、強化学習エンジン20のモデル21によって、通信ネットワークに障害が発生していると判断されたネットワーク状態データの機械学習用データに基づいてタスクデータベース30から通信ネットワークに適用するタスクが選択され、選択されたタスクがタスク実行部42によって実行されることにより、当該タスクがオーケストレータ120を介して通信ネットワークに適用される。図1の例では、実行されたタスクは「予備のルータDを適用する」である。このタスクの実行により、通信ネットワークはルータAの代わりにルータDを経由するように再構成される。この結果、ネットワーク状態データに基づいた判断部12による判断結果が通信ネットワークに障害発生ありから障害発生なしに変化する。次いで、NW状態取得部10からワークフロー生成部41に対してワークフローの生成が指示され、ワークフロー生成部41によって、通信ネットワークに障害が発生してから復旧するまでに当該通信ネットワークに対して実行されたタスクが記録されることにより、当該障害の発生に係る復旧のためのタスク実行手順を示すワークフローが生成される。
【0023】
次に図2から図6を参照して本実施形態に係るネットワーク障害復旧システム1の動作を説明する。図2から図6は、本実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。ここでは、図1に示されるNW基盤100のルータAに障害が発生する場合を例に挙げて説明する。
【0024】
(ステップS1) 図2において、NW基盤管理部110は、障害通知をNW状態取得部10へ送信する。
【0025】
(ステップS2) NW状態取得部10は、ネットワーク(NW)状態送信依頼をNW基盤管理部110へ送信する。
【0026】
(ステップS3) NW基盤管理部110は、ネットワーク状態データ(NW状態データ)をNW状態取得部10へ送信する。
【0027】
(ステップS4) NW状態取得部10は、NW状態データに基づいて障害が発生しているか否かを判断する。この結果、障害が発生していると判断された場合、ステップS5に進む。ここでは、図1に示されるNW基盤100のルータAに障害が発生している。
【0028】
(ステップS5) NW状態取得部10は、NW状態データを機械学習用データに変換する。
【0029】
(ステップS6) NW状態取得部10は、NW状態データから変換した機械学習用データを強化学習エンジン20へ送信する。
【0030】
(ステップS7) 強化学習エンジン20は、NW状態データから変換された機械学習用データをモデル21の状態の入力し、モデル21によって、タスクデータベース30から通信ネットワークに適用するタスクを選択する。ここでは、タスク「予備のルータDを適用する」が選択される。
【0031】
(ステップS8) 強化学習エンジン20は、モデル21によって選択されたタスクの実行をタスク実行部42へ依頼する。
【0032】
(ステップS9) タスク実行部42は、強化学習エンジン20から実行を依頼されたタスクに対応する障害復旧API(Application Programming Interface)を、オーケストレータ120により実行させる。
【0033】
(ステップS10) 図3において、オーケストレータ120は、タスク実行部42からの実行制御によって該当する障害復旧APIを実行する。オーケストレータ120は、予備のルータDに対応するインスタンスの生成をNW基盤管理部110へ指示する。
【0034】
(ステップS11) NW基盤管理部110は、予備のルータDに対応するインスタンスの生成を行う。
【0035】
(ステップS12) ルータDは、起動通知をNW基盤管理部110へ送信する。
【0036】
(ステップS13) NW基盤管理部110は、インスタンスの生成完了をオーケストレータ120へ通知する。
【0037】
(ステップS14) オーケストレータ120は、ルータAの代わりにルータDを経由するようにルーティング設定の変更をNW基盤管理部110へ指示する。
【0038】
(ステップS15) NW基盤管理部110は、当該ルーティング設定の変更に対応するルーティング設定をルータDに行う。
【0039】
(ステップS16) ルータDは、自己の性能情報をNW基盤管理部110へ送信する。
【0040】
(ステップS17) NW基盤管理部110は、ルータDの性能情報に基づいて、ルータDが正常状態であるか否かを判定する。この結果、正常状態であると判定された場合、ステップS18に進む。
【0041】
(ステップS18) NW基盤管理部110は、ルーティング設定の変更完了をオーケストレータ120へ通知する。
【0042】
(ステップS19) 図4において、NW基盤管理部110は、NW状態データをNW状態取得部10へ送信する。
【0043】
(ステップS20) NW状態取得部10は、NW状態データに基づいて障害が発生しているか否かを判断する。この結果、障害が発生していると判断された場合、ステップS21に進む。ここでは、まだルータDによって通信ネットワークが正常状態に復旧していない。
【0044】
(ステップS21) NW状態取得部10は、NW状態データを機械学習用データに変換する。
【0045】
(ステップS22) NW状態取得部10は、NW状態データから変換した機械学習用データを強化学習エンジン20へ送信する。
【0046】
(ステップS23) 強化学習エンジン20は、NW状態データから変換された機械学習用データをモデル21の状態の入力し、モデル21によって、タスクデータベース30から通信ネットワークに適用するタスクを選択する。ここでは、タスク「通信サービスの疎通を確認する」が選択される。また、強化学習エンジン20は、モデル21による過去のタスクの選択結果に基づいて、モデル21に対して報酬を設定する。
【0047】
(ステップS24) 強化学習エンジン20は、モデル21によって選択されたタスクの実行をタスク実行部42へ依頼する。
【0048】
(ステップS25) タスク実行部42は、強化学習エンジン20から実行を依頼されたタスクに対応するサービス疎通確認APIを、オーケストレータ120により実行させる。
【0049】
(ステップS26) 図5において、オーケストレータ120は、タスク実行部42からの実行制御によって該当するサービス疎通確認APIを実行する。オーケストレータ120は、サービス疎通状態確認コマンドの実行をルータDへ指示する。
【0050】
(ステップS27) ルータDは、サービス疎通状態確認コマンドを実行する。
【0051】
(ステップS28) ルータDは、サービス疎通状態確認コマンドの実行結果を確認応答としてオーケストレータ120へ送信する。
【0052】
(ステップS29) 図6において、NW基盤管理部110は、NW状態データをNW状態取得部10へ送信する。
【0053】
(ステップS30) NW状態取得部10は、NW状態データに基づいて障害が発生しているか否かを判断する。この結果、障害が発生していると判断された場合、ステップS21に戻る。一方、障害が発生していないと判断された場合(これは障害が復旧したと判断された場合に対応する)、ステップS31に進む。ここでは、ルータDによって通信ネットワークが正常状態に復旧している。
【0054】
(ステップS31) NW状態取得部10は、ワークフローの登録をワークフロー生成部41へ指示する。
【0055】
(ステップS32) ワークフロー生成部41は、通信ネットワークに障害が発生してから復旧するまでに当該通信ネットワークに対して実行されたタスクを記録する。このタスクの記録は、各タスクのタスク識別子と実行順序とが記録されることにより、当該障害の発生に係る復旧のためのタスク実行手順を示すワークフローとして登録される。
【0056】
本実施形態によれば、通信ネットワークに障害が発生した場合に当該通信ネットワークを正常な状態に復旧させるためのワークフローを、強化学習を利用して動的に生成することができる。これにより、機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図る効果が得られる。また、強化学習は教師データなしの機械学習であるので、教師データを準備するためのコストや教師データを用いた事前学習のためのコストを削減することができる。
【0057】
[強化学習の報酬の例]
強化学習エンジン20の制御部22は、モデル21によるタスクの選択結果に基づいて、モデル21に対して報酬を設定する。以下、モデル21に対する報酬の設定例を説明する。
【0058】
(報酬の設定例1)
報酬の設定例1では、モデル21によって選択されたタスクが通信ネットワークに対して実行されても、当該通信ネットワークの障害が復旧しない場合に、モデル21に対して報酬として負の値を設定する。この報酬の設定例1によれば、通信ネットワークに障害が発生してから復旧するまでに実行するタスクの個数がより少ないワークフローが優先的に生成される効果が得られる。
【0059】
(報酬の設定例2)
報酬の設定例2では、モデル21によって選択されたタスクの実行に要する時間に応じて、モデル21に対する報酬を設定する。この報酬の設定例2によれば、モデル21によるタスクの選択において、障害の復旧までにかかる時間がより短いタスクが優先される効果が得られる。
【0060】
(報酬の設定例3)
報酬の設定例3では、モデル21によって選択されたタスクの実行によって通信ネットワークの状態に影響を及ぼした範囲の大きさに応じて、モデル21に対する報酬を設定する。この報酬の設定例3によれば、モデル21によるタスクの選択において、タスクの実行によって通信ネットワークの状態に影響を及ぼす範囲の大きさがより小さいタスクが優先される効果が得られる。
【0061】
なお、上述した報酬の設定例1,2,3は、それぞれ単独で使用されてもよく、又は、複数が組み合わされて使用されてもよい。
【0062】
[ネットワーク状態データの機械学習用データの例]
図7図8を参照して、ネットワーク状態データの機械学習用データの例を説明する。図7及び図8は、本実施形態に係るネットワーク状態データの機械学習用データの例を示す多層行列図である。図7には、通信ネットワークが正常状態である場合の多層行列が示される。図8には、通信ネットワークが障害予兆状態である場合の多層行列が示される。
【0063】
図7において、多層行列201は、通信ネットワークのネットワークトポロジを示している。他の多層行列202,203,204,205は、通信ネットワークの性能の状態(NW性能状態)を示している。NW性能状態を示す多層行列は、NW性能状態の監視項目ごとに設けられる。図7及び図8の例では、NW性能状態の監視項目は、通信ネットワークを構成するネットワーク機器の機能を実現するためのCPUやメモリやハードディスクに関するCPU使用率、メモリ容量使用率、及びハードディスク容量使用率である。
【0064】
多層行列202は、CPU種別wholeのCPU使用率の状態を表すものである。多層行列203は、CPU種別nginxのCPU使用率の状態を表すものである。多層行列204は、メモリ容量使用率の状態を表すものである。多層行列205は、ハードディスク容量使用率の状態を表すものである。各多層行列202,203,204,205において、多層行列201で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値が「0(空白)」である場合に当該ネットワーク構成要素に係る該当のNW性能状態が正常であることを示し、一方、当該行列要素値が「1」である場合に当該ネットワーク構成要素に係る該当のNW性能状態が異常であることを示す。図7には、通信ネットワークが正常状態である場合の多層行列202,203,204,205が示されるので、各多層行列202,203,204,205において全ての行列要素値が「0(空白)」である。
【0065】
図8において、多層行列211は通信ネットワークのネットワークトポロジを示している。多層行列212は、CPU種別wholeのCPU使用率の状態を表すものである。多層行列213は、CPU種別nginxのCPU使用率の状態を表すものである。多層行列214は、メモリ容量使用率の状態を表すものである。多層行列215は、ハードディスク容量使用率の状態を表すものである。図8には、通信ネットワークが障害予兆状態である場合の多層行列が示されるのであって、CPU種別wholeのCPU使用率の状態を表す多層行列212において、ネットワーク構成要素nRBのCPU種別wholeのCPU使用率の状態が異常であることが示される。それ以外の他の多層行列213,214,215は全て正常状態を示している。
【0066】
本実施形態では、ネットワーク状態データから図7図8に示される多層行列に変換した機械学習用データが、強化学習エンジン20のモデル21の状態の入力に使用される。
【0067】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0068】
上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0069】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0070】
1…ネットワーク障害復旧システム、10…ネットワーク状態取得部(NW状態取得部)、11…受信部、12…判断部、20…強化学習エンジン、21…モデル、22…制御部、30…タスクデータベース、40…ワークフロー実行・生成部、41…ワークフロー生成部、42…タスク実行部、100…ネットワーク基盤(NW基盤)、110…ネットワーク基盤管理部(NW基盤管理部)、120…オーケストレータ
図1
図2
図3
図4
図5
図6
図7
図8