(57)【要約】【課題】機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図る。【解決手段】通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースと、通信ネットワークの状態を示すネットワーク状態データを取得し、ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得部と、通信ネットワークに障害が発生していると判断されたネットワーク状態データに基づいてタスクデータベースから通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習エンジンと、選択されたタスクを通信ネットワークに対して実行するタスク実行部と、を備える。【選択図】図１
2020156053.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースと、
前記通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得部と、
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて前記タスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習エンジンと、
前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行部と、
を備えるネットワーク障害復旧システム。
【請求項２】
前記通信ネットワークに障害が発生してから復旧するまでに前記通信ネットワークに対して実行されたタスクを記録するワークフロー生成部、
をさらに備える請求項１に記載のネットワーク障害復旧システム。
【請求項３】
前記強化学習エンジンは、前記選択されたタスクが前記通信ネットワークに対して実行されても前記通信ネットワークの障害が復旧しない場合に、前記強化学習演算処理における報酬として負の値を設定する、
請求項１又は２のいずれか１項に記載のネットワーク障害復旧システム。
【請求項４】
前記強化学習エンジンは、前記選択されたタスクの実行に要する時間に応じて、前記強化学習演算処理における報酬を設定する、
請求項１から３のいずれか１項に記載のネットワーク障害復旧システム。
【請求項５】
前記強化学習エンジンは、前記選択されたタスクの実行によって前記通信ネットワークの状態に影響を及ぼした範囲の大きさに応じて、前記強化学習演算処理における報酬を設定する、
請求項１から４のいずれか１項に記載のネットワーク障害復旧システム。
【請求項６】
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換部と、
前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換部と、を備え、
前記強化学習エンジンは、前記前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行する、
請求項１から５のいずれか１項に記載のネットワーク障害復旧システム。
【請求項７】
コンピュータに、
通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、
前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、
前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、
を実行させるためのコンピュータプログラム。
【請求項８】
ネットワーク状態取得部が、通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、
強化学習エンジンが、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、
タスク実行部が、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、
を含むネットワーク障害復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法に関する。
【背景技術】
【０００２】
従来、通信ネットワークの障害復旧における復旧手段の実行手順を機械学習により作成する技術として、例えば特許文献１が知られている。特許文献１に記載の従来技術では、教師データありの事前学習によって予め復旧モデルを取得する。そして、実際の通信ネットワークの障害発生時に、学習部が復旧モデルにより各復旧手段の実行手順を選定し、手順修正部が選定された実行手順の実行結果の通信ネットワークの障害の復旧レベルに応じて学習部に対して手順の修正を通知する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１７０６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来技術では、教師データありの事前学習によって予め復旧モデルを取得するので、通信ネットワークで発生し得る事象が多くなると、全ての事象を網羅する教師データを準備することが難しい場合があった。このため、一部の事象に限定した教師データによって復旧モデルの事前学習を行わなければならない場合、復旧モデルが不十分になって各復旧手段の実行手順の選定結果の品質が低下する可能性があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、その目的は、機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図ることにある。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースと、前記通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得部と、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて前記タスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習エンジンと、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行部と、を備えるネットワーク障害復旧システムである。
（２）本発明の一態様は、前記通信ネットワークに障害が発生してから復旧するまでに前記通信ネットワークに対して実行されたタスクを記録するワークフロー生成部、をさらに備える上記（１）のネットワーク障害復旧システムである。
（３）本発明の一態様は、前記強化学習エンジンは、前記選択されたタスクが前記通信ネットワークに対して実行されても前記通信ネットワークの障害が復旧しない場合に、前記強化学習演算処理における報酬として負の値を設定する、上記（１）又は（２）のいずれかのネットワーク障害復旧システムである。
（４）本発明の一態様は、前記強化学習エンジンは、前記選択されたタスクの実行に要する時間に応じて、前記強化学習演算処理における報酬を設定する、上記（１）から（３）のいずれかのネットワーク障害復旧システムである。
（５）本発明の一態様は、前記強化学習エンジンは、前記選択されたタスクの実行によって前記通信ネットワークの状態に影響を及ぼした範囲の大きさに応じて、前記強化学習演算処理における報酬を設定する、上記（１）から（４）のいずれかのネットワーク障害復旧システムである。
（６）本発明の一態様は、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データをグラフ構造ネットワーク状態データに変換するネットワーク状態データ構造変換部と、前記グラフ構造ネットワーク状態データを行列形式データに変換するネットワーク状態データ行列変換部と、を備え、前記強化学習エンジンは、前記前記グラフ構造ネットワーク状態データの行列形式データを使用して前記強化学習演算処理を実行する、上記（１）から（５）のいずれかのネットワーク障害復旧システムである。
【０００７】
（７）本発明の一態様は、コンピュータに、通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、を実行させるためのコンピュータプログラムである。
【０００８】
（８）本発明の一態様は、ネットワーク状態取得部が、通信ネットワークの状態を示すネットワーク状態データを取得し、前記ネットワーク状態データに基づいて前記通信ネットワークに障害が発生しているか否かを判断するネットワーク状態取得ステップと、強化学習エンジンが、前記通信ネットワークに障害が発生していると判断された前記ネットワーク状態データに基づいて、前記通信ネットワークに発生した障害を復旧させるためのタスクが登録されたタスクデータベースから前記通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する強化学習ステップと、タスク実行部が、前記選択されたタスクを前記通信ネットワークに対して実行するタスク実行ステップと、を含むネットワーク障害復旧方法である。
【発明の効果】
【０００９】
本発明によれば、機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図ることができるという効果が得られる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るネットワーク障害復旧システムの構成例を示すブロック図である。
【図２】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
【図３】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
【図４】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
【図５】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
【図６】一実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。
【図７】一実施形態に係るネットワーク状態データの機械学習用データの例を示す多層行列図である。
【図８】一実施形態に係るネットワーク状態データの機械学習用データの例を示す多層行列図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、一実施形態に係るネットワーク障害復旧システムの構成例を示すブロック図である。図１において、ネットワーク障害復旧システム１は、ネットワーク状態取得部（ＮＷ状態取得部）１０と、強化学習エンジン２０と、タスクデータベース３０と、ワークフロー実行・生成部４０とを備える。ＮＷ状態取得部１０は、受信部１１と、判断部１２と、ネットワーク状態データ構造変換部（ＮＷ状態データ構造変換部）１３と、ネットワーク状態データ行列変換部（ＮＷ状態データ行列変換部）１４とを備える。強化学習エンジン２０は、モデル２１と制御部２２とを備える。ワークフロー実行・生成部４０は、ワークフロー生成部４１とタスク実行部４２とを備える。
【００１２】
ネットワーク基盤（ＮＷ基盤）１００は、ネットワーク障害復旧システム１が障害復旧の対象にする通信ネットワークの基盤である。ＮＷ基盤１００は、ネットワーク基盤管理部（ＮＷ基盤管理部）１１０と、オーケストレータ１２０と、通信ネットワークを構成するネットワーク機器の一例としてのルータとを備える。図１の例では、ＮＷ基盤１００は、複数台のルータによって通信ネットワークを構成する。具体的には、障害発生前は３台のルータＡ，Ｂ，Ｃによって通信ネットワークが構成される。その後、ルータＡに障害が発生することが図１に示されている。ルータＤは、予備のルータとして予め設けられたものである。なお、ルータＡ，Ｂ，Ｃ，Ｄは、それぞれ独立したルータ装置として設けられてもよく、又は、コンピュータによって実現される仮想マシン（ＶＭ）上でルータアプリケーションが実行されることによりルータ機能が実現されるものであってもよい。
【００１３】
ＮＷ基盤管理部１１０は、３台のルータＡ，Ｂ，Ｃによって構成される通信ネットワークの状態を管理し、当該通信ネットワークの状態を示すネットワーク状態データをＮＷ状態取得部１０へ送信する。ネットワーク状態データは、通信ネットワークの接続構成（ネットワークトポロジ）を示すネットワークトポロジ情報を含むデータである。このネットワークトポロジ情報は、通信ネットワークを構成する３台のルータＡ，Ｂ，Ｃの情報に加えて予備のルータＤの情報も含むものである。
【００１４】
また、ネットワーク状態データは、通信ネットワークの状態の一例として通信ネットワークの性能の状態を示すＮＷ性能状態情報を含むデータである。ＮＷ性能状態情報は、例えば、ルータ機能を実現するためのＣＰＵ（Central Processing Unit：中央演算処理装置）やハードディスク等の記憶装置に関するＣＰＵ使用率や記憶容量使用率などのデータである。
【００１５】
ＮＷ状態取得部１０において、受信部１１は、ＮＷ基盤管理部１１０からネットワーク状態データを受信する。判断部１２は、受信部１１がＮＷ基盤管理部１１０から受信したネットワーク状態データに基づいて通信ネットワークに障害が発生しているか否かを判断する。ＮＷ状態取得部１０は、判断部１２による判断結果が通信ネットワークに障害発生ありの場合（図１に示す「障害が復旧している？：Ｎｏ」の場合）、通信ネットワークに障害が発生していると判断されたネットワーク状態データを強化学習エンジン２０へ出力する。具体的には、ＮＷ状態取得部１０は、判断部１２による判断結果が通信ネットワークに障害発生ありの場合（図１に示す「障害が復旧している？：Ｎｏ」の場合）、通信ネットワークに障害が発生していると判断されたネットワーク状態データをＮＷ状態データ構造変換部１３及びＮＷ状態データ行列変換部１４により機械学習用データに変換し、変換結果であるネットワーク状態データの機械学習用データを強化学習エンジン２０へ出力する。ＮＷ状態データ構造変換部１３は、ネットワーク状態データをグラフ構造ネットワーク状態データに変換する。ＮＷ状態データ行列変換部１４は、グラフ構造ネットワーク状態データを行列形式データに変換する。ＮＷ状態データ行列変換部１４による変換結果のグラフ構造ネットワーク状態データの行列形式データがネットワーク状態データの機械学習用データとして強化学習エンジン２０へ出力される。
【００１６】
タスクデータベース３０は、ＮＷ基盤１００の通信ネットワークに発生した障害を復旧させるためのタスクが登録されたデータベースである。
【００１７】
強化学習エンジン２０は、ＮＷ状態取得部１０から出力されたネットワーク状態データ（通信ネットワークに障害が発生していると判断されたネットワーク状態データ）の機械学習用データに基づいてタスクデータベース３０から通信ネットワークに適用するタスクを選択する強化学習演算処理を実行する。具体的には、強化学習エンジン２０は、ＮＷ状態取得部１０から出力されたネットワーク状態データの機械学習用データをモデル２１の状態の入力にする。モデル２１は、機械学習のモデルであって、教師データなしの機械学習である強化学習のモデルである。モデル２１としては、例えば、ＤＤＱＮ、ＤＤＰＧ、Ａ３Ｃなどのモデルを利用することができる。モデル２１は、自己の状態に基づいて、タスクデータベース３０から通信ネットワークに適用するタスクを選択する。モデル２１は、出力として選択結果のタスクを指定する。
【００１８】
制御部２２は、モデル２１から出力されたタスクの指定に基づいて、当該指定されたタスクの実行をワークフロー実行・生成部４０のタスク実行部４２へ指示する。タスク実行部４２は、制御部２２から指示されたタスクを、ＮＷ基盤１００のオーケストレータ１２０によって実行させる。オーケストレータ１２０は、当該タスクを通信ネットワークに適用する。
【００１９】
制御部２２は、モデル２１によるタスクの選択結果に基づいて、モデル２１に対して報酬を設定する。例えば、制御部２２は、モデル２１によって選択されたタスクの実行結果に基づいて、モデル２１に対して報酬を設定してもよい。制御部２２は、モデル２１によって選択されたタスクの特性（例えば、タスクの実行に要する時間など）に基づいて、モデル２１に対して報酬を設定してもよい。
【００２０】
強化学習エンジン２０は、ＣＰＵ及びメモリ等のコンピュータハードウェアを備え、ＣＰＵがメモリに格納されたコンピュータプログラムを実行することにより強化学習エンジン２０の機能が実現されるものである。
【００２１】
ＮＷ状態取得部１０は、判断部１２による判断結果が通信ネットワークに障害発生ありから障害発生なしに変化した場合（図１に示す「障害が復旧している？：Ｙｅｓ」の場合）、ワークフロー実行・生成部４０のワークフロー生成部４１に対して、ワークフローの生成を指示する。ワークフロー生成部４１は、通信ネットワークに障害が発生してから復旧するまでに当該通信ネットワークに対して実行されたタスクを記録する。このタスクの記録には、各タスクのタスク識別子と実行順序とが記録される。
【００２２】
図１の例では、ルータＡに障害が発生し、このルータＡによる通信ネットワークの障害発生が判断部１２によってネットワーク状態データに基づいて検出される。次いで、強化学習エンジン２０のモデル２１によって、通信ネットワークに障害が発生していると判断されたネットワーク状態データの機械学習用データに基づいてタスクデータベース３０から通信ネットワークに適用するタスクが選択され、選択されたタスクがタスク実行部４２によって実行されることにより、当該タスクがオーケストレータ１２０を介して通信ネットワークに適用される。図１の例では、実行されたタスクは「予備のルータＤを適用する」である。このタスクの実行により、通信ネットワークはルータＡの代わりにルータＤを経由するように再構成される。この結果、ネットワーク状態データに基づいた判断部１２による判断結果が通信ネットワークに障害発生ありから障害発生なしに変化する。次いで、ＮＷ状態取得部１０からワークフロー生成部４１に対してワークフローの生成が指示され、ワークフロー生成部４１によって、通信ネットワークに障害が発生してから復旧するまでに当該通信ネットワークに対して実行されたタスクが記録されることにより、当該障害の発生に係る復旧のためのタスク実行手順を示すワークフローが生成される。
【００２３】
次に図２から図６を参照して本実施形態に係るネットワーク障害復旧システム１の動作を説明する。図２から図６は、本実施形態に係るネットワーク障害復旧方法の詳細な手順の一例を示すシーケンス図である。ここでは、図１に示されるＮＷ基盤１００のルータＡに障害が発生する場合を例に挙げて説明する。
【００２４】
（ステップＳ１）  図２において、ＮＷ基盤管理部１１０は、障害通知をＮＷ状態取得部１０へ送信する。
【００２５】
（ステップＳ２）  ＮＷ状態取得部１０は、ネットワーク（ＮＷ）状態送信依頼をＮＷ基盤管理部１１０へ送信する。
【００２６】
（ステップＳ３）  ＮＷ基盤管理部１１０は、ネットワーク状態データ（ＮＷ状態データ）をＮＷ状態取得部１０へ送信する。
【００２７】
（ステップＳ４）  ＮＷ状態取得部１０は、ＮＷ状態データに基づいて障害が発生しているか否かを判断する。この結果、障害が発生していると判断された場合、ステップＳ５に進む。ここでは、図１に示されるＮＷ基盤１００のルータＡに障害が発生している。
【００２８】
（ステップＳ５）  ＮＷ状態取得部１０は、ＮＷ状態データを機械学習用データに変換する。
【００２９】
（ステップＳ６）  ＮＷ状態取得部１０は、ＮＷ状態データから変換した機械学習用データを強化学習エンジン２０へ送信する。
【００３０】
（ステップＳ７）  強化学習エンジン２０は、ＮＷ状態データから変換された機械学習用データをモデル２１の状態の入力し、モデル２１によって、タスクデータベース３０から通信ネットワークに適用するタスクを選択する。ここでは、タスク「予備のルータＤを適用する」が選択される。
【００３１】
（ステップＳ８）  強化学習エンジン２０は、モデル２１によって選択されたタスクの実行をタスク実行部４２へ依頼する。
【００３２】
（ステップＳ９）  タスク実行部４２は、強化学習エンジン２０から実行を依頼されたタスクに対応する障害復旧ＡＰＩ（Application Programming Interface）を、オーケストレータ１２０により実行させる。
【００３３】
（ステップＳ１０）  図３において、オーケストレータ１２０は、タスク実行部４２からの実行制御によって該当する障害復旧ＡＰＩを実行する。オーケストレータ１２０は、予備のルータＤに対応するインスタンスの生成をＮＷ基盤管理部１１０へ指示する。
【００３４】
（ステップＳ１１）  ＮＷ基盤管理部１１０は、予備のルータＤに対応するインスタンスの生成を行う。
【００３５】
（ステップＳ１２）  ルータＤは、起動通知をＮＷ基盤管理部１１０へ送信する。
【００３６】
（ステップＳ１３）  ＮＷ基盤管理部１１０は、インスタンスの生成完了をオーケストレータ１２０へ通知する。
【００３７】
（ステップＳ１４）  オーケストレータ１２０は、ルータＡの代わりにルータＤを経由するようにルーティング設定の変更をＮＷ基盤管理部１１０へ指示する。
【００３８】
（ステップＳ１５）  ＮＷ基盤管理部１１０は、当該ルーティング設定の変更に対応するルーティング設定をルータＤに行う。
【００３９】
（ステップＳ１６）  ルータＤは、自己の性能情報をＮＷ基盤管理部１１０へ送信する。
【００４０】
（ステップＳ１７）  ＮＷ基盤管理部１１０は、ルータＤの性能情報に基づいて、ルータＤが正常状態であるか否かを判定する。この結果、正常状態であると判定された場合、ステップＳ１８に進む。
【００４１】
（ステップＳ１８）  ＮＷ基盤管理部１１０は、ルーティング設定の変更完了をオーケストレータ１２０へ通知する。
【００４２】
（ステップＳ１９）  図４において、ＮＷ基盤管理部１１０は、ＮＷ状態データをＮＷ状態取得部１０へ送信する。
【００４３】
（ステップＳ２０）  ＮＷ状態取得部１０は、ＮＷ状態データに基づいて障害が発生しているか否かを判断する。この結果、障害が発生していると判断された場合、ステップＳ２１に進む。ここでは、まだルータＤによって通信ネットワークが正常状態に復旧していない。
【００４４】
（ステップＳ２１）  ＮＷ状態取得部１０は、ＮＷ状態データを機械学習用データに変換する。
【００４５】
（ステップＳ２２）  ＮＷ状態取得部１０は、ＮＷ状態データから変換した機械学習用データを強化学習エンジン２０へ送信する。
【００４６】
（ステップＳ２３）  強化学習エンジン２０は、ＮＷ状態データから変換された機械学習用データをモデル２１の状態の入力し、モデル２１によって、タスクデータベース３０から通信ネットワークに適用するタスクを選択する。ここでは、タスク「通信サービスの疎通を確認する」が選択される。また、強化学習エンジン２０は、モデル２１による過去のタスクの選択結果に基づいて、モデル２１に対して報酬を設定する。
【００４７】
（ステップＳ２４）  強化学習エンジン２０は、モデル２１によって選択されたタスクの実行をタスク実行部４２へ依頼する。
【００４８】
（ステップＳ２５）  タスク実行部４２は、強化学習エンジン２０から実行を依頼されたタスクに対応するサービス疎通確認ＡＰＩを、オーケストレータ１２０により実行させる。
【００４９】
（ステップＳ２６）  図５において、オーケストレータ１２０は、タスク実行部４２からの実行制御によって該当するサービス疎通確認ＡＰＩを実行する。オーケストレータ１２０は、サービス疎通状態確認コマンドの実行をルータＤへ指示する。
【００５０】
（ステップＳ２７）  ルータＤは、サービス疎通状態確認コマンドを実行する。
【００５１】
（ステップＳ２８）  ルータＤは、サービス疎通状態確認コマンドの実行結果を確認応答としてオーケストレータ１２０へ送信する。
【００５２】
（ステップＳ２９）  図６において、ＮＷ基盤管理部１１０は、ＮＷ状態データをＮＷ状態取得部１０へ送信する。
【００５３】
（ステップＳ３０）  ＮＷ状態取得部１０は、ＮＷ状態データに基づいて障害が発生しているか否かを判断する。この結果、障害が発生していると判断された場合、ステップＳ２１に戻る。一方、障害が発生していないと判断された場合（これは障害が復旧したと判断された場合に対応する）、ステップＳ３１に進む。ここでは、ルータＤによって通信ネットワークが正常状態に復旧している。
【００５４】
（ステップＳ３１）  ＮＷ状態取得部１０は、ワークフローの登録をワークフロー生成部４１へ指示する。
【００５５】
（ステップＳ３２）  ワークフロー生成部４１は、通信ネットワークに障害が発生してから復旧するまでに当該通信ネットワークに対して実行されたタスクを記録する。このタスクの記録は、各タスクのタスク識別子と実行順序とが記録されることにより、当該障害の発生に係る復旧のためのタスク実行手順を示すワークフローとして登録される。
【００５６】
本実施形態によれば、通信ネットワークに障害が発生した場合に当該通信ネットワークを正常な状態に復旧させるためのワークフローを、強化学習を利用して動的に生成することができる。これにより、機械学習によって通信ネットワークの障害復旧のタスクの実行手順を作成する際の品質向上を図る効果が得られる。また、強化学習は教師データなしの機械学習であるので、教師データを準備するためのコストや教師データを用いた事前学習のためのコストを削減することができる。
【００５７】
［強化学習の報酬の例］
強化学習エンジン２０の制御部２２は、モデル２１によるタスクの選択結果に基づいて、モデル２１に対して報酬を設定する。以下、モデル２１に対する報酬の設定例を説明する。
【００５８】
（報酬の設定例１）
報酬の設定例１では、モデル２１によって選択されたタスクが通信ネットワークに対して実行されても、当該通信ネットワークの障害が復旧しない場合に、モデル２１に対して報酬として負の値を設定する。この報酬の設定例１によれば、通信ネットワークに障害が発生してから復旧するまでに実行するタスクの個数がより少ないワークフローが優先的に生成される効果が得られる。
【００５９】
（報酬の設定例２）
報酬の設定例２では、モデル２１によって選択されたタスクの実行に要する時間に応じて、モデル２１に対する報酬を設定する。この報酬の設定例２によれば、モデル２１によるタスクの選択において、障害の復旧までにかかる時間がより短いタスクが優先される効果が得られる。
【００６０】
（報酬の設定例３）
報酬の設定例３では、モデル２１によって選択されたタスクの実行によって通信ネットワークの状態に影響を及ぼした範囲の大きさに応じて、モデル２１に対する報酬を設定する。この報酬の設定例３によれば、モデル２１によるタスクの選択において、タスクの実行によって通信ネットワークの状態に影響を及ぼす範囲の大きさがより小さいタスクが優先される効果が得られる。
【００６１】
なお、上述した報酬の設定例１，２，３は、それぞれ単独で使用されてもよく、又は、複数が組み合わされて使用されてもよい。
【００６２】
［ネットワーク状態データの機械学習用データの例］
図７，図８を参照して、ネットワーク状態データの機械学習用データの例を説明する。図７及び図８は、本実施形態に係るネットワーク状態データの機械学習用データの例を示す多層行列図である。図７には、通信ネットワークが正常状態である場合の多層行列が示される。図８には、通信ネットワークが障害予兆状態である場合の多層行列が示される。
【００６３】
図７において、多層行列２０１は、通信ネットワークのネットワークトポロジを示している。他の多層行列２０２，２０３，２０４，２０５は、通信ネットワークの性能の状態（ＮＷ性能状態）を示している。ＮＷ性能状態を示す多層行列は、ＮＷ性能状態の監視項目ごとに設けられる。図７及び図８の例では、ＮＷ性能状態の監視項目は、通信ネットワークを構成するネットワーク機器の機能を実現するためのＣＰＵやメモリやハードディスクに関するＣＰＵ使用率、メモリ容量使用率、及びハードディスク容量使用率である。
【００６４】
多層行列２０２は、ＣＰＵ種別ｗｈｏｌｅのＣＰＵ使用率の状態を表すものである。多層行列２０３は、ＣＰＵ種別ｎｇｉｎｘのＣＰＵ使用率の状態を表すものである。多層行列２０４は、メモリ容量使用率の状態を表すものである。多層行列２０５は、ハードディスク容量使用率の状態を表すものである。各多層行列２０２，２０３，２０４，２０５において、多層行列２０１で示されるネットワークトポロジのネットワーク構成要素に対応する行列要素値が「０（空白）」である場合に当該ネットワーク構成要素に係る該当のＮＷ性能状態が正常であることを示し、一方、当該行列要素値が「１」である場合に当該ネットワーク構成要素に係る該当のＮＷ性能状態が異常であることを示す。図７には、通信ネットワークが正常状態である場合の多層行列２０２，２０３，２０４，２０５が示されるので、各多層行列２０２，２０３，２０４，２０５において全ての行列要素値が「０（空白）」である。
【００６５】
図８において、多層行列２１１は通信ネットワークのネットワークトポロジを示している。多層行列２１２は、ＣＰＵ種別ｗｈｏｌｅのＣＰＵ使用率の状態を表すものである。多層行列２１３は、ＣＰＵ種別ｎｇｉｎｘのＣＰＵ使用率の状態を表すものである。多層行列２１４は、メモリ容量使用率の状態を表すものである。多層行列２１５は、ハードディスク容量使用率の状態を表すものである。図８には、通信ネットワークが障害予兆状態である場合の多層行列が示されるのであって、ＣＰＵ種別ｗｈｏｌｅのＣＰＵ使用率の状態を表す多層行列２１２において、ネットワーク構成要素ｎＲＢのＣＰＵ種別ｗｈｏｌｅのＣＰＵ使用率の状態が異常であることが示される。それ以外の他の多層行列２１３，２１４，２１５は全て正常状態を示している。
【００６６】
本実施形態では、ネットワーク状態データから図７や図８に示される多層行列に変換した機械学習用データが、強化学習エンジン２０のモデル２１の状態の入力に使用される。
【００６７】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００６８】
上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７０】
１…ネットワーク障害復旧システム、１０…ネットワーク状態取得部（ＮＷ状態取得部）、１１…受信部、１２…判断部、２０…強化学習エンジン、２１…モデル、２２…制御部、３０…タスクデータベース、４０…ワークフロー実行・生成部、４１…ワークフロー生成部、４２…タスク実行部、１００…ネットワーク基盤（ＮＷ基盤）、１１０…ネットワーク基盤管理部（ＮＷ基盤管理部）、１２０…オーケストレータ
【図１】
2020156053.tif 000003
【図２】
2020156053.tif 000004
【図３】
2020156053.tif 000005
【図４】
2020156053.tif 000006
【図５】
2020156053.tif 000007
【図６】
2020156053.tif 000008
【図７】
2020156053.tif 000009
【図８】
2020156053.tif 000010