JP2023070148A - ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法 - Google Patents

ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法 Download PDF

Info

Publication number
JP2023070148A
JP2023070148A JP2022176334A JP2022176334A JP2023070148A JP 2023070148 A JP2023070148 A JP 2023070148A JP 2022176334 A JP2022176334 A JP 2022176334A JP 2022176334 A JP2022176334 A JP 2022176334A JP 2023070148 A JP2023070148 A JP 2023070148A
Authority
JP
Japan
Prior art keywords
rpa
resource
orchestrator
robot
workflow
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
Application number
JP2022176334A
Other languages
English (en)
Inventor
ティー.コサレアヌ マリウス
T Cosareanu Marius
コンスタンティン オヴィディウ
Constantin Ovidiu
グリゴレ ミルチャ
Grigore Mircea
ルサーヌ リーマス
Rusanu Remus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UiPath Inc
Original Assignee
UiPath Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by UiPath Inc filed Critical UiPath Inc
Publication of JP2023070148A publication Critical patent/JP2023070148A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】よりロバストかつユーザーフレンドリーなRPAロボットの開発が可能な方法、コンピュータシステム及び媒体を提供する。【解決手段】ワークフロー仕様は、各ワークフローの実行のタスクが付与されたロボティックプロセスオートメーション(RPA)ロボットに必要なリソースの1組のデフォルト特性を含む。ユーザーが各デフォルト特性の変更(例えば、ファイルの再配置および/または再度名前付け)の変更をワークフロー仕様自体の変更無く行うことが可能になる。このような変更は、複数のRPAロボットの実行を管理するRPAオーケストレータのユーザインターフェースを介して行われる。【選択図】図2

Description

本発明は、ロボティックプロセスオートメーション(RPA)に関し、詳細には、ソフトウェアロボットの実行の管理に関する。
RPAは、情報技術の新興分野であり、その目的は、反復的なコンピューティングタスクの自動化による生産性向上により、人間のオペレータをより知的に高度でありかつ/または創造的なアクティビティの実行のために解放することである。自動化の対象となる代表的なタスクを挙げると、文書(例えば、請求書、ウェブページ)からの構造化データの抽出、(例えば用紙記入のための)ユーザインターフェースとの対話、eメールの送信、ソーシャルメディアのサイトへのメッセージ公開などがある。
RPA開発の明確な先端は、ソフトウェアロボットのプログラミングおよび管理の簡素化に向けられており、究極の目的は、RPA技術において開発者および産業の対象ユーザーを広げることである。現在、従来のRPAにおいて行われる1つの方法は、RPA設計ツールを用いて1組のロボットアクティビティをプログラムすることを含む。その後、その結果得られたロボットコードまたは仕様は、実行環境(クライアントのマシン)へ送信される。より高度なアプリケーションにおいて、複数のロボットが、複数のマシン上において同時に実行し得、多様な自動化タスクを行う。このようなロボットの実行は、管理コンソールから中心的に管理および調整され得る。
RPAロボットの設計および利用は、本質的に別個のアクティビティであり、典型的には別個のエンティティ(ユーザー、企業)によって行われる。そのため、従来のRPAアーキテクチャにおいてスムーズなオペレーションを行うためには、複数のエンティティおよびオペレータ間の協働が必要になり得る。例えば、クライアントは、自身のロボットの問題解決をできない場合があり得、実行時の不具合によっては、ロボット設計者による支援が必要になり得る。このような状況があると、生産性の悪影響に繋がり得、クライアントがRPA技術を採用する意欲を削ぐことにもなり得る。
上記を鑑みて、よりロバストかつユーザーフレンドリーなRPAロボットの開発について、強い関心が存在している。
1つの態様によれば、方法は、コンピュータシステムの少なくとも1つのハードウェアプロセッサを用いて、複数のソフトウェアロボットを管理するように構成されたロボティックプロセスオートメーション(RPA)オーケストレータを実行することを含む。上記RPAオーケストレータは、RPAパッケージを受信するようにさらに構成され、上記RPAパッケージは、RPAワークフローの符号化と、上記RPAワークフローに必要なRPAリソースのデフォルトロケーションのインジケータとを含み、上記RPAリソースは、コンピュータファイル、キューおよびデータベースからなる群から選択されたアイテムを含む。上記RPAオーケストレータは、上記RPAワークフローを実行対象として上記複数のソフトウェアロボットのうち選択されたロボットに割り当てるようにさらに構成される。上記RPAワークフローを上記選択されたロボットに割り当てることは、上記RPAワークフローの実行の準備のために、上記RPAリソースの実行時インスタンスが上記デフォルトロケーションにおいて利用可能であるかを決定することと、オーケストレータユーザインターフェース(UI)をユーザーへ公開することとを含む。上記オーケストレータUIは、上記決定の結果に従って選択されたリソース利用可能性インジケータを表示する。
別の態様によれば、コンピュータシステムは、複数のソフトウェアロボットを管理するように構成されたRPAオーケストレータを実行するように構成された少なくとも1つのハードウェアプロセッサを含む。RPAオーケストレータは、RPAワークフローの符号化と、上記RPAワークフローに必要なRPAリソースのデフォルトロケーションのインジケータとを含むRPAパッケージを受信するようにさらに構成される。上記RPAリソースは、コンピュータファイル、キューおよびデータベースからなる群から選択されたアイテムを含む。RPAオーケストレータは、上記RPAワークフローを実行対象として上記複数のソフトウェアロボットのうち選択されたロボットに割り当てるようにさらに構成される。上記RPAワークフローを上記選択されたロボットに割り当てることは、上記RPAワークフローの実行の準備のために、上記RPAリソースの実行時インスタンスが上記デフォルトロケーションにおいて利用可能であるかを決定することと、オーケストレータユーザインターフェース(UI)をユーザーへ公開することとを含む。上記オーケストレータUIにより、上記決定の結果に従って選択されたリソース利用可能性インジケータが表示される。
別の態様によれば、非一時的なコンピュータにより読み出し可能な媒体は、命令を保存する。上記命令がコンピュータシステムの少なくとも1つのハードウェアプロセッサによって実行されると、上記コンピュータシステムは、複数のソフトウェアロボットを管理するように構成されたRPAオーケストレータを実行する。上記RPAオーケストレータは、RPAパッケージを受信するようにさらに構成される。このRPAパッケージは、RPAワークフローの符号化と、上記RPAワークフローに必要なRPAリソースのデフォルトロケーションのインジケータとを含む。上記RPAリソースは、コンピュータファイル、キューおよびデータベースからなる群から選択されたアイテムを含む。上記RPAオーケストレータは、上記RPAワークフローを実行対象として上記複数のソフトウェアロボットのうち選択されたロボットに割り当てるようにさらに構成される。上記RPAワークフローを上記選択されたロボットに割り当てることは、上記RPAワークフローの実行の準備のために、上記RPAリソースの実行時インスタンスが上記デフォルトロケーションにおいて利用可能であるかを決定することと、オーケストレータユーザインターフェース(UI)をユーザーへ公開することとを含む。上記オーケストレータUIは、上記決定の結果に従って選択されたリソース利用可能性インジケータを表示する。
本発明の上記の態様および利点は、以下の詳細な説明を図面を参照しつつ読めば、より深く理解される。
本発明のいくつかの実施形態による例示的なロボティックプロセスオートメーション(RPA)環境を示す。
本発明のいくつかの実施形態による、RPAロボットおよびオーケストレータの例示的なコンポーネントおよびオペレーションを示す。
本発明のいくつかの実施形態による、RPAパッケージの例示的なコンポーネントを示す。
本発明のいくつかの実施形態による多様なRPAホストシステムを示す。
本発明のいくつかの実施形態による、オーケストレータユーザインターフェース(UI)によって公開される例示的なビューを示す。
本発明のいくつかの実施形態による、オーケストレータUIによって公開される別の例示的なビューを示す。
本発明のいくつかの実施形態による、オーケストレータUIによって公開されるさらに別の例示的なビューを示す。
本発明のいくつかの実施形態による、例示的なリソース編集UIを示す。
本発明のいくつかの実施形態による、ユーザーに対して警告を表示する別の例示的なリソース編集UIを示す。
本発明のいくつかの実施形態による、オーケストレータによって行われるステップの例示的シークエンスを示す。
本発明のいくつかの実施形態による、1組のリソースメタデータと、デフォルト属性値および実行時属性値の間の例示的なマッピングとを示す。
本発明のいくつかの実施形態による、オーケストレータによって行われるステップの別の例示的シークエンスを示す。
本発明のいくつかの実施形態による、リソースメタデータの更新のためにオーケストレータによって行われるステップの別の例示的シークエンスを示す。
本発明のいくつかの実施形態による、RPAロボットによって行われるステップの例示的シークエンスを示す。
本明細書中に記載の方法のうちいくつかを実行するようにプログラムされたコンピューティング装置の例示的ハードウェア構成を示す。
以下の記載において、構造間の記載の接続は全て、直接的動作接続または中間構造を通じた間接的動作接続であり得ることが理解される。1組の要素は、1つ以上の要素を示す。1つの要素に言及する場合、常に少なくとも1つの要素を指すものとして理解される。複数の要素は、少なくとも2つの要素を含む。「または」という文言が用いられる場合、非排他的な「または」を常に意味する。他に明記無き限り、任意の記載の方法ステップを特定の例示された順序で行う必要は無い。第2の要素から導出された第1の要素(例えば、データ)は、第2の要素に等しい第1の要素と、第2の要素および任意選択的に他のデータの処理によって生成された第1の要素とを包含する。決定または判定をパラメータに従って行うことは、決定または判定をパラメータに従ってかつ任意選択的に他のデータに従って行うことを包含する。他に明記無き限り、或る数量/データインジケータは、数量/データそのものであり得るか、または、数量/データそのものと異なるインジケータであり得る。コンピュータプログラムは、タスクを実行するプロセッサ命令のシークエンスである。本発明のいくつかの実施形態において記載されるコンピュータプログラムは、他のコンピュータプログラムのスタンドアロンのソフトウェアエンティティまたはサブエンティティ(例えば、サブルーチン、ライブラリ)であり得る。本明細書中、「データベース」という用語は、組織的かつ検索可能なデータ集合全てを指すものとして用いられる。本明細書中のメタデータは、オブジェクトについての情報(オブジェクトそのものを除く)を提供するデータ全てを包含する。例えば、画像メタデータは、各画像のサイズ、ファイル名およびロケーションを含み得るが、画像そのものは含み得ない。コンピュータにより読み出し可能な媒体は、非一時的な媒体(例えば、磁気記憶媒体、光学記憶媒体および半導体記憶媒体(例えば、ハードドライブ、光ディスク、フラッシュメモリ、DRAM))と、通信リンク(例えば、導電性ケーブルおよび光ファイバーリンク)とを包含する。いくつかの実施形態によれば、本発明によれば、特に、本明細書中に記載の方法と、本明細書中に記載の方法の実行のためのコンピュータにより読み出し可能な媒体符号化命令とを実行するようにプログラムされたハードウェア(例えば、1つ以上のプロセッサ)を含むコンピュータシステムが提供される。
以下の記載において、本発明の実施形態を、例示目的のために、必ずしも制限を伴うこと無く例示する。
図1は、本発明のいくつかの実施形態による、例示的なロボティックプロセスオートメーション(RPA)環境10を示す。環境10に含まれる多様なソフトウェアコンポーネントは、特定のタスクの自動化の達成のために協働する。例示的なRPAシナリオにおいて、企業の従業員は、反復的なタスク(例えば、多様なクライアントへの請求書の発行)を行う際、ビジネスアプリケーション(例えば、ワードプロセッサ、スプレッドシートエディタ、ブラウザ、eメールアプリケーション)を使用する。各タスクを実際に行う際、従業員は、オペレーション/アクションのシークエンスを行う(例えば、Microsoft Excel(登録商標)スプレッドシートを開く、クライアントの企業詳細をルックアップする、各詳細を請求書テンプレート内へコピーする、購入アイテムを示す請求書フィールドに書き込む、eメールアプリケーションへ移行する、各クライアントへのeメールメッセージを構成する、新規生成された請求書を各eメールメッセージに添付する、「送信」ボタンをクリックする)。それぞれの人間のオペレータが各タスクを実行する際に行う1組のオペレーションの模倣により、RPA環境10の多様な要素により、各プロセスが自動化され得る。
本明細書中、人間オペレーション/アクションの模倣は、人間のオペレータが各オペレーション/アクションをコンピュータに行う際に発生するコンピューティングイベントのシークエンスを再生することと、人間のオペレータが各オペレーションをコンピュータに行った結果を再生することとを包含するものとして理解される。例えば、グラフィカルユーザインターフェース(GUI)のボタンをクリックするアクションを模倣することは、オペレーティングシステムによりマウスポインターを各ボタンまで移動させることと、マウスクリックイベントを生成することとを含み得るか、または、あるいは各GUIボタンそのものをクリックされた状態までトグルさせることを含み得る。
RPA自動化の対象となるアクティビティのうち典型的なものを挙げると、支払いのい処理、代金請求、ビジネスクライアントとの通信(例えば、ニュースレターおよび/または商品提供の配信)、内部連絡(例えば、メモ、ミーティングおよび/またはタスクのスケジューリング)、監査、および賃金支払処理などがある。いくつかの実施形態において、専用RPA設計アプリケーション30(図2)により、人間のアクションのシークエンスを有効に自動化させるワークフローを実行するソフトウェアロボットを人間の開発者が設計することが可能になる。本明細書中、ワークフローとは、カスタム自動化ステップ(本明細書中、RPAアクティビティとみなされる)のシークエンスを指す。各RPAアクティビティは、ロボットによって行われる少なくとも1つのアクションを含む(例えば、ボタンのクリック、ファイルの読み出し、スプレッドシートセルへの書き込み)。アクティビティは、ネスト化および/または埋設され得る。いくつかの実施形態において、RPA設計アプリケーション30は、ユーザインターフェースと、実行順序およびワークフローのRPAアクティビティ間の関係の制御を開発者に付与する1組のツールとを公開する。RPA設計アプリケーション30の実施形態の1つの商業的例として、UiPathStudioX(登録商標)がある。
いくつかのタイプのワークフローを非限定的に挙げると、シークエンス、フローチャート、有限状態機械(FSM)および/またはグローバル例外ハンドラがある。シークエンスは、特に線形プロセスに適切であり得、これにより、1つのアクティビティから別のアクティビティへの流れがワークフローのクラッタリング無しに可能になる。フローチャートは、より複雑なビジネスロジックに特に適切であり得、判定の統合およびアクティビティの接続が複数の分岐論理演算子を通じてより多様な様態で可能になる。FSMは、大型ワークフローに特に適切であり得る。FSMは、有限数の状態を自身の実行時において用い得、これらの状態は、状態(すなわち、移行)またはアクティビティによってトリガされ得る。グローバル例外ハンドラは、実行エラーに遭遇したときのワークフロー挙動の決定と、デバッギングプロセスとに特に適切であり得る。
RPAワークフローは、開発された後、コンピュータによりも読みだし可能な形態に符号化され得、RPAパッケージ40としてエクスポートされ得る(図2)。図3に示すようないくつかの実施形態において、RPAパッケージ40は、ソフトウェアロボットに対する1組の命令を含む1組のRPAスクリプト42を含む。RPAスクリプト(複数可)42は、当該分野において公知である任意のデータ仕様に従って定式化され得、例えば拡張マークアップ言語(XML)、Javaスクリプト(登録商標)Object Notation(JSON)またはプログラミング言語(例えば、C#、視覚Basic(登録商標)、Java(登録商標))のバージョンとして定式化され得る。あるいは、RPAスクリプト(複数可)42は、RPA特有のバージョンのバイトコードとしてまたはさらには自然言語(例えば、英語、スペイン語、日本語)で定式化された命令のシークエンスとして定式化され得る。いくつかの実施形態において、RPAスクリプト(複数可)42は、1組のネイティブプロセッサ命令(例えば、マシンコード)としてプリコンパイルされる。
いくつかの実施形態において、RPAパッケージ40は、実行時において各ロボットによって用いられる1組のプロセスリソースを示すリソース仕様44をさらに含む。例示的なプロセスリソースは、1組の資格情報、コンピュータファイル、キュー、データベースおよびネットワーク接続/通信リンクなどを含む。本明細書中、資格情報は、特定のRPAホストマシンへのアクセスおよび/または特定のソフトウェアコンポーネントの実行に必要なプライベートデータ(例えば、ユーザー名、パスワード)を包括的に示す。資格情報は、暗号化されたデータを含み得る。このような状況において、実行側のロボットは、各データの復号のための暗号鍵を所有し得る。いくつかの実施形態において、資格情報リソースは、コンピュータファイルの形態をとり得る。あるいは、例示的な資格情報リソースは、ルックアップキー(例えば、ハッシュ索引)を実際の資格情報を保持しているデータベース中に含み得る。このようなデータベースは、当該分野において資格情報ボールトとして公知である場合がある。本明細書中、キューは、同一タイプのアイテム(例えば、コンピュータファイル、構造化データオブジェクト)の順番付き集合を保持するコンテナを指す。例示的なキューを挙げると、請求書の集合、eメール受信トレイのコンテンツなどがある。キューアイテムの順序は、実行側のロボットによって処理されるべき各アイテムの順序を示し得る。
いくつかの実施形態において、各プロセスリソースについて、仕様44は、各リソースを特徴付ける1組のメタデータを含む。例示的なリソース特性/メタデータを挙げると、例えば、各リソースのリソースタイプのインジケータ、ファイル名、各リソースへのアクセスのためのファイルシステム経路および/または他のロケーションインジケータ、サイズ、および各リソースのバージョンインジケータがある。リソース仕様44は、当該分野において公知の任意のデータ形式に従って、例えばXMLスクリプトまたはJSONスクリプト、リレーショナルデータベースとして定式化され得る。リソースメタデータについて、図8に関連してさら以下に述べる。
当業者であれば、RPA設計アプリケーション30は、別個の物理的マシンを実行し得る複数のコンポーネント/モジュールを含み得ることを理解する。一例において、RPA設計アプリケーション30は、クライアント/サーバー構成において実行し得る。この構成において、アプリケーション30の1つのコンポーネントは、ロボット設計インターフェースをクライアントコンピュータのユーザーへ公開し得、サーバーコンピュータ上において実行するアプリケーション30の別のコンポーネントは、ロボットワークフローのアセンブルと、RPAパッケージ40の定式化/出力とを行い得る。例えば、開発者は、クライアントコンピュータ上において実行するウェブブラウザを介してロボット設計インターフェースへアクセスし得、クライアントコンピュータにおいて受信されたユーザー入力を処理するソフトウェアは、実際にサーバーコンピュータ上において実行する。
定式化された後、RPAスクリプト(複数可)42は、1組のロボット12a~12c(図1)によって実行され得、ロボット12a~12c(図1)は、オーケストレータ14によってさらに制御および調整され得る。ロボット12a~12cおよびオーケストレータ14それぞれに含まれ得る複数のコンピュータプログラムは、同一の物理的マシン上において実行し得るかまたは実行し得ない。ロボット12a~12cおよびオーケストレータ14の例示的な商業的実施形態を挙げると、UiPathロボット(登録商標)およびUiPathオーケストレータ(登録商標)がそれぞれある。ロボット12a~12cのタイプを非限定的に挙げると、アテンディッドロボット、アンアテンディッドロボット、開発ロボット(アンアテンディッドロボットに類似するが、開発目的および試験目的のために用いられる)、非本番環境ロボット(アテンディッドロボットに類似するが、開発目的および試験目的のために用いられる)がある。
アテンディッドロボットは、ユーザーイベントおよび/またはコマンドによってトリガされ、同一コンピューティングシステム上の人間のオペレータと共に動作する。いくつかの実施形態において、アテンディッドロボットの起動は、ロボットトレイまたはコマンドプロンプトのみからしか行えないため、オーケストレータ14からは制御することはできず、例えばロックされた画面下においては実行できない。アンアテンディッドロボットは、遠隔バーチャル環境において無人で実行し得、リモートの実行、監視、スケジューリングおよびワークキューへのサポート提供を担当し得る。
オーケストレータ14は、複数のロボット12a~12cの実行を制御および調整する。よって、オーケストレータ14が有し得る多様な能力を非限定的に挙げると、プロビジョニング、デプロイメント、構成、スケジューリング、キューイング、監視、ロギングおよび/またはロボット12a~12cのインターコネクティビティの提供がある。プロビジョニングは、ロボット12a~12cとオーケストレータ14との間の接続の生成および維持を含み得る。デプロイメントは、ソフトウェア(例えば、RPAスクリプト42)が実行対象としてロボット12a~12cへ正しく送達されることを確保することを含み得る。構成は、ロボット環境、リソースおよびワークフロー構成のメンテナンスおよび送達を含み得る。スケジューリングは、多様なタスクを特定のスケジュール(例えば、1日の特定の時間、特定の日付、毎日)に従って実行するようにロボット12a~12cを構成することを含み得る。キューイングは、ジョブキューの管理を提供することを含み得る。監視は、ロボット状態を追跡することと、ユーザー権限を維持することとを含み得る。ロギングは、データベースおよび/または別の保存機構(例えば、SQL、ElasticSearch(登録商標)、Redis(登録商標))に対する保存および索引付けログを含み得る。オーケストレータ14は、サードパーティのソリューションおよび/またはアプリケーションに対する通信の集中点としてさらに機能し得る。
図2は、本発明のいくつかの実施形態による、ロボット12およびオーケストレータ14例示的なコンポーネントを示す。例示的なRPAロボット12は、Microsoft,Inc.からのWindows(登録商標)ワークフローファンデーションアプリケーションプログラミングインターフェースを用いて構築される。ロボット12は、1組のエグゼキュータ22およびRPAエージェント24を含み得る。ロボットエグゼキュータ22は、人間のオペレータのアクションを模倣するRPAアクティビティのシークエンスを示すRPAスクリプト(複数可)42を受信することと、各クライアントマシン上におけるアクティビティの各シークエンスを自動的に行うように構成される。いくつかの実施形態において、ロボットエグゼキュータ(複数可)22に含まれるインタープリター(例えば、ジャストインタイムインタープリターまたはコンパイラ)は、RPAスクリプト(複数可)42を各スクリプト(複数可)中に符号化されたRPAアクティビティの実行のためのプロセッサ命令を含む実行時のオブジェクトに翻訳するように構成される。よって、スクリプト(複数可)42を実行することは、エグゼキュータ(複数可)22をRPAスクリプト(複数可)42を翻訳することと、各ホストマシンのプロセッサに命令して、その結果得られた実行時のパッケージをメモリ中にロードさせることと、実行時のパッケージの実行を開始させることとを含み得る。
RPAエージェント24は、ロボットエグゼキュータ(複数可)22オペレーションを管理し得る。例えば、RPAエージェント24は、ロボットエグゼキュータ(複数可)22による実行の対象となるタスク/スクリプトを、人間のオペレータからの入力に従っておよび/またはスケジュールに従って選択し得る。エージェント24は、ジョブを開始および停止させ得、エグゼキュータ(複数可)22の多様な動作パラメータを構成し得る。ロボット12が複数のエグゼキュータ22を含む場合、エージェント24は、自身のアクティビティおよび/またはプロセス間通信を調整し得る。RPAエージェント24は、RPAロボット12、オーケストレータ14および/または他のエンティティアイ間の通信をさらに管理し得る。
Windows(登録商標)環境で実行されるいくつかの実施形態において、ロボット12は、Microsoft Windows(登録商標)サービスコントロールマネージャ(SCM)によって管理されるサービスをデフォルトでにストールする。その結果、このようなロボットは、相互作用のWindows(登録商標)セッションをローカルシステムアカウントの下において開かせ得、Windows(登録商標)サービスのプロセッサ特権を有し得る。例えば、コンソールアプリケーションが、SCMによって管理されたロボットによって起動され得る。いくつかの実施形態において、ロボット12は、プロセッサ特権(ユーザーモード、リング3)のユーザレベルにおいてインストールされ得る。このようなロボットは、各ロボットがインストールされる際にユーザーが有する権利と同じ権利を有する。例えば、このようなロボットは、各ユーザーが起動させることが可能な任意のアプリケーションを起動させることができる。複数の同時発生の相互作用のセッション(例えば、Windows(登録商標)サーバー2012)をサポートするコンピューティングシステム上において、複数のロボットが同時に実行し得、各ロボットは、別個のWindows(登録商標)セッションにおいて異なる資格情報を用いる。このような資格情報は、RPAリソース仕様44を介して供給され得る(図3に関連して上記を参照)。
いくつかの実施形態において、ロボット12およびオーケストレータ14は、クライアント/サーバー構成において実行し得る。クライアント側、サーバー側または双方は、任意の所望の数のコンピューティングシステム(例えば、物理的マシンまたは仮想マシン)を本発明の範囲から逸脱すること無く含み得る点に留意されたい。このような構成において、エグゼキュータ(複数可)22およびRPAエージェント24を含むロボット12は、クライアント側において実行し得る。ロボット12は、いくつかのジョブ/ワークフローを同時に実行させ得る。RPAエージェント24(例えば、Windows(登録商標)サービス)は、エグゼキュータ22の単一のクライアント側の接触点として機能し得る。エージェント24は、ロボット12とオーケストレータ14との間の通信をさらに管理し得る。いくつかの実施形態において、通信がエージェント24によってインストールされると、WebSocketチャンネルがオーケストレータ14に対して開かれ得る。その後、エージェント24は、このチャンネルを用いて、各エグゼキュータ22の状態についての通知を(例えばハートビート信号として)オーケストレータ14へ送信し得る。次に、オーケストレータ14は、このチャンネルを用いて、肯定応答、ジョブリクエストおよび他のデータ(例えば、RPAスクリプト(複数可)42およびリソースメタデータをロボット12)へ送信し得る。
オーケストレータ14は、恐らくは複数の物理的マシンおよび/または仮想マシンにわたって分散されたサーバー側において実行し得る。1つのこのような実施形態において、オーケストレータ14は、ウェブアプリケーションであり得るオーケストレータユーザインターフェース(UI)17と、1組のサービスモジュール19とを含み得る。オーケストレータUIのいくつかの例について、以下に説明する。サービスモジュール19は、1組のオープンデータプロトコル(OData)Representational State Transfer(REST)アプリケーションプログラミングインターフェース(API)エンドポイント、および1組のサービスAPI/ビジネスロジックを含み得る。ユーザーは、オーケストレータ14との対話を(例えば、ブラウザ上の専用オーケストレータインターフェースを開くことにより)オーケストレータUI17を介して行い得、オーケストレータ14に対して多様なアクションを実行するよう命令し得る(例を挙げると、選択されたロボット12上のジョブの開始、ロボットグループ/プールの生成、ワークフローのロボットへの割り当て、キューに対するデータの追加/削除、無人実行のためのジョブのスケジューリング、ロボットまたはワークフロー毎のログの分析)。オーケストレータUI17は、ハイパーテキストマークアップ言語(HTML)、Javaスクリプト(JS)または当該分野において公知の他の任意のデータフォーマットを用い得る。
オーケストレータ14は、サービスAPI/ビジネスロジックの選択的呼び出しにより、ユーザーからリクエストされたアクションを実行し得る。加えて、オーケストレータ14は、ロボット12との通信のためにREST APIエンドポイントを用い得る。REST APIは、構成、ロギング、監視およびキューイング機能を含み得る。構成エンドポイントが、ユーザー、ロボット、権限、資格情報および/または他のプロセスリソースなどの定義および/または構成のために用いられ得る。ロギングRESTエンドポイントが、異なる情報(例えば、エラー、ロボットから送信された明示的メッセージ、および他の環境別情報)をログするために用いられ得る。デプロイメントRESTエンドポイントは、ロボットが実行対象のRPAスクリプト(複数可)42のバージョンについて問い合わせる際に用いられ得る。キューイングRESTエンドポイントは、キューおよびキューアイテム管理(例えば、キューへのデータ追加)、キューからのトランザクション取得、トランザクションのステータス設定などを担当し得る。RESTエンドポイントの監視により、オーケストレータ14のwebアプリケーションコンポーネントおよびRPAエージェント24が監視され得る。
いくつかの実施形態において、RPA環境10(図1)は、RPAデータベース18へ接続されたデータベースサーバー16をさらに含む。サーバー16がクラウドコンピューティングプラットフォーム上に設けられた実施形態において、サーバー16は、データベースサービスとして(例えば、1組のデータベースコネクタを有するクライアントとして)埋設され得る。データベースサーバー16は、RPA環境10に関連するデータを選択的にデータベース18内に保存および/またはデータベース18から取り出すように構成される。このようなデータを挙げると、多様な個々のロボットまたはロボットプールの構成パラメータ、多様なロボットによって実行されるワークフローを特徴付けるデータ、ワークフローと当該ワークフローをタスク付与されるロボットとを関連付けるデータ、ユーザーを特徴付けるデータ、役割、スケジュール、キューなどがある。データベースサーバー16によって保存および/または取り出される別の例示的なデータカテゴリを挙げると、各実行側のロボットの現在の状態を特徴付けるデータがある。データベースサーバー16によって保存および/または取り出される別の例示的なデータカテゴリを挙げると、多様なワークフローに必要なRPAリソースを特徴付けるRPAリソースメタデータがある(例えば、多様なリソース属性(例えば、ファイル名、ロケーション、資格情報)のデフォルト値および/または実行時の値)。さらに別の例示的なデータカテゴリを挙げると、実行時において多様なロボットによってログされるメッセージがある。データベースサーバー16およびデータベース18は、当該分野において公知の任意のデータ格納プロトコルおよびフォーマットを用い得る(例えば、ストラクチャードクエリ言語(SQL)、ElasticSearch(登録商標)およびRedis(登録商標))。いくつかの実施形態において、データの収集および管理は、オーケストレータ14によって(例えばRESTエンドポイントのロギングを介して)行われる。オーケストレータ14は、ストラクチャードクエリをデータベースサーバー16へさらに発行し得る。
いくつかの実施形態において、RPA環境10(図1)は、環境10の多様な部材を相互接続させる通信チャンネル/リンク15a~15eをさらに含む。このようなリンクは、当該分野において公知の任意の方法(例えば、仮想ネットワークリンク、仮想プライベートネットワーク(VPN)またはエンドツーエントトンネル)に従って実行され得る。いくつかの実施形態において、リンク15a~15eの一部または全てを介して循環されるデータがさらに暗号化される。
当業者であれば、RPA環境10の多様なコンポーネントは、別個のホストコンピュータシステム(物理的機器および/または仮想マシン)上において実行され得かつ/または実行し得ることを理解する。図4は、本発明のいくつかの実施形態多様なこのようなRPAホストシステム20a~20eを示す。各ホストシステム20a~20eは、ハードウェアプロセッサと、プロセッサ命令および/またはデータを保存するメモリユニットとを少なくとも有するコンピューティングシステム(個々のコンピューティング装置または1組の相互接続されたコンピュータ)を示す。例示的なRPAホスト20a~20cは、企業メインフレームコンピュータ、パーソナルコンピュータ、ラップトップコンピュータおよびタブレットコンピュータ、移動通信デバイス(例えば、スマートフォン)および電子ブックリーダーなどを含む。アイテム20d~20eとして図示される他の例示的なRPAホストを挙げると、プラットフォーム別のプロトコルに従って中心的に管理される複数の相互接続されたサーバーコンピュータシステムを含むクラウドコンピューティングプラットフォームがある。クライアントは、このようなクラウドコンピューティングプラットフォームとの対話を、プラットフォーム別のインターフェース/ソフトウェア層/ライブラリ(例えば、ソフトウェア開発キット-SDK、プラグインなど)および/またはプラットフォーム別のコマンド構文を用いて行い得る。例示的なプラットフォーム別のインターフェースを挙げると、Azure(登録商標)SDKおよびAWS(登録商標)SDKなどがある。RPAホスト20a~20eは、通信ネットワーク13(例えば、インターネット)によって通信可能に連結され得る。
図5は、本発明のいくつかの実施形態によるオーケストレータUI17によって公開される例示的なビューを示す。UI17は、ユーザーによるRPAの多様な態様の設定および構成を可能にするメニュー領域32を含み得る(例えば、ロボット12a~12cの個々のインスタンスの管理、ロボット12a~12cの特定のマシン(図4中のRPAホスト20a~20e)への割り当て、RPAパッケージ40のアップロードおよび構成、多様なプロセスリソースのロケートまたは生成など)。図5に示す例示的ビューは、パッケージ管理のために構成される。いくつかの実施形態において、RPAパッケージ40(例えば図2および図3も参照されたい)は、各パッケージの開発者によってかつ/またはオーケストレータ14の管理者によってオーケストレータ14へアップロードされる。例示的なUI17は、アップロードされたパッケージ40をリスト化し得、さらなるパッケージのアップロードの制御を公開し得る。いくつかの実施形態において、個々のパッケージ名/アイコンをクリックするとユーザーが各パッケージのコンテンツをさらに調査および/または各パッケージを構成することが可能になり得る。1つのこのような例において、パッケージ名(例えば、図5中の「週次請求書」)をクリックすると、サブメニューおよび/または各ワークフローに必要なリソースをリスト化するさらなるユーザインターフェースが公開され、各リソースを特徴付ける多様なメタデータ(例えば、デフォルトおよび/または各リソースの実行時ロケーション)がさらに示される。
図6は、本発明のいくつかの実施形態による、オーケストレータUI17によって公開される別の例示的なビューを示す。図示のビューにより、RPAリソースの(すなわち、多様なワークフローの実行に必要なリソースの)管理が可能になる。UI17により、ユーザーがリソースをタイプ毎(例えば、キュー、ファイル、資格情報)にリスト化することを可能にするメニュー34および/またはユーザーがリソースをロケーション毎にリスト化することを可能にする別のメニュー36が公開され得る。ロケーションメニュー36は、1組のアイコンおよび/またはユーザー用ロケーション名を含み得る(例えば、図6に示すようなフォルダおよびサブフォルダを含むファイルシステムとして配置されたもの)。本明細書中、「ユーザー用名」という用語は、実際のファイル名または保存/ネットワークのロケーションと対照的に、画面上の名前(別名はユーザーへ表示されるラベル)を示す。いくつかのユーザー用名は、実際のファイル名、ファイルシステム経路またはネットワークアドレスと一致し得る。ロケーションメニュー36の各メニューアイテム(例えば、「請求書日本」というユーザー用名によって特定されるフォルダ)は、別個の保存場所を示し得る(例えば、ローカルのファイルシステムまたはリモートのファイルシステムの別個のフォルダあるいはアドレス可能な単位のメモリまたは保存媒体)。上記保存場所は、(現在各ワークフローの実行がタスク付与されているロボットを実行する)RPAホストシステムの一部であり得るかまたはそのようなRPAホストシステムへ通信可能に連結され得る。
いくつかの実施形態において、メニュー36によって表示されるロケーション名は、各リソース(複数可)のデフォルトロケーション名を示し得る(すなわち、設計時に各RPAワークフロー開発者によって示されかつリソース仕様44中に含まれるロケーション名)。他の実施形態において、表示されるロケーション名は、実行時ロケーション名を示し得る(すなわち、各ワークフローの実行時に各リソースが実際に存在する場所のロケーションのユーザー用名)。以下にさらに述べるように、リソースの実行時ロケーションは、開発者によって示されるデフォルトロケーションと一致していてもよいし、一致していなくてもよい。いくつかの実施形態において、リソースは、以下に詳細を示すように、オーケストレータUI17のユーザーによって再度名前付けおよび/または再配置され得る。さらに別の例示的な実施形態において、メニュー36は、デフォルトのロケーションおよび実行時ロケーション双方を各リソースについて表示し得る。
各リストされたリソース50について、UI17は、各リソースの複数の特性を表示し得る。キューの例示的な例において、特徴付けの属性を挙げると、各キューのユーザー用名(図6中の「Q1」)、多様なリソース利用状況データ(例えば、各キューを用いるロボット/プロセスのリスト)、デフォルトおよび/または各キューの実行時ロケーション、各キュー中のキューアイテムのトータルカウント、今まで処理が成功しているキューアイテムのカウントなどがある。表示された情報の一部は、関連付けられたRPAパッケージのリソース仕様44中に定義されたリソースメタデータに従って決定され得る。
いくつかの実施形態において、図6中に示す例示的ビュー中の選択されたリソースがクリックされるか、タップされるか(または他の様態でアクティベートされる)と、サブメニューまたはさらなるユーザインターフェースが公開され得、ユーザーが各リソースの多様な態様を構成することが可能になる。このようなリソース編集UIの例を以下に示す。
図7は、本発明のいくつかの実施形態による、オーケストレータUI17によって表示されるさらに別の例示的なビューを示す。図示のビューは、実行のために(例えば、新規RPAプロセスの生成時に)ロボットを構成するステップのシークエンスの一部として表示され得る。本明細書中、「RPAプロセス」という用語は、選択されたRPAロボット(またはその上で実行されるRPAホスト20a~20e)と、選択されたワークフローとの間の関連付けを示す。換言すると、RPAプロセスを生成することは、選択されたワークフローを選択されたロボットまたはマシンへ割り当てることを含む。
いくつかの実施形態において、RPAパッケージの受信に応答して、オーケストレータ14は、各パッケージのリソース仕様44をパースして、各ワークフローの実行の成功に必要なリソースを特定し得る。請求書からデータ抽出を行うように設計されたワークフローの一例において、ロボットは、請求書のキューが所定のロケーションに存在することを必要とし得る。そうしないと、各ロボット/ワークフローの実行試行がエラーに繋がることが多くなる。そのため、各キューは、各ワークフローまたはロボットの必要なリソースとしてみなされる。図7に示すような実施形態において、オーケストレータUI17は、現在構成されている各ワークフロー/RPAプロセスと関連付けられたRPAパッケージのリソース仕様44に従って決定された必要なリソースのリストをユーザへ表示するように構成され得る。この表示は表形式をとり得、各リソースは、各リソースを特徴付ける属性値/メタデータ52が1行内に示され得る。リソースを特徴付けるメタデータの表示例を挙げると、例えば、リソースタイプ、ユーザー用リソース名、および各リソースのロケーションがある。例示的な実施形態において、表示されたリソースメタデータ52は、各リソースのデフォルトロケーション、各リソースの実行時ロケーションまたはこれら双方を含み得る。
いくつかの実施形態において、オーケストレータUI17は、各リソースのインスタンスが実行時ロケーションにおいて現在利用可能であるかを示す利用可能性インジケータ54をさらに表示する。利用可能性インジケータ54を挙げると、テキストラベル、記号(例えば、チェックマーク、クエスチョンマーク)または各状況(例えば、利用可能なリソース、紛失、不明)を示すアイコン(例えば、絵文字)がある。別の実施形態において、手旗信号のようなグラフィックまたは記号が各状況を示すために用いられ得る。例えば、紛失しているリソースが赤点によって示され得る一方、利用可能なリソースが緑点によって示され得る。
オーケストレータUI17のいくつかの実施形態においてさらに実行されるリソース編集機構により、UI17のユーザーがプロセスリソースに対する選択された変更を作用させることが可能になる。図7に示すような一例において、各リストされたリソースについて、UI17に含まれるリソース編集制御は、専用視覚要素56(例えば、クリック可能なアイコンまたはテキスト要素)を介してアクティベートされる。いくつかの実施形態において、選択されたリソースタイプについてかつ/または選択された状況において(例えば、各リソースが紛失しているかまたは不完全に構成された場合に)のみ、要素56を表示し得る。別の例示的な実施形態において、リソース編集機構(および/または視覚要素56の関連付けられた表示)は、選択されたリソース、選択されたワークフローおよび/または選択されたロボット/RPAホストのみについてアクティベートされ得る。
いくつかの実施形態において、リソース編集制御がアクティベートされると、UI17は、図8-A~図8-Bに示すような別個のリソース編集UIを表示させ得る。図8-Aに示すリソース編集メニュー60aは、各プロセスリソースに関連してユーザが多様なアクティビティを行うことを可能にする1組のメニューアイテムを有する。キューの図示の例において、メニューは、例えば、キューオブジェクトを必要な特性と共に生成する選択肢と、アイテムをキューへアップロードする選択肢と、複製する選択肢と、各キューオブジェクトを削除する選択肢とを含む。図8-Aは、各リソースの構成のために例示的なメニューアイテムを選択すると、さらなるサブメニューが開かれ得、その結果、ユーザーが例えば各リソースの再度名前付けおよび/または各リソースの再配置を行うことが可能になる様子をさらに示す。この文脈において、「リソースを再配置する」とは、(各リソースを新規のロケーションに実際に移動させるのではなく)実行側のロボットを新規のロケーションにおける各リソースの探索のためにリダイレクトさせることを指す。いくつかの実施形態において、再配置は、リソースメタデータ(例えば、ファイル名および/またはロケーションインジケータ(例えば、ファイルシステム経路))を新規の実行時ロケーションの方向へ変更することを含む。
図8-Bに示す例示的なリソース編集UI60bにより、選択されたプロセスリソースのユーザーによる再配置が可能になる。UI60bは、各リソースの多様なデフォルト特性(すなわち、設計時にRPAパッケージ40中に指定されたデフォルト値)(例えば、デフォルトリソース名およびデフォルトロケーション)を表示し得、フォームフィールド62などの制御をさらに表示し得る。このフィールド内において、ユーザーは、実行時ロケーションインジケータを各リソースについて入力し得る。図8-Bに示すようないくつかの実施形態において、プロセスリソースの編集が試行されると、UI17は、警告ダイアログ64をユーザーに対して表示し得る。警告ダイアログ64は、他の現在構成されているRPAプロセスが当該変更によって影響を受けるかを示し得、この変更を行うかについてユーザに確認を要求する。いくつかの実施形態において、例えば、影響を受けるプロセスの識別用データ(例えば、プロセスID、名前など)がさらに表示され得、さらなる多様な情報が表示され得、ヘルプまたはガイダンスが提供され得る。
ファイルリソースの場合の例示的なリソース編集オペレーションを挙げると、例えば、デフォルトロケーションの各ファイルのインスタンスの生成、各ファイルの再度の名前付け、ファイルの再配置(すなわち、ロボットを新規のロケーションへリダイレクトすること)、当該ファイルの複製、およびファイルの削除がある。他のリソースタイプ(例えば、ネットワーク接続/通信リンク)の場合、リソース編集オペレーションを挙げると、各接続の生成および多様なパラメータ(例えば、リモート接続ピアの識別子、VPN資格情報)の再構成がある。
リソース編集機構の他の例示的実行を挙げると、ユーザーが(現在表示されている値のクリック/タップおよびその値の上書きにより)テキスト属性値(例えば、ユーザー用名)を変更することを可能にすることがある。別の例において、UI17により、ユーザーが(リソースのユーザー用名のクリック/タップおよびロケーションメニュー36(図6)から選択されたアイテム(例えば、フォルダ)へのドラッグにより)当該リソースを再配置することが可能になり得る。このような例において、リソース名を表示するUI要素は、リソース編集制御を構成し得る。
図9は、本発明のいくつかの実施形態による、オーケストレータによって行われるステップの例示的シークエンスを示す。典型的なRPAデプロイメントシナリオにおいて、開発者は、ワークフロー(例えば、請求書のキューから特定のデータを抽出するロボットアクティビティのシークエンス)を設計するために、RPA設計アプリケーション30を用いる。いくつかの実施形態において、設計アプリケーションは、図3に示すように、各ロボットアクティビティ(RPAスクリプト42)の符号化およびリソース仕様44を含むRPAパッケージ40を出力する。次に、RPAパッケージ40は典型的には、オーケストレータ14および/またはRPAロボット(複数可)12を実行するRPAホストシステム20a~20eへアップロードされる。
パッケージ40(ステップ102)の受信に応答して、ステップ104において、オーケストレータ14は、仕様44をパースして、RPAリソース(すなわち、各ワークフローの実行の成功のためにRPAロボットに必要なリソース)を特定し得る。選択された例において、必要なRPAリソースを挙げると、キューオブジェクトまたは処理すべき請求書を保存するロケーションのインジケータ(例えば、ファイルシステムフォルダ)がある。次に、オーケストレータ14は、全ての特定されたリソース(ステップ106~108~110)を通じて、多様なデータ構造を設定し得る。その後、このデータ構造は、各リソースの管理のためにオーケストレータ14および/または実行側のロボットによって用いられる。
いくつかの実施形態において、ステップ110は、1組のリソース特性(すなわち、各リソースを特徴付けるメタデータ(例えば、各リソースの名前およびロケーション))を決定することを含む。一部のこのようなメタデータは、仕様44内に含まれ、他のアイテムは、リソース仕様44中に含まれる情報から恐らくは他のデータに従って抽出され得る。図10は、本発明のいくつかの実施形態による、例示的なリソースメタデータ52を示す。メタデータ52は、1組のデフォルトの(または設計時の)メタデータと、1組の実行時のメタデータとを含み得る。設計時のメタデータは、設計時に(すなわち、各ワークフローの生成時に)設定された各リソースの特性を含む。本明細書中、設計時のメタデータは、デフォルトメタデータとしてもみなされる。例えば、開発者は、リソースのデフォルト名(例えば、図6~図7において「Q1」と呼ばれるキュー)および/または各リソースのデフォルトロケーションを示し得る。ここでも、図6~図7に示す例を参照して、キューQ1のデフォルトロケーションは、「請求書日本」フォルダ中にあり得る。
リソース仕様44に含まれるこのようなデフォルト特性と対照的に、実行時のリソースメタデータは、各リソースの実行時インスタンスを特徴付ける。例えば、実行時インスタンスの名前および/またはロケーションは、以下にさらに概要を示す多様な理由により、デフォルトのものと異なり得る。いくつかの実施形態において、オーケストレータ14は、1組の実行時のメタデータを生成し得、各属性値の初期値を対応するデフォルト値/設計時の値と等しくなるように設定し得る。例えば、初期実行時ロケーションは、デフォルトロケーションと同一であり得る。次に、いくつかの実施形態により、オーケストレータUI17のユーザーが実行時の値を後で(例えば、本明細書中に記載のようなリソース編集UI制御を介して)変更することが可能になる。
いくつかの実施形態において、ステップ110において、各リソースと関連付けられた1組のデータベース入力がさらに生成され得、この入力(複数可)は、RPAデータベース18(図1~図2)中に保存され、リソースメタデータ52を示す。オーケストレータ14は、対応するデフォルト属性値と実行時属性値との間のマッピングをさらに設定し得、これにより、各実行時の値の解読をデフォルト値に基づいて行うことまたはこの逆の各ワークフローを実行するタスクをオーケストレータ14および/またはRPAロボットへ付与することが可能になる。本明細書中、マッピングは、選択された属性のデフォルト値を対応する実行時の値と関連付ける任意の手段(例えば、リソースのデフォルトロケーションと、各リソースの実行時ロケーションとの関連付け)を主に意味する。例示的なマッピングは、データベース入力(例えば、表の1行)を含み得、デフォルト属性値および実行時属性値は、同一のルックアップインデックス(例えば、行ラベル、リソース名)によって接続される。当業者であれば、このようなマッピングを技術的に達成する方法は多数存在し得、記載の例は限定的なものを意図していないことを理解する。
パッケージ40中に示されるリソース全てについてリソース管理データが生成されたのに応答して、ステップ112において、オーケストレータ14は、他の構成アクティビティに進み得る(例えば、選択されたロボットを各ワークフローの実行(よってRPAプロセスの定義)に割り当てること、ジョブをスケジュールすることおよびプロセス評価アクティビティ/監視アクティビティを行うこと)。さらなるステップ114において、オーケストレータ14は、各ワークフローの実行をタスク付与されたRPAロボットに対してかつ/またはRPAパッケージ40中に指定された少なくとも1つのリソースへのアクセスを必要とし得る任意のロボットに対して、リソースメタデータを利用可能とし得る。ステップ114は、任意のデータ通信方法を含み得る(例えば、図2に関連して上記したようなクライアントメッセージ/サーバーメッセージの交換を介したもの)。
図11は、本発明のいくつかの実施形態による、オーケストレータ14によって行われるステップの例示的シークエンスを示す。図示のステップのシークエンスは、例えば初期プロセス構成の一部(すなわち、選択されたロボット上における実行対象として選択されたワークフローの割り当て)として実施してもよいし、あるいは、ユーザーが既存のRPAプロセスの再構成を決心した際に後で実施してもよい。選択されたプロセスの構成の意図を示すユーザー入力が受信されたこと(ステップ122)に応答して、ステップ124において、オーケストレータ14は、リソース管理インターフェース(例えば、図7に示す例示的なGUI)を公開し得る。次に、オーケストレータ14は、ステップ130~132~134~136のシークエンスを各ワークフローに必要な各RPAリソースについて繰り返し得る。リソースの選択(ステップ130)に応答して、ステップ132において、各リソースの必要な実行時特性を備えたオブジェクトが、各ワークフローの実行がタスク付与されたロボットにとって現在利用可能であるかを決定し得る。各リソースがファイルを含む例において、ステップ132は、各リソースの実行時のファイル名を有するファイルが各リソースの実行時ロケーションにおいて存在するかを決定し得る。各リソースの多様なデフォルト特性および/または実行時特性の決定のために、ステップ132は、RPAデータベース18中の各リソースと関連付けられた選択された入力をルックアップすることを含み得る。
各現在選択されているRPAリソースについて、ステップ134は、利用可能性インジケータ(例えば、図7に示すようなアイテム54)を表示し得る。さらなるステップ136において、ユーザーが選択されたリソースの多様な特性を変更することを可能にするリソース編集UI制御を表示し得る。例えば、図7中の制御56および関連付けられた上記記載を参照されたい。
図12は、本発明のいくつかの実施形態に従ってユーザーがこのような変更を行うことを可能にする、オーケストレータ14によって実施されるステップの例示的シークエンスを示す。ステップ152において、オーケストレータ14は、リソース編集UI制御をアクティベートさせるユーザー入力(例えば、図7中のユーザークリック/タップ制御56)を受信し得る。これに応答して、いくつかの実施形態において、リソース編集インターフェース(例えば、図8-A~図8-Bに示す例示的なインターフェース)が公開され得る。いくつかのこのような実施形態において、ステップ156~158のシークエンスにおいて、選択されたリソースの編集が他のRPAプロセスに影響を与えるかが決定され得、「はい」の場合、警告が表示され得る。ステップ156は、他のプロセスまたは各RPAリソースを使用するように構成されたロボットの特定のためにワークフローおよび/またはRPAリソースをロボットと関連付ける特定の入力について、RPAデータベース18をルックアップすることを含み得る。ステップ158において、警告(例えば、図8-B中のダイアログウィンドウ64)および/またはステップ156において特定されたこのような入力についての記述情報がユーザに対して表示され得る。
ステップ160において各リソースの編集による作用について肯定応答するユーザー入力の受信に応答して(例えば、ダイアログウィンドウ64内においてユーザーが「はい」をクリック/タップするのに応答して)、ステップ162において、様な特性(例えば、ユーザー用名、ファイル名、ロケーション、および各リソースバージョン)についてユーザーから提供された実行時属性値が受信され得る。さらなるステップ164において、オーケストレータ14は、RPAデータベース18中の各リソースと関連付けられた実行時のメタデータを更新し得る。
図13は、本発明のいくつかの実施形態による、選択されたRPAワークフローの実行についてタスク付与されたRPAロボット12(図2)によって行われるステップの例示的シークエンスを示す。ロボット12は、各ワークフローを構成するRPAアクティビティ全てを繰り返し得る。ステップ176において選択された各アクティビティについて、ステップ178において、現在のアクティビティにおいてRPAリソースへのアクセスが必要であるかが決定され得る。例示目的のため、以下の段落において、現在のアクティビティにファイルへのアクセスが含まれる例について説明する。各ファイルは、デフォルトメタデータに従ったファイルXおよび実行時のメタデータに従ったファイルYとして特徴付けられる(例えば、各ファイルのファイル名および/またはロケーションは、オーケストレータ14のユーザーによって上記したように変更されている)。
ステップ178の結果が「はい」である場合、ステップ180において、ロボット12は、オーケストレータ14(例えば、図2中のサービスAPI(複数可)19)に対して、各リソースを特徴付けるデータについて問い合わせをし得る。さらなるステップ182において、各リソースの実行時特性/メタデータが決定され得る。当業者であれば、ステップ180~182は、各実行時のメタデータを実際に決定するパーティに応じて多様な様態で実施可能であり得ることを理解する。好適な実施形態において、オーケストレータ14は、各リソースについてデフォルト属性値と実行時属性値との間のマッピングをロボット12に対して公開し得る。次に、ロボット12は、各マッピングを積極的に用いて、RPAスクリプト42および/または仕様44において規定されるような各リソースのデフォルト特性に従って実行時のメタデータを決定し得る。換言すると、このような実施形態において、ロボット12は、ファイルYについて(すなわち、各リソースの実行時特性を用いて)オーケストレータ14に問い合わせし得る。このような運用方法は、ロボット12およびオーケストレータ14の従来のクライアント/サーバーの役割が維持されかつメタデータの翻訳というさらなる負担をオーケストレータ14にかけないため、好適であり得る。
別の実施形態において、ロボット12は、各リソースのデフォルト特性(例えば、デフォルトファイル名、デフォルトロケーション)に従って、オーケストレータ14への問い合わせを定式化し得る。これに応答して、オーケストレータ14は、デフォルトから実行時のマッピングを用いて、各リソースの実行時特性を決定し得、実行時のメタデータと共にロボット12に対して応答し得る。換言すると、このような実施形態において、ロボット12は、ファイルXを特徴付けるデータをリクエストし得るが、ファイルYを特徴付けるデータを受信し得る。
ステップ184において、ロボット12は、現在のRPAアクティビティを実行し得る。この現在のRPAアクティビティは、各RPAリソースへアクセスすること(例えば、各Excel(登録商標)ファイルを開くこと)を含み得る。ステップ186において、現在のアクティビティが成功裏に完了したかが決定され得、結果が「はい」である場合、ロボット12は、ステップ172~174に戻って、ワークフロー中の次のアクティビティへ前進し得る。各ワークフロー中に任意のさらなるアクティビティが含まれないという結論にステップ172において至った場合、ロボット12は、各ジョブのステータスを示すレポートをオーケストレータ14へ送信し得る。いくつかの実施形態において、エラーが発生したことがステップ186において決定された場合(例えば、ロボット12が特定のRPAリソースにアクセスできなかった場合)も、レポートがオーケストレータ14へ送られる。次に、オーケストレータ14は、多様なプロセスおよび/またはリソース管理数量/統計の計算をこのようなレポートのコンテンツに従って行い得、このような情報をオーケストレータUI17内に表示し得る(例えば、図6に示すリソース利用状況データを参照)。
図14は、本明細書中に記載の方法のうちいくつかを実行するようにプログラムされたコンピューティング装置80の例示的ハードウェア構成を示す。機器80は、ロボット12a~12cおよび/またはオーケストレータ14(図1)を実行するように構成されたRPAホストプラットフォーム20a~20e(図4)のうちいずれかを含み得る。図示の機器80は、パーソナルコンピュータ、他のコンピューティングデバイス(例えば、サーバー、携帯電話、タブレットコンピュータ)であり、ウエアラブルコンピューティングデバイスの場合、構成が若干異なり得る。プロセッサ(複数可)82は、1組の信号および/またはデータと共に計算的オペレーションおよび/またはロジック的オペレーションを実行するように構成された物理的デバイス(例えば、マイクロプロセッサ、半導体基板上に形成されたマルチコア集積回路)を含む。このような信号またはデータは、符号化され得、プロセッサ命令(例えば、マシンコード)の形態でプロセッサ(複数可)82へ送達され得る。プロセッサ(複数可)82は、中央処理装置(CPU)および/またはグラフィックスプロセッシングユニット(GPU)のアレイを含み得る。
メモリユニット83に含まれ得る揮発性のコンピュータにより読み出し可能な媒体(例えば、ダイナミックランダムアクセスメモリ-DRAM)は、オペレーション実行時においてプロセッサ(複数可)82によってアクセスまたは生成されるデータおよび/または命令符号化を保存する。入力デバイス84を挙げると、コンピュータキーボード、マウス、トラックパッドおよびマイクロフォンなどがある(例えば、ユーザーがデータおよびおよび/または命令を機器80中へ導入することを可能にする各ハードウェアインターフェースおよび/またはアダプタ)。出力デバイス85を挙げると、表示デバイス(例えば、モニターおよびスピーカー)ならびにハードウェアインターフェース/アダプタ(例えば、グラフィックカード)があり、各コンピューティングデバイスがデータをユーザーへ通信させることを可能にする。いくつかの実施形態において、入力デバイスおよび出力デバイス84~85は、共通するハードウェア(例えば、タッチスクリーン)を共有する。保存デバイス86は、ソフトウェア命令および/またはデータの不揮発性の保存、読み出しおよび書き込みを可能にするコンピュータにより読み出し可能な媒体を含む。例示的な保存デバイスを挙げると、磁気ディスクおよび光ディスクならびにフラッシュメモリデバイスや、取り外し可能な媒体(例えば、CDディスクおよびドライブおよび/またはDVDディスクおよびドライブ)がある。ネットワークアダプタ(複数可)87は、電気通信ネットワーク(例えば、図4中のネットワーク13)へ連結された物理リンクを介しておよび/または他のデバイス/コンピュータシステムへデータを通信する機械信号、電気信号およびシグナリング回路を含む。アダプタ(複数可)87は、データの送信および/または受信を多様な通信プロトコルを用いて行うように構成され得る。
コントローラハブ90は、複数のシステム、周辺バスおよび/またはチップセットバス、ならびに/あるいはプロセッサ(複数可)82と機器80のハードウェアコンポーネントの残りとの間の通信を可能にする他の全ての回路を一般的に示す。例えば、コントローラハブ90は、メモリコントローラ、入力/出力(I/O)コントローラおよび割り込みコントローラを含み得る。ハードウェア製造業者に応じて、いくつかのこのようなコントローラは、単一の集積回路内へ設けられ得、かつ/または、プロセッサ(複数可)82と一体化され得る。別の例において、コントローラハブ90は、プロセッサ82をメモリ83へ接続させるノースブリッジおよび/またはプロセッサ82をデバイス84、85、86および87へ接続させるサウスブリッジを含み得る。
上記した例示的なシステムおよび方法によれば、(RPAリソース(例えば、ファイル、キュー、データベース、資格情報一式)のデフォルト特性の変更をいつでも仮想的に行うための)ユーザーフレンドリーなインターフェースの提供により、RPAロボットの管理が促進される。編集可能な特性を挙げると、例えば、名前、ロケーション、および各リソースのバージョンがある。次に、このような変更は、各リソースへのアクセスを必要とするワークフローを実行するロボット全てへ伝播される。重大なことは、いくつかの実施形態によれば、ユーザーが(各リソースを使用するワークフローの仕様の変更する必要無しに)上記各変更を適用することが可能であることである。
典型的なRPAシナリオにおいて、RPA開発者は、ロボット設計アプリケーションを用いて、アクティビティのシークエンス(例えば、請求書の集合から構造化データを抽出すること、入来するeメールのパースおよび分類を行うこと)を実行するように構成されたソフトウェアロボットを構築する。次に、各ロボットの仕様が、各RPAクライアントへ送信される。各RPAクライアントは、複雑なコンピューティング内部構造を備えた大企業であり得る。各RPAクライアントは、複数のロボットおよびワークフローの実行を管理するように構成されたロボットオーケストレータを操作することが多い。RPAワークフローによっては、多様なリソース(例えば、ファイル、キュー、資格情報)へのアクセスが必要になる。しかし、各ロボットの開発者は、クライアントのファイルのロケーションを知らないかまたは知るべきではなく、あるいは、そのようなファイルへのアクセスのための資格情報も持たないかまたは持つべきではない。そのため、従来のRPAの場合、クライアント側のIT専門家(例えば、オーケストレータ管理者)は典型的には、受信されたロボット仕様をローカル内部構造に適合させるというタスクが付与される。
しかし、ロボット仕様を変更するためには、RPA(特にロボット設計ソフトウェア)についての社内知識(すなわち、平均的なIT専門家のスキルをはるかに超えたスキル)が実質的に必要なることが多い。あるいは、ロボットを変更するためには、ロボット開発者との協働が必要になり得、プロセスが緩慢かつ非実際的になり得る。
いくつかの実施形態によれば、クライアント側のユーザーがロボット仕様から独立してRPAリソースを管理することを可能にすることと、クライアント側の管理またはRPAリソースのためのユーザーフレンドリーなユーザインターフェースを提供することにより、ソフトウェアロボットのクライアント側の管理が促進される。いくつかの実施形態によれば、オーケストレータUIへ新規の機能が付加されて、RPAリソース管理がロボット管理の他の態様(例えば、スケジューリングおよび監視)と簡便に集約化される。
従来のRPAの場合、ロボットワークフロー実行を「アウトオブボックスで」実行しようとすると、実行に必要なリソースの紛失または誤構成に起因して実行できない場合がある。さらに、クライアント側のRPAユーザインターフェースの場合、このような不具合の理由に気づかないことが多く、これを超えた場合、「ファイルがみつかりません」などの一般的なエラーメッセージが表示され得る。ロボットは、特定のリソース(例えば、ファイル、キュー)を(設計時に開発者が設定したデフォルトロケーションにおいて)探索するように事前構成された状態で到着し得るが、従来の実行時のインターフェースの場合、このような情報をユーザーに表示しない場合がある。そのため、クライアント側のオペレータが記各ワークフローをローカルコンピューティング環境の特殊性に適合させようとすると、各ワークフローに必要なリソースのタイプと、オペレーションの成功のために当該リソースをどのように構成すべきかとを発見するのに難儀し得る。
このような従来のRPAと対照的に、いくつかの実施形態によれば、選択されたワークフローに必要なリソース全てをリスト化したリソース管理インターフェースが提供され、各リソースの実行時インスタンスが現在利用可能であるかを示す利用可能性インジケータがさらに表示される。このような情報により、各ワークフローの要件および構成選択肢についての理解がさらなる文書の必要無しに促進される。さらに、このリソース利用可能性情報は、各ワークフローの実行の準備時に表示され得るため、クライアント側のユーザーは、不具合に反応する代わりに、潜在的問題の予期および対処を先を見据えつつ行うことが可能になる。
いくつかの実施形態において、リソース管理インターフェースは、紛失しているリソースを生成するための1組の制御をさらに公開する(例えば、必要なファイルをデフォルトロケーションへアップロードすること、キューおよび/または資格情報オブジェクトを生成すること、VPNチャンネルをリモートリソースに対して構成すること)。いくつかの実施形態において、選択されたRPAリソースの多様な特性(例えば、ファイル名、ユーザー用名(すなわち、各UI内に表示されるようなリソースのラベル/名称)および各リソースのロケーション)のクライアント側ユーザーによる変更を可能にするリソース編集UI制御がさらに公開される。ユーザーは、例えば、開発者が設計時に選択した名称よりもより情報価値のある名称を用いてリソースを再度名前付けし得る。各リソースの再配置により、各ワークフローのローカルコンピューティング環境への適合が実質的に促進され得る。すなわち、クライアント側のユーザーは、開発者が設計時において選択したデフォルトロケーション(複数可)の仕様する必要無く、ロボットを任意の保存場所へ仮想的にリダイレクトするだけで済む。このようなユーザーフレンドリーなリソース再配置機構により、例えば、同一ワークフローの別個のインスタンスを別個の目標ファイル/フォルダに対して実行することが可能になり得、各ワークフローの仕様の必要は全く無くなる。
いくつかの実施形態において、各リソースのデフォルト特性(すなわち、特性(例えば、開発者が設計時に選択したファイル名およびロケーション))と各リソースの実行時特性(すなわち、(クライアント側ユーザーによって編集され得る)各インスタンスの実行時インスタンス特性)との間のマッピングの維持により、リソース編集機構を実行し得る。いくつかの実施形態において、実行側のロボットは、オーケストレータとの通信をメッセージ交換を介して行い得、ここで、ロボットは、選択されたリソースのデフォルト特性に従って記述されたリクエストを送信する。これに応答して、オーケストレータは、マッピングをロボットに公開し得、これにより、ロボットが各リソースの実行時特性を決定することが可能になる。
上記実施形態は、本発明の範囲から逸脱すること無く多数の様態において変更され得ることが当業者にとって明らかである。よって、本発明の範囲は、以下の特許請求の範囲およびその法律的同等物によって決定されるべきである。

Claims (19)

  1. コンピュータシステムの少なくとも1つのハードウェアプロセッサを用いて、複数のソフトウェアロボットを管理するように構成されたロボティックプロセスオートメーション(RPA)オーケストレータを実行することを含む方法であって、
    RPAワークフローの符号化と、前記RPAワークフローに必要なRPAリソースのデフォルトロケーションのインジケータとを含むRPAパッケージを受信することであって、前記RPAリソースは、コンピュータファイル、キュー、およびデータベースからなる群から選択されたアイテムを含む、ことと、
    前記RPAワークフローを実行対象として前記複数のソフトウェアロボットのうち選択されたロボットに割り当てることであって、前記RPAワークフローを前記選択されたロボットに割り当てることは、前記RPAワークフローの実行の準備のために、
    前記RPAリソースの実行時インスタンスが前記デフォルトロケーションにおいて利用可能であるかを決定すること、および、
    オーケストレータユーザインターフェース(UI)をユーザーへ公開することであって、前記オーケストレータUIは、前記決定の結果に従って選択されたリソース利用可能性インジケータを表示する、こと、
    を含む、割り当てることと、
    を行うようにさらに構成される、方法。
  2. 前記RPAオーケストレータは、前記RPAリソースの1組のデフォルト特性と前記RPAリソースの1組の実行時特性との間のマッピングを維持するようにさらに構成され、
    デフォルト特性は、前記RPAパッケージの内容に従って決定され、前記RPAリソースのデフォルトロケーションを含み、
    実行時特性は、前記RPAリソースの実行時インスタンスを特徴付け、前記実行時インスタンスのロケーションを含み、
    前記マッピングにより、前記デフォルトロケーションが前記実行時インスタンスのロケーションと関連付けられる、
    請求項1に記載の方法。
  3. 前記RPAオーケストレータは、
    前記RPAリソースの実行時インスタンスのロケーションを前記マッピングに従って決定することと、
    前記実行時インスタンスのロケーションのインジケータを前記選択されたロボットへ送信することと、
    を行うようにさらに構成される、
    請求項2に記載の方法。
  4. 前記RPAオーケストレータは、
    他方のロボットへ実行対象として割り当てられた別のワークフローに前記RPAリソースが必要かに従って、前記複数のソフトウェアロボットのうち別のロボットを特定することと、
    上記に応答して、前記実行時インスタンスのロケーションのインジケータを他方のロボットへ送信することと、
    を行うようにさらに構成される、
    請求項3に記載の方法。
  5. 前記RPAオーケストレータは、前記マッピングを前記選択されたロボットへ公開するようにさらに構成される、請求項2に記載の方法。
  6. 前記オーケストレータUIは、前記ユーザーが前記RPAリソースの実行時インスタンスのロケーションを入力することを可能にするリソース編集制御を表示するようにさらに構成される、請求項2に記載の方法。
  7. 前記リソース編集制御がアクティベートされると、前記RPAオーケストレータは、
    他方のロボットへ実行対象として割り当てられた別のワークフローに前記RPAリソースが必要かに従って、前記複数のソフトウェアロボットのうち別のロボットを特定することと、
    上記に応答して、警告メッセージを前記ユーザーに表示することであって、前記メッセージは、他方のワークフローの識別子または他方のロボットの識別子を含む、ことと、
    を行う、
    請求項6に記載の方法。
  8. デフォルト特性は、前記RPAリソースのデフォルトファイル名をさらに含み、
    実行時特性は、前記RPAリソースの実行時インスタンスのファイル名をさらに含み、
    前記マッピングにより、デフォルトロケーションファイル名が前記実行時インスタンスのファイル名と関連付けられ、
    前記オーケストレータUIは、前記ユーザーが前記実行時インスタンスのファイル名を入力することを可能にするリソース編集制御を表示するようにさらに構成される、
    請求項2に記載の方法。
  9. 前記オーケストレータUIは、前記ユーザーが前記RPAリソースのコピーを前記実行時インスタンスのロケーションにアップロードすることを可能にするリソース編集制御を表示するようにさらに構成される、請求項2に記載の方法。
  10. 複数のソフトウェアロボットを管理するように構成されたRPAオーケストレータを実行するように構成された少なくとも1つのハードウェアプロセッサを含むコンピュータシステムであって、
    RPAワークフローの符号化と、前記RPAワークフローに必要なRPAリソースのデフォルトロケーションのインジケータとを含むRPAパッケージを受信することであって、前記RPAリソースは、コンピュータファイル、キュー、およびデータベースからなる群から選択されたアイテムを含む、ことと、
    前記RPAワークフローを実行対象として前記複数のソフトウェアロボットのうち選択されたロボットに割り当てることであって、前記RPAワークフローを前記選択されたロボットに割り当てることは、前記RPAワークフローの実行の準備のために、
    前記RPAリソースの実行時インスタンスが前記デフォルトロケーションにおいて利用可能であるかを決定すること、および
    オーケストレータユーザインターフェース(UI)をユーザーへ公開することであって、前記オーケストレータUIは、前記決定の結果に従って選択されたリソース利用可能性インジケータを表示することを含む、
    ことと、
    を行うようにさらに構成される、コンピュータシステム。
  11. 前記RPAオーケストレータは、前記RPAリソースの1組のデフォルト特性と前記RPAリソースの1組の実行時特性との間のマッピングを維持するようにさらに構成され、
    デフォルト特性は、前記RPAパッケージの内容に従って決定され、前記RPAリソースのデフォルトロケーションを含み、
    実行時特性は、前記RPAリソースの実行時インスタンスを特徴付け、前記実行時インスタンスのロケーションを含み、
    前記マッピングにより、前記デフォルトロケーションは前記実行時インスタンスのロケーションと関連付けられる、
    請求項10に記載のコンピュータシステム。
  12. 前記RPAオーケストレータは、
    前記RPAリソースの実行時インスタンスのロケーションを前記マッピングに従って決定することと、
    前記実行時インスタンスのロケーションのインジケータを前記選択されたロボットへ送信することと、
    を行うようにさらに構成される、
    請求項11に記載のコンピュータシステム。
  13. 前記RPAオーケストレータは、
    他方のロボットへ実行対象として割り当てられた別のワークフローに前記RPAリソースが必要かに従って、前記複数のソフトウェアロボットのうち別のロボットを特定することと、
    上記に応答して、前記実行時インスタンスのロケーションのインジケータを他方のロボットへ送信することと、
    を行うようにさらに構成される、
    請求項12に記載のコンピュータシステム。
  14. 前記RPAオーケストレータは、前記マッピングを前記選択されたロボットへ公開するようにさらに構成される、請求項11に記載のコンピュータシステム。
  15. 前記オーケストレータUIは、前記ユーザーが前記RPAリソースの実行時インスタンスのロケーションを入力することを可能にするリソース編集制御を表示するようにさらに構成される、請求項11に記載のコンピュータシステム。
  16. 前記リソース編集制御がアクティベートされると、前記RPAオーケストレータは、
    他方のロボットへ実行対象として割り当てられた別のワークフローに前記RPAリソースが必要かに従って、前記複数のソフトウェアロボットのうち別のロボットを特定することと、
    上記に応答して、警告メッセージを前記ユーザーへ表示することであって、前記メッセージは、他方のワークフローの識別子または他方のロボットの識別子を含む、ことと、
    を行う、
    請求項15に記載のコンピュータシステム。
  17. デフォルト特性は、前記RPAリソースのデフォルトファイル名をさらに含み、
    実行時特性は、前記RPAリソースの実行時インスタンスのファイル名をさらに含み、
    前記マッピングにより、デフォルトロケーションファイル名が前記実行時インスタンスのファイル名と関連付けられ、
    前記オーケストレータUIは、前記ユーザーが前記実行時インスタンスのファイル名を入力することを可能にするリソース編集制御を表示するようにさらに構成される、
    請求項11に記載のコンピュータシステム。
  18. 前記オーケストレータUIは、前記ユーザーが前記RPAリソースのコピーを前記実行時インスタンスのロケーションにアップロードすることを可能にするリソース編集制御を表示するようにさらに構成される、
    請求項11に記載のコンピュータシステム。
  19. 命令を保存する非一時的なコンピュータにより読み出し可能な媒体であって、前記命令がコンピュータシステムの少なくとも1つのハードウェアプロセッサによって実行されると、前記コンピュータシステムは、複数のソフトウェアロボットを管理するように構成されたRPAオーケストレータを実行し、前記RPAオーケストレータは、
    RPAワークフローの符号化と、前記RPAワークフローに必要なRPAリソースのデフォルトロケーションのインジケータとを含むRPAパッケージを受信することであって、前記RPAリソースは、コンピュータファイル、キュー、およびデータベースからなる群から選択されたアイテムを含む、ことと、
    前記RPAワークフローを実行対象として前記複数のソフトウェアロボットのうち選択されたロボットに割り当てることであって、前記RPAワークフローを前記選択されたロボットに割り当てることは、前記RPAワークフローの実行の準備のために、
    前記RPAリソースの実行時インスタンスが前記デフォルトロケーションにおいて利用可能であるかを決定すること、および、
    オーケストレータユーザインターフェース(UI)をユーザーへ公開することであって、前記オーケストレータUIは、前記決定の結果に従って選択されたリソース利用可能性インジケータを表示する、こと、
    を含む、こと、
    を行うようにさらに構成される、非一時的なコンピュータにより読み出し可能な媒体。
JP2022176334A 2021-11-05 2022-11-02 ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法 Pending JP2023070148A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/453,805 US20230143922A1 (en) 2021-11-05 2021-11-05 Systems and Methods for Dynamically Binding Robotic Process Automation (RPA) Robots to Resources
US17/453,805 2021-11-05

Publications (1)

Publication Number Publication Date
JP2023070148A true JP2023070148A (ja) 2023-05-18

Family

ID=86187575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022176334A Pending JP2023070148A (ja) 2021-11-05 2022-11-02 ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法

Country Status (3)

Country Link
US (1) US20230143922A1 (ja)
JP (1) JP2023070148A (ja)
CN (1) CN116088818A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230222044A1 (en) * 2022-01-07 2023-07-13 Jpmorgan Chase Bank, N.A. System and method for automatically monitoring performance of software robots
CN117076091B (zh) * 2023-10-12 2024-01-26 宁波银行股份有限公司 一种多引擎接口调度方法及装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116088818A (zh) 2023-05-09
US20230143922A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
CN111078315B (zh) 微服务编排、执行方法及系统、架构、设备、存储介质
US11709766B2 (en) Mocking robotic process automation (RPAactivities for workflow testing
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
US20100082773A1 (en) Screen scraping interface
US11947443B2 (en) Robotic process automation (RPA) debugging systems and methods
US11604627B2 (en) Systems and methods for on-demand provisioning of robotic process automation environments
JP2023070148A (ja) ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法
US11977904B2 (en) Systems and methods for robotic process automation of mobile platforms
US20210304142A1 (en) End-user feedback reporting framework for collaborative software development environments
US20210133078A1 (en) Monitoring long running workflows for robotic process automation
US11343305B2 (en) Systems and methods of automating a file download activity
US20230236712A1 (en) Browser-Based Robotic Process Automation (RPA) Robot Design Interface
JP2022097438A (ja) ロボティックプロセスオートメーション(rpa)ロボットの動的クラウドデプロイメント
US10452371B2 (en) Automating enablement state inputs to workflows in z/OSMF
US20220067272A1 (en) Robotic Process Automation Systems and Methods Using A Helper Spreadsheet
CN116893807A (zh) 使用浏览器设计机器人流程自动化机器人的系统和方法
EP4124946A1 (en) Optimized software delivery to airgapped robotic process automation (rpa) hosts
JP2023536768A (ja) コンピューティングプラットフォームのエンティティエンジン
Liu Wcf 4 0 Multi-Tier Services Development with Linq to Entities
US20240210903A1 (en) Software Development (DevOps) Pipelines for Robotic Process Automation
US11762676B2 (en) Optimized software delivery to airgapped robotic process automation (RPA) hosts
US11888937B2 (en) Domain specific provider contracts for core data services
US20220191167A1 (en) Organizational modelling for routing rpa related services of an rpa cloud suite
JP2023089951A (ja) ロボティックプロセスオートメーションのためのマルチターゲットライブラリ、プロジェクト、およびアクティビティ
Jones OmniPanel: A Web Control Panel For Distributed, Heterogeneous Applications