(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】ロボティックプロセスオートメーションのオペレーティングおよびソフトウェアシステムへの統合
(51)【国際特許分類】
G06F 9/451 20180101AFI20240409BHJP
【FI】
G06F9/451
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023523251
(86)(22)【出願日】2021-10-27
(85)【翻訳文提出日】2023-05-29
(86)【国際出願番号】 US2021056780
(87)【国際公開番号】W WO2022203724
(87)【国際公開日】2022-09-29
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】110003487
【氏名又は名称】弁理士法人東海特許事務所
(72)【発明者】
【氏名】ノット,ブランドン
(72)【発明者】
【氏名】タパス,フローリン-ラドゥ
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AC04
5B376AE45
5B376FA16
(57)【要約】
本明細書で開示されるのは、メモリと、メモリに結合されたプロセッサとを含むコンピューティングシステムである。ロボティックプロセスをコンピューティングシステムのグラフィックユーザーインターフェースに統合するインターフェースエンジンのためのプロセッサ遂行可能命令を格納するメモリである。プロセッサは、インターフェースエンジンを遂行して、コンピューティングシステムにグラフィックユーザーインターフェースのメニューを介した入力を受信させ、入力に応答して表示するためのロボティックプロセスを自動的に決定させる。インターフェースエンジンはさらに、ロボティックプロセスに対応する選択可能なリンクを含むリストを生成し、メニューと関連付けてリストを表示する。
【特許請求の範囲】
【請求項1】
コンピューティングシステムであって、
前記コンピューティングシステムのグラフィックユーザーインターフェースに1または複数のロボティックプロセスを統合するように構成されたインターフェースエンジンのためのプロセッサ遂行可能命令を格納するように構成されたメモリと、
前記メモリに結合された少なくとも1つのプロセッサと、を含み、
前記少なくとも1つのプロセッサは、前記インターフェースエンジンを遂行して、前記コンピューティングシステムが、
前記グラフィックユーザーインターフェースのメニューを介して、1または複数の入力を受信し、
前記1または複数の入力に応答して、表示するための前記1または複数のロボティックプロセスを自動的に決定し、
前記1または複数のロボティックプロセスに対応する1または複数の選択可能なリンクを含むリストを生成し、
前記メニューと関連付けて前記リストを表示するように、構成される、コンピューティングシステム。
【請求項2】
前記メニューはオペレーティングシステムのスタートメニューを含み、前記スタートメニューは検索バーを含む、請求項1に記載のコンピューティングシステム。
【請求項3】
前記1または複数の選択可能なリンクのいずれかの選択は、前記1または複数のロボティックプロセスの対応する自動化されたプロセスを開始する、請求項1に記載のコンピューティングシステム。
【請求項4】
前記インターフェースエンジンは、前記自動化されたプロセスをしきい値回数超実行することに応答して、前記1または複数のロボティックプロセスの自動化されたプロセスに対応するアイコンを固定するオートメーションプロセスピニングを実行する、請求項1に記載のコンピューティングシステム。
【請求項5】
前記リストは、前記メニューに表示される、請求項1に記載のコンピューティングシステム。
【請求項6】
前記リストは、前記メニューとは別のポップアップフレームに表示される、請求項1に記載のコンピューティングシステム。
【請求項7】
前記1または複数の入力は、値、関数、ユーザーインタラクション、単語、用語、フレーズ、および命令のうちの1または複数を含む、請求項1に記載のコンピューティングシステム。
【請求項8】
インターフェースエンジンのためのプロセッサ遂行可能命令を記憶するメモリと、前記メモリに結合された少なくとも1つのプロセッサとを含むコンピューティングシステムのグラフィックユーザーインターフェースに1または複数のロボティックプロセスを統合するように構成された前記インターフェースエンジンによって実装される方法であって、前記方法は、
前記グラフィックユーザーインターフェースのメニューを介して、1または複数の入力を受信し、
前記1または複数の入力に応答して、表示するための前記1または複数のロボティックプロセスを自動的に決定し、
前記1または複数のロボティックプロセスに対応する1または複数の選択可能なリンクを含むリストを生成し、
前記メニューと関連付けて前記リストを表示することを含む、方法。
【請求項9】
前記メニューはオペレーティングシステムのスタートメニューを含み、前記スタートメニューは検索バーを含む、請求項8に記載の方法。
【請求項10】
前記1または複数の選択可能なリンクのいずれかの選択は、前記1または複数のロボティックプロセスの対応する自動化されたプロセスを開始する、請求項8に記載の方法。
【請求項11】
前記インターフェースエンジンは、前記自動化されたプロセスをしきい値回数超実行することに応答して、前記1または複数のロボティックプロセスの自動化されたプロセスに対応するアイコンを固定するオートメーションプロセスピニングを実行する、請求項8に記載の方法。
【請求項12】
前記リストは、前記メニューに表示される、請求項8に記載の方法。
【請求項13】
前記リストは、前記メニューとは別のポップアップフレームに表示される、請求項8に記載の方法。
【請求項14】
前記1または複数の入力は、値、関数、ユーザーインタラクション、単語、用語、フレーズ、および命令のうちの1または複数を含む、請求項8に記載の方法。
【請求項15】
コンピューティングシステムのグラフィックユーザーインターフェースに1または複数のロボティックプロセスを統合するように構成されたインターフェースエンジンのためのコンピュータプログラム製品であって、前記コンピューティングシステムが、
前記グラフィックユーザーインターフェースのメニューを介して、1または複数の入力を受信し、
前記1または複数の入力に応答して、表示するための前記1または複数のロボティックプロセスを自動的に決定し、
前記1または複数のロボティックプロセスに対応する1または複数の選択可能なリンクを含むリストを生成し、
前記メニューと関連付けて前記リストを表示することを実行するように、コンピュータ読み取り可能な媒体に格納され、前記コンピューティングシステムの少なくとも1つのプロセッサによって遂行可能である、前記コンピュータプログラム製品。
【請求項16】
前記メニューはオペレーティングシステムのスタートメニューを含み、前記スタートメニューは検索バーを含む、請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記1または複数の選択可能なリンクのいずれかの選択は、前記1または複数のロボティックプロセスの対応する自動化されたプロセスを開始する、請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記インターフェースエンジンは、前記自動化されたプロセスをしきい値回数超実行することに応答して、前記1または複数のロボティックプロセスの自動化されたプロセスに対応するアイコンを固定するオートメーションプロセスピニングを実行する、請求項15に記載のコンピュータプログラム製品。
【請求項19】
前記リストは、前記メニューに表示される、請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記リストは、前記メニューとは別のポップアップフレームに表示される、請求項15に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【0001】
(関連出願への相互参照)
本出願は、2021年3月26日に出願された米国出願第17/214,344号の利益を主張し、その内容は参照により本明細書に組み込まれる。
【0002】
本明細書の開示は、ロボティックプロセスオートメーション(RPA)の分野に関し、特に、RPAをオペレーティングおよびソフトウェアシステムに統合することに関する。
【0003】
従来のオペレーティングおよびソフトウェアシステムは、アプリケーション、ファイル、ドキュメント、および最近のアクティビティを検索および選択するためのスタートメニューおよび検索バーを含み得る。しかし、現在のところ、このスタートメニューおよび検索バーには、オートメーションエクスペリエンスを提供する方法がなく、また、オートメーションエクスペリエンスに簡単かつ迅速にアクセスするためのオートメーションプロセスピニングを実装する方法もない。したがって、ユーザーにオートメーションエクスペリエンスを提供するために、スタートメニューおよび検索バーとオートメーションを統合する必要がある。
【発明の概要】
【0004】
1または複数の実施形態によれば、コンピューティングシステムが提供される。コンピューティングシステムは、メモリ、およびメモリに結合されるプロセッサを含む。ロボティックプロセスをコンピューティングシステムのグラフィックユーザーインターフェースに統合するインターフェースエンジンのためのプロセッサ遂行可能命令を格納するメモリである。プロセッサは、インターフェースエンジンを遂行して、コンピューティングシステムにグラフィックユーザーインターフェースのメニューを介した入力を受信させ、入力に応答して表示するためのロボティックプロセスを自動的に決定させる。インターフェースエンジンはさらに、ロボティックプロセスに対応する選択可能なリンクを含むリストを生成し、メニューと関連付けてリストを表示する。
【0005】
1または複数の実施形態によれば、上記のコンピューティングシステムの実施形態は、方法、装置、デバイス、システム、および/またはコンピュータプログラム製品として実装され得る。
【図面の簡単な説明】
【0006】
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
【0007】
【
図1】1または複数の実施形態によるロボティックプロセスオートメーション(RPA)の開発、設計、動作、および/または遂行を示す環境を示す図である。
【0008】
【
図2】1または複数の実施形態によるコンピューティングシステムの説明図である。
【0009】
【
図3】1または複数の実施形態による、インターフェースエンジン内の1または複数のプロセッサによって遂行されるプロセスフローを例示するブロック図である。
【0010】
【
図4】1または複数の実施形態による、インターフェースエンジン内の1または複数のプロセッサによって遂行されるプロセスフローを例示するブロック図である。
【0011】
【
図5】1または複数の実施形態によるユーザーインターフェースを示す。
【0012】
【
図6】1または複数の実施形態によるユーザーインターフェースを示す。
【発明を実施するための形態】
【0013】
(詳細な説明)
本明細書で開示されるのは、1または複数の実施形態によるインターフェースエンジンである。インターフェースエンジンは、RPAをオペレーティングおよびソフトウェアシステムに統合するソフトウェアおよび/またはハードウェアを含む。より詳細には、インターフェースエンジンは、RPAおよびネイティブRPA検索機能をスタートメニューおよび検索バーに統合し、任意のオペレーティングまたはソフトウェアシステムのグラフィックユーザーインターフェース(GUI)レベルでのオートメーションエクスペリエンスを実現する。インターフェースエンジンは、ハードウェアおよびソフトウェア(例えば、ハードウェアに必然的に根付いたプロセッサ遂行可能コード)の組み合わせによって、コンピューティングシステムに実装され得る。インターフェースエンジンは、実装されると、コンピューティングシステムのGUIに関して、それぞれのプログラミングとともに、入力データ、入力フィールド、メニュー、ロボティックプロセス、リスト、リンクなどを操作する、改善されたRPAアクセス技術のための特定の構成およびツーリングロボティックプロセスオートメーション方法を提供し得る。
【0014】
例示的な実施態様において、インターフェースエンジンによる構成およびツーリングロボティックプロセスオートメーション方法の実施形態は、グラフィックユーザーインターフェースのメニューを介して入力を受信することと、入力に応答して表示のためのロボティックプロセスを自動的に決定することとを含む。インターフェースエンジンはさらに、ロボティックプロセスに対応する選択可能なリンクを含むリストを生成し、メニューと関連付けてリストを表示する。このように、インターフェースエンジンの構成およびツーリングロボティックプロセスオートメーション方法は、コンピューティングシステムに関連するロボティックプロセス、インターフェースコンポーネント、データ、および構成の多段階のデータ操作を含む。
【0015】
1または複数の実施形態による動作例として、インターフェースエンジンは、RPAアイコン、ショートカット、および/またはリストがスタートメニューまたはその検索バーに表示されるように、RPAをオペレーティングシステムのネイティブ検索機能と統合する。RPAアイコン、ショートカット、および/またはリストは、自動化への容易なアクセスのためのオートメーションエクスペリエンスまたはプロセスのピンと考えられ得る。ユーザーがスタートメニューを選択するときはいつでも、ユーザーはさらにピンを選択して、RPAに関するすべてのアプリケーション、ファイル、ドキュメント、および/または最近のアクティビティを見つけることができる。場合によっては、ピンは、スタートメニューから自動化されたプロセスを直接開始するオプションを提供する。同様に、ユーザーが検索バーで単語/用語/フレーズの検索を行うたびに、ポップアップフレームは、検索された単語に関連するRPAに対応するフォルダ、ドキュメント、およびベストマッチを表示する。場合によっては、ポップアップフレームは1または複数のセクションを含み、そのうちの1つは、単語/用語/フレーズに関連する自動化されたプロセスのリストを提供する。
【0016】
1または複数の技術的効果、利点、および利益によると、インターフェースエンジンは、本明細書で詳述する統合を介して、オートメーションエクスペリエンスに簡単かつ迅速にアクセスするためのオートメーションプロセスピニングを実装するとともに、ユーザーにオートメーションエクスペリエンスを提供する。
【0017】
図1は、1または複数の実施形態によるロボティックプロセスオートメーション(RPA)の開発、設計、動作、および/または遂行を示す環境100を示す図である。環境100は、1または複数のコンポーネントを含む設計およびデプロイメントコンピューティングプラットフォームであり得る。環境100の1または複数のコンポーネントのそれぞれについて単一のブロックが示されているが、その単一のブロックは、そのコンポーネントの1または複数を代表するものであることに留意されたい。
【0018】
示されるように、環境100はインターフェースエンジン111をさらに含むデザイナ110を含み得る。インターフェースエンジン111は、1もしくは複数のドライバコンポーネント128および/または内部エンジン129を使用して、1もしくは複数のアクティビティ124を実行し、および/または1もしくは複数のユーザーインターフェース(UI)オートメーション126を提供する1または複数のロボット(例えば、ロボット122)を生成するスタジオコンポーネントまたはモジュール120を含み得る。また、ロボット122は、デザイナ110内の他のドライバコンポーネント131およびモジュール132と同様に係合し得る。さらに、環境100は、コンダクタ140およびエグゼキュータ170を含み得、これらは、ロボット122がエグゼキュータ170のアンアテンディッドロボット174およびアテンディッドロボット178として環境100に提供され得るように、ロボット122をダウンロード/取得/送信し得る。
【0019】
デザイナ110、コンダクタ140、およびエグゼキュータ170は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含む、コンピューティングデバイス、コンピューティング装置、および/またはコンピューティングシステムを代表する。デザイナ110、コンダクタ140、およびエグゼキュータ170、ならびにその上の任意のソフトウェア(例えば、インターフェースエンジン111)は、ユーザーまたはオペレータとインタラクションして、入力を受信し、出力を提供するように構成される。一例では、エグゼキュータ170は、モバイルコンピューティングおよび/もしくはモバイルデバイス環境であるか、またはそれらを実装し得る。
【0020】
1または複数の実施形態によると、デザイナ110は、スタジオプラットフォーム、開発プラットフォーム、および/またはオンラインプラットフォームと呼ばれ得る。デザイナ110は、1または複数のエンジン(例えば、インターフェースエンジン111)、開発環境(例えば、スタジオ120)などを含み得、ロボット(例えば、1または複数のロボット122、アテンディッドロボット174、およびアテンディッドロボット178)が1または複数のワークフローを実行または自動化する(例えば、1もしくは複数のアクティビティ124および/または1もしくは複数のUI自動化126を提供する)ためのコード、命令、コマンドなどを生成するように構成され得る。
【0021】
インターフェースエンジン111は概して、ロボティックプロセスオートメーションを実装するソフトウェアおよび/またはハードウェアである。これに関連して、インターフェースエンジン111は、環境100内でのインターフェースエンジン111のスケーラビリティおよびポータビリティを説明するために、点線のボックスとして詳述される。例えば、インターフェースエンジン111は、インターフェースエンジン181および191によって示されるように、環境100全体で別々のインスタンスとして実装され得る。
【0022】
さらに、1または複数の実施形態によると、インターフェースエンジン111は、スタジオ120内でコードを自動的に実装し、ロボット122を設計するフレームワーク/メカニズム(例えば、環境100)の一部であり得る。また、インターフェースエンジン111は、開発者および/またはオーケストレータ(例えば、ユーザーまたはオペレータ)が、スタジオ120を介してなど、ロボット122をコード化、プログラム化、および/または設計することを可能にし得る。実施形態では、スタジオ120は、サードパーティアプリケーション、管理情報技術(IT)タスク、および/またはビジネスITプロセスの自動化とともに、アプリケーション統合を提供し得る。
【0023】
ロボット122(ならびにアンアテンディッドロボット174およびアテンディッドロボット178)は、1または複数のワークフロー(例えば、1もしくは複数のアクティビティ124によって部分的に表され、および/または1もしくは複数のUIオートメーション126を提供する)を実行および/または自動化し得るアプリケーション、アプレット、スクリプトなどであり得る。ワークフローには、タスクシーケンス、フローチャート、有限状態マシン(FSM)、グローバル例外ハンドラ、透過的なUIなどが含まれ得るが、これらに限定されない。タスクシーケンスは、1または複数のアプリケーションまたはウィンドウ間の線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを扱うように構成され得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフロー用に構成され得る。FSMは、条件、遷移、アクティビティなどによってトリガされ得る有限数の状態をそれらの遂行中に使用し得る。グローバル例外ハンドラは、プロセスのデバッグプロセスなどのために、遂行エラーが発生したときのワークフローの挙動を判断するように構成され得る。透過的なUIは、基礎となるオペレーティングシステム(OS)またはハードウェアに対するソフトウェア動作であり得る。1または複数ワークフローによって達成され得る動作の非限定的な例としては、ログインの実行、フォームへの入力、情報技術(IT)管理などのうちの1または複数であり得る。UIオートメーションのためのワークフローを実行するために、ロボット122は、アプリケーションのアクセスまたはアプリケーションの開発に関係なく、ボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に特定する必要があり得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、win32、Java、Flash、ハイパーテキストマークアップ言語(HTML)、HTML5、拡張可能なマークアップ言語(XML)、JavaScript、C#、C++、Silverlightなどであり得る。
【0024】
1または複数の実施形態によると、開発時に、ロボット122は、デザイナ110(例えば、スタジオ120)で/により作製され、そこに格納され得る。さらに、展開時には、ロボット122は、コンダクタ140(例えばインターフェースエンジン181内)で/により、管理、制御、構成などされ得る。また、展開時に、ロボット122は、エグゼキュータ170内で遂行され得る。一例では、ユーザーまたはオペレータによって、ユーザー入力(例えば、ディスプレイ上の選択)がデザイナ110に提出され得る。デザイナ110がロボット122に提供し得る選択から、ロボット122は、(例えば、ユーザーまたはオペレータによって選択された)ビジュアルディスプレイの領域(複数可)の代表データを決定し得る。RPAの一環として、コンピュータビジョン(CV)動作および/または機械学習(ML)モデルに関連して、(例えば、四角、長方形、円、多角形、自由形などの)多次元の形状はUIロボットの開発およびランタイムに利用され得る。
【0025】
1または複数の実施形態によると、UIオートメーション126は、その中のドライバ128を使用してロボット122によって実行され得、インターフェースエンジン111は、モジュール130(例えば、CVアクティビティモジュールまたはエンジン)を使用してアクティビティを実行し得る。ドライバコンポーネント132は、UIの要素を取得するために、ロボット122によるUIオートメーションのために利用され得る。ドライバコンポーネント132は、限定されないが、OSドライバ、ブラウザドライバ、仮想マシンドライバ、エンタープライズドライバなどを含み得る。特定の構成では、モジュール130は、UIオートメーションのために使用されるドライバであり得る。さらに、ロボット122によるこれらのアクションのいずれも、クライアント上で(例えば、エグゼキュータ170のアンアテンディッドロボット174およびアテンディッドロボット178として)実装され得る。複数のロボット122は、デザイナ110、コンダクタ140、およびエグゼキュータ170上に格納されかつその中で検索可能であることができることにさらに留意されたい。
【0026】
コンダクタ140は、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、オンラインプラットフォーム、デスクトップアプリ(複数可)、ブラウザ、またはそのようなクライアント、アプリケーション、もしくはプログラムにおいてワークフローを遂行または監視するようにロボット122、174、および178またはエグゼキュータ170に指示または命令し得る。コンダクタ140は、コンピューティングプラットフォーム(例えば、環境100)を自動化するために1または複数のロボット(例えば、ロボット122、174および178)を指示または命令するための中央または半中央点として機能し得る。
【0027】
1または複数の実施形態によると、コンダクタ140は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性を提供するように構成され得る。プロビジョニングは、1または複数のロボット、エグゼキュータ170、およびコンダクタ140との間の接続または通信の作製および維持を含み得る。展開は、遂行のために割り当てられたロボットへのパッケージバージョンの配信を保証することを含み得る。構成は、ロボット環境およびプロセス構成の維持および配信を含み得る。キューイングは、キューおよびキュー項目の管理を提供することを含み得る。監視は、ロボットの特定データを追跡し、ユーザーの権限を維持することを含み得る。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標))へのログの保存およびインデックス作成を含み得る。コンダクタ140は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として操作することにより、相互接続性を提供し得る。
【0028】
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、アンアテンディッドロボット174および/またはアテンディッドロボット178として構成され得る。アンアテンディッド動作の場合、アンアテンディッドロボット174による自動化は、サードパーティの入力または制御なしで実行され得る。アテンディッド動作の場合、アテンディッドロボット178による自動化は、第三者のコンポーネントから入力、コマンド、命令、ガイダンスなどを受信することによって実行され得る。アンアテンディッドロボット174および/またはアテンディッドロボット178は、モバイルコンピューティングまたはモバイルデバイス環境上で実行または遂行し得る。
【0029】
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、デザイナ110で構築されたワークフローを実行する遂行エージェントとして構成され得る。UIまたはソフトウェアの自動化のためのロボット(複数可)の商業的な例としては、UiPath Robots(商標)がある。いくつかの実施形態では、1または複数のロボットおよびエグゼキュータ170は、Microsoft Windows(登録商標) Service Control Manager(SCM)管理サービスをデフォルトでインストールし得る。その結果、そのようなロボットは、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を持ち得る。
【0030】
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、ユーザーモードでインストールされ得る。例えば、1または複数のロボットは、所定のロボットが設置されているユーザーと同じ権利を持ち得る。この機能は、高密度(HD)環境などで最大のパフォーマンスで各マシンを完全に利用できるようにする高密度(HD)ロボットでも使用可能であり得る。
【0031】
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、それぞれが特定の自動化タスクまたはアクティビティに特化したいくつかのコンポーネントに分割、分散などされ得る。ロボットコンポーネントには、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、コマンドラインなどが含まれ得る。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理または監視し得、コンダクタ140と遂行ホスト(すなわち、1または複数のロボットが遂行されるコンピューティングシステム)との間のプロキシとして動作し得る。これらのサービスは、1または複数のロボットおよびエグゼキュータ170のための資格情報を信頼し、管理し得る。ユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ140と遂行ホストとの間のプロキシとして機能し得る。ユーザーモードロボットサービスは、ロボットの資格情報を任されて管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動され得る。一例では、エグゼキュータ170は、Windows(登録商標)セッションの下で与えられたジョブを遂行し得(例えば、それらが本明細書に記載されるワークフローを遂行し得る)、モニタ毎のドットパーインチ(DPI)設定を認識し得る。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントはサービスのクライアントであり得る。エージェントは、ジョブの開始または停止、設定の変更を依頼し得る。コマンドラインはサービスのクライアントとなり得る。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
【0032】
1または複数の実施形態によると、1もしくは複数のロボットおよび/またはエグゼキュータ170のコンポーネントが分割される構成は、開発者、サポートユーザー、およびコンピューティングシステムが、各コンポーネントによる実行、特定、および追跡遂行をより容易に行うのに役立つ。この方法では、エグゼキュータ170とサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な挙動を構成し得る。エグゼキュータ170は、いくつかの実施形態では、モニタごとのDPI設定を認識し得る。その結果、ワークフローは、ワークフローが作成されたコンピューティングシステムの構成に関係なく、いずれかのDPIで遂行し得る。また、デザイナ110からのプロジェクトは、ブラウザのズームレベルに依存しないようにし得る。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にし得る。
【0033】
次に
図2に目を向けると、1または複数の実施形態によるコンピューティングシステム200が示される。コンピューティングシステム200は、ハードウェア、ソフトウェア、またはそれらの組み合わせ(例えば、
図1のインターフェースエンジン111をサポートするハードウェア)を含む、任意のコンピューティングデバイス、コンピューティング装置、および/またはコンピューティング環境の代表であり得る。さらに、開示されたコンピューティングシステム200の実施形態は、任意の可能な技術的詳細レベルの統合の装置、システム、方法、および/またはコンピュータプログラム製品を含み得る。
【0034】
コンピューティングシステム200は、1または複数の中央処理装置(CPU(複数可))を有するデバイス205(例えば、
図1のデザイナ110、コンダクタ140、およびエグゼキュータ170)を有し、これらは、集合的または一般的にプロセッサ210と呼ばれる。プロセッサ210は、処理回路とも呼ばれ、システムバス215を介して、システムメモリ220および様々な他のコンポーネントに結合される。コンピューティングシステム200および/またはデバイス205は、オンラインプラットフォーム、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングデバイス、クラウドコンピューティングデバイス、モバイルデバイス、スマートフォン、固定型モバイルデバイス、スマートディスプレイ、ウェアラブルコンピュータなどとして実行するように適合または構成され得る。
【0035】
プロセッサ210は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理ユニット(GPU)、コントローラ、マルチコア処理ユニット、3次元プロセッサ、量子コンピューティングデバイス、またはそれらの任意の組み合わせを含む、任意のタイプの一般的または特定用途プロセッサであり得る。プロセッサ210はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。また、マルチパラレル処理が構成され得る。さらに、少なくともプロセッサ210は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。
【0036】
バス215(他の通信メカニズム)は、プロセッサ210、システムメモリ220、ならびにアダプタ225、226、および227などの様々な他のコンポーネントに情報またはデータを通信するために構成される。
【0037】
システムメモリ220は、(非一時的な)コンピュータ読み取り可能なストレージ媒体の一例であり、ソフトウェア230は、
図3および
図4を参照して本明細書で説明したような、デバイス205を動作させるためにプロセッサ210が遂行するためのソフトウェアコンポーネント、モジュール、エンジン、命令などとして格納され得る。システムメモリ220は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、内部または外部フラッシュメモリ、エンベッディッドスタティック-RAM(SRAM:Embedded Static-RAM)、ソリッドステートメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的ストレージ、または任意の他のタイプの揮発性または不揮発性メモリの任意の組み合わせを含み得る。非一時的な読み取り可能なストレージ媒体は、プロセッサ210によってアクセス可能な任意の媒体であってもよく、揮発性媒体、不揮発性媒体などを含み得る。例えば、ROMは、システムバス215に結合され、デバイス205の特定の基本機能を制御するBIOS(Basic Input/Output System)を含み得、RAMは、プロセッサ210が使用するためにシステムバス215に結合された読み書き可能なメモリである。非一時的なコンピュータ読み取り可能なストレージ媒体は、着脱可能、着脱不可能などの任意の媒体を含み得る。
【0038】
図1に関連して、
図2のソフトウェア230は、メモリ220およびプロセッサ210がロボット122を論理的に設計/構成/提供することができるように、インターフェースエンジン111およびその中のコンポーネントの代表であり得、ロボット122は、さらに1もしくは複数のアクティビティ124を実行し、および/または1もしくは複数のドライバコンポーネント128および/または内部エンジン129を使用して1または複数のUIオートメーション126を提供する。
図2のソフトウェア230はまた、コンピューティングシステム200のためのデバイス205用のOSの代表であり得る。
【0039】
1または複数の実施形態によると、ソフトウェア230は、ハードウェア、ソフトウェア、またはハイブリッド実装に構成され得る。ソフトウェア230は、互いに動作可能な通信を行い、情報または指示を渡すためのモジュールで構成され得る。ソフトウェア230は、コンピューティングシステム200が追加の機能を含むことができるように、アプリケーション固有の処理またはその派生物を実行するためのカスタムモジュールをさらに含み得る。例えば、1または複数の実施形態によると、ソフトウェア230は、動作231、232、233、および234を可能にするためにプロセッサ210によって遂行または処理される情報、命令、コマンド、またはデータを格納するように構成され得る。
【0040】
例えば、
図2のソフトウェア230として実装された
図1のインターフェースエンジン111は、コンピューティングシステム200が、メニューの入力フィールドを介して1または複数の入力を受信し(231)、1または複数の入力に関連する1または複数のロボティックプロセスを決定し(232)、そして1または複数のロボティックプロセスに対応する1または複数の選択可能なリンクを含むリスト(例えば、メニューに関連して表示されるリスト)を表示する(233)ように、コンピューティングシステム200に特定の構成およびツーリングロボティックプロセスオートメーション方法を提供し得る。1または複数の選択可能なリンクのいずれかの選択は、1または複数のロボティックプロセスの対応する自動化されたプロセスを開始する(234)ことができることに留意されたい。
【0041】
さらに、ソフトウェア230のモジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタなどの既製の半導体、またはその他のディスクリートコンポーネントを含むハードウェア回路として、プログラム可能なハードウェアデバイス(例えば、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス)、グラフィックスプロセッシングユニットなどに実装され得る。ソフトウェア203のモジュールは、様々なタイプのプロセッサにより遂行されるためのソフトウェアに少なくとも部分的に実装され得る。1または複数の実施形態によると、特定された遂行可能コードのユニットは、例えば、オブジェクト、プロシージャ、ルーチン、サブルーチン、または関数として編成されていてもよいコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。特定されたモジュールの遂行可能は、論理的に結合されるとモジュールを構成するように、異なる位置に共に配置されたり、格納されたりする。遂行可能なコードのモジュールは、単一の命令、1または複数のデータ構造、1または複数のデータセット、複数の命令などであり、複数の異なるコードセグメント、異なるプログラム間、複数のメモリデバイス間などに分散され得る。動作データまたは機能データは、ソフトウェア230のモジュール内で特定され、ここで示されてもよく、適切な形態で具現化され、任意の適切なタイプのデータ構造内で組織化され得る。
【0042】
図2のアダプタ225、226、および227に関して、デバイス205は特に、入力/出力(I/O)アダプタ225、デバイスアダプタ226、および通信アダプタ227を含み得る。1または複数の実施形態によると、I/Oアダプタ225は、周波数分割多元接続(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、キーボード242、制御デバイス243など(例えば、カメラ、スピーカなど)の入/出力デバイスをシステムバス215に相互接続する。通信アダプタ226は、システムバス215を、外部ネットワークであり得るネットワーク250と相互接続し、デバイス205が他のそのようなデバイス(例えば、ローカルコンピューティングデバイス255、さらにはネットワーク260を介したリモートコンピューティングシステム256など)とデータを通信できるようにする。一実施形態では、アダプタ225、226、および227は、中間バスブリッジを介してシステムバス215に接続される1または複数のI/Oバスに接続され得る。ハードディスクコントローラ、ネットワークアダプタ、およびグラフィックアダプタなどの周辺機器を接続するのに適したI/Oバスは、典型的には、ペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)などの共通プロトコルを含む。
【0043】
ディスプレイ241の例は、限定されないが、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、投影ディスプレイ、4Kディスプレイ、高解像度(HD)ディスプレイ、Retina(著作権)ディスプレイ、面内スイッチング(IPS)ディスプレイなどを含み得る。ディスプレイ241は、入力/出力(I/O)のために、当業者に理解されるように、抵抗性、静電容量性、表面音響波(SAW)静電容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ、3次元(3D)タッチ、マルチ入力タッチ、またはマルチタッチディスプレイとして構成され得る。
【0044】
キーボード242と、コンピュータマウス、タッチパッド、タッチスクリーン、キーパッドなどの制御デバイス243とは、デバイス205への入力のために、システムバス215にさらに結合され得る。さらに、1または複数の入力は、それと通信している別のコンピューティングシステム(例えば、ローカルコンピューティングデバイス255および/またはリモートコンピューティングシステム256)を介して、リモートでコンピューティングシステム200に提供されてもよく、またはデバイス205が自律的に動作し得る。
【0045】
1または複数の実施形態によると、ソフトウェア230に関するデバイス205の機能はまた、インターフェースエンジン290の別個のインスタンスによって表されるように、ローカルコンピューティングデバイス255および/またはリモートコンピューティングシステム256に実装され得る。
【0046】
次に、
図3に目を向けると、1または複数の実施形態によるプロセスフロー300を例示するブロック図である。より詳細には、プロセスフロー300は、GUIに関して、それぞれのプログラミングとともに、入力データ、入力フィールド、メニュー、ロボティックプロセス、リスト、リンクなどを操作する、RPAアクセス技術を改善するための特定の構成およびツーリングロボティックプロセスオートメーション方法の実装例である。プロセスフロー300は、1または複数のプロセッサ(例えば、プロセッサ210)によって遂行される、
図1のインターフェースエンジン111および/または
図2のソフトウェア230の実装例とみなされ得る。説明を容易にするために、プロセスフロー300は、
図1のインターフェースエンジン111に関して説明される。
【0047】
プロセスフロー300は、ブロック320で始まり、ここで、インターフェースエンジン111が1または複数の入力を受信する。1または複数の実施形態によると、1または複数の入力は、メニューのスタートメニューボタンをホバーもしくはクリックすることによって、またはメニューの検索バーに検索用語を入力することによってなど、グラフィックユーザーインターフェースのメニューを介して受信され得る。1または複数の入力は、任意の値(初期化された変数またはリテラルなど)、任意の関数、任意のユーザーインタラクション(例えば、マウスクリック、カーソルアクション、ホバーアクション)、任意の単語、任意の用語、任意のフレーズ、および/または選択を識別するもしくは条件/パラメータ/設定を定義する任意の命令を含み得る。
【0048】
例では、インターフェースエンジン111は、OSと連携してGUIを提供する。GUIは、1または複数の入力フィールドを有するメニューを含む。メニューは、キーボード242または他の制御デバイス243によってナビゲートされ得る、GUIを通じてユーザーに提示されるオプションまたはコマンドのリストであり得る。実施形態では、メニューはOSのスタートメニューを含み、1または複数の入力フィールドはスタートメニューの検索バーを含む。さらに、1または複数の入力は、GUI内のメニューの1または複数の入力フィールドを介してインターフェースエンジン111に提供される。
【0049】
1または複数の入力フィールドは、ユーザーがGUIのメニューとインタラクションすることを可能にするメカニズムまたはUI要素である。1または複数の入力フィールドの例は、キーボード242を使用して1または複数の入力を提供するためのテキストフィールドを含む。他の例は、オプションボタン、ラジオボタン、スイッチボタン、または同様のグラフィカルコントロール要素を含む。
【0050】
ブロック340において、インターフェースエンジン111は、1または複数の入力に応答して、表示のための1または複数のロボティックプロセスを自動的に決定する。1または複数のロボティックプロセスは、本明細書で説明するように、ロボット122の例である。1または複数のロボティックプロセスを決定するために、インターフェースエンジン111は、1または複数の入力に基づいて(例えば、環境100内で)検索動作を遂行する。検索動作は、OSのネイティブ検索機能であり得る。例えば、デバイス205を操作するユーザーがソフトウェア230に入力(例えば、1または複数の入力)を提出すると、ソフトウェア230は、それに関連する値および/またはインデックスに基づいて、システムメモリ220内の1または複数のロボティックプロセスの検索を実行する。一致が発見されると、バッファは、1または複数のロボティックプロセスへのポインタのポピュレーション(populated)が行われ得る。
【0051】
ブロック360において、インターフェースエンジン111は、1または複数のロボティックプロセスに対応する1または複数の選択可能なリンクを含むリストを生成する。リストは、1または複数のロボティックプロセスへの迅速なアクセスを提供する。ブロック380において、インターフェースエンジン111は、メニューと関連してリストを表示する。リストは、メニューに関連してポップアップフレームによって表示され得る。1または複数の実施形態によると、ポップアップフレームは、特定の選択なしに、自動化によって新しいウィンドウが開いてGUIをオーバーレイするポップアップウィンドウタイプであり得る。ポップアップウィンドウタイプは、メニューとは別個のものであり得る。1または複数の実施形態によると、ポップアップフレームは、1もしくは複数のセクションまたはサブセクションを含み得、そのうちの1つはリストを提供する。
【0052】
1または複数の実施形態によると、リストは、セクションまたはサブセクションのようなメニューに表示され得る。メニューのサブセクションは、メニュー自体の中のポップアップフレームの反復とし得る。さらに、1または複数の実施形態によると、ポップアップフレームはまた、リストがメニュー内またはメニューの上に自動的に現れるポップアップメニュー(例えば、スタートメニュー、検索バーなどから伸びる)タイプであり得る。
【0053】
1または複数の実施形態によると、リストは、(例えば、ポインタと関連付けられることを介して)1または複数のロボティックプロセスに対応する1または複数の選択可能なリンクを含み得る。すなわち、各選択可能なリンクは、特定のロボティックプロセスへの参照であり、それは、クリック、タップなどによってたどることができる。1または複数の選択可能なリンクの例は、RPAアイコン、ショートカット、および/またはハイパーリンクされたテキストを含むが、これらに限定されない。1または複数の選択可能なリンクのいずれかの選択は、1または複数のロボティックプロセスの対応する自動化されたプロセスを開始することに留意されたい。場合によっては、リストの表示は、自動化への容易なアクセスのためのオートメーションエクスペリエンスまたはプロセスのピンと考えられ得る。
【0054】
次に
図4~
図6に目を向けると、インターフェースエンジン111の動作が、1または複数の実施形態に従って説明される。
図4は、1または複数の実施形態によるプロセスフロー400を例示するブロック図を示す。より詳細には、プロセスフロー400は、インターフェースエンジン111による特定構成およびツーリングロボティックプロセスオートメーション方法の実装例である。
【0055】
プロセスフロー400は、オペレーティングシステムのGUI(例えば、検索バーおよび/またはスタートメニュー)への統合RPAに関連する。プロセスフロー400は、ブロック405で始まり、ここで、インターフェースエンジン111は、オペレーティングシステムとの初期バックグラウンド統合を遂行する。この点に関して、インターフェースエンジン111は、検索バーおよび/またはスタートメニューを1または複数のロボット122に自動的に結合させる。次に、インターフェースエンジン111は、オペレーティングシステム内のユーザーアクティビティを積極的に監視し得る(ブロック410)。ユーザーアクティビティに関して、インターフェースエンジンは、少なくとも1つのRPAアイコンまたはショートカットがユーザーによるアクセスを容易にするためにGUIに自動的にピン留めされる、オートメーションプロセスピニングを遂行し得る。
【0056】
したがって、ブロック415において、インターフェースエンジン111は、検索バーへのマウスによるクリックを検出する。ブロック425において、インターフェースエンジン111は、検索バーを通して入力を受信する。入力は、自動化されたプロセス(例えば、1または複数のロボット122)を検索するための単語の入力であり得る。
【0057】
ブロック450で、インターフェースエンジン111は、その単語に関する自動判定(例えば、検索動作)を遂行する。例えば、オペレーティングシステムの検索バーで単語検索が受信されるたびに、検索された単語に関連するフォルダ、ドキュメント、およびベストRPAマッチを表示するポップアップフレームを表示し得る。ポップアップウィンドウ上の他のセクションに加えて、サブセクションを構成して、単語に関連する自動化されたプロセス(例えば、1または複数のロボット122)のリストを表示することができる。ブロック470では、インターフェースエンジン111は、ブロック450の決定に関してポップアップフレームを提示する。ポップアップフレームは、少なくとも、1または複数のロボティックプロセスへの迅速なアクセスを提供するためにリストを表示する。
【0058】
図5に目を向けると、1または複数の実施形態によるユーザーインターフェース500が示される。ユーザーインターフェース500は、その中に検索用語511を有する検索バー510を含むスタートメニュー501を含む。ユーザーインターフェース500は、リスト525、カテゴリメニュー530、およびその中にオプションメニュー540を有するプロセスパネル535を含むポップアップウィンドウ520を含む。図示のように、1または複数の実施形態によると、リスト525は、スタートメニュー501とは別のポップアップウィンドウ520によって表示され得る。
【0059】
動作において、インターフェース500は、ユーザーが、検索用語511(例えば、プロセス(processA))によって、特定の自動化されたプロセス(例えば、ロボティックプロセスA)にアクセスするために検索することを示す。検索用語511が検索バー510に入力されると、ポップアップウィンドウ520が提供されて、リスト525およびプロセスパネル535(リスト525からのベストマッチを提示する)を、ベストマッチの何回の実行が発生したかに関する情報、ベストマッチの最後の実行、およびプロセスの特定の属性を示す他のメタデータ(例えば、ベストマッチを誰が実行したか)とともに表示する。カテゴリメニュー530は、その中のカテゴリの1つを選択することによって、関連するフォルダ、ドキュメント、および自動化されたプロセスを視覚化するメカニズムを提供する(例えば、図示のように「すべて(All)」カテゴリが選択される)。1または複数の実施形態によると、ポップアップウィンドウ520は、インターフェースエンジン111が他のシステム、環境、および/またはデータベース(例えば、ロボットトレイ、オーケストレータソフトウェア、オートメーションハブ、RPAマーケットプレイス、これらはウェブと並行して別の他のパートナーシステムと共に)とインタラクションした結果を示す「ウェブ検索(search the web)」オプションも含み得る。オプションメニュー540は、実行ピン、ショートカットの作成、プロパティの編集、および共有など、提示された自動化されたプロセスとインタラクションする少なくとも1つのメカニズムを提供する(例えば、「実行(run)」オプションは、ユーザーがスタートメニュー501からロボティックプロセスAを直接開始することを可能にする)。1または複数の技術的効果、利点、および利益によると、インターフェース500は、RPAをスタートメニュー501に統合(例えば、より具体的には、リスト525のプロセスをミラーリング)し、ユーザーに自動化への容易なアクセスを提供する。
【0060】
ブロック475で、インターフェースエンジン111は、リストから自動化されたプロセスの選択を示すポップアップフレーム内の入力を受信する。例えば、ユーザーは、オプションパネル540内のロボティックプロセスAのアイコンをクリックするか、またはポップアップウィンドウ520内のサブセクションの1つでリスト525からクリックできる。
【0061】
ブロック480において、インターフェースエンジン111は、ブロック475の入力に基づいて自動化されたプロセス(例えば、ロボティックプロセスA)を開始する。一例では、ロボティックプロセスAは、アプリケーションを自動的に開き、アプリケーションのGUI上でユーザーアクション(例えば、ユーザーアクションを模倣する)を実行するために自動的に遂行する。
【0062】
ブロック490において、インターフェースエンジン111は、オートメーションプロセスピニングを遂行する。オートメーションプロセスピニングは、一般に、自動化されたプロセスを開始/実行することに応答して、自動化されたプロセス(例えば、ロボティックプロセスA)に対応するアイコンを固定する。1または複数の実施形態によると、インターフェースエンジン111は、自動化されたプロセスが開始された回数をしきい値回数に対して追跡し得る。これに関して、インターフェースエンジンは使用頻度を決定し、そして自動化されたプロセスが十分な頻度で(例えば、しきい値に基づいて)遂行されると、自動化しているピンニング(pinning)が発生する。一例では、しきい値は、1~50の範囲から選択される任意の整数、例えば、5とすることができる。
【0063】
ブロック495では、インターフェースエンジン111は、GUI内のオートメーションプロセスピニングに基づくピンを提供する。
図6に目を向けると、1または複数の実施形態によるユーザーインターフェース600が示される。ユーザーインターフェース600は、リストがポップアップメニュータイプ内に自動的に表示されるポップアップメニュータイプを含み得る(例えば、第1のリスト630)。したがって、示されるように、インターフェース600は、スタートボタン610を有するスタートメニュー601と、第1のリスト630およびサブリスト650を含むサブセクションを有するポップアップメニュータイプとを含む。第1のリスト630は、自動化されたプロセスおよびアプリケーションを可視化する。
【0064】
動作中、インターフェース600は、ロボティックプロセスA(roboticprocessA)が自動的に(使用クリックに応答して)開始ボタン610を選択することを示す。この選択により、ポップアップメニュータイプが表示される。次いで、ロボティックプロセスAは、「AppSuite1」を自動的に選択して、サブリスト650を表示させる。次に、ロボティックプロセスAは、サブリスト650のRPAタイルを自動的に選択し、「AppSuite1」内の自動化されたプロセスを開始および遂行する。
【0065】
1または複数の実施形態によると、アプリケーションのメニューおよび検索バーがRPAピン(例えば、
図3のブロック390および395によって生成される)を示すように、インターフェースエンジン111による自動化統合は、任意のアプリケーションに拡張され得る。さらに、1または複数の実施形態によると、インターフェースエンジン111は、自動化可能なタスク(例えば、オペレーティングシステムまたはアプリケーション内のユーザーによるアクション)を特定/記録するタスクマイナー(task miner)を含み得る。一例として、タスクマイナーは、オペレーティングシステムまたはアプリケーションのGUIとのすべてのユーザーインタラクションを記録し、反復タスクを特定することができる。タスクマイナーは、次に、特定された反復タスクを自動化することを、ポップアップフレームを介してユーザーに推奨し得る。別の例では、タスクマイナーは、ユーザーがいつ、どこで記録を開始/終了する(例えば、月末締め)かを定義できるカスタマイズされたタスク記録とすることができる。
【0066】
1または複数の技術的効果、利点、およびメリットによれば、インターフェースエンジン111は、RPAのための容易なアクセス、スタートメニューおよび/または検索バーからのユーザーへのオートメーションショートカット、ならびにカスタマイズ可能なタスク記録を提供する。
【0067】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態による、装置、システム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、指定された論理機能(複数可)を実装するための1または複数の遂行可能な命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替実装では、ブロックに記載されている機能は、図面のフローチャートおよびブロック図に記載されている順序とは異なる場合がある。例えば、連続して表示されている2つのブロックは、関係する機能に応じて、実際には実質的に同時に遂行され得、またはブロックが逆の順序で遂行され得る。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能もしくは活動を実行するか、または特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特別な目的のハードウェアに基づくシステムによって実装され得ることに留意されたい。
【0068】
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。例えば、本明細書に記載されている方法およびプロセスのいずれかでは、記載されているステップは任意の順序で順不同で実行され得、明示的に記載または表示されていないサブステップが実行され得る。「AまたはB」を参照して使用する場合は、A、B、またはAおよびBを含む場合があり、これはより長い羅列にも同様に及び得る。X/Yという表記を使用する場合、当該表記は、XまたはYを含み得る。あるいは、X/Yという表記を使用する場合、当該表記は、XおよびYを含み得る。X/Yの表記は、上記と同じ論理により、より長い羅列にも同様に当てはまり得る。また、「結合されている」または「動作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、1または複数の実施形態で使用されてもよい。
【0069】
さらに、本明細書に記載された方法およびプロセスは、コンピュータまたはプロセッサによる遂行のためにコンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、および/またはファームウェア(例えば、コンピュータプログラム製品)で実装され得る。すなわち、コンピュータプログラム製品は、コントローラ、プロセッサなどに本発明の態様を実行させるためのコンピュータ読み取り可能プログラム命令をその上に有するコンピュータ読み取り可能なストレージ媒体(または複数の媒体)を含み得る。
【0070】
コンピュータ読み取り可能なストレージ媒体は、コンピュータ読み取り可能プログラム命令を保持および格納し得る有形のデバイスであり得る。コンピュータ読み取り可能なストレージ媒体は、例えば、限定されないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述の任意の適切な組み合わせであり得る。本明細書で使用されるコンピュータ読み取り可能なストレージ媒体は、それ自体が一時的な信号であると解釈されるものではなく、例えば、電波またはその他の自由に伝播する電磁波、導波管またはその他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を介して伝送される電気信号である。コンピュータ読み取り可能なストレージ媒体の例は、限定されないが、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、コンパクトディスク(CD)およびデジタルバーサタイルディスク(DVD)などの光媒体、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ならびにメモリースティックを含む。
【0071】
本明細書に記載されたコンピュータ読み取り可能なプログラム命令は、例えばネットワーク通信などの接続を介して、装置、デバイス、コンピュータ、または外部ストレージからそれぞれのコントローラ、プロセッサなどに通信および/またはダウンロードされ得る。本発明の動作を実行するためのコンピュータ読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む1もしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであり得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、電子回路をパーソナライズするコンピュータ読み取り可能なプログラム命令の状態情報を利用して、コンピュータ読み取り可能なプログラム命令を遂行し得る。
【0072】
本明細書で使用される用語は、特定の実施形態を説明するためだけのものであり、限定することを意図しない。本明細書では、単数形の「a」、「an」、および「the」は、文脈が明確に示す場合を除き、複数形も含むことを意図する。本明細書で使用される「含む(comprises)」および/または「含む(comprising,)」という用語は、記載された特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を特定するが、1または複数の他の特徴、整数、ステップ、動作、要素コンポーネント、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されるであろう。
【0073】
本明細書の様々な実施形態の説明は、説明のために提示されたものであるが、開示された実施形態を網羅的に、またはそれに限定することを意図したものではない。当業者であれば、記載された実施形態の範囲および精神から逸脱することなく、多くの修正および変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実用化もしくは技術的改善を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解できるように選択されたものである。
【国際調査報告】