JP2023130146A - Determining program, determining method and information processing device - Google Patents
Determining program, determining method and information processing device Download PDFInfo
- Publication number
- JP2023130146A JP2023130146A JP2022034648A JP2022034648A JP2023130146A JP 2023130146 A JP2023130146 A JP 2023130146A JP 2022034648 A JP2022034648 A JP 2022034648A JP 2022034648 A JP2022034648 A JP 2022034648A JP 2023130146 A JP2023130146 A JP 2023130146A
- Authority
- JP
- Japan
- Prior art keywords
- error
- information
- robot
- processing
- target system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000010365 information processing Effects 0.000 title claims description 149
- 238000012545 processing Methods 0.000 claims abstract description 158
- 230000008569 process Effects 0.000 claims abstract description 126
- 230000008859 change Effects 0.000 claims abstract description 26
- 238000003860 storage Methods 0.000 claims description 56
- 238000004801 process automation Methods 0.000 claims description 2
- 238000002955 isolation Methods 0.000 abstract description 7
- 238000012423 maintenance Methods 0.000 description 144
- 238000004458 analytical method Methods 0.000 description 61
- 238000010586 diagram Methods 0.000 description 22
- 238000011835 investigation Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 230000007613 environmental effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は判定プログラム、判定方法および情報処理装置に関する。 The present invention relates to a determination program, a determination method, and an information processing apparatus.
コンピュータなどの情報処理装置は、ユーザによるデータ入力などの作業を支援するソフトウェアを実行することがある。例えば、情報処理装置は、RPA(Robotic Process Automation)と呼ばれる技術により、情報処理装置が出力するデスクトップ画面上でのユーザの定型的な操作を自動化することがある。 Information processing devices such as computers may execute software that assists users in tasks such as data input. For example, an information processing device may automate routine operations performed by a user on a desktop screen output by the information processing device using a technology called RPA (Robotic Process Automation).
ところで、情報処理システムでは、ソフトウェアの動作の不具合によりエラーが発生することがある。そこで、エラー発生時にエラー原因の解析を行う技術が考えられている。
例えば、障害発生時のエラーログと、インシデント発生日におけるログパターンリストと、に基づいて、障害発生時のエラーログとインシデント発生日におけるエラーログの類似度を計算する障害解析支援装置の提案がある。提案の障害解析支援装置は、計算した類似度に基づいて、障害発生時のエラーログから推定されるインシデントの障害解決策を出力する。
By the way, in information processing systems, errors may occur due to malfunctions in software operations. Therefore, techniques are being considered to analyze the cause of the error when it occurs.
For example, there is a proposal for a failure analysis support device that calculates the similarity between the error log at the time of the failure and the error log on the day the incident occurred based on the error log at the time the failure occurred and the log pattern list on the day the incident occurred. . The proposed failure analysis support device outputs a failure solution for an incident estimated from the error log at the time of failure, based on the calculated similarity.
端末装置は、RPAなどを実現するソフトウェアを実行することで、処理対象のシステムに対する所定の処理を自動化する。この場合、処理対象のシステムの変更は、当該ソフトウェアの処理に影響を及ぼすことがある。特に、処理対象のシステムは、当該ソフトウェアを使用するユーザとは異なる第三者によって運用され得る。このため、当該ソフトウェアのユーザが、処理対象のシステムの変更を把握するのが難しいことがある。 A terminal device automates predetermined processing for a processing target system by executing software that implements RPA or the like. In this case, changes to the processing target system may affect the processing of the software. In particular, the system to be processed may be operated by a third party different from the user using the software. Therefore, it may be difficult for the user of the software to understand changes in the system being processed.
一方、ソフトウェアの処理は、ソフトウェアを実行する端末装置のオペレーティングシステムなどの実行環境における設定情報の変更の影響を受けることもある。当該設定情報の変更は、端末装置を実際に操作するユーザによって、ソフトウェアの処理への影響を考慮せずに独自に行われることが少なくない。 On the other hand, software processing may be affected by changes in setting information in an execution environment such as an operating system of a terminal device that executes the software. The setting information is often changed independently by the user who actually operates the terminal device, without considering the influence on software processing.
このため、ある処理対象のシステムに対する端末装置の処理でエラーが発生すると、エラーの原因が当該処理を実行する端末装置の側にあるのか、または、処理対象のシステムの側にあるのかの切り分けが難しいことがある。 Therefore, when an error occurs in the processing of a terminal device for a certain processing target system, it is difficult to determine whether the cause of the error is in the terminal device executing the processing or in the processing target system. It can be difficult.
1つの側面では、本発明は、エラー原因の切り分けを効率化する判定プログラム、判定方法および情報処理装置を提供することを目的とする。 In one aspect, it is an object of the present invention to provide a determination program, a determination method, and an information processing apparatus that improve the efficiency of isolating the cause of an error.
1つの態様では、判定プログラムが提供される。この判定プログラムは、コンピュータに、第1の装置により処理対象システムに対する処理を実行した際のエラーを示す第1のエラー情報を取得し、第1のエラー情報と、当該処理の実行に影響する設定情報が設定された第2の装置により当該処理を実行した際のエラーを示す第2のエラー情報との比較の結果に基づいて、第1のエラー情報により示されるエラーが、第1の装置により保持される設定情報が第2の装置に設定された設定情報と異なることに起因するエラーであるか、または、処理対象システムの変更に起因するエラーであるかを判定する、処理を実行させる。 In one aspect, a determination program is provided. This determination program causes the computer to acquire first error information indicating an error when a process is executed on a processing target system by a first device, and includes the first error information and settings that affect execution of the process. The error indicated by the first error information is determined by the first device based on the result of comparison with the second error information indicating the error when the second device to which the information is set executes the process. A process is executed to determine whether the error is caused by the held setting information being different from the setting information set in the second device or the error is caused by a change in the processing target system.
また、1つの態様では、判定方法が提供される。
また、1つの態様では、情報処理装置が提供される。
Also, in one aspect, a determination method is provided.
Further, in one aspect, an information processing device is provided.
1つの側面では、エラー原因の切り分けを効率化できる。 One aspect is that it is possible to more efficiently isolate the cause of an error.
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
The present embodiment will be described below with reference to the drawings.
[First embodiment]
A first embodiment will be described.
図1は、第1の実施の形態の情報処理装置を説明する図である。
情報処理装置10、第1の装置20、第2の装置30および処理対象システム40は、ネットワーク50に接続される。ネットワーク50は、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)やインターネットなどでもよい。
FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment.
The
情報処理装置10は、第1の装置20により実行されるソフトウェアの処理でエラーが発生した場合に、エラーの原因の調査を支援する。第1の装置20は、処理対象システム40に対するデータ入力などの所定の処理を行う運用環境の装置である。例えば、第1の装置20は、RPAを実現するソフトウェアを実行することで、処理対象システム40に対する処理を行ってもよい。すなわち、第1の装置20は、処理対象システム40に対するユーザの定型操作をRPAロボットにより自動化してもよい。RPAロボットは、ソフトウェアのロボットであり、単にロボットと表記される。
When an error occurs in software processing executed by the
第2の装置30は、情報処理装置10と連携して第1の装置20で発生したエラーの原因の切り分けに用いられる保守環境の装置である。ただし、第2の装置30の機能は、情報処理装置10により実現されてもよい。処理対象システム40は、例えばユーザのデータの管理や当該データに基づく所定の処理を行うサービスを提供する。処理対象システム40は、第1の装置20によるデータ入力などの処理を受け付けるGUI(Graphical User Interface)などのインタフェースを提供する。
The
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合、すなわち、マルチプロセッサでもよい。図1では省略しているが、第1の装置20、第2の装置30および処理対象システム40も、情報処理装置10と同様に、記憶部および処理部を有する。
The
第1の装置20は、設定情報21を保持する。設定情報21は、第1の装置20におけるソフトウェアの実行環境の設定情報である。すなわち、設定情報21は、第1の装置20による処理対象システム40に対する処理に影響を与える情報である。
The
当該実行環境の設定情報は、該当の装置で実行されるオペレーティングシステムおよびミドルウェアの少なくとも一方の設定情報を含んでもよい。また、例えば、RPAを実現するソフトウェアの場合、当該実行環境の設定情報は、ロボットを動作させるエージェントの設定情報やロボットによる処理手順を定義するための設定情報を含んでもよい。このように、ソフトウェアの処理に影響を及ぼし得る設定情報は多岐に亘る。設定情報21は、第1の装置20の記憶部により保持される。
The configuration information of the execution environment may include configuration information of at least one of an operating system and middleware executed on the device. Further, for example, in the case of software that implements RPA, the configuration information of the execution environment may include configuration information of an agent that operates a robot and configuration information for defining processing procedures by the robot. As described above, there is a wide variety of setting information that can affect software processing. The setting
第2の装置30は、ソフトウェアの実行環境として、第1の装置20と同じ実行環境を有する。例えば、第2の装置30におけるオペレーティングシステムやミドルウェアなどは、第1の装置20と同じものである。また、第2の装置30は、元の設定情報31を保持する。元の設定情報31は、第1の装置20で実行されるソフトウェアの実行環境における動作確認済の設定情報である。元の設定情報31は、第2の装置30による処理対象システム40に対する処理に影響を与える情報である。例えば、第2の装置30では、処理対象システム40に対する該当のソフトウェアの処理が適正に動作することが、開発者あるいは保守者によって予め確認済である。元の設定情報31は、第2の装置30の記憶部により保持される。
The
例えば、元の設定情報31は、設定情報21の生成元の設定情報でもよい。ただし、設定情報21は、当初は、元の設定情報31と同じであったとしても、その後も元の設定情報31と同じであるとは限らない。第1の装置20を操作するユーザによって設定情報21が変更される可能性もある。
For example, the
記憶部11は、処理部12により第1の装置20および第2の装置30から取得された情報を保持する。具体的には、記憶部11は、第1のエラー情報22および第2のエラー情報32を記憶する。第1のエラー情報22は、第1の装置20による処理対象システム40に対する処理の実行時のエラーを示す。第2のエラー情報32は、第2の装置30による処理対象システム40に対する処理の実行時のエラーを示す。
The
処理部12は、第1のエラー情報22を取得し、記憶部11に格納する。また、処理部12は、第2のエラー情報32を取得し、記憶部11に格納する。
例えば、処理部12は、第1の装置20でのエラー発生に応じて第1の装置20により第1のエラー情報22が生成されると、第1の装置20から第1のエラー情報22を取得し、記憶部11に格納する。すると、処理部12は、処理対象システム40に対する処理を第2の装置30に実行させる。
The
For example, when the
処理部12は、第2の装置30でエラーが発生しない場合、第1の装置20で発生したエラーが、第1の装置20の設定情報21が元の設定情報31と異なることに起因するエラーであると判定する。
If no error occurs in the
一方、処理部12は、第2の装置30でエラーが発生し、第2の装置30により第2のエラー情報32が生成される場合、第2の装置30から第2のエラー情報32を取得し、記憶部11に格納する。
On the other hand, if an error occurs in the
そして、処理部12は、第1のエラー情報22と第2のエラー情報32との比較を行う。処理部12は、当該比較の結果に基づいて、第1のエラー情報22により示されるエラーが、設定情報21が元の設定情報31と異なることに起因するエラーであるか、または、処理対象システム40の変更に起因するエラーであるかを判定する。
The
例えば、処理部12は、比較対象とするエラーの情報として、エラーメッセージの本体、すなわち、環境差異やタイムスタンプやロボット実行時のユーザの識別情報などの影響がない箇所を用いる。処理部12は、第1のエラー情報22に含まれる第1のエラーメッセージが、第2のエラー情報32に含まれる第2のエラーメッセージと同じであるか否かに応じて、当該判定を行う。
For example, the
第1のエラーメッセージが第2のエラーメッセージと同じである場合、処理部12は、第1のエラー情報22により示されるエラーが処理対象システムの変更に起因するエラーであると判定する。第1の装置20でも第2の装置30と同じエラーが発生したということは、第1の装置20の設定情報21は、元の設定情報31と同じであり、第1の装置20におけるソフトウェアの実行環境に問題はないと推定される。したがって、この場合、処理部12は、処理対象システム40が変更されたことが、第1の装置20で発生したエラーの原因と判断する。
If the first error message is the same as the second error message, the
一方、第1のエラーメッセージが第2のエラーメッセージと異なる場合、処理部12は、第1のエラー情報22により示されるエラーが、設定情報21が元の設定情報31と異なることに起因するエラーであると判定する。第2の装置30は、実行環境に関して動作確認済の元の設定情報31を有している。したがって、第1の装置20で第2の装置30とは異なるエラーが発生したということは、第1の装置20における処理の実行環境の設定に問題があると推定される。よって、処理部12は、第1の装置20の設定情報21が元の設定情報31と異なることが、第1の装置20で発生したエラーの原因と判断する。
On the other hand, if the first error message is different from the second error message, the
情報処理装置10によれば、第1の装置20による処理対象システム40に対する処理の実行時のエラーを示す第1のエラー情報22が取得される。当該処理の実行に影響する元の設定情報31が設定された第2の装置30による処理の実行時のエラーを示す第2のエラー情報32が取得される。第1のエラー情報22と第2のエラー情報32との比較の結果に基づいて、第1のエラー情報22により示されるエラーの原因が判定される。すなわち、当該エラーが、第1の装置20により保持される設定情報21が第2の装置30に設定された元の設定情報31と異なることに起因するエラーであるか、または、処理対象システム40の変更に起因するエラーであるかが判定される。
According to the
これにより、エラー原因の切り分けを効率化できる。
ここで、処理対象システム40における変更は、第1の装置20の処理に影響を及ぼし得る。例えば、第1の装置20が、処理対象システム40が提供するWebページなどのGUIに対するデータ入力を自動化する処理を行う場合、処理対象システム40における当該GUI上の入力フォームなどの変更が、第1の装置20の処理に影響を及ぼし得る。特に、処理対象システム40が第三者によって運用されることもあり、第1の装置20のユーザが、処理対象システム40の変更を把握することは容易でない。
This makes it possible to isolate the cause of the error more efficiently.
Here, changes in the
一方、第1の装置20で実行されるソフトウェアの処理は、第1の装置20のオペレーティングシステムなどの、ソフトウェアの実行環境における設定情報の変更の影響を受けることもある。例えば、第1の装置20のオペレーティングシステムによるファイルの拡張子の表示の有無などの表示内容の設定が、処理対象システム40に対する第1の装置20の処理に影響を及ぼすこともある。当該設定情報の変更は、第1の装置20を実際に操作するユーザ、すなわち、運用者によって、ソフトウェアの処理への影響を考慮せずに独自に行われることが少なくない。
On the other hand, the software processing executed by the
このため、処理対象システム40に対する第1の装置20の処理でエラーが発生すると、エラーの原因がソフトウェアを実行する第1の装置20の側にあるのか、または、処理対象システム40の側にあるのかの切り分けが難しいことがある。
Therefore, when an error occurs in the processing of the
そこで、情報処理装置10は、第1の装置20により出力された第1のエラー情報22と、ソフトウェアの実行環境に関する元の設定情報31を保持する第2の装置30により出力された第2のエラー情報32との比較に応じて、エラー原因の切り分けを行う。これにより、情報処理装置10は、エラー原因の一次的な切り分けを効率的に行える。例えば、エラー原因の調査を行う保守者は、情報処理装置10の判定結果を基に、調査対象を、第1の装置20とするか、処理対象システム40とするかを迅速に選択可能となり、調査対象に対するエラー原因の詳細調査を迅速に開始できる。こうして、情報処理装置10は、エラー原因の効率的な調査を支援できる。
Therefore, the
情報処理装置10は、例えばRPAを実現するソフトウェアのように、多様なシステムが処理対象となったり、実行環境における種々の設定情報の影響を受けたりするソフトウェアのエラー原因の切り分けに、特に有用である。例えば、当該ソフトウェアでは、影響を受ける可能性のある実行環境の設定情報は膨大であり、当該設定情報の全てを予め把握することは困難である。情報処理装置10を用いることで、実行環境の設定情報を全て把握していなくても、エラー原因の切り分けを行える。また、第三者が運用するシステムを含む多様なシステムが処理対象となる場合、各システムにおける変更の全てを予め把握することは困難である。情報処理装置10を用いることで、処理対象のシステムにおける変更を全て把握していなくても、エラー原因の切り分けを行える。
The
なお、情報処理装置10は、第2の装置の機能を有してもよい。すなわち、記憶部11は、元の設定情報31を保持してもよい。また、処理部12は、記憶部11に記憶された元の設定情報31に基づいて、処理対象システム40に対する処理を実行することで、第2のエラー情報32を取得してもよい。
Note that the
以下では、より具体的な例を挙げて、情報処理装置10の機能を更に詳細に説明する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
Below, the functions of the
[Second embodiment]
Next, a second embodiment will be described.
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、情報処理装置100、運用端末200および保守端末300を有する。情報処理装置100、運用端末200および保守端末300はネットワーク60に接続されている。ネットワーク60には、操作対象システム400が接続されている。ネットワーク60は、LANでもよいし、WANやインターネットでもよい。
FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment.
The information processing system of the second embodiment includes an
情報処理装置100は、RPAを実現するソフトウェアの運用を支援するサーバコンピュータである。情報処理装置100は、運用端末200においてロボットの実行でエラーが発生すると、運用端末200および保守端末300で採取された情報を取得し、エラーの原因、すなわち、エラー原因の切り分けを行う。
The
運用端末200は、運用者により操作されるクライアントコンピュータである。運用端末200は、運用環境の端末である。運用端末200はロボットを実行する。当該ロボットは、運用端末200が実行するソフトウェアにより実現される。例えば、運用端末200は、ユーザの操作や情報処理装置100の指示に応じてロボットを起動するロボットエージェントアプリケーションを実行する。運用端末200は、ロボットを実行することで、操作対象システム400により提供されるGUIに対してデータ入力などの操作を自動的に行う。運用端末200は、第1の実施の形態の第1の装置20の一例である。
The
保守端末300は、保守者により操作されるクライアントコンピュータである。保守端末300は、保守環境の端末である。保守端末300は、ロボットの開発や保守に用いられる。例えば、開発者または保守者は、保守端末300を用いてロボットを開発し、動作確認などを行う。保守端末300は、情報処理装置100を介して、開発したロボットの情報を運用端末200に配布する。保守端末300は、オペレーティングシステム(OS:Operating System)の設定に関する情報やロボットを定義する情報などの、ロボットの実行環境の設定情報を、ロボットの動作確認が行われた状態で保持する。保守端末300もロボットを実行可能である。当該ロボットは、保守端末300が実行するソフトウェアにより実現される。例えば、保守端末300も運用端末200と同様に、ロボットエージェントアプリケーションを実行する。保守端末300は、第1の実施の形態の第2の装置30の一例である。例えば、当初の段階では、運用端末200の実行環境の設定情報は、保守端末300の実行環境の設定情報と同じに設定されていてもよい。例えば、保守端末300は、保守端末300の実行環境の設定情報を、運用端末200に配布してもよい。ただし、運用端末200の設定情報は運用者により変更され得る。
操作対象システム400は、運用端末200により操作されるGUIを提供するコンピュータシステムである。例えば、操作対象システム400は、Webサーバとして機能し、GUIに相当するWebページを運用端末200に提供してもよい。操作対象システム400が提供するGUIは、保守端末300からもアクセス可能である。操作対象システム400は、情報処理装置100、運用端末200および保守端末300の利用主体とは異なる第三者によって運用される。このため、操作対象システム400が提供するGUIは、第三者の都合によって変更され得る。
The
操作対象システム400は、GUIの提供や運用端末200による操作の受け付けなどを行う所定のアプリケーションを実行し得る。操作対象システム400の変更は、アプリケーションの仕様変更やGUIの仕様変更などによって行われる。操作対象システム400は、操作対象リソースと呼ばれてもよい。操作対象システム400は、第1の実施の形態の処理対象システム40の一例である。
The
図3は、情報処理装置のハードウェア例を示す図である。
情報処理装置100は、CPU101、RAM102、HDD103、GPU(Graphics Processing Unit)104、入力インタフェース105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
FIG. 3 is a diagram illustrating an example of hardware of an information processing device.
The
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、情報処理装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
The
HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
The
GPU104は、CPU101からの命令に従って、情報処理装置100に接続されたディスプレイ61に画像を出力する。ディスプレイ61としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
The
入力インタフェース105は、情報処理装置100に接続された入力デバイス62から入力信号を取得し、CPU101に出力する。入力デバイス62としては、マウス、タッチパネル、タッチパッド、トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。
The
媒体リーダ106は、記録媒体63に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体63として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
The
媒体リーダ106は、例えば、記録媒体63から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体63は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体63やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
For example, the
NIC107は、ネットワーク60に接続され、ネットワーク60を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
The
なお、運用端末200、保守端末300および操作対象システム400も、情報処理装置100と同様のハードウェアにより実現される。
図4は、情報処理システムの機能例を示す図である。
Note that the
FIG. 4 is a diagram illustrating a functional example of the information processing system.
情報処理装置100は、記憶部110、ロボット管理部120およびエラー解析部130を有する。記憶部110には、RAM102やHDD103の記憶領域が用いられる。ロボット管理部120およびエラー解析部130は、RAM102に記憶されたプログラムをCPU101が実行することで実現される。
The
運用端末200は、記憶部210およびロボット220を有する。記憶部210には、運用端末200のRAMやHDDの記憶領域が用いられる。ロボット220は、運用端末200のRAMに記憶されたプログラムを、運用端末200のCPUが実行することで実現される。
保守端末300は、記憶部310およびロボット320を有する。記憶部310には、保守端末300のRAMやHDDの記憶領域が用いられる。ロボット320は、保守端末300のRAMに記憶されたプログラムを、保守端末300のCPUが実行することで実現される。
記憶部110は、ロボットによる操作対象システム400に対する操作手順を示すロボットプロセス情報を記憶する。ロボットプロセス情報は、ロボットを定義する情報であり、保守端末300により生成される。ロボットプロセス情報は、例えば、GUIに対するロボットの操作手順を記述したスクリプトを含む。
The
また、記憶部110は、運用端末200および保守端末300それぞれで採取された採取情報を記憶する。採取情報は、エラーログを含む。エラーログは、該当の端末でロボットの実行中に発生したエラーの情報である。
Furthermore, the
ロボット管理部120は、ロボットプロセス情報を管理する。ロボット管理部120は、保守端末300で開発されたロボットのロボットプロセス情報を取得し、記憶部110に格納する。ロボット管理部120は、記憶部110に格納されたロボットプロセス情報を運用端末200に送信する。
The
エラー解析部130は、運用端末200によるロボットの実行でエラーが発生すると、運用端末200で採取された採取情報を取得し、記憶部110に格納する。また、エラー解析部130は、保守端末300で採取された採取情報を取得し、記憶部110に格納する。
When an error occurs in the execution of the robot by the
エラー解析部130は、記憶部110に記憶された、運用端末200の採取情報に含まれるエラーの情報、および、保守端末300の採取情報に含まれるエラーの情報に基づいて、運用端末200で発生したエラーの原因を判定する。エラー解析部130は、運用端末200のエラーの情報および保守端末300のエラーの情報が同じである場合、運用端末200のエラーが、操作対象システム400の変更に起因するエラーであると判定する。エラー解析部130は、運用端末200のエラーの情報および保守端末300のエラーの情報が異なる場合、運用端末200のエラーが、運用端末200におけるロボットの実行環境の変更に起因するエラーであると判定する。エラー解析部130は、比較対象とするエラーの情報として、エラーメッセージの本体、すなわち、環境差異やタイムスタンプやロボット実行時のユーザIDなどの影響がない箇所を用いる。
The
エラー解析部130は、エラー原因の判定結果を出力する。例えば、エラー解析部130は、エラー原因の判定結果をディスプレイ61に表示させてもよい。エラー解析部130は、エラー原因の判定結果を示す情報を、保守端末300などの他のコンピュータに送信してもよい。
The
記憶部210は、ロボット220の実行環境に関する設定情報を記憶する。当該設定情報は、運用端末200のOSの設定情報や、ロボット220のロボットプロセス情報などを含む。記憶部210は、ロボット220により出力されるエラーログを記憶する。
The
ロボット220は、操作対象システム400のGUIに対するデータ入力などの操作を自動的に実行する。例えば、運用者は、運用端末200によりロボット220を起動させ、操作対象システム400に対する操作をロボット220により実行させることができる。ロボット220は、操作対象システム400に対する一連の操作を行う間のエラーログを、記憶部210に出力する。
The
記憶部310は、ロボット320の実行環境に関する設定情報を記憶する。当該設定情報は、保守端末300のOSの設定情報や、ロボット320のロボットプロセス情報などを含む。運用端末200のOSと保守端末300のOSとは同じである。記憶部310は、ロボット320により出力されるエラーログを記憶する。
The
ロボット320は、操作対象システム400のGUIに対するデータ入力などの操作を自動的に実行する。例えば、保守者は、保守端末300によりロボット320を起動させ、操作対象システム400に対する操作をロボット320により実行させることができる。ロボット320は、操作対象システム400に対する一連の操作を行う間のエラーログを、記憶部310に出力する。
The
図5は、ロボット管理テーブルの例を示す図である。
ロボット管理テーブル111は、ロボットプロセス情報を管理するテーブルである。ロボット管理テーブル111は、記憶部110に格納される。ロボット管理テーブル111は、ロボットID(IDentifier)およびロボットプロセス情報の項目を含む。ロボットIDの項目には、ロボットの識別情報であるロボットIDが登録される。ロボットプロセス情報の項目には、ロボットプロセス情報が登録される。
FIG. 5 is a diagram showing an example of a robot management table.
The robot management table 111 is a table for managing robot process information. The robot management table 111 is stored in the
例えば、ロボット管理テーブル111は、ロボットID「r1」、ロボットプロセス情報「process1.dat」のレコードを有する。当該レコードは、ロボットID「r1」で識別されるロボットのロボットプロセス情報が「process1.dat」であることを示す。 For example, the robot management table 111 has a record of robot ID "r1" and robot process information "process1.dat". This record indicates that the robot process information of the robot identified by robot ID "r1" is "process1.dat".
ロボット管理テーブル111には、他のロボットIDおよびロボットプロセス情報のレコードも登録される。
図6は、運用環境に対する採取情報の例を示す図である。
Records of other robot IDs and robot process information are also registered in the robot management table 111.
FIG. 6 is a diagram illustrating an example of collected information for the operational environment.
運用環境採取情報テーブル112は、運用端末200の採取情報を保持するテーブルである。運用環境エラーメッセージテーブル113は、運用端末200の採取情報に含まれるエラーメッセージを保持するテーブルである。運用環境採取情報テーブル112および運用環境エラーメッセージテーブル113は、ロボットIDに対応付けて記憶部110に格納される。すなわち、運用環境採取情報テーブル112および運用環境エラーメッセージテーブル113は、ロボットIDごとに存在する。
The operational environment collection information table 112 is a table that holds the collection information of the
運用環境採取情報テーブル112は、ID、ファイル名およびファイルパスの項目を含む。IDの項目には、レコードを識別するIDが登録される。ファイル名の項目には、エラーログや実行環境の設定情報などのファイルを示すファイル名が登録される。ファイルパスの項目には、運用端末200における該当のファイルのパスが登録される。
The operating environment collection information table 112 includes items of ID, file name, and file path. In the ID field, an ID for identifying a record is registered. In the file name field, file names indicating files such as error logs and execution environment setting information are registered. In the file path item, the path of the corresponding file in the
例えば、運用環境採取情報テーブル112は、ID「1」、ファイル名「error1.log」、ファイルパス「C:...¥error1.log」のレコードを有する。当該レコードは、運用端末200においてファイル名「error1.log」のファイルが出力され、当該ファイルのパスが「C:...¥error1.log」であることを示す。例えば、運用環境採取情報テーブル112において、ファイル名の拡張子が「.log」であるファイルは、ロボット220の実行中に出力されたエラーログである。
For example, the operational environment collection information table 112 has a record of ID "1", file name "error1.log", and file path "C:...\error1.log". The record indicates that a file with the file name "error1.log" is output on the
また、運用環境採取情報テーブル112は、ID「2」、ファイル名「environment.txt」、ファイルパス「C:...¥environment.txt」のレコードを有する。当該レコードは、運用端末200において、ファイル名「environment.txt」のファイルが出力され、当該ファイルのパスが「C:...¥environment.txt」であることを示す。例えば、運用環境採取情報テーブル112において、ファイル名の拡張子が「.txt」であるファイルは、ロボット220の実行中に出力されたエラーログに付随して出力された付属的なデータである。当該データは、例えば、運用端末200におけるOSなどの設定を示す環境情報であり、ロボット220で発生するエラーに応じて、ロボット220により出力される。環境情報は、エラー原因の詳細調査などに利用される。
Further, the operational environment collection information table 112 has a record of ID "2", file name "environment.txt", and file path "C:...\environment.txt". The record indicates that a file with the file name "environment.txt" is output on the
運用環境採取情報テーブル112には、ファイル名「error2.log」のエラーログや、ファイル名「error3.log」のエラーログなど、他のエラーログも登録される。 Other error logs such as an error log with the file name "error2.log" and an error log with the file name "error3.log" are also registered in the operational environment collection information table 112.
運用環境エラーメッセージテーブル113は、ID、採取情報ID、発生日時およびエラーメッセージの項目を含む。IDの項目には、レコードを識別するIDが登録される。採取情報IDの項目には、運用環境採取情報テーブル112におけるレコードのID、すなわち、採取情報IDが登録される。発生日時の項目には、採取情報IDに対応するエラーログに含まれるエラーの発生日時が登録される。エラーメッセージの項目には、エラーログに含まれるエラーの内容を示すエラーメッセージが登録される。 The operational environment error message table 113 includes the following items: ID, collection information ID, date and time of occurrence, and error message. In the ID field, an ID for identifying a record is registered. The ID of the record in the operational environment collection information table 112, that is, the collection information ID, is registered in the collection information ID field. The date and time of occurrence of the error included in the error log corresponding to the collection information ID is registered in the date and time of occurrence item. In the error message field, an error message indicating the content of the error included in the error log is registered.
例えば、運用環境エラーメッセージテーブル113は、ID「1」、採取情報ID「1,2」、発生日時「2021/1/1」、エラーメッセージ「xxでエラーが発生しました。AAが存在しません。」のレコードを有する。当該レコードは、採取情報ID「1」に対応するファイル名「error1.log」のエラーログに、該当のエラーメッセージが含まれており、当該エラーメッセージで示されるエラーが、2021年1月1日に発生したことを示す。なお、発生日時として、日付のみを示しているが、発生日時は時刻を含んでもよい。発生日時を示すタイムスタンプは、エラーメッセージとともに、該当のエラーログに記録される。また、運用環境エラーメッセージテーブル113のID「1」のレコードにおける採取情報ID「2」は、ファイル名「error1.log」のエラーログに付随して、ファイル名「environment.txt」が取得されていることを示す。 For example, the operational environment error message table 113 has ID "1", collection information ID "1, 2", date and time of occurrence "2021/1/1", and error message "An error occurred in xx. AA does not exist. It has a record of . This record includes the corresponding error message in the error log with the file name "error1.log" that corresponds to the collection information ID "1", and the error indicated in the error message was posted on January 1, 2021. Indicates that this occurred. Note that although only the date is shown as the date and time of occurrence, the date and time of occurrence may also include time. A timestamp indicating the date and time of occurrence is recorded in the corresponding error log along with the error message. Additionally, the collection information ID "2" in the record with ID "1" in the operational environment error message table 113 indicates that the file name "environment.txt" is acquired along with the error log with the file name "error1.log". Show that there is.
運用環境エラーメッセージテーブル113には、ファイル名「error2.log」のエラーログや、ファイル名「error3.log」のエラーログなど、他のエラーログに含まれるエラーメッセージも登録される。 The operational environment error message table 113 also registers error messages included in other error logs, such as the error log with the file name "error2.log" and the error log with the file name "error3.log."
図7は、保守環境に対する採取情報の例を示す図である。
保守環境採取情報テーブル114は、保守端末300の採取情報を保持するテーブルである。保守環境エラーメッセージテーブル115は、保守端末300の採取情報に含まれるエラーメッセージを保持するテーブルである。保守環境採取情報テーブル114および保守環境エラーメッセージテーブル115は、ロボットIDに対応付けて記憶部110に格納される。例えば、保守環境採取情報テーブル114および保守環境エラーメッセージテーブル115は、ロボットIDごとに存在する。
FIG. 7 is a diagram illustrating an example of collected information for a maintenance environment.
The maintenance environment collection information table 114 is a table that holds collection information of the
保守環境採取情報テーブル114は、ID、ファイル名およびファイルパスの項目を含む。IDの項目には、レコードを識別するIDが登録される。ファイル名の項目には、エラーログや実行環境の設定情報などのファイルを示すファイル名が登録される。ファイルパスの項目には、保守端末300における該当のファイルのパスが登録される。
The maintenance environment collection information table 114 includes items of ID, file name, and file path. In the ID field, an ID for identifying a record is registered. In the file name field, file names indicating files such as error logs and execution environment setting information are registered. In the file path item, the path of the corresponding file in the
保守環境採取情報テーブル114に登録されるレコードの例は、運用環境採取情報テーブル112に登録されるレコードの例と同様である。
保守環境エラーメッセージテーブル115は、ID、採取情報ID、発生日時およびエラーメッセージの項目を含む。IDの項目には、レコードを識別するIDが登録される。採取情報IDの項目には、保守環境採取情報テーブル114におけるレコードのID、すなわち、採取情報IDが登録される。発生日時の項目には、採取情報IDに対応するエラーログに含まれるエラーの発生日時が登録される。エラーメッセージの項目には、エラーログに含まれるエラーの内容を示すエラーメッセージが登録される。
Examples of records registered in the maintenance environment collection information table 114 are similar to examples of records registered in the operational environment collection information table 112.
The maintenance environment error message table 115 includes the following items: ID, collection information ID, date and time of occurrence, and error message. In the ID field, an ID for identifying a record is registered. In the collection information ID field, the ID of the record in the maintenance environment collection information table 114, that is, the collection information ID is registered. The date and time of occurrence of the error included in the error log corresponding to the collection information ID is registered in the date and time of occurrence item. In the error message field, an error message indicating the content of the error included in the error log is registered.
保守環境エラーメッセージテーブル115に登録されるレコードの例は、運用環境エラーメッセージテーブルに登録されるレコードの例と同様である。
次に、情報処理装置100の処理手順を説明する。
Examples of records registered in the maintenance environment error message table 115 are similar to examples of records registered in the operational environment error message table.
Next, the processing procedure of the
図8は、情報処理装置の処理例を示すフローチャートである。
(S10)エラー解析部130は、運用端末200においてロボット220による操作対象システム400に対する処理でエラーが発生すると、運用端末200のエラー時の採取情報を取得する。採取情報は、実行中にエラーが発生したロボット220のロボットIDを含む。エラー解析部130は、採取情報を記憶部110に格納する。すなわち、エラー解析部130は、採取情報に含まれるエラーログや環境情報を、運用環境採取情報テーブル112に登録する。また、エラー解析部130は、エラーログに含まれるエラーメッセージを、運用環境エラーメッセージテーブル113に登録する。
FIG. 8 is a flowchart illustrating a processing example of the information processing device.
(S10) When an error occurs in the processing of the
(S11)ロボット管理部120は、保守端末300に対して運用端末200のエラー発生対象ロボットと同一ロボットの実行を指示する。すなわち、ロボット管理部120は、ステップS10で取得された採取情報に対応するロボットIDと同一のロボットIDのロボット320の実行を、保守端末300に指示する。ロボット管理部120は、ロボット管理テーブル111に基づいて、該当のロボットIDに対応するロボットプロセス情報を保守端末300に提供してもよい。ロボット管理部120は、提供したロボットプロセス情報に基づき、当該ロボットIDに対応するロボット320による、操作対象システム400に対する処理を実行させてもよい。
(S11) The
ここで、ロボット220とロボット320とは、同一のロボットIDに対応するロボットである。ロボット220とロボット320とは、操作対象システム400に対し、同様の手順で処理を行うことが期待される。
Here, the
なお、ステップS11における保守端末300に対するロボット320の実行指示は、例えば保守者により保守端末300が操作されることで行われてもよい。
(S12)エラー解析部130は、保守端末300におけるロボット320の実行中にエラーが発生したか否かを判定する。エラーが発生した場合、エラー解析部130は、ステップS13に処理を進める。エラーが発生しなかった場合、エラー解析部130は、ステップS17に処理を進める。例えば、エラー解析部130は、ロボット320の実行中のエラーの発生有無の通知を保守端末300から受信し、当該通知に基づいてステップS12の判定を行う。
Note that the execution instruction of the
(S12) The
(S13)エラー解析部130は、保守端末300におけるエラーメッセージを採取する。例えば、エラー解析部130は、保守端末300における採取情報を取得し、採取情報からエラーメッセージを採取する。エラー解析部130は、採取情報を記憶部110に格納する。すなわち、エラー解析部130は、採取情報に含まれるエラーログや環境情報を、保守環境採取情報テーブル114に登録する。また、エラー解析部130は、エラーログに含まれるエラーメッセージを、保守環境エラーメッセージテーブル115に登録する。
(S13) The
(S14)エラー解析部130は、運用端末200で採取したエラーメッセージと、保守端末300で採取したエラーメッセージとを比較する。
(S15)エラー解析部130は、ステップS14の比較の結果、運用端末200で採取したエラーメッセージと、保守端末300で採取したエラーメッセージとに差分があるか否かを判定する。差分がない場合、エラー解析部130は、ステップS16に処理を進める。差分がある場合、エラー解析部130は、ステップS17に処理を進める。
(S14) The
(S15) The
(S16)エラー解析部130は、エラー原因を操作対象システム400の変更と特定する。エラー解析部130は、特定したエラー原因を示す情報を出力する。そして、情報処理装置100の処理が終了する。
(S16) The
(S17)エラー解析部130は、エラー原因を環境差異、すなわち、ロボット220の実行環境の設定情報とロボット320の実行環境の設定情報との相違と特定する。保守端末300では、ロボット320の実行環境について、ロボット320に対する動作確認済の設定情報、すなわち、元の設定情報を保持する。したがって、ロボット220の実行環境の設定情報とロボット320の実行環境の設定情報との相違は、ロボット220の実行環境の設定情報が、元の設定情報と異なることを意味する。例えば、当該相違は、運用者が運用端末200の実行環境の設定情報を変更することで発生し得る。エラー解析部130は、特定したエラー原因を示す情報を出力する。そして、情報処理装置100の処理が終了する。
(S17) The
なお、運用端末200から取得される採取情報は、複数のエラーメッセージを含み得る。この場合、エラー解析部130は、当該複数のエラーメッセージそれぞれに対して、ステップS14以降の手順を実行することで、複数のエラーメッセージそれぞれで示されるエラーの原因の切り分けを行ってもよい。
Note that the collected information obtained from the
また、保守端末300から取得される採取情報が複数のエラーメッセージを含むこともある。この場合、エラー解析部130は、保守端末300で採取された複数のエラーメッセージそれぞれについて、ステップS14以降の手順を繰り返し実行し、運用端末200で採取されたエラーメッセージと比較することで、エラーの原因の切り分けを行ってもよい。例えば、エラー解析部130は、運用端末200で採取されたエラーメッセージが保守端末300で採取された複数のエラーメッセージの何れかと一致すれば、運用端末200で採取された当該エラーメッセージのエラー原因を、操作対象システムの変更と特定する。また、エラー解析部130は、運用端末200で採取されたエラーメッセージが保守端末300で採取された複数のエラーメッセージの何れにも一致しなければ、運用端末200で採取された当該エラーメッセージのエラー原因を、環境差異と特定する。
Furthermore, the collected information acquired from the
例えば、エラー解析部130は、運用環境エラーメッセージテーブル113と、保守環境エラーメッセージテーブル115との比較に対して、次のようにエラー原因を切り分ける。すなわち、エラー解析部130は、運用環境エラーメッセージテーブル113のID「1,3」のエラーメッセージを、操作対象システム400の変更に起因するエラーであると判定する。運用環境エラーメッセージテーブル113のID「1,3」のエラーメッセージは、保守環境エラーメッセージテーブル115に同じものが存在するからである。また、エラー解析部130は、運用環境エラーメッセージテーブル113のID「2」のエラーメッセージを、運用端末200の環境相違に起因するエラーであると判定する。運用環境エラーメッセージテーブル113のID「2」のエラーメッセージは、保守環境エラーメッセージテーブル115に同じものが存在しないからである。
For example, when comparing the operating environment error message table 113 and the maintenance environment error message table 115, the
エラー解析部130は、ステップS16,S17において、エラー原因を示す情報を、ディスプレイ61に表示させてもよいし、保守端末300に送信してもよい。例えば、保守者は、エラー原因を確認し、エラー原因で示される原因箇所、すなわち、運用端末200または操作対象システム400に対するエラー原因の詳細調査を開始することができる。このように、情報処理装置100は、エラー原因の最初の段階の切り分け、すなわち、一次切り分けに用いられる。
The
図9は、エラー原因の一次切り分けの例を示す図である。
運用者は、運用端末200を用いて、ロボット220による操作対象システム400に対する操作を実行させる。ロボット220による操作対象システム400に対する操作でエラーが発生すると、ロボット220は、採取情報230を記憶部210に出力する。採取情報230は、例えば、エラーログ231、環境情報232およびエラーメッセージ233を含む。運用者は、運用端末200を用いて、保守者の電子メールアドレスを宛先とする電子メールなどにより、採取情報230を送付する(ステップST10)。
FIG. 9 is a diagram illustrating an example of primary isolation of the cause of an error.
The operator uses the
保守者は、保守端末300を用いて、保守者の電子メールアドレスに送付された採取情報230を取得する。保守者は、保守端末300を用いて、情報処理装置100に採取情報230を登録する。すなわち、情報処理装置100は、保守端末300から採取情報230を取得する。そして、情報処理装置100は、採取情報230に含まれるエラーログ231や環境情報232を、運用環境採取情報テーブル112に登録する。また、情報処理装置100は、採取情報230に含まれるエラーメッセージ233を運用環境エラーメッセージテーブル113に登録する。
The maintenance person uses the
保守者は、運用端末200でのロボット220のエラー発生を受け付けると、保守端末300を用いて、ロボット320による操作対象システム400に対する操作を実行させる。前述のように、ロボット320は、ロボット220と同一のロボットIDに対応する。ロボット320による操作対象システム400に対する操作でエラーが発生すると、ロボット320は、採取情報330を記憶部310に出力する。採取情報330は、例えば、エラーログ331、環境情報332およびエラーメッセージ333を含む。こうして、保守者は、保守端末300を用いて、採取情報330を採取する(ステップST11)。
When the maintenance person receives the occurrence of an error in the
なお、前述のように、ロボット320でエラーが発生しなかった場合、情報処理装置100は、ロボット320でエラーが発生しなかったことを検出し、運用端末200で発生したエラーの原因が、ロボット220の実行環境の設定にあると特定する。
Note that, as described above, if no error occurs in the
保守者は、保守端末300を用いて、情報処理装置100に採取情報330を登録する。すなわち、情報処理装置100は、保守端末300から採取情報330を取得する。そして、情報処理装置100は、採取情報330に含まれるエラーログ331や環境情報332を、保守環境採取情報テーブル114に登録する。また、情報処理装置100は、採取情報330に含まれるエラーメッセージ333を保守環境エラーメッセージテーブル115に登録する。
A maintenance person uses the
情報処理装置100は、運用環境エラーメッセージテーブル113にエラーメッセージ233が登録され、保守環境エラーメッセージテーブル115にエラーメッセージ333が登録されると、エラーメッセージ233,333を比較する。情報処理装置100は、エラーメッセージ233,333の比較に応じてエラー原因を切り分ける(ステップST12)。前述のように、情報処理装置100は、エラーメッセージ233とエラーメッセージ333とが同一であれば、操作対象システム400の変更がエラー原因であると特定する。一方、情報処理装置100は、エラーメッセージ233とエラーメッセージ333とが異なっていれば、運用端末200におけるロボット220の実行環境の設定の変更がエラー原因であると特定する。そして、情報処理装置100は、特定したエラー原因を示す情報を出力する。
When the
このように、情報処理装置100は、ロボット220の実行中に発生したエラーの原因の一次切り分けを効率的に行える。例えば、情報処理装置100は、エラー原因の切り分けのために、環境情報232と環境情報332との比較および操作対象システム400における変更内容の両方の調査を保守者に強いずに済む。また、情報処理装置100は、エラー原因でない箇所に対する余計な調査を省ける。すなわち、情報処理装置100は、保守者によるエラー原因の詳細調査の対象箇所を絞り込むことができ、当該対象箇所に注力して詳細調査が行われるように支援できる。
In this way, the
[第3の実施の形態]
次に、第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
[Third embodiment]
Next, a third embodiment will be described. The points that are different from the second embodiment described above will be mainly explained, and the explanations of the common points will be omitted.
第3の実施の形態では、情報処理装置100が運用端末200からの採取情報の受信を待ち受け、運用端末200からの採取情報の受信を契機に、エラー原因の切り分けを自動的に行う機能を提供する。
The third embodiment provides a function in which the
図10は、第3の実施の形態の情報処理装置の処理例を示すフローチャートである。
第3の実施の形態では、情報処理装置100がステップS10に代えてステップS10aを実行し、ステップS11に代えてステップS11aを実行する点が、図8で例示した第2の実施の形態のフローチャートと異なる。以下では、ステップS10a,S11aが説明され、ステップS12~S17の説明は省略される。
FIG. 10 is a flowchart showing a processing example of the information processing apparatus according to the third embodiment.
In the third embodiment, the
(S10a)エラー解析部130は、運用端末200のエラー時の採取情報を受信したか否かを判定する。当該採取情報を受信した場合、エラー解析部130は、当該採取情報を記憶部110に格納し、ステップS11aに処理を進める。当該採取情報を受信しない場合、エラー解析部130は、ステップS10aに処理を進め、採取情報の受信を待ち受ける。
(S10a) The
(S11a)ロボット管理部120は、保守端末300に対して運用端末200のエラー発生対象ロボットと同一ロボットの実行を指示する。すなわち、ロボット管理部120は、ステップS10aで取得された採取情報に対応するロボットIDと同一のロボットIDのロボット320の実行を、保守端末300に指示する。ロボット管理部120は、ロボット管理テーブル111に基づいて、該当のロボットIDに対応するロボットプロセス情報を保守端末300に提供してもよい。ロボット管理部120は、提供したロボットプロセス情報に基づき、当該ロボットIDに対応するロボット320による、操作対象システム400に対する処理を実行させてもよい。そして、ロボット管理部120は、ステップS12に処理を進める。
(S11a) The
このように、情報処理装置100は、運用端末200からの採取情報の受信を契機に、エラー原因を切り分ける処理を開始してもよい。
図11は、エラー原因の一次切り分けの例を示す図である。
In this way, the
FIG. 11 is a diagram illustrating an example of primary isolation of error causes.
運用者は、運用端末200を用いて、ロボット220による操作対象システム400に対する操作を実行させる。ロボット220による操作対象システム400に対する操作でエラーが発生すると、ロボット220は、採取情報230を記憶部210に出力する。採取情報230は、例えば、エラーログ231、環境情報232およびエラーメッセージ233を含む。運用端末200は、採取情報230を情報処理装置100に送信する(ステップST20)。
The operator uses the
例えば、運用端末200は、例えば保守者の電子メールアドレスを宛先とする電子メールにより採取情報230を送信してもよい。当該電子メールは、エラーが発生したロボットのロボットIDを含む。この場合、情報処理装置100は、当該電子メールを受信することで、採取情報230を取得してもよい。例えば、情報処理装置100は、当該電子メールを受信するメールサーバから、当該電子メールを受信した旨の通知を受け付け、通知に応じてメールサーバから採取情報230を含む電子メールを取得してもよい。例えば、運用端末200は、ロボット220のエラーを示す特定の識別情報を電子メールに挿入してもよい。このようにすると、メールサーバは、当該特定の識別情報の検出に応じて、採取情報230を含む電子メールを受信した旨の情報処理装置100への通知を行うことができる。
For example, the
情報処理装置100は、採取情報230に含まれるエラーログ231や環境情報232を、運用環境採取情報テーブル112に登録する。また、情報処理装置100は、採取情報230に含まれるエラーメッセージ233を運用環境エラーメッセージテーブル113に登録する。
The
情報処理装置100は、電子メールなどの通知に含まれるロボットIDに対応するロボット320の実行を保守端末300に指示する(ステップST21)。前述のように、ロボット320は、ロボット220と同一のロボットIDに対応する。保守端末300は、情報処理装置100の指示を受け付けると、ロボット320による操作対象システム400に対する処理を実行する。
The
ロボット320による操作対象システム400に対する操作でエラーが発生すると、ロボット320は、採取情報330を記憶部310に出力する。採取情報330は、例えば、エラーログ331、環境情報332およびエラーメッセージ333を含む。保守端末300は、採取情報330を情報処理装置100に送信する。こうして、情報処理装置100は、保守端末300を用いて、採取情報330を採取する(ステップST22)。
When an error occurs in the operation of the
なお、前述のように、ロボット320でエラーが発生しなかった場合、情報処理装置100は、保守端末300からの通知に基づいて、ロボット320でエラーが発生しなかったことを検出する。そして、情報処理装置100は、当該検出に基づいて、運用端末200で発生したエラーの原因が、ロボット220の実行環境の設定にあると特定する。
Note that, as described above, when no error occurs in the
情報処理装置100は、採取情報330に含まれるエラーログ331や環境情報332を、保守環境採取情報テーブル114に登録する。また、情報処理装置100は、採取情報330に含まれるエラーメッセージ333を保守環境エラーメッセージテーブル115に登録する。
The
情報処理装置100は、運用環境エラーメッセージテーブル113にエラーメッセージ233が登録され、保守環境エラーメッセージテーブル115にエラーメッセージ333が登録されると、エラーメッセージ233,333を比較する。情報処理装置100は、エラーメッセージ233,333の比較に応じてエラー原因を切り分ける(ステップST23)。情報処理装置100は、エラーメッセージ233とエラーメッセージ333とが同一であれば、操作対象システム400の変更がエラー原因であると特定する。一方、情報処理装置100は、エラーメッセージ233とエラーメッセージ333とが異なっていれば、運用端末200におけるロボット220の実行環境の設定の変更がエラー原因であると特定する。そして、情報処理装置100は、特定したエラー原因を示す情報を出力する。
When the
このように、情報処理装置100は、ロボット220の実行中に発生したエラーの原因の一次切り分けを効率的に行える。例えば、情報処理装置100は、エラー原因の切り分けのために、環境情報232と環境情報332との比較および操作対象システム400における変更内容の調査を保守者に強いずに済む。また、情報処理装置100は、エラー原因でない箇所に対する余計な調査を省ける。すなわち、情報処理装置100は、保守者によるエラー原因の詳細調査の対象箇所を絞り込むことができ、当該対象箇所に注力して詳細調査が行われるように支援できる。
In this way, the
特に、情報処理装置100は、採取情報230の受信を契機として、エラー原因の切り分けを自動的に実行する。このため、情報処理装置100は、エラー原因の切り分けに伴う保守者の操作を省くことができ、エラー原因の切り分けを一層効率化できる。
In particular, upon receiving the collected
[第4の実施の形態]
次に、第4の実施の形態を説明する。前述の第2,第3の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
[Fourth embodiment]
Next, a fourth embodiment will be described. Items that are different from the second and third embodiments described above will be mainly described, and descriptions of common items will be omitted.
第4の実施の形態では、情報処理装置100は、保守端末300で実行されるロボット320による処理の一部をスキップ可能にする。これにより、情報処理装置100は、操作対象システム400に対するデータ更新の処理が、ロボット220の同処理と重複して行われることを回避可能にする。
In the fourth embodiment, the
図12は、ロボットプロセスの例を示す図である。
ロボットプロセス500は、ロボット320による操作対象システム400に対する処理手順を示す。ロボットプロセス500は、ロボットプロセス情報により定義される。
FIG. 12 is a diagram illustrating an example of a robot process.
The robot process 500 shows a processing procedure for the
例えば、ロボットプロセス500は、ロボットプロセス前処理、プロセス処理P1、プロセス処理P2、…、データ更新処理U1、データ更新処理U2、…、データ更新処理UN、…のステップを含む。ロボットプロセス前処理は、ロボットプロセスの設定情報、すなわち、ロボットプロセス情報の読み込みなどの処理である。データ更新処理U1,U2,…,UNそれぞれは、操作対象システム400に対する新規データの追加、既存データの更新、および、既存データの削除などである。
For example, the robot process 500 includes the steps of robot process pre-processing, process processing P1, process processing P2, . . . , data update processing U1, data update processing U2, . . . , data update processing UN, . Robot process preprocessing is processing such as reading robot process setting information, that is, robot process information. Each of the data update processes U1, U2, ..., UN includes adding new data to the
データ更新処理をスキップ可能とするため、ロボットプロセス500は、例えばデータ更新処理U1の直前に、データ更新処理のスキップフラグがONであるか否かを判定するステップを含む。スキップフラグは、後続のデータ更新処理をスキップするか否かを制御するためのフラグである。スキップフラグ=OFFは、後続のデータ更新処理をスキップせずに実行することを示す。スキップフラグ=ONは、後続のデータ更新処理をスキップすることを示す。 In order to enable the data update process to be skipped, the robot process 500 includes a step of determining whether a skip flag for the data update process is ON, for example, immediately before the data update process U1. The skip flag is a flag for controlling whether to skip subsequent data update processing. Skip flag = OFF indicates that the subsequent data update process is executed without skipping. Skip flag=ON indicates that subsequent data update processing is skipped.
より具体的には、ロボットプロセス500は、操作対象システム400が提供するWebページを表示させる、Webページに含まれる入力フォームを選択する、当該入力フォームにデータを入力する、入力したデータを確定する、などの一連の手順を含む。例えば、入力内容を確定する確定ボタンを押下するなどの、入力フォームに入力したデータを確定する処理は、入力フォームに対応するデータ項目のデータの更新を行う処理に相当する。情報処理装置100は、スキップフラグの設定を用いることで、保守用のロボット320によって実際にデータ更新が行われることをスキップ可能にする。
More specifically, the robot process 500 displays a web page provided by the
なお、操作対象システム400に対するデータ更新処理の1つのトランザクション単位が、スキップフラグのON/OFFの判定によるスキップ対象となる。ロボットプロセス500の例では、1つのデータ更新処理のトランザクション中に複数の処理が含まれる例を記載している。ただし、例えば「データ更新ボタンを押下」などの1つの処理でデータ更新処理の実行/不実行が行われる操作については、スキップ対象の処理範囲は当該1つの処理のみとなる。また、ロボットプロセス500は、データ更新処理がロボットプロセスに複数存在している場合、各データ更新処理に対してスキップフラグを設け、データ更新処理ごとにスキップするか否かを制御する手順でもよい。あるいは、ロボットプロセス500は、複数のデータ更新処理の全体に対してスキップフラグを1つだけ設けて、複数のデータ更新処理それぞれの実行直前に、当該スキップフラグに基づいて、直後のデータ更新処理をスキップするか否かを制御する手順でもよい。
Note that one transaction unit of data update processing for the
図13は、スキップフラグテーブルの例を示す図である。
スキップフラグテーブル116は、記憶部110に格納される。スキップフラグテーブル116は、ロボットIDおよびスキップフラグの項目を含む。ロボットIDの項目には、ロボットIDが登録される。スキップフラグの項目には、スキップフラグが登録される。
FIG. 13 is a diagram showing an example of a skip flag table.
Skip flag table 116 is stored in
例えば、スキップフラグテーブル116は、ロボットID「r1」、スキップフラグ「ON」のレコードを有する。当該レコードは、ロボットID「r1」のロボットに対して、スキップフラグが「ON」であることを示す。 For example, the skip flag table 116 has a record of robot ID "r1" and skip flag "ON". This record indicates that the skip flag is "ON" for the robot with robot ID "r1".
スキップフラグテーブル116には、他のロボットIDに対応するスキップフラグも登録される。なお、前述のように、1つのロボットのロボットプロセスにおけるデータ更新処理ごとに、スキップフラグが設けられてもよい。その場合、スキップフラグテーブル116は、ロボットID、および、当該ロボットIDで識別されるロボットプロセスにおけるデータ更新処理の識別子に対応付けて、スキップフラグを保持する。 Skip flags corresponding to other robot IDs are also registered in the skip flag table 116. Note that, as described above, a skip flag may be provided for each data update process in the robot process of one robot. In that case, the skip flag table 116 holds a skip flag in association with the robot ID and the identifier of the data update process in the robot process identified by the robot ID.
次に、情報処理装置100によるスキップフラグを用いる処理手順を説明する。
図14は、第4の実施の形態の情報処理装置の処理例を示すフローチャートである。
第4の実施の形態では、情報処理装置100がステップS11とステップS12との間に、ステップS11b,S11c,S11dを実行する点が、図8で例示した第2の実施の形態のフローチャートと異なる。以下では、ステップS11b,S11c,S11dが説明され、ステップS10,S11,S12~S17の説明は省略される。ステップS11bは、ステップS11の次に実行される。
Next, a processing procedure using the skip flag by the
FIG. 14 is a flowchart showing a processing example of the information processing apparatus according to the fourth embodiment.
The fourth embodiment differs from the flowchart of the second embodiment illustrated in FIG. 8 in that the
(S11b)エラー解析部130は、スキップフラグテーブル116に基づいて、ロボット220のロボットIDに対するスキップフラグがONであるか否か、すなわち、スキップフラグ=ONであるか否かを判定する。スキップフラグがONの場合、エラー解析部130は、ステップS11cに処理を進める。スキップフラグがOFFの場合、エラー解析部130は、ステップS11dに処理を進める。
(S11b) The
(S11c)エラー解析部130は、スキップフラグ=ONを保守端末300に通知することで、ロボット320がデータ更新処理をスキップするように制御する。そして、エラー解析部130は、ステップS12に処理を進める。
(S11c) The
(S11d)エラー解析部130は、スキップフラグ=OFFを保守端末300に通知することで、ロボット320がデータ更新処理をスキップしないように制御する。そして、エラー解析部130は、ステップS12に処理を進める。
(S11d) The
なお、スキップフラグテーブル116は、前述のように、データ更新処理の識別子ごとにスキップフラグを保持してもよい。この場合、エラー解析部130は、データ更新処理の識別子ごとのスキップフラグのON/OFFに応じて、ロボット320による各データ更新処理の実行/非実行を制御する。
Note that the skip flag table 116 may hold a skip flag for each identifier of data update processing, as described above. In this case, the
また、情報処理装置100は、ステップS10,S11に代えて、第3の実施の形態で例示したステップS10a,S11aを実行してもよい。その場合、情報処理装置100は、ステップS11aの次に、ステップS11bを実行する。
Further, the
図15は、スキップフラグに応じたロボットの処理例を示す図である。
情報処理装置100は、保守端末300に対してロボット320の実行指示を通知する際、スキップフラグを実行指示に付与する。ロボット320は、スキップフラグ=OFFの場合、ロボット320のロボットプロセス500に含まれるデータ更新処理を実行する。すなわち、ロボット320は、操作対象システム400により保持されるデータを更新する。一方、ロボット320は、スキップフラグ=ONの場合、ロボット320のロボットプロセスに含まれるデータ更新処理をスキップする。すなわち、ロボット320は、エラー原因の切り分けのための操作として、操作対象システム400のGUIに対するデータ入力を行うとしても、入力したデータにより操作対象システム400で保持されるデータを更新することまではしない。
FIG. 15 is a diagram illustrating an example of robot processing according to the skip flag.
When notifying the
ここで、保守端末300のロボット320により操作対象システム400に対するデータ更新処理が行われると、操作対象システム400で保持されるデータが、運用端末200のロボット220による操作結果と異なるものとなる可能性がある。この場合、ロボット220による本番の運用処理に対して、操作対象システム400で保持されるデータが不整合あるいは矛盾を来し、本番の運用処理に悪影響を及ぼすことがある。そこで、情報処理装置100は、保守用のロボット320によるデータ更新処理を、スキップフラグによりスキップ可能にすることで、ロボット320の実行による本番の運用処理への影響を抑えることができる。
Here, when the
第2~第4の実施の形態で例示したように、情報処理装置100は、エラー原因の切り分けを効率化することができる。
ところで、RPAシステムあるいはRPAロボットの運用・保守を行う際に、ロボットで発生するエラーの原因に関して以下の点が問題となる。
As illustrated in the second to fourth embodiments, the
By the way, when operating and maintaining an RPA system or RPA robot, the following points arise regarding the causes of errors that occur in the robot.
第1の問題は、環境差異による問題である。
すなわち、ロボットのプロセスは同一であるにもかかわらず、保守環境と運用環境の設定差異、およびロボットにより操作するアプリケーションやWebサイトなどのシステムの設定差異により、ロボットの実行結果が保守環境と運用環境とで異なる場合がある。保守環境は、ロボットの開発環境と同じでもよい。開発環境におけるロボットの実行環境の設定内容は、保守環境におけるロボットの実行環境の設定内容と同じとなる。
The first problem is due to environmental differences.
In other words, even though the robot processes are the same, the execution results of the robot differ between the maintenance environment and the operation environment due to differences in settings between the maintenance environment and the operation environment, as well as differences in the settings of the systems such as applications and websites operated by the robot. It may be different. The maintenance environment may be the same as the robot development environment. The settings of the robot execution environment in the development environment are the same as the settings of the robot execution environment in the maintenance environment.
また、ロボットの開発者と保守者と運用者と保守環境および運用環境の設定を同一化し、運用環境の運用を開始したとしても、運用開始後に、ロボットを利用するユーザ(運用者)が意図しないタイミングで運用環境を変更することもある。この場合、当初正常に稼働していたロボットにおいてエラーが突然発生する場合がある。 In addition, even if the developer, maintainer, and operator of the robot have the same settings for the maintenance environment and the operating environment, and start operating the operating environment, after the start of operation, the user (operator) using the robot may The operating environment may change from time to time. In this case, an error may suddenly occur in a robot that was initially operating normally.
上記の運用環境の設定変更は、ユーザがロボットへの影響有無を判断できずに変更することもある。例えば、ロボット実行時の影響とは直接影響がないように判断される設定箇所はユーザにより変更され易い。当該設定箇所に起因するエラー事例としては、Windows(登録商標) OSのフォルダエクスプローラーの設定において、「ファイル名拡張子」の表示有無の設定により、ロボットの挙動が変わってしまうという事象が挙げられる。こうしたユーザによる変更箇所は、ユーザから直接確認することが困難であり、ロボットのエラー原因箇所の調査が難航することがある。 The user may not be able to determine whether or not the change will affect the robot when changing the settings of the operating environment described above. For example, settings that are determined to have no direct effect on robot execution are likely to be changed by the user. An example of an error caused by the setting location is a phenomenon in which the behavior of the robot changes depending on whether or not to display a "file name extension" in the folder explorer settings of the Windows (registered trademark) OS. It is difficult for the user to directly confirm such changes made by the user, and it may be difficult to investigate the cause of an error in the robot.
第2の問題は、操作対象システム400の変更による問題である。
ロボットの操作対象となる操作対象システム400の設定は、RPAシステムの運用者やロボット利用者以外の第三者が変更を加える場合もある。そのため、意図しないタイミングでロボットの処理に影響がある設定変更が行われ、結果的にロボットの処理でエラーが生じる場合もある。操作対象システム400の変更に対してエラー回避を行うことは、RPA製品のユーザによるシステム運用、ロボット保守方法改善およびRPA製品機能で対応することは難しい。
The second problem is a problem caused by a change in the
The settings of the
例えば、上記の第1の問題に対して次の第1,第2,第3の対処が考えられるが、何れの対処も別の問題を生じさせる。
第1の対処は、ロボット開発時の設計および利用/運用条件の事前定義による対処である。すなわち、ロボットの開発時において、予めロボット利用時の前提条件として、ロボットのプロセスの挙動に影響がある設定情報を洗い出し、当該設定情報を本番運用時に変更しないように運用条件として事前定義することが考えられる。
For example, the following first, second, and third solutions may be considered for the first problem, but each solution causes another problem.
The first measure is to predefine the design and usage/operation conditions during robot development. In other words, when developing a robot, as a prerequisite for using the robot, it is possible to identify setting information that affects the behavior of the robot's processes, and to predefine the setting information as an operating condition so that it will not be changed during actual operation. Conceivable.
しかし、RPAのロボットの自動化対象、すなわち、操作対象は、一般的に端末の画面上で操作可能な対象全般に亘る。このため、影響範囲および設定可能となる設定範囲が膨大であり、事前の洗い出しが困難となる。また、端末の設定のみならず、操作対象とするシステムに関して端末が保持する内部設定を含めると、設定情報の洗い出し対象がより増加し、設定情報の洗い出しが一層困難になる。 However, the objects to be automated by the RPA robot, that is, the objects to be operated, generally cover all objects that can be operated on the screen of a terminal. For this reason, the influence range and the setting range that can be set are enormous, making it difficult to identify them in advance. Furthermore, if not only the settings of the terminal but also the internal settings held by the terminal regarding the system to be operated are included, the number of setting information items to be identified increases, making it even more difficult to identify the setting information.
第2の対処は、ロボット専用端末を手配し、当該端末でロボットを利用する対処である。すなわち、運用環境としてRPAのロボット専用の端末を手配し、当該端末でロボットを利用することで、運用段階でのユーザの意図しない環境設定変更による影響を抑える。 The second solution is to arrange a robot-dedicated terminal and use the robot on that terminal. That is, by arranging a dedicated terminal for the RPA robot as an operational environment and using the robot on that terminal, the influence of unintentional changes in environment settings by the user during the operational stage can be suppressed.
しかし、RPAは、事務作業などの定型業務の自動化を対象とし、かつ事務作業の一部または全部を対象とするケースが多く、ロボットの配備環境もエンドユーザの端末となるケースが多いため、本対処が取れない場合が多い。ユーザのRPAシステムの運用コストが増大するためである。また、運用段階でのユーザの意図しない環境設定変更を完全に防ぐことはできない。 However, RPA targets the automation of routine tasks such as office work, and in many cases targets part or all of the office work, and the environment in which the robot is deployed is often the end user's terminal. There are many cases where no action can be taken. This is because the operating cost of the user's RPA system increases. Furthermore, it is not possible to completely prevent unintentional changes in environment settings by the user during the operation stage.
第3の対処は、ロボットの実行環境における設定変更を制御する対処である。すなわち、ロボットの実行環境について、ユーザもしくは他のアプリケーションなどによりロボットのプロセス動作に影響が生じる環境設定の変更が不可となるように、設定変更にロックをかける。しかし、上記のように、ロボットへの影響を生じさせる設定情報は膨大であり、当該設定情報を全て洗い出した上で、設定変更をロックすることは困難である。 The third measure is to control settings changes in the robot's execution environment. That is, with respect to the execution environment of the robot, changes in the settings are locked so that the user or other applications cannot change the environment settings that would affect the process operations of the robot. However, as described above, there is a huge amount of setting information that affects the robot, and it is difficult to identify all of the setting information and then lock setting changes.
また、上記の第2の問題に対して、次の第4,第5の対処が考えられるが、何れの対処も別の問題を生じさせる。
第4の対処は、ロボット開発時の設計および利用・運用条件の事前定義による対処である。例えば、社内システムや端末上で動作するデスクトップアプリケーションについては、設定ファイルに対する設定変更状況を社内の統合監視サーバにより監視し得る。
Further, the following fourth and fifth solutions can be considered for the above-mentioned second problem, but each solution causes another problem.
The fourth measure is to predefine the design and usage/operation conditions during robot development. For example, for a desktop application running on an in-house system or a terminal, an in-house integrated monitoring server can monitor the status of configuration changes to a configuration file.
しかし、操作対象システム400が社外システムである場合など、第三者が管理しており、随時設定変更、バージョンアップまたは仕様変更が行われるシステムである場合は、社内の統合監視サーバにより対処することはできない。
However, if the
第5の対処は、操作対象システム400のバージョンアップや仕様変更などの変更の監視による対処である。すなわち、操作対象システム400の変更を監視し、当該変更が生じる場合、適宜ロボットプロセス情報を修正することで、エラー発生を抑えることが考えられる。
The fifth measure is to monitor changes such as version upgrades and specification changes of the
しかし、RPAでは操作対象システム400となり得る外部システムや外部サイトは多種多様であり、自動化対象とするロボット数の増加に応じて、監視対象が膨大となる。このため、全てのシステムに対して監視を行うことは困難である。また、監視自体は可能であるが、RPAロボット動作時の影響まで検出できるわけではない。
However, in RPA, there are a wide variety of external systems and external sites that can become the
このように、運用端末200におけるロボット220でのエラー発生を完全に防ぐことは難しい。
そこで、情報処理装置100は、運用端末200で発生したエラーメッセージと、保守端末300で発生したエラーメッセージとの比較により、ロボット220でのエラー発生時におけるエラー原因の切り分けを効率的に行う。その結果、情報処理装置100は、保守者などによるエラー原因箇所を絞り込んだ調査を迅速に行えるように支援できる。保守者は、エラー原因の詳細な調査により、ロボット220のロボットプロセス情報における問題箇所を特定し、ロボットプロセス情報を修正する。こうして、情報処理装置100は、RPAのロボット220の効率的な保守を支援できる。
As described above, it is difficult to completely prevent errors from occurring in the
Therefore, the
以上で説明したように、情報処理装置100は例えば次の処理を実行する。
エラー解析部130は、第1の装置により処理対象システムに対する処理を実行した際のエラーを示す第1のエラー情報を取得する。エラー解析部130は、第1のエラー情報と、当該処理の実行に影響する設定情報(第1の設定情報)が設定された第2の装置または情報処理装置100(自装置)により当該処理を実行した際のエラーを示す第2のエラー情報との比較の結果に基づいて、第1のエラー情報により示されるエラーが、第1の装置により保持される設定情報(第2の設定情報)が第2の装置または情報処理装置100に設定された設定情報と異なることに起因するエラーであるか、または、処理対象システムの変更に起因するエラーであるかを判定する。
As explained above, the
The
これにより、情報処理装置100は、エラー原因の切り分けを効率化できる。例えば、情報処理装置100は、第1の装置での処理中に発生したエラーの原因の一次切り分けを効率的に行える。情報処理装置100は、エラー原因の切り分けのために、例えば環境情報232と環境情報332との比較および操作対象システム400における変更内容の両方の調査を保守者に強いずに済む。また、情報処理装置100は、エラー原因でない箇所に対する余計な調査を省ける。すなわち、情報処理装置100は、保守者によるエラー原因の詳細調査の対象箇所を絞り込むことができ、当該対象箇所に注力して詳細調査が行われるように支援できる。
Thereby, the
運用端末200は、第1の装置の一例である。保守端末300は、第2の装置の一例である。操作対象システム400は、処理対象システムの一例である。RPAを実現するソフトウェアによるロボットの処理は、第1の装置が実行する処理および第2の装置が実行する処理の一例である。ただし、処理対象システムに対する処理は、RPA以外のソフトウェアによる処理でもよい。なお、情報処理装置100は、保守端末300の機能を有してもよい。あるいは、保守端末300が情報処理装置100の機能を有してもよい。すなわち、情報処理装置100および保守端末300の機能は、1つの情報処理装置あるいは1つのコンピュータにより実現されてもよい。
エラー解析部130は、第1のエラー情報と第2のエラー情報とが異なる場合に、第1のエラー情報により示されるエラーが、第1の装置により保持される設定情報が第2の装置または情報処理装置100に設定された設定情報と異なることに起因するエラーであると判定する。エラー解析部130は、第1のエラー情報と第2のエラー情報とが同じである場合に、第1のエラー情報により示されるエラーが、処理対象システムの変更に起因するエラーであると判定する。
If the first error information and the second error information are different, the
これにより、情報処理装置100は、エラー原因の切り分けを適切に行える。
エラー解析部130は、第1の装置から第1のエラー情報を受信すると、第2の装置により処理対象システムに対する処理を実行させ、第2の装置から第2のエラー情報を受信する、または、情報処理装置100により処理を実行することで第2のエラー情報を取得する。
Thereby, the
Upon receiving the first error information from the first device, the
このように、情報処理装置100は、第1の装置でのエラー発生に応じて、エラー原因の切り分けを自動的に行うことで、例えば、保守者によるエラー原因の切り分けのための作業を省力化できる。また、情報処理装置100は、原因箇所に対するエラー原因の詳細調査を保守者が迅速に開始できるよう支援できる。
In this way, the
第2の装置または情報処理装置100が処理対象システムに対して実行する処理は、複数のステップを含む。エラー解析部130は、第2の装置または情報処理装置100が当該処理を実行する際に、複数のステップのうち処理対象システムに対するデータ更新のステップをスキップさせる。
The process that the second device or the
これにより、情報処理装置100は、第1の装置により行われた処理に対して、処理対象システムが保持するデータの不整合や矛盾が発生することを抑えられる。ロボットプロセス500で例示した、ロボットプロセス前処理、プロセス処理P1,P2,…、および、データ更新処理U1,U2,…,UNは、複数のステップの一例である。
Thereby, the
また、エラー解析部130は、第2の装置または情報処理装置100により処理対象システムに対する処理を実行した際にエラーが発生しない場合、第1のエラー情報により示されるエラーが、第1の装置により保持される設定情報が第2の装置または情報処理装置100に設定された設定情報と異なることに起因するエラーであると判定する。
Furthermore, if an error does not occur when the second device or the
これにより、情報処理装置100は、エラー原因の切り分けを効率化できる。
また、第1のエラー情報は、複数のエラーを示してもよい。エラー解析部130は、第1のエラー情報と第2のエラー情報との比較の結果に基づいて、当該複数のエラーそれぞれが、第1の装置が保持する設定情報が第2の装置または情報処理装置100に設定された設定情報と異なることに起因するエラーであるか、または、処理対象システムの変更に起因するエラーであるかを判定してもよい。
Thereby, the
Further, the first error information may indicate multiple errors. Based on the result of the comparison between the first error information and the second error information, the
これにより、情報処理装置100は、第1のエラー情報に含まれる複数のエラーに対して、エラー原因の切り分けを効率化できる。
前述のように、第1の装置および第2の装置それぞれが処理対象システムに対して実行する処理は、RPAのロボットの処理でもよい。情報処理装置100は、RPAを実現するソフトウェアのように、多様なシステムが処理対象となったり、実行環境における種々の設定情報の影響を受けたりするソフトウェアのエラー原因の切り分けに、特に有用である。
Thereby, the
As described above, the processing that each of the first device and the second device executes on the processing target system may be RPA robot processing. The
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2~第4の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体63に記録できる。
Note that the information processing in the first embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体63を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体63に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
10 情報処理装置
11 記憶部
12 処理部
20 第1の装置
21 設定情報
22 第1のエラー情報
30 第2の装置
31 元の設定情報
32 第2のエラー情報
40 処理対象システム
50 ネットワーク
10
Claims (9)
第1の装置により処理対象システムに対する処理を実行した際のエラーを示す第1のエラー情報を取得し、
前記第1のエラー情報と、前記処理の実行に影響する設定情報が設定された第2の装置により前記処理を実行した際のエラーを示す第2のエラー情報との比較の結果に基づいて、前記第1のエラー情報により示されるエラーが、前記第1の装置により保持される設定情報が前記第2の装置に設定された設定情報と異なることに起因するエラーであるか、または、前記処理対象システムの変更に起因するエラーであるかを判定する、
処理を実行させる判定プログラム。 to the computer,
obtaining first error information indicating an error when the first device executes processing on the processing target system;
Based on the result of a comparison between the first error information and second error information indicating an error when the process is executed by a second device configured with setting information that affects the execution of the process, The error indicated by the first error information is an error caused by the setting information held by the first device being different from the setting information set in the second device, or the error indicated by the process Determine whether the error is caused by a change in the target system.
Judgment program that executes processing.
前記第1のエラー情報と前記第2のエラー情報とが異なる場合に、前記第1のエラー情報により示されるエラーが、前記第1の装置により保持される設定情報が前記第2の装置に設定された設定情報と異なることに起因するエラーであると判定し、
前記第1のエラー情報と前記第2のエラー情報とが同じである場合に、前記第1のエラー情報により示されるエラーが、前記処理対象システムの変更に起因するエラーであると判定する、
処理を前記コンピュータに実行させる請求項1記載の判定プログラム。 In the above judgment,
If the first error information and the second error information are different, the error indicated by the first error information is caused by the setting information held by the first device being set in the second device. It is determined that the error is caused by a difference from the configured setting information, and
If the first error information and the second error information are the same, determining that the error indicated by the first error information is an error caused by a change in the processing target system;
The determination program according to claim 1, which causes the computer to execute the process.
前記第2の装置により前記処理対象システムに対する前記処理を実行させ、前記第2の装置から前記第2のエラー情報を取得する、
処理を前記コンピュータに実行させる請求項1記載の判定プログラム。 Upon receiving the first error information from the first device,
causing the second device to execute the process on the processing target system, and acquiring the second error information from the second device;
The determination program according to claim 1, which causes the computer to execute the process.
前記第2の装置が前記処理を実行する際に、前記複数のステップのうち前記処理対象システムに対するデータ更新のステップをスキップさせる、
処理を前記コンピュータに実行させる請求項1記載の判定プログラム。 The processing executed by each of the first device and the second device includes a plurality of steps,
when the second device executes the process, skips a step of updating data for the processing target system among the plurality of steps;
The determination program according to claim 1, which causes the computer to execute the process.
処理を前記コンピュータに実行させる請求項1記載の判定プログラム。 If no error occurs when the second device executes the process, the error indicated by the first error information is determined by the setting information held by the first device being set in the second device. It is determined that the error is caused by a difference from the configured setting information.
The determination program according to claim 1, which causes the computer to execute the process.
前記第1のエラー情報と前記第2のエラー情報との比較の結果に基づいて、前記複数のエラーそれぞれが、前記第1の装置により保持される設定情報が前記第2の装置に設定された設定情報と異なることに起因するエラーであるか、または、前記処理対象システムの変更に起因するエラーであるかを判定する、
処理を前記コンピュータに実行させる請求項1記載の判定プログラム。 the first error information indicates a plurality of errors;
Based on the result of the comparison between the first error information and the second error information, each of the plurality of errors causes setting information held by the first device to be set in the second device. determining whether the error is due to a difference from the setting information or the error is due to a change in the processing target system;
The determination program according to claim 1, which causes the computer to execute the process.
請求項1記載の判定プログラム。 The processing executed by each of the first device and the second device is RPA (Robotic Process Automation) robot processing,
The determination program according to claim 1.
第1の装置により処理対象システムに対する処理を実行した際のエラーを示す第1のエラー情報を取得し、
前記第1のエラー情報と、前記処理の実行に影響する設定情報が設定された第2の装置により前記処理を実行した際のエラーを示す第2のエラー情報との比較の結果に基づいて、前記第1のエラー情報により示されるエラーが、前記第1の装置により保持される設定情報が前記第2の装置に設定された設定情報と異なることに起因するエラーであるか、または、前記処理対象システムの変更に起因するエラーであるかを判定する、
判定方法。 The computer is
obtaining first error information indicating an error when the first device executes processing on the processing target system;
Based on the result of a comparison between the first error information and second error information indicating an error when the process is executed by a second device configured with setting information that affects the execution of the process, The error indicated by the first error information is an error caused by the setting information held by the first device being different from the setting information set in the second device, or the error indicated by the process Determine whether the error is caused by a change in the target system.
Judgment method.
前記第1のエラー情報と前記第2のエラー情報との比較の結果に基づいて、前記第1のエラー情報により示されるエラーが、前記第1の装置により保持される設定情報が前記第2の装置または自装置に設定された設定情報と異なることに起因するエラーであるか、または、前記処理対象システムの変更に起因するエラーであるかを判定する処理部と、
を有する情報処理装置。 First error information indicating an error when the first device executes a process for the processing target system; and a second device to which setting information that affects the execution of the process is set, or a second device to which the setting information is set. a storage unit that stores second error information indicating an error when the process is executed by the own device;
Based on the result of the comparison between the first error information and the second error information, it is determined that the error indicated by the first error information is caused by the configuration information held by the first device being a processing unit that determines whether the error is due to a difference from setting information set in the device or its own device, or whether the error is due to a change in the processing target system;
An information processing device having:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022034648A JP2023130146A (en) | 2022-03-07 | 2022-03-07 | Determining program, determining method and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022034648A JP2023130146A (en) | 2022-03-07 | 2022-03-07 | Determining program, determining method and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023130146A true JP2023130146A (en) | 2023-09-20 |
Family
ID=88024782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022034648A Pending JP2023130146A (en) | 2022-03-07 | 2022-03-07 | Determining program, determining method and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023130146A (en) |
-
2022
- 2022-03-07 JP JP2022034648A patent/JP2023130146A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102268355B1 (en) | Cloud deployment infrastructure validation engine | |
US7856575B2 (en) | Collaborative troubleshooting computer systems using fault tree analysis | |
US9417865B2 (en) | Determining when to update a package manager software | |
US8898178B2 (en) | Solution monitoring system | |
US8302088B2 (en) | Analysis of effects of a software maintenance patch on configuration items of a CMDB | |
US6742141B1 (en) | System for automated problem detection, diagnosis, and resolution in a software driven system | |
US7458064B2 (en) | Methods and apparatus for generating a work item in a bug tracking system | |
US10635429B2 (en) | Systems and methods of just-in-time proactive notification of a product release containing a software fix | |
US8756385B2 (en) | Software configuration item back-up facility | |
US8677194B2 (en) | Method and system for site configurable error reporting | |
US20070203973A1 (en) | Fuzzing Requests And Responses Using A Proxy | |
JP7190834B2 (en) | Apparatus and computer program | |
US20080301486A1 (en) | Customization conflict detection and resolution | |
US20040044693A1 (en) | Automated logging of system configurations | |
US8539474B2 (en) | Method and system for management of interim software fixes | |
US20080126283A1 (en) | Method of capturing Problem Resolution for Subsequent Use in Managed Distributed Computer Systems | |
CN113014445A (en) | Operation and maintenance method, device and platform for server and electronic equipment | |
US8484062B2 (en) | Assessment of skills of a user | |
JP6238221B2 (en) | Apparatus, method and program for monitoring execution of software | |
US7363615B2 (en) | Stack-based callbacks for diagnostic data generation | |
JP2023130146A (en) | Determining program, determining method and information processing device | |
JP2003345628A (en) | Method for collecting fault research material, and implementation system therefor and processing program therefor | |
US20060200589A1 (en) | Automated driver reset for an information handling system | |
JP2019040400A (en) | Installation control program, installation control method, and information processing device | |
JP5592828B2 (en) | Patch impact analysis apparatus, method and program |