IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-36248情報処理プログラム、情報処理方法および情報処理装置
<>
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図1
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図2
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図3
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図4
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図5
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図6
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図7
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図8
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図9
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図10
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図11
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図12
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図13
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図14
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図15
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図16
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図17
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図18
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図19
  • 特開-情報処理プログラム、情報処理方法および情報処理装置 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024036248
(43)【公開日】2024-03-15
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
   G06F 11/07 20060101AFI20240308BHJP
   G06F 8/65 20180101ALI20240308BHJP
【FI】
G06F11/07 151
G06F8/65
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022141079
(22)【出願日】2022-09-05
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】高山 美空
(72)【発明者】
【氏名】古賀 奨
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042JJ29
5B042MA08
5B042MA14
5B042MC22
5B376CA52
5B376CA56
(57)【要約】
【課題】RPA処理の操作対象となるリソースの要素変更に伴う、リソースのデータへの影響を判断し易くすること。
【解決手段】情報処理装置101は、RPA処理102を実行した際に、RPA処理102の操作対象となるリソース103の要素に変更があり、かつ、RPA処理102においてデータ更新が実施された場合、データ更新が実施された箇所の第1データd1をリソースから取得する。情報処理装置101は、取得した第1データd1と、記憶部110に記憶されたRPA処理102のデータ更新における更新用の第2データd2とを比較する。情報処理装置101は、比較した比較結果120を出力する。
【選択図】図1
【特許請求の範囲】
【請求項1】
作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、
取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、
比較した比較結果を出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記比較結果に基づいて、前記第1データと前記第2データとの相違部分を抽出する、
処理を前記コンピュータに実行させ、
前記出力する処理は、
抽出した前記相違部分を特定可能な情報を出力する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記第1データと前記第2データとが相違する場合、前記RPA処理の実行を抑制する、処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記出力する処理は、
前記リソースの要素に変更があることを示す情報とともに、前記比較結果を出力する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項5】
前記RPA処理の実行前に、前記リソースに登録されたデータのうち、前記RPA処理においてデータ更新が実施される箇所のデータを含む登録データを取得し、
取得した前記登録データを保存し、
前記RPA処理を実行した際に、前記リソースの要素に変更があり、かつ、前記データ更新が実施された場合、保存した前記登録データを前記リソースに復元する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項6】
前記RPA処理の実行前に、前記リソースに登録されたデータのうち、前記RPA処理においてデータ更新が実施される箇所のデータを含む登録データを取得し、
取得した前記登録データを保存し、
前記RPA処理を実行した際に、前記RPA処理においてデータ更新が実施された後に、前記RPA処理のエラーが発生した場合、保存した前記登録データを前記リソースに復元する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項7】
前記RPA処理を実行した際に表示された操作画面のhtml情報と、前記RPA処理を前回実行した際に表示された操作画面のhtml情報とに基づいて、前記リソースの要素の変更を検出する、処理を前記コンピュータに実行させ、
前記取得する処理は、
前記リソースの要素の変更を検出し、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得する、ことを特徴とする請求項1~6のいずれか一つに記載の情報処理プログラム。
【請求項8】
作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、
取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、
比較した比較結果を出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項9】
作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、
取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、
比較した比較結果を出力する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
近年、RPA(Robotic Process Automation)の技術を使用して、従来は人手により実施していた業務を自動化して効率化を図る業務改善や業務改革が進められている。RPAは、RPA用の開発環境を用いて作成されるロボット(RPAロボット)を実行させることで、予め規定した業務をロボットに代行させることが可能となる。
【0003】
先行技術としては、操作記憶モジュールに記憶された操作を実行し、実行の前または後の画面から領域情報を用いて、変化しないはずの領域内の情報と、検証領域記憶モジュールに記憶されている情報が一致しない場合は、エラー処理を行う技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-009279号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、RPAロボット(RPA処理)の操作対象となるリソースのバージョンアップや仕様変更などが行われた場合に、リソースのデータに与える影響を判断することが難しい。
【0006】
一つの側面では、本発明は、RPA処理の操作対象となるリソースの要素変更に伴う、リソースのデータへの影響を判断し易くすることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、比較した比較結果を出力する、情報処理プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、RPA処理の操作対象となるリソースの要素変更に伴う、リソースのデータへの影響を判断し易くすることができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態1にかかる情報処理方法の一実施例を示す説明図である。
図2図2は、情報処理システム200のシステム構成例を示す説明図である。
図3図3は、情報処理装置201のハードウェア構成例を示すブロック図である。
図4図4は、プロセス管理テーブル220の記憶内容の一例を示す説明図(その1)である。
図5図5は、リソース更新情報管理テーブル230の記憶内容の一例を示す説明図である。
図6図6は、リソースデータ保存テーブル240の記憶内容の一例を示す説明図である。
図7図7は、実施の形態1にかかる情報処理装置201の機能的構成例を示すブロック図である。
図8図8は、操作画面の画面例を示す説明図(その1)である。
図9図9は、操作画面の画面例を示す説明図(その2)である。
図10図10は、実施の形態1にかかる情報処理システム200の動作例を示す説明図である。
図11図11は、実施の形態1にかかる情報処理装置201の情報処理手順の一例を示すフローチャートである。
図12図12は、プロセス管理テーブル220の記憶内容の一例を示す説明図(その2)である。
図13図13は、実施の形態2にかかる情報処理装置201の機能的構成例を示すブロック図である。
図14図14は、実施の形態2にかかる情報処理システム200の動作例を示す説明図である。
図15図15は、実施の形態2にかかる情報処理装置201の情報処理手順の一例を示すフローチャート(その1)である。
図16図16は、実施の形態2にかかる情報処理装置201の情報処理手順の一例を示すフローチャート(その2)である。
図17図17は、実施の形態3にかかる情報処理装置201の機能的構成例を示すブロック図である。
図18図18は、実施の形態3にかかる情報処理システム200の動作例を示す説明図である。
図19図19は、実施の形態3にかかる情報処理装置201の情報処理手順の一例を示すフローチャート(その1)である。
図20図20は、実施の形態3にかかる情報処理装置201の情報処理手順の一例を示すフローチャート(その2)である。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかる情報処理プログラム、情報処理方法および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態1)
図1は、実施の形態1にかかる情報処理方法の一実施例を示す説明図である。図1において、情報処理装置101は、RPA処理の操作対象となるリソースの要素変更に伴う、リソースのデータへの影響の判断を支援するコンピュータである。
【0012】
RPAとは、人工知能を備えたソフトウェアのロボット技術により、手動で行っていた定型的な作業を自動化して効率化することである。例えば、開発環境において、ロボットの開発、動作検証、テストを行い、本番環境において、ロボットのプロセスを配備して利用させることによって、ユーザの業務を代行させることができる。プロセスは、ロボットエージェントアプリケーション上で実行させる処理の単位である。
【0013】
ここで、RPAシステム(RPAロボット)の運用・保守を行うにあたり、操作対象となるリソースのバージョンアップや仕様変更などの設定変更が行われると、RPAロボットの動作に影響する場合がある。操作対象となるリソースは、例えば、Webサイト、システム、アプリケーションなどである。
【0014】
例えば、操作対象となるリソースの設定変更は、RPAシステムの運用者や利用者以外の第三者によって行われる場合がある。このため、運用者の意図しないタイミングでロボットの動作に影響がある設定変更が行われ、結果的にロボットエラーが生じることがある。この際、エラーが生じたときは検出可能であるが、予期しない動作によりエラーなく誤動作した場合、問題検知が遅れることがある。
【0015】
例えば、システムへのデータ登録処理などにおいて、予期せぬデータ更新により、顧客データの異常が発生するリスクがある。一例として、システム内の特定のボタンの押下処理をRPAで自動化する場合を想定する。この場合、元々のシステム仕様では、ボタン押下によりシステムへのデータ登録を実施する処理が実行されていたものが、ボタンは同一で、ボタン押下時に実行される処理が変更されることがある。例えば、ボタン押下時に実行される処理が「データ登録」から「データ削除」に変更となった場合、意図しない処理がRPAロボットの動作により実行されてしまう。
【0016】
このため、操作対象となるリソースのバージョンアップや仕様変更を管理することが考えられる。例えば、操作対象となるリソースがRPAを利用する企業内に閉じていれば、RPAシステムの運用者などが、企業内において操作対象となるリソースのバージョンアップや仕様変更を管理することが考えられる。
【0017】
しかしながら、社外システムや社外ASP(Application Service Provider)が管理するWebサイト、ロボット実行環境外の環境やマシンに配備されたアプリケーションについては、第三者が管理し、随時設定変更やバージョンアップ、仕様変更などが実施されるため対処することができない。
【0018】
また、RPAで操作対象となるリソースのバージョンアップや仕様変更を監視することが考えられる。例えば、RPAで操作対象となるリソースのバージョンアップや仕様変更の有無を統合監視サーバなどにより監視し、バージョンアップや仕様変更が生じた際にRPAの運用者や保守者に通知することが考えられる。
【0019】
しかしながら、RPAでは操作対象となる外部システムや外部サイトは多種多様であり、自動化対象とするロボット数が増加するに従って、監視対象が膨大となるという問題がある。また、バージョンアップや仕様変更を検知したとしても、RPAロボットの動作に与える影響までは判断することができない。
【0020】
また、RPAロボットのシステムへのデータ更新処理の結果を随時監視することが考えられる。例えば、RPAで自動更新されたシステムデータの状態について、人が定期的に監視し、データ更新異常が発生していないことを確認することが考えられる。
【0021】
しかしながら、RPA適用による運用コストの削減メリットが低下するという問題がある。例えば、RPAにより自動化するシステム操作等の運用業務コストは減るものの、最終的なシステムへのデータ登録状態の監視業務が必要となり、運用コストの削減メリットが低下する。
【0022】
そこで、実施の形態1では、RPA処理の操作対象となるリソースの要素変更に伴う、リソースのデータへの影響を判断し易くする情報処理方法について説明する。ここで、情報処理装置101の処理例について説明する。
【0023】
(1)情報処理装置101は、RPA処理102を実行した際に、RPA処理102の操作対象となるリソース103の要素に変更があり、かつ、RPA処理102においてデータ更新が実施された場合、データ更新が実施された箇所の第1データd1をリソースから取得する。ここで、RPA処理は、手動で行っていた作業を自動化する処理(RPAロボット)である。作業は、例えば、データ更新、メール作成などの定型的な作業である。
【0024】
リソース103は、例えば、Webサイト、システム、アプリケーションなどである。リソース103の要素は、例えば、Webサイト等に表示されるアイコン、ウィンドウ、ボタン等のGUI(Graphical user interface)要素である。リソース103の要素は、例えば、RPAロボットがアイコン、ウィンドウ、ボタン等を操作する際に使用するコード中のタグ等の情報によって特定される。
【0025】
リソース103の要素の変更は、例えば、RPA処理102を実行する際に用いられる情報に基づいて検出される。RPA処理102を実行する際に用いられる情報は、例えば、RPA処理102を実行する際の操作画面を表示するためのhtml(hypertext markup language)情報である。
【0026】
具体的には、例えば、情報処理装置101は、RPA処理102の実行時に得られるhtml情報と、RPA処理102の前回実行時に得られたhtml情報とを比較することによって、リソース103の要素の変更を検出することができる。
【0027】
ここでは、RPA処理102を実行した際に、リソース103の要素に変更があり、RPA処理102においてデータ更新が実施された場合を想定する。データ更新は、例えば、データの登録、更新、削除などを行う操作である。また、RPA処理102において、操作画面内の項目Aの入力欄にデータ(第2データd2)を入力することにより、項目Aのデータ更新が行われた場合を想定する。
【0028】
この場合、RPA処理102においてデータ更新が実施された箇所は、リソース103の項目Aとなる。このため、情報処理装置101は、リソース103から、項目Aのデータを第1データd1として取得する。なお、データd1の取得は、例えば、データ更新が実施された箇所のデータを取得するための機能を予め用意することにより実現される。
【0029】
(2)情報処理装置101は、取得した第1データd1と、記憶部110に記憶された第2データd2とを比較する。ここで、第2データd2は、RPA処理102のデータ更新における更新用のデータである。第2データd2は、例えば、RPA処理102が実行依頼された際に、RPA処理102の実行に先立って記憶部110に記憶される。
【0030】
(3)情報処理装置101は、比較した比較結果120を出力する。ここで、比較結果120は、例えば、リソース103の項目Aについて、第1データd1(更新実施後のデータ)と第2データd2(更新用のデータ)との差分の有無を示す情報である。比較結果120には、例えば、第1データd1と第2データd2とが含まれていてもよい。
【0031】
具体的には、例えば、情報処理装置101は、RPA処理102の保守者104(または、運用者)に対して、比較結果120を出力する。この際、情報処理装置101は、リソース更新情報とともに、比較結果120を出力してもよい。リソース更新情報は、リソース103の要素の変更が検出されたことを示す情報である。リソース更新情報には、リソース103の変更箇所を特定可能な情報が含まれていてもよい。
【0032】
このように、情報処理装置101によれば、RPA処理102の操作対象となるリソース103の要素変更に伴う、リソース103のデータ(リソースデータ)への影響を判断し易くすることができる。例えば、RPA処理102の保守者104(または、運用者)は、比較結果120を参照することで、意図しないデータ更新が発生していないかを確認することができる。
【0033】
比較結果120は、RPA処理102を実行した際に、RPA処理102の操作対象となるリソース103の要素に変更があり、かつ、RPA処理102においてデータ更新が実施された場合に出力される。このため、保守者104がリソースデータの状態を定期的に監視してデータ更新異常が発生していないかを確認する場合に比べて、保守者104の監視負荷を軽減することができる。
【0034】
(情報処理システム200のシステム構成例)
つぎに、図1に示した情報処理装置101を含む情報処理システム200のシステム構成例について説明する。ここでは、図1に示した情報処理装置101を、情報処理システム200内の情報処理装置201に適用した場合を例に挙げて説明する。情報処理システム200は、例えば、RPA製品の運用・保守をサポートするためのコンピュータシステムに適用される。
【0035】
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、情報処理装置201と、運用者端末202と、保守者端末203と、複数のサーバ204と、を含む。情報処理システム200において、運用者端末202、保守者端末203、およびサーバ204は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
【0036】
ここで、情報処理装置201は、プロセス管理テーブル220、リソース更新情報管理テーブル230およびリソースデータ保存テーブル240を有し、RPA処理を実行可能なコンピュータである。RPA処理は、例えば、手動で行っていた定型的な作業を自動化するRPAロボットである。例えば、情報処理装置201は、RPAのロボットエージェントアプリケーションがインストールされたコンピュータである。情報処理装置201は、例えば、サーバである。
【0037】
なお、プロセス管理テーブル220、リソース更新情報管理テーブル230およびリソースデータ保存テーブル240の記憶内容については、図4図6を用いて後述する。
【0038】
運用者端末202は、RPA処理(RPAロボット)の運用者が使用するコンピュータである。保守者端末203は、RPA処理(RPAロボット)の保守者が使用するコンピュータである。運用者端末202および保守者端末203は、例えば、PC(Personal Computer)、タブレットPCなどである。
【0039】
サーバ204は、RPA処理(RPAロボット)の操作対象となるリソースを実現するコンピュータである。リソース(操作対象リソース)は、例えば、Webサイト、システム、アプリケーションなどであり、複数のサーバ204のうちの1以上のサーバ204により実現される。
【0040】
なお、ここでは情報処理装置201と運用者端末202(または、保守者端末203)を別体に設けることにしたが、これに限らない。例えば、情報処理装置201は、運用者端末202(または、保守者端末203)により実現されてもよい。
【0041】
(情報処理装置201のハードウェア構成例)
つぎに、情報処理装置201のハードウェア構成例について説明する。
【0042】
図3は、情報処理装置201のハードウェア構成例を示すブロック図である。図3において、情報処理装置201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0043】
ここで、CPU301は、情報処理装置201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0044】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0045】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示した運用者端末202、保守者端末203、サーバ204)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0046】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0047】
なお、情報処理装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有することにしてもよい。また、情報処理装置201は、上述した構成部のうち、例えば、可搬型記録媒体I/F306、可搬型記録媒体307を有さないことにしてもよい。また、図2に示した運用者端末202、保守者端末203、サーバ204についても、情報処理装置201と同様のハードウェア構成により実現することができる。ただし、運用者端末202、保守者端末203は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
【0048】
(各種テーブル220,230,240の記憶内容)
つぎに、図4図6を用いて、実施の形態1にかかる情報処理装置201が有する各種テーブル220,230,240の記憶内容について説明する。各種テーブル220,230,240は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
【0049】
図4は、プロセス管理テーブル220の記憶内容の一例を示す説明図(その1)である。図4において、プロセス管理テーブル220は、プロセスIDおよびプロセス名のフィールドを有し、各フィールドに情報を設定することで、プロセス管理情報400-1~400-4をレコードとして記憶する。
【0050】
ここで、プロセスIDは、RPA処理(RPAロボット)のプロセスを一意に識別する識別子である。プロセス名は、RPA処理(RPAロボット)のプロセスの名称である。プロセス管理テーブル220によれば、情報処理装置201において実行可能なRPA処理を特定することができる。
【0051】
図5は、リソース更新情報管理テーブル230の記憶内容の一例を示す説明図である。図5において、リソース更新情報管理テーブル230は、プロセスID、リソース更新の有無、リソース更新情報、データ入力欄のデータ、リソース比較処理結果および情報取得日のフィールドを有する。各フィールドに情報を設定することで、リソース更新情報(例えば、リソース更新情報500-1~500-4)がレコードとして記憶される。
【0052】
ここで、プロセスIDは、RPA処理(RPAロボット)のプロセスを一意に識別する識別子である。リソース更新の有無は、RPA処理の操作対象となるリソースの要素の変更の有無を示す。「更新無」は、リソースの要素の変更がないことを示す。「更新有」は、リソースの要素の変更があることを示す。
【0053】
リソース更新情報は、要素の変更があったリソースに関する情報である。リソース更新情報は、例えば、リソース名、URL(Uniform Resource Locator)、html情報(GUI情報)などである。リソース更新情報には、更新箇所(画面、要素、処理内容など)を特定可能な情報が含まれていてもよい。
【0054】
データ入力欄のデータは、RPA処理においてデータ更新が実施された箇所のデータ(第1データ)である。例えば、『title「tel」、id「input」に文字列「***」を入力』は、RPA処理においてデータ更新が実施されたtitle「tel」、id「input」のデータ「***」を示す。
【0055】
リソース比較処理結果は、RPA処理においてデータ更新が実施された箇所のデータと、当該データ更新における更新用のデータとの比較処理の結果を示す。「差分無」は、データの差分がないことを示す。「差分有」は、データの差分があることを示す。情報取得日は、リソース更新情報が登録された日を示す。
【0056】
図6は、リソースデータ保存テーブル240の記憶内容の一例を示す説明図である。図6において、リソースデータ保存テーブル240は、プロセスID、対象リソース、データ入力欄のデータおよび前回実行日のフィールドを有する。各フィールドに情報を設定することで、リソースデータ保存情報(例えば、リソースデータ保存情報600-1~600-4)がレコードとして記憶される。
【0057】
ここで、プロセスIDは、RPA処理(RPAロボット)のプロセスを一意に識別する識別子である。対象リソースは、RPA処理の操作対象となるリソースを特定する情報である。データ入力欄のデータは、RPA処理において実施されたデータ更新における更新用のデータ(第2データ)である。
【0058】
例えば、『title「tel」、id「input」に文字列「***」を入力』は、RPA処理において実施されたtitle「tel」、id「input」についてのデータ更新が行われたときの更新用のデータ「***」を示す。前回実行日は、RPA処理が前回実行された日を示す。
【0059】
(情報処理装置201の機能的構成例)
つぎに、実施の形態1にかかる情報処理装置201の機能的構成例について説明する。
【0060】
図7は、実施の形態1にかかる情報処理装置201の機能的構成例を示すブロック図である。図7において、情報処理装置201は、受付部701と、実行部702と、検出部703と、取得部704と、比較部705と、出力部706と、記憶部710と、を含む。受付部701~出力部706は制御部700となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。記憶部710は、例えば、メモリ302、ディスク304などの記憶装置により実現される。具体的には、例えば、記憶部710は、各種テーブル220,230,240を記憶する。
【0061】
受付部701は、RPA処理の実行要求を受け付ける。ここで、実行要求は、RPA処理(RPAロボット)の実行を依頼するものである。実行要求には、例えば、実行対象となるRPA処理のプロセスIDやプロセス名が含まれる。
【0062】
具体的には、例えば、受付部701は、図2に示した運用者端末202から受信することにより、RPA処理の実行要求を受け付ける。また、受付部701は、不図示の入力装置を用いたユーザ(運用者)の操作入力により、RPA処理の実行要求を受け付けてもよい。
【0063】
実行部702は、作業を自動化するRPA処理(RPAロボット)を実行する。具体的には、例えば、実行部702は、図4に示したプロセス管理テーブル220を参照して、受け付けた実行要求から特定されるRPA処理(RPAロボット)のプロセスを実行する。
【0064】
また、実行部702は、RPA処理においてデータ更新が実施される場合、データ更新における更新用のデータ(第2データ)を記憶部710に記憶する。具体的には、例えば、実行部702は、図6に示したリソースデータ保存テーブル240のデータ入力欄のデータフィールドに、プロセスIDおよび対象リソースと対応付けて、更新用のデータ(第2データ)を記憶する。
【0065】
この際、実行部702は、RPA処理が前回実行された前回実行日を記憶してもよい。なお、プロセスIDは、実行されたRPA処理のプロセスのプロセスIDである。対象リソースは、実行されたRPA処理の操作対象となるリソースである。対象リソースは、例えば、リソース名(アプリケーション名)、URLなどによって表される。
【0066】
検出部703は、RPA処理が実行された場合、RPA処理の操作対象となるリソースの要素の変更を検出する。リソースの要素は、例えば、Webサイト等に表示されるアイコン、ウィンドウ、ボタン等のGUI要素である。
【0067】
具体的には、例えば、検出部703は、RPA処理を実行した際に表示された操作画面のhtml情報と、RPA処理を前回実行した際に表示された操作画面のhtml情報とを比較することによって、リソースの要素の変更を検出する。また、検出部703は、RPA処理を実行した際に表示された操作画面のhtml情報と、RPA処理の開発時に得られたhtml情報とを比較することによって、リソースの要素の変更を検出してもよい。
【0068】
より詳細に説明すると、例えば、検出部703は、html情報のタグの情報を比較してタグの差異を検出することによって、リソースの要素の変更を検出する。html情報には、例えば、ボタンを押下したときのリンク先や、Javaスクリプトのアクション名などが含まれる(Javaは登録商標)。検出部703は、例えば、html情報のタグの情報を比較することで、例えば、画面デザインの更新だけでなく、あるボタンを押下したときの処理内容の変更も検出することができる。
【0069】
また、操作対象のリソースがアプリケーションの場合、検出部703は、RPA処理を実行した際のセレクターの情報(例えば、要素を一意に指定する情報など)と、RPA処理を前回実行した際のセレクターの情報とを比較することによって、リソースの要素の変更を検出してもよい。
【0070】
検出結果は、例えば、図5に示したリソース更新情報管理テーブル230に記憶される。例えば、リソースの要素の変更が検出されなかった場合、プロセスIDと対応付けて、検出結果「更新無」がリソース更新の有無フィールドに設定される。一方、リソースの要素の変更が検出された場合、プロセスIDと対応付けて、検出結果「更新有」がリソース更新の有無フィールドに設定される。また、リソースの要素の変更が検出された場合、プロセスIDと対応付けて、リソース更新情報(例えば、リソース名、URLなど)が記憶される。
【0071】
なお、RPA処理を実行した際に表示される操作画面の画面例については、図8および図9を用いて後述する。
【0072】
取得部704は、RPA処理が実行された際に、RPA処理の操作対象となるリソースの要素に変更があり、かつ、RPA処理においてデータ更新が実施された場合、データ更新が実施された箇所の第1データをリソースから取得する。
【0073】
リソースの要素の変更の有無は、例えば、実行されたRPA処理のプロセスIDに対応するリソース更新情報管理テーブル230内のリソース更新情報のリソース更新の有無(検出結果)から特定される。RPA処理においてデータ更新が実施されたか否かは、例えば、実行されたRPA処理のプロセスIDに対応するリソースデータ保存テーブル240内のリソースデータ保存情報から特定されてもよく、また、RPA処理の処理内容から特定されてもよい。
【0074】
具体的には、例えば、取得部704は、RPA処理が実行された際に、リソースの要素の変更が検出され、かつ、RPA処理においてデータ更新が実施された場合、データ取得機能により、データ更新が実施された箇所の第1データをリソースから取得する。データ取得機能は、リソースから任意のデータを取得するために予め組み込まれた機能である。
【0075】
取得された第1データは、例えば、プロセスIDと対応付けて、リソース更新情報管理テーブル230に記憶される。
【0076】
比較部705は、取得された第1データと、記憶部710に記憶されたデータ更新における更新用の第2データとを比較する。具体的には、例えば、比較部705は、リソース更新情報管理テーブル230を参照して、実行されたRPA処理のプロセスIDに対応するデータ入力欄のデータを第1データとして特定する。
【0077】
また、比較部705は、リソースデータ保存テーブル240を参照して、実行されたRPA処理のプロセスIDに対応するデータ入力欄のデータを第2データとして特定する。そして、比較部705は、特定した第1データと第2データとを比較する。第1データおよび第2データには、複数の項目のデータが含まれる場合がある。この場合、比較部705は、複数の項目の項目ごとに、第1データと第2データとを比較する。
【0078】
また、比較部705は、比較結果に基づいて、第1データと第2データとの相違部分を抽出してもよい。具体的には、例えば、比較部705は、第1データおよび第2データに複数の項目のデータが含まれる場合、複数の項目のうち第1データと第2データとで相違する項目を相違部分として抽出する。
【0079】
比較結果は、例えば、リソース更新情報管理テーブル230に記憶される。例えば、第1データと第2データとの相違部分が抽出されなかった場合、プロセスIDと対応付けて、比較結果「差分無」がリソース比較処理結果フィールドに設定される。一方、第1データと第2データとの相違部分が抽出された場合、プロセスIDと対応付けて、比較結果「差分有」がリソース比較処理結果フィールドに設定される。
【0080】
また、比較結果「差分有」の場合、第1データと第2データとの相違部分に関する情報がリソース比較処理結果フィールドに設定されてもよい。第1データと第2データとの相違部分に関する情報は、例えば、第1データと第2データとで相違する項目や、当該項目の各データ(第1データ、第2データ)における項目値などである。
【0081】
出力部706は、比較された比較結果を出力する。この際、出力部706は、リソースの要素に変更があることを示す情報とともに、比較結果を出力してもよい。リソースの要素に変更があることを示す情報は、例えば、要素(GUI要素)に変更があったリソースのリソース名、URLなどを含む。また、リソースの要素に変更があることを示す情報には、更新箇所(画面、要素、処理内容など)を特定可能な情報が含まれていてもよい。
【0082】
また、出力部706は、抽出された相違部分を特定可能な情報をさらに出力してもよい。相違部分を特定可能な情報は、例えば、第1データと第2データとで相違する項目や、当該項目の各データ(第1データ、第2データ)における項目値などである。
【0083】
具体的には、例えば、出力部706は、実行されたRPA処理と対応付けて、比較された比較結果と、抽出された相違部分を特定可能な情報とを出力する。出力部706の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータ(例えば、運用者端末202、保守者端末203)への送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【0084】
より詳細に説明すると、例えば、出力部706は、リソース更新情報管理テーブル230を参照して、実行されたRPA処理のプロセスIDに対応するリソース更新情報とリソース比較処理結果とを特定する。そして、出力部706は、RPA処理(RPAロボット)の保守者(または、運用者)に対して、特定したリソース更新情報とリソース比較処理結果とを含むリソース更新通知を送信する。リソース更新通知は、例えば、電子メールにより送信される。リソース更新通知の宛先情報は、例えば、プロセスIDと対応付けて予め登録されている。
【0085】
また、出力部706は、RPA処理の操作対象となるリソースの要素に変更があり、かつ、RPA処理においてデータ更新が実施されなかった場合、リソースの要素に変更があることを示す情報を出力してもよい。具体的には、例えば、出力部706は、リソース更新情報管理テーブル230を参照して、実行されたRPA処理のプロセスIDに対応するリソース更新情報を特定する。RPA処理(RPAロボット)の保守者(または、運用者)に対して、特定したリソース更新情報を含むリソース更新通知を送信してもよい。
【0086】
また、実行部702は、第1データと第2データとが相違する場合、RPA処理の実行を抑制してもよい。例えば、プロセスID「3」のRPA処理が実行された結果、第1データと第2データとが相違したとする。この場合、実行部702は、プロセスID「3」のRPA処理の次回以降の実行を禁止してもよい。
【0087】
より詳細に説明すると、例えば、実行部702は、プロセスID「3」を含む実行要求を受け付けた場合、プロセスID「3」のRPA処理を実行しない。この場合、出力部706は、実行要求元に対して、エラー通知を出力してもよい。エラー通知は、リソースの要素変更にともなって、意図しないデータ更新が行われたため、RPA処理の実行を抑制していることを通知するものである。
【0088】
これにより、例えば、RPA処理の運用者は、リソースの要素変更にともなって、意図しないデータ更新が行われたため実行できないことを把握することができる。
【0089】
また、出力部706は、例えば、プロセスID「3」を含む実行要求を受け付けた場合に、実行要求元に対して、RPA処理の実行許否を選択するよう促すメッセージを出力してもよい。この場合、実行部702は、RPA処理の実行を禁止する選択を受け付けた場合、プロセスID「3」のRPA処理を実行しない。一方、実行部702は、RPA処理の実行を許可する選択を受け付けた場合、プロセスID「3」のRPA処理を実行する。
【0090】
これにより、情報処理装置201は、リソースの要素変更にともなって、意図しないデータ更新が行われた後に、そのリソースに対するRPA処理を実行するか否かをユーザ(運用者)に選択させることができる。
【0091】
なお、検出部703は、RPA処理を実行した際に表示された操作画面の画像と、RPA処理を前回実行した際に表示された操作画面の画像とを比較することによって、リソースの要素の変更を検出してもよい。操作画面の画像は、例えば、操作画面が表示された際にキャプチャすることにより取得することができる。
【0092】
また、上述した説明では、RPA処理が実行された際に、RPA処理の操作対象となるリソースの要素に変更があり、かつ、RPA処理においてデータ更新が実施された場合に、データ更新が実施された箇所の第1データを取得することにしたが、これに限らない。例えば、取得部704は、RPA処理が実行された際に、リソースの要素の変更の有無を考慮することなく、RPA処理においてデータ更新が実施された場合に、データ更新が実施された箇所の第1データを取得してもよい。そして、比較部705は、取得された第1データと、記憶部710に記憶されたデータ更新における更新用の第2データとを比較してもよい。ただし、この場合は、リソースの要素の変更の有無を考慮して、リソースの要素に変更があるときに第1データと第2データとを比較する場合に比べて、意図しないデータ更新が発生していないかの確認にかかるユーザの作業負荷が増える傾向がある。
【0093】
(操作画面の画面例)
ここで、RPA処理を実行した際に表示される操作画面の画面例について説明する。
【0094】
図8および図9は、操作画面の画面例を示す説明図である。図8において、操作画面800は、会員情報を管理するシステムの画面例であり、当該システムに対するRPA処理を実行した際に表示される操作画面の一例である。
【0095】
操作画面800において、入力欄801,802に名前、電話番号をそれぞれ入力して、ボタン803を押下すると、新たな会員情報を登録することができる。新たに登録された会員情報は、図9に示すように会員一覧810に反映される。
【0096】
図9において、操作画面800は、RPA処理により会員情報の登録(データ更新)が実施された後の操作画面の一例である。ここでは、操作画面800において、新たに登録された会員情報が会員一覧810に反映されている。
【0097】
ここで、操作画面800内の会員一覧810に反映された新たな会員情報901は、データ更新が実施された箇所の第1データに相当する。また、操作画面800内の各入力欄801,802に入力された名前「佐藤花子」および電話番号「00000002222」は、データ更新における更新用の第2データに相当する。
【0098】
(情報処理システム200の動作例)
つぎに、実施の形態1にかかる情報処理システム200の動作例について説明する。ここでは、実行対象のRPA処理を「ロボット1010」とする。
【0099】
図10は、実施の形態1にかかる情報処理システム200の動作例を示す説明図である。図10において、ロボット運用者1001は、運用者端末202を用いて、運用環境(情報処理装置201)でロボット1010を実行する。この結果、ロボット1010が、操作対象となるリソース1003を操作する。
【0100】
リソース1003は、例えば、サーバ204(図2参照)により実現されるアプリケーション、Webサイト、システムなどである。ここでは、リソース1003の要素に変更があった場合を想定する。情報処理装置201は、リソース1003の要素に変更があった場合、リソース更新情報を取得する。
【0101】
また、情報処理装置201は、ロボット1010によりデータ更新が実施される場合、データ更新における更新用のデータ(第2データ)を保存する。そして、情報処理装置201は、ロボット1010によりデータ更新が実施された場合、データ更新が実施された箇所の第1データをリソース1003から取得する。
【0102】
情報処理装置201は、取得した第1データと、保存した第2データとを比較することにより、ロボット1010の実行前後のデータ差分をチェックする処理を実行する。そして、情報処理装置201は、リソース比較処理結果を取得する。
【0103】
情報処理装置201は、ロボット保守者1002に対して、取得したリソース更新情報とリソース比較処理結果とを含むリソース更新通知1020を送信する。リソース更新通知1020は、ロボット運用者1001に送信されてもよい。
【0104】
これにより、ロボット保守者1002(または、ロボット運用者1001)は、実行されたロボット1010の操作対象のリソース1003について、要素に変更があり、かつ、データ更新が実施されたことを把握することができる。また、ロボット保守者1002(または、ロボット運用者1001)は、リソース更新通知1020のリソース比較処理結果を参照して、意図しないデータ更新が発生していないかを確認することで、データ不整合箇所を検出したり、データ不整合箇所への対処を行ったりすることが可能となる。
【0105】
また、情報処理装置201は、リソース1003の要素に変更があったものの、ロボット1010によりデータ更新が実施されなかった場合、ロボット保守者1002(または、ロボット運用者1001)に対して、リソース更新情報を含むリソース更新通知を送信してもよい。
【0106】
これにより、ロボット保守者1002(または、ロボット運用者1001)は、実行されたロボット1010の操作対象のリソース1003の要素に変更があったことを把握することができる。また、ロボット保守者1002(または、ロボット運用者1001)は、今回の処理ではユーザデータへの影響は発生していないものの、他の処理でユーザデータに影響を及ぼす可能性があることを把握することができる。
【0107】
(情報処理装置201の情報処理手順)
つぎに、実施の形態1にかかる情報処理装置201の情報処理手順について説明する。
【0108】
図11は、実施の形態1にかかる情報処理装置201の情報処理手順の一例を示すフローチャートである。図11において、情報処理装置201は、運用者端末202からの実行要求に応じて、ロボット(RPA処理)を実行する(ステップS1101)。この結果、ロボットにより、操作対象となるリソース(操作対象リソース)が操作される。この際、情報処理装置201は、ロボットによりデータ更新操作が実施される場合、データ更新操作における更新用のデータ(第2データ)を保存する。
【0109】
つぎに、情報処理装置201は、操作対象リソースにおいてリソース更新が発生したか否かを判断する(ステップS1102)。リソース更新とは、操作対象リソースの要素(GUI要素)の変更である。リソース更新は、例えば、ロボットを今回実行した際に表示された操作画面のhtml情報と、ロボットを前回実行した際に表示された操作画面のhtml情報とを比較することによって検出される。
【0110】
ここで、リソース更新が発生した場合(ステップS1102:Yes)、情報処理装置201は、リソース更新情報を取得する(ステップS1103)。リソース更新情報は、例えば、操作対象リソースのリソース名、URLなどである。
【0111】
つぎに、情報処理装置201は、ロボットによりデータ更新操作が実施されたか否かを判断する(ステップS1104)。ここで、データ更新操作が実施された場合(ステップS1104:Yes)、操作対象リソースからデータ更新操作が実施された箇所の第1データを取得する(ステップS1105)。第1データは、例えば、更新したすべてのデータ入力欄のデータである。
【0112】
そして、情報処理装置201は、操作対象リソースに対して、ロボット実行前のリソースデータとのリソース比較処理を実施する(ステップS1106)。リソース比較処理とは、ステップS1105において取得された第1データと、ステップS1101において保存された第2データとを比較する処理である。
【0113】
つぎに、情報処理装置201は、リソース比較処理結果を取得する(ステップS1107)。リソース比較処理結果は、第1データと第2データとの比較結果を含む。また、リソース比較処理結果には、例えば、第1データと第2データとの相違部分に関する情報が含まれていてもよい。
【0114】
そして、情報処理装置201は、ロボットの保守者(または、運用者)に対して、取得したリソース更新情報とリソース比較処理結果とを含むリソース更新通知を送信して(ステップS1108)、本フローチャートによる一連の処理を終了する。
【0115】
また、ステップS1104において、データ更新操作が実施されていない場合(ステップS1104:No)、情報処理装置201は、ロボットの保守者(または、運用者)に対して、取得したリソース更新情報を含むリソース更新通知を送信して(ステップS1109)、本フローチャートによる一連の処理を終了する。
【0116】
また、ステップS1102において、リソース更新が発生していない場合(ステップS1102:No)、情報処理装置201は、本フローチャートによる一連の処理を終了する。
【0117】
これにより、情報処理装置201は、ロボットが実行された際に、操作対象リソースの要素に変更があった場合、その旨をロボットの保守者(または、運用者)に通知することができる。また、情報処理装置201は、ロボットによりデータ更新操作が実施された場合には、ロボット実行前のリソースデータとのリソース比較処理結果を通知することができる。
【0118】
以上説明したように、実施の形態1にかかる情報処理装置201によれば、作業を自動化するRPA処理を実行した際に、RPA処理の操作対象となるリソースの要素に変更があり、かつ、RPA処理においてデータ更新が実施された場合、データ更新が実施された箇所の第1データをリソースから取得することができる。そして、情報処理装置201によれば、取得した第1データと、記憶部710に記憶された当該データ更新における更新用の第2データとを比較し、比較した比較結果を出力することができる。
【0119】
これにより、情報処理装置201は、操作対象となるリソースの仕様変更やバージョンアップに伴う、リソースのデータ(リソースデータ)への影響を判断し易くすることができる。例えば、ロボットの保守者(または、運用者)は、比較結果を参照することで、意図しないデータ更新が発生していないかを確認することができる。
【0120】
また、情報処理装置201によれば、比較結果に基づいて、第1データと第2データとの相違部分を抽出し、抽出した相違部分を特定可能な情報を出力することができる。
【0121】
これにより、情報処理装置201は、意図しないデータ更新が生じた箇所(例えば、項目)を特定し易くすることができる。
【0122】
また、情報処理装置201によれば、第1データと第2データとが相違する場合、RPA処理の実行を抑制することができる。
【0123】
これにより、情報処理装置201は、仕様変更やバージョンアップが行われ、データ更新によるデータ不整合が発生しているリソースに対する操作を抑制することで、システムのデータ異常などの不具合の発生を防ぐことができる。
【0124】
また、情報処理装置201によれば、リソースの要素に変更があることを示す情報とともに、比較した比較結果を出力することができる。
【0125】
これにより、情報処理装置201は、仕様変更やバージョンアップの影響により要素(GUI要素)が変更されたリソースを特定可能にすることができる。例えば、ロボットの保守者(または、運用者)は、仕様変更やバージョンアップが行われた箇所(Webサイト、システム、アプリケーション)を特定することができる。
【0126】
また、情報処理装置201によれば、RPA処理を実行した際に表示された操作画面のhtml情報と、RPA処理を前回実行した際に表示された操作画面のhtml情報とを比較することによって、リソースの要素の変更を検出することができる。
【0127】
これにより、情報処理装置201は、仕様変更やバージョンアップによりリソースの要素(GUI要素)の変更があったことを検出することができる。また、情報処理装置201は、html情報を比較することで、例えば、画面デザインの更新だけでなく、あるボタンを押下したときの処理内容の変更も検出することができる。
【0128】
これらのことから、情報処理装置201によれば、RPAロボットの操作対象となるリソースのうち、仕様変更やバージョンアップが行われたリソースを検出することができる。例えば、情報処理装置201は、操作対象のGUI要素が開発段階のGUI要素から変更されていないかどうかをチェックして、差分がある場合に、差分箇所を運用者等に通知することができる。また、情報処理装置201によれば、仕様変更やバージョンアップが行われたリソースに対するデータ更新操作が実施されたときのリソースデータへの影響を判断し易くすることができる。これにより、RPAロボットの運用者や保守者は、意図しないデータ更新が行われたデータ不整合箇所を検出したり、データ不整合箇所への対処を行ったりすることが可能となる。
【0129】
(実施の形態2)
つぎに、実施の形態2にかかる情報処理装置201について説明する。実施の形態2では、RPA処理(ロボット)の実行前に、操作対象リソースに登録されたデータ(登録データ)を保存しておき、RPA処理の実行後に、操作対象リソースに登録データを復元可能にする情報処理方法について説明する。なお、実施の形態1で説明した箇所と同一の箇所については、同一符号を付して図示および説明を省略する場合がある。
【0130】
まず、図12を用いて、実施の形態2にかかる情報処理装置201が有するプロセス管理テーブル220の記憶内容について説明する。
【0131】
図12は、プロセス管理テーブル220の記憶内容の一例を示す説明図(その2)である。図12において、プロセス管理テーブル220は、プロセスID、プロセス名および自動復元フラグのフィールドを有し、各フィールドに情報を設定することで、プロセス管理情報1200-1~1200-4をレコードとして記憶する。
【0132】
ここで、プロセスIDは、RPA処理(RPAロボット)のプロセスを一意に識別する識別子である。プロセス名は、RPA処理(RPAロボット)のプロセスの名称である。自動復元フラグは、データ復元処理を自動で実施するか否かを示すフラグである。データ復元処理は、操作対象リソースのデータを復元する処理である。自動復元フラグ「ON(有効)」は、データ復元処理を自動で実施することを示す。自動復元フラグ「OFF(無効)」は、データ復元処理を自動で実施しないことを示す。
【0133】
(情報処理装置201の機能的構成例)
つぎに、図13を用いて、実施の形態2にかかる情報処理装置201の機能的構成例について説明する。
【0134】
図13は、実施の形態2にかかる情報処理装置201の機能的構成例を示すブロック図である。図13において、情報処理装置201は、受付部701と、実行部702と、検出部703と、取得部704と、比較部705と、出力部706と、記憶部710と、第1の復元部1301と、を含む。受付部701~出力部706および第1の復元部1301は制御部1300となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。
【0135】
以下の説明では、実施の形態1にかかる情報処理装置201と異なる機能について説明する。
【0136】
実行部702は、RPA処理の実行前に、RPA処理の操作対象となるリソース(操作対象リソース)の登録データを取得する。ここで、登録データは、例えば、操作対象リソースに登録されたデータのうち、RPA処理におけるデータ更新対象箇所のデータを含む。データ更新対象箇所のデータは、RPA処理においてデータ更新が実施される箇所のデータである。
【0137】
また、登録データは、例えば、操作対象リソースに登録されたデータのうち、RPA処理のデータ操作範囲のデータであってもよい。データ操作範囲のデータは、例えば、RPA処理を実行した際に表示される操作画面において操作可能なすべてのデータである。図8に示した操作画面800を例に挙げると、登録データは、例えば、会員一覧810のすべてのデータ(会員情報)であってもよい。
【0138】
具体的には、例えば、実行部702は、運用者端末202からの実行要求に応じてRPA処理を実行する前に、登録データを取得してもよい。また、実行部702は、RPA処理の実行が完了した際に、次回以降のRPA処理の実行に先立って、登録データを取得してもよい。
【0139】
また、実行部702は、取得した登録データを保存する。具体的には、例えば、実行部702は、RPA処理のプロセスIDと対応付けて、取得した登録データを、メモリ302、ディスク304などの記憶装置に保存する。
【0140】
第1の復元部1301は、RPA処理が実行された際に、操作対象リソースの要素に変更があり、かつ、RPA処理においてデータ更新が実施された場合、保存された登録データを操作対象リソースに復元する。ここで、登録データを復元するとは、登録データをもとの箇所に戻すことである。
【0141】
例えば、登録データを「項目Aのデータ」とする。この場合、第1の復元部1301は、操作対象リソース内の項目Aのデータに登録データを上書きする。また、登録データに、複数の項目のデータが含まれるとする。この場合、第1の復元部1301は、操作対象リソース内の複数の項目の各項目のデータに、登録データに含まれる各項目のデータを上書きする。
【0142】
具体的には、例えば、第1の復元部1301は、RPA処理が実行された際に、操作対象リソースの要素に変更があり、かつ、RPA処理においてデータ更新が実施された場合、RPA処理に対応する自動復元フラグがONとなっているか否かを判定する。そして、第1の復元部1301は、自動復元フラグがONの場合に、保存された登録データを操作対象リソースに復元する。
【0143】
自動復元フラグは、例えば、図12に示したプロセス管理テーブル220から特定される。また、登録データによる復元処理は、例えば、操作対象リソースのデータを復元するための機能(データ復元機能)を予め用意することにより実現される。
【0144】
より詳細に説明すると、例えば、第1の復元部1301は、プロセス管理テーブル220を参照して、実行されたRPA処理のプロセスIDに対応する自動復元フラグを特定する。そして、第1の復元部1301は、自動復元フラグが「ON」の場合、データ復元機能により、操作対象リソースに登録データを復元する。一方、第1の復元部1301は、自動復元フラグが「OFF」の場合、操作対象リソースに登録データを復元しない。
【0145】
また、第1の復元部1301は、第1データと第2データとが比較された結果、第1データと第2データとが相違する場合に、保存された登録データを操作対象リソースに復元してもよい。具体的には、例えば、第1の復元部1301は、リソース更新情報管理テーブル230を参照して、実行されたRPA処理のプロセスIDに対応する、リソース更新の有無が「更新有」であり、かつ、リソース比較処理結果が「差分有」の場合に、操作対象リソースに登録データを復元してもよい。
【0146】
また、出力部706は、操作対象リソースの要素に変更があることを示す情報とともに、復元された復元結果、および、比較された比較結果を出力してもよい。復元結果は、例えば、保存された登録データを用いた操作対象リソースの復元が行われたことを示す。また、復元結果は、操作対象リソースの復元に成功したか否かを示す情報であってもよい。
【0147】
(情報処理システム200の動作例)
つぎに、実施の形態2にかかる情報処理システム200の動作例について説明する。ここでは、実行対象のRPA処理を「ロボット1410」とする。
【0148】
図14は、実施の形態2にかかる情報処理システム200の動作例を示す説明図である。図14において、ロボット運用者1401は、運用者端末202を用いて、運用環境(情報処理装置201)でロボット1410を実行する。この結果、ロボット1410が、操作対象となるリソース1403を操作する。
【0149】
ただし、情報処理装置201は、ロボット1410の実行前に、ロボット1410の操作対象となるリソース1403の登録データを取得して保存する。例えば、情報処理装置201は、ロボット1410の前回の実行が正常に完了したときに、リソース1403に登録された登録データを取得して保存してもよい。
【0150】
リソース1403は、例えば、サーバ204(図2参照)により実現されるアプリケーション、Webサイト、システムなどである。ここでは、リソース1403の要素に変更があった場合を想定する。情報処理装置201は、リソース1403の要素に変更があった場合、リソース更新情報を取得する。
【0151】
また、情報処理装置201は、ロボット1410によりデータ更新が実施される場合、データ更新における更新用のデータ(第2データ)を保存する。そして、情報処理装置201は、ロボット1410によりデータ更新が実施された場合、データ更新が実施された箇所の第1データをリソース1403から取得する。
【0152】
情報処理装置201は、取得した第1データと、保存した第2データとを比較することにより、ロボット1410の実行前後のデータ差分をチェックする処理を実行する。そして、情報処理装置201は、リソース比較処理結果を取得する。
【0153】
情報処理装置201は、ロボット1410に対応する自動復元フラグがONとなっているか否かを判定する。ここでは、ロボット1410に対応する自動復元フラグがONの場合を想定する。この場合、情報処理装置201は、保存した登録データをリソース1403に復元する。
【0154】
そして、情報処理装置201は、データ復元情報を取得する。データ復元情報は、例えば、登録データを用いた操作対象リソースの復元が行われたことや、操作対象リソースの復元に成功したか否かを示す情報である。
【0155】
情報処理装置201は、ロボット保守者1402に対して、取得したリソース更新情報とリソース比較処理結果とデータ復元情報とを含むリソース更新通知1420を送信する。リソース更新通知1420は、ロボット運用者1401に送信されてもよい。
【0156】
これにより、ロボット保守者1402(または、ロボット運用者1401)は、実行されたロボット1410の操作対象のリソース1403について、要素に変更があり、かつ、データ更新が実施されたため、リソースデータ(リソース1403のデータ)の復元が行われたことを把握することができる。
【0157】
また、ロボット保守者1402(または、ロボット運用者1401)は、リソース更新通知1420のリソース比較処理結果を参照して、意図しないデータ更新が発生していたかどうかを確認することができる(ただし、リソースデータは復元されている)。
【0158】
また、情報処理装置201は、リソース1403の要素に変更があったものの、ロボット1410によりデータ更新が実施されなかった場合、ロボット保守者1402(または、ロボット運用者1401)に対して、リソース更新情報を含むリソース更新通知を送信してもよい。
【0159】
これにより、ロボット保守者1402(または、ロボット運用者1401)は、実行されたロボット1410の操作対象のリソース1403の要素に変更があったことを把握することができる。また、ロボット保守者1402(または、ロボット運用者1401)は、今回の処理ではユーザデータへの影響は発生していないものの、他の処理でユーザデータに影響を及ぼす可能性があることを把握することができる。
【0160】
(情報処理装置201の情報処理手順)
つぎに、実施の形態2にかかる情報処理装置201の情報処理手順について説明する。
【0161】
図15および図16は、実施の形態2にかかる情報処理装置201の情報処理手順の一例を示すフローチャートである。図15において、情報処理装置201は、運用者端末202からの実行要求に応じて、ロボット(RPA処理)を実行する(ステップS1501)。この結果、ロボットにより、操作対象となるリソース(操作対象リソース)が操作される。この際、情報処理装置201は、ロボットによりデータ更新操作が実施される場合、データ更新操作における更新用のデータ(第2データ)を保存する。
【0162】
つぎに、情報処理装置201は、操作対象リソースにおいてリソース更新が発生したか否かを判断する(ステップS1502)。ここで、リソース更新が発生した場合(ステップS1502:Yes)、情報処理装置201は、リソース更新情報を取得する(ステップS1503)。
【0163】
つぎに、情報処理装置201は、ロボットによりデータ更新操作が実施されたか否かを判断する(ステップS1504)。ここで、データ更新操作が実施された場合(ステップS1504:Yes)、操作対象リソースからデータ更新操作が実施された箇所の第1データを取得する(ステップS1505)。第1データは、例えば、更新したすべてのデータ入力欄のデータである。
【0164】
そして、情報処理装置201は、操作対象リソースに対して、ロボット実行前のリソースデータとのリソース比較処理を実施する(ステップS1506)。リソース比較処理とは、ステップS1505において取得された第1データと、ステップS1501において保存された第2データとを比較する処理である。
【0165】
つぎに、情報処理装置201は、リソース比較処理結果を取得する(ステップS1507)。そして、情報処理装置201は、自動復元フラグが「ON」、かつ、リソースデータに差分ありか否かを判断する(ステップS1508)。リソースデータに差分ありは、第1データと第2データとが相違する場合に相当する。
【0166】
ここで、自動復元フラグが「ON」、かつ、リソースデータに差分ありの場合(ステップS1508:Yes)、情報処理装置201は、図16に示すステップS1601に移行する。
【0167】
一方、自動復元フラグが「ON」、かつ、リソースデータに差分ありではない場合(ステップS1508:No)、情報処理装置201は、ロボットの保守者(または、運用者)に対して、取得したリソース比較処理結果とリソース更新情報とを含むリソース更新通知を送信して(ステップS1509)、図16に示すステップS1603に移行する。
【0168】
また、ステップS1504において、データ更新操作が実施されていない場合(ステップS1504:No)、情報処理装置201は、ロボットの保守者(または、運用者)に対して、取得したリソース更新情報を含むリソース更新通知を送信して(ステップS1510)、図16に示すステップS1603に移行する。
【0169】
また、ステップS1502において、リソース更新が発生していない場合には(ステップS1502:No)、情報処理装置201は、図16に示すステップS1603に移行する。
【0170】
図16のフローチャートにおいて、まず、情報処理装置201は、ロボット実行前のリソース登録データを操作対象リソースに復元する(ステップS1601)。リソース登録データは、操作対象リソースに登録されたデータ(登録データ)である。リソース登録データは、対象リソース情報と対応付けて保存されている。対象リソース情報は、例えば、ロボットのプロセスIDや操作対象リソースを特定する情報を含む。
【0171】
そして、情報処理装置201は、ロボットの保守者(または、運用者)に対して、取得したリソース比較処理結果、リソース更新情報およびデータ復元情報を含むリソース更新通知を送信する(ステップS1602)。データ復元情報は、例えば、データ不整合が発生したため、リソース登録データを用いた操作対象リソースの復元が行われたことや、操作対象リソースの復元に成功したか否かを示す情報である。
【0172】
つぎに、情報処理装置201は、リソース登録データを取得する(ステップS1603)。取得対象のリソース登録データは、例えば、操作対象リソースに登録されているデータのうち、RPA処理においてデータ更新が実施される箇所のデータであってもよく、また、RPA処理のデータ操作範囲のデータであってもよい。また、ステップS1603の処理は、ステップS1504においてデータ更新操作が実施されていない場合はスキップしてもよい。そして、情報処理装置201は、対象リソース情報と対応付けて、取得したリソース登録データを保存して(ステップS1604)、本フローチャートによる一連の処理を終了する。
【0173】
これにより、情報処理装置201は、ロボットが実行された際に、操作対象リソースの要素に変更があり、意図しないデータ更新が発生した場合に、リソースデータをロボット実行前の状態に復元することができる。また、情報処理装置201は、ロボットが実行された際に、操作対象リソースの要素に変更があった場合、その旨をロボットの保守者(または、運用者)に通知することができる。
【0174】
また、情報処理装置201は、ロボットによりデータ更新操作が実施された場合には、ロボット実行前のリソースデータとのリソース比較処理結果を通知することができる。また、情報処理装置201は、操作対象リソースの要素に変更があり、意図しないデータ更新が発生したため、データ復元処理が実施された場合に、その旨をロボットの保守者(または、運用者)に通知することができる。
【0175】
以上説明したように、実施の形態2にかかる情報処理装置201によれば、RPA処理の実行前に、操作対象リソースに登録されたデータのうち、前記RPA処理においてデータ更新が実施される箇所のデータを含む登録データを取得し、取得した登録データを保存することができる。そして、情報処理装置201によれば、RPA処理を実行した際に、操作対象リソースの要素に変更があり、かつ、データ更新が実施された場合、保存した登録データを操作対象リソースに復元することができる。
【0176】
これにより、情報処理装置201は、ロボット(RPA処理)実行時に、操作対象リソースの要素に変更があり、かつ、データ更新が実施された場合に、操作対象リソースのデータ(リソースデータ)をロボット実行前の状態に戻すことができる。ロボット実行前の状態は、前回の登録データの状態(ロボットにより更新したデータ状態)に相当する。
【0177】
また、情報処理装置201によれば、操作対象リソースの要素に変更があることを示す情報とともに、復元結果(例えば、データ復元情報)および比較結果(例えば、リソース比較処理結果)を出力することができる。
【0178】
これにより、情報処理装置201は、ロボットの保守者や運用者に対して、要素の変更が検出された操作対象リソースにおいてデータ更新が実施されたため、リソースデータの復元処理が行われたことを通知することができる。
【0179】
また、情報処理装置201によれば、RPA処理を実行した際に、操作対象リソースの要素に変更があり、かつ、データ更新が実施された場合、RPA処理に対応する自動復元フラグがON(有効)となっているか否かを判定することができる。そして、情報処理装置201によれば、自動復元フラグがONの場合、保存した登録データを操作対象リソースに復元することができる。また、情報処理装置201によれば、自動復元フラグがOFF(無効)の場合、保存した登録データを操作対象リソースに復元しないようにすることができる。
【0180】
これにより、情報処理装置201は、ロボット実行時に、操作対象リソースの要素に変更があり、かつ、データ更新が実施された場合に、操作対象リソースのデータ(リソースデータ)をロボット実行前の状態に戻すかどうかを選択可能にすることができる。
【0181】
また、情報処理装置201によれば、データ更新が実施された箇所のデータ(第1データ)とデータ更新における更新用のデータ(第2データ)とが相違する場合に、登録データを操作対象リソースに復元することができる。
【0182】
これにより、情報処理装置201は、意図しないデータ更新が発生した場合に、操作対象リソースのデータ(リソースデータ)をロボット実行前の状態に復元することができる。
【0183】
(実施の形態3)
つぎに、実施の形態3にかかる情報処理装置201について説明する。実施の形態3では、RPA処理(ロボット)の実行時に、データ更新が実施された後、ロボットエラーが発生した場合に、操作対象リソースに登録データを復元可能にする情報処理方法について説明する。なお、実施の形態1,2で説明した箇所と同一の箇所については、同一符号を付して図示および説明を省略する場合がある。
【0184】
(情報処理装置201の機能的構成例)
つぎに、図17を用いて、実施の形態3にかかる情報処理装置201の機能的構成例について説明する。
【0185】
図17は、実施の形態3にかかる情報処理装置201の機能的構成例を示すブロック図である。図17において、情報処理装置201は、受付部701と、実行部702と、検出部703と、取得部704と、比較部705と、出力部706と、記憶部710と、第2の復元部1701と、を含む。受付部701~出力部706および第2の復元部1701は制御部1700となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。
【0186】
以下の説明では、実施の形態1にかかる情報処理装置201と異なる機能について説明する。
【0187】
実行部702は、RPA処理の実行前に、RPA処理の操作対象となるリソース(操作対象リソース)の登録データを取得する。登録データは、例えば、実施の形態2で説明した登録データと同一である。具体的には、例えば、実行部702は、運用者端末202からの実行要求に応じてRPA処理を実行する前に、登録データを取得してもよい。また、実行部702は、RPA処理の実行が完了した際に、次回以降のRPA処理の実行に先立って、登録データを取得してもよい。
【0188】
また、実行部702は、取得した登録データを保存する。具体的には、例えば、実行部702は、RPA処理のプロセスIDと対応付けて、取得した登録データを、メモリ302、ディスク304などの記憶装置に保存する。
【0189】
第2の復元部1701は、RPA処理が実行された際に、RPA処理においてデータ更新が実施された後に、RPA処理のエラーが発生した場合、保存された登録データを操作対象リソースに復元する。例えば、一つのRPA処理の中で、2以上のシステムに対してデータ登録する場合(複数の操作画面それぞれにデータ登録する場合など)がある。
【0190】
この場合、同じRPA処理の中で、例えば、一つ目のシステムへのデータ更新は正常に行われても、二つ目のシステムへのデータ更新がエラーとなる場合がある。このような場合に、RPA処理において、データ更新が実施された後に、RPA処理のエラー(ロボット実行エラー)が発生する。
【0191】
具体的には、例えば、第2の復元部1701は、RPA処理のエラーが発生した場合、RPA処理に対応する自動復元フラグがONとなっているか否かを判定する。そして、第2の復元部1701は、自動復元フラグがONの場合に、保存された登録データを操作対象リソースに復元する。
【0192】
自動復元フラグは、例えば、図12に示したプロセス管理テーブル220から特定される。また、登録データによる復元処理は、例えば、実施の形態2と同様に、操作対象リソースのデータを復元するための機能(データ復元機能)を予め用意することにより実現される。
【0193】
より詳細に説明すると、例えば、第2の復元部1701は、RPA処理のエラーが発生した場合、プロセス管理テーブル220を参照して、実行されたRPA処理のプロセスIDに対応する自動復元フラグを特定する。そして、第2の復元部1701は、自動復元フラグが「ON」の場合、データ復元機能により、操作対象リソースに登録データを復元する。一方、第2の復元部1701は、自動復元フラグが「OFF」の場合、操作対象リソースに登録データを復元しない。
【0194】
また、第2の復元部1701は、RPA処理が実行された際に、操作対象リソースの要素に変更があり、RPA処理においてデータ更新が実施された後に、RPA処理のエラーが発生した場合、保存された登録データを操作対象リソースに復元してもよい。
【0195】
また、出力部706は、復元された復元結果、および、比較された比較結果を出力してもよい。復元結果は、例えば、RPA処理のエラーが発生したため、保存された登録データを用いた操作対象リソースの復元が行われたことを示す。また、復元結果は、操作対象リソースの復元に成功したか否かを示す情報であってもよい。
【0196】
また、出力部706は、操作対象リソースの要素に変更がある場合、操作対象リソースの要素に変更があることを示す情報とともに、復元された復元結果、および、比較された比較結果を出力してもよい。
【0197】
なお、第2の復元部1701は、実施の形態2にかかる情報処理装置201の第1の復元部1301と同様の機能を有していてもよい。例えば、第2の復元部1701は、第1データと第2データとが比較された結果、第1データと第2データとが相違する場合、保存された登録データを操作対象リソースに復元してもよい。また、第2の復元部1701は、第1データと第2データとが相違しないときに、RPA処理のエラーが発生した場合、保存された登録データを操作対象リソースに復元してもよい。
【0198】
(情報処理システム200の動作例)
つぎに、実施の形態3にかかる情報処理システム200の動作例について説明する。ここでは、実行対象のRPA処理を「ロボット1810」とする。
【0199】
図18は、実施の形態3にかかる情報処理システム200の動作例を示す説明図である。図18において、ロボット運用者1801は、運用者端末202を用いて、運用環境(情報処理装置201)でロボット1810を実行する。この結果、ロボット1810が、操作対象となるリソース1803を操作する。
【0200】
ただし、情報処理装置201は、ロボット1810の実行前に、ロボット1810の操作対象となるリソース1803の登録データを取得して保存する。例えば、情報処理装置201は、ロボット1810の前回の実行が正常に完了したときに、リソース1803に登録された登録データを取得して保存してもよい。
【0201】
リソース1803は、例えば、サーバ204(図2参照)により実現されるアプリケーション、Webサイト、システムなどである。ここでは、リソース1803の要素に変更があった場合を想定する。情報処理装置201は、リソース1803の要素に変更があった場合、リソース更新情報を取得する。
【0202】
また、情報処理装置201は、ロボット1810によりデータ更新が実施される場合、データ更新における更新用のデータ(第2データ)を保存する。そして、情報処理装置201は、ロボット1810によりデータ更新が実施された場合、データ更新が実施された箇所の第1データをリソース1803から取得する。
【0203】
情報処理装置201は、取得した第1データと、保存した第2データとを比較することにより、ロボット1810の実行前後のデータ差分をチェックする処理を実行する。そして、情報処理装置201は、リソース比較処理結果を取得する。
【0204】
ここで、ロボット1810によりデータ更新が実施された後(リソースデータ更新処理後)に、ロボット1810の実行エラーが発生した場合を想定する。
【0205】
情報処理装置201は、ロボット1810に対応する自動復元フラグがONとなっているか否かを判定する。ここでは、ロボット1810に対応する自動復元フラグがONの場合を想定する。この場合、情報処理装置201は、保存した登録データをリソース1803に復元する。
【0206】
そして、情報処理装置201は、データ復元情報を取得する。データ復元情報は、例えば、データ更新が実施された後にロボット実行エラーが発生したため、登録データを用いた操作対象リソースの復元が行われたことや、操作対象リソースの復元に成功したか否かを示す情報である。
【0207】
情報処理装置201は、ロボット保守者1802に対して、取得したリソース更新情報とリソース比較処理結果とデータ復元情報とを含むリソース更新通知1820を送信する。リソース更新通知1820は、ロボット運用者1801に送信されてもよい。
【0208】
これにより、ロボット保守者1802(または、ロボット運用者1801)は、実行されたロボット1810の操作対象のリソース1803について、要素に変更があり、データ更新が実施された後にロボット実行エラーが発生したため、リソースデータ(リソース1803のデータ)の復元が行われたことを把握することができる。
【0209】
また、ロボット保守者1802(または、ロボット運用者1801)は、リソース更新通知1820のリソース比較処理結果を参照して、意図しないデータ更新が発生していたかどうかを確認することができる(ただし、リソースデータは復元されている)。
【0210】
また、情報処理装置201は、リソース1803の要素に変更があったものの、ロボット1810によりデータ更新が実施されなかった場合、ロボット保守者1802(または、ロボット運用者1801)に対して、リソース更新情報を含むリソース更新通知を送信してもよい。
【0211】
これにより、ロボット保守者1802(または、ロボット運用者1801)は、実行されたロボット1810の操作対象のリソース1803の要素に変更があったことを把握することができる。また、ロボット保守者1802(または、ロボット運用者1801)は、今回の処理ではユーザデータへの影響は発生していないものの、他の処理でユーザデータに影響を及ぼす可能性があることを把握することができる。
【0212】
(情報処理装置201の情報処理手順)
つぎに、実施の形態3にかかる情報処理装置201の情報処理手順について説明する。
【0213】
図19および図20は、実施の形態3にかかる情報処理装置201の情報処理手順の一例を示すフローチャートである。図19において、情報処理装置201は、運用者端末202からの実行要求に応じて、ロボット(RPA処理)を実行する(ステップS1901)。この結果、ロボットにより、操作対象となるリソース(操作対象リソース)が操作される。この際、情報処理装置201は、ロボットによりデータ更新操作が実施される場合、データ更新操作における更新用のデータ(第2データ)を保存する。
【0214】
つぎに、情報処理装置201は、操作対象リソースにおいてリソース更新が発生したか否かを判断する(ステップS1902)。ここで、リソース更新が発生していない場合(ステップS1902:No)、情報処理装置201は、ステップS1904に移行する。
【0215】
一方、リソース更新が発生した場合(ステップS1902:Yes)、情報処理装置201は、リソース更新情報を取得する(ステップS1903)。そして、情報処理装置201は、ロボット実行エラーが発生したか否かを判断する(ステップS1904)。
【0216】
ここで、ロボット実行エラーが発生していない場合(ステップS1904:No)、情報処理装置201は、図20に示すステップS2001に移行する。一方、ロボット実行エラーが発生した場合(ステップS1904:Yes)、情報処理装置201は、ロボットによりデータ更新操作が実施されたか否かを判断する(ステップS1905)。
【0217】
ここで、データ更新操作が実施されていない場合(ステップS1905:No)、情報処理装置201は、図20に示すステップS2001に移行する。一方、データ更新操作が実施された場合(ステップS1905:Yes)、操作対象リソースからデータ更新操作が実施された箇所の第1データを取得する(ステップS1906)。第1データは、例えば、更新したすべてのデータ入力欄のデータである。
【0218】
そして、情報処理装置201は、操作対象リソースに対して、ロボット実行前のリソースデータとのリソース比較処理を実施する(ステップS1907)。リソース比較処理とは、ステップS1906において取得された第1データと、ステップS1901において保存された第2データとを比較する処理である。
【0219】
つぎに、情報処理装置201は、リソース比較処理結果を取得する(ステップS1908)。そして、情報処理装置201は、自動復元フラグが「ON」、かつ、リソースデータに差分ありか否かを判断する(ステップS1909)。リソースデータに差分ありは、第1データと第2データとが相違する場合に相当する。
【0220】
ここで、自動復元フラグが「ON」、かつ、リソースデータに差分ありではない場合(ステップS1909:No)、情報処理装置201は、図20に示すステップS2001に移行する。一方、自動復元フラグが「ON」、かつ、リソースデータに差分ありの場合(ステップS1909:Yes)、情報処理装置201は、ロボット実行前のリソース登録データを操作対象リソースに復元する(ステップS1910)。
【0221】
リソース登録データは、操作対象リソースに登録されたデータ(登録データ)である。リソース登録データは、対象リソース情報と対応付けて保存されている。対象リソース情報は、例えば、ロボットのプロセスIDや操作対象リソースを特定する情報を含む。そして、情報処理装置201は、図20に示すステップS2001に移行する。
【0222】
図20のフローチャートにおいて、まず、情報処理装置201は、ロボットの保守者(または、運用者)に対して、処理結果を送信する(ステップS2001)。処理結果は、例えば、取得された各種情報(リソース更新情報、リソース比較処理結果)、リソース登録データの復元結果、ロボット実行エラーが発生したことなどを示す情報を含む。
【0223】
つぎに、情報処理装置201は、リソース登録データを取得する(ステップS2002)。なお、ステップS2002の処理は、ステップS1905においてデータ更新操作が実施されていない場合はスキップしてもよい。そして、情報処理装置201は、対象リソース情報と対応付けて、取得したリソース登録データを保存して(ステップS2003)、本フローチャートによる一連の処理を終了する。
【0224】
これにより、情報処理装置201は、ロボットが実行された際に、データ更新が実施された後、ロボット実行エラーが発生した場合に、リソースデータをロボット実行前の状態に復元することができる。また、情報処理装置201は、ロボットが実行された際に、操作対象リソースの要素に変更があった場合、その旨をロボットの保守者(または、運用者)に通知することができる。
【0225】
また、情報処理装置201は、ロボットによりデータ更新操作が実施された場合には、ロボット実行前のリソースデータとのリソース比較処理結果を通知することができる。また、情報処理装置201は、データ復元処理が実施された場合に、その旨をロボットの保守者(または、運用者)に通知することができる。
【0226】
以上説明したように、実施の形態3にかかる情報処理装置201によれば、RPA処理の実行前に、操作対象リソースに登録されたデータのうち、前記RPA処理においてデータ更新が実施される箇所のデータを含む登録データを取得し、取得した登録データを保存することができる。そして、情報処理装置201によれば、RPA処理を実行した際に、RPA処理においてデータ更新が実施された後に、RPA処理のエラーが発生した場合、保存した登録データを操作対象リソースに復元することができる。
【0227】
これにより、情報処理装置201は、ロボット(RPA処理)実行時に、ロボット操作によりリソースデータが更新された後、ロボット実行エラーが発生した場合に、操作対象リソースのデータ(リソースデータ)をロボット実行前の状態に戻すことができる。
【0228】
また、情報処理装置201によれば、復元結果(例えば、データ復元情報)および比較結果(例えば、リソース比較処理結果)を出力することができる。復元結果は、例えば、ロボット実行エラーが発生したため、リソース登録データを用いた操作対象リソースの復元が行われたことを示す。
【0229】
これにより、情報処理装置201は、ロボットの保守者や運用者に対して、データ更新が実施された後にロボット実行エラーが発生したため、リソースデータの復元処理が行われたことを通知することができる。
【0230】
また、情報処理装置201によれば、RPA処理のエラーが発生した場合、RPA処理に対応する自動復元フラグがON(有効)となっているか否かを判定することができる。そして、情報処理装置201によれば、自動復元フラグがONの場合、保存した登録データを操作対象リソースに復元することができる。また、情報処理装置201によれば、自動復元フラグがOFF(無効)の場合、保存した登録データを操作対象リソースに復元しないようにすることができる。
【0231】
これにより、情報処理装置201は、ロボット実行時に、ロボット操作によりリソースデータが更新された後、ロボット実行エラーが発生した場合に、リソースデータをロボット実行前の状態に戻すかどうかを選択可能にすることができる。
【0232】
例えば、ロボット実行時に、データ更新処理自体は正常に実行されたとしても、ロボット処理全体としてエラーが生じている場合、システム運用としては、ロボット処理の修正、稼働検証後に、ロボットの再稼働を行うことになる。その際、従来は、運用者が手動でリソースデータを元に戻す等の対処を行っていた。これに対して、情報処理装置201によれば、ロボット実行エラーが発生した場合に、リソースデータのロールバックを自動で行うことで、運用者等にかかる負荷を削減するとともに、RPAロボットの運用作業における復旧速度の向上を図ることができる。
【0233】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【0234】
また、本実施の形態で説明した情報処理装置101(情報処理装置201)は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0235】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0236】
(付記1)作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、
取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、
比較した比較結果を出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0237】
(付記2)前記比較結果に基づいて、前記第1データと前記第2データとの相違部分を抽出する、
処理を前記コンピュータに実行させ、
前記出力する処理は、
抽出した前記相違部分を特定可能な情報を出力する、ことを特徴とする付記1に記載の情報処理プログラム。
【0238】
(付記3)前記第1データと前記第2データとが相違する場合、前記RPA処理の実行を抑制する、処理を前記コンピュータに実行させることを特徴とする付記1または2に記載の情報処理プログラム。
【0239】
(付記4)前記出力する処理は、
前記リソースの要素に変更があることを示す情報とともに、前記比較結果を出力する、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0240】
(付記5)前記RPA処理の実行前に、前記リソースに登録されたデータのうち、前記RPA処理においてデータ更新が実施される箇所のデータを含む登録データを取得し、
取得した前記登録データを保存し、
前記RPA処理を実行した際に、前記リソースの要素に変更があり、かつ、前記データ更新が実施された場合、保存した前記登録データを前記リソースに復元する、
処理を前記コンピュータに実行させることを特徴とする付記1~4のいずれか一つに記載の情報処理プログラム。
【0241】
(付記6)前記出力する処理は、
前記リソースの要素に変更があることを示す情報とともに、復元した復元結果および前記比較結果を出力する、ことを特徴とする付記5に記載の情報処理プログラム。
【0242】
(付記7)前記RPA処理を実行した際に、前記リソースの要素に変更があり、かつ、前記データ更新が実施された場合、前記RPA処理に対応する自動復元フラグが有効となっているか否かを判定する、処理を前記コンピュータに実行させ、
前記復元する処理は、
前記自動復元フラグが有効の場合、保存した前記登録データを前記リソースに復元し、
前記自動復元フラグが無効の場合、保存した前記登録データを前記リソースに復元しない、ことを特徴とする付記5または6に記載の情報処理プログラム。
【0243】
(付記8)前記復元する処理は、
前記第1データと前記第2データとが相違する場合に、前記登録データを前記リソースに復元する、ことを特徴とする付記5~7のいずれか一つに記載の情報処理プログラム。
【0244】
(付記9)前記RPA処理の実行前に、前記リソースに登録されたデータのうち、前記RPA処理においてデータ更新が実施される箇所のデータを含む登録データを取得し、
取得した前記登録データを保存し、
前記RPA処理を実行した際に、前記RPA処理においてデータ更新が実施された後に、前記RPA処理のエラーが発生した場合、保存した前記登録データを前記リソースに復元する、
処理を前記コンピュータに実行させることを特徴とする付記1~8のいずれか一つに記載の情報処理プログラム。
【0245】
(付記10)前記出力する処理は、
復元した復元結果および前記比較結果を出力する、ことを特徴とする付記9に記載の情報処理プログラム。
【0246】
(付記11)前記RPA処理のエラーが発生した場合、前記RPA処理に対応する自動復元フラグが有効となっているか否かを判定する、処理を前記コンピュータに実行させ、
前記復元する処理は、
前記自動復元フラグが有効の場合、保存した前記登録データを前記リソースに復元し、
前記自動復元フラグが無効の場合、保存した前記登録データを前記リソースに復元しない、ことを特徴とする付記9または10に記載の情報処理プログラム。
【0247】
(付記12)前記RPA処理を実行した際に表示された操作画面のhtml情報と、前記RPA処理を前回実行した際に表示された操作画面のhtml情報とに基づいて、前記リソースの要素の変更を検出する、処理を前記コンピュータに実行させ、
前記取得する処理は、
前記リソースの要素の変更を検出し、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得する、ことを特徴とする付記1~11のいずれか一つに記載の情報処理プログラム。
【0248】
(付記13)作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、
取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、
比較した比較結果を出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【0249】
(付記14)作業を自動化するRPA処理を実行した際に、前記RPA処理の操作対象となるリソースの要素に変更があり、かつ、前記RPA処理においてデータ更新が実施された場合、前記データ更新が実施された箇所の第1データを前記リソースから取得し、
取得した前記第1データと、記憶部に記憶された前記データ更新における更新用の第2データとを比較し、
比較した比較結果を出力する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0250】
101,201 情報処理装置
102 RPA処理
103,1003,1403,1803 リソース
104 保守者
110,710 記憶部
120 比較結果
200 情報処理システム
202 運用者端末
203 保守者端末
204 サーバ
210 ネットワーク
220 プロセス管理テーブル
230 リソース更新情報管理テーブル
240 リソースデータ保存テーブル
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
700,1300,1700 制御部
701 受付部
702 実行部
703 検出部
704 取得部
705 比較部
706 出力部
800 操作画面
801,802 入力欄
803 ボタン
810 会員一覧
901 会員情報
1001,1401,1801 ロボット運用者
1002,1402,1802 ロボット保守者
1010,1410,1810 ロボット
1020,1420,1820 リソース更新通知
1301 第1の復元部
1701 第2の復元部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20