図面 (/)

技術 ソフトウェアロボット管理方法、ソフトウェアロボット管理装置、プログラム

出願人 日本電気株式会社
発明者 猿田佳史
出願日 2019年3月19日 (1年9ヶ月経過) 出願番号 2019-051172
公開日 2020年9月24日 (3ヶ月経過) 公開番号 2020-154553
状態 未査定
技術分野
  • -
主要キーワード 特異データ 超過フラグ ロボット処理 ロボット単体 実行多重度 予測実行 ツールデータ 処理記録
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年9月24日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (15)

課題

RPAツールを有効活用することができず、ソフトウェアロボットによる業務に支障が発生すること。

解決手段

本発明のソフトウェアロボット管理装置100は、ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部121と、特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部122と、を備える。

概要

背景

業務の生産性向上のために、RPA(Robotic Process Automation)という技術を活用したコンピュータ業務の効率化を進める取り組みに注目が集まっている。RPAでは、人間がキーボードマウスを用いて行う定型業務等をソフトウェアロボットに覚えさせ、人間の代わりにソフトウェアロボットがコンピュータ操作を実行することで業務の自動化を実現している。例えば、特許文献1にRPA技術が記載されている。

そして、近年では、多数のRPAツールが開発されているが、RPAツール毎に特徴があり、処理内容得手/不得手がある。このため、利用者は、ソフトウェアロボットに実行させる処理内容によっては、RPAツールを使い分けることを行っている。

概要

RPAツールを有効活用することができず、ソフトウェアロボットによる業務に支障が発生すること。本発明のソフトウェアロボット管理装置100は、ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部121と、特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部122と、を備える。

目的

本発明の目的は、上述した課題である、RPAツールを有効活用することができず、ソフトウェアロボットによる業務に支障が発生する、ということを解決することにある

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理し、特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する、ソフトウェアロボット管理方法

請求項2

請求項1に記載のソフトウェアロボット管理方法であって、前記特定のツールに対応する形式の前記定義情報を、複数のツールで認識可能な形式に汎化した汎化定義情報に変換する、ソフトウェアロボット管理方法。

請求項3

請求項2に記載のソフトウェアロボット管理方法であって、前記特定のツールにおいて実行するよう計画されたソフトウェアロボットが、当該ソフトウェアロボットの前記汎化定義情報を用いて別のツールで実行されるよう計画する、ソフトウェアロボット管理方法。

請求項4

請求項3に記載のソフトウェアロボット管理方法であって、予め設定された複数のツールのそれぞれにおけるソフトウェアロボットを実行するときの特性を表す特性情報に基づいて、前記特定のツールで計画されたソフトウェアロボットを実行した場合の予測実行時間を算出し、前記予測実行時間に基づいて、前記特定のツールにおいて実行するよう計画されたソフトウェアロボットが、当該ソフトウェアロボットの前記汎化定義情報を用いて別のツールで実行されるよう計画する、ソフトウェアロボット管理方法。

請求項5

請求項3又は4に記載のソフトウェアロボット管理方法であって、予め設定された複数のツールのそれぞれにおけるソフトウェアロボットを実行するときの特性を表す特性情報に基づいて、前記別のツールで計画されたソフトウェアロボットを当該ソフトウェアロボットの前記汎化定義情報を用いて実行した場合の予測実行時間を算出し、前記予測実行時間に基づいて、前記別のツールでソフトウェアロボットが実行される計画を確定する、ソフトウェアロボット管理方法。

請求項6

請求項4又は5に記載のソフトウェアロボット管理方法であって、前記特性情報は、ツールにおいて実行されるソフトウェアロボットの数に応じた特性を表す多重度特性情報を含み、計画の変更前と変更後のそれぞれにおいてツールで実行されるソフトウェアロボットの数に応じた前記多重度特性情報を用いて、前記予測実行時間を算出する、ソフトウェアロボット管理方法。

請求項7

請求項4乃至6のいずれかに記載のソフトウェアロボット管理方法であって、前記特性情報は、ツールにおいてソフトウェアロボットが実行されたときの時刻に応じた特性を表す時刻特性情報を含み、計画の変更前においてツールでソフトウェアロボットが実行される時刻に応じた前記時刻特性情報を用いて、前記予測実行時間を算出する、ソフトウェアロボット管理方法。

請求項8

ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部と、特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部と、を備えたソフトウェアロボット管理装置

請求項9

情報処理装置に、ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部と、特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部と、を実現させるためのプログラム

技術分野

0001

本発明は、ソフトウェアロボット管理方法、ソフトウェアロボット管理装置プログラムに関する。

背景技術

0002

業務の生産性向上のために、RPA(Robotic Process Automation)という技術を活用したコンピュータ業務の効率化を進める取り組みに注目が集まっている。RPAでは、人間がキーボードマウスを用いて行う定型業務等をソフトウェアロボットに覚えさせ、人間の代わりにソフトウェアロボットがコンピュータ操作を実行することで業務の自動化を実現している。例えば、特許文献1にRPA技術が記載されている。

0003

そして、近年では、多数のRPAツールが開発されているが、RPAツール毎に特徴があり、処理内容得手/不得手がある。このため、利用者は、ソフトウェアロボットに実行させる処理内容によっては、RPAツールを使い分けることを行っている。

先行技術

0004

特開2018−176387号公報

発明が解決しようとする課題

0005

しかしながら、RPAツールでは、ソフトウェアロボットによる処理動作を定義する定義情報形式がそれぞれ異なる。このため、RPAツール間でソフトウェアロボットを移行する場合には、移行先のRPAツールに適応した定義情報を作成する必要があり、定義情報の作成に手間やコストがかかる。一方で、定義情報の作成に手間やコストをかけず、特定のRPAツールにソフトウェアロボットの処理が偏った場合には、特定のRPAツールによる処理が滞り、ボトルネックが生じうる。すると、他のRPAツールを有効活用することができず、ソフトウェアロボットによる業務に支障が発生する、という問題が生じる。

0006

このため、本発明の目的は、上述した課題である、RPAツールを有効活用することができず、ソフトウェアロボットによる業務に支障が発生する、ということを解決することにある。

課題を解決するための手段

0007

本発明の一形態であるソフトウェアロボット管理方法は、
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理し、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する、
という構成をとる。

0008

また、本発明の一形態であるソフトウェアロボット管理装置は、
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部と、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部と、
を備えた、
という構成をとる。

0009

本発明の一形態であるプログラムは、
情報処理装置に、
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部と、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部と、
を実現させる、
という構成をとる。

発明の効果

0010

本発明は、以上のように構成されることにより、RPAツールを有効活用することができ、ソフトウェアロボットによる業務への支障が発生することを抑制することができる。

図面の簡単な説明

0011

本発明の実施形態1におけるソフトウェアロボット管理システムの構成を示す図である。
図1Aに開示した管理装置の構成を示すブロック図である。
図1Bに開示したツールデータ記憶部に記憶されるデータの一例を示す図である。
図1Aに開示したソフトウェアロボット管理システムの動作を示すフローチャートである。
図1Aに開示したソフトウェアロボット管理システムによる処理の様子を示す図である。
図1Aに開示したソフトウェアロボット管理システムによる処理の様子を示す図である。
図1Aに開示したソフトウェアロボット管理システムによる処理の様子を示す図である。
図1Aに開示したソフトウェアロボット管理システムの動作を示すフローチャートである。
図1Aに開示したソフトウェアロボット管理システムによる処理の様子を示す図である。
図1Aに開示したソフトウェアロボット管理システムによる処理の様子を示す図である。
図1Aに開示したソフトウェアロボット管理システムによる処理の様子を示す図である。
本発明の実施形態2におけるソフトウェアロボット管理装置のハードウェア構成を示すブロック図である。
本発明の実施形態2におけるソフトウェアロボット管理装置の構成を示すブロック図である。
本発明の実施形態2におけるソフトウェアロボット管理装置の動作を示すフローチャートである。

実施例

0012

<実施形態1>
本発明の第1の実施形態を、図1乃至図10を参照して説明する。図1乃至図2は、ソフトウェアロボット管理システムの構成を説明するための図であり、図3乃至図10は、ソフトウェアロボット管理システムの処理動作を説明するための図である。

0013

[構成]
本実施形態におけるソフトウェアロボット管理システムは、複数の異なるRPAツールを導入した環境を統合して管理するために使用される。具体的に、図1Aに示すように、ソフトウェアロボット管理システムは、RPA実行基盤A,Bと、RTツール管理装置Aa,Baと、管理装置10と、を備えている。

0014

上記RPA実行基盤A,Bは、ソフトウェアロボット(以下、単に「ロボット」とも言う。)を実行する実行環境であり、いわゆるRPAツール(以下、単に「ツール」とも言う。)と呼ばれるものである。具体的に、RPA実行基盤は、ロボットの処理動作を定義する定義情報を読み込み、定義の内容通りの処理動作を行う機能を有する。例えば、定義情報に従い、ユーザの業務システムWebサイトアクセスし、情報の取得や入力を行ったり、マウス操作などユーザの業務作業をエミュレートする、といった処理を行う。また、RPA実行基盤A,Bは、実行した処理動作を1ステップ(予め設定された1単位の処理)ごと記録する機能や、実行にかかった時間を1ステップごとに報告する機能を有する。

0015

ここで、本実施形態において図1Aに示すRPA実行基盤A,Bは、それぞれ異なるRPAツールであり、ロボットの定義情報の形式が異なることとする。つまり、第1RPA実行基盤で実行される計画のロボットの定義情報は、第1RPA実行基盤Aで認識できるよう作成されており、第2RPA実行基盤Bでは認識できないこととなる。なお、図1Aでは、2つのRPA実行基盤A,Bしか図示していないが、装備されるRPA実行基盤の数は2つであることに限定されない。

0016

上記RPAツール管理装置Aa,Baは、RPA実行基盤を管理するソフトウェアが組み込まれており、配下のRPA実行基盤を管理する機能を有する。具体的に、第1RPAツール管理装置Aaは、図1Aでは配下に第1RPA実行基盤Aがあるが、複数のRPA実行基盤がある場合には、複数のRPA実行基盤をデータベースにより管理し、一元的に情報を表示/変更する機能を有する。また、第1RPAツール管理装置Aaは、配下のRPA実行基盤Aで動作するロボットをスケジュール管理する機能、ロボットの実行をキューに入れるまたは平行実行する機能、配下のRPA実行基盤にロボットの定義情報を配布し、ロボット実行させる機能、ロボットの実行状況の統計を取る機能、などを有する。第2RPAツール管理装置Baも、第1RPAツール管理装置Baと同様の機能を有している。なお、図1Aでは、2つのRPAツール管理装置Aa,Baしか図示していないが、装備されるRPAツール管理装置の数は2つであることに限定されない。

0017

上記管理装置10は、上述した複数のRPA実行基盤A,BからなるRPAツールを統合して管理するシステムである。本実施形態では、管理装置10は、演算装置記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、管理装置10は、図1Bに示すように、演算装置がプログラムを実行することで構築された、スケジュール管理部11、定義変換部12、を備える。また、管理装置10は、記憶装置に形成された、ツールデータ記憶部13、スケジュールデータ記憶部14、定義データ記憶部15、を備える。以下、各構成について詳述する。

0018

上記ツールデータデータ記憶部13は、図2に示すように、各RPA実行基盤の特性、つまり、各RPA実行基盤がロボットを実行するときの特性、を表す特性情報を記憶している。RPAツールの特性情報としては、まず、符号21に示す「RPAツールの特性管理表」があり、RPA実行基盤の種類毎に(例えば、第1RPA実行基盤A(RPA1)、第2RPA実行基盤B(RPA2))、並列処理、Loopの定義記述オブジェクト取得の定義記述、X-PathによるWeb要素取得の定義記述、画像検索の定義記述、がそれぞれ可能か不可能かを表す情報を記憶している。また、符号22に示す「無負荷状態性能管理表」は、ロボット毎にロボットを単体で動かしたときに、それぞれの管理下にあるRPAツールにおいて、動作対象としたシステム名、実行にかかった時間、そのうち対象システムでの応答時間、ツール内部での処理時間(実行時間)、および、処理実行待ち時間待機時間)を記憶している。

0019

また、符号23に示す「ロボットの実行状態管理表」は、上記符号22のロボットを単体で実行した結果の記録に対して、1つのRPA実行基盤で複数のロボットを多重実行したときのロボットの実行状態を記録する表である。具体的に、上記符号22の情報に加えて、ロボットの実行時にどれだけほかのロボットが動いていたかを表す多重度と、ロボットを実行投入した時刻と、を記憶している。また、符号24に示す「対象システムの性能管理表」は、対象システムに対して行った操作の種類ごとの操作投入時刻とその応答時間を記憶している。

0020

上記スケジュールデータ記憶部14は、各RPA実行基盤A,Bで実行されるロボットの計画を表すスケジュールを記憶している。例えば、後述する図6の符号61に示すように、ロボット毎に、実行されるRPA実行基盤、対象システム、前回の投入時刻、次回投入時刻、を記憶している。

0021

上記定義データ記憶部15は、ロボット毎の定義情報を記憶している。例えば、ロボットの定義情報は、はじめは上記スケジュールで計画されているように実行される予定の特定のRPA実行基盤に対応した形式で作成されて記憶されている。また、定義データ記憶部15には、後述するように、特定のRPA実行基盤に対応した形式の定義情報から変換されて汎化された汎化定義情報も記憶されることとなる。

0022

上記スケジュール管理部11(管理部)は、まず、上述したツールデータ記憶部13に記憶部13に記憶されている図2に示すようなRPA実行基盤の特性情報を管理する。このとき、スケジュール管理部11は、各RPA実行基盤にてロボットを実行させたときの特性情報を取得してツールデータ記憶部13に記憶する。また、スケジュール管理部11は、スケジュールデータ記憶部14に記憶されている図6の符号61に示すようなスケジュールを管理している。このとき、スケジュール管理部11は、各RPA実行基盤の特性情報に基づいて、スケジュールに基づくロボットの実行時間を予測し、スケジュール通りに進まないことが予測される場合には、スケジュールを変更する。つまり、ロボットを実行させるRPA実行基盤を当初のスケジュールから変更することで、ロボットを各RPA実行基盤に分配する。

0023

上記定義変換部12は、定義データ記憶部15に記憶されている、特定のRPA実行基盤に特化した形式で記述されたロボットの定義情報を、他のRPA実行基盤でも認識可能な汎化的な記述である汎化記述情報に変換する。ここで、通常、RPA実行基盤であるRPAツールは、ツール毎にロボットの定義のフォーマットは異なるものの、ロボットの動作自体は、動作を組み込むロジックと、その部品としてマウス操作、変数格納、抽出/入力、ファイル操作、Web pageのロード、ループ処理、のカテゴリ集約されている。従って、これらのカテゴリに動作を汎化させることによって、RPAツールがその汎化した内容を認識することができる。そしてさらに、各RPAツールが、汎化した内容を自身のツールに特化した形式に具象化させることによって、定義を移行させることができるようになる。なお、定義情報の汎化の具体例については後述する。

0024

[動作]
次に、上述したソフトウェアロボット管理システムの動作を、図3乃至図9を参照して説明する。まず、スケジュールで計画されているロボットの実行時間を推定する処理について説明する。

0025

ロボットの実行にかかる時間は、その実行を行う時刻における対象システムのレスポンスタイムStと、ロボット実行基盤内での多重度iにおける処理時間をEitとし、ある時刻tにおけるロボットの処理全体のレスポンスタイムをRTtとすると、多重度iにおけるRTtを以下のように定義できる。
RTit = Eit + St
ただし、Eは実行投入時刻にかかわらず、多重度iにのみ依存することとすると、
RTit = Ei + St
となる。
このRTitを推定することによって、多重度iにおける同時刻にロボットが実行するスケジュールが、次のスケジュール実行までに終了するかどうかを判断する。

0026

まず、Eiを図3に示すフローチャートに従って推定する。
ステップS1にて、図2の符号22に示す「無負荷状態の性能管理表」から、無負荷状態のロボットの性能一覧表を取得する。そして、取得した表から、ステップS2にて、RPA実行基盤内での各内部処理時間(内部処理実行時間,内部処理待機時間)を取得し、これを多重度1の状態として記憶する。

0027

続いて、ステップS3にて、ロボットが多重実行されたときのRPA実行基盤内での実行処理時実績を取得する。例えば、図2の符号23に示す「ロボットの実行状態管理表」から抽出したいロボットで情報をフィルタして、各RPA実行基盤における各ロボットの多重度と各内部処理時間(内部処理実行時間,内部処理待機時間)とを取得する。そして、ステップS4にて、図4の上図に示すように、特定のRPA実行基盤における特定のロボットの多重度と内部処理時間との関係を表す表を作成する。図4の上図の例は、ロボット「Robot1」、RPA実行基盤「RPA1」の場合における各「多重度」に対する各「内部処理時間」の関係を表にしたものである。

0028

続いて、ステップS5にて、ステップS4にて作成した表のデータから、推定技術を用い、多重度に対する内部処理時間の予測を行う。例えば、図4下図点線に示すように予測を行う。なお、推定は、最尤推定などを利用したり、いかなる方法で行ってもよい。これにより、ある多重度iにおけるシステム内部処理時間関数Eiが導出される。

0029

続いて、上記Stを推定する。システムのレスポンスタイムも、システムに対するアクセスすなわち実行多重度が大きいほど処理時間に影響する。多重度は、ユーザのシステム利用が集中する時間に依存するため、結果的に、ある時刻のシステムのレスポンスタイムを計測することで多重度の影響を吸収ことができる。ただし、1つのロボットは複数のシステムに対する命令を持つため、この1つのロボット全体が終わるまでのレスポンスタイムを計測すると、システム負荷以外の要素、すなわち、ネットワーク不調などの要素が内在しやすく、予測結果に大きな誤差を生じさせることになる。このようなことを極力排除するために、システムに対する操作1つ1つのアクションに対するレスポンスタイムを推定し、閾値を設定し、特異データ除外するなどを行い、異常値を排除する。

0030

上記のために、ロボットの施行(動作)ごとにレスポンスタイムを取得しながら、図2の符号24に示す「対象システムの性能管理表」のように繰り返し記録する。この際には、ロボット処理の全体で情報を記録するのではなく、ロボット内部で実行された動作単位で情報を取得し、表を作成する。そのデータを取得するために、例えばRPA実行基盤にて、対象システムの応答時間が記録される場合にはその情報を用い、それ以外の場合には、ロボットを実行するときに、Chrome(登録商標)のiMacroやWindows(登録商標)の操作記録など処理記録ツールと連携し、ロボットによる操作に対するWebシステムの応答時間を取得する。このようにして取得したシステム応答時間を、ある時刻tにおける、ロボットの実行部品aにおける対象システムの応答時間Satとして計測し、上述したEiと同様の手順にて、図5に示すように推定をする。
なお、SatとStとの関係は、以下の通りである
ΣSat=St
ただし、ΣSatは、ロボットで実行する部品ごとのある時刻におけるレスポンスタイムの合計を示す。

0031

次に、スケジュールで計画されているロボットの実行時間を推定する。ここでは、上述した情報を用いて、ある時刻tにおける多重度iで実行されたスケジュールの実行時間RTを推定する。上記のように推定された、EiおよびStによって、RTitは以下の関係式により推定が可能である。
RTit = Ei + St
上記関係式により、未来の時刻である次回に実行しようとするスケジュールの実行にかかる時間を推定する。
tには次回スケジュールを実行する時刻、iには多重度を指定し、実行するロボット毎に予測時間を算出する。

0032

次に、定期的にスケジュール実行が組まれている場合を想定し、次の投入時刻までに処理が終わるかどうかのシミュレーションを、図6に示すような表を作ることで行う。ここでは、次回投入時刻は、各RPA管理装置Aa,Ba内で管理しているスケジュールまたは管理装置10で管理しているスケジュールから、定期的に実行されるロボットの実行計画を、図6の符号61に示すように取得することとする。

0033

図6の符号62の表において、内部処理予測はEi、システム応答時間予測はSt、合計予測時間はRTitに相当する。このときRTitが、図6の符号61の表で管理している次回投入時刻を超えている場合、超過フラグを立てて管理する。

0034

次に、図7に示すフローチャートに従って、スケジュールの最適化を行う。まず、ステップS11にて、超過フラグが投入するスケジュール実行に立っているか確認する。超過フラグが立っているロボットがある場合には(ステップS11でYes)、そのロボットを対象ロボットとし、ステップS12にて、対象ロボットが投入されるRPA実行基板以外のRPA実行基盤で、対象ロボットが投入される時刻に処理が行われるスケジュールがあるかどうかを確認する。そして、スケジュールがある場合であっても(ステップS12でYes)、そのスケジュールが予定時間内に終わるか確認する(ステップS13)。このとき、スケジュール実行が予定時間内に終わる余裕がない、または、終わらないロボットが投入される予定がある場合は(ステップS13でNo)、最適化不可能と判断する(ステップS18)。

0035

一方で、対象ロボットが投入されるRPA実行基板以外のRPA実行基盤で、対象ロボットが投入される時刻に処理が行われるスケジュールがないなど、最適化の余地があると判断された場合には(ステップS12でNo,ステップS13でYes)、ステップS14にて、対象ロボットを別のRPA実行基盤に移行させるシミュレーションを開始する。

0036

ステップS14の処理で対象ロボットを移行させるため、ステップS15にて、最適化の対象となるRPA実行基盤(RPA1とする)側の多重度を1減らし、再度予測時間を計算しなおす。また、ステップS16にて、対象ロボットが移行されることにより処理が増やされる側のRPA実行基盤(RPA2とする)において、移行される対象ロボットの処理を定義情報から推測し、投入される操作の内部処理時間をそのロボットの多重度を加味して推定し、処理時間RTitを推測する。このとき、外部システムの応答時間Stは、投入時刻と投入される処理にのみ依存し、ロボットを投入するシステムがRPA1からRPA2に変化したとしても変わらないとする。

0037

上述したようにロボットを投入するRPAの入れ替えを行った後、ステップS17にて、予定終了時間が次回投入時刻を超過するものがないか調べる。超過するものが無い場合には(ステップS17でYes)、ロボットを投入するRPA実行基盤を入れ替えたスケジュールを確定する。もし、まだ超過するものがある場合は(ステップS17でNo)、移行させるロボットを再選択し、ステップS14に戻る。また、もしすべてのロボット単体の移行における調査が終わっても、いまだ処理時間超過が発生する予測が立つ場合には、今度は移行させるロボットの数を増やし、かつ移行させるロボットの組み合わせを全調査する。それでも、処理時間超過が発生する場合には、最適化不可能と判断する。

0038

次に、対象ロボットの定義情報を、以降するRPA実行基盤に対応させるための定義移行処理について説明する。ここでは、RPA実行基盤であるRPAツールは、ツール毎に定義のフォーマットは異なるものの、動作自体は、動作を組み込むロジックとその部品として、マウス操作、変数格納、抽出/入力、ファイル操作、Web pageのロード、ループ処理に集約されている。したがって、これらのカテゴリに動作を汎化させることによって、RPAツールがその汎化した内容から各ツールが読める形に具象化させることによって、定義を移行させることができる。以下に、定義の汎化の一例を示す。ただし、Webの操作を対象とし、どのRPAツールもX-pathを理解できるものとする。

0039

・Object認識型ツールから定義の汎化方法。
ここでは図8を例に説明する。
クリックなどを行う対象のWebオブジェクトのX-pathを取得し、定義に記載する。
Loopについては、ループ構文が独自のもので使えるものは、それを汎化フォーマットに単純変換する。
また、同じ階層のX-pathのpath添え字がincrementされて繰り返しているものは、Loop処理として変換する。

0040

画像認識型ツールから定義の汎化方法
ここでは図9を例に説明する。
画像認識型は、ターゲットとなる画像/文字列を発見し、その周辺入力ボックスや、情報を取得する方式となる。そのため、X-pathの情報がないため、直接オブジェクトパスが指定できない。それを解決するべく、以下の手順を行う。
画像認識型RPAツールを動かし、WebSiteにアクセスさせ、ロボットを実行させる。このとき、Browser(Chrome)などの機能やツールにより、Webにアクセスし、クリックしたオブジェクトなどの操作記録をとれるツール(iMacroなど)と連携し、操作記録および、アクセス応答時間を取得する。ツールの操作記録をさらに、ターゲットのX-pathを取得するツールと連携させ、オブジェクトのX-pathを取得する。ロボットの定義と操作ログを照合させ、不必要な動作を削除し、必要な要素のみ抽出させ、大項目分類、X-pathとともに格納する。

0041

その後、汎化させた定義には、図2の符号21に示す表のように、管理装置で管理している個々のRPA実行基盤であるRPAツールの特性を、メタデータとして添付し、ツール特有の記述に具体化する際に、読み替える行為をサポートする。

0042

以上のように、本実施形態では、ロボットのアクセスする部品ごとの内部処理時間やシステム応答時間を記録し、特に、内部処理については、RPAツールにおける処理の多重度での性能変化を記録し、また、システム応答時間については、その処理を投入する時刻毎に記録している。これにより、多重度と投入時刻によるロボット実行時間に基づいて、ロボットのRPAツール間の移行を計画することができる。そして、このとき、ロボットの特定のRPAツールに対応する定義情報を汎化しているため、移行先のRPAツールでも汎化された定義情報を認識でき、ロボットのRPAツール間の移行を実現することができる。

0043

そして、本発明では、以上のようにロボットをRPAツール間で移行させることで、RPAツールをまたがった適切な負荷分散を行うことができる。その結果、RPAツールを有効活用することができ、ソフトウェアロボットによる業務への支障が発生することを抑制することができる。

0044

ここで、上記では、RPAツール間でロボットを移行させて、RPAツール間で負荷分散を行う場合を例示したが、別の目的でRPAツール間でロボットを移行させてもよい。例えば、図10に示すように、管理しているツールの1つ(第2RPA実行基盤B)が、ハードウェア故障または、ネットワーク障害などにより、停止状態に陥ったとする。この時に、その稼働状況監視しておき、関連ログが記録された事象、または、ハローパケットが停止したタイミングをトリガとし、業務代替手段として、停止したツールによって行われる予定であった処理を、動いているツール(第1RPA実行基盤A)に移行させてもよい。これにより、高可用性を実現することができる。

0045

<実施形態2>
次に、本発明の第2の実施形態を、図11乃至図13を参照して説明する。図11乃至図12は、実施形態2におけるソフトウェアロボット管理装置の構成を示すブロック図であり、図13は、ソフトウェアロボット管理装置の動作を示すフローチャートである。なお、本実施形態では、実施形態1で説明したソフトウェアロボット管理システム及びソフトウェアロボット管理システムによる処理方法の構成の概略を示している。

0046

まず、図11を参照して、本実施形態におけるソフトウェアロボット管理装置100のハードウェア構成を説明する。ソフトウェアロボット管理装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109

0047

そして、ソフトウェアロボット管理装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、図12に示す管理部121と定義変換部122とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述した管理部121と定義変換部122とは、電子回路で構築されるものであってもよい。

0048

なお、図11は、ソフトウェアロボット管理装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に例示されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。

0049

そして、ソフトウェアロボット管理装置100は、上述したようにプログラムによって構築された管理部121と定義変換部122との機能により、図13のフローチャートに示すソフトウェアロボット管理方法を実行する。

0050

図13に示すように、ソフトウェアロボット管理装置100は、
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理し(ステップS101)、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する(ステップS102)。

0051

本発明は、以上のように構成されることにより、特定のツールで実行するよう計画されたソフトウェアロボットの定義情報を、他のツールで認識可能なよう変換しているため、移行先の他のツールでも定義情報を認識でき、ソフトウェアロボットのツール間の移行を実現することができる。その結果、複数のツールを有効活用することができ、ソフトウェアロボットによる業務への支障が発生することを抑制することができる。

0052

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるソフトウェアロボット管理方法、ソフトウェアロボット管理装置、プログラムの構成の概略を説明する。但し、本発明は、以下の構成に限定されない。

0053

(付記1)
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理し、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する、
ソフトウェアロボット管理方法。

0054

(付記2)
付記1に記載のソフトウェアロボット管理方法であって、
前記特定のツールに対応する形式の前記定義情報を、複数のツールで認識可能な形式に汎化した汎化定義情報に変換する、
ソフトウェアロボット管理方法。

0055

(付記3)
付記2に記載のソフトウェアロボット管理方法であって、
前記特定のツールにおいて実行するよう計画されたソフトウェアロボットが、当該ソフトウェアロボットの前記汎化定義情報を用いて別のツールで実行されるよう計画する、
ソフトウェアロボット管理方法。

0056

(付記4)
付記3に記載のソフトウェアロボット管理方法であって、
予め設定された複数のツールのそれぞれにおけるソフトウェアロボットを実行するときの特性を表す特性情報に基づいて、前記特定のツールで計画されたソフトウェアロボットを実行した場合の予測実行時間を算出し、
前記予測実行時間に基づいて、前記特定のツールにおいて実行するよう計画されたソフトウェアロボットが、当該ソフトウェアロボットの前記汎化定義情報を用いて別のツールで実行されるよう計画する、
ソフトウェアロボット管理方法。

0057

(付記5)
付記3又は4に記載のソフトウェアロボット管理方法であって、
予め設定された複数のツールのそれぞれにおけるソフトウェアロボットを実行するときの特性を表す特性情報に基づいて、前記別のツールで計画されたソフトウェアロボットを当該ソフトウェアロボットの前記汎化定義情報を用いて実行した場合の予測実行時間を算出し、
前記予測実行時間に基づいて、前記別のツールでソフトウェアロボットが実行される計画を確定する、
ソフトウェアロボット管理方法。

0058

(付記6)
付記4又は5に記載のソフトウェアロボット管理方法であって、
前記特性情報は、ツールにおいて実行されるソフトウェアロボットの数に応じた特性を表す多重度特性情報を含み、
計画の変更前と変更後のそれぞれにおいてツールで実行されるソフトウェアロボットの数に応じた前記多重度特性情報を用いて、前記予測実行時間を算出する、
ソフトウェアロボット管理方法。

0059

(付記7)
付記4乃至6のいずれかに記載のソフトウェアロボット管理方法であって、
前記特性情報は、ツールにおいてソフトウェアロボットが実行されたときの時刻に応じた特性を表す時刻特性情報を含み、
計画の変更前においてツールでソフトウェアロボットが実行される時刻に応じた前記時刻特性情報を用いて、前記予測実行時間を算出する、
ソフトウェアロボット管理方法。

0060

(付記8)
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部と、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部と、
を備えたソフトウェアロボット管理装置。

0061

(付記8.1)
付記8に記載のソフトウェアロボット管理装置であって、
前記定義変換部は、前記特定のツールに対応する形式の前記定義情報を、複数のツールで認識可能な形式に汎化した汎化定義情報に変換する、
ソフトウェアロボット管理装置。

0062

(付記8.2)
付記8.1に記載のソフトウェアロボット管理装置であって、
前記管理部は、前記特定のツールにおいて実行するよう計画されたソフトウェアロボットが、当該ソフトウェアロボットの前記汎化定義情報を用いて別のツールで実行されるよう計画する、
ソフトウェアロボット管理装置。

0063

(付記8.3)
付記8.2に記載のソフトウェアロボット管理装置であって、
前記管理部は、予め設定された複数のツールのそれぞれにおけるソフトウェアロボットを実行するときの特性を表す特性情報に基づいて、前記特定のツールで計画されたソフトウェアロボットを実行した場合の予測実行時間を算出し、当該予測実行時間に基づいて、前記特定のツールにおいて実行するよう計画されたソフトウェアロボットが、当該ソフトウェアロボットの前記汎化定義情報を用いて別のツールで実行されるよう計画する、
ソフトウェアロボット管理装置。

0064

(付記8.4)
付記8.2又は8.3に記載のソフトウェアロボット管理装置であって、
前記管理部は、予め設定された複数のツールのそれぞれにおけるソフトウェアロボットを実行するときの特性を表す特性情報に基づいて、前記別のツールで計画されたソフトウェアロボットを当該ソフトウェアロボットの前記汎化定義情報を用いて実行した場合の予測実行時間を算出し、当該予測実行時間に基づいて、前記別のツールでソフトウェアロボットが実行される計画を確定する、
ソフトウェアロボット管理装置。

0065

(付記8.5)
付記8.3又は8.4に記載のソフトウェアロボット管理装置であって、
前記特性情報は、ツールにおいて実行されるソフトウェアロボットの数に応じた特性を表す多重度特性情報を含み、
前記管理部は、計画の変更前と変更後のそれぞれにおいてツールで実行されるソフトウェアロボットの数に応じた前記多重度特性情報を用いて、前記予測実行時間を算出する、
ソフトウェアロボット管理装置。

0066

(付記8.6)
付記8.3乃至8.5のいずれかに記載のソフトウェアロボット管理装置であって、
前記特性情報は、ツールにおいてソフトウェアロボットが実行されたときの時刻に応じた特性を表す時刻特性情報を含み、
前記管理部は、計画の変更前と変更後のそれぞれにおいてツールでソフトウェアロボットが実行される時刻に応じた前記時刻特性情報を用いて、前記予測実行時間を算出する、
ソフトウェアロボット管理方法。

0067

(付記9)
情報処理装置に、
ソフトウェアロボットを実行する実行環境である複数のツールにおいて実行されるソフトウェアロボットの計画を管理する管理部と、
特定のツールで実行するよう計画されたソフトウェアロボットの処理動作を定義する定義情報を、前記特定のツールに対応する形式から他のツールで認識可能なよう変換する定義変換部と、
を実現させるためのプログラム。

0068

なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク磁気テープハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROMPROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。

0069

以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。

0070

10管理装置
11スケジュール管理部
12 定義変換部
13ツールデータ記憶部
14スケジュールデータ記憶部
15定義データ記憶部
A 第1RPA実行基盤
Aa 第1RPAツール管理装置
B 第2RPA実行基盤
Ba 第2RPAツール管理装置
100ソフトウェアロボット管理装置
101 CPU
102 ROM
103 RAM
104プログラム群
105記憶装置
106ドライブ装置
107通信インタフェース
108入出力インタフェース
109バス
110記憶媒体
111通信ネットワーク
121管理部
122 定義変換部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

この 技術と関連性が強い技術

該当するデータがありません

この 技術と関連性が強い法人

該当するデータがありません

この 技術と関連性が強い人物

該当するデータがありません

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ