JP6902140B2 - Operations support system and method - Google Patents
Operations support system and method Download PDFInfo
- Publication number
- JP6902140B2 JP6902140B2 JP2020084863A JP2020084863A JP6902140B2 JP 6902140 B2 JP6902140 B2 JP 6902140B2 JP 2020084863 A JP2020084863 A JP 2020084863A JP 2020084863 A JP2020084863 A JP 2020084863A JP 6902140 B2 JP6902140 B2 JP 6902140B2
- Authority
- JP
- Japan
- Prior art keywords
- procedure
- abstract
- target
- flowchart
- management unit
- 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
Links
Images
Landscapes
- Machine Translation (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、概して、計算機システム、アプリケーション、及びサービスといった対象の運用を支援するための技術に関する。 The present invention generally relates to techniques for supporting the operation of objects such as computer systems, applications, and services.
運用対象として、例えば、計算機システムがある。計算機システムの運用では、レスポンスタイムなどの性能値や、ダウンタイムなどの条件を事前に定義しておき、この条件を満たす様に運用を行うことが多い。 As an operation target, for example, there is a computer system. In the operation of a computer system, performance values such as response time and conditions such as downtime are often defined in advance and operated so as to satisfy these conditions.
そのため、異常状態に迅速に対処することが必要となるが、異常状態となるタイミングを予期することは困難である。また、サーバなどの大量のシステムリソースの状態を個別に常に監視することは現実的ではない。そのため、性能値がしきい値を下回ったタイミングや、エラーがログに出力されたタイミングなど、計算機システムが特定の状態となることをトリガーとして、イベントを発行することが行われている。運用管理者は、イベントを監視することで計算機システムの状態を把握することができ、異常を迅速に検知することが可能となる。 Therefore, it is necessary to deal with the abnormal state promptly, but it is difficult to predict the timing of the abnormal state. In addition, it is not realistic to constantly monitor the status of a large amount of system resources such as servers individually. Therefore, an event is issued when the computer system becomes a specific state such as the timing when the performance value falls below the threshold value or the timing when the error is output to the log. The operation manager can grasp the state of the computer system by monitoring the event, and can quickly detect the abnormality.
一方で、異常の内容や、異常が発生した箇所に応じて適切な対応を行うためには、情報技術の知識と、運用対象の計算機システムに関する知識が必要であり、高度なスキルセットが必要となる。このような高度なスキルセットを持つ人材は希少であり、イベントを監視し、計算機システムを安全に運用するために十分な人数を確保することが難しい。 On the other hand, in order to take appropriate measures according to the content of the abnormality and the location where the abnormality occurred, knowledge of information technology and knowledge of the computer system to be operated are required, and an advanced skill set is required. Become. Human resources with such an advanced skill set are scarce, and it is difficult to secure enough personnel to monitor events and operate computer systems safely.
そのため、一般に、高度なスキルセットを持つ人材(以降、運用管理者と記す)が、どのような内容のイベントが、どのような条件で発生した場合に、どのような対応をすべきかを記した手順書を用意し、手順書を元に、スキルセットが十分でない人材(以降、オペレータと記す)が、計算機システムを監視する体制が採用される。この体制は、運用対象の計算機システムが、厳密に設計されその上で開発されたシステムであり、システムの規模拡大が遅いために、採用可能である。 Therefore, in general, human resources with advanced skill sets (hereinafter referred to as operation managers) described what kind of event should occur under what conditions and what kind of response should be taken. A system is adopted in which a procedure manual is prepared, and based on the procedure manual, human resources with insufficient skill sets (hereinafter referred to as operators) monitor the computer system. This system can be adopted because the computer system to be operated is a system that has been strictly designed and developed on it, and the scale of the system is slow to expand.
しかしながら、近年、クラウドコンピューティングにより、物理的なシステムリソースを柔軟且つ迅速に調達することが可能となり、計算機システムの規模拡大が高速化している。一方で、仮想サーバやアプリケーションといった論理的なシステムリソースの運用は、データの秘匿などの問題もあり、一般にはクラウドコンピューティングの提供者に委託することができない。上記の運用体制では、計算機システムの運用が手順書とオペレータに依っているため、計算機システムの規模拡大に対して運用がボトルネックとなっている。 However, in recent years, cloud computing has made it possible to procure physical system resources flexibly and quickly, and the scale expansion of computer systems has been accelerated. On the other hand, the operation of logical system resources such as virtual servers and applications cannot be outsourced to cloud computing providers in general due to problems such as data confidentiality. In the above operation system, since the operation of the computer system depends on the procedure manual and the operator, the operation becomes a bottleneck for the expansion of the scale of the computer system.
そこで、運用負荷の削減が望まれる。運用負荷の削減のために、特許文献1に開示の技術を利用することが考えられる。特許文献1は、フロー編集技術を開示する。フロー編集技術とは、フローチャートの形式で論理表現を入力する技術である。特許文献1によれば、フローチャートのテンプレートを元に、フローチャートを記述する際の記述量を削減することが可能となる。
Therefore, it is desired to reduce the operational load. In order to reduce the operational load, it is conceivable to use the technique disclosed in
一般に、手順書には、大量の手順が蓄積されている。上述の特許文献1では、手順毎に、フローチャートのテンプレート化、又は、適用するテンプレートを探し出し、その後に、値を入力する必要がある。従って、手順をフローチャートに変換する負担を実質削減することができない。
In general, a large number of procedures are accumulated in a procedure manual. In the above-mentioned
手順をフローチャートに変換するためには、手順の記載内容を理解している必要があり、手順書を用意する者は、上述したように、通常、運用管理者である。故に、運用管理者以外の者が、手順をフローチャートに変換することは困難である。しかし、運用管理者は、運用対象である計算機システムの規模に対して概して少数であり、故に、運用管理者に運用負荷が集中している。このため、手順毎に手順をフローチャートに変換するといった大きな工数を運用管理者から捻出することは困難である。 In order to convert the procedure into a flowchart, it is necessary to understand the description contents of the procedure, and the person who prepares the procedure manual is usually an operation manager as described above. Therefore, it is difficult for a person other than the operation manager to convert the procedure into a flowchart. However, the number of operation managers is generally small with respect to the scale of the computer system to be operated, and therefore the operation load is concentrated on the operation manager. For this reason, it is difficult for the operation manager to generate a large man-hour such as converting the procedure into a flowchart for each procedure.
なお、手順書は、自然言語を用いて書かれている。手順書それ自体を機械が読み込める(理解できる)形式に変換し易いように編集することで、手順をフローチャートに自動変換することが期待できる。しかし、手順書は、運用のノウハウに関する手順を含むことがあり、故に、手順書それ自体を編集することは避けることが望ましい。 The procedure manual is written in natural language. By editing the procedure manual itself so that it can be easily converted into a machine-readable (understandable) format, it can be expected that the procedure will be automatically converted into a flowchart. However, the runbook may include procedures related to operational know-how, and therefore it is desirable to avoid editing the runbook itself.
上述の課題は、運用対象が、計算機システム以外の対象である場合にもあり得る。また、自然言語で表現された手順の変換後の構造体が、フローチャート以外の構造体である場合にもあり得る。 The above-mentioned problem may be a case where the operation target is a target other than the computer system. In addition, the converted structure of the procedure expressed in natural language may be a structure other than the flowchart.
運用支援システムは、運用対象の運用に関する複数の手順を含んだ手順書のうちの第1手順の選択を受ける。運用支援システムは、第1手順に対応した第1抽象手順に包含される第2抽象手順が構造化されたものである抽象構造体と、選択された第1手順とに基づき、第1手順の少なくとも一部を構造化したものである推定構造体を表示する。 The operation support system receives the selection of the first procedure from the procedure manual including a plurality of procedures related to the operation of the operation target. The operation support system is based on an abstract structure in which the second abstract procedure included in the first abstract procedure corresponding to the first procedure is structured and the selected first procedure, and the first procedure Display an estimated structure that is at least partially structured.
本発明によれば、手順書を機械が読み込める形式に変換するための入力作業負担を軽減することが可能となる。 According to the present invention, it is possible to reduce the input work load for converting the procedure manual into a format that can be read by a machine.
一実施例について、図面を参照して説明する。なお、以降に説明する実施例は請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 An embodiment will be described with reference to the drawings. It should be noted that the examples described below do not limit the invention according to the claims, and that all the elements and combinations thereof described in the examples are indispensable for the means for solving the invention. Not exclusively.
なお、以降の説明においては、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。 In the following description, various information may be described by the expression "aaa table", but the various information may be expressed by a data structure other than the table. The "aaa table" can be called "aaa information" to show that it does not depend on the data structure.
また、以降の説明においては、「インターフェース部」は、1以上のインターフェースデバイス、具体的には、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも1つを含んでよい。ユーザインターフェース部は、1以上のI/Oデバイス(例えば入力デバイス(例えばキーボード及びポインティングデバイス)と出力デバイス(例えば表示デバイス))と表示用計算機とのうちの少なくとも1つのI/Oデバイスを含んでよい。通信インターフェース部は、1以上の通信インターフェースデバイスを含んでよい。1以上の通信インターフェースデバイスは、1以上の同種の通信インターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。 Further, in the following description, the "interface unit" may include at least one of one or more interface devices, specifically, a user interface unit and a communication interface unit. The user interface unit includes at least one I / O device of one or more I / O devices (for example, an input device (for example, a keyboard and a pointing device) and an output device (for example, a display device)) and a display computer. Good. The communication interface unit may include one or more communication interface devices. One or more communication interface devices may be one or more communication interface devices of the same type (for example, one or more NIC (Network Interface Card)) or two or more different types of communication interface devices (for example, NIC and HBA (Host Bus)). Adapter)) may be used.
また、以降の説明においては、「記憶部」は、1以上のメモリを含む。記憶部に関して少なくとも1つのメモリは、揮発性メモリでよい。記憶部は、主に、プロセッサ部による処理の際に使用される。 Further, in the following description, the "storage unit" includes one or more memories. At least one memory with respect to the storage unit may be a volatile memory. The storage unit is mainly used during processing by the processor unit.
また、以降の説明においては、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プロセッサ部は、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))を含んでもよい。 Further, in the following description, the "processor unit" includes one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). Each of the one or more processors may be single core or multi-core. The processor may include hardware circuits that perform some or all of the processing. The processor unit may include a hardware circuit (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)) that performs a part or all of the processing.
また、以降の説明においては、「管理システム」は、運用支援システムの一例であり、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が表示デバイスを有していて管理計算機が自分の表示デバイスに情報を表示する場合、管理計算機が管理システムでよい。また、例えば、管理計算機(例えばサーバ)が表示用情報を遠隔の表示用計算機(例えばクライアント)に送信し表示用計算機がその情報を表示する場合(管理計算機が表示用計算機に情報を表示する場合)、管理計算機と表示用計算機とのうちの少なくとも管理計算機を含んだシステムが管理システムでよい。管理システムは、インターフェース部、記憶部、及びそれらが接続されたプロセッサ部を有してよい。管理システムにおける計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。 Further, in the following description, the "management system" is an example of an operation support system, and may be composed of one or more computers. Specifically, for example, when the management computer has a display device and the management computer displays information on its own display device, the management computer may be a management system. Further, for example, when a management computer (for example, a server) transmits display information to a remote display computer (for example, a client) and the display computer displays the information (when the management computer displays the information on the display computer). ), A system including at least a management computer among a management computer and a display computer may be a management system. The management system may have an interface unit, a storage unit, and a processor unit to which they are connected. When a computer in a management system "displays display information", it may mean that the display information is displayed on the display device of the computer, or the computer transmits the display information to the display computer. It may be present (in the latter case, the display information is displayed by the display computer).
また、以降の説明においては、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。 Further, in the following description, the function may be described by the expression of "kkk part" (excluding the interface part, the storage part and the processor part), but the function is executed by one or more computer programs by the processor part. It may be realized by the above, or it may be realized by one or more hardware circuits (for example, FPGA or ASIC). When the function is realized by executing the program by the processor unit, the specified processing is appropriately performed by using the storage unit and / or the interface unit, so that the function is at least a part of the processor unit. May be good. The process described with the function as the subject may be a process performed by a processor unit or a device having the processor unit. The program may be installed from the program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (eg, a non-temporary recording medium). The description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
また、以降の説明においては、「手順」は、1以上の手順文で構成されており、システム異常に対する対策内容(例えば、オペレータが運用管理者にエスカレーションを行う)と、その対策内容を実施すると判断するための条件(例えば、イベントを発行したホスト名や、イベントが発行された時間帯)とを含む。「手順文」は、手順における自然文である。「手順書」は、複数の手順を記載したドキュメントである。手順書は、例えば電子ファイルの形式で保存されていてもよい。 Further, in the following description, the "procedure" is composed of one or more procedure sentences, and when the countermeasure contents for the system abnormality (for example, the operator escalate to the operation manager) and the countermeasure contents are implemented. It includes conditions for determining (for example, the name of the host that issued the event and the time zone when the event was issued). A "procedure sentence" is a natural sentence in a procedure. A "procedure manual" is a document that describes a plurality of procedures. The procedure manual may be saved in the form of an electronic file, for example.
また、以降の説明においては、「フローチャート」は、手順の変換後の構造体に関し、機械が読み込める(理解できる)形式である代表的な論理表現例として、説明を簡略化するために用いる。本発明においては、手順の変換後の構造体の形式は、人間が記述でき、かつ、論理構造を表現できる形式であればよく、フローチャート以外の表現形式(木構造表現や、論理式表現、表構造表現や、If Thenのルール表現など)であってもよい。 Further, in the following description, the “flow chart” is used to simplify the description as a typical logical expression example in a machine-readable (understandable) format regarding the structure after conversion of the procedure. In the present invention, the format of the structure after conversion of the procedure may be any format that can be described by humans and can express the logical structure, and is an expression format other than the flowchart (tree structure expression, logical expression expression, table). It may be a structural expression, a rule expression of If Then, etc.).
また、以降の説明においては、運用対象は、対象システム(計算機システム)であるが、本発明においては、計算機システム以外の対象、例えば、アプリケーション、サービス又は装置であってよい。 Further, in the following description, the operation target is the target system (computer system), but in the present invention, the operation target may be a target other than the computer system, for example, an application, a service, or a device.
(1−1)本実施例の概要 (1-1) Outline of this embodiment
図1は、本実施例の概要を示す。 FIG. 1 shows an outline of this embodiment.
管理システムは、管理サーバ100と、管理クライアント200を含むシステムである。
The management system is a system including a
管理サーバ100は、ルール管理部120を含む。ルール管理部120は、フローテーブル1508を参照することができる。フローテーブル1508は、フローチャートに関する情報を保持する。
The
管理クライアント200は、コンピュータプログラム(例えばアプリケーションプログラム)の一例であるフローエディタ220を実行する。フローエディタ220は、フローエディタ画面60を表示する。フローエディタ画面60は、管理サーバ100におけるフローエディタ(図示せず)により管理クライアント200に表示された画面である。フローエディタ画面60は、本実施例ではGUI(Graphical User Interface)であるが、GUIに限らないでもよい。
The
図1を用いて、本実施例の概要を説明する。 The outline of this embodiment will be described with reference to FIG.
まず、管理サーバ100において、ルール管理部120は、手順分析処理1201を実行する。手順分析処理1201は、手順書1501を読み込む処理、及び、その手順書1501における手順間の関係性を特定する処理を含む。手順書1501は、運用対象の運用に関する複数の手順を含む。手順間の関係性を特定する処理は、類似の表現を持つ手順のグルーピングである類似関係抽出処理、及び、他の手順の構成要素として利用される手順を特定する処理である包含関係推定処理を含む。ルール管理部120は、手順分析処理1201により得られた手順間関係の情報を保持する。
First, in the
その後、運用管理者は、例えば管理クライアント200上のフローエディタ220に、手順に対応するフローチャートを記述(入力)する。本実施例においては、フローエディタ画面60が、手順一覧221、手順表示222、及びフロー入力223といった表示領域を有する。手順一覧221には、手順の一覧が表示される。運用管理者は、手順一覧221から手順を選択してフローチャートの入力を開始する。手順一覧221における手順の順序は、例えば、運用管理者が行うフローチャート入力作業の負担を最小とすることができる順序、具体的には、抽象手順が含む単語の少ない順序である。「抽象手順」とは、手順書1501における手順が抽象化されたものを意味する。抽象手順内の「単語」は、抽象手順の構成要素であり、例えば、抽象手順における後述の条件節又は対策内容の表現である。
After that, the operation manager describes (inputs) a flowchart corresponding to the procedure in the
運用管理者が手順一覧221から手順を選択すると、選択した手順の内容(詳細)が手順表示222に表示される。運用管理者は、その内容に対応するフローチャートをフロー入力223に入力する。なお、選択された手順が、入力済みのフローチャートに対応する手順に類似している場合(例えば後述の類似度がしきい値以上の場合)、ルール管理部120は、その入力済みのフローチャート(又は、当該フローチャートにおけるパラメータに、選択された手順から特定されたパラメータ値が代入されたフローチャート)を、推定フローチャートとしてフローエディタ220に提供し、フローエディタ220が、その推定フローチャートをフロー入力223に表示する。
When the operation manager selects a procedure from the
従って、過去に入力したフローチャートが無い場合、ルール管理部120は、フローチャートを推定するために必要な情報が無いため、推定フローチャートを表示できない。そのため、運用管理者は、選択した手順を元に、フローエディタ220に対して、フローチャートを入力し、保存指示を出す。フローエディタ220は、保存指示を受けると、手順(又は手順ID)とフローチャートを管理サーバ100に送信する。管理サーバ100のルール管理部120が、そのフローチャートと手順を受信し、その手順を関連付けたフローチャートに関する情報をフローテーブル1508に登録する。ルール管理部120は、手順間の関係性の情報を元に、受信した手順と類似する手順(例えば、受信した手順それ自体を構成要素として利用する手順)に関して、その類似する手順に対応するフローチャートの一部または全部を、受信したフローチャートを元に推定する。
Therefore, if there is no flowchart input in the past, the
次に、運用管理者が、フローエディタ画面60にて、先に選択した手順(以降、この段落において第1の手順)に類似する別の手順(以降、この段落において第2の手順)を選択したとする。この場合、既に、先に保存したフローチャート(第1の手順に対応したフローチャート)を元に、第2の手順に対応したフローチャートの一部または全部が推定されている可能性がある。もしも、その推定されたフローチャートがある場合には、その推定フローチャートが、フローエディタ220及びルール管理部120により、その推定フローチャートに対応する第2の手順の全部又は一部と対応付けて表示される(例えば、第2の手順の全部又は一部である手順文が運用管理者により選択されると、その手順文に対応する推定フローチャートが強調表示される)。運用管理者は、推定フローチャートの編集(例えば、論理表現の修正又は追記)を行うことで、フローエディタ220に対して、第2の手順に対応するフローチャートを入力し(完成させ)、保存指示を出す。
Next, the operation manager selects another procedure (hereinafter, the second procedure in this paragraph) similar to the previously selected procedure (hereinafter, the first procedure in this paragraph) on the
上記を繰り返すことで(すなわち、手順の選択の受け付けとフローチャートの入力(編集)の受け付けとのセットを繰り返すことで)、管理サーバ100(ルール管理部120)は、手順とフローチャートの対応を学習し、フローチャートの推定精度を向上させることができる。 By repeating the above (that is, by repeating the set of accepting the selection of the procedure and accepting the input (editing) of the flowchart), the management server 100 (rule management unit 120) learns the correspondence between the procedure and the flowchart. , The estimation accuracy of the flowchart can be improved.
後述するが、ルール管理部120は、次の処理を行うことができる。例えば、ルール管理部120は、手順書1501を構成する複数の手順について、それらの手順に含まれる条件節や対策内容について、同種の条件種類や対策内容(動作種類)毎に、パラメータ(パラメータ項目)に置き換えた上で、複数の抽象手順を得る。各抽象手順は、類似関係にある1以上の手順から抽出された共通パタンである。ルール管理部120は、複数の抽象手順について、階層的クラスタリングを実施し、抽象手順間の類似関係を特定する。そして、ルール管理部120は、特定した類似関係と、各抽象手順に含まれる条件節の種類(条件種類)の包含関係に基づき、抽象手順間の包含関係を推定する。任意の手順に対応する論理表現が与えられた場合(例えば運用管理者から入力された場合)、ルール管理部120は、手順と抽象手順の関係、抽象手順間の包含関係に基づき、与えられた手順に関係する他の手順に対応する論理表現を推定する。また、ルール管理部120は、他の手順のうち、推定済みの部分と、それ以外の部分とを区別して表示する。
As will be described later, the
以下、本実施例を詳細に説明する。 Hereinafter, this embodiment will be described in detail.
(1−2)システム全体構成 (1-2) Overall system configuration
図2は、実施例に係るシステム全体構成を示す。 FIG. 2 shows the overall system configuration according to the embodiment.
管理サーバ100、管理クライアント200、及び対象システム300が、例えばLAN(Local Area Network)のようなネットワーク400に接続されている。
The
管理サーバ100は、手順書1501とフローチャート121を管理するルール管理部120と、対象システム300の構成を管理する構成管理部130と、対象システム300を監視するシステム監視部140とを含む。なお、ルール管理部120、構成管理部130、システム監視部140はそれぞれ独立の計算機に配置されていてもよく、構成を限定するものではない。
The
構成管理部130は、設定ファイル131や、構成情報170を管理する。設定ファイル131は、例えばアプリケーションやサービスのコンフィグレーションファイルであってもよいし、管理サーバ100の構成やアプリケーションのコンフィグレーションファイルを自動的に生成するサーバ自動構成ツールの定義ファイルであってもよいし、VM(Virtual Machine)やコンテナの構成を定義する定義ファイルであってもよい。また、構成情報170は、例えば、管理サーバ100の構成を示すサーバ構成情報を含む。
The
システム監視部140は、対象システム300を監視し(例えば、対象システム300から種々の情報を収集し)、監視結果に関する情報を含む監視情報160を更新する。監視情報160は、例えば、対象システム300が発行したイベントを含んだイベント情報、対象システム300の各要素に関する性能を示す情報を含んだ性能情報、及び、対象システム300に関するログを含んだログ情報を含む。
The
管理クライアント200は、インターフェース部、記憶部及びプロセッサ部を含んだ計算機であり、例えば、ディスプレイ、キーボード及びポインタデバイスを有し、フローエディタ220のようなアプリケーションを実行する。なお、フローエディタ220が、管理クライアント200に代えて管理サーバ100で実行され、管理クライアント200のWebブラウザが、フローエディタ220からのフローエディタ画面60を表示してもよい。なお、管理クライアント200は複数台存在してもよい。また、管理クライアント200は、管理サーバ100と一体として形成してもよい(例えば、管理サーバ100及び管理クライアント200の両方を含んだスタンドアロンマシンが管理システムの一例であってもよい)。
The
対象システム300は、運用対象の一例であって、運用管理者やオペレータの監視対象システム(運用管理対象としての計算機システム)である。例えば、対象システム300は、サーバ、ストレージ及びネットワークといった物理システムリソース、及び、VM、コンテナ、アプリケーション及びサービスといった論理システムリソースを含む。
The
図3は、管理サーバ100のハードウェア構成を示す。
FIG. 3 shows the hardware configuration of the
管理サーバ100は、メモリ110と、記憶装置150と、プロセッサ180と、I/F(通信インターフェースデバイス)190とを含む。I/F190は、ネットワーク400に接続される。プロセッサ180が、I/F190、メモリ110及び記憶装置150に接続される。I/F190が、インターフェース部の一例である。メモリ110及び記憶装置150のうちの少なくともメモリ110が、記憶部の一例である。記憶装置150に格納されている情報のうちの少なくとも一部が、記憶装置150に代えて又は加えて、管理サーバ100と通信可能に接続された外部の記憶装置(図示せず)に格納されてもよい。記憶装置150それ自体が、その外部の記憶装置であってもよい。プロセッサ180が、プロセッサ部の一例である。
The
メモリ110には、プロセッサ180で実行され、種々の処理を行うプログラムが配置される。具体的には、例えば、メモリ110には、監視表示部1102、ルール管理部120、構成管理部130及びシステム監視部140が配置される。ルール管理部120は、手順分析処理1201、フロー記憶処理1202、及び、フロー推定処理1203を実行する。ルール管理部120は、フローエディタ画面60を表示し、フローエディタ画面60経由で、フローチャートの表示、及び、フローチャートの編集を行う。構成管理部130は、構成収集処理1301を実行する。システム監視部140は、監視収集処理1401及びアラート処理1402を実行する。
A program executed by the
監視表示部1102は、システム監視部140で収集した種々の情報を管理クライアント200に表示する。
The
構成収集処理1301は、対象システム300を構成する各システムリソースから当該システムリソースの構成情報を収集する処理である。
The
監視収集処理1401は、対象システム300を構成する各システムリソースからイベント情報、各種のログ、及び性能情報を収集する処理である。
The
アラート処理1402は、事前に設定されたしきい値や、異常ログ情報(例えば、異常ログに該当する条件を示す情報)を元に、各種のログや性能情報からイベント情報を生成する処理である。例えば、アラート処理1402は、或るログが異常ログ情報が示す条件に該当すれば、当該或るログに関してイベント情報を生成する処理を含む。また、例えば、アラート処理1402は、性能情報が示す性能値(メトリック値)がしきい値を超えている場合、当該性能値に関わるリソースについてイベント情報を生成する処理を含む。このように、イベント情報は、システム監視部140に生成されてもよいし、対象システム300から受信されてもよい。
The
記憶装置150は、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)のような補助記憶装置であってもよいし、NAS(Network Attached Storage)のような外部記憶装置であってもよい。記憶装置150は、種々の情報を記憶する。具体的には、例えば、記憶装置150は、手順書1501、手順テーブル1502、変換順序テーブル1503、抽象手順テーブル1504、抽象手順関係テーブル1505、抽象手順パタンテーブル1506、抽象手順同一部テーブル1507、フローテーブル1508、手順フロー対応テーブル1509、条件種類テーブル1510、動作テーブル1511、監視情報160及び構成情報170を記憶する。監視情報160は、例えば、イベント毎のイベント情報を格納するイベントテーブル1601を含む。構成情報170は、例えば、物理サーバ名、及び、仮想マシンと物理サーバとの対応関係などを示す情報を格納するサーバ構成テーブル1701を含む。
The
(1−3)各種テーブルの内容 (1-3) Contents of various tables
図4は、手順書1501を示す。
FIG. 4 shows a
手順書1501は、複数の手順を記述したドキュメントである。手順書1501は、手順毎にエントリを有するテーブルである(手順書1501のデータ形式は、テーブル以外のデータ形式でもよい)。各エントリは、手順15011及び手順ID15010といった情報を格納する。以降、1つの手順を例に取る(図4の説明において「対象手順」と呼ぶ)。
The
手順ID15010は、対象手順のIDを示す。手順15011は、対象手順それ自体であり、例えば「ホストAAAで、12:00〜12:30の間に、xxxのメッセージのイベントが発生した場合は、エスカレーションを行わない」という自然文である。手順15011は、対策内容と条件とを含む。対策内容は、例えば「エスカレーションを行う」「エスカレーションを行わない」である。条件は、例えば、サーバ名(例えば物理サーバ名)、時間帯(例えば、開始時刻及び終了時刻)、メッセージの内容といった条件である。
図5は、手順テーブル1502を示す。 FIG. 5 shows a procedure table 1502.
手順テーブル1502は、手順書1501を構成する各手順の詳細に関する情報を格納する。具体的には、例えば、手順テーブル1502は、手順における単語毎にエントリを有する。各エントリは、手順ID15020、手順文ID15021、単語15022、条件種類ID15023、動作ID15024、抽象手順ID15025及び抽象手順文ID15026といった情報を格納する。以降、手順における1つの単語を例に取る(図5の説明において「対象単語」と呼ぶ)。なお、手順における「単語」は、手順の構成要素であり、1以上の文字の集合である文字列(例えば、単語、句、節)である。
The procedure table 1502 stores information regarding the details of each procedure constituting the
手順ID15020は、対象単語を含む手順のIDを示す。手順文ID15021は、対象単語を含む手順文のIDを示す。単語15022は、対象単語を示す。条件種類ID15023は、対象単語が条件節に該当する場合、その条件の種類のIDを示す。動作ID15024は、対象単語が対策内容に該当する場合、その対策内容(動作)のIDを示す。抽象手順ID15025は、対象単語を含む手順を抽象化したものである抽象手順のIDを示す。抽象手順文ID15026は、対象単語を含む手順文を抽象化したものである抽象手順文のIDを示す。
Procedure ID 15020 indicates the ID of the procedure including the target word. The
対象単語が条件に該当する場合には、ルール管理部120は、条件種類ID15023として有効な値を格納し、動作ID15024として無効な値(例えば“−”)を格納する。対象単語が対策内容に該当する場合には、ルール管理部120は、動作ID15110として有効な値を格納し、条件種類ID15023として無効な値を格納する。対象単語が条件及び対策内容のどちらでもない場合には、ルール管理部120は、条件種類ID15023及び動作ID15024としてそれぞれ無効な値を格納する。
When the target word corresponds to the condition, the
ルール管理部120は、同一クラスタ内の複数の手順における単語(例えば文字列)の共通パタンを抽出し、その複数の手順の各々について、抽出した共通パタンを含んだ抽象手順を格納する。対象単語が前述の共通パタンに含まれる場合には、ルール管理部120は、その共通パタンを含んだ抽象手順のIDを抽象手順ID15025として格納し、その共通パタンを含んだ抽象手順文のIDを抽象手順文ID15026として格納する。対象単語が共通パタンに含まれない場合は、ルール管理部120は、抽象手順ID15025及び抽象手順文ID15026としてそれぞれ無効な値(例えば“−”)を格納する。
The
図6は、変換順序テーブル1503を示す。 FIG. 6 shows a conversion sequence table 1503.
変換順序テーブル1503は、フローエディタ画面60の手続一覧221での手順の順序、すなわち、ユーザに提示する適切な手順変換順序を管理するテーブルである。変換順序テーブル15030は、例えば、手順分析処理1201において生成又は修正される。
The conversion order table 1503 is a table that manages the order of procedures in the
変換順序テーブル1503は、手順毎にエントリを有する。各エントリは、変換順番15030及び手順ID15031といった情報を格納する。以降、1つの手順を例に取る(図6の説明において「対象手順」と呼ぶ)。
The conversion sequence table 1503 has an entry for each procedure. Each entry stores information such as
手順ID15031は、対象手順のIDを示す。変換順番15030は、対象手順をフローチャートに変換する順番を示す。
なお、2以上の手順の変換順番15030が、同じであることもあり得る。フローエディタ画面60の手続一覧221において、変換順番15030が同じ2以上の手順にそれぞれ対応した2以上の行が連続して並んでもよい。変換順番15030が同じ2以上の手順の表示形式として、他の形式が採用されてもよい。
The
図7は、イベントテーブル1601を示す。 FIG. 7 shows the event table 1601.
イベントテーブル1601は、例えば、イベント毎にエントリを有する。各エントリは、イベントID16010(イベントのID)、イベント情報とを格納する。イベント情報が、イベントID16010を含んでもよい。イベント情報は、サーバ名16011(イベントを発行したサーバの名称)、時刻16012(イベントが発生した時刻)、重要度16013(例えば、「エラー」や「通知」といったイベント重要度)、及び、メッセージ16014といった情報を含む。
The event table 1601 has, for example, an entry for each event. Each entry stores event ID 16010 (event ID) and event information. The event information may include
図8は、条件種類テーブル1510を示す。 FIG. 8 shows the condition type table 1510.
条件種類テーブル1510は、条件種類に関する情報を保持するテーブルである。具体的には、例えば、条件種類テーブル1510は、条件種類毎にエントリを有する。各エントリは、条件種類ID15100、条件種類15101、条件値15102、取得元テーブル15103、取得元カラム15104、推定フラグ15105及びフローID15106といった情報を格納する。以降、1つの条件種類を例に取る(図8の説明において「対象条件種類」と呼ぶ)。
The condition type table 1510 is a table that holds information about the condition type. Specifically, for example, the condition type table 1510 has an entry for each condition type. Each entry stores information such as
条件種類ID15100は、対象条件種類のIDを示す。条件種類15101は、対象条件種類を識別する固定文字列を示す。条件値15102は、対象条件種類に該当する条件(例えば条件節)の表現例を示す。取得元テーブル15103は、対象条件種類に対応した条件値表現が格納されているテーブルの名称を示す。取得元カラム15104は、対象条件種類に対応した条件値15102としての表現が格納されているカラム(又は情報要素)の名称を示す。推定フラグ15105は、対象条件種類に対応した条件値15102が推定値か否かを示す。推定フラグ15105“Yes”は、条件値15102が推定値であることを意味する。フローID15106は、対象条件種類に対応した条件値15102としての表現に対応する論理表現を含んだフローチャートのIDである。
The
ルール管理部120は、取得元テーブル15103及び取得元カラム15104として有効な値が格納されている場合、条件値15102として、値が格納されていないことを示す無効な値(例えば“−”)を格納してもよい。
When a valid value is stored as the acquisition source table 15103 and the
また、ルール管理120は、構成情報170及び監視情報160から、対象条件種類に関し、類似の表現をもつ情報を条件値として特定し、その特定された条件値を、推定値としてもよい。その場合には、ルール管理部120は、対象条件種類に対応した推定フラグ15105を“Yes”とする。
Further, the
図9は、動作テーブル1511を示す。 FIG. 9 shows the operation table 1511.
動作テーブル1511は、手順に含まれる具体的な対策内容の表現例を動作種類と対応付けて管理するテーブルである。具体的には、例えば、動作テーブル1511は、動作毎にエントリを有する。各エントリが、動作ID15110、動作種類15111、動作表現15112及びフローID15113といった情報を保持する。以降、1つの動作を例に取る(図9の説明において「対象動作」と呼ぶ)。
The operation table 1511 is a table that manages expression examples of specific countermeasure contents included in the procedure in association with the operation type. Specifically, for example, the operation table 1511 has an entry for each operation. Each entry holds information such as
動作ID15110は、対象動作(対策内容)のIDを示す。動作種類15111は、対象動作(対策内容)を識別する固定文字列を示す。動作表現15112は、対象動作(対策内容)の表現例を示す。フローID15113は、対象動作(対策内容)に対応した動作表現15112に対応する論理表現を含んだフローチャートのIDを示す。
The
図10は、抽象手順テーブル1504を示す。 FIG. 10 shows an abstract procedure table 1504.
抽象手順テーブル1504は、抽象手順に関する情報を保持するテーブルである。具体的には、例えば、抽象手順テーブル1504は、抽象手順における単語毎にエントリを有する。各エントリは、抽象手順ID15040、抽象手順文ID15041、単語15042、条件種類ID15043及び動作ID15044といった情報を格納する。以降、抽象手順における1つの単語を例に取る(図10の説明において「対象単語」と呼ぶ)。
The abstract procedure table 1504 is a table that holds information about the abstract procedure. Specifically, for example, the abstract procedure table 1504 has an entry for each word in the abstract procedure. Each entry stores information such as
抽象手順ID15040は、対象単語を含む抽象手順のIDを示す。抽象手順文ID15041は、対象単語を含む抽象手順文のIDを示す。単語15042は、対象単語を示す。条件種類ID15043は、対象単語が条件節に該当する場合、その条件の種類のIDを示す。動作ID15044は、対象単語が対策内容に該当する場合、その対策内容(動作)のIDを示す。
The
対象単語が条件に該当する場合には、ルール管理部120は、条件種類ID15043として有効な値を格納し、動作ID15044として無効な値(例えば“−”)を格納する。対象単語が対策内容に該当する場合には、ルール管理部120は、動作ID15044として有効な値を格納し、条件種類ID15043として無効な値を格納する。対象単語が条件及び対策内容のどちらでもない場合には、ルール管理部120は、条件種類ID15043及び動作ID15044としてそれぞれ無効な値を格納する。
When the target word corresponds to the condition, the
図11は、抽象手順関係テーブル1505を示す。 FIG. 11 shows an abstract procedure relation table 1505.
抽出手順関係テーブル1505は、抽象手順間の包含関係を示す情報を保持するテーブルである。具体的には、例えば、抽出手順関係テーブル1505は、抽出手順毎にエントリを有する。各エントリは、抽象手順ID15050、子抽象手順ID15051及び親抽象手順ID15052といった情報を格納する。以降、1つの抽象手順を例に取る(図11の説明において「対象抽象手順」と呼ぶ)。
The extraction procedure relationship table 1505 is a table that holds information indicating the inclusion relationship between abstract procedures. Specifically, for example, the extraction procedure relation table 1505 has an entry for each extraction procedure. Each entry stores information such as
抽象手順ID15050は、対象抽象手順のIDを示す。
The
子抽象手順ID15051は、対象抽象手順の子抽象手順のID、すなわち、対象抽象手順を包含するより大きい抽象手順(典型的には、対象抽象手順が有する全ての条件節を含んだ抽象手順)のIDを示す。なお、対象抽象手順の子抽象手順を包含する更なる子抽象手順が1つ以上存在することもあり得る。以降、対象抽象手順を包含する全ての抽象手順の各々を「下位抽象手順」と呼び、対象抽象手順に直帰の下位抽象手順を特に「子抽象手順」と呼ぶことがある。
The child
親抽象手順ID15052は、対象抽象手順の親抽象手順のID、すなわち、対象抽象手順に包含されるより小さい抽象手順(典型的には、対象抽象手順が有する全ての条件節の一部の条件節を全ての条件節として含んだ抽象手順)のIDを示す。なお、対象抽象手順の親抽象手順に包含される更なる親抽象手順が1つ以上存在することもあり得る。以降、対象抽象手順に包含される全ての抽象手順の各々を「上位抽象手順」と呼び、対象抽象手順に直帰の上位抽象手順を特に「親抽象手順」と呼ぶことがある。
The parent
図12は、抽象手順パタンテーブル1506を示す。 FIG. 12 shows an abstract procedure pattern table 1506.
抽象手順パタンテーブル1506は、包含関係にある抽象手順間で共通する部分であるフレーズを保持するテーブルである。具体的には、例えば、抽象手順パタンテーブル1506は、フレーズ毎にエントリを有する。各エントリが、フレーズID15060及びフレーズ15061といった情報を格納する。以降、1つのフレーズを例に取る(図12の説明において「対象フレーズ」と呼ぶ)。
The abstract procedure pattern table 1506 is a table that holds phrases that are common parts between abstract procedures that are inclusive. Specifically, for example, the abstract procedure pattern table 1506 has an entry for each phrase. Each entry stores information such as
フレーズID15060は、対象フレーズのIDを示す。フレーズ15061は、対象フレーズ(文字列パタン)それ自体を示す。
図13は、抽象手順同一部テーブル1507を示す。 FIG. 13 shows an abstract procedure identical part table 1507.
抽象手順同一部テーブル1507は、フレーズが出現する箇所を示す情報を保持するテーブルである。具体的には、例えば、抽象手順同一部テーブル1507は、フレーズ毎に、エントリを有する。各エントリは、抽象手順ID15070、抽象手順文ID15071、開始位置15072、終了位置15073及びフレーズID15074といった情報を格納する。以降、1つのフレーズを例に取る(図13の説明において「対象フレーズ」と呼ぶ)。
The abstract procedure same part table 1507 is a table that holds information indicating a place where a phrase appears. Specifically, for example, the abstract procedure same part table 1507 has an entry for each phrase. Each entry stores information such as
抽象手順ID15070は、対象フレーズを含んだ抽象手順のIDを示す。抽象手順文ID15071は、対象フレーズを含んだ抽象手順文のIDを示す。開始位置15072は、対象フレーズの開始位置(例えば、対象フレーズの先頭文字と対象フレーズを含んだ抽象手順の先頭文字との間に存在する文字の数)を示す。終了位置15073は、対象フレーズの終了位置(例えば、対象フレーズの末尾文字と対象フレーズを含んだ抽象手順の先頭文字との間に存在する文字の数)を示す。フレーズID15074は、対象フレーズのIDを示す。
The
図14は、フローテーブル1508を示す。 FIG. 14 shows a flow table 1508.
フローテーブル1508は、手順に対応する論理表現(本実施例ではフローチャート)を保持するテーブルである。論理表現の一部は、推定された論理表現でもよい。具体的には、例えば、フローテーブル1508は、フローチャート毎にエントリを有する。各エントリは、フローID15080及び論理表現15081といった情報を保持する。以降、1つのフローチャートを例に取る(図14の説明において「対象フローチャート」と呼ぶ)。
The flow table 1508 is a table that holds a logical expression (flow chart in this embodiment) corresponding to the procedure. A part of the logical representation may be an inferred logical representation. Specifically, for example, the flow table 1508 has an entry for each flowchart. Each entry holds information such as
フローID15080は、対象フローチャートのIDを示す。論理表現15081は、対象フローチャートとしての論理表現を示す。
論理表現15081は、例えば、図14に例示のように「SERVER_NAME_COND_1 == AAA and [フローID = 2]」のようなプログラム表現であってもよいし、フローチャート形式でもよい。上記の例では、“SERVER_NAME_COND_1”は条件種類15101であり、“AAA”は、条件値15102である。
The
また、“[フローID = 2]”は、フローID15080“2”である論理表現に置き換えることを意味する。このように、論理表現15081は、入れ子構造であってもよい。これによって、複数のフローチャートを単一のフローチャートとして管理することができる。
Further, "[flow ID = 2]" means to replace with a logical expression of
図15は、手順フロー対応テーブル1509を示す。 FIG. 15 shows a procedure flow correspondence table 1509.
手順フロー対応テーブル1509は、手順、抽象手順、フレーズ及びフローチャートの対応関係を示す情報を保持するテーブルである。具体的には、例えば、手順フロー対応テーブル1509は、フレーズ毎にエントリを有する。各エントリは、手順ID15090、手順文ID15091、抽象手順ID15092、抽象手順文ID15093、開始位置15094、終了位置15095、フレーズID15096、フローID15097及び代表フラグ15098といった情報を格納する。以降、1つのフレーズを例に取る(図15の説明において「対象フレーズ」と呼ぶ)。なお、本実施例では、フレーズが、最小単位でよく、フレーズは、1つの単語であってもよい。
The procedure flow correspondence table 1509 is a table that holds information indicating the correspondence between procedures, abstract procedures, phrases, and flowcharts. Specifically, for example, the procedure flow correspondence table 1509 has an entry for each phrase. Each entry stores information such as
手順ID15090は、対象フレーズを含む対象手順にてのIDを示す。手順文ID15091は、対象フレーズを含む手順文のIDを示す。抽象手順ID15092は、対象フレーズを含む抽象手順のIDを示す。抽象手順文ID15093は、対象フレーズを含む抽象手順文のIDを示す。開始位置15094は、手順における対象フレーズの開始位置を示す。終了位置15095は、手順における対象フレーズの終了位置を示す。フレーズID15096は、対象フレーズのIDである。フローID15097は、対象フレーズに対応したフローチャート部分を含むフローチャートのIDである。代表フラグ15098は、そのフローチャートが代表フローチャートであるか否かを示す。
The
手順フロー対応テーブル1509は、以下のタイミング、例えば、フローエディタ220を通して運用管理者がフローチャートを保存したタイミング、及び、フロー記憶処理1202及びフロー推定処理1203の少なくとも1つにおいてフローチャートが推定されたタイミングで更新される。
The procedure flow correspondence table 1509 is set at the following timings, for example, the timing when the operation manager saves the flowchart through the
代表フラグ15098は、ある抽象手順に対応するフローチャートが複数パタン存在する場合に、抽象手順に対応するフローチャートを一意に特定するためのフラグである。これは、抽象手順が、文面が類似している手順集合から抽出されており、この手順集合には異なる意図の手順が含まれている可能性があることに起因する。例えば、「ServerAとServerBでXXXが発生した場合」と「ServerAかServerBでXXXが発生した場合」の手順は「ServerA」と「ServerB」を条件節として含むが、それらの手順の論理的な構造はand、orと全く異なる。しかしながら、自然言語としての類似性は高く同一の手順集合にまとめられる可能性があり、このとき、各手順に対応して入力されるフローチャートには、ばらつきが発生する可能性がある。
The
これに対し、本実施例においては、手順集合内の各手順に対応するフローチャートの内、多数のフローチャートに含まれる論理構造であるフローチャートを代表フローチャートとする例を示す(フロー分解処理S8000)。すなわち、複数の候補がある場合には、代表フローチャートが推定フローチャートとして表示されることになる。 On the other hand, in this embodiment, an example is shown in which a flowchart having a logical structure included in a large number of flowcharts is used as a representative flowchart among the flowcharts corresponding to each procedure in the procedure set (flow decomposition process S8000). That is, when there are a plurality of candidates, the representative flowchart is displayed as the estimation flowchart.
なお、上記は代表フローチャートを求める方法を限定するものではない。また、仮に抽象手順に対応するフローチャートが複数パタン発生している場合には、その検出を契機としてフローチャートのパタン毎に手順集合を分割し、抽象手順や、抽象手順間の類似関係を再計算するなどをしてもよい。 The above does not limit the method of obtaining the representative flowchart. If a plurality of flowcharts corresponding to the abstract procedure occur, the procedure set is divided for each pattern of the flowchart, and the abstract procedure and the similarity relationship between the abstract procedures are recalculated. And so on.
手順フロー対応テーブル1509について複数の更新タイミングがある。例えば、以下(1)〜(6)のように値が格納され得る。以降に示すように、本実施例では、「フローチャート」は、手順全体又は抽象手順について存在することもあれば、手順又は抽象手順の一部分(例えば、手順文又は抽象手順文の全部又は一部(例えば、フレーズ))について存在することもある。以降の説明では、フローチャートの構成要素を「ノード」と呼ぶことがある。ノードが、フローチャートそれ自体であることもある。つまり、ノードは、フローチャートの全部又は一部である。
(1)指定された手順ID15090に対応する手順全体のフローチャートを指すフローID15097が格納される。
(2)指定された手順ID15090及び手順文ID15091に対応する手順文のフローチャートを指すフローID15097が格納される。
(3)指定された手順ID15090、手順文ID15091、開始位置15094及び終了位置に対応する手順文部分のフローチャートを指すフローID15097が格納される。
(4)指定された抽象手順ID15092に対応する抽象手順全体のフローチャートを指すフローID15097が格納される。
(5)指定された抽象手順ID15092及び抽象手順文ID15093に対応する抽象手順文のフローチャートを指すフローID15097が格納される。
(6)指定された抽象手順ID15092、抽象手順文ID15093、開始位置15094、終了位置15095及びフレーズID15096に対応する抽象手順文部分(フレーズ)に対応するフローチャートを指すフローID15097が格納される。
There are multiple update timings for the procedure flow correspondence table 1509. For example, values can be stored as shown in (1) to (6) below. As shown below, in this embodiment, the "flow chart" may exist for the entire procedure or for an abstract procedure, or part of a procedure or abstract procedure (eg, all or part of a procedure statement or abstract procedure statement (eg). For example, it may exist for the phrase)). In the following description, the components of the flowchart may be referred to as "nodes". The node may be the flowchart itself. That is, the nodes are all or part of the flowchart.
(1) A
(2) The
(3) The
(4) The
(5) The
(6) The
(1−4)本実施例で行われる処理の詳細 (1-4) Details of processing performed in this embodiment
図17は、手順分析処理1201を示す。手順分析処理1201は、各手順をフローチャートに変換する前の事前処理として実行される。ルール管理部120が、手順分析処理において、手順書1501に含まれる手順の関係性を特定する。
FIG. 17 shows the procedure analysis process 1201. The procedure analysis process 1201 is executed as a pre-process before converting each procedure into a flowchart. The
まず、ルール管理部120は、入力として受信した手順書を読み込む(例えばメモリ110に格納する)(S1000)。
First, the
次に、ルール管理部120は、その手順書に含まれる手順を抽出し、各手順に対して形態素解析を施す(S1010)。結果として、各手順が、単語に分解される。例えば、ルール管理部120は、各手順から、特定の品詞(例えば、名詞又は動詞)に該当する単語のみを抽出してもよいし、1以上の手順の少なくとも1つについて、複数の単語を意味のある単位にまとめて一つの単語とみなしてもよい。S1020以降のステップにおいては、S1010で抽出された各手順について、S1010で得られた単語列(1以上の単語)が、「手順」として扱われる。
Next, the
次に、ルール管理部120は、S1020で手順一般化処理(図18)を実施する(S1020)。ルール管理部120は、手順一般化処理において、手順に含まれる条件節の条件表現や、対策内容の動作を示す単語列を特定する。S1030以降のステップでは、S1020で特定した単語を、対応する条件種類15101や動作種類15111に置き換えた単語を、「手順」として扱う。なお、以降の説明においては、条件種類15101や動作種類15111と、S1010で切り出した単語を区別せずに、「単語」と言及する。
Next, the
次に、ルール管理部120は、類似関係抽出処理(図19)を実施する(S1030)。ルール管理部120は、類似関係抽出処理において、類似である手順集合を特定し、手順集合に共通の単語列パタンを抽象手順として記憶する。従って、抽象手順は、手順集合に属する1以上の手順に共通である。また、抽象手順は、単語列パタンであるため、抽象手順文は、抽象手順としての単語列パタンの一部又は全部である。
Next, the
次に、ルール管理部120は、包含関係推定処理(図20)を実施する(S1040)。ルール管理部120は、類似関係抽出処理において、S1030で生成した抽象手順間の包含関係を推定する。
Next, the
最後に、ルール管理部120は、手順変換順序決定処理(図23)を実施する(S1050)。ルール管理部120は、手順変換順序決定処理において、手順間の類似関係、包含関係を元に手順の順序付けをする。
Finally, the
図18は、手順一般化処理(S1020)を示す。 FIG. 18 shows a procedure generalization process (S1020).
ルール管理部120は、各手順における各単語(例えば、条件節に該当する単語、及び、対策内容に該当する単語)について、S2020〜S2090を行う。以降、1つの手順における1つの単語を例に取る(S2020〜S2090の説明において、「対象手順」及び「対象単語」と呼ぶ)。なお、「対象単語」は、最小単語(最小単位としての単語)であってもよいし、最小単語の組合せ(2以上の最小単語の集合)であってもよい。具体的には、例えば、「対象単語」は、N−Gram(Nは1以上の整数)でよい。
The
ルール管理部120は、対象単語が対策内容に該当する単語であれば、対象単語に類似する動作表現15112があるか否かを判断する(S2020)。対象単語のような文字列の類似度(類似性)は、例えば、文字列のレーベンシュタイン距離を計算するなどの方法により特定することができる。対象単語との類似度が一定値以上の動作表現15112が少なくとも1つあれば、S2020の判断結果は真となる。
If the target word is a word corresponding to the countermeasure content, the
S2020の判断結果が真の場合には(S2020:Yes)、ルール管理部120は、類似する動作表現15112(例えば、最も類似度が高い動作表現15112)を選択し、選択した動作表現15112に対応した動作ID15110を、動作ID15024として、手順テーブル1502の該当エントリ(対象単語を示す単語15022が登録されるエントリ)に登録する(S2030)。S2030で、該当エントリに、対象手順の手順ID15020、対象単語を含む手順文の手順文ID15021、及び、対象単語を示す単語15023も登録されてよい。
When the determination result of S2020 is true (S2020: Yes), the
S2020の判断結果が偽の場合には(S2020:No)、ルール管理部120は、対象単語が条件節に該当する単語であれば、対象単語に類似する条件値15102があるか否かを判断する(S2040)。
When the judgment result of S2020 is false (S2020: No), the
S2040の判断結果が偽の場合には(S2040:No)、ルール管理部120は、格子柄情報170又は監視情報160(具体的には、取得元テーブル15103及び取得元カラム15104が指す情報)から、対象単語に類似する値(表現)があるか否かを判断する(S2050)。
When the determination result of S2040 is false (S2040: No), the
S2040又はS2050の判断結果が真の場合には(S2040:Yes、又は、S2050:Yes)、ルール管理部120は、対象単語に類似する値(例えば、条件値15102又は表現)に対応する条件種類の条件種類IDを、条件種類ID15023として、手順テーブル1502の該当エントリに登録する(S2060)。S2060で、該当エントリに、対象手順の手順ID15020、対象単語を含む手順文の手順文ID15021、及び、対象単語を示す単語15023も登録されてよい。
When the judgment result of S2040 or S2050 is true (S2040: Yes or S2050: Yes), the
S2050の判断結果が偽の場合には(S2050:No)、対象単語が該当する条件節の条件種類が、未知の条件種類(条件種類テーブル1510に無い条件種類)である可能性がある。そこで、ルール管理部120は、対象単語に類似する値(表現)が構成情報170又は監視情報160にあるか否かを判断する(S2070)。
If the judgment result of S2050 is false (S2050: No), there is a possibility that the condition type of the condition clause to which the target word corresponds is an unknown condition type (condition type not in the condition type table 1510). Therefore, the
S2070の判断結果が真の場合には(S2070:Yes)、ルール管理部120は、その類似する値に対応する条件種類と、その条件種類の条件種類IDとを生成し、生成した条件種類を示す条件種類15101、生成した条件種類IDを示す条件種類ID15100、当該類似する値を示す条件値15102、当該値の取得元を示す取得元テーブル15103及び取得元カラム15104、及び、推定フラグ15015“Yes”を、条件種類テーブル1510に登録する(S2080)。また、ルール管理部120は、登録した条件種類ID15100を、条件種類ID15023として手順テーブル1502の該当エントリに登録する(S2090)。S2090で、該当エントリに、対象手順の手順ID15020、対象単語を含む手順文の手順文ID15021、及び、対象単語を示す単語15023も登録されてよい。
When the determination result of S2070 is true (S2070: Yes), the
図19は、類似関係抽出処理(S1030)を示す。ルール管理部120は、類似関係抽出処理において、クラスタリングなどの方法で類似の手順をまとめ、その類似の関係にある1以上の手順である手順集合から、共通する単語列パタンを抽象手順として抽出する。
FIG. 19 shows a similarity extraction process (S1030). In the similarity relationship extraction process, the
ルール管理部120は、各手順について、S3010〜S3030を行う。以降、1つの手順を例に取る(S3010〜S3030の説明において、「対象手順」と呼ぶ)。
The
ルール管理部120は、対象手順に対応した1以上の単語15022がそれぞれ示す1以上の単語で構成された単語列を生成する(S3010)。このとき、ルール管理部120は、その単語列を構成する1以上の単語の各々について、その単語に対応する条件種類ID15023又は動作ID15024として有効な値がある場合には、その単語を、そのIDに対応する条件種類15101又は動作種類15111が示す情報(単語)で置き換える(S3020)。その上で、ルール管理部120は、単語列をベクトル化する(S3030)。ベクトル化の方法としては、例えば、TF−IDFといった公知の方法を用いることができる。
The
以上、S3010〜S3030によって、条件値15102が異なる手順を同一の手順として扱うことができる。具体的には、例えば、同一の内容である手順であったとしても、構成が異なる(例えばサーバ名などが異なる)と、異なる表現の手順となるが、S3010〜S3030によれば、そのような構成の異なる手順を同一の手順として認識することが可能となる。
As described above, the procedures having
次に、ルール管理部120は、各手順(単語列)をクラスタリングする。クラスタリングの方法としては、公知の方法(例えば、k平均法、又は、凝集型のクラスタリング)を用いることができる。
Next, the
次に、ルール管理部120は、各クラスタについて、S3060〜S3100を行う。結果として、複数の手順の共通パタンである抽象手順が求められる。以降、1つのクラスタを例に取る(S3060〜S3100の説明において、「対象クラスタ」と呼ぶ)。
Next, the
ルール管理部120は、対象クラスタに所属する全ての手順である手順集合を取得する(S3060)。
The
ルール管理部120は、その取得した手順集合から、共通した単語列パタンを抽出する(S3070)。具体的には、例えば、ルール管理部120は、その手順集合について、1以上の手順ペアを生成する。そして、ルール管理部120は、その1以上の手順ペアの各々について、単語の単位でレーベンシュタイン距離を求め、レーベンシュタイン距離が任意のしきい値以上である単語で構成された単語列パタンを抽出する。なお、単語列パタンは、1全手順ペアについて、任意の頻度以上で見られる単語を含んでもよい。また、単語列パタンは、例えば任意の0個以上の単語が手順集合から取り除かれたものであってもよい。S3070で抽出された単語列パタンが、抽象手順である。
The
ルール管理部120は、S3070で抽出した抽象手順(単語列パタン)に関する情報を、抽象手順テーブル1504に登録する(S3080)。具体的には、例えば、ルール管理部120は、抽象手順ID15040と抽象手順文ID15041を重複の無いように生成し、その抽象手順ID15040と抽象手順文ID15041を、抽象手順テーブル1504に登録する。また、ルール管理部120は、抽象手順に含まれる単語がいずれかの条件種類15101を含む場合には、その条件種類15101に対応する条件種類ID15100を、抽象手順テーブル1504に条件種類ID15043として登録する。同様に、ルール管理部120は、抽象手順に含まれる単語がいずれかの動作種類15111を含む場合には、当その動作種類15111に対応する動作ID15110を、抽象手順テーブル1504に動作ID15044として登録する。S3080では、抽象手順に含まれる単語が単語15042として登録されてよい。
The
その後、ルール管理部120は、S3060で取得した手順集合を構成する手順毎に、S3100を行う。以降、1つの手順を例に取る(S3100の説明において、「対象手順」と呼ぶ)。
After that, the
ルール管理部120は、対象手順に対応する抽象手順に関する情報を手順テーブル1502に登録する(S3100)。具体的には、例えば、ルール管理部120は、S3070で抽出した抽象手順(単語列パタン)内の単語に対応する単語を対象クラスタから特定する。これには、例えば正規表現のパターンマッチなどの方法を用いることができる。そして、ルール管理部120は、手順テーブル1502における該当エントリ(特定した単語を示す単語15022を含んだエントリ)に、その抽象手順のIDを示す抽象手順ID15025と、特定した単語に対応する単語を含む抽象手順文のIDを示す抽象手順文15026とを登録する。
The
図20は、包含関係推定処理(S1040)を示す。 FIG. 20 shows the inclusion relationship estimation process (S1040).
ルール管理部120は、抽象手順テーブル1504から全ての抽象手順(単語列パタン)を取得する(S4000)。このとき、ルール管理部120は、それらの抽象手順を構成する1以上の単語の各々について、その単語に対応する条件種類ID15043又は動作ID15044として有効な値がある場合には、その単語を、そのIDに対応した条件種類15101又は動作種類15111が示す情報(単語)で置き換える。
The
ルール管理部120は、S4000で取得した抽象手順(単語列パタン)を、S3030と同様にベクトル表現に変換し、凝集型のクラスタリングを実施する(S4010)。凝集型クラスタリングを実施すると、類似性の高い抽象手順から、順次、クラスタにまとめられていく。これにより、最終的には生成されたクラスタは、樹形図と呼ばれる2分木として表現することができる。
The
図16は、樹形図の一例、具体的には、抽象手順A〜Eを凝集型クラスタリングによってまとめた例を示す。クラスタ1は、抽象手順AとBをまとめたクラスタである。クラスタ2は、対象手順CとDをまとめたクラスタである。クラスタ3は、クラスタ2とクラスタ1をまとめたクラスタである。クラスタ4は、クラスタ3と抽象手順Eをまとめたクラスタである。
FIG. 16 shows an example of a tree diagram, specifically, an example in which abstract procedures A to E are summarized by aggregate clustering.
樹形図では、クラスタの構成要素がどの程度類似しているかを「類似度」と呼ぶ。類似度は、0以上1以下である。樹形図は、リーフの位置を類似度“1”、ルートの位置を類似度“0”として描画する。そして、樹形図は、クラスタの構成要素の類似度に相当する高さで、ノードの結合点を描画する。今後、説明を簡略化するために、結合点の左右の部分木を、クラスタの左右の木と呼ぶ。また、結合点の高さで示される左右のノードの類似度を、その部分木が示すクラスタの類似度と呼ぶ。 In the dendrogram, how similar the components of the cluster are is called "similarity". The degree of similarity is 0 or more and 1 or less. The dendrogram is drawn with the leaf position as the similarity "1" and the root position as the similarity "0". Then, the dendrogram draws the connection points of the nodes at a height corresponding to the similarity of the components of the cluster. In the future, for the sake of simplicity, the left and right subtrees of the junction will be referred to as the left and right trees of the cluster. Further, the similarity of the left and right nodes indicated by the height of the connection point is called the similarity of the cluster indicated by the subtree.
図16に示すように、凝集型クラスタリングでは、複数のクラスタが階層的に構成されることとなるが、より小さいクラスタに所属する抽象手順同士では単語列の過不足がより少なく、より類似である可能性が高くなる。 As shown in FIG. 16, in aggregate clustering, a plurality of clusters are hierarchically configured, but abstract procedures belonging to smaller clusters have less excess or deficiency of word strings and are more similar. The possibility is high.
この特徴を利用し、ルール管理部120は、S4010で生成したクラスタリングについて、類似度が高い順にクラスタを選択し、クラスタに含まれる抽象手順同士を比較して順次包含関係を推定していく。ルール管理部120は、各クラスタについて、S4030〜S4090を行う。以降、1つのクラスタを例に取る(S4030〜S4090の説明において、「対象クラスタ」と呼ぶ)。
Utilizing this feature, the
ルール管理部120は、対象クラスタにおける左右の木から、それぞれ1つの抽象手順を選択し、選択した抽象手順のペアである抽象手順ペアを生成する(S4030)。対象クラスタに関し、抽象手順ペア毎に、S4050〜S4090が行われる。以降、1つの抽象手順ペアを例に取る(S4050〜S4090の説明において、「対象抽象手順ペア」と呼ぶ)。なお、クラスタの類似度が任意のしきい値以下の場合は、クラスタにおける左右の木に含まれる抽象手順が類似していない可能性が高いため、ループを終了させるなどの処理が採用されてもよい。
The
ルール管理部120は、対象抽象手順ペアについて、包含関係チェック処理を実施する(S4050)。包含関係チェック処理では、対象抽象手順ペアが包含の関係であるか否かがチェック(推定)される。
The
もしも、チェック結果が偽である場合には(S4060:No)、ルール管理部120は、S4070以降の処理をせずに次の抽象手順ペアを選択する。
If the check result is false (S4060: No), the
一方、チェック結果が真である場合には(S4060:Yes)、ルール管理部120は、対象抽象手順ペアについて、S4070〜S4090を行う。
On the other hand, when the check result is true (S4060: Yes), the
すなわち、ルール管理部120は、対象抽象手順ペアに関する情報が抽象手順関係テーブル1505に未登録か否かを判断する(S4070)。
That is, the
S4070の判断結果が真の場合(S4070:Yes)、ルール管理部120は、対象抽象手順ペアに関する情報を抽象手順関係テーブル1505に登録する(S4080)。
When the determination result of S4070 is true (S4070: Yes), the
具体的には、ルール管理部120は、包含関係チェック処理の結果より、対象抽象手順ペアの親子関係を特定する。対象手順ペア内の親の抽象手順について、ルール管理部120は、当該親の抽象手順のIDを抽象手順ID15050として含むエントリがあれば、そのエントリに、対象抽象手順ペア内の子の抽象手順のIDを子抽象手順ID15051として登録する。また、対象抽象手順ペア内の子の抽象手順について、ルール管理部120は、当該子の抽象手順のIDを抽象手順ID15050として含むエントリがあれば、そのエントリに、対象抽象手順ペア内の親の抽象手順IDを親抽象手順ID15052として登録する。なお、もしも、対応するエントリがない場合には、ルール管理部120は、新規にエントリを抽象手順関係テーブル1505に生成する。なお、S4080において、ルール管理部120は、対象抽象手順ペア内の子抽象手順のIDが、いずれかの既存の抽象手順を含む子抽象手順の子抽象手順ID15051として登録済であれば、対象抽象手順ペア内の子抽象手順のIDを子抽象手順ID15051として登録しないでよい。同様に、ルール管理部120は、対象抽象手順ペア内の親抽象手順のIDが、いずれかの既存の抽象手順に含まれる親抽象手順の親抽象手順ID15052として登録済であれば、対象抽象手順ペア内の親抽象手順のIDを親抽象手順ID15052として登録しないでよい。
Specifically, the
ルール管理部120は、対象抽象手順ペアについて、同一部特定処理を実施する(S4090)。
The
図21は、包含関係チェック処理(S4050)を示す。包含関係チェック処理は、入力である対象抽象手順ペアを構成する2つの抽象手順が包含関係であるか否かを判断する処理である。 FIG. 21 shows the inclusion relationship check process (S4050). The inclusion relationship check process is a process of determining whether or not the two abstract procedures constituting the input target abstract procedure pair have an inclusion relationship.
ルール管理部120は、対象抽象手順ペアを構成する抽象手順毎に、その抽象手順に含まれる条件種類の数を集計する(S5000)。対象抽象手順ペアを構成する抽象手順の関係が、包含関係にあるならば、それらの対象手順間の類似度が高く、含まれている条件種類と条件種類の数とが包含関係にあると考えられる。そこで、ルール管理部120では、S5000で各抽象手順について集計した条件種類及びそれの数を基に、対象抽象手順ペアが包含関係を有するか否か(対象抽象手順ペアを構成する2つの抽象手順が包含関係にあるか否か)を判断する(S5010)。例えば、第1の抽象手順が、第2の抽象手順が含む条件種類の全てを含んでいれば、対象抽象手順ペアは包含関係を有する。一方、第1の抽象手順が、第2の抽象手順含む少なくとも1つの条件種類を含んでいなければ、対象抽象手順ペアは包含関係を有しない。ルール管理部120は、S5010の判断結果(真(Yes)又は偽(No))を、チェック結果とし、そのチェック結果を戻り値として返却する。
The
図22は、同一部特定処理(S4090)を示す。同一部特定処理は、包含関係にあると推定された対象抽象手順ペアから共通の単語列パタンを特定する処理である。 FIG. 22 shows the same part identification process (S4090). The same part identification process is a process of identifying a common word string pattern from a target abstract procedure pair presumed to be inclusive.
ルール管理部120は、対象抽象手順ペアに関して、抽象手順文の対応関係を特定する(S6000)。具体的には、例えば、ルール管理部120は、レーベンシュタイン距離や、TF−IDFといった方法で、抽象手順文をベクトル表現に置き換え、ベクトルの距離が一定のしきい値以下の抽象手順文ペアを求めてもよいし、抽象手順文の出現順番が一致するように制限を加えてもよい。
The
その後、ルール管理部120は、抽象手順文の数が少ない方の抽象手順を選択する(S6010)。そして、ルール管理部120は、選択した抽象手順内の抽象手順文毎に、S6030〜S6050を行う。以降、1つの抽象手順文を例に取る(S6030〜S6050の説明において、「対象抽象手順文」と呼ぶ)。
After that, the
ルール管理部120は、対象抽象手順文に対応する抽象手順文が、S6000で特定されているか否かを判断する(S6030)。
The
もしも、S6030の判断結果が真の場合には(S6030:No)、ルール管理部120は、対象抽象手順文と、対象抽象手順文に対応する抽象手順文とを比較し、それらの抽象手順文に共通する部分(フレーズ)があるか否かを判断する(S6040)。ここでは、例えば、ルール管理部120は、片方の抽象手順文に含まれる単語列について、N−Gramで単語列を切り出し、もう片方の抽象手順分に含まれるか否かを判断してよい。また、例えば、フレーズは、単純一致の部分でもよいし、両抽象手順に含まれるような正規表現としての部分でもよい。
If the judgment result of S6030 is true (S6030: No), the
もしも、S6040の判断結果が真の場合には(S6040:Yes)、ルール管理部120は、抽出手順パタンテーブル1506及び抽象手順同一部テーブル1507を更新する(S6050)。具体的には、例えば、ルール管理部120は、フレーズID15060を重複ないように生成し、そのフレーズID15060と、フレーズ15061とを抽出手順パタンテーブル1506に登録する。また、ルール管理部120は、対象抽象手順文について、S6040で抽出したフレーズが出現する位置(開始位置15072及び終了位置15073)と、そのフレーズのフレーズID15074(生成したフレーズID15060と同じID)を、抽象手順同一部テーブル1507に登録する。
If the determination result of S6040 is true (S6040: Yes), the
図23は、手順変換順序決定処理(S1050)を示す。手順変換順序決定処理は、類似関係抽出処理と包含関係推定処理で抽出した手順間の関係を元に、手順をフローチャートに変換する推奨順序を決定する処理である。 FIG. 23 shows a procedure conversion order determination process (S1050). The procedure conversion order determination process is a process of determining a recommended order for converting a procedure into a flowchart based on the relationship between the procedures extracted by the similarity relationship extraction process and the inclusion relationship estimation process.
ルール管理部120は、抽象手順関係テーブル1506を参照し、包含関係にあり未選択の抽象手順のうち、最も先祖にあたる抽象手順(例えば、最も単語(条件節)の少ない抽象手順)を選択する(S7000)。
The
ルール管理部120は、S7000で選択した抽象手順の上位抽象手順のうち未選択の上位抽象順があるか否かを判断する(S7010)。もしも、S7010の判断結果が真の場合には(S7010:Yes)、ルール管理部120は、未選択の上位抽象手順のうち、1つの上位抽象手順を選択し(S7020)、S7010の判断を行う。
The
もしも、S7010の判断結果が偽の場合には(S7010:No)、ルール管理部120は、当該の抽象手順(S7000で選択した抽象手順)を選択する(S7030)。
If the determination result of S7010 is false (S7010: No), the
次に、ルール管理部120は、S7030で選択した抽象手順の抽象手順ID15025に対応した全ての手順を、手順テーブル1502から選択する(S7040)。
Next, the
その後、ルール管理部120は、S7030で選択した抽象手順に対応する各手順の変換順番15030が、S7030で選択した抽象手順の親抽象手順に対応する各手順の変換順番の連番(次の順番)になるように、変換順番15030を生成し、その変換順番15030と、S7040で選択した手順の手順ID15031とを手順変換順序テーブル1503に登録する(S7050)。
After that, in the
以上、S7000〜S7050が、全ての抽象手順に対して繰り返される(S7060)。結果として、同一の包含関係に属する各抽象手順について、その抽象手順に対応する各手順の変換順番が、その抽象手順の親抽象手順に対応する各手順の変換順番の次の順番とされる。具体的には、例えば、第1の抽象手順が第2の抽象手順の親抽象手順であり、第1の抽象手順に対応する各手順の変換順番がX(Xは自然数)の場合、第2の抽象手順に対応する各手順の変換順番はX+1である。 As described above, S7000 to S7050 are repeated for all abstract procedures (S7600). As a result, for each abstract procedure belonging to the same inclusion relationship, the conversion order of each procedure corresponding to the abstract procedure is the order following the conversion order of each procedure corresponding to the parent abstract procedure of the abstract procedure. Specifically, for example, when the first abstract procedure is the parent abstract procedure of the second abstract procedure and the conversion order of each procedure corresponding to the first abstract procedure is X (X is a natural number), the second The conversion order of each procedure corresponding to the abstract procedure of is X + 1.
図24は、手順フローチャート変換の全体シーケンスを示す。 FIG. 24 shows the entire sequence of procedure flowchart conversions.
管理クライアント200のフローエディタ220が、運用管理者からの手順フローチャート変換操作を受け、その操作に従う手順一覧要求を管理サーバ100に送信する。管理サーバ100のルール管理部120が、その手順一覧要求を受信する。ルール管理部120が、その要求に応答して、変換順番15030と手順15011との組(更に手順ID15010を含んでもよい)の一覧を、管理クライアント200に送信する。管理クライアント200のフローエディタ220は、変換順番15030通りに並んだ手順の一覧をフローエディタ画面60の手順一覧221に表示する。
The
フローエディタ220は、運用管理者から、手順一覧221からの手順の選択を受け、選択された手順の手順ID(手順IDに代えて又は加えて手順それ自体でもよい)を管理サーバ100に送信する。管理サーバ100のルール管理部120は、選択された手順の手順IDを受信することを含むフロー推定処理1203を実施し、選択された手順の全部又は一部の推定フローチャートと、選択された手順のうち推定された箇所(手順文又はフレーズ)とのうちの少なくとも1つを管理クライアント200に送信する。管理クライアント200のフローエディタ220は、受信した情報を元に、手順表示222とフロー入力223に、手順と推定フローチャートを表示する。なお、フローエディタ220は、手順文、フレーズ又は単語といった手順箇所を、マウスなどの入力デバイスによって指定された場合、指定された手順箇所に対応する推定フローチャート箇所(例えば、ノード全体、又は、ノード内の文字列における該当箇所)を、ルール管理部120に問合せて特定することにより(或いは、手順フロー対応テーブル1509を参照することにより)、強調表示することもできる。
The
フローエディタ220が、運用管理者から、手順表示222に対して、手順全体、手順文又はフレーズの選択と、選択箇所に対応するフローチャートの入力とを受ける。このとき、前述のとおり、フローエディタ220は、選択箇所に対応する推定フロー箇所を強調表示させてから、当該フローチャートの修正を受けてもよい。フローエディタ220は、入力されたフローチャートと、手順対応関係(手順全体、手順文及びフレーズのうちの少なくとも2つの関係)とを保持する。フローエディタ220は、運用管理者からフローチャートの保存指示を受けると、入力されたフローチャート、及び、保持した手順対応関係を、管理サーバ100に送信する。管理サーバ100のルール管理部120は、そのフローチャート及び対応関係を保存するためのフロー記憶処理1202を実施し、完了通知を、フローエディタ220に通知する。
The
なお、手順一覧221には、手順以外が表示されてもよい。例えば、推定フローが表示されてもよいし、手順のうち推定されている箇所の割合(カバレッジ)などが表示されてもよい。また、保存指示は、運用管理者が明示的に行う必要は必ずしもない。例えば、フローチャートの入力と同時に明示の保存指示無しにフロー記憶処理1202が実施されてもよい。このとき、上記の通りに手順一覧221の表示が更新されてもよい。
In the
図25は、フロー記憶処理1202を示す。フロー記憶処理1202は、受信したフローチャートを記憶する処理である。
FIG. 25 shows the
フローテーブル1508では、図14に示す通り、論理表現15081から別のフローID15080を参照することがあり得る。例えば、手順文に対応するフローチャートから、フレーズに対応するフローチャートを参照することがあり得る。そのため、ルール管理部120は、まず、フロー分解処理を実施する(S8000)。それにより、受信した手順箇所をより細粒度の単位である抽象手順やフレーズなどに分解し、それらの単位に対応するフローチャートを得ることができる。フローチャート毎に、S8010〜S8050が行われる。以降、1つのフローチャートを例に取る(S8010〜S8050の説明で「対象フローチャート」と呼ぶ)。
In the flow table 1508, as shown in FIG. 14, another
ルール管理部120は、対象フローチャートに関する情報が手順フロー対応テーブル1509に登録済みか否かを判断する(S8010)。具体的には、例えば、ルール管理部120は、対象フローチャートに対応するID(例えば、手順ID、手順文、抽象手順ID、抽象手順文ID、開始位置及び終了位置の部分集合)が手順フロー対応テーブル1509に登録済みか否かを判断する。
The
もしも、S8010の判断結果が偽の場合には(S8010:No)、ルール管理部120は、対象フローチャートに対応するIDを手順フロー対応テーブル1509に登録する(S8020)。この時、そのIDに対応付けられる代表フラグ15098は“Yes”とされる。
If the determination result of S8010 is false (S8010: No), the
一方で、もしも、S8010の判断結果が真の場合には(S8010:Yes)、ルール管理部120は、対象フローチャートと既存のIDに対応したフローチャートとの差分を無くしたフローチャートを代表フローチャートとして生成する。具体的には、ルール管理部120は、S8030〜S8050を行う。
On the other hand, if the determination result of S8010 is true (S8010: Yes), the
すなわち、ルール管理部120は、手順フロー対応テーブル1509から、対象フローチャートに対応するIDに合致し、かつ代表フラグ15098“No”であるフローチャート群(1以上のフローチャート)を取得する(S8030)。
That is, the
そして、ルール管理部120は、S8030で取得したフローチャート群と、対象フローチャートとを比較し、代表フローチャートを生成する(S8040)。具体的には、例えば、ルール管理部120は、フローチャート群のうちの過半数(所定割合の一例)のフローチャートに存在する条件種類や動作種類を選択する。そして、ルール管理部120は、選択した条件種類や動作種類を示すノード間の論理的な接続関係が、上記過半数のフローチャートに存在する場合に、その論理的な接続関係で、対象フローチャート内の条件種類や動作種類を示すノードをつなぐ。結果として、複数のグラフの形として代表フローチャートが生成される。
Then, the
その後、ルール管理部120は、S8040で生成した代表フローチャートに関する情報を、手順フロー対応テーブル1509に登録する(S8050)。この時、そのフローチャートについて、代表フラグ15098は“Yes”とされる。
After that, the
ルール管理部120は、S8000〜S8050の後(受信したフローチャートを登録した後)、手順一般化処理(S1020)で推定した条件節について、受信したフローチャートを元に確定させる。
After S8000 to S8050 (after registering the received flowchart), the
具体的には、まず、ルール管理部120は、受信したフローチャートから、条件表現を記載した条件節のノードを抽出する(S8060)。
Specifically, first, the
そして、ルール管理部120は、抽出したノードに含まれる条件種類に対応したエントリ(条件種類テーブル1510のエントリ、例えば、条件値15102や、取得元テーブル15103及び取得元カラム15104が指すテーブル部分に含まれる条件値表現の情報)を元に、S8060で抽出したノードに対応した条件節に対応する手順箇所を特定する(S8070)。例えば、ルール管理部120は、上記の条件表現に類似する単語を手順から探索すればよい。なお、S8060で抽出したノードに対応した条件節に関する情報を含んだエントリが、条件種類テーブル1510に無い場合には、ルール管理部120は、そのようなエントリを条件種類テーブル1510に追加する。
Then, the
もしも、S8070で特定したエントリ(条件種類テーブル1510のエントリ)における推定フラグ15105が“Yes”の場合には、ルール管理部120は、その推定フラグ15105を“No”に変更し、条件値15102として、S8070で特定した手順箇所の表現を登録する(S8080)。
If the
図26は、フロー分解処理(S8000)を示す。 FIG. 26 shows a flow decomposition process (S8000).
ルール管理部120は、フローチャートと手順対応関係とを受信する(S1500)。ルール管理部120は、手順対応関係が手順文を含むか否かを判断する(S1510)。S1510の判断結果が偽の場合には(S1510:No)、ルール管理部120は、手順テーブル1511を参照し、手順に含まれる全手順文のIDを抽出する(S1520)。
The
手順対応関係から特定される手順文毎に、S1530〜S1560が行われる。以降、1つの手順文を例に取る(S1530〜S1560の説明で「対象手順文」と呼ぶ)。 S1530 to S1560 are performed for each procedure sentence specified from the procedure correspondence relationship. Hereinafter, one procedure sentence will be taken as an example (referred to as "target procedure sentence" in the description of S1530 to S1560).
ルール管理部120は、手順テーブル1511を参照し、対象手順文に対応する抽象手順文を特定する(S1530)。そして、ルール管理部120は、受信したフローチャートのうちの、特定した抽象手順文に含まれる条件種類や動作種類に対応したフローチャート部分(フローチャート中のノード)を、特定する(S1540)。その際、ルール管理部120は、特定された抽象手順文に対応しない条件節や動作のノードを、受信したフローチャートから除去する。これにより、部分的なフローチャートが作成される。
The
次に、ルール管理部120は、抽象手順パタンテーブル1506と抽象手順同一部テーブル1507を参照し、抽象手順文に含まれる全フレーズを特定する(S1550)。特定されたフレーズ毎に、S1560が行われる。以降、1つのフレーズを例に取る(S1560の説明で「対象フレーズ」と呼ぶ)。
Next, the
ルール管理部120は、S1540と同様に、受信したフローチャートから、対象フレーズに対応するフローチャートを特定する(S1560)。
Similar to S1540, the
S1530〜S1560を実施後、ルール管理部120は、S1540と同様に、受信したフローチャートから、抽象手順全体に対応するフローチャートを特定する(S1570)。
After executing S1530 to S1560, the
ルール管理部120は、手順、手順文、抽象手順、抽象手順文、フレーズの対応関係に相当するように、特定したフローチャートの対応関係を特定し、フローチャートの重複を除去する(S1580)。そして、ルール管理部120は、特定したフローチャート、フローチャートと手順箇所との対応関係、及び、フローチャート間の重複排除結果を返却する。
The
図27は、フロー推定処理1203を示す。
FIG. 27 shows the
ルール管理部120は、選択された手順の手順IDを受信し(S9000)、まず、手順フロー対応テーブル1509を参照し、受信した手順IDに対応するフローID15097を特定する(S9010)。その後、ルール管理部120は、フローテーブル1508を参照し、特定したフローID15097に対応する論理表現15081(図27の説明において、以降、代表例であるフローチャートと記載)を特定する(S9020)。
The
次に、ルール管理部120は、特定したフローチャートにフローIDが含まれているか否かを判断する(S9030)。
Next, the
もしも、S9030の判断結果が真の場合には(S9030:Yes)、ルール管理部120は、含まれているフローIDに対応するフローチャートをフローテーブル1508から抽出し(S9040)、抽出したフローチャートをS9020で特定したフローチャートにマージすることで1つのフローチャートを生成する(S9050)。
If the determination result of S9030 is true (S9030: Yes), the
一方で、もしも、S9030の判断結果が偽の場合には(S9030:No)、ルール管理部120は、当該フローチャート(S9050で生成されたフローチャート、又は、S9020で特定されたフローチャート)を返却する。
On the other hand, if the determination result of S9030 is false (S9030: No), the
以降、図28〜図32を参照して、フローエディタ画面60の遷移の一例を説明する。なお、以降の説明では、手順ID“M”(Mは自然数)の手順を、「手順M」と呼ぶ。抽象手順ID“N”(Nは自然数)の抽象手順を、「抽象手順N」と呼ぶ。フローID“P”(Pは自然数)のフローチャートを「フローチャートP」と呼ぶ。また、フローエディタ画面60の表示制御は、フローエディタ220とルール管理部120とのうちの少なくとも1つにより行われる(具体的には、例えば、フローエディタ220からの要求に応答してルール管理部120から受けた情報を基にフローエディタ220により行われる)。以下、説明を簡単にするために、フローエディタ画面60の表示制御は、ルール管理部120によりフローエディタ220を通じて行われるとする。なお、当該表示制御は、フローエディタ220が、管理サーバ100が管理する各種テーブルを参照することにより行ってもよい。
Hereinafter, an example of the transition of the
図28に例示の手順1及び2があるとする。ルール管理部120が、手順1及び2について、S1010〜S1030を経て、抽象手順1及び2を得る。具体的には、例えば、下記の通りである。
・手順1における「HostA」が、抽象手順1において条件種類“SERVER_NAME_COND_1”に抽象化されている。「HostA」が、サーバ名に該当する(取得元カラム15104“サーバ名”にある)と判断され、故に、条件種類15101“SERVER_NAME_COND_1”が推定されたためである。
・手順1における「「XXXがエラーです」の」が、抽象手順1において条件種類“MSG_COND_1”に抽象化されている。手順1における「「XXXがエラーです」の」が、メッセージに該当する(取得元カラム15104“メッセージ”にある)と判断され、得湯に、条件種類15101“MSG_COND_1”が推定されたためである。
・手順1における「エスカレーションしない」が、抽象手順1において動作種類“NO_ESCALATION”に抽象化されている。手順1における「エスカレーションしない」が、動作表現15112“エスカレーションしない”に該当したためである。
Assume that there are
-"HostA" in the
-""XXX is an error "" in
-"No escalation" in
また、図28に示すように、ルール管理部120が、抽象手順1及び2について、S1010〜S1030を経て、抽象手順1及び2が包含関係にあることを特定する。具体的には、抽象手順2が、抽象手順1の親抽象手順である。抽象手順2の方が抽象手順1よりも条件(条件ノード)が少ないためである。
Further, as shown in FIG. 28, the
また、図28に示すように、条件種類15101“SERVER_NAME_COND_1”にフローチャート2が関連付けられており、条件種類15101“MSG_COND_1”にフローチャート1が関連付けられている。フローチャート2及び1のいずれも、条件節の論理表現である。
Further, as shown in FIG. 28, the
図28の例によれば、図29に示すように、手順一覧221には、手順2の変換順番が、手順1の変換順番よりも先である。具体的には、手順2の順番(変換順番)は“1”であり、手順1の順番は“2”である。抽象手順2は、抽象手順1の親抽象手順であるためである。
According to the example of FIG. 28, as shown in FIG. 29, in the
まず、図29に示すように、運用管理者が順番“1”の手順2を選択したとする。この場合、図29及び図30に示すように、ルール管理部120が、手順2を手順表示222に表示し、選択された手順2に対応した推定されたフローチャート1及びフローチャート4をフロー入力223に表示する(なお、図30に例示のフローチャート4の論理表現は、後述の手動追加後の論理表現である)。フローチャート1の表示を例に取ると、次の通りである。すなわち、ルール管理部120が、選択された手順2に対応した抽象手順2を特定する。ルール管理部120が、抽象手順テーブル1504から、抽象手順2に対応した条件種類ID15043を特定する。ルール管理部120が、条件管理テーブル1510から、特定した条件種類ID15043に対応したフローID15106を特定する。ルール管理部120が、フローテーブル1508から、特定したフローID15106に対応した論理表現15081を特定し、特定した論理表現15081を表すフローチャート1(ノード)をフロー入力223に表示する。その際、ルール管理部120は、論理表現15081における[variable](パラメータ)に、手順2から特定されたパラメータ値“YYYでアラート”を代入する。これにより、「MESSAGE=YYYでアラート」という表現をもったノード(フローチャート)がフロー入力223に表示される。
First, as shown in FIG. 29, it is assumed that the operation manager selects
その後、図30に示すように、運用管理者が、手順2における非抽象化部分“17:00−18:00の間”を抽象化した表現“17:00<=TIME and TIME<=18:00”をフロー入力223に入力し、保存指示を出した(例えば「保存」ボタン10をクリックした)とする。その表現に対応した条件種類が条件種類テーブル1510に無いため、ルール管理部120が、その表現に対応した条件種類15101“TIME_COND_1”及び条件値を含んだエントリを条件種類テーブル1510に追加する。また、ルール管理部120が、その表現に対応したフローチャート3(論理表現)をフローテーブル1508に追加する。また、ルール管理部120が、動作種類に対応したフローチャート4(論理表現)を更新する。また、ルール管理部120は、類似関係抽出処理、包含関係推定処理及び手順変換順序決定処理を行って、フローエディタ画面上の手順一覧(手順の並び順)を更新してもよい。
After that, as shown in FIG. 30, the operation manager abstracted the non-abstract part “between 17:00 and 18:00” in
次に、図31に示すように、運用管理者が順番“2”の手順1を選択したとする。この場合、図31に示すように、ルール管理部120が、手順1を手順表示222に表示し、抽象手順1の親抽象手順2に対応した推定されたフローチャート1、3及び4をフロー入力223に表示する。その際、ルール管理部120は、フローチャート1における[variable]に、手順1から特定されたパラメータ値“XXXがエラーです” (フローチャート1に対応した条件種類に対応するパラメータ値)を代入する。また、ルール管理部120は、フローチャート3における[variable]に、手順1から特定されたパラメータ値“12:00”及び“12:30”(フローチャート3に対応した条件種類に対応するパラメータ値)を代入する。
Next, as shown in FIG. 31, it is assumed that the operation manager selects
更に、図32に示すように、ルール管理部120が、抽象手順1に対応した条件種類のうち抽象手順2に包含されていない条件種類“SERVER_NAME_COND_1”に対応するフローチャート2をフロー入力223に表示する。その際、ルール管理部120は、フローチャート2(論理表現)における[variable]に、手順1から特定されたパラメータ値“HostA”(条件種類“SERVER_NAME_COND_1”に対応したパラメータ値)を代入する。
Further, as shown in FIG. 32, the
図32に示すように、運用管理者は、手動でノード間を接続する(例えばノード間を矢印で結ぶ)ことにより、手順1に対応したフローチャートを完成させる。
As shown in FIG. 32, the operation manager manually connects the nodes (for example, connects the nodes with arrows) to complete the flowchart corresponding to the
図31及び図32によれば、運用管理者は、抽象手順2の子抽象手順1に対応した手順1について(登録済みフローチャートに対応した手順2の次の順番とされている手順1について)、実質的に、手動でフローチャートを追加又は編集する必要が無い。運用管理者は、手順1についてのフローチャートが推定されたフローチャート(図32に示すフローチャート)で正しいと判断した場合に、保存指示を出す。この場合、ルール管理部120が、動作種類に対応した新たなフローチャート5(フローID“2”を含んだ新たな論理表現)をフローテーブル1508に追加する。
According to FIGS. 31 and 32, the operation manager describes the
以上、一実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。 Although one embodiment has been described above, this is an example for explaining the present invention, and the scope of the present invention is not limited to this embodiment. The present invention can also be implemented in various other forms.
例えば、形態素解析に代えてディープラーニングのような他の手法が採用されてもよい。 For example, other methods such as deep learning may be adopted instead of morphological analysis.
また、例えば、ルール管理部120は、対象システム300の構成を示す構成情報170内の値と、第1抽象手順(第1手順に対応した抽象手順)及び第2抽象手順(第2手順に対応した抽象手順)のうちの少なくとも1つに含まれる単語が類似の場合には、構成情報170内の当該値を元に、その単語についての条件種類を推定してもよい。
Further, for example, the
また、例えば、ルール管理部120は、対象システム300の監視結果を示す監視情報160内の値と、第1抽象手順(第1手順に対応した抽象手順)及び第2抽象手順(第2手順に対応した抽象手順)のうちの少なくとも1つに含まれる単語が類似の場合には、監視情報160内の当該値を元に、その単語についての条件種類を推定してもよい。
Further, for example, the
また、例えば、フローエディタ220(又はルール管理部120)は、手順一覧221において、第1抽象手順に包含される第2抽象手順に対応した第2手順の順番が、第1抽象手順に対応した第1手順の順番よりも先としてよい。更に、例えば、フローエディタ220(又はルール管理部120)は、手順書1501(複数の手順)のうちの第3手順に対応した第3抽象手順にも第2抽象手順が包含されており、且つ、第1抽象手順及び第3抽象手順が包含関係にない場合、手順一覧221において、第1手順及び第3手順のうち、第1抽象手順及び第3抽象手順のうち条件種類の数が少ない方の抽象手順に対応した手順の方の順番を先としてよい。このような順番に沿って手順をフローチャートに変換していくと、運用管理者による入力作業負担が軽減されることが期待される。
Further, for example, in the flow editor 220 (or the rule management unit 120), in the
100…管理サーバ、200…管理クライアント、300…対象システム 100 ... management server, 200 ... management client, 300 ... target system
Claims (6)
1以上のメモリを含む記憶部と、
前記インターフェース部及び前記記憶部に接続された1以上のプロセッサであるプロセッサ部と
を有し、
前記プロセッサ部が、
運用対象の運用に関する第1データの選択を受け、
前記第1データに対応した第1抽象データに包含される第2抽象データが構造化されたものである抽象構造体と、前記第1データとに基づき、前記第1データの少なくとも一部を構造化したものである推定構造体を表示する、
運用支援システム。 An interface unit that includes one or more interface devices,
A storage unit containing one or more memories,
It has an interface unit and a processor unit which is one or more processors connected to the storage unit.
The processor section
In response to the selection of the first data related to the operation of the operation target
Wherein the abstract structure second abstract data were structured to be included in the first abstract data corresponding to the first data, the first based on the data, at least a portion of said first data structure Display the estimated structure that is the data
Operations support system.
請求項1記載の運用支援システム。The operation support system according to claim 1.
前記プロセッサ部が、
運用対象の運用に関する第1データの選択を受け、
前記第1データに対応した第1抽象データに包含される第2抽象データが構造化されたものである抽象構造体と、前記第1データとに基づき、前記第1データの少なくとも一部を構造化したものである推定構造体を表示する、
運用支援方法。 An operation support method by an operation support system having an interface unit including one or more interface devices, a storage unit including one or more memories, and a processor unit which is one or more processors connected to the interface unit and the storage unit. And
The processor section
In response to the selection of the first data related to the operation of the operation target
Wherein the abstract structure second abstract data were structured to be included in the first abstract data corresponding to the first data, the first based on the data, at least a portion of said first data structure Display the estimated structure that is the data
Operation support method.
請求項3記載の運用支援方法。The operation support method according to claim 3.
前記第1データに対応した第1抽象データに包含される第2抽象データが構造化されたものである抽象構造体と、前記第1データとに基づき、前記第1データの少なくとも一部を構造化したものである推定構造体を表示する、
ことを1以上の計算機に実行させるコンピュータプログラム。 In response to the selection of the first data related to the operation of the operation target
Wherein the abstract structure second abstract data were structured to be included in the first abstract data corresponding to the first data, the first based on the data, at least a portion of said first data structure Display the estimated structure that is the data
A computer program that lets one or more calculators do things.
請求項5記載のコンピュータプログラム。The computer program according to claim 5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020084863A JP6902140B2 (en) | 2017-06-05 | 2020-05-14 | Operations support system and method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019523211A JP6705947B2 (en) | 2017-06-05 | 2017-06-05 | Operation support system and method |
| JP2020084863A JP6902140B2 (en) | 2017-06-05 | 2020-05-14 | Operations support system and method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019523211A Division JP6705947B2 (en) | 2017-06-05 | 2017-06-05 | Operation support system and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020144909A JP2020144909A (en) | 2020-09-10 |
| JP6902140B2 true JP6902140B2 (en) | 2021-07-14 |
Family
ID=72354361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020084863A Active JP6902140B2 (en) | 2017-06-05 | 2020-05-14 | Operations support system and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6902140B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117493220B (en) * | 2024-01-03 | 2024-03-26 | 安徽思高智能科技有限公司 | RPA flow operation abnormity detection method, device and storage device |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6092686B2 (en) * | 2013-03-29 | 2017-03-08 | 株式会社日立システムズ | Operation workflow creation support method and operation workflow creation support system |
| WO2015125280A1 (en) * | 2014-02-21 | 2015-08-27 | 株式会社日立製作所 | Operation improving device and operation improving method for information processing system |
| JP6447111B2 (en) * | 2014-12-25 | 2019-01-09 | 富士通株式会社 | Common information providing program, common information providing method, and common information providing apparatus |
| JP5937245B1 (en) * | 2015-02-25 | 2016-06-22 | 三菱電機インフォメーションシステムズ株式会社 | Operation procedure evaluation apparatus and operation procedure evaluation program |
| JP2016167123A (en) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | Common operation column extraction program, common operation column extraction method, and common operation column extraction apparatus |
| JP6368690B2 (en) * | 2015-06-30 | 2018-08-01 | 富士フイルム株式会社 | Workflow creation support device, system, method and program |
-
2020
- 2020-05-14 JP JP2020084863A patent/JP6902140B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020144909A (en) | 2020-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6643211B2 (en) | Anomaly detection system and anomaly detection method | |
| CN102804147B (en) | Perform the code check executive system of the code check of ABAP source code | |
| JP2021504781A (en) | Methods, computer programs and systems for extracting document metadata based on blocks | |
| CN113128213B (en) | Log template extraction method and device | |
| Jain et al. | A review of unstructured data analysis and parsing methods | |
| CN115270723A (en) | PDF document splitting method, device, device and storage medium | |
| CN113780570A (en) | Method and device for realizing machine learning based on structured query language sentence | |
| CN111507400B (en) | Application classification method, device, electronic equipment and storage medium | |
| US10346450B2 (en) | Automatic datacenter state summarization | |
| CN108170661B (en) | A method and system for managing rule texts | |
| JP6902140B2 (en) | Operations support system and method | |
| JP6705947B2 (en) | Operation support system and method | |
| CN113590650A (en) | Feature expression based structured query statement discrimination method and device | |
| JP2013214148A (en) | Message conversion apparatus and message conversion program | |
| JP6191440B2 (en) | Script management program, script management apparatus, and script management method | |
| CN115562645A (en) | A Configuration Fault Prediction Method Based on Program Semantics | |
| JP7709306B2 (en) | Question answering system, question answering program, and question answering method | |
| US20200034723A1 (en) | Configuration management device, configuration management method, and recording medium | |
| US20200278981A1 (en) | Information processing device and non-transitory computer readable medium | |
| US11416246B2 (en) | Information processing apparatus, analysis system, analysis method, and non-transitory computer readable medium storing analysis program | |
| CN115687292B (en) | A Verifiable Database Technology-Independent Method for Database Upgrade | |
| KR102449580B1 (en) | A method of analyzing unstructured data using a component network-based analysis system | |
| CN115204155A (en) | A configuration abnormality detection method, apparatus, computer equipment and storage medium | |
| JP6190341B2 (en) | DATA GENERATION DEVICE, DATA GENERATION METHOD, AND PROGRAM | |
| Thamviset et al. | Structured web information extraction using repetitive subject pattern |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200514 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
| 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: 20210525 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210618 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6902140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |