JP2023544463A - Rpaデータを表わすための企業プロセスグラフ - Google Patents
Rpaデータを表わすための企業プロセスグラフ Download PDFInfo
- Publication number
- JP2023544463A JP2023544463A JP2021572652A JP2021572652A JP2023544463A JP 2023544463 A JP2023544463 A JP 2023544463A JP 2021572652 A JP2021572652 A JP 2021572652A JP 2021572652 A JP2021572652 A JP 2021572652A JP 2023544463 A JP2023544463 A JP 2023544463A
- Authority
- JP
- Japan
- Prior art keywords
- generating
- enterprise
- graph
- rpa
- computer
- 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.)
- Withdrawn
Links
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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
企業プロセスグラフを生成するためのシステム及び方法が提供される。複数の発見技術を使用して取得されるRPA(ロボティックプロセスオートメーション)の実装に関するプロセスデータのセットが受信される。RPAの実装を表わす企業プロセスグラフは、受信されたプロセスデータのセットに基づいて生成される。
Description
本発明は、一般に、RPA(ロボティックプロセスオートメーション)に関し、より詳細には、複数の発見技術を使用して取得されるRPAの実装に関連するプロセスデータの統一表示を提供する企業プロセスグラフに関する。
プロセスは、様々なサービスを提供するために1つ以上のコンピュータによって遂行されるアクティビティのシーケンスから構成される。RPA(ロボティックプロセスオートメーション)では、1つ以上のRPAロボットが企業のためのプロセスを自動的に遂行するように実装される。一般に、RPAの実装に関連するデータは、例えばプロセスマイニング、タスクマイニング、タスク捕捉、プロセス発見などの幾つかの発見技術を実行することによって収集される。従来、そのような技術の結果は、RPAを評価するために個別に分析される。しかしながら、そのような技術の結果の個々の分析は、企業のプロセス全体の統合された理解をもたらさない。
1つ以上の実施形態によれば、企業プロセスグラフを生成するためのシステム及び方法が提供される。複数の発見技術を使用して取得されるRPA(ロボティックプロセスオートメーション)の実装に関するプロセスデータのセットが受信される。RPAの実装を表わす企業プロセスグラフは、受信されたプロセスデータのセットに基づいて生成される。
一実施形態において、複数の発見技術は、プロセスマイニング、プロセス発見、タスクマイニング、又は、タスク捕捉のうちの少なくとも1つを含む。一実施形態では、プロセスマイニング、プロセス発見、タスクマイニング、又は、タスク捕捉のうちの少なくとも1つが実行される。
一実施形態では、受信されたプロセスデータのセットに基づいて複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットが生成される。企業プロセスグラフは、1つ以上のイベントテーブルの生成されたセットに基づいて生成される。
一実施形態において、複数の発見技術のそれぞれに関する1つ以上のイベントテーブルのセットは、受信したプロセスデータのセットから未加工テーブルを抽出して未加工テーブルのエントリを正規化することによって生成される。
一実施形態において、企業プロセスグラフは、1つ以上のイベントテーブルの生成されたセットに関してグラフを生成してグラフのうちの2つ以上を接続することによって生成される。一実施形態において、企業プロセスグラフは、1つ以上のイベントテーブルの生成されたセットに基づいてエッジテーブルを生成するとともにエッジテーブルに基づいて企業プロセスグラフを生成することによって生成される。
一実施形態において、企業プロセスグラフは、企業プロセスグラフを表示すること、送信すること、又は、記憶することのうちの少なくとも1つによって出力される。他の実施形態では、企業プロセスグラフをフィルタリングしてフィルタリングされた企業プロセスグラフを表示することによって、企業プロセスグラフを出力することができる。
本発明のこれら及び他の利点は、以下の詳細な説明及び添付の図面を参照することによって当業者には明らかになる。
ロボティックプロセスオートメーション(RPA)は、ワークフロー及びプロセスを自動化するために使用される。図1は、1つ以上の実施形態に係る、RPAシステム100のアーキテクチャ図である。図1に示されるように、RPAシステム100は、開発者が自動化プロセスを設計できるようにするためのデザイナ102を含む。より具体的には、デザイナ102は、ユーザー(例えば管理者)によってプロセスにおけるアクティビティを実行するためのRPAプロセス及びロボットの開発及びデプロイメントを容易にする。デザイナ102は、アプリケーション統合のためのソリューション、並びに、サードパーティアプリケーション、管理情報技術(IT)タスク、及び、コンタクトセンター運用のためのビジネスプロセスの自動化をもたらすことができる。デザイナ102の一実施形態の1つの市販例は、UiPath Studio(商標)である。
ルールベースのプロセスの自動化を設計する際、開発者は、遂行順序、及び、本明細書中で「アクティビティ」と定義されるプロセスで開発されるカスタムセットのステップ間の関係を制御する。各アクティビティは、ボタンのクリック、ファイルの読み取り、ログパネルへの書き込みなどのアクションを含むことができる。幾つかの実施形態では、プロセスがネストされ又は埋め込まれてもよい。
幾つかのタイプのプロセスは、シーケンス、フローチャート、有限状態機械(FSM)、及び/又は、グローバル例外ハンドラを含んでもよいが、これらに限定されない。シーケンスは、プロセスを雑然とさせることなく1つのアクティビティから他のアクティビティへの流れを可能にする線形プロセスに特に適し得る。フローチャートは、複数の分岐論理演算子を介してより多様な態様で決定の統合及びアクティビティの接続を可能にする、より複雑なビジネスロジックに特に適し得る。FSMは、大規模なワークフローに特に適し得る。FSMは、条件(すなわち、遷移)又はアクティビティによってトリガされる有限数の状態をそれらの遂行において使用することができる。グローバル例外ハンドラは、遂行エラーに遭遇したときのワークフローの挙動を決定し、プロセスをデバッグするのに特に適し得る。
デザイナ102においてプロセスが開発された時点で、ビジネスプロセスの遂行がコンダクタ104によって編成され、コンダクタ104は、デザイナ102において開発されたプロセスを遂行する1つ以上のロボット106を編成する。コンダクタ104の一実施形態の1つの市販例は、UiPath Orchestrator(商標)である。コンダクタ220は、RPA環境におけるリソースの作成、監視、デプロイメント、及び、セキュリティの管理を容易にする。一例では、コンダクタ104がクラウドサービスによって実装されるウェブアプリケーションである。また、コンダクタ104は、サードパーティソリューション及びアプリケーションとの統合ポイントとして機能することもできる。
コンダクタ104は、集中ポイントのセットからロボット106を接続して遂行することによって、RPAロボット106のフリートを管理することができる。コンダクタ104は、プロビジョニング、デプロイメント、コンフィギュレーション、キューイング、監視、ロギング、相互接続性の提供、スケジューリング、ジョブ管理、イベンティング、資格情報管理、監査操作、監査データの収集、パッケージ作成、及び/又は、パッケージのバージョニングを含むがこれらに限定されない様々な機能を有することができる。また、コンダクタ104は、外部ソース(例えば、ウェブフック)に対してイベントを露出させることができるようにもする。プロビジョニングは、ロボット106とコンダクタ104(例えば、ウェブアプリケーション)との間の接続の作成及び維持を含むことができる。デプロイメントは、遂行のために割り当てられたロボット106へのパッケージバージョンの正しい配信を保証することを含むことができる。コンフィギュレーションは、ロボット環境及びプロセス構成の維持及び配信を含むことができる。キューイングは、キュー及びキュー項目の管理を行なうことを含むことができる。監視は、ロボット識別データを追跡し、ユーザー権限を維持することを含むことができる。ロギングは、ログ及び操作データをデータベース(例えば、SQL又はElasticデータベースなどのブロブストレージ又はキュー媒体と結合されるリレーショナル及び非リレーショナルストア)及び/又は他の記憶機構(例えば、大規模なデータセットを記憶して迅速に照会できる能力を与えるElasticSearch(登録商標)に記憶してインデックス付けすることを含むことができる。コンダクタ104は、サードパーティソリューション及び/又はアプリケーションのための通信の集中ポイントとして作用することによって相互接続性をもたらすことができる。
ロボット106は、デザイナ102で構築されたプロセスを実行する遂行エージェントである。ロボット106の幾つかの実施形態の一市販例は、UiPath Robots(商標)である。ロボット106のタイプとしては、アテンディッドロボット108及びアンアテンディッドロボット110を挙げることができるが、これらに限定されない。他の典型的なタイプのロボット106は、Studio,StudioX,TestAutomationなどを含む。アテンディッドロボット108は、ユーザー又はユーザーイベントによってトリガされ、同じコンピューティングシステム上で人間のユーザーと一緒に動作する。アテンディッドロボット108は、人間のユーザーが様々なタスクを達成するのを助けることができ、人間のユーザーによって及び/又はユーザーイベントによって直接にトリガされ得る。アテンディッドロボットの場合、コンダクタ104は、集中プロセスデプロイメント及びロギング媒体をもたらすことができる。特定の実施形態において、アテンディッドロボット108は、「ロボットトレイ」から又はウェブアプリケーションにおけるコマンドプロンプトからのみ起動することができる。アンアテンディッドロボット110は、仮想環境において無人モードで動作し、例えば大量のバックエンドプロセスなどのために、多くのプロセスを自動化するために使用され得る。アテンディッドロボット108及びアンアテンディッドロボット110はいずれも、遠隔遂行、監視、スケジューリング、及び、作業キューのためのサポートの提供に関与することができる。アテンディッドロボット及びアンアテンディッドロボットはいずれも、メインフレーム、ウェブアプリケーション、VM、企業アプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって製造されたもの)、及び、コンピューティングシステムアプリケーション(例えば、デスクトップ及びラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むがこれらに限定されない様々なシステム及びアプリケーションを自動化することができる。
幾つかの実施形態において、ロボット106は、ペルソナによって設定され得る、又は、ポリシー(例えば、グループポリシーオブジェクト)を介して他の製品もしくはコントローラによって自動的に設置され得る。他の実施形態において、ロボット106は、SYSPREP(システム準備)を介して画像上で、ドッカを介して又はKubernetesを介して設置され得る。結果として、そのようなロボット106は、ローカルシステムアカウント、ローカルシステム、ローカルマシンなどの下でインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権利を有することができる。幾つかの実施形態では、ユーザーと同じ権利を有するユーザーモードでロボット106を設置することができ、ユーザーモード下では所定のロボット106が設置されてしまっている。
幾つかの実施形態におけるロボット106は、それぞれが特定のタスク専用である幾つかのコンポーネントに分割される。幾つかの実施形態におけるロボットコンポーネントは、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、及び、コマンドラインを含むが、これらに限定されない。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理及び監視するとともに、コンダクタ104と遂行ホスト(すなわち、ロボット106が遂行されるコンピューティングシステム)との間のプロキシとしての機能を果たす。これらのサービスは、ロボット106のための資格情報で信頼され、この資格情報を管理する。コンソールアプリケーションは、ローカルシステムの下でSCMによって起動される。幾つかの実施形態におけるユーザーモードロボットサービスは、Windows(登録商標)セッションを管理及び監視するとともに、コンダクタ104と遂行ホストとの間のプロキシとしての機能を果たす。ユーザーモードロボットサービスは、ロボット106のための資格情報で信頼されてこの資格情報を管理することができる。SCM管理ロボットサービスがインストールされなければ、Windows(登録商標)アプリケーションを自動的に起動することができる。エグゼキュータは、Windows(登録商標)セッション下で所定のジョブを実行することができ(例えば、エグゼキュータはワークフローを遂行することができる)、モニタごとのドット/インチ(DPI)設定を認識することができる。エージェントは、システムトレイウィンドウで利用可能なジョブを表示するWindows(登録商標)Presentation Foundation(WPF)アプリケーションであってもよい。エージェントは、サービスのクライアントであってもよい。エージェントは、ジョブを開始、停止、一時停止、又は、再開して、設定を変更するように要求することができる。コマンドラインは、サービスのクライアントであり、ジョブを開始するように要求することができるとともにジョブの出力を待つコンソールアプリケーションである。ロボットコンポーネントの分割は、開発者を助け、ユーザーをサポートするとともに、各ロボットコンポーネントが遂行しているものをコンピューティングシステムがより容易に実行、識別、及び、追跡できるようにし得る。例えば、エグゼキュータ及びサービスに関して異なるファイアウォールルールを設定するなど、ロボットコンポーネントごとに特別な挙動を構成することができる。更なる例として、エグゼキュータは、幾つかの実施形態ではモニタごとのDPI設定を認識することができ、その結果、ワークフローは、それらが作成されたコンピューティングシステムのコンフィギュレーションに関係なく、任意のDPIで遂行することができる。
図2は、1つ以上の実施形態に係るRPAシステム200を示す。RPAシステム200は、図1のRPAシステム100であってもよく又はRPAシステム100の一部であってもよい。「クライアント側」、「サーバ側」、又は、その両方は、本発明の範囲から逸脱することなく、任意の所望の数のコンピューティングシステムを含むことができることに留意すべきである。
この実施形態におけるクライアント側に示されるように、コンピューティングシステム202は、1つ以上のエグゼキュータ204、エージェント206、及び、デザイナ208を含む。他の実施形態において、デザイナ208は、同じコンピューティングシステム202上で実行されていなくてもよい。エグゼキュータ204(前述のようにロボットコンポーネントであってもよい)はプロセスを実行し、幾つかの実施形態では、複数のビジネスプロセスが同時に実行されてもよい。この例において、エージェント206(例えば、Windows(登録商標)サービス)は、エグゼキュータ204を管理するための単一の接続ポイントである。
幾つかの実施形態において、ロボットは、機械名とユーザー名との間の関連付けを表わす。ロボットは、複数のエグゼキュータを同時に管理することができる。同時に実行される複数のインタラクティブなセッション(例えば、Windows(登録商標)Server2019)をサポートするコンピューティングシステムでは、複数のロボットがそれぞれ固有のユーザー名を使用して別々のWindows(登録商標)セッションで同時に(例えば、高密度(HD)環境)実行していてもよい。
また、エージェント206は、ロボットの状態を送信し(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信し)、遂行されるべきパッケージの必要なバージョンをダウンロードすることにも関与する。エージェント206とコンダクタ212との間の通信は、幾つかの実施形態ではエージェント206によって開始される。通知シナリオの例において、エージェント206は、ロボットにコマンド(例えば、始動、停止など)を送信するためにコンダクタ212によって後で使用されるWebSocketチャネルを開くことができる。
この実施形態においてサーバ側に示されるように、プレゼンテーション層は、ウェブアプリケーション214と、オープンデータプロトコル(OData)表象状態転送(REST)アプリケーションプログラミングインターフェース(API)エンドポイント216と、通知監視API218とを備える。サーバ側のサービス層は、API実装/ビジネスロジック220を含む。サーバ側の永続層は、データベースサーバ222とインデクササーバ224とを含む。コンダクタ212は、ウェブアプリケーション214、OData REST APIエンドポイント216、通知監視API218、及び、API実装/ビジネスロジック220を含む。
様々な実施形態において、コンダクタ212のインターフェースにおいてユーザーが(例えば、ブラウザ210を介して)実行する殆どのアクションは、様々なAPIを呼び出すことによって実行される。そのようなアクションは、ロボット上のジョブの開始、キュー内のデータの追加/削除、無人で実行するようにジョブをスケジューリングすること、プロセス、ライブラリ、又は、ジョブのためのCRUD(作成、読み取り、更新、削除)操作などを含むことができるが、これらに限定されない。ウェブアプリケーション214は、サーバプラットフォームのビジュアル層である。この実施形態において、ウェブアプリケーション214は、ハイパーテキストマークアップ言語(HTML)及びJavaScript(JS)を使用する。しかしながら、本発明の範囲から逸脱することなく、任意の所望のマークアップ言語、スクリプト言語、又は、任意の他のフォーマットを使用することができる。ユーザーは、コンダクタ212を制御するための様々なアクションを実行するために、この実施形態ではブラウザ210を介してウェブアプリケーション214からのウェブページと対話する。例えば、ユーザーは、(例えば、フォルダにより)ロボットグループを作成し、ロボットにパッケージを割り当て、ロボットごと及び/又はプロセスごとにログを分析し、ロボットを起動及び停止することなどができる。
ウェブアプリケーション214に加えて、コンダクタ212は、OData REST APIエンドポイント216を露出させるサービス層も含む(又は、本発明の範囲から逸脱することなく他のエンドポイントが実装されてもよい)。REST APIは、ウェブアプリケーション214及びエージェント206の両方によって消費される。エージェント206は、この例示的な構成ではクライアントコンピュータ上の1つ以上のロボットのスーパーバイザーである。
この実施形態におけるREST APIは、コンフィギュレーション、ロギング、監視、及び、キューイング機能をカバーする。幾つかの実施形態では、コンフィギュレーションRESTエンドポイントを使用して、アプリケーションユーザー、権限、ロボット、アセット、リリース、及び、環境を定義及び構成することができる。RESTエンドポイントのロギングは、例えば、エラー、ロボットによって送信された明示的なメッセージ、及び、他の環境固有の情報などの異なる情報をロギングするのに有用であり得る。異なる情報のロギングは、ロボットによって実行されるプロセスに関するシステムプロパティをロギングすること、及び/又は、ジョブ遂行のユーザー固有パラメータ機能をロギング及び収集することを含むことができる。開始ジョブコマンドがコンダクタ212内で使用される場合に遂行されるべきパッケージバージョンを照会するために、デプロイメントRESTエンドポイントがロボットによって使用されてもよい。RESTエンドポイントをキューイングすることは、キューにデータを追加すること、キューからトランザクションを取得すること、トランザクションの状態を設定することなど、キュー及びキュー項目の管理に関与できる。RESTエンドポイントの監視は、ウェブアプリケーション214及びエージェント206を監視する。通知監視API218は、エージェント206の登録、エージェント206への構成設定の配信、並びに、サーバ及びエージェント206からの通知の送信/受信のために使用されるRESTエンドポイントであってもよい。また、通知監視API218は、幾つかの実施形態では、WebSocket通信を使用してもよい。
サーバ側の永続層は、この例示的な実施形態におけるサーバの対、すなわち、データベースサーバ222(例えば、SQLサーバ)及びインデクササーバ224を含む。この実施形態におけるデータベースサーバ222は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を記憶する。この情報は、幾つかの実施形態ではウェブアプリケーション214を介して管理される。また、データベースサーバ222は、キュー及びキュー項目を管理することもできる。また、キュー及びキュー項目は、例えば、Kafkaなどのネイティブキューサービスによって管理されてもよい。幾つかの実施形態において、データベースサーバ222は、(インデクササーバ224に加えて又はインデクササーバ224の代わりに)ロボットによってロギングされるメッセージを記憶することができる。インデクササーバ224は、幾つかの実施形態ではオプションであり、ロボットによってロギングされる情報を記憶し、インデックス付けする。特定の実施形態において、インデクササーバ224は、構成設定を通じて無効にされてもよい。幾つかの実施形態において、インデクササーバ224は、オープンソースプロジェクトのフルテキスト検索エンジンであるElasticSearch(登録商標)又はクラウドに実装される完全管理データウェアハウスであるSnowflakeを使用する。ロボットによって(例えば、ログメッセージ又は行書き込みのようなアクティビティを使用して)ロギングされるメッセージは、ロギングRESTエンドポイントを介してインデクササーバ224に送信されてもよく、そこで、それらのメッセージは将来の利用のためにインデックス付けされる。メッセージは、リアルタイムのログ処理、ほぼリアルタイムのログ処理、又は、オフラインのログ処理によってロギングされてもよい。
図3は、1つ以上の実施形態に係る、RPAシステム300の簡略化された配備例を示すアーキテクチャ図である。幾つかの実施形態において、RPAシステム300は、図1及び図2のそれぞれのRPAシステム100及び/又は200であってもよく、RPAシステム100及び/又は200を含んでもよい。RPAシステム300は、ロボットを実行する複数のクライアントコンピューティングシステム302を含む。コンピューティングシステム302は、そこで実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム304と通信することができる。更に、コンダクタコンピューティングシステム304は、データベースサーバ306及び随意的なインデクササーバ308と通信する。図2及び図3に関して、これらの実施形態ではウェブアプリケーション又はサービス(例えばクラウドサービス)が使用されるが、本発明の範囲から逸脱することなく任意の適切なクライアント/サーバソフトウェアを使用できることに留意すべきである。例えば、コンダクタは、クライアントコンピューティングシステム上の非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバ側アプリケーションを実行することができる。
一実施形態において、図1のRPAシステム100、図2のRPAシステム200、及び/又は、図のRPAシステム300は、RPAロボットのクラウドベースの管理のために実装されてもよい。そのようなRPAロボットのクラウドベースの管理により、RPAをサービスとしてのソフトウェア(SaaS)として提供することができる。したがって、図1のコンダクタ104、図2のコンダクタ212、及び/又は、図3のコンダクタ304は、例えば、RPAロボットを作成する、RPAロボットを提供する、RPAロボットに関するタスクをスケジューリングする、RPAロボットを停止する、又は、RPAロボットを管理するための任意の他のオーケストレーションタスクを実行するべく、RPAロボットのクラウドベースの管理のためにクラウドに実装される。
図4は、1つ以上の実施形態に係る、RPAロボットのクラウドベースの管理を実施するためのクラウドRPAシステム400のアーキテクチャ図を示す。クラウドRPAシステム400は、クラウドコンピューティング環境402及びローカルコンピューティング環境404を備える。ローカルコンピューティング環境404は、例えば企業、会社などのユーザー又は任意の他の1つ又は複数のエンティティのローカルネットワークアーキテクチャを表わす。ローカルコンピューティング環境404はローカルネットワーク406を含む。クラウドコンピューティング環境402は、ローカルコンピューティング環境404においてユーザーから離れた作業負荷のサービス又は処理を提供するクラウドコンピューティングネットワークアーキテクチャを表わす。クラウドコンピューティング環境402は、インターネット414、ユーザーによって管理(又は制御)されてクラウドプラットフォームプロバイダによってホストされるクラウドネットワークを表わすユーザークラウドネットワーク418、及び、クラウドサービスプロバイダによって管理されてクラウドプラットフォームプロバイダによってホストされるクラウドネットワークを表わすクラウドサービスプロバイダクラウドネットワーク420を含む、様々なクラウドネットワークを備える。クラウドサービスプロバイダは、クラウドを介してサービス(例えば、RPA)を提供するエンティティである。クラウドプラットフォームプロバイダは、クラウドコンピューティングインフラストラクチャを維持するエンティティである。ローカルコンピューティング環境404のローカルネットワーク406は、ローカルコンピューティング環境404とクラウドコンピューティング環境402との間の通信を容易にするために、クラウドコンピューティング環境402のインターネット414に通信可能に結合される。
図4に示されるように、クラウドオーケストレータ430は、RPAロボットのクラウドベースの管理を可能にするためにクラウドコンピューティング環境402に実装される。特に、クラウドオーケストレータ430は、クラウドサービスプロバイダによって管理されるとともに、クラウドコンピューティング環境402内のクラウドサービスプロバイダクラウドネットワーク420内でホストされる。一実施形態において、クラウドサービスプロバイダは、ローカルコンピューティング環境404内のユーザーにRPAを提供する。
クラウドオーケストレータ430は、クラウドコンピューティング環境402内のRPAロボットを管理する。特に、ユーザーは、ローカルコンピューティング環境404内のコンピューティングデバイス412と対話して、RPAロボットを管理するための命令をクラウドコンピューティング環境402内のクラウドオーケストレータ430に送信する。或いは、ユーザーは、ローカルコンピューティング環境404内のコンピューティングデバイス412と対話して、RPAロボットを管理するためにユーザーに代わって命令を自動的に送信してデータを受信するようにクラウドオーケストレータ430上にスケジュールを設定する。RPAロボットを管理するための典型的な命令としては、RPAロボットを作成するための命令、RPAロボットをプロビジョニングするための命令、RPAロボット上のタスクをスケジューリングするための命令(例えば、タスクを実行するための時間及びタスクを実行するためのロボットのタイプをスケジューリングする)、RPAロボットをデコミッションするための命令、又は、RPAロボットのための任意の他の編成命令が挙げられる。命令を受信したことに応じて、クラウドオーケストレータ430は、例えば、RPAロボットの作成、RPAロボットのプロビジョニング、RPAロボットのタスクのスケジューリング、RPAロボットのデコミッショニングなどによって命令を実行する。一実施形態において、クラウドオーケストレータ430は、図1のコンダクタ104、図2のコンダクタ212、又は、図3のコンダクタ304と同様であってもよいが、クラウドコンピューティング環境402内のクラウドサービスプロバイダクラウドネットワーク420に実装されてもよい。
クラウドオーケストレータ430によって管理されるRPAロボットは、クラウドコンピューティング環境402内に配備されて維持されるクラウドロボットのダイナミックプールを含んでもよい。そのようなクラウドロボットは、クラウドサービスロボットプール426の1つ以上のクラウドサービスロボット428-A、...、428-X(以下、まとめてクラウドサービスロボット428と呼ぶ)と、クラウド管理ロボットプール422の1つ以上のクラウド管理ロボット424-A、...、424-Y(以下、まとめてクラウド管理ロボット424と呼ぶ)とを含むことができる。そのようなクラウドロボットは、クラウドコンピューティング環境402において(すなわち、プロセス)タスクを実行し、タスクの結果をローカルコンピューティング環境404内のユーザーに送信する。これに加えて又は代えて、クラウドオーケストレータ430によって管理されるRPAロボットは、ローカルロボットプール408のゼロ以上の及び概して多くのローカルロボット410-A、...、410-Z(以下、まとめてローカルロボット410と呼ぶ)を含んでもよい。幾つかの実施形態では、クラウドオーケストレータ430自体が、サービス側ワークフローを実行するためのロボットとしての機能を果たしてもよい。
クラウドサービスロボット428は、ローカルネットワーク環境404内のユーザーのためにクラウドコンピューティング環境402内でRPAタスクを実行するために、クラウドサービスプロバイダのクラウドネットワーク420内のクラウドサービスプロバイダによって維持される。クラウドサービスロボット428は、ユーザーがコンピューティングデバイス412からクラウドオーケストレータ430に命令を送信することによって、要求に応じて作成される。作成されると、クラウドサービスロボット428は、ポーリング又は新しいタスクの通知のいずれかによってタスクが実行されるのを待つ。待機している間、クラウドサービスロボット428を動作させるためのコストは最小化される或いはさもなければ低減される。タスクは、ユーザーがコンピューティングデバイス412からクラウドオーケストレータ430に命令を送ることによって、クラウドサービスロボット428上にスケジューリングされる。タスクをスケジューリングするための命令は、タスクを実行するための時間及びタスクを実行するためのロボットのタイプを定義する。クラウドオーケストレータ430は、様々な要因に関してタスクスケジューリング及び遂行機能を最適化する。クラウドサービスロボット428は、タスクを実行するために待機状態から起動し、タスクが完了すると待機状態に戻る。したがって、クラウドサービスロボット428は、ローカルコンピューティング環境404内のユーザーのためにクラウドサービスプロバイダクラウドネットワーク420上でタスクを実行する。
クラウド管理ロボット424は、ローカルネットワーク環境404内のユーザーのためにクラウドコンピューティング環境402内でRPAタスクを実行するために、ユーザークラウドネットワーク418内のユーザーによって維持される。クラウド管理ロボット424は、クラウドサービスロボット428と機能が類似しており、また、クラウドコンピューティング環境402でホストされる。しかしながら、クラウド管理ロボット424がホストされるユーザークラウドネットワーク418は、ユーザーによって管理され、一方、クラウドサービスロボット428がホストされるクラウドサービスプロバイダクラウドネットワーク420は、クラウドサービスプロバイダによって管理されてクラウドプラットフォームプロバイダによってホストされる。クラウドオーケストレータ430は、クラウドサービスプロバイダクラウドネットワーク420とユーザークラウドネットワーク418との間の接続を確立することによって、クラウド管理ロボット424を管理する。ユーザークラウドネットワーク418は、ローカルネットワーク406にトンネルバックするために、クラウドプロバイダ技術を利用するユーザーによって確立されてもよい。ユーザーは、ローカルネットワーク406からクラウドサービスプロバイダクラウドネットワーク420への専用ネットワーク接続を確立することができる。接続は、一般に、例えば、任意対任意(例えば、インターネットプロトコル仮想プライベートネットワーク)ネットワーク、ポイントツーポイントEthernetネットワーク、又は、コロケーション施設における接続プロバイダを介した仮想交差接続の形態を成す。これらの接続は、公衆インターネットを経由しない。これは、インターネットを介した典型的な接続よりも高い信頼性、より速い速度、一貫した待ち時間、及び、より高いセキュリティを提供する。ユーザークラウドネットワーク418は、ユーザーによって完全に制御及び管理され続け、それによって、ユーザーにデータに対する厳格な制御を提供する。
クラウドサービスプロバイダクラウドネットワーク420とユーザークラウドネットワーク418との間の接続が確立されると、クラウド管理ロボット424は、コンピューティングデバイス412を介してクラウドオーケストレータ430と対話するユーザーによる要求に応じて作成される。クラウド管理ロボット424は、ユーザークラウドネットワーク418上に作成される。したがって、クラウド管理ロボット424は、ローカルコンピューティング環境404内のユーザーのためにユーザークラウドネットワーク418上でタスクを実行する。アルゴリズムを適用して、クラウド管理ロボットプール422内のロボットの利用を最大化し、ユーザーの運用コストを削減することができる。
ローカルロボット410は、ローカルネットワーク環境404内のユーザーのためにRPAタスクを実行するべく、ローカルネットワーク406内のユーザーによって維持される。ローカルネットワーク406は、ユーザーによって制御又は管理される。クラウドオーケストレータ430は、標準的なHTTPS接続を介してローカルロボット410への接続を維持する。
本明細書中に記載の実施形態は、例えば、図1のRPAシステム100、図2のRPAシステム200、図3のRPAシステム300、及び/又は、図4のクラウドRPAシステム400にしたがって実装されるRPAなどのRPAの実装を表わすプロセスデータの統合された理解を与えるべく企業プロセスグラフの生成をもたらす。企業プロセスグラフは、プロセスのアクティビティ又はタスクがノードとして表わされ且つアクティビティ又はタスク間の各遷移がノードを接続するエッジとして表わされるグラフ(例えば、有向グラフ)である。企業プロセスグラフはワークグラフとしても知られている。そのような企業プロセスグラフは、例えば、プロセスマイニング、タスクマイニング、タスク捕捉、及び/又は、プロセス発見などの複数の異なる発見技術を実行することによってRPA実装のために収集されるプロセスデータの統合された理解をもたらす。好適には、そのような企業プロセスグラフは、RPA実装全体のユーザー理解を容易にするとともにコンピュータ技術がRPA実装及び管理を単純化及び自動化できるようにするべく結合されたプロセスデータが意味のある方法で表わされるようにプロセスデータを結合する。RPAの実装に関連するプロセスデータの表示に関して企業プロセスグラフが本明細書中で記載されるが、本発明はそのように限定されないことが理解されるべきである。企業プロセスグラフは、表示された任意のタイプのデータに関して生成されてもよく、RPAデータに限定されない。
図5は、1つ以上の実施形態に係る、企業プロセスグラフを生成するための方法500を示す。方法500のステップは、例えば図10のコンピューティングシステム1000などの、1つ以上の適切なコンピューティングデバイスによって実行することができる。
ステップ502では、複数の発見技術を使用して取得されるRPAの実装に関するプロセスデータのセットが受信される。RPAの実装は、例えば、ユーザー、組織、会社、又は、任意の他のエンティティなどの企業向けであってもよい。
発見技術は、プロセスアクティビティ又はタスク間の関係を直接的又は間接的に推測するための任意の技術を含むことができる。一実施形態において、発見技術は、プロセスマイニング、タスクマイニング、プロセス発見、及び、タスク捕捉を含むことができる。本明細書中で使用される場合、プロセスマイニングとは、RPAイベント間の関係を追跡するために企業システムを監視することによるRPAプロセスの自動識別を指す。プロセス発見(プロセス捕捉又はプロセスモデリングとも呼ばれる)は、ユーザー入力(例えば、明示的なユーザー入力又は推測されるユーザーアクティビティ)に基づいて企業プロセスを設計することを指す。タスクマイニングとは、アプリケーション上のユーザー入力(例えば、明示的なユーザー入力又は推測されるユーザーアクティビティ)を観測(例えば、リアルタイム又はほぼリアルタイムの監視又はオフライン分析)することによるRPAタスクの自動識別を指す。タスク捕捉とは、ユーザー入力に基づくタスクの識別を指す。一実施形態では、プロセスマイニング、タスクマイニング、プロセス発見、又は、タスク捕捉のうちの少なくとも1つが実行される。発見技術は、RPAの実装に関連するプロセスデータを収集するための任意の適切な手法を含むことができ、プロセスマイニング、タスクマイニング、プロセス発見、及び、タスク捕捉に限定されないことが理解されるべきである。
ステップ504において、受信されたプロセスデータのセットに基づいて複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットが生成される。本明細書中で使用されるイベントテーブルは、データ間の関係の任意の表示であり、テーブルに限定されないことが理解されるべきである。一実施形態では、イベントテーブルが図6のワークフロー600にしたがって生成される。
図6は、1つ以上の実施形態に係る、特定の発見技術のためのイベントテーブルを生成するためのワークフロー600を示す。プロセスデータ602は、特定の発見技術を使用して取得されるプロセスデータのセットを表わす。未加工テーブル604がプロセスデータ602から抽出される。未加工テーブル604はRPA関連イベントのテーブルである。例えば、プロセスマイニング及びプロセス発見の場合、RPA関連イベントは、特定の時間及びプロセスの実行の特定のインスタンスにおけるプロセスのアクティビティの遂行を表わすことができる。他の例では、タスクマイニング及びタスク捕捉のために、RPA関連イベントは、ステップのスクリーンショットを伴うことができるユーザーのデスクトップにおける記録されたステップであってもよい。記録されたステップは、自動連続記録装置を使用して記録されてもよく(例えば、タスクマイニングにおいて)、或いは、ユーザーの要求に基づいて記録されてもよく、或いは、システム又はアクティビティによってトリガされてもよい(例えば、タスク捕捉において)。未加工テーブル604は、任意の適切な手法、例えば、OCBC(Open Database Connectivity)抽出子、テキスト抽出子、SAP抽出子などを使用して抽出することができる。一実施形態では、未加工テーブル604のエントリが正規化されて正規化テーブル606が生成される。未加工テーブル604は、全てのテーブルが同じスキーマにあるようにするべく正規化され、そのため、それらのテーブルを点から均一に扱うことができる。これは、例えば、列の名前の変更、全ての数が同等であるようにするための計算(例えば、全てを同じ通貨に変換する)、テーブルを組み合わせたり分割したりして正規化モデルに適合させることなどを含む。正規化テーブル606は、プロセス固有データ610と共にイベントテーブル608として出力される。プロセス固有データ610は、イベントデータ以外のプロセスに関するデータである。一例では、イベントテーブル608が図7のイベントテーブル700である。
図7は、1つ以上の実施形態に係る、1つ以上のプロセスの典型的なイベントテーブル700を示す。イベントテーブル700は、イベントテーブル700のプロセスID1~プロセスID3に対応する、3つのプロセスの遂行の1つ以上のインスタンスの間に発生するイベントを記録する。図7に示されるように、イベントテーブル700は、それぞれがイベントに対応する行702と、行702及び列704が交差するセルにおいてヘッダ行706で識別されるイベントの属性をそれぞれが識別する列704とを有するテーブルとしてフォーマットされる。特に、各行702は、プロセスのアクティビティの遂行を表わすイベント(列704-Bで識別される)、アクティビティの遂行のタイムスタンプ(列704-Cで識別される)、アクティビティのために遂行された特定のプロセスの遂行のインスタンスを識別する事例ID(列704-Aで識別される)、及び、遂行されたアクティビティのプロセスを識別するプロセスIDと関連付けられる。イベントテーブル700は、任意の適切なフォーマットであってもよく、イベントの他の属性を識別する更なる列704を含んでもよいことが理解されるべきである。
図5のステップ506では、RPAの実装を表わす企業プロセスグラフが、1つ以上のイベントテーブルのセットに基づいて生成される。概念的には、企業プロセスグラフの生成は、以下のように考えることができる。切断されたグラフのセットは、イベントテーブルから作成することができる。企業プロセスグラフは、グラフを(少なくとも部分的に)接続するために切断されたグラフのセットにエッジを加えることによって作成することができる。新たに加えられたエッジは、必ずしもそれらをトラバースする事例に対応しない。一実施形態において、企業プロセスグラフは、図8のワークフロー800にしたがって作成される。
図8は、1つ以上の実施形態に係る、企業プロセスグラフを表わすエッジテーブルを生成するためのワークフロー800を示す。ワークフロー800において、イベントテーブル802は、図5のステップ504で生成されるイベントテーブルであってもよい。イベントテーブル802は、複数の発見技術を使用して取得されるデータのRPAイベントデータを表わす。一実施形態では、エッジテーブル806がイベントテーブル802から生成される。エッジテーブル806は、イベントテーブル802間の関係を識別するための任意の適切な技術(例えば、人工知能又は機械学習ベースの技術、教師あり学習など)を使用して生成することができる。一実施形態において、エッジテーブル806は、2019年12月27日に出願された米国特許出願第16/728,686号に記載される方法にしたがって生成することができ、この出願の開示内容は参照によりその全体が本願に組み入れられる。エッジテーブル806は、イベントテーブル802におけるイベント間の関係を符号化するテーブルである。その後、エッジテーブル806から企業プロセスグラフが生成される。他の実施形態において、プロセスモデル804は、イベントテーブル802から(例えば、プロセス発見技術を使用して)生成され、また、エッジテーブル806は、プロセスモデル804間の関係を識別するための任意の適切な技術(例えば、人工知能又は機械学習ベースの技術、教師あり学習など)を使用してプロセスモデル804から生成される。例示的なエッジテーブルが図9に示される。
図9は、1つ以上の実施形態に係る、例示的なエッジテーブル900を示す。一例では、エッジテーブル900が図8のエッジテーブル806である。エッジテーブル900は、列902及び行904を含む。エッジテーブル900における各行904は、ソースイベントから目的イベントへの遷移を識別する。エッジテーブル900における各列902は、それぞれの行904ごとにソースイベント及び目的イベントの様々な属性を識別するフィールドと関連付けられる。例えば、列902-Aはソースアクティビティを識別し、列902-Bは目的アクティビティを識別し、列902-Cはソースアクティビティタイムスタンプを識別し、列902-Dは目的アクティビティタイムスタンプを識別し、列902-EはケースIDを識別し、列902-FはソースアクティビティのプロセスのプロセスIDを表わすソースプロセスIDを識別し、列902-Gは目的アクティビティのプロセスのプロセスIDを表わす目的プロセスIDを識別し、列902-Hはエッジタイプを識別する。エッジテーブル900は、例えば名前又はサービスレベル合意などの更なる属性を識別する更なる列302を含むことができる。
図5のステップ508では、企業プロセスグラフが出力される。一実施形態において、企業プロセスグラフは、例えば、デバイスの表示デバイス上に企業プロセスグラフを表示することによって、コンピュータシステムのメモリ又はストレージ上に企業プロセスグラフを記憶することによって、或いは、企業プロセスグラフをリモートコンピュータシステム又はサービス(例えば、電子メールサービス、報告サーバなど)に送信することによって出力することができる。企業プロセスグラフの記憶は、企業プロセスグラフの履歴又は進化を経時的に見ることを可能にすることができる。一実施形態において、企業プロセスグラフは、図9のワークフロー900にしたがって表示することができる。
図10は、1つ以上の実施形態に係る、企業プロセスグラフを表示するためのワークフロー1000を示す。ワークフロー1000において、エッジテーブル1002は、図5のステップ506中に生成されるエッジテーブルであってもよい。一実施形態において、エッジテーブル1002は、レイアウトされたグラフ1012を生成するために、グローバルレイアウト1004にしたがってフォーマットされ、レイアウトされたグラフ1012は、その後、表示デバイス1014上に表示するためにレンダリングされる(例えば、図11のディスプレイ1110)。他の実施形態において、エッジテーブル1002は、フィルタリングされたエッジテーブル1006を生成するためにフィルタリングされる。エッジテーブル1002は、例えば、ケースフィルタ、ケースレベルまで持ち上げられたエッジフィルタ、ケースレベルまで持ち上げられたプロセスフィルタ、又は、任意の他の適切なフィルタに基づいてフィルタリングすることができる。その後、グラフ1008は、様々なメトリックを示すこともできるフィルタリングされたエッジテーブル1006から生成される。簡略化されたグラフ1010が、グラフ1008から生成される。簡略化されたグラフ1010は、ユーザー定義又は自動的に定義された複雑さのレベルに基づいてグラフ1008に視覚的複雑さスライダを適用してグラフ1008のエッジ及びノードをフィルタリングすることによって、ノードからノードへのエッジをフィルタリングするためにfrom-toフィルタを適用することによって、グラフ1006をドリルアップ/ドリルダウンすることによって、又はグラフ1008を簡略化するための任意の他の適切な手法を適用することによって生成することができる。次に、簡略化されたグラフ1010は、レイアウトされたグラフ1012としてフォーマットされ、その後、表示デバイス1014に表示するためにレンダリングされる。
図11は、本発明の一実施形態に係る、図5の方法500、図6のワークフロー600、図8のワークフロー800、及び、図10のワークフロー1000を含む、本明細書中に記載の方法、ワークフロー、及び、プロセスを遂行するように構成されるコンピューティングシステム1100を示すブロック図である。幾つかの実施形態において、コンピューティングシステム1100は、図示された及び/又は本明細書中に記載されたコンピューティングシステムのうちの1つ以上であってもよい。コンピューティングシステム1100は、例えば、情報を通信するためのバス又は他の通信機構などの通信媒体1102と、情報を処理するために通信媒体1102に結合されるプロセッサ1104とを含む。プロセッサ1104は、中央処理装置(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、及び/又は、それらの任意の組み合わせを含む、任意のタイプの汎用又は専用プロセッサであってもよい。また、プロセッサ1104は、複数の処理コアを有してもよく、また、コアの少なくとも幾つかは、特定の機能を実行するように構成されてもよい。幾つかの実施形態では、複数並列処理を使用することができる。
コンピューティングシステム1100は、プロセッサ1104によって遂行されるべき情報及び命令を記憶するためのメモリ1106を更に含む。メモリ1106は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気もしくは光ディスクなどの静的ストレージ、又は、任意の他のタイプの非一時的コンピュータ可読媒体、又は、それらの組み合わせの任意の組み合わせから構成することができる。非一時的コンピュータ可読媒体は、プロセッサ1104によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体、又はその両方を含んでもよい。また、媒体は、取り外し可能、取り外し不能、又は、その両方であってもよい。
更に、コンピューティングシステム1100は、任意の現在存在する又は将来実施される通信規格及び/又はプロトコルにしたがって、無線及び/又は有線接続を介して通信ネットワークへのアクセスを提供するためのトランシーバなどの通信デバイス1108を含む。
プロセッサ1104は、通信媒体1102を介して、ユーザーに情報を表示するのに適したディスプレイ1110に更に結合される。また、ディスプレイ1110は、タッチディスプレイ及び/又は任意の適切な触覚I/Oデバイスとして構成されてもよい。
キーボード1112及びコンピュータマウス、タッチパッドなどのカーソル制御デバイス1114は、ユーザーがコンピューティングシステムとインターフェースできるようにするために通信媒体1102に更に結合される。しかしながら、特定の実施形態では、物理的なキーボード及びマウスが存在しなくてもよく、ユーザーは、ディスプレイ1110及び/又はタッチパッド(図示せず)のみを介してデバイスと対話することができる。入力デバイスの任意のタイプ及び組み合わせを、設計上の選択事項として使用することができる。特定の実施形態では、物理的入力デバイス及び/又はディスプレイは存在しない。例えば、ユーザーは、それと通信する別のコンピューティングシステムを介してコンピューティングシステム1100と遠隔的に対話することができ、又はコンピューティングシステム1100は自律的に動作することができる。
メモリ1106は、プロセッサ1104によって遂行されると機能を与えるソフトウェアモジュールを記憶する。モジュールは、コンピューティングシステム1100のためのオペレーティングシステム1116と、本明細書中に記載のプロセス又はその派生物の全部又は一部を実行するように構成された1つ以上の更なる機能モジュール1118とを含む。
当業者であれば分かるように、「システム」は、本発明の範囲から逸脱することなく、サーバ、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、もしくは、任意の他の適切なコンピューティングデバイス、又は、デバイスの組み合わせとして具現化され得る。上記の機能を「システム」によって実行されるものとして提示することは、本発明の範囲を決して限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図している。実際に、本明細書中に開示される方法、システム、及び、装置は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態及び分散された形態で実装され得る。
本明細書中に記載されたシステム特徴の幾つかは、それらの実装の独立性をより具体的に強調するために、モジュールとして提示されていることに留意すべきである。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路又はゲートアレイ、ロジックチップ、トランジスタ、又は、他のディスクリートコンポーネントなどの既製の半コンダクタを含むハードウェア回路として実装されてもよい。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装されてもよい。また、モジュールは、様々なタイプのプロセッサによって遂行するためのソフトウェアに少なくとも部分的に実装されてもよい。遂行可能コードの識別されたユニットは、例えば、オブジェクト、手順、又は、機能として編成することができるコンピュータ命令の1つ以上の物理ブロック又は論理ブロックを含むことができる。それにもかかわらず、識別されたモジュールの遂行可能ファイルは、物理的に一緒に配置される必要はないが、論理的に一緒に結合されたときにモジュールを含み、モジュールの記載された目的を達成する異なる場所に記憶された異なる命令を含むことができる。更に、モジュールは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、及び/又は、本発明の範囲から逸脱することなくデータを記憶するために使用される任意の他のそのような非一時的コンピュータ可読媒体であってもよいコンピュータ可読媒体に記憶されてもよい。実際に、遂行可能コードのモジュールは、単一の命令、又は、多くの命令であってもよく、幾つかの異なるコードセグメント、異なるプログラム、及び、幾つかのメモリデバイスに分散されてもよい。同様に、操作データは、モジュール内で識別され及び本明細書中に例示されてもよく、任意の適切な形態で具体化され、任意の適切なタイプのデータ構造内に編成されてもよい。操作データは、単一のデータセットとして収集されてもよく、又は、異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、システム又はネットワーク上の電子信号としてのみ存在してもよい。
以上は本開示の原理を単に例示するにすぎない。したがって、本明細書中に明示的に記載され又は示されないが、本開示の原理を具現化するとともに本開示の思想及び範囲内に含まれる様々な構成を当業者が考え出すことができるのが分かる。更に、本明細書中に列挙される全ての例及び条件付き言語は、主に、本開示の原理と本技術を進展させるために本発明者によって寄与される概念とを読者が理解するのを助けるための教育目的のためのものにすぎず、そのような具体的に列挙された例及び条件に限定しないように解釈されるべきである。更に、本開示の原理、態様、及び、実施形態、並びに、その特定の例を列挙する本明細書中の全ての記述は、その構造的及び機能的な均等物の両方を包含しようとするものである。更に、そのような均等物が現在知られている均等物及び将来開発される均等物の両方を含むことが意図される。
Claims (30)
- 複数の発見技術を使用して取得されるRPA(ロボティックプロセスオートメーション)の実装に関するプロセスデータのセットを受信するステップと、
前記受信されたプロセスデータのセットに基づいてRPAの実装を表わす企業プロセスグラフを生成するステップと、
を含むコンピュータ実装方法。 - 前記複数の発見技術は、プロセスマイニング、プロセス発見、タスクマイニング、又は、タスク捕捉のうちの少なくとも1つを含む、請求項1に記載のコンピュータ実装方法。
- プロセスマイニング、プロセス発見、タスクマイニング、又は、タスク捕捉のうちの少なくとも1つを実行するステップを更に含む、請求項2に記載のコンピュータ実装方法。
- 前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成するステップを更に含み、
前記受信されたプロセスデータのセットに基づいてRPAの実装を表わす企業プロセスグラフを生成する前記ステップは、前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成するステップを含む、請求項1に記載のコンピュータ実装方法。 - 前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成する前記ステップは、
前記受信されたプロセスデータのセットから未加工テーブルを抽出するステップを含む、請求項4に記載のコンピュータ実装方法。 - 前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成する前記ステップは、
前記未加工テーブルのエントリを正規化するステップを含む、請求項5に記載のコンピュータ実装方法。 - 前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成する前記ステップは、
前記1つ以上のイベントテーブルの前記生成されたセットに関してグラフを生成するステップを含む、請求項4に記載のコンピュータ実装方法。 - 前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成する前記ステップは、
前記グラフのうちの2つ以上を接続するステップを含む、請求項7に記載のコンピュータ実装方法。 - 前記1つ以上のイベントテーブルの前記生成されたセットに基づいて企業プロセスグラフを生成する前記ステップは、
前記生成された1つ以上のイベントテーブルのセットに基づいてエッジテーブルを生成するステップと、
前記エッジテーブルに基づいて前記企業プロセスグラフを生成するステップと、
を含む、請求項4に記載のコンピュータ実装方法。 - 前記企業プロセスグラフを表示するステップを更に含む、請求項1に記載のコンピュータ実装方法。
- 前記企業プロセスグラフを送信するステップを更に含む、請求項1に記載のコンピュータ実装方法。
- 前記企業プロセスグラフをメモリに記憶するステップを更に含む、請求項1に記載のコンピュータ実装方法。
- 前記企業プロセスグラフをフィルタリングするステップを更に含む、請求項1に記載のコンピュータ実装方法。
- 前記フィルタリングされた企業プロセスグラフを表示するステップを更に含む、請求項13に記載のコンピュータ実装方法。
- コンピュータ命令を記憶するメモリと、
前記コンピュータ命令を実行するように構成される少なくとも1つのプロセッサであって、前記コンピュータ命令が、前記少なくとも1つのプロセッサに、
複数の発見技術を使用して取得されるRPAの実装に関するプロセスデータのセットを受信する操作と、
前記受信されたプロセスデータのセットに基づいてRPAの実装を表わす企業プロセスグラフを生成する操作と、
を実行させるように構成される、少なくとも1つのプロセッサと、
を備える装置。 - 前記複数の発見技術は、プロセスマイニング、プロセス発見、タスクマイニング、又は、タスク捕捉のうちの少なくとも1つを含む、請求項15に記載の装置。
- 前記操作は、
プロセスマイニング、プロセス発見、タスクマイニング、又は、タスク捕捉のうちの少なくとも1つを実行する操作を更に含む、請求項16に記載の装置。 - 前記操作は、
前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成する操作を更に含み、
前記受信されたプロセスデータのセットに基づいてRPAの実装を表わす企業プロセスグラフを生成する前記操作は、前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成する操作を含む、請求項15に記載の装置。 - 前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成する前記操作は、
前記受信されたプロセスデータのセットから未加工テーブルを抽出する操作を含む、請求項18に記載の装置。 - 前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成する前記操作は、
前記未加工テーブルのエントリを正規化する操作を含む、請求項19に記載の装置。 - 非一時的コンピュータ可読媒体上で具現化されるコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも1つのプロセッサに、
複数の発見技術を使用して取得されるRPA(ロボティックプロセスオートメーション)の実装に関するプロセスデータのセットを受信する操作と、
前記受信されたプロセスデータのセットに基づいてRPAの実装を表わす企業プロセスグラフを生成する操作と、
を含む操作を実行させるように構成される、コンピュータプログラム。 - 前記受信されたプロセスデータのセットに基づいて前記複数の発見技術のそれぞれに関して1つ以上のイベントテーブルのセットを生成する操作を更に含み、
前記受信されたプロセスデータのセットに基づいてRPAの実装を表わす企業プロセスグラフを生成する前記操作は、前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成する操作を含む、請求項21に記載のコンピュータプログラム。 - 前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成する前記操作は、
前記1つ以上のイベントテーブルの前記生成されたセットに関してグラフを生成する操作を含む、請求項21に記載のコンピュータプログラム。 - 前記1つ以上のイベントテーブルの前記生成されたセットに基づいて前記企業プロセスグラフを生成する前記操作は、
前記グラフのうちの2つ以上を接続する操作を含む、請求項23に記載のコンピュータプログラム。 - 前記1つ以上のイベントテーブルの前記生成されたセットに基づいて企業プロセスグラフを生成する前記操作は、
前記生成された1つ以上のイベントテーブルのセットに基づいてエッジテーブルを生成する操作と、
前記エッジテーブルに基づいて前記企業プロセスグラフを生成する操作と、
を含む、請求項21に記載のコンピュータプログラム。 - 前記操作は、
前記企業プロセスグラフを表示する操作を更に含む、請求項21に記載のコンピュータプログラム。 - 前記操作は、
前記企業プロセスグラフを送信する操作を更に含む、請求項21に記載のコンピュータプログラム。 - 前記操作は、
前記企業プロセスグラフをメモリに記憶する操作を更に含む、請求項21に記載のコンピュータプログラム。 - 前記操作は、
前記企業プロセスグラフをフィルタリングする操作を更に含む、請求項21に記載のコンピュータプログラム。 - 前記操作は、
前記フィルタリングされた企業プロセスグラフを表示する操作を更に含む、請求項29に記載のコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/159,190 US11403120B1 (en) | 2021-01-27 | 2021-01-27 | Enterprise process graphs for representing RPA data |
US17/159,190 | 2021-01-27 | ||
PCT/US2021/072047 WO2022164576A1 (en) | 2021-01-27 | 2021-10-26 | Enterprise process graphs for representing rpa data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023544463A true JP2023544463A (ja) | 2023-10-24 |
Family
ID=82495540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021572652A Withdrawn JP2023544463A (ja) | 2021-01-27 | 2021-10-26 | Rpaデータを表わすための企業プロセスグラフ |
Country Status (5)
Country | Link |
---|---|
US (1) | US11403120B1 (ja) |
JP (1) | JP2023544463A (ja) |
KR (1) | KR20230074651A (ja) |
CN (1) | CN115210661A (ja) |
WO (1) | WO2022164576A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230115805A1 (en) * | 2021-10-07 | 2023-04-13 | UiPath, Inc. | Framework for implementing process apps for process mining |
US20230289704A1 (en) * | 2022-03-14 | 2023-09-14 | UiPath, Inc. | Automatic creation of data models based on semantic understanding |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9053437B2 (en) | 2008-11-06 | 2015-06-09 | International Business Machines Corporation | Extracting enterprise information through analysis of provenance data |
US8619084B2 (en) | 2010-05-03 | 2013-12-31 | International Business Machines Corporation | Dynamic adaptive process discovery and compliance |
US10459978B2 (en) * | 2015-04-03 | 2019-10-29 | Oracle International Corporation | Distributed graph processing system that support remote data read with proactive bulk data transfer |
US10796257B2 (en) | 2016-01-26 | 2020-10-06 | Celonis Se | Method for providing business process analyses |
US10339027B2 (en) | 2016-09-06 | 2019-07-02 | Accenture Global Solutions Limited | Automation identification diagnostic tool |
US10452674B2 (en) | 2017-12-07 | 2019-10-22 | Accenture Global Solutions Limited | Artificial intelligence and robotic process automation for automated data management |
KR20200003692A (ko) | 2018-07-02 | 2020-01-10 | 주식회사 비즈모델라인 | 통합 기업 환경 마일리지 제공 관리 방법 |
EP3608855A1 (en) * | 2018-08-08 | 2020-02-12 | Atos Syntel, Inc. | Workflow analyzer system and methods |
US11281936B2 (en) * | 2018-12-31 | 2022-03-22 | Kofax, Inc. | Systems and methods for identifying processes for robotic automation and building models therefor |
US11790262B2 (en) | 2019-01-22 | 2023-10-17 | Accenture Global Solutions Limited | Data transformations for robotic process automation |
US20200327125A1 (en) | 2019-04-11 | 2020-10-15 | Minit j.s.a. | Systems and methods for hierarchical process mining |
US20210158268A1 (en) * | 2019-11-27 | 2021-05-27 | Sap Se | Process improvement based on user behavior mining |
-
2021
- 2021-01-27 US US17/159,190 patent/US11403120B1/en active Active
- 2021-10-26 KR KR1020217040016A patent/KR20230074651A/ko active Search and Examination
- 2021-10-26 CN CN202180003777.1A patent/CN115210661A/zh active Pending
- 2021-10-26 JP JP2021572652A patent/JP2023544463A/ja not_active Withdrawn
- 2021-10-26 WO PCT/US2021/072047 patent/WO2022164576A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20220237003A1 (en) | 2022-07-28 |
KR20230074651A (ko) | 2023-05-31 |
US11403120B1 (en) | 2022-08-02 |
CN115210661A (zh) | 2022-10-18 |
WO2022164576A1 (en) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113228020B (zh) | 调度机器人以用于机器人流程自动化 | |
US11803418B2 (en) | On-demand cloud robots for robotic process automation | |
US11442837B2 (en) | Monitoring long running workflows for robotic process automation | |
CN114793454A (zh) | 用于托管、监控和重训练机器学习模型的机器人流程自动化架构和流程 | |
JP2023544463A (ja) | Rpaデータを表わすための企業プロセスグラフ | |
US20230032516A1 (en) | Common platform for implementing rpa services on customer premises | |
US11494713B2 (en) | Robotic process automation analytics platform | |
US11966566B2 (en) | Mapping interactive UI elements to RPA object repositories for RPA development | |
US20220091908A1 (en) | Filter instantiation for process graphs of rpa workflows | |
US20220191167A1 (en) | Organizational modelling for routing rpa related services of an rpa cloud suite | |
US20230102809A1 (en) | Preconfigured robots for robotic process automation | |
US20230101948A1 (en) | Generation of rpa platform design components for configuring rpa platforms | |
US20220100539A1 (en) | On-demand cloud robots for robotic process automation | |
KR20240094043A (ko) | Rpa 개발을 위한 rpa 객체 저장소들에의 상호적 ui 요소들 맵핑 | |
US20220066794A1 (en) | Robotic process automation data connector | |
US20240184271A1 (en) | Autoscaling strategies for robotic process automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230407 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20231016 |