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

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

▶ ユーアイパス,インコーポレイテッドの特許一覧

特表2023-553219ロボティックプロセスによるガイド付き動作
<>
  • 特表-ロボティックプロセスによるガイド付き動作 図1A
  • 特表-ロボティックプロセスによるガイド付き動作 図1B
  • 特表-ロボティックプロセスによるガイド付き動作 図1C
  • 特表-ロボティックプロセスによるガイド付き動作 図2
  • 特表-ロボティックプロセスによるガイド付き動作 図3
  • 特表-ロボティックプロセスによるガイド付き動作 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-21
(54)【発明の名称】ロボティックプロセスによるガイド付き動作
(51)【国際特許分類】
   G06Q 10/00 20230101AFI20231214BHJP
   G06F 11/30 20060101ALI20231214BHJP
   G06Q 50/20 20120101ALI20231214BHJP
【FI】
G06Q10/00
G06F11/30 140T
G06Q50/20 300
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021569974
(86)(22)【出願日】2021-10-27
(85)【翻訳文提出日】2022-02-09
(86)【国際出願番号】 US2021056863
(87)【国際公開番号】W WO2022119666
(87)【国際公開日】2022-06-09
(31)【優先権主張番号】17/112,113
(32)【優先日】2020-12-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.JAVASCRIPT
3.ZIGBEE
4.BLUETOOTH
5.WCDMA
6.Flash
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】100180781
【弁理士】
【氏名又は名称】安達 友和
(74)【代理人】
【識別番号】100182903
【弁理士】
【氏名又は名称】福田 武慶
(72)【発明者】
【氏名】ノット,ブランドン
(72)【発明者】
【氏名】タパス,フローリン-ラドゥ
(72)【発明者】
【氏名】マークス,ジャスティン
【テーマコード(参考)】
5B042
5L049
【Fターム(参考)】
5B042NN42
5L049AA20
5L049CC34
(57)【要約】
方法が開示される。方法は、システムのメモリ上にプログラムコードとして格納されるロボットエンジンによって実施される。プログラムコードは、システムのプロセッサによって実行され、ロボットエンジンのロボティックプロセスオートメーションを可能にする。プロセッサは、システム内のメモリに通信可能に結合される。方法は、システムによって提示されたプラットフォームのガイド付き動作を開始することと、ガイド付き動作を監視して、プラットフォームとのインタラクションを観察するかまたはロボットエンジンによる直接入力を受信することとを含む。また、方法は、インタラクションまたは直接入力に関してバックエンド動作を実行することを含む。

【特許請求の範囲】
【請求項1】
システムのメモリにプログラムコードとして格納されたロボットエンジンによって実施される方法であって、前記プログラムコードは、前記システムの少なくとも1つのプロセッサによって実行され、前記少なくとも1つのプロセッサは、前記システム内の前記メモリに通信可能に結合され、前記方法は、
前記ロボットエンジンの1または複数のロボティックプロセスオートメーションによって、前記システムによって提示されるプラットフォームのガイド付き動作を開始すること、
前記1または複数のロボティックプロセスオートメーションによって、前記プラットフォームとのインタラクションを観察するか、または前記ロボットエンジンによる直接入力を受信するために、前記ガイド付き動作を監視すること、および
前記1または複数のロボティックプロセスオートメーションによって、前記インタラクションまたは前記直接入力に関する少なくとも1つのバックエンド動作を実行すること、
を含む、方法。
【請求項2】
前記ロボットエンジンにより、前記インタラクションまたは前記直接入力について前記プラットフォームから前記システムによって提示された第2のプラットフォームへの遷移を前記システム内において引き起こさせること、
を含む、請求項1に記載の方法。
【請求項3】
前記ロボットエンジンの前記1または複数のロボティックプロセスオートメーションによって、前記インタラクションまたは前記直接入力に応答して、前記ガイド付き動作を代替経路に変化させること、
を含む、請求項1に記載の方法。
【請求項4】
前記ガイド付き動作は、前記プラットフォームをおよび対応するユーザーインターフェースおよび文書作成をナビゲートするためのユーザーへの文脈支援を用いた、統合されたロボティックプロセスオートメーションに基づく自動化ソリューションを含む、請求項1に記載の方法。
【請求項5】
前記インタラクションは、ユーザーによる前記プラットフォームへのユーザー入力を含む、請求項1に記載の方法。
【請求項6】
前記直接入力は、ユーザーによる前記ロボットエンジンへのユーザー入力を含む、請求項1に記載の方法。
【請求項7】
前記バックエンド動作は、前記ガイド付き動作から独立した操作を含む、請求項1に記載の方法。
【請求項8】
前記ガイド付き動作は、前記システムの複数のプラットフォームのための1組のガイド付き動作のうちの1つであり、前記プラットフォームは、前記システムの前記複数のプラットフォームの1つである、請求項1に記載の方法。
【請求項9】
前記ロボットエンジンは、コンピューティングシステムの一般的な監視を実行して、ユーザーアクションを検出し、前記ユーザーアクションに基づいて前記ガイド付き動作を開始する、請求項1に記載の方法。
【請求項10】
前記プラットフォームは、アプリケーション、ブラウザアプリケーション、プロプライエタリソフトウェア、ファイルシステム、メディアおよびシステムリソースのうち少なくとも1つを含む、請求項1に記載の方法。
【請求項11】
システムであって、
ロボットエンジンのためのプログラムコードを格納するメモリと、
前記システムに、以下を実行させるための前記プログラムコードを実行する少なくとも1つのプロセッサと、
を含み、
前記ロボットエンジンの1または複数のロボティックプロセスオートメーションによって、前記システムによって提示されるプラットフォームのガイド付き動作を開始すること、
前記1または複数のロボティックプロセスオートメーションによって、前記プラットフォームとのインタラクションを観察するか、または前記ロボットエンジンによる直接入力を受信するために、前記ガイド付き動作を監視すること、および
前記1または複数のロボティックプロセスオートメーションによって、前記インタラクションまたは前記直接入力に関する少なくとも1つのバックエンド動作を実行すること、
システム。
【請求項12】
前記ロボットエンジンは、前記インタラクションまたは前記直接入力に関して前記プラットフォームから前記システムによって提示された第2のプラットフォームへの遷移を前記システム内において引き起こす、請求項11に記載のシステム。
【請求項13】
前記ロボットエンジンは、前記インタラクションまたは前記直接入力に応答して、前記ガイド付き動作を代替経路に変化させる、請求項11に記載のシステム。
【請求項14】
前記ガイド付き動作は、前記プラットフォームをおよび対応するユーザーインターフェースおよび文書作成をナビゲートするためのユーザーへの文脈支援を用いた、統合されたロボティックプロセスオートメーションに基づく自動化ソリューションを含む、請求項11に記載のシステム。
【請求項15】
前記インタラクションは、ユーザーによる前記プラットフォームへのユーザー入力を含む、請求項11に記載のシステム。
【請求項16】
前記直接入力は、ユーザーによる前記ロボットエンジンへのユーザー入力を含む、請求項11に記載のシステム。
【請求項17】
前記バックエンド動作は、前記ガイド付き動作から独立した操作を含む、請求項11に記載のシステム。
【請求項18】
前記ガイド付き動作は、前記システムの複数のプラットフォームのための1組のガイド付き動作のうちの1つであり、
前記プラットフォームは、コンピューティング環境の前記複数のプラットフォームの1つである、
請求項11に記載のシステム。
【請求項19】
前記ロボットエンジンは、前記システムの一般的な監視を実行して、ユーザーアクションを検出し、前記ユーザーアクションに基づいて前記ガイド付き動作を開始する、請求項11に記載のシステム。
【請求項20】
前記プラットフォームは、アプリケーション、ブラウザアプリケーション、独自のソフトウェア、ファイルシステム、メディアおよびシステムリソースのうちの少なくとも1つを含む、請求項11に記載のシステム。

【発明の詳細な説明】
【背景技術】
【0001】
(関連出願への相互参照)
本出願は、2020年12月4日に出願された米国出願第17/112,113号の利益を主張し、その内容は参照により本明細書に組み込まれる。
【0002】
従来、多くの会社および企業においては、新入社員を訓練するための新入研修プログラムが、現役社員に新規または更新されたソフトウェアの実施またはワークフロー手順を教えるための訓練セッションと共に行われている。
【0003】
一例として、文書に基づくソリューション(例えば、「電子ヘルプ」ガイド)が、新入研修プログラムと訓練セッション双方において一般的に使用される。これらの「電子ヘルプ」ガイドは、カテゴリおよび/またはタスク(例えば、ログインエラー、データのエクスポートなど)によって構成されることが多く、グラフィックユーザーインターフェース(GUI)要素を用いて特定のタスクを実行するための命令を提供する。しかし、文書に基づくソリューションは、一般的に煩雑であり、特定のアプリケーションに限定され、不完全であり、ソフトウェア、手順および一般的な職場環境の変更または更新のペースと共に無視可能になったりあるいはすぐに旧式になったりし得る。
【0004】
新入研修プログラムおよび訓練セッションどちらにおいても、多くのリソースが必要となる(例えば、従業員の時間および制作費)。現在、会社およびエンタープライズにおいては、これらのリソースを削減する試みのために新入研修プログラムおよび訓練セッションを自動化し得るものの、従来の自動化の場合、別個かつ独立したシステムおよびアプリケーション内における特定のプロセスまたはタスクに単一の方法で焦点を当てていることが多い(サイロ化された自動化など)。そのため、会社およびエンタープライズにおいては、従業員のスキルセット統合のための全く異なるシステムおよびアプリケーション全体について、従来の新入研修プログラムおよび訓練セッションのコストを未だに負担している。
【発明の概要】
【0005】
1または複数の実施形態によれば、方法が開示される。この方法は、システムのメモリ上にプログラムコードとして格納されるロボットエンジンによって実施される。プログラムコードは、システムのプロセッサによって実行され、ロボットエンジンのロボティックプロセスオートメーションを可能にする。プロセッサは、システム内のメモリに通信可能に結合される。この方法は、システムによって提示されたプラットフォームのガイド付き動作を開始することと、ガイド付き動作を監視して、プラットフォームとのインタラクションを観察するかまたはロボットエンジンによる直接入力を受信することとを含む。この方法は、インタラクションまたは直接入力に関してバックエンド動作を実行することも含む。
【0006】
1または複数の実施形態によれば、上記のコンピューティングデバイスの実施形態は、方法、装置、システム、および/またはコンピュータプログラム製品として実装され得る。
【0007】
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
【図面の簡単な説明】
【0008】
図1A】1または複数の実施形態によるロボティックプロセスオートメーション(RPA)の開発、設計、運用、または実行の説明図である。
【0009】
図1B】1または複数の実施形態によるRPAの開発、設計、運用、または実行の別の説明図である。
【0010】
図1C】1または複数の実施形態によるコンピューティングシステムまたは環境の説明図である。
【0011】
図2】1または複数の実施形態によるローカルコンピューティングシステム内の1または複数のプロセッサによって実行されるプロセスフローを示すブロック図である。
【0012】
図3】1または複数の実施形態によるシステムの説明図である。
【0013】
図4】1または複数の実施形態によるロボットエンジンによって実行されるプロセスフローを示すブロック図である。
【発明を実施するための形態】
【0014】
(詳細な説明)
1または複数の実施形態によるロボットエンジンが本明細書で開示される。ロボットエンジンは、ロボティックプロセスによるガイド付き動作の機能を実行するソフトウェアおよび/またはハードウェアを含む。より詳細には、ロボットエンジンは、コンピューティングシステムにおいてガイド付き動作のセットを開始および監視する方法を提供し、ロボットエンジンは、ハードウェアおよびソフトウェア(例えば、ハードウェア内へのルーティングを必要とするプロセッサ実行可能コード)の組み合わせであり得、1または複数のソフトウェアプラットフォームの採用をサポートする。
【0015】
これに関連して、方法は、コンピューティングシステムによって提示されたプラットフォーム(例えば、ローカル化されたまたはリモートの(例えば、ウェブベースの)アプリケーション)のガイド付き動作を開始することと、プラットフォームとのインタラクションを観察するためにまたはロボットエンジンによる直接入力を受信するために、ユーザーのアクションを監視することと、を含む。ロボットエンジンは、ガイド付き動作と並行してもしくは順におよび/または直接入力に応答して、追加のバックエンド動作を実行することができ、インタラクションまたは直接入力に応答して、ガイド付き動作を代替経路に変更または分岐させ得る。ロボットエンジンは、インタラクションまたは直接入力に関して、上記プラットフォームからコンピューティングシステムによって提示される第2または第3のプラットフォームへのコンピューティングシステム内における遷移も引き起こし得る。
【0016】
このように、ロボットエンジンの方法は、少なくとも新入研修プログラム、サポート機能および/または訓練セッション(例えば、デジタルアドプションプラットフォームおよび/またはガイド付きオートメーション)のガイド付き動作に関連した異なるプラットフォームの自動的な多段階操作を含む。ロボットエンジンの技術的効果および利点は、従来の新入研修プログラムおよび訓練セッションでは利用することが不可能なプラットフォーム間の自動化を可能にすることを含む。
【0017】
本明細書に記載されている方法およびプロセスでは、記載されているステップは任意の順序で順不同で実行され得、明示的に記載または表示されていないサブステップが実行され得る。また、「結合されている」または「操作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、1または複数の実施形態で使用されてもよい。「AまたはB」を参照して使用する場合は、A、B、またはAおよびBを含む場合があり、より長いリストと同様に拡張され得る。表記X/Yを使用する場合、それはXまたはYを含み得る。あるいは、表記X/Yを使用する場合、それはXおよびYを含み得る。X/Y表記は、同一の説明されたロジックを有するより長いリストと同様に拡張され得る。
【0018】
図1Aは、RPAの開発、設計、運用、または実行100の説明図である。デザイナ102は、スタジオ、1または複数のエンジン(例えば、ロボットエンジン)を含むオンラインプラットフォーム、開発環境などとして時々参照され、ロボットが1または複数のワークフローを実行または自動化するためのコード、命令、コマンドなどを生成するように構成され得る。コンピューティングシステムがロボットに提供し得る選択(複数可)から、ロボットは、ユーザーまたはオペレータによって選択されたビジュアルディスプレイの領域(複数可)の代表的なデータを決定し得る。RPAの一環として、コンピュータビジョン(CV)操作または機械学習(ML)モデルに関連して、四角、長方形、円、多角形、自由形などの多次元の形状をUIロボットの開発およびランタイムに利用され得る。
【0019】
ワークフローによって達成され得る操作の非限定的な例としては、ログインの実行、フォームへの入力、情報技術(IT)管理などのうちの1または複数であり得る。UIオートメーションのためのワークフローを実行するために、ロボットは、アプリケーションのアクセスまたはアプリケーションの開発に関係なく、ボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に特定する必要があり得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、win32、Java、Flash、ハイパーテキストマークアップ言語(HTML)、HTML5、拡張可能なマークアップ言語(XML)、JavaScript、C#、C++、Silverlightなどであり得る。
【0020】
ワークフローには、タスクシーケンス、フローチャート、有限状態マシン(FSM)、グローバル例外ハンドラなどが含まれ得るが、これらに限定されない。タスクシーケンスは、1または複数のアプリケーションまたはウィンドウ間の線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを扱うように構成され得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフロー用に構成され得る。FSMは、条件、遷移、アクティビティなどによってトリガされ得る有限数の状態を実行時に使用し得る。グローバル例外ハンドラは、プロセスのデバッグプロセスなどのために、実行エラーが発生したときのワークフローの挙動を決定するように構成され得る。
【0021】
ロボットは、アプリケーション、アプレット、スクリプトなどのうちの1または複数を含み得、基盤となるオペレーティングシステム(OS)またはハードウェアに対して透過的なUIを自動化させ得る。展開時には、1または複数のロボットは、コンダクタ104(オーケストレータとも呼ばれる)によって管理、制御などされ得る。コンダクタ104は、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、オンラインプラットフォーム、デスクトップアプリ(複数可)、ブラウザ、またはそのようなクライアント、アプリケーション、もしくはプログラムにおいてワークフローを実行または監視するようにロボット(複数可)または自動化エグゼキュータ106に指示または命令し得る。コンダクタ104は、コンピューティングプラットフォーム(例えば、デザインコンピューティングプラットフォーム)を自動化するように複数のロボットに指示または命令するための中央または半中央点として機能し得る。
【0022】
特定の構成では、コンダクタ104は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性を提供するように構成され得る。プロビジョニングは、ロボット(複数可)または自動化エグゼキュータ106とコンダクタ104との間の接続または通信の生成および維持を含み得る。展開は、割り当てられたロボットへのパッケージバージョンの(実行のための
)配信を保証することを含み得る。構成は、ロボット環境およびプロセス構成の維持および配信を含み得る。キューイングは、キューおよびキュー項目の管理を提供することを含み得る。監視は、ロボットの特定データを追跡し、ユーザーの権限を維持することを含み得る。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標)へのログの保存およびインデックス作成を含み得る。コンダクタ104は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として操作することにより、相互接続性を提供し得る。
【0023】
ロボット(複数可)または自動化エグゼキュータ106は、アンアテンディッド108またはアテンディッド110として構成され得る。アンアテンディッド108の動作の場合、自動化は、サードパーティの入力または制御なしで実行され得る。アテンディッド110の動作の場合、サードパーティのコンポーネントからの入力、コマンド、指示、指導などを受信して自動化が行われ得る。アンアテンディッド108またはアテンディッド110ロボットは、モバイルコンピューティング環境またはモバイルデバイスの環境において動作または実行し得る。
【0024】
ロボット(複数可)または自動化エグゼキュータ106は、デザイナ102内に構築されたワークフローを実行する実行エージェントであり得る。UIまたはソフトウェアの自動化のためのロボット(複数可)の商業的な例としては、UiPath Robots(商標)がある。いくつかの実施形態では、ロボット(複数可)または自動化エグゼキュータ106は、Microsoft Windows(登録商標) Service Control Manager(SCM)管理サービスをデフォルトでインストールし得る。その結果、そのようなロボットは、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を持ち得る。
【0025】
いくつかの実施形態では、ロボット(複数可)または自動化エグゼキュータ106は、ユーザーモードでインストールされ得る。これらのロボットは、所定のロボットが設置されているユーザーと同じ権利を持ち得る。この特徴は、例えば高密度(HD)環境などにおいて最大のパフォーマンスで各マシンを完全に利用できるようにする高密度(HD)ロボットにおいても使用可能であり得る。
【0026】
特定の実施形態では、ロボット(複数可)または自動化エグゼキュータ106は、それぞれが特定の自動化タスクまたはアクティビティに専用に用いられるいくつかのコンポーネントに分割、分散などされ得る。ロボットコンポーネントには、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、コマンドラインなどが含まれ得る。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理または監視し得、コンダクタ104と実行ホスト(すなわち、ロボット(複数可)または自動化エグゼキュータ106が実行されるコンピューティングシステム)との間のプロキシとして機能し得る。これらのサービスは、信頼され得、ロボット(複数可)または自動化エグゼキュータ106のための資格情報を管理し得る。
【0027】
ユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ104と実行ホストとの間のプロキシとして機能し得る。ユーザーモードロボットサービスは、信頼され得、ロボットの資格情報を管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動され得る。
【0028】
エグゼキュータは、Windows(登録商標)セッションの下で与えられたジョブを実行し得る(つまり、ワークフローを実行し得る)。エグゼキュータは、モニタ毎のドットパーインチ(DPI)設定を意識し得る。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントはサービスのクライアントとなり得る。エージェントは、ジョブの開始または停止、設定の変更を要求し得る。コマンドラインはサービスのクライアントとなり得る。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
【0029】
上で説明したように、ロボット(複数可)または自動化エグゼキュータ106のコンポーネントが分割される構成では、開発者、サポートユーザー、およびコンピューティングシステムが、各コンポーネントによる実行、特定、および追跡をより容易に実行するのに役立つ。この方法では、エグゼキュータとサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な動作を構成し得る。エグゼキュータは、いくつかの実施形態では、モニタごとのDPI設定を認識し得る。その結果、ワークフローは、ワークフローが作成されたコンピューティングシステムの構成に関係なく、いずれかのDPIで実行し得る。また、デザイナ102からのプロジェクトは、ブラウザのズームレベルに依存しないようにし得る。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にし得る。
【0030】
図1Bは、RPAの開発、設計、運用、または実行120の別の説明図である。スタジオコンポーネントまたはモジュール122は、ロボットが1または複数のアクティビティ124を実行するためのコード、命令、コマンドなどを生成するように構成され得る。ユーザーインターフェース(UI)オートメーション126は、1または複数のドライバ(複数可)コンポーネント128を使用して、クライアント上のロボットによって実行され得る。ロボットは、コンピュータビジョン(CV)アクティビティモジュールまたはエンジン130(例えば、ロボットエンジン)を使用してアクティビティを行い得る。他のドライバ132が、UIの要素を得るためにロボットによるUIオートメーションのために利用され得る。他のドライバ132には、OSドライバ、ブラウザドライバ、仮想マシンドライバ、エンタープライズドライバなどが含まれ得る。特定の構成では、CVアクティビティモジュールまたはエンジン130は、UIオートメーションのために使用されるドライバであり得る。
【0031】
図1Cは、情報またはデータを通信するためのバス142または他の通信機構と、処理のためにバス142に結合された1または複数のプロセッサ(複数可)144とを含むことができるコンピューティングシステムまたは環境140(例えば、オンラインプラットフォームおよび/またはロボットエンジンをサポートするハードウェア)の説明図である。1または複数のプロセッサ(複数可)144は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理ユニット(GPU)、コントローラ、マルチコア処理ユニット、3次元プロセッサ、量子コンピューティングデバイス、またはそれらの任意の組み合わせを含む、任意のタイプの汎用または特定用途プロセッサであり得る。1または複数のプロセッサ(複数可)144は、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。また、マルチパラレル処理が構成され得る。さらに、少なくとも1または複数のプロセッサ(複数可)144は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。
【0032】
メモリ146は、プロセッサ(複数可)144によって実行または処理される情報、命令(例えば、分散パッケージ型プロセスおよび構成ファイルと共に、ロボットエンジンのプロセッサ実行可能命令)、コマンド、またはデータを格納するように構成され得る。メモリ146は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、ソリッドステートメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または他のタイプの非一時的なコンピュータ読み取り可能な媒体、あるいはそれらの組み合わせの任意の組み合わせで構成され得る。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ(複数可)144によってアクセス可能な任意の媒体であり得、揮発性媒体、不揮発性媒体などを含み得る。また、媒体は、取り外し可能なものであってもよいし、取り外し不可能なものなどであってもよい。
【0033】
通信装置148は、周波数分割多元接続(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)、または、1もしくは複数のアンテナを介して通信するためのいずれかの他の無線もしくは有線のデバイス/トランシーバとして構成され得る。アンテナは、単数型、アレイ型、フェーズド型、スイッチ型、ビームフォーミング型、ビームステア型などであり得る。
【0034】
1または複数のプロセッサ(複数可)144は、バス142を介して、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、フィールドエミッションディスプレイ(FED)、有機発光ダイオード(OLED)、フレキシブルOLED、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細(HD)ディスプレイ、Retina(著作権)ディスプレイ、面内スイッチング(IPS)またはそのようなベースのディスプレイなどのディスプレイデバイス150にさらに結合され得る。ディスプレイデバイス150は、入力/出力(I/O)のために、当業者に理解されるように、抵抗性、静電容量性、表面音響波(SAW)静電容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを用いて、タッチ、3次元(3D)タッチ、マルチ入力タッチ、またはマルチタッチディスプレイとして構成され得る。
【0035】
キーボード152およびコンピュータマウス、タッチパッドなどの制御装置154は、コンピューティングシステムまたは環境140への入力のためにバス142にさらに結合され得る。さらに、入力は、コンピューティングシステムまたは環境140と通信している別のコンピューティングシステムを介してリモートでコンピューティングシステムまたは環境140に提供されてもよいし、コンピューティングシステムまたは環境140が自律的に動作してもよい。
【0036】
メモリ146は、1または複数のプロセッサ(複数可)144によって実行または処理されたときに機能を提供するソフトウェアコンポーネント、モジュール、エンジンなどを格納し得る。これは、コンピューティングシステムまたは環境140のためのOS156を含み得る。モジュールは、アプリケーション特有のプロセスまたはその派生物を実行するためのカスタムモジュール158をさらに含み得る。コンピューティングシステムまたは環境140は、付加的な機能を含む1または複数の付加的な機能モジュール160を含み得る。例えば、ロボットエンジンは、モジュール158および160のうちの1または複数に実装されて、特定の構成およびツーリングロボティックプロセスオートメーション方法をコンピューティングシステムまたは環境140に提供し得る。
【0037】
コンピューティングシステムまたは環境140は、オンラインプラットフォーム、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングデバイス、クラウドコンピューティングデバイス、モバイルデバイス、スマートフォン、固定型モバイルデバイス、スマートディスプレイ、ウェアラブルコンピュータなどとして実行するように適合または構成され得る。
【0038】
本明細書に記載された例では、モジュールは、カスタムの超大型集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他の個別部品のような既製の半導体を含むハードウェア回路として実装され得る。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジック装置、グラフィックス処理ユニットなどのプログラマブルハードウェア装置に実装され得る。
【0039】
モジュールは、様々なタイプのプロセッサによって実行されるためのソフトウェアに少なくとも部分的に実装され得る。特定された実行可能コードのユニットは、例えば、オブジェクト、プロシージャ、ルーチン、サブルーチン、または関数として編成され得るコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。特定されたモジュールの実行可能は、論理的に結合されるとモジュールを構成するように、異なる位置において共に配置され得るかまたは格納され得る。
【0040】
実行可能なコードのモジュールは、単一の命令、1または複数のデータ構造、1または複数のデータセット、複数の命令などであり、複数の異なるコードセグメント、異なるプログラム間、複数のメモリデバイス間などに分散され得る。動作データまたは機能データは、モジュール内で特定および図示され得、適切な形態において具現化され得、任意の適切なタイプのデータ構造内において組織化され得る。
【0041】
本明細書で説明された例では、コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装の様態で構成され得る。コンピュータプログラムは、互いに動作可能な通信を行い、情報または指示を渡すためのモジュールによって構成され得る。
【0042】
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。さらに、本明細書に記載された方法は、コンピュータまたはプロセッサによって実行されるために、コンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアに実装され得る。コンピュータ読み取り可能な媒体の例としては、電子信号(有線または無線接続を介して送信される)およびコンピュータ読み取り可能なストレージ媒体が挙げられる。コンピュータ読み取り可能なストレージ媒体の例としては、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体記憶デバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、磁気光学媒体、ならびにCD-ROMディスクおよびデジタル多目的ディスク(DVD)などの光学媒体が挙げられるが、これらに限定されない。
【0043】
次に図2に目を向けると、1または複数の実施形態による、コンピューティングデバイス内の1または複数のプロセッサによって実行されるプロセスフロー200を示すブロック図である。より詳細には、プロセスフロー200は、コンピューティングデバイス(例えば、図1のコンピューティングシステムまたは環境140)のロボットエンジンの1または複数のロボティックプロセス(例えば、RPA)によるガイド付き動作のための方法の例示的な実施である。このように、プロセスフロー200は、少なくとも新入研修プログラムおよび/または訓練セッションのガイド付き動作に関連して、コンピューティングデバイスを自動的な多段階操作をすることを含む。新入研修プログラムおよび/または訓練セッションは、ロボットエンジンおよびガイド付き動作の例示的適用であることに留意されたい。したがって、ガイド付き動作はこれに限定されない
【0044】
プロセスフロー200は、ブロック210から始まり、ブロック210は、コンピューティングデバイスによって提示されたプラットフォームのガイド付き動作をロボットエンジンが開始することを含む。ガイド付き動作は、1または複数のプラットフォームのための特定の一連のガイド付き動作など、ガイド付き動作のセットのうちの1つであり得る。プラットフォームは、複数のプラットフォームのうちの1であり得、例えば、初期または第1のプラットフォームの後に第2または第3のプラットフォームが続く。
【0045】
一般的に、プラットフォーム(例えば、1または複数のマルチローカル/リモートプラットフォーム)は、コンピューティングデバイス内のアプリケーション、ウェブに基づくソフトウェアツールに接続するブラウザアプリケーション、プロプライエタリソフトウェア、ファイルシステム、メディア、システムリソースなどのいずれか1つであり得る。さらに、プラットフォームは、監視および/または検出され得るプラットフォーム内における動作や、プラットフォームとよるユーザーおよび/または他のプラットフォームとの間のインタラクションを含む、自身の動作およびインタラクションを含む。このようにして、ガイド付き動作は、ユーザーがプラットフォームの使い方を学習するように動作する。
【0046】
1または複数の実施形態によると、ガイド付き動作は、複数のプラットフォームおよび対応するユーザーインターフェースおよび文書作成を(新入研修プログラムおよび/または訓練セッション中に)ナビゲートするために、文脈支援を備えた統合されたRPAに基づく自動化ソリューションをユーザー(例えば、新しい従業員または新しいソフトウェアを学習する現従業員)に提供する。例えば、ロボットエンジンがプラットフォーム、ユーザーインターフェースおよび文書作成の動作への参加およびユーザーへのガイドを行っている間、これらの動作が自動化され得る。より詳細には、ガイドに関して、統合されたRPAに基づく自動化ソリューションは、プラットフォームのアクション、ユーザーインターフェース内の機能および文書作成の情報のステップスルーを、それらのアクション、機能および情報についてのコンテキストおよび/または推論(例えば、文脈支援)を提供しつつ行う。
【0047】
ブロック230において、ロボットエンジンは、ガイド付き動作を監視して、プラットフォームとのインタラクションの観察またはロボットエンジンによる直接入力の受信を行う。インタラクションは、ユーザーによるプラットフォームへの任意のユーザー入力であり得る。直接入力は、ユーザーによるロボットエンジンへの任意のユーザー入力であり得る。ユーザー入力の例は、限定されないが、英数字(例えば、名前もしくは住所またはパスワード)の入力、音声コマンド、マウス/ボタンのクリック、マウス/カーソルのホバー、キーの押下、ジェスチャーおよび物理的な動きを含む。
【0048】
ブロック250では、ロボットエンジンは、ガイド付き動作に対しておよび/または直接入力に応答して、追加のバックエンド動作を(並行しておよび/または順に)実行する。バックエンド動作は、ガイド付き動作自体とは独立した任意の操作であり得る。
【0049】
ロボットエンジンによって実施されるプロセスフロー200の技術的効果および利点は、従来の新入研修プログラムおよび訓練セッションの場合であれば利用不可能である自動化を可能にすることを含む。
【0050】
次に図3~4に目を向けると、ロボットエンジンのコンポーネントおよび動作が、1または複数の実施形態に従って説明される。図3は、システム300(例えば、ロボティックプロセスによるガイド付き動作の機能を実行するソフトウェアおよび/またはハードウェア)の説明図である。図3に示すように、システム300は、(リモートプラットフォーム305、306、および307によって表されるような)1または複数のリモートプラットフォームと、(ローカルプラットフォーム311および312によって表されるような)1または複数のローカルプラットフォームを内部に含むコンピューティングデバイス310とを含む。さらに、コンピューティングデバイス310は、(ローカルロボティックプロセス342によって表されるような)少なくとも1つのロボティックプロセスを実施するロボティックエンジン321も含み得る。コンピューティングデバイス310およびその内部の項目は、有線および/または無線接続、ネットワークなどを介して送信される通信を代表する矢印Aによって示されるように、通信可能に結合され得る。さらに、システム300の各項目またはコンポーネントについて単一のブロックが示されているが、その単一のブロックは、その項目またはコンポーネントの1または複数を示すものである。
【0051】
システム300は、任意のコンピューティングおよび/またはソフトウェアのエンタープライズ環境などであり得る。システム300は、オフィス、企業もしくは会社のネットワークまたはクラウドの、製造、生産もしくは産業のネットワークまたはクラウドおよび/あるいは学術、研究もしくは設計のネットワークまたはクラウドの実施を示し得る。これに関連して、コンピューティングデバイス310は、それぞれが少なくともプロセッサ、メモリ、およびユーザーインターフェースを備えたディスプレイを含む、1または複数のユーザーデバイス(例えば、図1のコンピューティングシステムまたは環境140)を示す。コンピューティングデバイス310の例は、限定されないが、パーソナルコンピュータ、PDA、携帯電話、タブレットコンピューティングデバイス、モバイルデバイス、デスクトップデバイスおよびスマートフォンを含む。1または複数の実施形態によると、システム300およびコンピューティングデバイス310の組み合わせはまた、ネットワーク、サーバー、ストレージサービス、オペレーティングシステム、データベースサービス、およびセキュリティサービスを提供する1または複数のソフトウェア、インフラストラクチャ、プラットフォームに基づくサービスを表現および/または提供し得る。
【0052】
さらに、システム300のプラットフォーム(例えば、複数のリモートおよびローカルプラットフォーム305、306、307、311、および312)は、本明細書に記載されているように、ローカル/ローカライズされたアプリケーション(例えば、コンピューティングデバイス内)、ブラウザアプリケーション(例えば、ウェブに基づくソフトウェアツールに接続する)、独自のソフトウェア、ファイルシステム、メディアなどのいずれか1つであり得る。1または複数の実施形態によれば、システム300およびプラットフォーム305、306、307、311および312は、いくつかのエンティティ(例えば、企業)のユーザー(例えば、従業員)に日々のソフトウェア機能を提供するソフトウェアパッケージとみなされ得る。例えば、リモートプラットフォーム305は、ウェブに基づくソフトウェアツールであり得、リモートプラットフォーム306は、リモートデータベースであり得、リモートプラットフォーム307は、クラウド電話およびボイスメールシステムであり得、ローカルプラットフォーム311は、電子メールアプリケーションであり得、ローカルプラットフォーム312は、設計ソフトウェアであり得る。
【0053】
一般的に、ロボットエンジン321は、ロボティックプロセス(例えば、ローカルロボティックプロセス342)による1または複数のガイド付き動作をサポートするために、1または複数のプロセッサ/デバイス/システム上で動作し得る。1または複数の実施形態によると、ロボットエンジン321は、システム300のソフトウェアパッケージのために、コンピューティングシステム310にインストールされる。
【0054】
例えば、コンピューティングデバイス310のロボットエンジン320は、1または複数の分散パッケージ型プロセスのプロセスリストおよび1または複数の構成ファイルを含み得る。また、ロボットエンジン321は、プロセスリストおよび構成ファイルを利用して、ローカルロボティックプロセス342を構築し得る。ローカルロボティックプロセス342は、例えば、本明細書に記載されているような自動化されたワークフローおよび/またはロボティックプロセスオートメーション(例えば、ロボット)であり得る。ローカルロボティックプロセス342は、本明細書でさらに説明されるように、アプリケーションプラグインまたはソフトウェアスクリプトが単一の機能によって制限されかつローカルロボティックプロセス342の動的適応性を提供しないという点において、単純なアプリケーションプラグインまたはソフトウェアスクリプトとは異なる。ロボットエンジン321は、コンピューティングデバイス310に対してローカルなものとして示されているが、ロボットエンジン321は、追加的にまたは代替的にシステム300の任意のデバイスに対してローカルなものであってもよいし、あるいはもしくはクラウドの機能として実施されてもよい点に留意されたい。
【0055】
図4に目を向けると、1または複数の実施形態による、図3のシステム300によって実行されるプロセスフロー400を示すブロック図である。より詳細には、プロセスフロー400は、コンピューティングデバイス310のロボットエンジン321の少なくとも1つのロボティックプロセス(例えば、ローカルロボティックプロセス342)による少なくとも1つのガイド付き動作の実施例である。このように、プロセスフロー400は、少なくとも新入研修プログラムおよび/または訓練セッションの1または複数のガイド付き動作に関連して、コンピューティングデバイス310およびそのユーザエクスペリエンスを向上させるための自動的な多段階操作を含む。
【0056】
プロセスフロー400は、任意選択の点線ブロック405から開始してもよいし、あるいはブロック415から開始してもよい。点線ブロック405において、コンピューティングデバイス310は、ロボットエンジン321と協働して、システム300内のユーザーアクティビティを監視する。例えば、ユーザーが最近新しいユーザー識別情報およびパスワードを受け取った新入社員である場合、企業ネットワーク内のデバイスでの最初のログイン(例えば、ユーザーのエンゲージメント/アクション)がロボットエンジン321によって検出可能である。別の例として、ユーザーが、特定のアプリケーションまたはウェブに基づくツールの特定の態様(例えば、ユーザーが特性のある特定のファイルを開き、ユーザーをプロンプトすること)をまだ使用していない現従業員である場合、それに対する最初のユーザーの関与/アクションが、ロボットエンジン321によって検出可能である。さらに、ロボットエンジン321は、ユーザーアクティビティが検出されると、プロセスフロー400のブロック410に進み得る。さらに、ロボットエンジン321は、その特定のアプリケーションまたは態様のための訓練セッションの提供に進み得る。このようにして、ロボットエンジン321は、プラットフォーム305、306、307、311、および312のそれぞれの個別の態様、またはこれらのプラットフォーム自体など、ユーザーがシステム300の態様に関与する際に、ガイド付き動作を動的かつ能動的にプロンプト/提示し得る。
【0057】
ブロック410において、コンピューティングデバイス310は、ロボットエンジン321と協働して、ローカルロボティックプロセス342のようなRPAを開始する。RPAの開始は、(例えば、日時、ロボットエンジン321のロジックに基づいた)自動的なものであり得るか、または、ユーザーのアクションによって(例えば、オプションの点線ブロック405において説明したように)駆動され得る。
【0058】
ブロック415において、次いで、ローカルロボティックプロセス342自体が、例えば、次に、新入社員または現従業員(例えば、新入社員は、本明細書では説明のために使用されており、限定することを意図していない)などのユーザーのための新入研修プログラムを開始する。新入研修プログラムは、プラットフォーム305、306、307、311、および312のそれぞれに対する別個の訓練セッションを含み得ることに留意されたい。いくつかのケースでは、プロセスフロー400は、ブロック420に進む。ブロック420において、新入研修プログラムを開始するのと共に、ローカルロボティックプロセス342は、これらの訓練セッションの1つを自動的に開始させる。
【0059】
任意選択的に、点線のブロック431、432および433によって示されるように、ローカルロボティックプロセス342および/またはロボットエンジン321は、直接入力のためにユーザーを関与させ得る。例えば、ブロック431において、新入研修プログラムの開始の一部として、ローカルロボティックプロセス342は、これらの訓練セッションを特定の実行順序にソートまたは編成し得る。1または複数の実施形態によると、ロボットエンジン342は、他のユーザーによる最も一般的な順序に従って、または最も頻繁に選択される訓練セッションに従って、(例えば、プロセスフロー400の任意の時点でのロボットエンジン342による前回の監視を考慮して)これらの訓練セッションを編成し得る。
【0060】
次に、点線ブロック432において、新入研修プログラムおよび特定の実行順序を詳述する1組のユーザーインターフェースおよび/またはメニューがローカルロボティックプロセス342および/またはロボットエンジン321から新入社員へ提供されて、直接入力を求め得る。このようにして、ローカルロボティックプロセス342および/またはロボットエンジン321は、訓練セッション命令をユーザーに知らせる。ユーザーは、この命令を受け入れるか、または特定の訓練セッションを選択し得る。一例では、直接入力は、ローカルプラットフォーム311に対応するメニュー項目を特定し得る。
【0061】
点線ブロック433において、ロボットエンジン321は、ユーザーインターフェースおよび/またはメニューへの直接入力を受信し、この入力は、新入社員がどの訓練セッションを受けることを望むかという選択である。本明細書で示されるように、一例では、ユーザーは、上記選択に対応するメニュー項目上でマウスクリック(例えば、直接入力)を提供することにより、プラットフォーム305、306、307、311および312のいずれかの間のメニューから選択し得る。
【0062】
ブロック430において、ロボットエンジン321は、(自動的にまたはユーザーアクティビティに応答して)ガイド付き動作を開始する。例えば、ロボットエンジン321は、ローカルプラットフォーム311に対応するメニュー項目を特定する直接入力に基づいて、ローカルプラットフォーム311のガイド付き動作を開始する。ガイド付き動作は、ローカルプラットフォーム311および対応するユーザーインターフェースおよび文書作成をナビゲートするために、文脈支援を備えた統合されたRPAに基づく自動化ソリューションを新入社員に提供する。
【0063】
ブロック450において、ロボットエンジン321は、ガイド付き動作を監視する。監視において、ロボットエンジン321は、ローカルプラットフォーム311の訓練セッションの進行に関するユーザーのアクションを観察する。例えば、ロボットエンジン321は、ユーザーのアクションを監視し、ガイド付き動作にコード化された命令に従って、整合性を探す。この整合性に関して、ロボットエンジン321は、検出されたマウスのクリック、ファイルシステムの変更、キーボードの押下、システムリソース、タイミングなど(例えば、他の任意のインタラクション、他の任意の直接入力、および/またはガイド付き動作の結論)をトリガとして使用している。次に、ロボットエンジン321またはその内部のローカルロボティックプロセス342(例えば、1または複数のロボティックプロセスオートメーション)は、整合性(例えば、インタラクション、直接入力および/または結論)に応答して、ガイド付き動作、訓練セッションまたは新入研修プログラムの進行を、新しいパス(例えば、代替経路)として進め得、変化させ得、分岐させ得、かつ/または変更し得る。
【0064】
ガイド付き動作の監視において、ブロック460において、ローカルプラットフォーム311は、新入社員がローカルプラットフォーム311のための訓練セッションを進めたいかどうか(例えば、または、他の任意のユーザーインターフェース)を確認するために、GUIでポップアップメニューを提供する。ブロック465において、新入社員は、そのポップアップメニュー(例えば、または、他の任意のユーザーインターフェース)の「続ける」ボタンをマウスカーソルでクリックするなどして、ローカルプラットフォーム311とインタラクションする。このようにして、ユーザー(例えば、新入社員)は、アプリケーション(例えば、ローカルプラットフォーム311)のガイド付き動作(例えば、ローカルロボティックプロセス342によって提供される)を介してクリックしており、ローカルロボティックプロセス342は、アプリケーション内でのクリックを見て/観察して/監視して、ガイド付き動作自体を進めている。ガイド付き動作は、複数のアプリケーションにまたがり、複数のアプリケーションを互いに併用してガイド付き動作を提供し得る。例えば、コールセンターでは、ユーザーは、あるアプリケーションからデータを取得し、それを使って別のアプリケーションにデータを入力するよう指示され得る。
【0065】
ローカルプラットフォーム311のガイド付き動作中の別のタイミング(ブロック470)で、ロボットエンジン321は、外部のGUIフレームでローカルプラットフォーム311とは独立した直接入力を求めることができ、これにより、ユーザーが訓練セッションの一部を繰り返すことを望むかどうかを確認する。ブロック475において、ロボットエンジン321は、それに応じてガイド付き動作を自動的に指示し得る。
【0066】
ブロック480において、ロボットエンジン321は、ローカルプラットフォーム311から(同じくコンピューティングデバイス310によって提示される)リモートプラットフォーム306への遷移をコンピューティングデバイス310内において引き起こす。この遷移は、自動的に発生し得、ロボットエンジン341によって駆動され得、かつ/または、本明細書に記載されているようにユーザー入力によって駆動され得る。次に、プロセスフロー400は、ブロック430に戻って進み、ロボットエンジン321は、リモートプラットフォーム306のガイド付き動作を開始する。ブロック480の「遷移」は、それ自体が遷移ではあり得なく、場合によっては、プラットフォーム311および306の間の(例えば、プラットフォーム311および306の位置と無関係の論理的進行としての)シームレスな切り替えであり得ることに留意されたい。
【0067】
さらに、ブロック490において、ロボットエンジン321は、ガイド付き動作と並行して(もしくはそれに連続して)、および/または、インタラクションまたは直接入力のいずれかに応じて、追加のバックエンド動作を実行する。バックエンド動作は、自動化の実行とともに、追加のガイド付き命令を検索することができることに留意されたい。例えば、新入社員がフォームに記入するようにガイドされ、その後、RPAオートメーションがバックエンドで実行されて、新入社員をシステムにプロビジョニングすることができ、例えば、建物監督から駐車許可証を取得することができる。いくつかのケースでは、プロセスフロー400は、ブロック450の監視に戻って進み得る。例えば、実行後、(その実行が流動的なプロセスであるため)バックエンド動作のいずれかが命令を受信するために戻ることができる。ロボットエンジンによって実装されたプロセスフロー400の技術的効果および利点は、従来の新入研修プログラムおよび訓練セッションの場合では利用不可能である自動化を可能にすることを含む。
【0068】
1または複数の実施形態によると、図4を参照すると、ユーザーは、システムの更新を学ぶためにガイド付きオートメーションに関与する。ユーザーは、ガイド付きオートメーションを開始し(例えば、ブロック410および415)、次に、開始するための命令およびオプションをユーザーにプロンプトする(例えば、ブロック431、432、および433)。ユーザーが開始すると、RPAは、ユーザーが指示を受けているアプリケーション(複数可)を開き(例えば、ブロック420)、追加のRPAを継続および/または呼び出す(例えば、ブロック490)。ガイド付きオートメーションが実行されると、RPAは、メニュー項目のクリック、フォームへの入力、ボタンのクリックなどのアクションを実行するようにユーザーに要求する(例えば、ブロック460、470)。ユーザーがこれらのアクションを実行すると、監視(例えば、ブロック450)によって、ロボットエンジンはこれらのアクションを観察し、命令を進める。ある時点において、(例えば、コーディングごとの)ロボットプロセスは、データの直接入力、データの保存、様々な画面を通じたナビゲーションなど、1または複数のアクション(例えば、465、475、480、および490)を実行し得る。また、ロボットプロセスは、高度なステップのセットを取るか、簡単なセットを取るかのオプションをユーザーに与え、ユーザーに自身の関与レベルを選択する能力を与え得る。
【0069】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および操作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、指定された論理機能(複数可)を実装するための1または複数の実行可能な命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替実施例において、ブロックに記載されている機能は、図に記載されている順序とは異なる場合がある。例えば、連続して表示されている2つのブロックは、関係する機能に応じて、実際には実質的に同時に実行され得、またはブロックが逆の順序で実行され得る。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能もしくは行動を実行するか、または特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特別な目的のハードウェアに基づくシステムによって実装され得ることに留意されたい。
【0070】
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。さらに、本明細書に記載された方法は、コンピュータまたはプロセッサによって実行されるために、コンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアに実装され得る。本明細書で使用されるコンピュータ読み取り可能な媒体は、それ自体が一時的な信号であると解釈されるものではなく、例えば、電波またはその他の自由に伝播する電磁波、導波管またはその他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を介して伝送される電気信号である。
【0071】
コンピュータ読み取り可能な媒体の例としては、電子信号(有線または無線接続を介して送信される)およびコンピュータ読み取り可能なストレージ媒体が挙げられる。コンピュータ読み取り可能なストレージ媒体の例は、限定されないが、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、コンパクトディスク(CD)およびデジタルバーサタイルディスク(DVD)などの光媒体、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ならびにメモリースティックを含む。プロセッサは、ソフトウェアと関連して、端末、基地局、または任意のホストコンピュータで使用するための無線周波数トランシーバを実装するために使用され得る。
【0072】
本明細書で使用される用語は、ひとえに特定の実施形態を説明するためのものであり、限定することを意図しない。本明細書では、単数形の「a」、「an」、および「the」は、文脈が明確に示す場合を除き、複数形も含むことを意図する。本明細書で使用される「含む(comprises)」および/または「含む(comprising,)」という用語は、記載された特徴、整数、ステップ、操作、要素、および/またはコンポーネントの存在を特定するが、1または複数の他の特徴、整数、ステップ、操作、要素、コンポーネント、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されるであろう。
【0073】
本明細書の様々な実施形態の説明は、説明のために提示されたものであるが、開示された実施形態を網羅的に、またはそれに限定することを意図したものではない。当業者であれば、記載された実施形態の範囲および精神から逸脱することなく、多くの修正および変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実用化もしくは技術的改善を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解できるように選択されたものである。

図1A
図1B
図1C
図2
図3
図4
【国際調査報告】