JP7505206B2 - 障害発生予測装置及び学習装置 - Google Patents

障害発生予測装置及び学習装置 Download PDF

Info

Publication number
JP7505206B2
JP7505206B2 JP2020035757A JP2020035757A JP7505206B2 JP 7505206 B2 JP7505206 B2 JP 7505206B2 JP 2020035757 A JP2020035757 A JP 2020035757A JP 2020035757 A JP2020035757 A JP 2020035757A JP 7505206 B2 JP7505206 B2 JP 7505206B2
Authority
JP
Japan
Prior art keywords
company
information
data
fault
failure
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
JP2020035757A
Other languages
English (en)
Other versions
JP2021140308A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2020035757A priority Critical patent/JP7505206B2/ja
Priority to US17/030,353 priority patent/US20210279609A1/en
Publication of JP2021140308A publication Critical patent/JP2021140308A/ja
Application granted granted Critical
Publication of JP7505206B2 publication Critical patent/JP7505206B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、障害発生予測装置及び学習装置に関する。
サーバログ、アクセスログ、サーバリソース状況等、自社内にある過去の情報を機械学習し、障害を事前に予測することで、障害に対してプロアクティブな対応(事前的な対応)が可能となる。
特許文献1には、自社内にあるデータを用いて機械学習させて、未知の障害を予測する技術が記載されている。すなわち、予め障害内容と停止判断条件を中央サーバに格納し、ATMから他の金融機関に関する障害情報が中央サーバに通知された場合に、この情報から停止判断を行い、ATMの他行連携サービスを停止する技術が記載されている。
特開2013-97616号公報
自社内にあるデータのみを用いる場合や、他社の障害の影響があったことを検知する構成では、近年のAPI連携、すなわちAPI(Application Programming Interface)を通じて既存のサービスやデータが繋がっていく状況においては、必ずしも十分な対応ができない。他社が提供するサービスを利用して自社サービスを提供する場合、自社内にあるデータのみでは自社サービスの障害を予測することは不可能である。また、実際に他社の障害情報を受信・確認してから対応したのでは、障害対応が事後的なものとならざるを得ない。
本発明は、自社以外の外部の反響情報を用いることで、他社の障害発生に起因する自社の障害発生を予測し得る技術を提供することを目的とする。
請求項1に記載の発明は、外部の反響情報の傾向を取得する取得部と、プロセッサと、を備え、前記プロセッサは、プログラムを実行することで、過去の他社の障害情報を起因として生じた過去の自社の障害情報と、そのときの外部の反響情報の傾向との関係を推定するための機械学習を行った学習済みの学習モデルに、前記取得部で取得した外部の反響情報の傾向を入力し、前記学習モデルを用いた演算処理を実行し、前記学習モデルから自社の障害発生の予測情報を出力する、障害発生予測装置である。
請求項2に記載の発明は、前記プロセッサは、前記予測情報として、自社の障害発生の有無及び障害発生の予測時間を出力する、請求項1に記載の障害発生予測装置である。
請求項3に記載の発明は、前記プロセッサは、更に、前記予測情報として、予測される障害の対応方法を出力する、請求項2に記載の障害発生予測装置である。
請求項4に記載の発明は、前記取得部は、前記外部の反響情報の傾向として、反響情報の開始日時、及び反響情報の変化量を取得する、請求項1~3のいずれかに記載の障害発生予測装置である。
請求項5に記載の発明は、前記取得部は、更に、前記外部の反響情報の傾向として、反響情報の最大量、反響情報の開始から前記最大量になるまでの時間を取得する、請求項4に記載の障害発生予測装置である。
請求項6に記載の発明は、前記取得部は、更に、前記外部の反響情報の傾向として、反響情報の開始から反響情報が一定量以下に低減するまでの時間を取得する、請求項5に記載の障害発生予測装置である。
請求項7に記載の発明は、他社の障害情報、前記他社の障害情報に起因する自社の障害情報、及びそのときの外部の反響情報の傾向の組を学習データとして取得する学習データ取得部と、プロセッサと、を備え、前記プロセッサは、プログラムを実行することで、前記学習データを用い、外部の反響情報の傾向を入力した場合に自社の障害発生の予測情報を出力するように学習モデルの機械学習を実行する、学習装置である。
請求項8に記載の発明は、前記学習データは、前記自社の障害情報として、障害発生日時、及び障害内容を含む、請求項7に記載の学習装置である。
請求項9に記載の発明は、前記学習データは、前記外部の反響情報の傾向として、反響情報の開始日時、及び反響情報の変化量を含む、請求項7,8のいずれかに記載の学習装置である。
請求項10に記載の発明は、前記学習データは、更に、前記外部の反響情報の傾向として、反響情報の最大量、反響情報の開始から前記最大量になるまでの時間を含む、請求項9に記載の学習装置である。
請求項11に記載の発明は、前記学習データは、更に、前記外部の反響情報の傾向として、反響情報の開始から反響情報が一定量以下に低減するまでの時間を含む、請求項10に記載の学習装置である。
請求項1,4,5,6,7、9,10,11に記載の発明によれば、自社以外の外部の反響情報を用いることで、他社の障害発生に起因する自社の障害発生を予測することができる。
請求項2に記載の発明によれば、さらに、自社の障害発生の有無とその予測時間を得ることができる。
請求項3に記載の発明によれば、さらに、予測される自社の障害発生の対応方法を得ることができる。
請求項8に記載の発明によれば、さらに、障害発生日時とその障害内容を得ることができる。
実施形態における障害予測装置の構成図である。 実施形態の反響データ説明図である。 実施形態の他社障害データ及び自社障害データ説明図である。 実施形態の教師データ説明図である。 実施形態における障害予測装置の学習処理部構成図である。 実施形態における障害予測装置の障害予測部構成図である。 実施形態の処理フローチャートである。 変形例1の教師データ説明図である。 変形例2の教師データ説明図である。 変形例2の出力画面説明図である。
以下、図面に基づき本発明の実施形態について説明する。
<基本原理>
まず、本実施形態の基本原理について説明する。
API連携により他社が提供するサービスを利用して自社サービスを提供する場合、当該他社のシステムやサーバに何らかの障害が発生した場合、その影響が自社にも波及して自社サービスを提供するシステムやサーバにも障害が生じ得る。このとき、他社のシステムやサーバに障害が発生してから実際に自社サービスを提供するシステムやサーバに障害が生じるまでの時間において、自社以外の外部のWebサイトやSNS等で当該他社のシステムやサーバの障害発生に起因した情報(これを「反響情報」と称する)が生じる。例えば、当該他社のシステムを利用している第3者がSNSで「〇〇サービスが使えなくなっているようです。」とツイートする、あるいは他の第3者が「どうやら〇〇サービスで障害が発生しているらしい」とツイートする、あるいは他の第3者がWebページに「〇〇サービスが停止している関係上、自社サービスの提供を停止しております。」と掲載する等である。そして、このような外部の反響情報が生じた後に、やがて自社サービスを提供するシステムやサーバにも当該他社のシステムやサーバの障害の影響が及び、自社システムやサーバにも障害が生じる。
そこで、過去に生じた他社の障害情報と、その障害に起因して発生した自社の障害情報と、その障害に起因して発生した外部の反響情報とを収集してデータの組とし、これらデータの組を教師データとして機械学習し、外部の反響情報と自社の障害情報との間の相関関係を学習する。ここで、機械学習とは、明示的な指示を用いることなく、その代わりにパターンと推論に依存して、特定の課題を効率的に実行するためにコンピュータシステムが使用するアルゴリズムである。機械学習アルゴリズムでは、「訓練データ」あるいは「教師データ」として知られるサンプルデータに基づいて数学モデルを構築する。入力とそれに対応すべき出力を写像する関数を生成する、教師あり学習である。具体的には、本実施形態では、他社障害情報に起因する自社障害情報と、そのときの外部の反響情報との組を教師データとして用いて、反響情報の傾向と、自社障害発生の有無との相関関係を学習する。相関関係を規定する関数をfとすると、
自社障害発生の有無=f(外部の反響情報)
である。自社障害発生の有無には、自社障害発生確率も含まれ得る。すなわち、
自社障害発生確率=f(外部の反響情報)
である。関数fは、学習済の数学モデルに相当する。
そして、学習して得られた外部の反響情報と自社の障害発生との相関関係、言い換えれば外部の反響情報を入力とし、自社の障害発生の有無を出力とする学習済モデルを生成した後、現在生じている外部の反響情報を取得し、学習済モデルに入力することで、外部の反響データ情報から自社の障害発生の有無を予測する。
定性的には、過去において他社障害が発生し、そのときの外部の反響情報が一定の傾向を示し、そのときに自社において実際に障害が発生したものとすると、現在の外部の反響情報が当該一定の傾向に類似する傾向を示している場合に、学習済モデルは自社障害発生有りと出力する。また、現在の外部の反響情報が一定の傾向に類似しない傾向を示している場合に、学習済モデルは自社障害発生無しと出力する。
本実施形態では、学習済モデルを生成した後は、現在の外部の反響情報を入力するのみで、他社の実際の障害情報は不要である点に留意すべきである。あるいは、本実施形態では、現在の外部の反響情報を用いて間接的に他社の障害情報を推定しているということもできる。いずれにせよ、本実施形態では、他社からの障害発生の情報を実際に受信・確認しなくても、自社の障害発生を予測することが可能である。
本実施形態では、外部の反響情報、特に反響情報の傾向を特定することが必要であるが、外部の反響情報の傾向は、時系列上のデータ量変化として特定し得る。例えば、
・反響情報の発生開始日時
・反響情報の発生開始から反響情報量が最大となるまでの時間
・反響情報量の最大値
・反響情報の発生開始から反響情報が一定量以下まで低減する時間
等のパラメータにより特定し得る。
また、本実施形態における外部の反響情報と自社の障害発生の相関関係の機械学習には、公知の機械学習を用いることができる。例えば、ニューラルネットワーク(NN)、畳み込みニューラルネットワーク(CNN)、サポートベクターマシン(SVM)、ベイジアンネットワーク等を例示できる。多層のニューラルネットワークを用いたディープラーニングでもよい。
学習済モデルの出力は、自社障害発生の有無であれば、「自社障害発生有り」か、「自社障害発生無し」かのいずれかの二値出力である。自社障害発生の確率であれば0%~100%の間の複数段の数値出力である。
以下、本実施形態について、機械学習としてCNNを例にとり、詳細に説明する。
<構成>
図1は、本実施形態における障害発生予測装置の構成ブロック図を示す。障害発生予測装置は、反響データ取得部10、反響データ記憶部12、他社障害データ記憶部14、自社障害データ記憶部16、教師データ生成部18、学習処理部20、学習モデル記憶部22、及び障害予測部24を備える。
反響データ取得部10は、反響情報として、自社以外の外部のメディアやSNS上の口コミ、ツイート、外部Webサイトの障害情報等をインターネット等で取得し、反響データ記憶部12に記憶する。反響データ取得部10は、具体的にはソフトウェアロボットで構成され、インターネット上のサイト等からデータを自動的に取得する。インターネット上にある無数のサイトからデータを収集するためのツールである「クローラー」を用いてもよい。「クローラー」(Crawler)とは、ロボット型検索エンジンがWeb上のファイル(HTML文書だけでなく、画像・PDFまで含む全般)を収集するためのプログラムである。勿論、ユーザがコンピュータ等を用いて手動で取得してもよい。
反響データ記憶部12は、反響データ取得部10で取得された反響データを記憶する。反響データは、時系列上に順次記憶される。具体的には、
時刻t1:反響データa
時刻t2:反響データb1、b2
時刻t3:反響データc1、c2、c3、
等である。時刻は、当該反響データの送信時刻であるが、不明の場合には当該反響データの取得時刻に代えてもよい。反響データの種別、すなわちSNS上の口コミやツイートであるのか、あるいはWebページ上の情報であるのか等を併せて記憶してもよい。また、反響データの送信元がわかるのであれば、当該送信元を記憶してもよい。反響データには、過去の反響データと、現在の反響データのいずれも含まれる。過去の反響データは、他社の障害データと関連付けられている。過去の反響データに、その反響の原因となった他社障害を特定するIDが含まれていてもよい。
他社障害データ記憶部14は、他社サービスを提供するシステムやサーバの障害データを記憶する。他社障害データは、自社で検知した他社の障害データ(他社の障害発生アナウンス等を受信・確認して得られた障害データ)であり、他社の社名、サービス名、サービスの機能名、障害発生日時等である。
自社障害データ記憶部は、API連携により他社が提供するサービスを利用して自社サービスを提供する場合における、自社のシステムやサーバに生じた障害データを記憶する。
すなわち、他社障害に起因して生じた自社障害データを記憶する。自社障害データは、自社の障害機能名、障害発生日時等である。自社障害データに、その障害の原因となった他社障害を特定するIDが含まれていてもよい。
教師データ生成部18は、反響データ記憶部12に記憶されている過去の反響データと、他社障害データ記憶部14に記憶されている過去の他社障害データと、自社障害データ記憶部16に記憶されている自社障害データとを読み出し、これらのデータを結合して教師データを作成する。教師データ生成部は、他社障害を特定するIDをキーとして、これらのデータを結合し得る。教師データは、反響データと、他社障害データと、自社障害データの組から構成される。教師データ生成部18は、生成した教師データを学習処理部20に供給する。
学習処理部20は、生成された教師データを用いて機械学習を実行し、反響データと自社障害発生との相関関係を規定する数学モデル、すなわち入力を反響データとし、出力を自社障害発生の有無(自社障害発生確率を含むものとする)とする数学モデルを生成し、学習済モデルとして学習モデル記憶部22に記憶する。
障害予測部24は、学習モデル記憶部22に記憶された学習済モデルを用い、反響データ記憶部12に記憶されている現在の反響データを学習済モデルに入力して、自社障害発生の有無を予測結果として出力する。学習処理部20及び障害予測部24については、さらに後述する。
図1では、障害発生予測装置が学習処理部20及び障害予測部24を備える場合について説明したが、学習処理部20を備えず、障害予測部24を備え、外部装置で学習して得られた学習済モデルを通信回線等を介して取得してもよい。障害予測部24は、取得した学習済モデルを用い、反響データ記憶部12に記憶されている現在の反響データを学習済モデルに入力し、自社障害発生の有無を予測結果として出力してもよい。
要するに、障害発生予測装置は、反響データと自社の障害発生の有無との相関関係を学習する機能と、学習して得られた学習済モデルを用いて現在の反響データから自社の障害発生の有無を予測する機能のいずれも有することができ、あるいは学習して得られた学習済モデルを用いて現在の反響データから自社の障害を予測する機能のみを有していてもよい。反響データと自社の障害発生の有無との相関関係を学習する機能を有する装置は、学習装置として障害発生予測装置とは別個の装置として実現され得る。
図1に示す障害発生予測装置は、プロセッサ及びメモリを備えるコンピュータで構成され得る。プロセッサは、メモリに記憶されたプログラムを読み出して実行することで処理を行う。また、プロセッサは広義的なプロセッサを指し、汎用的なプロセッサ(例えば CPU:Central Processing Unit等)や、専用のプロセッサ(例えば GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array 、プログラマブル論理デバイス等)を含むものである。また、プロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。
図2は、反響データ記憶部12に記憶される反響データ30の一例を示す。反響データ30は、時系列上のデータとして取得され記憶される。反響データ記憶部12は、これらのデータを時系列上で集計する。図2では、反響データ30は、横軸を時間、縦軸をデータ量とするグラフで示される。
他社障害発生に起因して生じた反響データ30を時間の関数として捉えた場合、反響データ30の傾向は、
i0:障害発生日時
i1:反響データ30の発生開始日時
i2:反響データ30の発生開始から反響データ量が最大となるまでの時間
i3:反響データ量の最大値
i4:反響データ30の発生開始から反響データがなくなるまでの時間
の5つのパラメータにより特定され得る。
これらのパラメータ以外にも、所定時間当たりのデータ変化量を用いてもよい。反響データ記憶部12は、他社障害発生毎に、これらの反響データ30を過去の反響データ30として記憶する。図における複数の反響データは、他社障害発生毎の反響データを示す。また、他社障害発生の有無によらず、現在の反響データ30を逐次取得して現在の反響データ30として記憶する。現在の反響データ30も、データ量の時間変化として示される。
図3は、他社障害データ記憶部14に記憶される他社障害データと、自社障害データ記憶部16に記憶される自社障害データを統合したデータ32として示す。他社の社名、サービス名、機能名、自社障害機能、及び自社障害発生日時が対応付けられる。具体的には、
社名:AAA
サービス名:インフラA
機能名:ロードバランサ
自社障害機能:a基盤
障害発生日:4/10
等である。AAA社のインフラAというサービスの、ロードバランサ(負荷調整)機能に障害が発生したことを起因として、自社のa基盤に4/10に障害が発生したことを意味する。
他社の社名、サービス名、機能名は、他社障害データ記憶部14に記憶され、自社障害機能及び自社障害発生日時は自社障害データ記憶部16に記憶される。他社障害データ記憶部14と自社障害データ記憶部16とを統合して一つの記憶部とし、図3に示すデータ32を記憶してもよい。
図4は、教師データ生成部18で生成される教師データ34の一例を示す。教師データ生成部18は、反響データ30とデータ32とを結合して教師データの組を生成する。教師データの組は、社名、サービス名、機能名、自社障害機能、及び反響データから構成される。反響データ30は、上記の(i0,i1,i2,i3,i4)の5つのパラメータでその傾向が表現される。具体的には、
社名:AAA
サービス名:インフラA
機能名:ロードバランサ
自社障害機能:a基盤
i0:4/10
i1:12:20
i2:30分
i3:320データ数
i4:640分
等である。AAA社のインフラAというサービスの、ロードバランサ(負荷調整)機能に障害が発生したことを起因として、自社のa基盤に4/10に障害が発生し、その日の時刻12:20に当該障害発生に起因して反響データの発生が開始され、その30分後に最大量320まで反響データが増大し、反響データ量が一定値以下となるまで640分が経過したことを意味する。
図5は、学習処理部20の機能ブロック図を示す。学習処理部20は、プロセッサ40、学習プログラム記憶部42、学習部44、及び記憶部46を備える。
プロセッサ40は、学習プログラム記憶部42に記憶されている学習プログラムを読み出し実行することで学習部44を動作させる。
学習部44は、例えばCNNで構成され、記憶部46に記憶されているCNNライブラリ、定義データ、パラメータ情報に基づきメモリを用いてCNNを構成し、CNNに教師データを入力する入力部、及びCNNからの演算結果を出力する出力部を備える。入力部に与える教師データは、図4に示される教師データ34であり、記憶部46に記憶される。また、CNNからの出力結果は、自社障害発生の有無であり、出力データとして記憶部46に記憶される。CNNは、定義データにより定義される複数段の畳み込み層及びプーリング層と、全結合層を含む。
プロセッサ40は、学習プログラムに従い、教師データをCNNに入力して得られる出力データと、既知の教師データの出力との誤差を最小にする処理を実行し、各層の重み係数を含むパラメータ情報を調整する。具体的には、入力として教師データ34の反響データ(i0~i4)、出力として教師データ34の自社障害機能を用いて学習し、CNNの各層の重み係数を調整する。そして、反響データ(反響データの傾向)を入力すると、自社障害発生の有無について出力するようにCNNを学習する。反響データ(反響データの傾向)を入力すると、自社障害発生の確率について出力するようにCNNを学習してもよい。また、反響データ(反響データの傾向)を入力すると、自社障害発生の有無、及び自社障害機能について出力するようにCNNを学習してもよい。
学習により調整された各層の重み係数を含むパラメータ情報は、学習済パラメータ情報として記憶部46に記憶される。
図6は、障害予測部24の機能ブロック図を示す。障害予測部24は、プロセッサ48、予測プログラム記憶部50、予測部52、及び記憶部54を備える。
プロセッサ48は、予測プログラム記憶部50に記憶された予測プログラムを読み出し実行することで予測部52を動作させる。
予測部52は、図5に示す学習処理部20で学習された学習済CNN、具体的にはCNNを定義する定義情報及び記憶部54に記憶された調整済のパラメータ情報を用い、入力部から現在の反響データ(反響データの傾向)を入力し、出力部から自社障害発生の有無を出力する。出力部から自社障害発生の確率を出力してもよく、あるいは自社障害機能を出力してもよい。現在の反響データは、図6に示すように時系列上の反響データ量として特定される。例えば、
i1:12/21
i2:20分
i3:300データ量
等である。
なお、現在の反響データには、他社障害発生が不知であるため、i0は存在しない。また、現在の反響データが未だピークに達していない場合には、i2及びi3も存在しない。この場合には、少なくとも、i1及びそれに続く所定の検知周期におけるデータ量が反響データの傾向として特定される。
記憶部54に記憶された調整済パラメータ情報は、記憶部46に記憶された調整済パラメータ情報と同一である。学習処理部20と障害予測部24が同一障害発生予測装置に含まれる場合、プロセッサ40とプロセッサ48、及び記憶部46と記憶部54は同一でよく、記憶部46と記憶部54は学習モデル記憶部22として機能する。障害発生予測装置が学習処理部20を有しない場合、記憶部46に記憶された調整済パラメータ情報は、例えば通信回線を介して記憶部46から記憶部54に送信されて記憶される。要するに、学習処理部20で学習して得られた学習済CNNは、通信回線を介して障害予測部24に送信される。
学習済CNNは、現在の反響データを入力すると、自社障害発生の有無等を出力する。具体的には、現在の反響データを入力することで、
「自社障害が発生します。」
「自社のa基盤の障害発生を予測しました。」
「自社のa基盤の障害発生の確率は70%です。」
等と出力する。自社障害発生の有無、自社障害発生の確率、自社障害機能は適宜、組み合わせて出力し得る。
図7は、本実施形態の処理フローチャートである。処理フローチャートは、学習処理のステップと、障害発生予測処理のステップに大別される。
S101~S104は、学習処理のステップである。
まず、反響データ取得部10により反響データを取得する(S101)。ここでの反響データは、主に過去の反響データである。取得した過去の反響データは、反響データ記憶部12に記憶される。
また、これと並行して、他社障害データ及び自社障害データを取得する(S102)。取得した他社障害データは、他社障害データ記憶部14に記憶され、自社障害データは自社障害データ記憶部16に記憶される。他社障害データは、他社のWebページでのアナウンスあるいは報道機関による発表等により取得され得る。また、自社障害データは、当該他社障害データに起因して生じた自社の障害データである。
次に、教師データ生成部18は、取得した過去の反響データと、過去の他社障害データと、過去の自社障害データを結合して教師データを生成する(S103)。教師データの一例は図4に示す通りであり、これらは他社障害の内容、これに起因する自社障害の内容、及び反響データを特定するパラメータということができる。
なお、API連携により他社が提供するサービスを利用して自社サービスを提供する場合においても、他社障害に起因せずに自社障害が生じる事態もあり得る。このような場合の自社障害データ、すなわち他社障害と無関係であることが明らかな自社障害データは、結合時に排除して教師データから除外することで学習精度を向上させ得る。
教師データを作成した後、学習処理部20で教師データを用いた機械学習を実行し、反響データと自社障害発生の有無あるいは自社障害発生の確率との相関関係を規定するモデルを生成する(S104)。学習済モデルは、学習モデル記憶部22に記憶される。
S105~S108は、学習済モデルを用いた障害発生予測処理のステップである。
まず、反響データ取得部10により現在の反響データを取得する(S105)。
次に、障害予測部24は、現在の反響データを学習済モデルに入力し、学習済モデルから演算処理を実行して自社障害発生の有無等を出力する(S106)。障害予測部24は、学習済モデルの出力が自社障害発生ありか否かを判定する(S107)。なお、学習済モデルの出力が自社障害発生の有無であれば、その出力結果がそのまま自社障害発生ありか否かの判定結果となる。学習済モデルの出力が自社障害発生の確率であれば、予め定められた閾値(例えば60%)と比較し、閾値以上であれば自社障害発生ありと判定する。
判定の結果、自社障害発生ありと判定された場合(S107でYES)、障害予測部24は、予測した障害発生を自社の関係部門に出力する(S108)。具体的には、自社サービスに係るシステムやサーバの管理運用部門に対し、メール等で
「自社障害発生を予測しました。注意して下さい。」
と出力する等である。
ここで、「自社障害発生あり」と判定された場合、これはAPI連携している他社サービスの障害発生を予測していることをも意味する。つまり、現在の反響データは、他社サービスの障害発生に起因して生じているが、自社において未だ他社サービスで障害が発生していることを現に認識していない時点では、他社サービスの障害を予測(推測)するしかなく、この意味でAPI連携している他社サービスの障害発生を予測しているといえる。
従って、
「自社サービスの障害発生を予測しました。」
に代えて、
「他社サービスの障害発生を予測しました。
これに伴い、自社障害発生のおそれがあります。」
等と出力してもよい。関係部門は、出力された障害発生予測に基づいて、事前に必要な措置をとり得る。
以上説明したように、本実施形態では、現在生じている外部の反響データを用いて自社障害発生(あるいは他社障害発生)を予測することができる。そして、この障害発生予測には、他社からの実際の障害アナウンスや報知等の受信・確認は不要であり、障害を事前に予測したプロアクティブな対応が可能となる。
<変形例1>
実施形態では、図4に示す教師データを用いて機械学習しているが、図8に示すような教師データ60を用いて機械学習してもよい。
図8において、教師データ60は、図4に示す教師データ34に加え、さらに自社障害発生の検知時間を含む。具体的には、
社名:AAA
サービス名:インフラA
機能名:ロードバランサ
自社障害機能:a基盤
検知時間:13:20
i0:4/10
i1:12:20
i2:30分
i3:320データ数
i4:640分
等である。AAA社のインフラAというサービスの、ロードバランサ(負荷調整)機能に障害が発生したことを起因として、自社のa基盤に4/10に障害が発生し、その日の時刻12:20に当該障害発生に起因して反響データの発生が開始され、その30分後に最大量320まで反響データが増大し、反響データ量が一定値以下となるまで640分が経過し、自社障害発生の検知時間は時刻13:20であったことを意味する。
学習処理部20は、図8に示す教師データ60を用いて機械学習を実行してモデルを生成する。学習処理部20は、教師データ60を用いて機械学習を実行し、反響データと自社障害発生を相関させるべくモデルを生成する。学習済モデルは、現在の反響データを入力すると、自社障害発生の有無等と、その障害発生予測時間を出力する。障害発生予測時間は、当該自社障害発生を自社で検知すると予測される時間を意味する。具体的には、
「自社のa基盤の障害発生を予測しました。
障害発生予測時間:12:21」
等と出力する。障害予測部24は、出力結果を関係部門に出力する。この場合、関係部門は、自社障害発生の予測時間も考慮に入れた対応をとり得る。
<変形例2>
実施形態において、自社障害データとして、自社障害に応じた対応方法と、そのときの対応完了時間を含め、図9に示すような教師データ62を用いて機械学習してもよい。
図9において、教師データ62は、図8に示す教師データ60に加え、さらに自社障害に対する対応方法及び対応完了時間を含む。具体的には、
社名:AAA
サービス名:インフラA
機能名:ロードバランサ
自社障害機能:a基盤
検知時間:13:20
対応完了時間:13:20
対応方法:機能閉塞
i0:4/10
i1:12:20
i2:30分
i3:320データ数
i4:640分
等である。AAA社のインフラAというサービスの、ロードバランサ(負荷調整)機能に障害が発生したことを起因として、自社のa基盤に4/10に障害が発生し、その日の時刻12:20に当該障害発生に起因して反響データの発生が開始され、その30分後に最大量320まで反響データが増大し、反響データ量が一定値以下となるまで640分が経過し、自社障害発生の検知時間は時刻13:20であり、機能閉塞という対応により時刻13:20に対応を完了したことを意味する。
学習処理部20は、図9に示す教師データ62を用いて機械学習を実行してモデルを生成する。学習処理部20は、教師データ60を用いて機械学習を実行し、モデルを生成する。学習済モデルは、現在の反響データを入力すると、自社障害発生の有無等と、その障害発生予測時間と、その障害に対する対応方法を出力する。
なお、対応方法は、可能な全ての対応方法を出力してもよいが、障害発生予測時間と当該対応方法の対応完了時間とを比較し、障害発生予測時間までに間に合う対応方法を出力してもよい。
具体的には、現在の時刻が12:15であり、障害発生予測時間が12:21であり、障害発生機能に対応し得る方法のうち、機能閉塞であれば直ちに対応可能であって12:21までに対応完了する場合、
「自社のa基盤の障害発生を予測しました。」
障害発生予測時間:12:21
対応方法:機能閉塞
等と出力する。
図10は、障害予測部24の出力画面64の一例を示す。
「自社障害を予測しました。」
とのメッセージとともに、自社障害の原因となり得る他社名、及びAPI名、自社障害発生予測時刻、復旧予測時刻が表示される。また、自社障害発生予測時刻までに間に合う対応方法の候補が表示される。対応候補が複数存在する場合、所定の順位、例えば対応完了時刻の早い順等で表示される。
「自社障害を予測しました。」
に代えて、
「他社障害を予測しました。」
とのメッセージでもよい。
<変形例3>
本実施形態では、API連携により他社が提供するサービスを利用して自社サービスを提供する場合における、他社障害発生に起因する自社障害発生の有無を予測しているが、本実施形態の技術は、他の分野にも適用可能である。
例えば、ある感染病の流行状況についての過去のデータを教師データとして学習し、現在の感染データから、自分の住む地域での感染の有無や確率について予測する等である。
10 反響データ取得部、12 反響データ記憶部、14 他社障害データ記憶部、16 自社障害データ記憶部、18 教師データ生成部、20 学習処理部、22 学習済モデル記憶部、24 障害予測部。

Claims (11)

  1. 外部の反響情報の傾向を取得する取得部と、
    プロセッサと、
    を備え、前記プロセッサは、プログラムを実行することで、
    過去の他社の障害情報を起因として生じた過去の自社の障害情報と、そのときの外部の反響情報の傾向との関係を推定するための機械学習を行った学習済みの学習モデルに、前記取得部で取得した外部の反響情報の傾向を入力し、
    前記学習モデルを用いた演算処理を実行し、
    前記学習モデルから自社の障害発生の予測情報を出力する、
    障害発生予測装置。
  2. 前記プロセッサは、前記予測情報として、自社の障害発生の有無及び障害発生の予測時間を出力する、
    請求項1に記載の障害発生予測装置。
  3. 前記プロセッサは、更に、前記予測情報として、予測される障害の対応方法を出力する、
    請求項2に記載の障害発生予測装置。
  4. 前記取得部は、前記外部の反響情報の傾向として、反響情報の開始日時、及び反響情報の変化量を取得する、
    請求項1~3のいずれかに記載の障害発生予測装置。
  5. 前記取得部は、更に、前記外部の反響情報の傾向として、反響情報の最大量、反響情報の開始から前記最大量になるまでの時間を取得する、
    請求項4に記載の障害発生予測装置。
  6. 前記取得部は、更に、前記外部の反響情報の傾向として、反響情報の開始から反響情報が一定量以下に低減するまでの時間を取得する、
    請求項5に記載の障害発生予測装置。
  7. 他社の障害情報、前記他社の障害情報に起因する自社の障害情報、及びそのときの外部の反響情報の傾向の組を学習データとして取得する学習データ取得部と、
    プロセッサと、
    を備え、前記プロセッサは、プログラムを実行することで、
    前記学習データを用い、外部の反響情報の傾向を入力した場合に自社の障害発生の予測情報を出力するように学習モデルの機械学習を実行する、
    学習装置。
  8. 前記学習データは、前記自社の障害情報として、障害発生日時、及び障害内容を含む、
    請求項7に記載の学習装置。
  9. 前記学習データは、前記外部の反響情報の傾向として、反響情報の開始日時、及び反響情報の変化量を含む、
    請求項7,8のいずれかに記載の学習装置。
  10. 前記学習データは、更に、前記外部の反響情報の傾向として、反響情報の最大量、反響情報の開始から前記最大量になるまでの時間を含む、
    請求項9に記載の学習装置。
  11. 前記学習データは、更に、前記外部の反響情報の傾向として、反響情報の開始から反響情報が一定量以下に低減するまでの時間を含む、
    請求項10に記載の学習装置。
JP2020035757A 2020-03-03 2020-03-03 障害発生予測装置及び学習装置 Active JP7505206B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020035757A JP7505206B2 (ja) 2020-03-03 2020-03-03 障害発生予測装置及び学習装置
US17/030,353 US20210279609A1 (en) 2020-03-03 2020-09-23 Failure prediction apparatus and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020035757A JP7505206B2 (ja) 2020-03-03 2020-03-03 障害発生予測装置及び学習装置

Publications (2)

Publication Number Publication Date
JP2021140308A JP2021140308A (ja) 2021-09-16
JP7505206B2 true JP7505206B2 (ja) 2024-06-25

Family

ID=77555110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020035757A Active JP7505206B2 (ja) 2020-03-03 2020-03-03 障害発生予測装置及び学習装置

Country Status (2)

Country Link
US (1) US20210279609A1 (ja)
JP (1) JP7505206B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018018224A (ja) 2016-07-26 2018-02-01 富士ゼロックス株式会社 プロモーション支援装置及びプログラム
US20190361784A1 (en) 2018-05-23 2019-11-28 Seagate Technology Llc Machine learning error prediction in storage arrays

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9297723B1 (en) * 2013-11-15 2016-03-29 American Public Power Association Inc. Tracking and analyzing service outages
US20180189399A1 (en) * 2016-12-29 2018-07-05 Google Inc. Systems and methods for identifying and characterizing signals contained in a data stream
US11429927B1 (en) * 2018-10-22 2022-08-30 Blue Yonder Group, Inc. System and method to predict service level failure in supply chains
EP4073653A4 (en) * 2019-12-09 2022-12-14 Visa International Service Association FAILURE PREDICTION IN DISTRIBUTED SYSTEMS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018018224A (ja) 2016-07-26 2018-02-01 富士ゼロックス株式会社 プロモーション支援装置及びプログラム
US20190361784A1 (en) 2018-05-23 2019-11-28 Seagate Technology Llc Machine learning error prediction in storage arrays

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大木 基至 ほか,"Web上の複数のユーザ行動データを用いたモデルアンサンブル法に基づく故障イベント検知",電子情報通信学会技術研究報告,一般社団法人 電子情報通信学会,2017年,第117巻, 第212号,pp. 123-128,ISSN 0913-5685

Also Published As

Publication number Publication date
US20210279609A1 (en) 2021-09-09
JP2021140308A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
EP4091110B1 (en) Systems and methods for distributed incident classification and routing
Lechevalier et al. Towards a domain-specific framework for predictive analytics in manufacturing
JP6875179B2 (ja) システム分析装置、及びシステム分析方法
EP3827387A1 (en) Systematic prognostic analysis with dynamic causal model
Roshandel et al. A Bayesian model for predicting reliability of software systems at the architectural level
JP2019502195A (ja) 時間的因果グラフにおける異常フュージョン
CN110516971A (zh) 异常检测的方法、装置、介质和计算设备
Zhang et al. Accountability monitoring and reasoning in service-oriented architectures
US9860109B2 (en) Automatic alert generation
JP5413240B2 (ja) イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム
JP2023547849A (ja) ラベルなしセンサデータを用いた産業システム内の稀な障害の自動化されたリアルタイムの検出、予測、及び予防に関する、方法または非一時的コンピュータ可読媒体
US11556871B2 (en) Systems and methods for escalation policy activation
CN108170581A (zh) 一种故障预警方法、装置及电子设备
US11144930B2 (en) System and method for managing service requests
US20230133541A1 (en) Alert correlating using sequence model with topology reinforcement systems and methods
Jabeen et al. An improved software reliability prediction model by using high precision error iterative analysis method
Malhotra et al. Prioritization of classes for refactoring: A step towards improvement in software quality
Wu et al. Sensor deployment based on fuzzy graph considering heterogeneity and multiple-objectives to diagnose manufacturing system
US20230105304A1 (en) Proactive avoidance of performance issues in computing environments
Pai et al. Quality and reliability studies in software defect management: a literature review
Ding et al. TraceDiag: Adaptive, Interpretable, and Efficient Root Cause Analysis on Large-Scale Microservice Systems
KR102372958B1 (ko) 멀티 클라우드 환경에서 애플리케이션 성능 모니터링 방법 및 장치
JP7505206B2 (ja) 障害発生予測装置及び学習装置
JP2021140400A (ja) 学習モデル作成システム及び学習モデル作成方法
Lee et al. Impacts of varying network parameters on the vulnerability and resilience of interdependent critical infrastructure systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240321

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: 20240514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240527