JP2023093354A - ロボットをスケジューリングするためのクラウドトリガ - Google Patents
ロボットをスケジューリングするためのクラウドトリガ Download PDFInfo
- Publication number
- JP2023093354A JP2023093354A JP2022196080A JP2022196080A JP2023093354A JP 2023093354 A JP2023093354 A JP 2023093354A JP 2022196080 A JP2022196080 A JP 2022196080A JP 2022196080 A JP2022196080 A JP 2022196080A JP 2023093354 A JP2023093354 A JP 2023093354A
- Authority
- JP
- Japan
- Prior art keywords
- trigger
- trigger engine
- engine
- robotic process
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000004801 process automation Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims abstract description 24
- 230000009471 action Effects 0.000 claims description 46
- 239000000284 extract Substances 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 27
- 230000000694 effects Effects 0.000 description 20
- 208000014633 Retinitis punctata albescens Diseases 0.000 description 18
- 238000003860 storage Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 239000004020 conductor Substances 0.000 description 15
- 230000010354 integration Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ロボットをスケジューリングするためのクラウドトリガを提供する方法、装置、デバイス、システム及びプログラムを提供する。【解決手段】プロセッサ遂行可能命令としてメモリ上に格納され、ソフトウェアプラットフォームのロボティックプロセスオートメーション(RPA)の仲介役として動作するトリガエンジンによって実装されるトリガシステム300において、トリガエンジン330は、外部システム310内の動作を追跡し、そこでの動作に関する情報を要素サービス315から引き出し、動作に関する利用可能なイベントを、RPAによってアクセス可能なデータベースに登録する。外部システムのアクティブイベントは、トリガエンジンのトリガを介してRPAに表示される。【選択図】図3
Description
本明細書における開示は、クラウドソフトウェア統合に関する。より具体的には、本明細書のシステムおよび方法は、多様なソフトウェアプラットフォームにわたってロボットをスケジューリングするためのクラウドトリガを提供する。
一般に、ソフトウェアプラットフォームは、ソフトウェアプラットフォームが外部システム(つまり、別のソフトウェアプラットフォーム)と通信できるようにする1または複数のアプリケーションプログラマブルインターフェース(つまり、ソフトウェア仲介)を含む。つまり、アプリケーションプログラマブルインターフェース(API)により、さまざまなソフトウェアプラットフォーム間の統合が可能になる。クラウドAPI統合に関して、開発者は、さまざまなソフトウェアプラットフォームに接続されたクラウドプラットフォームを介してAPIを公開、統合、集約、および管理しようとする。クラウドプラットフォームは、トリガサービスを利用するクラウドAPIを含み得る。トリガサービスは、外部システムの機能(例えば、イベント、アクションなど)を監視し、ソフトウェアプラットフォーム内のクラウドAPIを介して特定の操作を開始または停止するソフトウェア製品またはコードであり得る。
しかし、従来の慣例では、クラウドAPI自体が統合されていないため、トリガサービスはソフトウェアエコシステム(例えば、多様なソフトウェアプラットフォーム)の外に置かれている。その結果、トリガサービスは、他のシステム(例えば、イベントが監視される外部システム)にコールバックし、ソフトウェアプラットフォーム内でイベント/アクションを発行する権利、または自動化プロセスを構成し、自動化プロセスを実行する権利を有する開発者に検証する権利を持たない。また、従来のトリガサービスは、1つの監視対象イベント、アクションなどが、1つの特定の動作を開始または停止するという一対一の対応にとどまっている。
必要なのは、ロボットをスケジューリングするためのクラウドトリガメカニズムである。
1または複数の実施形態によると、方法が提供される。本方法は、プロセッサ遂行可能命令としてメモリ上に格納されたトリガエンジンによって実装される。プロセッサ遂行可能命令は、少なくとも1つのプロセッサによって遂行される。トリガエンジンは、ソフトウェアプラットフォームの1または複数のロボティックプロセスオートメーションのための仲介役として動作する。本方法は、1または複数の外部システム内の1または複数の動作を追跡することと、1または複数の動作に関する1または複数の利用可能なイベントを、1または複数のロボティックプロセスオートメーションによってアクセス可能なデータベースに登録することと、1または複数の外部システムのアクティブイベントが、トリガエンジンのトリガを介して1または複数のロボティックプロセスオートメーションに表示されるようにすることと、を含む。
上記の実施形態は、方法、装置、デバイス、システム、および/またはコンピュータプログラム製品として実装され得る。
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
(詳細な説明)
本明細書における開示は、クラウドソフトウェア統合に関する。より具体的には、本明細書のシステムおよび方法は、多様なソフトウェアプラットフォームにわたってロボットをスケジューリングするためのクラウドトリガを提供する。一例として、本明細書のシステムおよび方法は、トリガエンジンに関して説明される。トリガエンジンは、多様なソフトウェアプラットフォームによるプロセス動作、およびそのハードウェアの処理に必然的に根ざされた(rooted)プロセッサ遂行可能コードまたはソフトウェアとして実装され得る。
本明細書における開示は、クラウドソフトウェア統合に関する。より具体的には、本明細書のシステムおよび方法は、多様なソフトウェアプラットフォームにわたってロボットをスケジューリングするためのクラウドトリガを提供する。一例として、本明細書のシステムおよび方法は、トリガエンジンに関して説明される。トリガエンジンは、多様なソフトウェアプラットフォームによるプロセス動作、およびそのハードウェアの処理に必然的に根ざされた(rooted)プロセッサ遂行可能コードまたはソフトウェアとして実装され得る。
1または複数の実施形態によると、トリガエンジンは、登録されたイベントに遭遇したときにロボティックプロセスオートメーション(RPA)を遂行するためにトリガが構成されることを可能にするトリガリングサービス、例えば、中間層トリガリングサービスを提供し得る。トリガエンジンの1または複数の技術的効果、利点、および利益は、多様なソフトウェアプラットフォームに対するRPAと登録されたイベントとの間の堅牢で効率的な接続処理のためのソフトウェアおよび/またはハードウェア(例えば、ハードウェアに必ず根ざされるプロセッサ遂行可能コード)を含む。さらに、従来のトリガサービスとは対照的に、トリガエンジンの1または複数の技術的効果、利点、および利益は、時間短縮、計算効率、およびコスト削減を提供するために、RPAを開始すること、キューを利用すること、および通知を送信することの自動インテリジェント実装を含む。
図1は、1または複数の実施形態による環境100を示す。一般に、環境100は、トリガエンジン101の開発、設計、動作、および/または遂行が、RPA、ならびに機械学習および/または人工知能(ML/AI)動作のコンテキストで例示されるような、設計および展開コンピューティングプラットフォームであり得る。
環境100は、スタジオ120およびロボット120(すなわち、例示的なRPA)を含むデザイナ110を示す。ロボット122は、アクティビティ123、ユーザーインターフェース(UI)オートメーション124、ドライバ125、および内部エンジン126のうちの1つ以上を含み得る。スタジオ120に関連して、デザイナ110は、ドライバコンポーネント130、ネイティブAPI131、標準化(normalized)コネクタ133、認証アプリケーション135、およびモジュール137をさらに含む。環境100は、ロボット122(例えば、アテンディッドまたはアンアテンディッドロボット152および162として示される)およびトリガエンジン101のインスタンス/実装を遂行し得る、コンダクタ140およびエグゼキュータ145も示す。
トリガエンジン101は、ハードウェア、ソフトウェア、またはそれらの組み合わせであり得る。1または複数の実施形態によると、トリガエンジン101は、プロセッサによる遂行のためのソフトウェアコンポーネント、モジュール、命令などとしてメモリ上に格納され得る。トリガエンジン101は、環境100内のトリガエンジン101のスケーラビリティおよびポータビリティを説明するためにダッシュボックスとして詳述される。トリガエンジン101の動作/機能性は、本明細書でさらに説明される。
デザイナ110、コンダクタ140、およびエグゼキュータ145は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含む、コンピューティングデバイス、コンピューティング装置、および/またはコンピューティングシステムを代表する。デザイナ110、コンダクタ140、およびエグゼキュータ145、ならびにその上の任意のソフトウェア(例えば、トリガエンジン101)は、ユーザー(例えば、オペレータ、開発者、および/またはオーケストレータ)とインタラクションし、入力を受信し、出力を提供するように構成される。環境100のコンポーネントのそれぞれについて単一のブロックが示されているが、その単一のブロックは、そのコンポーネントの1または複数を代表するものであることに留意されたい。
デザイナ110は、スタジオプラットフォーム、開発プラットフォーム、および/またはオンラインプラットフォームと呼ばれ得る。デザイナ110は、1または複数のエンジン(すなわち、トリガエンジン101に加えて)、開発環境(例えば、スタジオ120)、サブプログラム(例えば、認証アプリケーション135またはモジュール137)、または同様のものを含み得る。デザイナ110は、ロボット122がアクティビティ123を実行もしくは自動化し、および/またはUIオートメーション124を提供するためのコード、命令、コマンドなどを生成するように構成され得る。デザイナ110は、トリガエンジン101のために、RPAを開始すること、キューを利用すること、ならびに時間削減、計算効率、およびコスト削減を提供するための通知を送信することの自動インテリジェント実装を提供するコード、命令、コマンドなどを生成するように構成され得る。
デザイナ110は、ユーザーがスタジオ120を通じてロボット122をコーディング、プログラム、および/または設計すること、ならびにトリガエンジン101と連動してトリガを構成することも可能にし得る。実施形態では、スタジオ120は、サードパーティアプリケーション、管理情報技術(IT)タスク、および/またはビジネスITプロセスの自動化とともに、アプリケーション統合を提供し得る。例えば、スタジオ120および/またはトリガエンジン101は、外部システムのAPIへの呼び出しに基づき、機能および能力を統合し得る。
本明細書で述べたように、ロボット122は、RPAの一例である。RPAは、いくつかのインスタンスでは、アプリケーション、アプレット、スクリプトなどを含み得るが、RPA(すなわち、ロボット122)は、アクティビティ123を実行および/もしくは自動化することによって、ならびに/またはUIオートメーション124を実行および/もしくは提供することによって、アプリケーション、アプレット、スクリプト、およびスクリプトの単純動作を越えることに注意されたい。
アクティビティ123は、タスクシーケンス、フローチャート、有限状態機械(FSM)、グローバル例外ハンドラ、UIトランスペアレントなどの1または複数のワークフローを代表し得る。タスクシーケンスは、1または複数のアプリケーションまたはUI(例えば、ウィンドウ)間の線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを扱うように構成され得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合および他のアクティビティ123の接続を可能にする。FSMは、大規模なワークフロー用に構成され得、それらの遂行において有限数の状態を使用し、それは、条件、トリガ、遷移、他のアクティビティ123などによって開始され得る。グローバル例外ハンドラは、プロセスのデバッグプロセスなどのために、遂行エラーが発生したときのワークフローの挙動を判断するように構成され得る。透過的なUIは、基礎となるオペレーティングシステム(OS)またはハードウェアに対するソフトウェア動作であり得る。1または複数ワークフローによって達成され得る動作の非限定的な例としては、ログインの実行、文書署名、文書処理、フォームへの記入、情報技術(IT)管理、ユーザー承認などのうちの1または複数であり得る。
UIオートメーション124は、アプリケーション、ソフトウェアプラットフォーム、常駐ソフトウェア、クラウドソフトウェアなどのUIおよびUI要素へのアクセス、特定、および操作を可能にし得る。例えば、RPAまたはロボット122の一部として、UIオートメーション124のコンピュータビジョン(CV)動作に関連して、複数の次元の形状(例えば、正方形、長方形、円、ポリゴン、自由形など)がUIロボット開発および実行時に利用され得る。したがって、UIオートメーション124は、任意のUI生成ソフトウェアおよび結果としてのUIを代表するものであり得る。例えば、UIオートメーション124(例えば、文書処理)のためのアクティビティ123を実行するために、ロボット122は、アプリケーションアクセスまたはアプリケーション開発にかかわらず、ボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に特定し得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、win32、Java、Flash、ハイパーテキストマークアップ言語(HTML)、HTML5、拡張可能なマークアップ言語(XML)、JavaScript、C#、C++、Silverlightなどであり得る。
したがって、1または複数の実施形態によると、ロボット122は、ドライバ125および/または内部エンジン126を使用して、1もしくは複数のアクティビティ123を実行し、および/または1もしくは複数のUIオートメーション124を提供して、アプリケーション、アプレット、およびスクリプトに対する技術的利点および利益を提供し得る。ドライバ125は、(物理または仮想)ハードウェア、低レベルサービス、プログラムなどにリンクされた特定のより低レベルのインターフェースを制御および管理する1または複数のプログラミングインターフェースを含む。内部エンジン126は、ロボット122を自動的に動作させるロボット122のコアソフトウェアコンポーネントであり得る。本明細書で述べたように、環境100は、展開/実装されたロボット122の例として、アテンディッドロボット152およびアンアテンディッドロボット162を示す。
さらに、1または複数の実施形態によると、ロボット122は、デザイナ110に構築されたアクティビティ123を実行する遂行エージェントとして構成され得る。UIオートメーション124またはソフトウェアオートメーションのためのロボット112の商業的な例は、UiPath Robots(商標)である。いくつかの実施形態では、ロボット122(および/またはトリガエンジン101)は、Microsoft Windows(登録商標) Service Control Manager(SCM)が管理するサービスをインストールしてもよい。その結果、トリガエンジン101は、ロボット122に、ローカルシステムアカウント下でインタラクティブなWindows(登録商標)セッションを開かせ、Windows(登録商標)サービスの権利を持たせることができる。1または複数の実施形態によると、ロボット122は、所定のロボットが設置されているユーザーと同じ権利を持ち得る。この機能は、高密度(HD)環境などで最大のパフォーマンスで各マシンを完全に利用できるようにする高密度(HD)ロボットでも使用可能であり得る。
さらに、1または複数の実施形態によると、ロボット122は、コンポーネントに分割、分散などされ得、それぞれ、特定のアクティビティ123または自動化タスクに特化されている。例えば、ロボット122のコンポーネントには、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、コマンドラインなどが含まれ得る。トリガエンジン101によって実装されるようなSCM管理型ロボットサービスは、Windows(登録商標)セッションを管理または監視し、コンダクタ140およびエグゼキュータ145(すなわち、アテンディッドまたはアンアテンディッドロボット152および162が遂行される場所)の間のプロキシとして機能し得る。トリガエンジン101によって実装されるようなユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ140およびエグゼキュータ145の間のプロキシとして機能し得る。ユーザーモードロボットサービスおよび/またはSCM管理ロボットサービスは、ロボット122のための資格情報を信頼し、管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動され得る。一例では、ロボット122は、Windows(登録商標)セッションの下で1または複数の所定のジョブを実行してもよく(例えば、本明細書に記載のアクティビティ123を遂行する)、モニターごとのドットパーインチ(DPI)設定を認識してもよい。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントはサービスのクライアントであり得る。エージェントは、ジョブの開始または停止、設定の変更を依頼し得る。コマンドラインはサービスのクライアントとなり得る。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。1または複数の実施形態によると、ロボット122のコンポーネントが分割される構成により、コンピューティングシステムは、各コンポーネントによる遂行をより容易に実行、特定、および追跡することができる。この方法では、ロボット122とサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な挙動を構成し得る。ロボット122は、いくつかの実施形態では、モニターごとのDPI設定を認識し得る。その結果、アクティビティ123は、それらが作製されたコンピューティングシステムの構成に関係なく、いずれかのDPIで遂行し得る。また、デザイナ110からのプロジェクトは、ブラウザのズームレベルに依存しないようにし得る。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にし得る。
1または複数の実施形態によると、ロボット122および/またはトリガエンジン101は、デザイナ110内のドライバコンポーネント130、ネイティブAPI131、標準化コネクタ133、認証アプリケーション135、およびモジュール137とも関与し得る。ドライバコンポーネント130は、UIの要素を取得するために、ロボット122によるUIオートメーション124のために利用され得る。同様に、ドライバコンポーネント130は、ロボット122によってアクティビティ123に利用されて、文書のアスペクトを取得、決定、および/または予測することができる。例として、ドライバコンポーネント130は、限定されないが、OSドライバ、ブラウザドライバ、仮想マシンドライバ、エンタープライズドライバなどを含み得る。
ネイティブAPI131は、アプリケーションまたはサブルーチンによって提供または使用される軽量APIインターフェースを表し得る。例えば、ネイティブAPI131は、アプリケーションプロバイダによって(例えば、任意のAPI技術として)提供され、トリガエンジン101などのプラットフォーム統合のための機能要素を表し得る。APIタイプの例は、JSON Webトークン(JWT)、OpenID、セキュリティアサーションマークアップ言語(SAML)、基本認証、APIキー、OAuth(1)、OAuth2、OAuth 2.0、OAuth2Password、およびMLSなどを含むが、これらのタイプに限定されない。
標準化コネクタ133は、コネクタオブジェクトおよび/またはコネクタオブジェクトのリストを表し得る。1または複数の実施形態によると、標準化コネクタ133を使用するトリガエンジン101は、Cloud Elementなどの標準化コネクタ層と連携し得る。各コネクタオブジェクトは、構成パラメータおよび/または論理コードのリストである。場合によっては、標準化コネクタ133は、ネイティブAPIの標準化バージョンであり得る。例えば、コネクタオブジェクトは、トリガエンジン101の中央統合層でJSONペイロードを使用してRESTful APIとして利用できるようになったネイティブAPIの標準化バージョンを含み得る。さらに、コネクタオブジェクトは、salesforce APIの上に独自のコネクタの論理コードを含み得る。
認証アプリケーション135は、トリガエンジン101がロボット120および/またはユーザーを信頼できる方法で認証するためのメカニズムを提供する、外部システム(すなわち、トリガエンジン101の外部)に構成されたソフトウェア、コード、および/またはアプリケーションを表し得る。1または複数の実施形態によると、トリガエンジン101は、外部システムからの構成された認証アプリケーション135を格納し、それに依存し得る。メカニズムは、OAuth 2.0などの任意のAPIタイプまたは任意のネイティブAPI131であり得る。1または複数の実施形態によると、認証アプリケーション135が外部システムに登録されると、トリガエンジン101は、アプリケーション資格情報を格納することができるので、ユーザーは、データベースを書く必要がない。
モジュール137は、環境100内の機能を提供するためのハードウェア(例えば、回路基板にパッケージされた独立した電子回路)および/またはソフトウェア(例えば、ファームウェア)、または他のサブソフトウェアモジュールの任意の組み合わせを示し得る。1または複数の実施形態によると、モジュール137は、多様なソフトウェアプラットフォームで使用されるように作製され維持されるコードの任意の独立した離散ピースを示し得る。モジュール137は、トリガエンジン101によって作製され構成されたトリガを示し得る。
1または複数の実施形態によると、開発時に、ロボット122は、デザイナ110(例えば、スタジオ120および/またはトリガエンジン101)で/により作製され得る。さらに、展開時には、ロボット122は、コンダクタ140および/またはトリガエンジン101のインスタンスで/によって、管理、制御、構成などされ得る。
コンダクタ140(および/またはその中のトリガエンジン101)は、場所に関係なく、ロボット122またはエグゼキュータ145に1または複数の動作(例えば、ワークフロー)を遂行または監視するようにコマンドまたは命令し得る。例えば、コンダクタ140のトリガエンジン101は、ロボット122と、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、オンラインプラットフォーム、クラウド環境、デスクトップアプリ(複数可)、ブラウザなどにおける動作に一致する登録されたイベントとの間の堅牢で効率の良い接続処理を提供する。コンダクタ140(および/またはその中のトリガエンジン101)は、ロボット122にコンピューティングプラットフォーム(例えば、環境100)を自動化するように命令またはコマンドする中央または半中央ポイントとして機能し得る。コンダクタ140(および/またはその中のトリガエンジン101)は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として操作することにより、相互接続性を提供し得る。
1または複数の実施形態によると、コンダクタ140は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性を提供するように構成され得る。プロビジョニングは、トリガエンジン101、ロボット122、エグゼキュータ145、およびコンダクタ140の間の接続または通信の作製および維持を含み得る。展開は、遂行のために割り当てられたロボットへのパッケージバージョンの配信を保証することを含み得る。構成は、ロボット環境およびプロセス構成の維持および配信を含み得る。キューイングは、キューおよびキュー項目の管理を提供することを含み得る。監視は、ロボットの特定データを追跡し、ユーザーの権限を維持することを含み得る。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標))へのログの保存およびインデックス作製を含み得る。
エグゼキュータ145および(および/またはその中のトリガエンジン101)は、(環境100内の)モバイルコンピューティングシステムにおいて1または複数の動作(例えば、ワークフロー)を遂行または監視するようにロボット122にコマンドまたは指示し得る。本明細書で述べたように、コンダクタ140およびエグゼキュータ145は、トリガエンジン101および/またはロボット122をダウンロード/取得/送信し得る。すなわち、ロボット122は、アテンディッドロボット152またはアンアテンディッドロボット162として提供され得、トリガエンジン101は、別のソフトウェアインスタンスとしてエグゼキュータ145に提供され得る。アテンディッド動作の場合、アテンディッドロボット152による自動化は、第三者のコンポーネントから入力、コマンド、命令、ガイダンスなどを受信することによって実行され得る。アンアテンディッド動作の場合、アンアテンディッドロボット162による自動化は、サードパーティの入力または制御なしで実行され得る。アテンディッドロボット152および/またはアンアテンディッドロボット162は、エグゼキュータ145のモバイルコンピューティングシステム上で実行または遂行し得る。
トリガエンジン101の動作および/または構成は、次に、図1~2に関して説明される。この点に関して、トリガエンジン101は(どの場所またはどのインスタンスにかかわらず)、ML/AIセンター181、UIジェネレータ183、UIプレゼンタ184、およびAPIサポートライブラリ185、および特定サービス(identity service)187を含み、活用し得る。
ML/AIセンター181は、概念的、データ的、論理的、および/または物理的モデリングを介してトリガのための1または複数の動作(例えば、ワークフロー)から意味を導出するMLサブプログラムを含み得る。さらに、ML/AIセンター181は、1または複数の動作を抽出および/または予測するAIサブプログラムを含み得る。例えば、ML/AIセンター181は、例えば、APIサポートライブラリ185内で利用可能にされる、登録されたイベントに関する1または複数の動作の特定に関する、統計的仮定のセットを具現化する統計数学モデルなどのアルゴリズムおよび/またはモデルを構築、管理、および/または格納し得る。
UIジェネレータ183は、ユーザーおよび/またはRPAがUI、GUIなどを作製/生成/管理するためのUIおよびグラフィックUI(GUI)サブプログラムを含み得る。本明細書で述べたように、UIおよびGUIは、限定されないが、インターネットブラウザ、グラフィックユーザーインターフェース、ウィンドウインターフェース、および/または、アプリケーション、オペレーティングシステム、ファイルフォルダなどのための他の視覚的インターフェースを含む。UIプレゼンタ184は、UIジェネレータ183によって生成されたUI、GUIなどを提供または表示するための1または複数のサブモジュールを含み得る。1または複数の実施形態によると、UIジェネレータ183は、ML/AIセンター181およびUIプレゼンタ184と統合して、ロボット120をトリガする1または複数の動作に遭遇し得る。
APIサポートライブラリ185は、APIに酷似したクラス、オブジェクト、および方法を含み、格納し、そして管理し得る。1または複数の実施形態によると、APIサポートライブラリ185は、任意のAPIタイプまたは任意のネイティブAPI131の後方互換性バージョンを提供するコードライブラリのセットを含み得る。
特定サービス187は、ロボット120および/またはユーザーが、接続アクセス共有を強化するための特定およびアクセス管理システム制御を入力することを可能にする標準化されたフォーマットを提供するメカニズムおよび/またはプロトコルを含み得る。特定サービス187は、アプリケーションとの認証または特定認証(identity authentication)を可能にするためにトークンを利用し得る。特定サービス187は、ロボット122によるコールバックの権利もサポートする。
トリガエンジン101は、基本的なレベルでは、環境100内の他の場所のイベントに対するアテンディッドロボット152および/またはアンアテンディッドロボット162の仲介役として動作し得ることに留意されたい。したがって、図2に目を向けると、1または複数の実施形態による環境200が示される。環境200は、RPAのコンテキストでトリガエンジン101の1または複数のインスタンスを遂行する多様なコンピューティングプラットフォーム201、202、および202を示す。図1に関連して、図2のトリガエンジン101の1または複数のインスタンスは、図1のトリガエンジン101およびその中のコンポーネントを表す。さらに、多様なコンピューティングプラットフォーム201、202、および202の実施形態は、任意の可能な技術的詳細レベルの統合で装置、システム、方法、および/またはコンピュータプログラム製品を含み得る。この点に関して、各コンピューティングプラットフォーム201、202、および202は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含む、任意のコンピューティングデバイス、コンピューティング装置、および/またはコンピューティング環境を示し得る。例えば、コンピューティングプラットフォーム201は、トリガエンジン101、ならびにデザイナ110、コンダクタ140、および/またはエグゼキュータ145をサポートするハードウェアを示し得る。この点に関して、コンピューティングプラットフォーム201は、図1のデザイナ110、コンダクタ140、およびエグゼキュータ145のいずれかと整列し得るデバイス205を含み得る。1または複数の実施形態によると、デバイス205は、オンラインプラットフォーム、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングデバイス、クラウドコンピューティングデバイス、モバイルデバイス、スマートフォン、固定型モバイルデバイス、スマートディスプレイ、ウェアラブルコンピュータなどとして実行するように適合または構成され得る。
デバイス205は、説明を簡単にするために「プロセッサ210」と記載される1または複数のプロセッサ210を含む。プロセッサ210は、システムバス215を介してシステムメモリ220およびその他のさまざまなコンポーネントに結合される。
プロセッサ210は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理ユニット(GPU)、コントローラ、マルチコア処理ユニット、3次元プロセッサ、量子コンピューティングデバイス、またはそれらの任意の組み合わせを含む、任意のタイプの一般的または特定用途プロセッサであり得る。プロセッサ210はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。また、マルチパラレル処理が構成され得る。さらに、少なくともプロセッサ210は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。プロセッサ210はまた、環境200にわたるクラウド処理を表し得る。
システムバス215(他の通信メカニズム)は、プロセッサ210、システムメモリ220、ならびにアダプタ226、および227などの様々な他のコンポーネントに情報またはデータを通信するために構成される。
システムメモリ220は、(非一時的な)コンピュータ読み取り可能なストレージ媒体の一例である。例えば、システムメモリ220は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、内部または外部フラッシュメモリ、エンベッディッドスタティック-RAM(SRAM:Embedded Static-RAM)、ソリッドステートメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的ストレージ、または任意の他のタイプの揮発性または不揮発性メモリの任意の組み合わせを含み得る。非一時的な読み取り可能なストレージ媒体は、プロセッサ210によってアクセス可能な任意の媒体であってもよく、揮発性媒体、不揮発性媒体などを含み得る。例えば、ROMは、システムバス215に結合され、デバイス205の特定の基本機能を制御するBIOS(Basic Input/Output System)を含み得、RAMは、プロセッサ210が使用するためにシステムバス215に結合された読み書き可能なメモリである。非一時的なコンピュータ読み取り可能なストレージ媒体は、着脱可能、着脱不可能などの任意の媒体を含み得る。システムメモリ220はまた、環境200全体のクラウドメモリストレージを表し得る。システムメモリ220は、リポジトリ229および/またはソフトウェア(例えば、トリガエンジン101)を含む/格納し得る。
リポジトリ229は、データベース(例えば、SQLデータベース)および/または別のストレージメカニズムであり得る。1または複数の実施形態によると、リポジトリ229は、RPA(ロボット122)、(APIサポートライブラリ185の)登録されたイベント、およびトリガエンジン101によるアクセスのための文書、エンティティ、信頼メトリック、画像、セグメント、ハッシュ、ビデオ、フレーム、ソースデータ、ロボットビデオ、ソースコードなどの他のデータを含み得る。1または複数の実施形態によると、リポジトリ229は、ドライバコンポーネント130、ネイティブAPI131、標準化コネクタ133、認証アプリケーション135、およびモジュール137を格納し得る。1または複数の実施形態によると、モデルは、トリガエンジン101の訓練フェーズ中に構築され、リポジトリ229に格納され得る。
デバイス205は、入力/出力(I/O)アダプタ、デバイスアダプタ、および通信アダプタのうちの1または複数を示し得るアダプタ226、227を含み得る。1または複数の実施形態によると、I/Oアダプタは、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM:Global System for Mobile)通信、汎用パケット無線サービス(GPRS:General Packet Radio Service)、ユニバーサル移動体通信システム(UMTS:Universal Mobile Telecommunications System)、cdma2000、広帯域CDMA(W-CDMA:Wideband CDMA)、高速ダウンリンクパケットアクセス(HSDPA:High-Speed Downlink Packet Access)、高速アップリンクパケットアクセス(HSUPA:High-Speed Uplink Packet Access)、高速パケットアクセス(HSPA:High-Speed Packet Access)、ロングタームエボリューション(LTE:Long Term Evolution)、LTEアドバンスト(LTE-A:LTE Advanced)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB:Ultra-WideBand)、802.16x、802.15、Home Node-B(HnB)、Bluetooth、無線IDタグ(RFID:Radio Frequency Identification)、IrDA(Infrared Data Association)、近距離無線通信(NFC:Near-Field Communications)、第5世代(5G)、New Radio(NR)、または、通信用のいずれかの他の無線もしくは有線のデバイス/トランシーバに照らして、スモールコンピュータシステムインターフェース(SCSI:small computer system interface)として構成され得る。
デバイスアダプタ(例えば、アダプタ226は、ディスプレイ241、および制御デバイス243(例えば、キーボード、カメラ、スピーカなど)の入力/出力デバイスをシステムバス215に相互接続する。通信アダプタ(例えば、アダプタ227)は、システムバス215をネットワーク250と相互接続し、コンピューティングプラットフォーム201が他のコンピューティングプラットフォーム202および203と通信できるようにする。一実施形態では、アダプタ226および227は、中間バスブリッジを介してシステムバス215に接続される1または複数のI/Oバスに接続され得る。ハードディスクコントローラ、ネットワークアダプタ、およびグラフィックアダプタなどの周辺機器を接続するのに適したI/Oバスは、典型的には、ペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)などの共通プロトコルを含む。
ディスプレイ241は、ユーザーがデバイス205とインタラクションする際に、トリガエンジン101によってキャプチャされ、分析され得る1または複数のUIまたはGUIを提供するように構成される。ディスプレイ241の例は、限定されないが、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、投影ディスプレイ、4Kディスプレイ、高解像度(HD)ディスプレイ、Retina(著作権)ディスプレイ、面内スイッチング(IPS)ディスプレイなどを含み得る。ディスプレイ241は、入力/出力(I/O)のために、当業者に理解されるように、抵抗性、静電容量性、表面音響波(SAW)静電容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ、3次元(3D)タッチ、マルチ入力タッチ、またはマルチタッチディスプレイとして構成され得る。
コンピュータマウス、キーボード、タッチパッド、タッチスクリーン、キーパッドなどの制御デバイス243は、デバイス205への入力のために、システムバス215にさらに結合され得る。さらに、1または複数の入力は、それと通信している他のコンピューティングプラットフォーム202および203を介して遠隔でコンピューティングプラットフォーム201に提供されてもよく、またはデバイス205が自律的に動作してもよい。
ネットワーク250は、有線ネットワーク、無線ネットワークであり得、または1もしくは複数の有線ネットワークおよび無線ネットワーク、ならびに外部ネットワークもしくはクラウドネットワークを含み得る。1または複数の実施形態によると、ネットワーク250は、短距離ネットワーク(例えば、ローカルエリアネットワーク(LAN)、またはパーソナルエリアネットワーク(PAN))の一例である。情報は、ネットワーク250を介して、Bluetooth、Wi-Fi、Zigbee、Z-Wave、近距離無線通信(NFC)、超帯域、Zigbee、または赤外線(IR)などの様々な短距離無線通信プロトコルのいずれか1つを使用してコンピューティングプラットフォーム201、202、および203間で送信され得る。1または複数の実施形態によると、ネットワーク250は、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、直接接続もしくは一連の接続、携帯電話ネットワーク、または通信を促進できる任意の他のネットワークもしくは媒体のうちの1または複数の一例である。情報は、ネットワーク250を介して、様々な長距離無線通信プロトコル(例えば、TCP/IP、HTTP、3G、4G/LTE、または5G/新無線)のうちのいずれか1つを使用して、送信され得る。有線接続は、イーサネット、ユニバーサルシリアルバス(USB)、RJ-11または任意の他の有線接続を用いて実装され得、無線接続は、Wi-Fi、WiMAX、およびBluetooth、赤外線、セルラーネットワーク、衛星または任意の他の無線接続方法論を用いて実装され得ることに注意されたい。
1または複数の実施形態によると、トリガエンジン101に関するコンピューティングプラットフォーム201の動作/機能はまた、トリガエンジン101の別々のインスタンスによって表されるように、コンピューティングプラットフォーム202および203に実装され得る。トリガエンジン101の動作/機能は、プロセッサ210による遂行のためにシステムメモリ220にソフトウェアコンポーネント、モジュール、エンジン、命令などとして格納された、ハードウェア、ソフトウェア、またはそれらの組み合わせに構成され得る。
例えば、システムメモリ220上に格納され、プロセッサ210によって遂行されるトリガエンジン101は、(従来のトリガサービスとは対照的に)ロボット122を設計/構成/提供し得る。1または複数の実施形態によると、トリガエンジン101は、デザイナ110のスタジオ120内で自動的にコードを実装し、かつロボット122を設計するフレームワーク/メカニズム(例えば、環境100および200)を提供するかまたはその一部とし得る。この点に関して、トリガエンジン101は、コネクタ層および中央統合層などの1または複数の層を含み得る。コネクタ層は、標準化コネクタ133を実装し、管理し得る。中央統合層は、ソフトウェア仲介者と別のソフトウェアプラットフォームとの間で認証要求を仲介し、変換し、ルーティングし、そして変換し得る。
さらに、システムメモリ220に格納され、かつプロセッサ210によって遂行されるトリガエンジン101は、トリガを構成しつつ、(従来のトリガサービスとは対照的に)要素サービスと統合された中間層トリガサービスとして動作し、動作、アクションなど(説明を容易にするために登録されたイベントと総称する)を登録し、アクティビティ123を実行し、UIオートメーション124を提供し、RPAを開始し、キューを利用し、そして通知を送信して、時間短縮、計算効率、およびコスト削減を提供し得る。さらに、1または複数の実施形態によると、トリガエンジン101は、動作271、272、273、274、275、および276を可能にするためにプロセッサ210によって遂行または処理される情報、命令、コマンド、またはデータを格納するように構成され得る。
動作271に関して、トリガエンジン101は、RPAをトリガし得る。この点に関して、トリガエンジン101の1または複数の技術的効果、利点、および利益は、多様なソフトウェアプラットフォームに対するRPAと登録されたイベントとの間の堅牢で効率的な接続処理のためのソフトウェアおよび/またはハードウェア(例えば、ハードウェアに必ず根ざされるプロセッサ遂行可能コード)を含む。例えば、コンピューティングプラットフォーム202の動作は、コンピューティングプラットフォーム201のトリガサービス101にイベントとして登録され得、そのような動作が遂行することに応答してコンピューティングプラットフォーム203の1または複数のRPAがトリガされ得るようにする。より詳細には、登録されたイベントが遭遇したとき(例えば、中間層トリガリングサービスが、少なくとも単一の登録されたイベントによる任意の数のRPA(例えば、「N」数、ここで、Nは0より大きい整数)の多重化を提供するとき、トリガエンジン101は、トリガが作製され、(アンアテンディッド)RPAを遂行するために構成されることを可能にする、中間層トリガリングサービスなどのトリガリングサービスを提供し得る。
トリガは概して、RPAを登録されたイベントに接続するトリガエンジン101内のコードの離散セットである。トリガは、トリガエンジン101内に格納され管理され得る。トリガエンジン101による構成は、プロセスフォルダ、ジョブタイプ、および関連する引数(RPAに実行時に渡される)の選択を含む。プロセスフォルダは、トリガおよび/またはRPAのためのストレージ位置を含み得る。ジョブタイプは、RPAが実行されるべき場所または方法を定義し得る。引数は、限定されないが、RPAに渡される/供給される1または複数の実際の入力を含み得る。
1または複数の実施形態によると、トリガエンジン101は、登録されたイベントに遭遇したときに、1または複数のRPAをスケジュールするようにトリガを構成し得る。例として、登録されたイベントが遭遇された後、トリガエンジン101は、スタジオ120内の1または複数のRPA(例えば、ロボット122)を、1または複数のRPAを遂行するように(構成されたように)スケジューリングする。
動作272について、トリガサービス101のトリガは、ロボット122の位置の外部の多様なソフトウェアプラットフォームでの動作に基づいてロボット122をスケジューリングするためのクラウドトリガ(すなわち、クラウドトリガリングメカニズム)であり得る(例えば、クラウドトリガロボットは、外部イベントに関してトリガされ得る)。例えば、トリガエンジン101の中間層トリガリングサービスは、トリガエンジン101がクラウド環境に接続された外部システムおよびそのセキュリティモデルを解釈および理解し得るように、クラウドトリガを実装し得る。この点に関して、クラウドトリガについて登録されたイベントが遭遇されるとき、トリガエンジン101は、1または複数のトリガされたRPAに対する権利を検証し(例えば、RPAを構成したユーザーが権利を有するかどうかを判断し)、また、トリガされたRPAにコールバックする権利を保持し得る。
1または複数の実施形態によると、クラウドトリガは、長時間実行ワークフローに関連付けられる、および/またはそれに接続され得る。「長時間(Long)」実行は、即時のインスタンスよりも大きい期間(例えば、5分、1時間、ワークデイ、暦週など)にわたって延びるワークフローを意味する。例えば、コンピューティングプラットフォーム202の動作(例えば、コンピューティングプラットフォーム203の外部イベントである)は、長時間実行文書署名ワークフローを継続/再スタートさせるトリガとなり得る。この動作は、文書を作成し、署名のためにネットワーク250を介してコンピューティングプラットフォーム202にそれを送信することを含み得る。次に、ワークフローは、スリープして、署名動作(例えば、次の外部動作/イベント/トリガ)を待ち、さらに、長時間実行文書署名ワークフローを再開/継続させる。
動作273について、トリガエンジン101は、情報またはロボット122をキューに追加し得る。キューは、シーケンスで維持されるエンティティの収集であり得る。例えば、トリガエンジン101は、遭遇したイベントの情報を(例えば、トリガの引数を使用する代わりに)直接キュー自体に渡す/追加することができる。トリガエンジン101は、キュー内のすべてのロボット122が特定の順序で遂行するように、ロボット122をコンピューティングシステム203のキューに追加し得る。
動作274について、トリガエンジン101は、通知を提供し得る。通知は、ロボット122および/またはユーザーに情報を提供するための任意のインスタンスまたはメカニズムであり得る。通知は、限定されないが、ポップアップウィンドウまたはプロンプト、ドロップダウンメニューまたはプロンプト、テキストメッセージ通知、電子メール通知、バブル指標、数値指標、およびフラグを含み得る。1または複数の実施形態によると、トリガエンジン101は、通知をアテンディッドユーザーまたはアテンディッドロボット162に提供することができる。この点に関して、通知は、対応する登録されたイベントが遭遇したときに、ユーザーが、アテンディッドロボット162を遂行するかどうかを選択することを可能にする。例えば、トリガエンジン101は、アテンディッドロボット162が遂行する準備ができていることを示す通知(例えば、「あなたはこのオートメーションを実行したいですか?」)を送信し得る。さらに、トリガエンジン101は、登録されたイベントが遭遇されたことを示す通知(例えば、ユーザーデスクトップ上のウィンドウをトリガして、「あなたが待っている文書はバリデータによって署名され、それぞれのオートメーションがあなたを待っています。あなたは実行したいですか?」と表示する)を送信し得る。
動作275について、トリガエンジン101のクラウドトリガは、アプリケーションを開始するためのプッシュ通知を送信し得る。1または複数の実施形態によると、トリガエンジン101は、携帯電話への通知を提供し得る。この点に関して、携帯電話の外で遭遇する登録されたイベントは、トリガエンジン101に携帯電話へのプッシュ通知を送信させ得る。例えば、コンピューティング環境202において承認を待っている経費報告について、コンピューティングプラットフォーム101のトリガエンジン101は、承認を監視する。承認が発生すると、コンピューティングプラットフォーム101のトリガエンジン101は、対応するトリガに従って、そのような承認を待っている誰かの携帯電話に通知を送信する。その結果、ユーザーは、携帯電話上のアプリケーションを開き、経費報告書の任意のビジネス分析を継続するなど、通知に基づいて行動し得る。
動作276について、トリガエンジン101は、外部要素(例えば、動作、アクションなどを登録する要素サービス)に依存するのではなく、仮想マシンとしてネットワーク内部で遂行し得る。例えば、コンピューティングプラットフォーム202が企業ネットワークである場合、そこでのトリガエンディング101のインスタンスは、コンピューティングプラットフォーム202の動作を直接検出する仮想マシンとし得る。
次に図3~図4に目を向けると、1または複数の実施形態によるトリガシステム300および方法400が示される。説明を容易にし、簡潔にするために、図3~図4の項目および要素は、図3~図4の要素が図1~図2の要素と整合し得ることに留意しつつ、関連して説明される。
図3のトリガシステム300は、要素サービス315を含む外部システム310と、トリガエンジン330と、オーケストレータ355を含むRPAシステム350とを含む。一般に、外部システム310は、外部であるがRPAシステム350に接続された1または複数のシステム(例えば、コンピューティングプラットフォーム202)を表し得る。外部システム310は、外部システム310(例えば、Cloud Element)の動作を登録するソフトウェアである要素サービス315を提供し得る。要素サービス315は、ポーリング、ウェブフックなどをサポートし得る。トリガエンジン330は、外部システム310とRPAシステム350(すなわち、RPAシステム350のRPAの仲介者)との間のインテリジェントオートメーションエクスペリエンスに関して、特定の構成およびツーリングロボティック中間層トリガサービス方法を提供する。RPAシステム350は、RPAを遂行するソフトウェアであるオーケストレータ355を含む1または複数のシステム(例えば、コンピューティングプラットフォーム203)を表し得る。
方法400は、トリガシステム300の実装例である。方法400は、ブロック410で始まり、ここで、トリガシステム300は、外部システム310内の動作を追跡する。1または複数の実施形態によると、トリガエンジン330はまた、そこでの動作に関する情報を要素サービス315から引き出すことができ、および/または要素サービス315からリストを取得することができる。リストは、表、シーケンス、または同様のデータタイプを表し、各動作に関する情報を含む。要素サービス315は、利用可能な動作のリストを収集し、および/またはリストをトリガエンジン330に送信することができる。要素サービス315は、外部システム310内でその動作が発生すると、各動作に関する情報をトリガエンジン330に個別に送信することもできる。
ブロック430で、トリガシステム300は利用可能なイベントを登録する。この点に関して、トリガエンジン330は、リストをユーザーおよび/またはロボット122が利用できるようにする。より具体的には、トリガエンジン330は、要素サービス315(例えば、Cloud Elementのエコシステム)の動作および動作情報を、RPAシステム350のRPAによってアクセス可能なデータベースに利用可能なイベントとして登録する。リストを作製するトリガエンジンの1または複数の技術的な効果、利点、および利益は、対応するRPAプロセスが構成され得るようにすることを含む。すなわち、リストが利用可能であれば、外部システム310で動作が起こるたびに、要素サービス315は、トリガを構成するため、その動作をユーザーに見えるようにするために、中間層トリガサービス(例えば、トリガエンジン330)に情報を送信し得る。さらに、トリガを介して、RPAシステム350のRPAは、さもなくば従来のトリガサービスでは見ることができないイベントを見ることができない。
ブロック440において、トリガエンジン330は、トリガを作製する。本明細書で述べたように、トリガは、RPAシステム350のRPAをトリガエンジン330の登録されたイベントに接続するコードの離散セットであり得る。
図5は、1または複数の実施形態による、トリガエンジン330が1または複数のトリガを管理する方法を視覚的に示すことができる、ユーザーインターフェース500を示す。図6は、1または複数の実施形態による、トリガエンジン330が1または複数のトリガを作製する方法を視覚的に示すことができる、ユーザーインターフェース600を示す。ユーザーインターフェース500および600の各々は、1または複数のトリガを管理、作製、および構成するための1または複数のユーザー入力を受信するように構成される。
ユーザーインターフェース500は、1または複数の選択可能なアイコン512、513、514、515、および516を提供するメニュー110を含む。ハイライトで示すように、選択可能なアイコン515が選択される。ユーザーインターフェース500は、1または複数の選択可能なアイコン512、513、514、515、および516のいずれが選択されたかに応じて、1または複数の領域を提示するフレーム520を含む。メニュー110とフレーム520は、任意の方向に配置され得、横並びの配置に限定されない。フレーム520は、ユーザーまたはRPAがトリガを構成することができる統合エリア520を提示する。統合領域520は、タブ531、532、および533を提供する。タブ531は、コネクタタブであり得る。タブ532は、接続タブであり得る。タブ533は、トリガタブであり得る。例えば、コネクタタブおよび接続タブは、それぞれ、構成ごとに登録されたイベントおよびRPAを閲覧することを可能にする。トリガタブは、すべてのトリガの閲覧を可能にする。さらに、統合エリア520は、「トリガ追加」ボタン570を提供する。例えば、「トリガ追加」ボタン570を押すと、トリガエンジン330は、ユーザーインターフェース600に示すような構成領域610を提示し得る。
構成領域610は、トリガを追加することに関する1または複数のフィールドを示す。構成領域610のフレーム620は、コネクタおよび接続構成に関するフィールドを提示する。コネクタおよび接続構成に関する1または複数のフィールドの例は、限定されないが、接続フィールド622、コネクタフィールド624、イベントフィールド626、および記録フィールド638などを含む。接続フィールド622は、ユーザーまたはロボット122に、選択のためのすべての接続/アプリケーションを提供し得る(そして、選択時にその接続が使用される)。コネクタフィールド624は、選択のためのすべてのコネクタ/ユーザーをユーザーまたはロボット122に提供し得る(トリガがどのユーザーに関連するかを指定するために)。イベントフィールド626は、選択のためにすべての登録されたイベントを提供し得る(例えば、記録が作製されるとき)。記録フィールド638は、選択のためのすべてのタイプの記録を提供し得る(例えば、マーケティング記録)。これは、一例では、接続フィールド622は、メールアプリケーションを選択でき、コネクタフィールド624は、第1のユーザーを特定でき、イベントフィールド626は、「記録が作製されるとき」を示すことができ、そして記録フィールド638は、記録がマーケティング記録でなければならないことを示すことができる。
構成領域610のフレーム640は、RPA構成に関するフィールドを提示する。フレーム640は、ユーザーまたはロボット122が、(フレーム620の)登録されたイベントに遭遇した後にトリガされるRPAを定義することを可能にする。RPA構成のための1または複数のフィールドの例は、限定されないが、プロセスフィールド642、ジョブタイプフィールド644、および引数フィールド646などを含む。プロセスフィールド642は、ユーザーまたはロボット122が、オーケストレータ355におけるRPAフォルダの位置を入力することを可能にし得る。ジョブタイプフィールド644は、ユーザーまたはロボット122が、開始できるものと開始できないものについてのいくつかの規則とともに、アンアテンディッド、アテンディッド、またはサーバーレスジョブを示すことを可能にし得る。ジョブタイプは、RPAが遂行されるべき場所を決定することに留意されたい。例えば、ユーザーは、選択したジョブのタイプに関係なく、RPAが実行すべき正確な場所を選択し得る。引数フィールド646は、ユーザーまたはロボット122がRPAを遂行している間、実行時に利用可能な引数を渡すことを可能にし得る。ユーザーインターフェース600は、構成領域610を出ることができるキャンセルボタン642と、構成に従ってトリガを作製するための「トリガ追加」ボタン664とを示す。
ブロック450において、トリガエンジン330は、外部システム310のアクティブイベントが、RPSシステム350のRPAに対してトリガ(ブロック440で構成される)を介して可視化されることを可能にする。例えば、外部システム310で作製された記録または外部システム310に電子メールが到着すると、これらのイベントがトリガを介して見えるようになる。次に、ブロック450で、トリガシステムはアクティブイベントが発生するのを監視する。
ブロック480において、トリガエンジン330は、アクティブイベントに基づいてアクティビティを開始する(例えば、RPAを遂行する)。1または複数の実施形態によると、トリガエンジン330のUIで設定された構成に基づいて、トリガシステム300は、RPAを遂行しながらオーケストレータ355に命令を渡す。例えば、RPAを実行するトリガを構成した後、トリガシステム300は、構成されたRPAをサーバーレスで実行し、実行時にRPAに引数(すなわち、構成時に選択された)を渡すようにオーケストレータ355に通知する。別の例として、トリガエンジン330がアクティブイベントを取得すると、トリガエンジン330は、オーケストレータ355においてRPAを開始し、ここで、RPAは、物理マシン上のアンアテンディッドジョブ、サーバージョブ、またはクラウドロボットベースのジョブであり得る。別の例として、トリガエンジン330がアクティブイベントを取得すると、トリガエンジン330は、オーケストレータ355においてRPAをスケジューリングしおよび/またはキューイング(queue)し得る。
1または複数の実施形態によると、トリガエンジン300は、個人のための共有プロセスを提供し得る。この点に関して、オーケストレータ355の側では、トリガエンジン330の中間層トリガサービスを使用して、イベントがオーケストレータ355で組織全体で共有されるときに遂行するようにプロセスが設計され得る(例えば、組織内のユーザーが、彼らの接続上で発生したイベントからトリガするプロセスをカスタマイズできる場所)。さらに、プロセスが組織内のユーザーのセットの間で共有され、プロセスがユーザーの個々の接続(例えば、アウトルック接続)に結合され得る場合、同じ共有RPAは、個々の接続からのイベントを監視してそのプロセスをトリガすることによって開始される。例として、組織は、トリガエンジン330のUIを通じて、すべての組織のメンバーにプロセスを提供し、かつ共有し得る。それらのメンバーは、トリガエンジン330のUIからプロセスに対して動作し得、そのアクションは、イベントを監視し共有プロセスを遂行するためにどのタイプの個別接続が使用されるかを有効にすることおよび/または追加することであり得る。トリガエンジン330によってトリガ構成がすでに共有プロセスに関連付けられるので、共有プロセスは、トリガの自動検出および登録のために組織のメンバーによってであり得る。例えば、あるプロセスが電子メールイベントによってトリガされるように構成されている場合、トリガエンジン330のUIを介して、アウトルック接続はそのプロセスに追加され得る。そのため、そのようなイベントが発生するたびに、ユーザーが所有するインスタンスの1つでRPAの遂行が開始する。
1または複数の実施形態によると、トリガエンジン330は、外部システム310内で(例えば、Cloud Element側から)オンプレミスのシナリオを実装し得る。この点に関して、すべてのイベントは、Cloud Elementからのグラウンドからクラウドへの技術(例えば、ゲートウェイ技術)を使用して、外部システム310内で監視される。ゲートウェイテクノロジーにより、任意のクラウドRPAとローカルデバイスとの間の通信がさらに可能になり得る。これらのイベントに関してトリガを構成して、外部システム310内でRPAを遂行することができる(例えば、ローカルデバイスのオンプレミスでも)。例えば、オンプレミスシステムに新しいレコードが追加された場合に、トリガが発行されてクラウドRPAを開始し得るように、オンプレミスシステムが監視され得る。
1または複数の実施形態によると、トリガエンジンによって実装される方法が提供される。トリガエンジンは、メモリに格納され、少なくとも1つのプロセッサによって遂行されるプロセッサ遂行可能命令を使用して実装される。トリガエンジンは、ソフトウェアプラットフォームの1または複数のロボティックプロセスオートメーションのための仲介役として動作する。本方法は、1または複数の外部システム内の1または複数の動作を追跡することと、1または複数の動作に関する1または複数の利用可能なイベントを、1または複数のロボティックプロセスオートメーションによってアクセス可能なデータベースに登録することと、1または複数の外部システムのアクティブイベントが、トリガエンジンのトリガを介して1または複数のロボティックプロセスオートメーションに表示されるようにすることと、を含む。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、トリガエンジンは、1または複数の動作に関する1または複数の外部システムの要素サービスから情報を引き出して、1または複数の動作を追跡するためのリストを取得し得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、1または複数の利用可能なイベントを登録することは、1または複数のロボティックプロセスオートメーションのためにリストを利用可能にすることを含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、トリガは、ソフトウェアシステムの1または複数のロボティックプロセスオートメーションを、1または複数の外部システム内の1または複数の動作に対応する前記登録されたイベントに接続するコードの離散セットを含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、方法は、コネクタ、接続、およびロボティックプロセスオートメーションの構成に従って、1または複数のユーザー入力に基づいたトリガを作製することを含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、方法は、トリガに基づいて、1または複数のロボティックプロセスオートメーションの少なくとも1つを遂行することを含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、方法は、トリガに基づいて、1または複数のロボティックプロセスオートメーションの少なくとも1つをキューに追加することを含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、方法は、トリガに基づいてキューに、1または複数のロボティックプロセスオートメーションの少なくとも1つを遂行する前に、通知を提供することを含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、トリガはクラウドトリガを含み得、1または複数の外部システムはクラウド環境を含み得る。
本明細書に記載の1もしくは複数の実施形態またはいずれかの方法実施形態によると、方法は、トリガに基づいて遂行するために、1または複数のロボティックプロセスオートメーションの少なくとも1つをスケジューリングすることを含み得る。
本明細書の1もしくは複数の実施形態または方法の実施形態のいずれかによると、方法は、少なくとも1つのプロセッサ、装置、デバイス、システム、および/またはコンピュータプログラム製品として実装され得る。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態による、装置、システム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、指定された論理機能(複数可)を実装するための1または複数の遂行可能な命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替実装では、ブロックに記載されている機能は、図面のフローチャートおよびブロック図に記載されている順序とは異なる場合がある。例えば、連続して表示されている2つのブロックは、関係する機能に応じて、実際には実質的に同時に遂行され得、またはブロックが逆の順序で遂行され得る。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能もしくは活動を実行するか、または特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特別な目的のハードウェアに基づくシステムによって実装され得ることに留意されたい。
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。例えば、本明細書に記載されている方法およびプロセスのいずれかでは、記載されているステップは任意の順序で順不同で実行され得、明示的に記載または表示されていないサブステップが実行され得る。「AまたはB」を参照して使用する場合は、A、B、またはAおよびBを含む場合があり、より長い羅列と同様に拡張され得る。X/Yという表記を使用する場合、当該表記は、XまたはYを含み得る。あるいは、X/Yという表記を使用する場合、当該表記は、XおよびYを含み得る。X/Yの表記は、上記と同じ論理により、より長い羅列にも同様に当てはまり得る。また、「結合されている」または「動作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、1または複数の実施形態で使用されてもよい。
さらに、本明細書に記載された方法およびプロセスは、コンピュータまたはプロセッサによる遂行のためにコンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、および/またはファームウェア(例えば、コンピュータプログラム製品)で実装され得る。すなわち、コンピュータプログラム製品は、コントローラ、プロセッサなどに本発明の態様を実行させるためのコンピュータ読み取り可能プログラム命令をその上に有するコンピュータ読み取り可能なストレージ媒体(または複数の媒体)を含み得る。
コンピュータ読み取り可能なストレージ媒体は、コンピュータ読み取り可能プログラム命令を保持および格納し得る有形のデバイスであり得る。コンピュータ読み取り可能なストレージ媒体は、例えば、限定されないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述の任意の適切な組み合わせであり得る。本明細書で使用されるコンピュータ読み取り可能なストレージ媒体は、それ自体が一時的な信号であると解釈されるものではなく、例えば、電波またはその他の自由に伝播する電磁波、導波管またはその他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を介して伝送される電気信号である。コンピュータ読み取り可能なストレージ媒体の例は、限定されないが、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、コンパクトディスク(CD)およびデジタルバーサタイルディスク(DVD)などの光媒体、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ならびにメモリースティックを含む。
本明細書に記載されたコンピュータ読み取り可能なプログラム命令は、例えばネットワーク通信などの接続を介して、装置、デバイス、コンピュータ、または外部ストレージからそれぞれのコントローラ、プロセッサなどに通信および/またはダウンロードされ得る。本発明の動作を実行するためのコンピュータ読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む1もしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであり得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、電子回路をパーソナライズするコンピュータ読み取り可能なプログラム命令の状態情報を利用して、コンピュータ読み取り可能なプログラム命令を遂行し得る。
本明細書で使用される用語は、特定の実施形態を説明するためだけのものであり、限定することを意図しない。本明細書では、単数形の「a」、「an」、および「the」は、文脈が明確に示す場合を除き、複数形も含むことを意図する。本明細書で使用される「含む(comprises)」および/または「含む(comprising,)」という用語は、記載された特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を特定するが、1または複数の他の特徴、整数、ステップ、動作、要素コンポーネント、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されるであろう。
本明細書の様々な実施形態の説明は、説明のために提示されたものであるが、開示された実施形態を網羅的に、またはそれに限定することを意図したものではない。当業者であれば、記載された実施形態の範囲および精神から逸脱することなく、多くの修正および変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実用化もしくは技術的改善を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解できるように選択されたものである。
Claims (20)
- メモリに格納されたプロセッサ遂行可能命令を使用して実装され、かつ少なくとも1つのプロセッサによって遂行されるトリガエンジンによって実装され、前記トリガエンジンが、ソフトウェアプラットフォームの1または複数のロボティックプロセスオートメーションの仲介として動作する方法であって、前記方法は、
前記トリガエンジンにより、1または複数の外部システム内の1または複数の動作を追跡することと、
前記トリガエンジンにより、前記1または複数の動作に関する1または複数の利用可能なイベントを、前記1または複数のロボティックプロセスオートメーションによってアクセス可能なデータベースに登録することと、
前記トリガエンジンにより、前記1または複数の外部システムのアクティブイベントが、前記トリガエンジンのトリガを介して前記1または複数のロボティックプロセスオートメーションに表示されるようにすることと、を含む、方法。 - 前記トリガエンジンは、前記1または複数の動作に関する前記1または複数の外部システムの要素サービスから情報を引き出して、前記1または複数の動作を追跡するためのリストを取得する、請求項1に記載の方法。
- 前記1または複数の利用可能なイベントを登録することは、前記1または複数のロボティックプロセスオートメーションのためにリストを利用可能にすることを含む、請求項1に記載の方法。
- 前記トリガは、ソフトウェアシステムの前記1または複数のロボティックプロセスオートメーションを、前記1または複数の外部システム内の前記1または複数の動作に対応する前記登録されたイベントに接続するコードの離散セットを含む、請求項1に記載の方法。
- コネクタ、接続、およびロボティックプロセスオートメーションの構成に従って、1または複数のユーザー入力に基づいた前記トリガを作製することをさらに含む、請求項1に記載の方法。
- 前記トリガに基づいて、前記1または複数のロボティックプロセスオートメーションの少なくとも1つを遂行することをさらに含む、請求項1に記載の方法。
- 前記トリガに基づいて、前記1または複数のロボティックプロセスオートメーションの少なくとも1つをキューに追加することをさらに含む、請求項1に記載の方法。
- 前記トリガに基づいてキューに、前記1または複数のロボティックプロセスオートメーションの少なくとも1つを遂行する前に、通知を提供することさらに含む、請求項1に記載の方法。
- 前記トリガは、クラウドトリガを含み、
前記1または複数の外部システムはクラウド環境を含む、請求項1に記載の方法。 - 前記トリガに基づいて、前記1または複数のロボティックプロセスオートメーションの少なくとも1つをスケジューリングすることをさらに含む、請求項1に記載の方法。
- プロセッサ遂行可能命令として格納されたトリガエンジンを実装するように構成された少なくとも1つのプロセッサであって、前記トリガエンジンは、ソフトウェアプラットフォームの1または複数のロボティックプロセスオートメーションの仲介役として動作し、前記プロセッサ遂行可能命令は、前記少なくとも1つのプロセッサによって実行可能であり、前記トリガエンジンに以下を実行させる、1つのプロセッサ。
1または複数の外部システム内の1または複数の動作を追跡すること、
前記1または複数の動作に関する1または複数の利用可能なイベントを、前記1または複数のロボティックプロセスオートメーションによってアクセス可能なデータベースに登録すること、および
前記1または複数の外部システムのアクティブイベントが、前記トリガエンジンのトリガを介して前記1または複数のロボティックプロセスオートメーションに表示されるようにすること。 - 前記トリガエンジンは、前記1または複数の動作に関する前記1または複数の外部システムの要素サービスから情報を引き出して、前記1または複数の動作を追跡するためのリストを取得する、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。
- 前記1または複数の利用可能なイベントを登録することは、前記1または複数のロボティックプロセスオートメーションのためにリストを利用可能にすることを含む、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。
- 前記トリガは、ソフトウェアシステムの前記1または複数のロボティックプロセスオートメーションを、前記1または複数の外部システム内の前記1または複数の動作に対応する前記登録されたイベントに接続するコードの離散セットを含む、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。
- 前記少なくとも1つのプロセッサは、前記トリガエンジンに、
コネクタ、接続、およびロボティックプロセスオートメーションの構成に従って、1または複数のユーザー入力に基づいた前記トリガを作製させる、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。 - 前記少なくとも1つのプロセッサは、前記トリガエンジンに、
前記トリガに基づいて、前記1または複数のロボティックプロセスオートメーションの少なくとも1つを遂行させる、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。 - 前記少なくとも1つのプロセッサは、前記トリガエンジンに、
前記トリガに基づいて、前記1または複数のロボティックプロセスオートメーションの少なくとも1つをキューに追加させる、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。 - 前記少なくとも1つのプロセッサは、前記トリガエンジンに、
前記トリガに基づいてキューに、前記1または複数のロボティックプロセスオートメーションの少なくとも1つを遂行する前に、通知を提供させる、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。 - 前記トリガは、クラウドトリガを含み、
前記1または複数の外部システムはクラウド環境を含む、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。 - 前記少なくとも1つのプロセッサは、前記トリガエンジンに、
前記トリガに基づいて、前記1または複数のロボティックプロセスオートメーションの少なくとも1つをスケジューリングさせる、請求項11に記載のトリガエンジンを実装するように構成された少なくとも1つのプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/558,727 US20230195516A1 (en) | 2021-12-22 | 2021-12-22 | Cloud triggers for scheduling robots |
US17/558,727 | 2021-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023093354A true JP2023093354A (ja) | 2023-07-04 |
Family
ID=84488130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022196080A Pending JP2023093354A (ja) | 2021-12-22 | 2022-12-08 | ロボットをスケジューリングするためのクラウドトリガ |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230195516A1 (ja) |
EP (1) | EP4276621A1 (ja) |
JP (1) | JP2023093354A (ja) |
CN (1) | CN116340017A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240223551A1 (en) * | 2022-12-30 | 2024-07-04 | Konica Minolta Business Solutions U.S.A., Inc. | OpenID Offloading Proxy |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171809A1 (en) * | 2004-01-30 | 2005-08-04 | Synthean Inc. | Event processing engine |
US10111401B2 (en) * | 2010-08-31 | 2018-10-30 | Technologies Holdings Corp. | System and method for determining whether to operate a robot in conjunction with a rotary parlor |
EP3112965A1 (en) * | 2015-07-02 | 2017-01-04 | Accenture Global Services Limited | Robotic process automation |
US11487573B2 (en) * | 2018-05-08 | 2022-11-01 | Thomson Reuters Enterprise Centre Gmbh | Systems and method for automating security workflows in a distributed system using encrypted task requests |
EP3800595A1 (en) * | 2019-10-01 | 2021-04-07 | UiPath, Inc. | Resuming robotic process automation workflows based on external triggers |
US11829795B2 (en) * | 2019-12-30 | 2023-11-28 | UiPath, Inc. | Trigger service management for robotic process automation (RPA) |
US10654166B1 (en) * | 2020-02-18 | 2020-05-19 | UiPath, Inc. | Automation windows for robotic process automation |
JP2023524917A (ja) * | 2020-05-13 | 2023-06-14 | ユーアイパス,インコーポレイテッド | ロボティックプロセスオートメーションのためのアプリケーション統合 |
US20240139968A1 (en) * | 2022-10-28 | 2024-05-02 | Zebra Technologies Corporation | Visual Guidance for Locating Obstructed Mobile Robots |
-
2021
- 2021-12-22 US US17/558,727 patent/US20230195516A1/en active Pending
-
2022
- 2022-12-08 JP JP2022196080A patent/JP2023093354A/ja active Pending
- 2022-12-12 EP EP22212731.8A patent/EP4276621A1/en active Pending
- 2022-12-20 CN CN202211643119.1A patent/CN116340017A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116340017A (zh) | 2023-06-27 |
EP4276621A1 (en) | 2023-11-15 |
US20230195516A1 (en) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113334371B (zh) | 用于机器人流程自动化的自动化窗口 | |
US11738453B2 (en) | Integration of heterogeneous models into robotic process automation workflows | |
CN115243838A (zh) | 针对机器人流程自动化(rpa)机器人的会话间自动化 | |
US11016789B2 (en) | Robot browser embedding | |
CN115943364A (zh) | 基于Web的机器人流程自动化设计器系统以及用于虚拟机、会话和容器的自动化 | |
CN113168335A (zh) | 用于机器人流程自动化的应用集成 | |
JP2023517150A (ja) | ロボティックプロセスオートメーション(rpa)のためのインプロセストリガ管理 | |
KR20220007496A (ko) | 제1 세션에서 실행되고 있는 프로세스의 제2 세션에서 실행되고 있는 로봇 프로세스 자동화 로봇을 통한 자동화 | |
KR20220007495A (ko) | 제2 세션에서 실행중인 로봇 프로세스 자동화 로봇을 통한 제1 세션에서 실행중인 프로세스의 자동화 | |
US20230108145A1 (en) | Cloud migration | |
JP2023093354A (ja) | ロボットをスケジューリングするためのクラウドトリガ | |
KR20230042191A (ko) | 로봇 프로세스에 대한 요소 인증 | |
US12058118B2 (en) | Standardized authentication mechanism integrating diverse software platforms | |
US11507059B1 (en) | System and computer-implemented method for seamless consumption of automations | |
US11759950B2 (en) | Localized configurations of distributed-packaged robotic processes | |
EP3806419A1 (en) | Robot browser embedding | |
KR20220143983A (ko) | 자체 머신 가져오기(byom) | |
US20230102809A1 (en) | Preconfigured robots for robotic process automation | |
WO2023055416A1 (en) | Generation of rpa platform design components for configuring rpa platforms | |
KR20230168611A (ko) | 로봇 프로세스 자동화를 위한 오토스케일링 전략 |