JP2020024538A - 操作列生成装置、操作列生成方法及びプログラム - Google Patents

操作列生成装置、操作列生成方法及びプログラム Download PDF

Info

Publication number
JP2020024538A
JP2020024538A JP2018148198A JP2018148198A JP2020024538A JP 2020024538 A JP2020024538 A JP 2020024538A JP 2018148198 A JP2018148198 A JP 2018148198A JP 2018148198 A JP2018148198 A JP 2018148198A JP 2020024538 A JP2020024538 A JP 2020024538A
Authority
JP
Japan
Prior art keywords
operation sequence
state
relationship
learning
sequence
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.)
Granted
Application number
JP2018148198A
Other languages
English (en)
Other versions
JP7031527B2 (ja
Inventor
暁 渡邉
Akira Watanabe
暁 渡邉
光希 池内
Koki Ikeuchi
光希 池内
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018148198A priority Critical patent/JP7031527B2/ja
Priority to US17/265,878 priority patent/US20210200614A1/en
Priority to PCT/JP2019/028331 priority patent/WO2020031653A1/ja
Publication of JP2020024538A publication Critical patent/JP2020024538A/ja
Application granted granted Critical
Publication of JP7031527B2 publication Critical patent/JP7031527B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】コンピュータシステムの運用のための作業負担を軽減すること。【解決手段】操作列生成装置は、コンピュータシステムの状態を示す情報と、前記状態において前記コンピュータシステムに対して行われた操作の内容を示す単語列との関係性を学習する学習部と、前記コンピュータシステムの状態について、新たな状態を示す情報が入力されると、前記関係性に対して当該情報を入力して、前記新たな状態に対する前記単語列を生成する生成部と、を有する。【選択図】図3

Description

本発明は、操作列生成装置、操作列生成方法及びプログラムに関する。
大規模化・構成機器の多様化が進むITシステム(コンピュータシステム)においては、発生故障件数が増大し、従来のようなオペレータによる障害からの復旧措置では、高品質なマネジメントの維持が困難となっている。
このような課題に対し、自動復旧システムが開発されている。一般に自動復旧システムは、特定のアラームの発生などをトリガに、予め設定されている手順(シナリオ)を実行することで、オペレータの作業を介さずに復旧を実現する。したがって、自動復旧システムは、トリガとなるアラームとそのときのシナリオを予め作成しておく必要がある。
しかしながら、自動復旧システムでは、手作業でのシナリオの構築の手間が、導入の障壁となっている。シナリオの作成はシステム運用に纏わる多くのノウハウを必要とし、対象システムの保守運用に慣れた人物しか行えないからである。シナリオも数十の操作(コマンド等)から構成されることが多いため、シナリオ作成は、非常に高コストな業務である。また、自動復旧システムは、事前に定義したトリガ条件に合致した場合にのみ措置を実行することが可能であるため、未知の障害が発生した場合には対応ができない。更に、より複雑な障害になると、トリガとなるアラームも極めて煩雑になる。人手でのトリガ設定が困難な、複雑な発生条件も出現し得る。これらのシナリオとトリガの設定の難しさが、自動復旧システム導入の課題となっている。
シナリオ構築の手間の最大の要因となっているのが、シナリオを構成する要素である"操作"の事前定義が困難なことである。シナリオ構築を自動的に行う関連技術として、検証環境で模擬的に操作を繰り返すことで、システム状態に基づいて事前に定義した操作のいずれを実行すればよいのかの判定を自動的に学習する手法が提案されている(非特許文献1)。また、過去の復旧手順の履歴から、順に行うべき一連の操作手順を学習する手法も提案されている(非特許文献2)。
宮本達史, 黒木圭介, 宮澤雅典, 林通秋, "DNNを適用したNFV障害業務プロセス管理モデルの提案", 電子情報通信学会総合大会, B-14-4, 2018. Michael L. Littman, Nishkam Ravi, Eitan Fenson and Rich Howard, "An Instance-based State Representation for Network Repair", In Proc. of AAAI'04, pp.287-292, 2004.
しかしながら、非特許文献1及び非特許文献2等の従来技術では、シナリオの構成要素である操作の事前定義が必要である。実際には定義すべき操作は数百に及ぶことが予想される。また、新たなサービスやソフトウェアを導入すれば定義すべき操作も増加するため定期的な操作リストの更新も必要である。そのため、従来技術では自動復旧できる故障の種類は決められた操作のみで処置できる範囲に限定されるという課題がある。また、例えば、操作をどのようなホスト名の装置に行うか、どのようなIDを設定するかなど、パラメータの詳細は人手で対応する必要があり、そのような作業が必要となる故障の自動復旧は困難である。
本発明は、上記の点に鑑みてなされたものであって、コンピュータシステムの運用のための作業負担を軽減することを目的とする。
そこで上記課題を解決するため、操作列生成装置は、コンピュータシステムの状態を示す情報と、前記状態において前記コンピュータシステムに対して行われた操作の内容を示す単語列との関係性を学習する学習部と、前記コンピュータシステムの状態について、新たな状態を示す情報が入力されると、前記関係性に対して当該情報を入力して、前記新たな状態に対する前記単語列を生成する生成部と、を有する。
コンピュータシステムの運用のための作業負担を軽減することができる。
本発明の実施の形態において出力される操作列のイメージの一例を示す図である。 本発明の実施の形態における操作列生成装置10のハードウェア構成例を示す図である。 本発明の実施の形態における操作列生成装置10の機能構成例を示す図である。 学習フェーズで利用される部分を示す図である。 学習フェーズにおいて操作列生成装置10が実行する処理手順の一例を説明するためのフローチャートである。 操作列生成フェーズで利用される部分を示す図である。 操作列生成フェーズにおいて操作列生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、過去に故障が発生したときのITシステム等のコンピュータシステム(以下、単に「システム」という。)の状態を示す情報(アラーム等)と、当該障害からの復旧のために行われた操作の内容を文字列の系列によって示す操作列を学習データとして、システム状態と操作列の関係性が学習され、新たな異常の発生時に、システム状態から尤もらしい操作列が出力されてオペレータに提示される。
本実施の形態のポイントは、新たな故障に対して出力される操作列を、従来手法のような事前定義された操作で構成された系列とせず、直接キーボード入力されるような、純粋な(単なる)文字列として定義する点である。なお、「新たな故障」とは、学習後に発生した故障をいい、必ずしも、未知の故障とは限らない。
図1は、本発明の実施の形態において出力される操作列のイメージの一例を示す図である。図1における操作列は、"login, host01, <ENT>, show, log, <ENT>, show, session, <ENT>, show, state, all, <ENT>, configure, -t, 2018/06/01, 10:00:00, <ENT>, sync, <ENT>, exit, <ENT>, </s>"の様に、単語列の系列である。ここで、単語列とは、<ENT>又は</s>で区切られる単語の列をいう。なお、<ENT>はコマンドの実行を示す改行に当たる単語であり、また、</s>は文の終わりを示す単語である。出力される単語の候補は、学習データに含まれる操作の履歴の全単語である。
従来技術で図1の操作列を出力しようとすると、事前に「login <host名>」、「show log」、「show session」など、一行ずつの操作が操作リストの中に人手で事前定義されなければならない。
一方、本実施の形態では、学習データに含まれる単語がそのまま出力の要素の候補となるため、過去に保守運用を行なった際の履歴があれば、操作についての人手での事前定義が不要となる。また従来技術で「login <host名>」のようにパラメータを含む操作は、人手での対処(この場合は、"host01"を代入すること)が必要である。これに対し、本実施の形態では、学習データ中に"host01"という単語が含まれていれば、そのパラメータも含めて推定可能である(さらに言えば、後述のようにseq2seq Pointer機構を用いれば、学習データ中に"host01"が含まれていなくても、入力データ中に"host01"が含まれていれば推定可能である。)。
出力を単語列の系列とみなす本実施の形態は、従来の入力や出力を成型し構造化された系列とみなす方法に比べて、出力され得る値の空間が膨大で、入力と出力の値の関係も複雑である。そのような技術的な問題をクリアするための実現例として、多量の学習データから入力単語列と出力単語列の複雑な関係性を学習できる、再帰型ニューラルネットワークと呼ばれる深層学習の一種をもとにした手法を下記で説明する。
本実施形態から明らかなように、出力された操作列や、新たにオペレータによって行われた操作の履歴は、そのときのシステム状態を表すアラーム列と組にして、学習データに追加することが可能である。よって、システムの更新に伴い新たな操作が追加されても、新たな操作を自動的に学習することが容易で、人手での操作一覧の更新管理が不要なことも本実施の形態の利点である。
以下、更に具体的に説明する。
本実施の形態では、入力として異常なシステム状態を示す何らかの情報(例えば、オペレータに通知されるシステムアラーム、CPUやHDDの使用率など)が与えられたときに、システム状態を正常に戻すための操作列が出力される。
学習データAとして、システム状態と操作列との組がN個(A={(X,Y)} i=1)与えられる。出力に該当する操作列は、上記した通り単なる単語列の系列である。Yは、学習データAにおけるi番目の組の操作列であり、Y=yi1i2…yi|Yi|と、単語yit∈Vで構成される系列として表せる。但し、単語集Vは、とり得る単語の集合であり、学習データの操作列に含まれる全単語である。また、|Y|は、操作列Yに含まれる単語の総数である。
一方、Xは、学習データAにおけるi番目の組のシステム状態である。Xは、例えば、発生したシステムアラームなどであれば操作列と同様に系列データとなるが、CPU使用率などを入力とした場合は、時間軸を持たないベクトル(すなわち、非系列データ)にもなり得るため、どのような値かは定義されない。換言すれば、Xの値は、所定の形式の値に限定されない。例えば、Xは、系列データ及び非系列データの双方を含んでもよい。
従来技術の場合は、出力として考えられる有限個の操作を操作リストとして予め定義しておく必要がある。したがって、学習用に用意した操作列データYの中に操作リストに載っていない操作が含まれていた場合、Yを学習データとして用いるのを断念する(すなわち、自動化の対象とするのを断念する)か、操作リストに新しい操作を人手で加える必要があった。
一方、本実施の形態では{Yに基づいて単語集Vが機械的に増え、単語集V内の単語の組み合わせにより事実上全ての操作の文字列の再現が可能となる。したがって、学習データ全てを自動化の対象とすることができる。
本実施の形態では、新たなシステム状態XN+1が与えられたときに、過去の学習データからXN+1に対応する適切な操作列YN+1を出力する。これを数式で表すと、次のようになる。
N+1=F(XN+1;A)
なお、操作列YN+1は、単なる文字列である。したがって、関数Fは、系列データ若しくは非系列データである、又は系列データ及び非系列データの双方を含むシステム状態XN+1を操作列を示す文字列に変換する関数であるといえる。
本実施の形態における学習フェーズでは、上式の関数Fのパラメータを学習データAから計算する。すなわち、関数FにXを与えたときの出力をY'としたとき、Y'と、Xに対する正解としてのYとができるだけ近くなるように、関数Fのパラメータを計算する。操作列生成フェーズでは、計算されたパラメータを用いた関数Fと入力XN+1から、YN+1を出力する。
関数Fは、出力Yの長さ|Y|が未知であることを考慮し、可変長の系列の出力が行える必要がある。任意の長さの出力が可能な学習モデルであって、入出力の関係を学習するモデルとしては、再帰型ニューラルネットワーク(Recurrent Neural Network; RNN)がある。本実施の形態もRNNを用いて、状態Xと操作列Yとの関係性のモデル化が実現可能である。
RNNの概要を説明する。RNNは、ある時刻tにおいて隠れ要素と呼ばれる値st−1及び入力値Xを受けて隠れ要素sを出力する関数f(X,st−1)と、sを入力にVのいずれかの単語を出力する関数g(sit)とで構築され、g(sit)=g(f(X,sit−1))が、</s>を出力するまで繰り返し任意の単語と中間層を生成し続ける。学習は、g(f(X,sit−1))が学習データのyitとできるだけ一致するように行われる。
なお、本実施の形態の実現において求められる要件は、出力される系列が可変長である方法であることのみで、実現の形態はRNNに限らない。例えば、入力となるXを操作列と同様の系列(発生したアラームを並べたデータなど)とすると、入力及び出力をそれぞれ系列とする、seq2seq(sequence-to-sequence)という手法を用いて状態Xと操作列Yとの関係性のモデル化が実現されてもよい(但し、これもRNNの一種の拡張である)。特に、seq2seqは、近年の精度向上の改良として、attention付きモデルというものが提案されており、入力として与えられた系列のいずれの要素に着目するか、という変数を導入し、この変数の影響も学習する。また、Pointer機構という手法も提案されており、学習データ中に含まれない単語であっても(Y中に含まれない単語であっても)、入力値XN+1中から単語をコピーして出力値YN+1中へ挿入することができる。これらの手法を取り入れることにより、例えば、入力データであるアラーム中に出現した(学習データ中には登場しない新しい)装置名を、出力データであるコマンドの引数パラメータとして埋め込むようにするなど、正しい操作列の生成の精度向上、可変なパラメータに対する対応が期待できる。
また、別の例として、入力に系列データ及び非系列データの双方が与えられ、操作列を出力することも考えられる。これは、例えば、入力として発生アラーム系列と、その際のシステムステータス(CPU使用率、HDD使用率、CPU温度など)とが与えられ、これらから操作列を生成する場合である。発生アラーム系列だけでは操作列を一意に特定しづらいような故障事例であっても、適切な非系列データを付加情報として加えることで、より精度の高い操作列の出力が期待できる。seq2seqは、入力を一つの系列、出力を別の系列としたモデルが多く提案されており、入力に系列又は非系列的な複数のデータが同時に与えられるようなモデルは、これまでに提案されていない。
以下、上記した内容を実現する操作列生成装置10について具体的に説明する。図2は、本発明の実施の形態における操作列生成装置10のハードウェア構成例を示す図である。図2の操作列生成装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
操作列生成装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って操作列生成装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図3は、本発明の実施の形態における操作列生成装置10の機能構成例を示す図である。図3において、操作列生成装置10は、入出力制御部11、関係学習部12及び操作列生成部13等を有する。これら各部は、操作列生成装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。操作列生成装置10は、また、操作履歴DB14、システム状態DB15及び状態操作列関係DB16等のデータベース(記憶部)を利用する。これら各データベース(各記憶部)は、例えば、補助記憶装置102、又は操作列生成装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
入出力制御部11は、ユーザによる入力や、ユーザに対する出力等を制御する。システム状態DB15は、過去のシステム障害ごとに、当該障害時のシステム状態を示す情報を蓄積(記憶)する。操作履歴DB14は、システム状態DB15に記憶されている各情報が示す各システム状態において行われた操作内容を示す単語列の系列で示す操作列を蓄積(記憶)する。関係学習部12は、システム状態と、当該システム状態から復旧するために行われた操作の内容を示す文字列(単語列の系列)である操作列との関係性を学習する。関係学習部12によって学習された関係性を示す情報(すなわち、関数Fのパラメータ)は、状態操作列関係DB16に記憶される。操作列生成部13は、新たなシステム状態を示す情報が与えられたときに、状態操作列関係DB16が記憶する情報が示す関係性に対して当該システム状態を入力して、当該システム状態に対応する操作列を生成する。
操作列生成装置10が実行する処理は、事前にシステム状態と操作列の関係性を学習して学習結果(当該関係性)を記憶する学習フェーズと、学習フェーズで記憶した関係性から新たに与えられた(異常を示す)システム状態に対応する操作列を生成する操作列生成フェーズから構成される。
図4は、学習フェーズで利用される部分を示す図である。図4では、学習フェーズで利用される部分が実線で示され、そうでない部分が破線で示されている。すなわち、学習フェーズでは、関係学習部12、操作履歴DB14、システム状態DB15及び状態操作列関係DB16が利用される。
図5は、学習フェーズにおいて操作列生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、関係学習部12は、操作履歴DB14から操作列Y={Y,Y,・・・,Y}を取得する。操作履歴DB14には、操作列ごとに、当該操作列を構成する単語の列(当該操作列が単語ごとに分割された単語の列)が記憶されている。但し、単語そのものではなく、各単語に対して割り当てられたID(以下「単語ID」という。)が、単語の代わりに記憶されてもよい。この場合、Yの一例は、以下のように単語IDの系列である。
=(4,8,2,6,7,2,…,5,2,3)
単語IDと単語とは、例えば、次のような「辞書」で一対一に紐づけられている.この操作列Yは図1を表現したものである.辞書は、全データY,Y,・・・,Yに出現する単語から生成されており、例えば、操作履歴DB14に記憶されていてもよい。
辞書={1:ssh,2:<ENT>,3:</s>,4:login,5:exit,6:show,7:log,8:host01,…}
続いて、関係学習部12は、システム状態DB15から状態X={X,X,…,X}を取得する(S102)。ここで、Xの一例は、以下のように非系列データAと系列データBとの組である。但し、Xは、非系列データのみ、又は系列データのみであってもよい。
=[A,B]
ここで、例えば、非系列データA=(0.3,0.7,…,42)であり、これは、「CPU使用率30%,HDD使用率70%,…,CPU温度42℃」を数値ベクトル化したものである。また、例えば、系列データB=(1,4,13,22,5,…,3)であり、これは、アラームIDを発生順に並べたベクトルである。
続いて、関係学習部12は、状態Xと操作列Yとの関係性を、当該関係性を示すモデル(関数F)のパラメータの値として学習し、学習結果(当該パラメータの値)を状態操作列関係DB16に記憶する(S103)。例えば、関係学習部12は、RNN又はseq2seqによって、当該関係性のモデル化を実現する。
例えば、seq2seqによって当該関係性のモデル化を実現される場合、関数Fは、ニューラルネットで構成されるため、このニューラルネットの重みパラメータの値が学習され、状態操作列関係DB16に記憶される。例えば、当該重みパラメータが、U,W,bであるとすると、
=0.3,U=0.5,…
=0.2,W=−0.7,…
=−0.4,b=0.0,…
といったような各重みパラメータの値が状態操作列関係DB16に記憶される。なお、関係学習部12は、状態Xと操作列Yとの関係性の学習時において、辞書に登録されていない単語が操作列Yに含まれている場合には、当該単語及び当該単語の単語IDとを辞書に登録する。単語IDは、例えば、関係学習部12が自動的に生成してもよい。
図6は、操作列生成フェーズで利用される部分を示す図である。図6では、操作列生成フェーズで利用される部分が実線で示され、そうでない部分が破線で示されている。すなわち、操作列生成フェーズでは、入出力制御部11、操作列生成部13及び状態操作列関係DB16が利用される。
図7は、操作列生成フェーズにおいて操作列生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
ステップS201において、入出力制御部11は、新たなシステム状態XN+1を入力する。続いて、操作列生成部13は、状態操作列関係DB16に記憶されている、状態Xと操作列Yとの関係性を示す関数Fのパラメータの値を取得する(S202)。続いて、操作列生成部13は、取得した値が適用された関数Fに対して状態XN+1を入力することで、操作列XN+1を生成する(S203)。続いて、入出力制御部11は、操作列XN+1を出力する(S204)。例えば、操作列XN+1が表示装置106に表示されてもよい。
続いて、本実施の形態の効果を具体的に説明するために、次のような状況を考える。新たなサービスを開始し、しばらく運用した結果、操作履歴の中に「commandX -q system」、「commandY -kv service」など1000種類程度の新たな操作のパターンが増えたとする。このような状況下で自動復旧の機構を導入することを考える。
従来技術により自動復旧を試みる場合、操作履歴に基づいて操作リストを事前定義する必要がある。操作履歴を確認しながら、馴染みの薄いコマンドである"commandX"、"commandY"に対して、そのオプション"-q"、"-kv"などの組み合わせも含めて操作を網羅的に定義していくのは極めて手間のかかる作業であり、高度な専門知識を必要とする。実際には、頻出のコマンドパターンのみを操作として定義するにとどまり、完全な自動復旧を実現するのは困難である。
一方、本実施の形態によれば、過去の各システム状態を示すデータをシステム状態DB15に登録し、当該各システム状態に対応する各操作列を操作履歴DB14に登録し、各システム状態と各操作列との関係性を学習させるだけでよい。この際、新出単語の"commandX"、"commandY"や、"-q"、"-kv"も漏れなく辞書に登録され、どのような状況のときにどのコマンドとどのオプションが組み合わさるのかなども合わせて学習されるため、実質的に1000種類程度の新たな操作パターンをモデル内に自動で獲得することができる。したがって、学習データの中に出現したようなあらゆる故障に対し、自動復旧が可能となる。
上述したように、本実施の形態によれば、過去にシステム故障が発生した際に、その時のシステムの状態と、当該故障から復旧するためにオペレータが実施した操作の履歴を示す操作列とを大量に残していれば、新たにシステム故障が発生した際の自動対処の手順を自動生成できるようになる。ここで、操作列は、操作に含まれる単語を並べた単なる単語列として把握され、単語列である操作列の生成が、再帰型ニューラルネットワークなどの可変長の系列を生成可能な手法を用いて実現される。したがって、従来多くのコストを要していた事前のシナリオ定義およびシナリオの実行トリガ定義を行うことなしに、過去に実施された操作列から得た単語の組み合わせによって操作列を生成可能にし、自動復旧システムを実現可能とすることができる。その結果、システム運用のための作業負担を軽減することができる。
なお、本実施の形態において、関係学習部12は、学習部の一例である。操作列生成部13は、生成部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 操作列生成装置
11 入出力制御部
12 関係学習部
13 操作列生成部
14 操作履歴DB
15 システム状態DB
16 状態操作列関係DB
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
B バス

Claims (6)

  1. コンピュータシステムの状態を示す情報と、前記状態において前記コンピュータシステムに対して行われた操作の内容を示す単語列との関係性を学習する学習部と、
    前記コンピュータシステムの状態について、新たな状態を示す情報が入力されると、前記関係性に対して当該情報を入力して、前記新たな状態に対する前記単語列を生成する生成部と、
    を有することを特徴とする操作列生成装置。
  2. 前記コンピュータシステムの状態を示す情報は、系列データ及び非系列データの双方を含みうる、
    ことを特徴とする請求項1記載の操作列生成装置。
  3. 前記関係性のモデル化を再帰型ニューラルネットワークで実現した、
    ことを特徴とする請求項1又は2記載の操作列生成装置。
  4. 前記関係性のモデル化をsequence-to-sequenceで実現した、
    ことを特徴とする請求項1又は2記載の操作列生成装置。
  5. コンピュータシステムの状態を示す情報と、前記状態において前記コンピュータシステムに対して行われた操作の内容を示す単語列との関係性を学習する学習手順と、
    前記コンピュータシステムの状態について、新たな状態を示す情報が入力されると、前記関係性に対して当該情報を入力して、前記新たな状態に対する前記単語列を生成する生成手順と、
    をコンピュータが実行することを特徴とする操作列生成方法。
  6. 請求項1乃至4いずれか一項記載の学習部及び生成部としてコンピュータを機能させることを特徴とするプログラム。
JP2018148198A 2018-08-07 2018-08-07 操作列生成装置、操作列生成方法及びプログラム Active JP7031527B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018148198A JP7031527B2 (ja) 2018-08-07 2018-08-07 操作列生成装置、操作列生成方法及びプログラム
US17/265,878 US20210200614A1 (en) 2018-08-07 2019-07-18 Operation sequence generation apparatus, operation sequence generation method and program
PCT/JP2019/028331 WO2020031653A1 (ja) 2018-08-07 2019-07-18 操作列生成装置、操作列生成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018148198A JP7031527B2 (ja) 2018-08-07 2018-08-07 操作列生成装置、操作列生成方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020024538A true JP2020024538A (ja) 2020-02-13
JP7031527B2 JP7031527B2 (ja) 2022-03-08

Family

ID=69414922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018148198A Active JP7031527B2 (ja) 2018-08-07 2018-08-07 操作列生成装置、操作列生成方法及びプログラム

Country Status (3)

Country Link
US (1) US20210200614A1 (ja)
JP (1) JP7031527B2 (ja)
WO (1) WO2020031653A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021157306A (ja) * 2020-03-25 2021-10-07 三菱電機株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
WO2022130556A1 (ja) * 2020-12-17 2022-06-23 日本電信電話株式会社 障害復旧支援装置、障害復旧支援方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254451A (ja) * 2012-06-08 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 監視装置、監視方法及び監視プログラム
JP2014078067A (ja) * 2012-10-09 2014-05-01 Nec Corp データベースシステム、データベース装置、データベースの障害回復方法およびプログラム
WO2017154844A1 (ja) * 2016-03-07 2017-09-14 日本電信電話株式会社 分析装置、分析方法および分析プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251584B1 (en) * 2006-03-14 2007-07-31 International Business Machines Corporation Incremental detection and visualization of problem patterns and symptoms based monitored events
US10740692B2 (en) * 2017-10-17 2020-08-11 Servicenow, Inc. Machine-learning and deep-learning techniques for predictive ticketing in information technology systems
JP2014048697A (ja) * 2012-08-29 2014-03-17 Hitachi Ltd 設備状態監視方法及び設備状態監視装置
US10037238B2 (en) * 2016-02-10 2018-07-31 Dell Products, L.P. System and method for encoding exception conditions included at a remediation database
US20200097921A1 (en) * 2018-09-24 2020-03-26 Hitachi, Ltd. Equipment repair management and execution
US20220172037A1 (en) * 2020-11-30 2022-06-02 International Business Machines Corporation Proactive anomaly detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254451A (ja) * 2012-06-08 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 監視装置、監視方法及び監視プログラム
JP2014078067A (ja) * 2012-10-09 2014-05-01 Nec Corp データベースシステム、データベース装置、データベースの障害回復方法およびプログラム
WO2017154844A1 (ja) * 2016-03-07 2017-09-14 日本電信電話株式会社 分析装置、分析方法および分析プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021157306A (ja) * 2020-03-25 2021-10-07 三菱電機株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
JP7304833B2 (ja) 2020-03-25 2023-07-07 三菱電機株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
WO2022130556A1 (ja) * 2020-12-17 2022-06-23 日本電信電話株式会社 障害復旧支援装置、障害復旧支援方法及びプログラム

Also Published As

Publication number Publication date
US20210200614A1 (en) 2021-07-01
WO2020031653A1 (ja) 2020-02-13
JP7031527B2 (ja) 2022-03-08

Similar Documents

Publication Publication Date Title
WO2020031653A1 (ja) 操作列生成装置、操作列生成方法及びプログラム
JP6808588B2 (ja) エレベータシステム
CN117492807A (zh) 基于深度强化学习的操作系统运维辅助方法及系统
WO2018174000A1 (ja) 構成管理装置、構成管理方法および記録媒体
JP6451417B2 (ja) デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム
Yue et al. Bridging the gap between requirements and aspect state machines to support non-functional testing: industrial case studies
KR102505002B1 (ko) 코드 재사용 처리 방법, 장치, 전자 기기, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램
JP5409407B2 (ja) 情報処理装置及びプログラム
JP7327493B2 (ja) 異常対処支援装置、方法およびプログラム
US20210142237A1 (en) Management system
JP2018124901A (ja) プログラム分析装置、プログラム分析方法及びプログラム分析プログラム
JP2003303100A (ja) 情報処理システムおよび情報処理システム構築方法並びにこれに用いるプログラム
WO2022234692A1 (ja) 情報処理方法、情報処理装置およびプログラム
US10998004B1 (en) Method and apparatus for generating a video based on a process
JP2016042317A (ja) ソフトウェア設計支援装置、および方法
JP5600826B1 (ja) 非構造化データ処理システム、非構造化データ処理方法およびプログラム
WO2021100182A1 (ja) コマンド生成装置、コマンド生成方法及びプログラム
US20220269239A1 (en) Information processing apparatus, control apparatus, control method, method of controlling control apparatus, and recording medium
US11750458B1 (en) Structured network change controls
US20210248206A1 (en) Systems and methods for generating data retrieval steps
US20230213897A1 (en) Information processing device, information processing method, and computer program product
WO2020170401A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2021024594A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6514172B2 (ja) 文書比較装置、文書比較方法及びプログラム
JP6282254B2 (ja) 製品構成情報管理装置、製品構成情報管理システムおよび製品構成情報管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220207

R150 Certificate of patent or registration of utility model

Ref document number: 7031527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150