JP2021064353A - ロボティックプロセスオートメーションを使用するドキュメント処理のための長時間実行ワークフロー - Google Patents

ロボティックプロセスオートメーションを使用するドキュメント処理のための長時間実行ワークフロー Download PDF

Info

Publication number
JP2021064353A
JP2021064353A JP2020136136A JP2020136136A JP2021064353A JP 2021064353 A JP2021064353 A JP 2021064353A JP 2020136136 A JP2020136136 A JP 2020136136A JP 2020136136 A JP2020136136 A JP 2020136136A JP 2021064353 A JP2021064353 A JP 2021064353A
Authority
JP
Japan
Prior art keywords
robot
result
end user
user
document processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020136136A
Other languages
English (en)
Inventor
グリガン イオアナ
Gligan Ioana
グリガン イオアナ
パラウ ポール
Parau Paul
パラウ ポール
ルサヌ レムス
Rusanu Remus
ルサヌ レムス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UiPath Inc
Original Assignee
UiPath Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by UiPath Inc filed Critical UiPath Inc
Publication of JP2021064353A publication Critical patent/JP2021064353A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/418Document matching, e.g. of document images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ユーザが確認を実行してドキュメント処理ワークフローと後処理ワークフローから1つの大きな複雑なワークフローを生成させることが可能となるドキュメント処理を提供する。【解決手段】処理は、第1のロボットによりRPAワークフローの一又は複数のドキュメント処理アクティビティを実行することで、入力ドキュメントを処理し502、RPAワークフローのユーザ確認アクティビティに応じて、第1のロボットによるRPAワークフローの実行を一時停止し504、エンドユーザからの結果の確認を要求するユーザ要求を生成し506、ユーザ要求をエンドユーザに送し508、エンドユーザから受け取られた確認の内容に基づいて第2のロボットによってRPAワークフローの実行を再開する510。【選択図】図5

Description

本発明は、概して、ロボティックプロセスオートメーションに関し、より詳細には、ロボティックプロセスオートメーションを使用するドキュメント処理のための長時間実行ワークフローに関する。
ロボティックプロセスオートメーション(RPA)は、ソフトウェアロボットを使用してワークフローを自動化するプロセス自動化の一種である。RPAを実装して、反復的及び/又は労働集約的なタスクを自動化してもよく、これにより、コストを削減して効率を高めることができる。RPAの1つの例示的なアプリケーションは、ドキュメント処理である。ドキュメント処理は、ドキュメント内の情報の一部又は全てを構造化するためにドキュメントに対して行われる動作を指す。
しばしば、光学式文字認識プロセスやその他のドキュメント処理方法に起因して、ドキュメント処理でエラーが発生する。したがって、ドキュメント処理の結果は、通常、ユーザによって手動で確認される。従来、RPA開発者によってこのような手動確認をRPAワークフローに組み込むことは、労働集約的なプロセスである。特に、手動確認をRPAワークフローに組み込むことは、従来、例えばドキュメント処理ワークフロー、ユーザ確認ワークフロー、後処理ワークフローなどの複数の異なるワークフローを同期させるRPA開発者、又はユーザが確認を実行してドキュメント処理ワークフローと後処理ワークフローを待つ必要がある1つの大きな複雑なワークフローを生成させるRPA開発者が関与する。したがって、手動確認をRPAワークフローに組み込むことは難しい。
一又は複数の実施形態によれば、ドキュメント処理のためのロボティックプロセスオートメーション(RPA)ワークフローを実行するためのシステム及び方法が提供される。第1のロボットによりRPAワークフローの一又は複数のドキュメント処理アクティビティを実行することで、入力ドキュメントが処理される。ドキュメント処理アクティビティは、光学式文字認識、デジタル化、分類、又はデータ抽出を含んでもよい。RPAワークフローのユーザ確認アクティビティに応じて、第1のロボットによるRPAワークフローの実行が一時停止される。ユーザ確認アクティビティは、一又は複数のドキュメント処理アクティビティの結果のユーザ確認のため提供される。エンドユーザからの結果の確認を要求するユーザ要求が生成され、ユーザ要求はエンドユーザに送られる。結果の確認が要求されていることを示す通知がエンドユーザに送られてもよい。エンドユーザから受け取られた確認の内容に基づいて第2のロボットによってRPAワークフローの実行が再開される。第1のロボットと第2のロボットは、同じロボットであっても異なるロボットであってもよい。
一実施形態において、エンドユーザから受け取られた結果の確認の内容は、結果が正確であるか否かを示すものであってもよいし、一又は複数のドキュメント処理アクティビティの修正された結果であってもよい。
一実施形態において、入力ドキュメントと結果をエンドユーザに対して提示するために示すユーザインタフェースを表示させてもよい。入力データと一又は複数のドキュメント処理アクティビティの結果とが、並列構成で表示されてもよい。エンドユーザから特定の結果の選択が受け取られてもよく、特定の結果と入力ドキュメントの対応する元データとを強調表示させてもよい。
本発明のこれら及び他の利点が、以下の詳細な説明及び添付の図面を参照することで、当業者に明らかになるであろう。
本発明の一実施形態によるロボティックプロセスオートメーションシステムを示すアーキテクチャ図である。
本発明の一実施形態による、デプロイされたロボティックプロセスオートメーションシステムの一例を示すアーキテクチャ図である。
本発明の一実施形態による、ロボティックプロセスオートメーションシステムの簡略化されたデプロイメント例を示すアーキテクチャ図である。
本発明の一実施形態による、入力ドキュメントからデータを抽出するための例示的な長時間実行ワークフローを示す。
本発明の一実施形態による、ドキュメント処理のための長時間実行ロボティックプロセスオートメーションワークフローを実行する方法を示す。
本発明の一実施形態による、長期実行ワークフローのデータ抽出ドキュメント処理アクティビティを確認するための例示的なユーザインタフェースを示す。
本発明の一実施形態によるコンピューティングシステムのブロック図である。
ロボティックプロセスオートメーション(RPA)は、ワークフローを自動化するために使用される。図1は、一又は複数の実施形態によるRPAシステム100を示すアーキテクチャ図である。図1に示すように、RPAシステム100は、開発者がワークフローを使用して自動化プロセスを設計することを可能にするデザイナ102を含む。より詳細には、デザイナ102は、ワークフロー及びワークフローでアクティビティを実行するためのロボットの開発とデプロイメントを容易にする。デザイナ102は、アプリケーション統合、並びにサードパーティアプリケーション、管理情報技術(IT)タスク、及びコンタクトセンター運営のためのビジネスプロセスの自動化のためのソリューションを提供してもよい。デザイナ102の実施形態の1つの商業的な例は、UiPath Studio(商標)である。
ルールベースのプロセスの自動化の設計において、開発者は、本明細書において「アクティビティ」として定義される、ワークフローで開発されたカスタムセットのステップ間の実行順序及び関係を制御する。各アクティビティには、例えばボタンのクリック、ファイルの読み込み、ログパネルへの書き込みなどのアクションが含まれていてもよい。幾つかの実施形態において、ワークフローがネストされ又は埋め込まれてもよい。
一部の種類のワークフローには、シーケンス、フローチャート、有限状態機械(FSM)、及び/又はグローバル例外ハンドラが含まれてもよいが、これらに限定されない。シーケンスは、線形プロセスに特に適している可能性があり、ワークフローを混乱させることなく、あるアクティビティから別のアクティビティへのフローを可能にする。フローチャートは、より複雑なビジネスロジックに特に適している可能性があり、複数の分岐論理演算子によって、より多様な方法で決定の統合及びアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適している可能性がある。FSMは、実行時に有限数の状態を使用してもよく、それらの状態は、条件(即ち、遷移)又はアクティビティによってトリガされる。グローバル例外ハンドラは、実行エラーが発生したときのワークフローの振る舞いを決定したり、プロセスをデバッグしたりするのに特に適している可能性がある。
ワークフローがデザイナ102で開発されると、ビジネスプロセスの実行は、デザイナ102で開発されたワークフローを実行する一又は複数のロボット106を調整するコンダクタ104によって調整される。コンダクタ104の実施形態の1つの商用的な例は、UiPath Orchestrator(商標)である。コンダクタ220は、RPA環境におけるリソースの作成、監視、及びデプロイメントの管理を容易にする。一例において、コンダクタ104はウェブアプリケーションである。コンダクタ104は、サードパーティのソリューション及びアプリケーションとの統合ポイントとして機能してもよい。
コンダクタ104は、集中ポイントからロボット106を接続して実行することで、全てのロボット106を管理してもよい。コンダクタ104は、プロビジョニング、デプロイメント、コンフィギュレーション、キューイング、監視、ロギング、及び/又は相互接続性の提供を含むがこれらに限定されない様々な機能を有してもよい。プロビジョニングには、ロボット106とコンダクタ104(例えば、ウェブアプリケーションなど)の間の接続の作成及び保守が含まれてもよい。デプロイメントには、実行のために割り当てられたロボット106へのパッケージバージョンの正しい配信を保証することが含まれてもよい。コンフィギュレーションには、ロボット環境及びプロセスコンフィギュレーションの保守及び配信が含まれてもよい。キューイングには、キュー及びキューアイテムの管理の提供が含まれてもよい。監視には、ロボット識別データの追跡及びユーザ権限の維持が含まれてもよい。ロギングには、データベース(例えば、SQLデータベースなど)及び/又は他のストレージメカニズム(例えば、ElasticSearch(登録商標)など。これは、大規模なデータセットを記憶してすばやくクエリを実行する機能を提供する)へのログの記憶及びインデックス付けが含まれてもよい。コンダクタ104は、サードパーティのソリューション及び/又はアプリケーションのための通信の集中ポイントとして機能することで、相互接続性を提供してもよい。
ロボット106は、デザイナ102に組み込まれたワークフローを実行する実行エージェントである。ロボット106の幾つかの実施形態のうち1つの商用的な例は、UiPath Robots(商標)である。ロボット106の種類には、アテンディッドロボット108とアンアテンディッドロボット110が含まれてもよいが、これらに限定されない。アテンディッドロボット108は、ユーザ又はユーザイベントによってトリガされ、同じコンピューティングシステム上で人間のユーザと一緒に動作する。アテンディッドロボット108は、人間のユーザが様々なタスクを達成するのを助け、人間のユーザ及び/又はユーザイベントによって直接トリガされてもよい。アテンディッドロボットの場合、コンダクタ104が、集中プロセス展開及びロギング媒体を提供してもよい。特定の実施形態において、アテンディッドロボット108は、ウェブアプリケーションで「ロボットトレイ」から又はコマンドプロンプトから開始できるのみである。アンアテンディッドロボット110は、仮想環境で操作不要で実行され、例えば大量のバックエンドプロセスのためなど、多くのプロセスを自動化するために使用できる。アンアテンディッドロボット110は、遠隔実行、監視、スケジューリング、及びワークキューのサポートの提供を担当してもよい。アテンディッドロボットとアンアテンディッドロボットの両方が、メインフレーム、ウェブアプリケーション、VM、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって生成されたもの)、及びコンピューティングシステムアプリケーション(例えば、デスクトップ及びラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むがこれらに限定されない様々なシステム及びアプリケーションを自動化してもよい。
幾つかの実施形態において、ロボット106は、デフォルトで、Microsoft Windows(登録商標)サービスコントロールマネージャー(SCM)が管理するサービスをインストールする。その結果、そのようなロボット106が、ローカルシステムアカウントでインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権限を有してもよい。幾つかの実施形態において、ロボット106は、ユーザのもとでロボット106がインストールされて、そのユーザと同じ権利をロボット106が有するユーザモードでインストールされてもよい。
幾つかの実施形態におけるロボット106は、それぞれが特定のタスク専用である幾つかのコンポーネントに分割される。幾つかの実施形態におけるロボットコンポーネントには、SCM管理のロボットサービス、ユーザモードのロボットサービス、エグゼキュータ、エージェント、及びコマンドラインが含まれるが、これらに限定されない。SCM管理のロボットサービスは、Windows(登録商標)セッションを管理、監視してコンダクタ104と実行ホスト(即ち、ロボット106が実行されるコンピューティングシステム)の間のプロキシとして機能する。このようなサービスは、ロボット106の資格情報を託され、これを管理する。コンソールアプリケーションは、ローカルシステムのもとでSCMによって起動される。幾つかの実施形態におけるユーザモードロボットサービスは、Windows(登録商標)セッションを管理、監視し、コンダクタ104と実行ホストの間のプロキシとして機能する。ユーザモードロボットサービスは、ロボット106の資格情報を託され、これを管理してもよい。SCM管理のロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動されてもよい。エグゼキュータは、Windows(登録商標)セッションのもとで所定のジョブを実行してもよく(例えば、エグゼキュータはワークフローを実行してもよい)、エグゼキュータは、モニタ毎のドット/インチ(DPI)設定を認識していてもよい。エージェントは、システムトレイウィンドウで利用可能なジョブを表示するWindows(登録商標)Presentation Foundation(WPF)アプリケーションであってもよい。エージェントはこのサービスのクライアントであってもよい。エージェントは、ジョブの開始又は停止を要求し、設定を変更してもよい。コマンドラインはそのサービスのクライアントである。コマンドラインは、ジョブの開始を要求可能なコンソールアプリケーションであり、その出力を待つ。ロボットコンポーネントを分割することにより、開発者、サポートユーザを支援することができ、コンピューティングシステムが、各ロボットコンポーネントの実行内容の実行、識別、及び追跡をより容易に行うことができる。例えば、エグゼキュータとサービスに異なるファイアウォールルールを設定するなど、ロボットコンポーネント毎に特別な振る舞いが構成されてもよい。さらなる例として、幾つかの実施形態において、エグゼキュータは、モニタ毎のDPI設定を認識していてもよい。その結果、ワークフローが作成されたコンピューティングシステムの構成に関わらず、ワークフローが任意のDPIで実行されてもよい。
図2は、一又は複数の実施形態によるRPAシステム200を示す。RPAシステム200は、図1のRPAシステム100であってもよいし、その一部であってもよい。「クライアント側」、「サーバ側」、又はこれらの両方が、本発明の範囲から逸脱することなく、任意の所望の数のコンピューティングシステムを含んでもよいことに留意されたい。
この実施形態においてクライアント側に示すように、コンピューティングシステム202は、一又は複数のエグゼキュータ204、エージェント206、及びデザイナ208を含む。別の実施形態において、デザイナ208は同じコンピューティングシステム202で実行されていなくてもよい。エグゼキュータ204は(上記のようなロボットコンポーネントであってもよく、)プロセスを実行し、幾つかの実施形態において、複数のビジネスプロセスが同時に実行されてもよい。このような例において、エージェント206(例えば、Windows(登録商標)サービスなど)は、エグゼキュータ204を管理するための単一の接続ポイントである。
幾つかの実施形態において、ロボットは、マシン名とユーザ名の間の関連付けを表す。ロボットは同時に複数のエグゼキュータを管理してもよい。同時に実行されている複数の対話型セッションをサポートするコンピューティングシステム(例えば、Windows(登録商標)Server 2012など)では、複数のロボットが同時に(例えば、高密度(HD)環境など)、それぞれ一意のユーザ名を使用する個別のWindows(登録商標)セッションで実行されてもよい。
エージェント206はまた、ロボットのステータスを送り(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送り)、実行されるパッケージの必要なバージョンをダウンロードすることも担当する。幾つかの実施形態において、エージェント206とコンダクタ212の間の通信は、エージェント206によって開始される。通知シナリオの例において、エージェント206は、コンダクタ212によって後で使用されるWebSocketチャネルを開き、ロボットにコマンド(例えば、開始、停止など)を送ってもよい。
この実施形態においてサーバ側に示すように、プレゼンテーション層は、ウェブアプリケーション214、Open Data Protocol(OData)Representative State Transfer(REST)Application Programming Interface(API)エンドポイント216、通知監視API218を含む。サーバ側のサービス層は、API実装/ビジネスロジック220を含む。サーバ側の永続層は、データベースサーバ222及びインデクササーバ224を含む。コンダクタ212は、ウェブアプリケーション214、OData REST APIエンドポイント216、通知監視API218、及びAPI実装/ビジネスロジック220を含む。
様々な実施形態において、コンダクタ212のインタフェースで(例えば、ブラウザ210を介して)ユーザが実行する殆どのアクションが、様々なAPIを呼び出すことで実行される。このようなアクションには、ロボットでのジョブの開始、キュー内のデータの追加/削除、操作不要で実行するジョブのスケジューリングなどが含まれてもよいが、これらに限定されない。ウェブアプリケーション214は、サーバプラットフォームのビジュアル層である。このような実施形態において、ウェブアプリケーション214は、ハイパーテキストマークアップ言語(HTML)及びJavaScript(JS)を使用する。しかし、本発明の範囲から逸脱することなく、任意の所望のマークアップ言語、スクリプト言語、又は任意の他のフォーマットが使用されてもよい。このような実施形態において、ユーザは、コンダクタ212を制御するための様々なアクションを実行するため、ブラウザ210を介してウェブアプリケーション214からウェブページと対話する。例えば、ユーザは、ロボットグループを作成し、ロボットにパッケージを割り当て、ロボット毎に且つ/又はプロセス毎にログを分析し、ロボットを起動、停止させるなどしてもよい。
ウェブアプリケーション214に加えて、コンダクタ212には、OData REST APIエンドポイント216を公開するサービス層も含まれる(或いは、本発明の範囲から逸脱することなく、他のエンドポイントが実装されてもよい)。REST APIは、ウェブアプリケーション214とエージェント206の両方によって使用される。この例示的な構成において、エージェント206は、クライアントコンピュータ上の一又は複数のロボットのスーパーバイザである。
このような実施形態におけるREST APIは、コンフィギュレーション、ロギング、監視、及びキューイングの機能をカバーする。幾つかの実施形態において、コンフィギュレーションRESTエンドポイントが使用されて、アプリケーションユーザ、権限、ロボット、アセット、リリース、及び環境を定義、構成してもよい。ロギングRESTエンドポイントが使用されて、例えばエラー、ロボットによって送られた明示的なメッセージ、その他の環境固有の情報など、様々な情報をログに記録するのに有用であってもよい。デプロイメントRESTエンドポイントがロボットによって使用されて、コンダクタ212でジョブ開始コマンドが使用される場合に実行する必要があるパッケージバージョンをクエリしてもよい。キューイングRESTエンドポイントは、例えばキューへのデータの追加、キューからのトランザクションの取得、トランザクションのステータスの設定など、キュー及びキューアイテムの管理を担当してもよい。監視RESTエンドポイントは、ウェブアプリケーション214及びエージェント206を監視してもよい。通知監視API218は、エージェント206の登録、エージェント206へのコンフィギュレーション設定の配信、並びにサーバ及びエージェント206からの通知の送受信に使用されるRESTエンドポイントであってもよい。幾つかの実施形態において、通知監視API218はまた、WebSocket通信を使用してもよい。
サーバ側の永続層は、この例示的な実施形態では1対のサーバ、つまり、データベースサーバ222(例えば、SQLサーバなど)及びインデクササーバ224を含む。この実施形態のデータベースサーバ222は、ロボット、ロボットグループ、関連プロセス、ユーザ、ロール、スケジュールなどのコンフィギュレーションを記憶する。このような情報は、幾つかの実施形態において、ウェブアプリケーション214を介して管理される。データベースサーバ222は、キュー及びキューアイテムを管理してもよい。幾つかの実施形態において、データベースサーバ222は、(インデクササーバ224に加えて又はその代わりに)ロボットによってログに記録されたメッセージを記憶してもよい。幾つかの実施形態において任意であるインデクササーバ224は、ロボットによってログに記録された情報を記憶し、インデックスを付ける。特定の実施形態において、インデクササーバ224は、コンフィギュレーション設定を通じて無効にされてもよい。幾つかの実施形態において、インデクササーバ224は、オープンソースプロジェクトの全文検索エンジンであるElasticSearch(登録商標)を使用する。ロボットによって(例えば、ログメッセージ、行書き込みなどのアクティビティを使用して)ログに記録されたメッセージは、ロギングRESTエンドポイントを介してインデクササーバ224に送られてもよく、そこで将来の利用のためにインデックスが付けられてもよい。
図3は、一又は複数の実施形態による、RPAシステム300の簡略化されたデプロイメント例を示すアーキテクチャ図である。幾つかの実施形態において、RPAシステム300は、図1、図2のRPAシステム100及び/又は200であってもよいし、それを含んでもよい。RPAシステム300は、ロボットを実行する複数のクライアントコンピューティングシステム302を含む。コンピューティングシステム302は、そこで実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム304と通信可能である。次に、コンダクタコンピューティングシステム304は、データベースサーバ306及び任意のインデクササーバ308と通信する。図2、図3に関して、これらの実施形態においてウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、任意の適切なクライアント/サーバソフトウェアが使用されてもよいことに留意されたい。例えば、コンダクタは、クライアントコンピューティングシステム上の非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバ側アプリケーションを実行してもよい。
一実施形態において、RPAシステム300は、長時間実行ワークフローを実行するように実装されてもよい。本明細書で使用される場合、長時間実行ワークフローは、アクティビティを完了させるために外部イベントの発生に依存する一又は複数のアクティビティを含むワークフローである。特定の長時間実行ワークフローの外部イベントは、特定の長時間実行ワークフローの実行に起因しない任意のイベントである。長時間実行ワークフローは、比較的長い期間(例えば、数時間又は数日)にわたり実行され、いつでも一時停止、再開して、外部イベントの発生を待ってもよく、これにより、ワークフローに長時間実行される振る舞いが提供される。対照的に、長時間実行されていないワークフローのアクティビティは、外部イベントを待たずに継続的に実行される。
特に有利な一実施形態によれば、RPAシステム300は、ドキュメント処理のための長時間実行ワークフローを実行するように実装されてもよい。ドキュメント処理は、ドキュメント内の情報の一部又は全てを構造化するためにドキュメントに対して行われる動作を指す。例示的なドキュメント処理動作には、デジタル化、分類、及びデータ抽出が含まれる。自動ドキュメント処理に起因する潜在的なエラーに対処するために、長時間実行ワークフローには、ユーザがドキュメント処理の結果を確認できるようにするためのユーザ確認アクティビティが含まれてもよい。
図4は、一又は複数の実施形態による、入力ドキュメントからデータを抽出するための例示的な長時間実行ワークフロー400を示す。長時間実行ワークフロー400は、ロボットアクティビティ402、404、408とユーザアクティビティ406を含む。ロボットアクティビティ402は、ロボットによる、ドキュメントに対する光学式文字認識(OCR)の実行を定義する。ロボットアクティビティ404は、ロボットによる、OCR結果からのデータの抽出を定義する。ユーザアクティビティ406は、ユーザによる、抽出データの確認を定義する。ロボットアクティビティ408は、ロボットによる、確認された抽出データを使用してシステムを更新することを定義する。
長時間実行ワークフロー400では、ユーザアクティビティ406は、データ抽出結果を確認するユーザの外部イベントの発生に依存する。長時間実行ワークフロー400の実行は、データ処理結果を確認するユーザの入力を待つ間、一時停止されてもよく、ユーザの入力が受け取られると、再開されてもよい。長時間実行ワークフロー400を実行するロボットは、長時間実行ワークフロー400の実行が一時停止されたときに別のワークフローを実行するように割り当てられてもよく、これにより、リソースを最適化してもよい。長時間実行ワークフロー400の実行は、同じ又は異なるロボットを使用してアクティビティ406の完了時にアクティビティ408で再開されてもよい。
例えば図4の長時間ワークフロー400などの長時間ワークフローが、例えば図1のデザイナ102又は図2のデザイナ208を使用して、ユーザ(例えば、RPA開発者など)によって作成されてもよい。例えば、ユーザは、デザイナ102又はデザイナ208と対話して、複数の断片化されたアクティビティ(断片化された短時間実行ワークフローを含む)をつなぎ合わせて、長時間実行ワークフローを作成してもよい。一実施形態において、ユーザは、(例えば、図1のデザイナ102又は図2のデザイナ208において)新しいプロジェクトを作成してアクティビティを選択する(例えば、利用可能なアクティビティ及び/又はワークフローのセットからドラッグアンドドロップする)ことで、長時間実行ワークフローを作成する。
図5は、一又は複数の実施形態による、ドキュメント処理のための長時間実行RPAワークフローを実行する方法500を示す。方法500のステップは、コンピューティングデバイス(例えば、図7のコンピューティングシステム700など)で実行されている一又は複数のロボット(例えば、図1のアテンディッドロボット108又はアンアテンディッドロボット110又は図3のロボット302など)によって実行されてもよい。方法500は、図4の長時間実行ワークフロー400を参照して説明する。
ステップ502で、長時間実行ワークフローの一又は複数のドキュメント処理アクティビティが、入力ドキュメントを処理するために第1のロボットによって実行される。第1のロボットは、RPAワークフローを実行するための任意の適切なロボットであってもよい。一実施形態において、第1のロボットはアンアテンディッドロボットである。ドキュメント処理アクティビティは、例えばOCR、デジタル化、分類、データ抽出など、シリアル(直列)化可能なドキュメントを処理するための任意のロボットアクティビティであってもよい。一例において、ドキュメント処理アクティビティは、長時間実行ワークフロー400におけるOCRのロボットアクティビティ402とデータ抽出のロボットアクティビティ404である。アクティビティは、非同期の非ブロッキング方式で呼び出されてもよい。一実施形態において、アクティビティは、同期ブロッキング方式又は非同期ブロッキング方式で呼び出されてもよい非UIアクティビティを含む。非UIアクティビティは、例えば、外部システムへの呼び出し(例えば、データを取得するためのSAP(Systems Applications and Products)システムへのAPI呼び出しなど)を含んでもよい。呼び出しは非同期方式で実行されてもよい。つまり、APIへの呼び出しが実行され、返されたデータの処理が同時に定義され、スレッドは他のロジックに進んでもよい。一方、同期呼び出しは、呼び出しを実行し、データが受け取られるまで待機してスレッドをブロックし、データ処理を続行する。
ステップ504で、長時間実行ワークフローのユーザ確認アクティビティに応じて、長時間実行ワークフローの実行が、第1のロボットによって一時停止される。ユーザ確認アクティビティは、一又は複数のドキュメント処理アクティビティの結果を確認するためのものである。一例において、ユーザ確認アクティビティは、長時間実行ワークフロー400において抽出データを確認するユーザアクティビティ406である。長時間ワークフローは、エンドユーザからの一又は複数のドキュメント処理アクティビティの結果の確認という形でのユーザ入力を待つために、不特定の時間、一時停止される。
長時間実行ワークフローの実行を一時停止するために、一時停止時の長時間実行ワークフローの現在のコンテキストがシリアル化される。長期実行ワークフローの現在のコンテキストのシリアル化とは、長時間実行ワークフローの現在の状態(データ変数とその値)を、保存して後で再構築できる形式に変換するプロセスを指す。長時間実行ワークフローの現在のコンテキストは、例えば図2のデータベースサーバ222、図3のデータベースサーバ306などの中央永続ストレージに記憶される。
ステップ506で、エンドユーザからの結果の確認を要求するユーザ要求が生成される。ユーザ要求は、入力ドキュメント、デジタル化されたバージョンの入力ドキュメント、入力ドキュメントに関連付けられた分類情報、一又は複数のドキュメント処理アクティビティの結果を含んでもよい。一実施形態において、ユーザ要求は、エンドユーザが一又は複数のドキュメント処理アクティビティの結果を確認できるようにするユーザインタフェースを含んでもよい。ユーザインタフェースは、ユーザが確認を完了するのを最も良く支援するために、ユーザ要求の情報の提示を可能にする。ユーザインタフェースは、ビジネスユースケースのニーズに応じて構成されてもよい。例示的なユーザインタフェースを図6に示し、これは後でさらに詳細に説明する。
ステップ508で、ユーザ要求はエンドユーザに送られる。ユーザ要求は、エンドユーザに、一又は複数のドキュメント処理アクティビティの結果を確認するにはユーザ入力が必要であることを通知する。ユーザ要求に応じて、エンドユーザは、ドキュメント処理結果を選択し、ドキュメント処理結果を入力ドキュメントと比較し、ドキュメント処理結果を修正することで、エンドユーザはユーザ要求と対話して一又は複数のドキュメント処理アクティビティの結果を確認する。
一実施形態において、一又は複数のドキュメント処理アクティビティの結果の確認が要求されていることを示す通知も、エンドユーザに送られる。通知は、エンドユーザが結果を確認できるようにするためのユーザインタフェースへのリンクを含んでもよいし、その他の方法でエンドユーザをユーザインタフェースに誘導してもよい。通知は、モバイルデバイス通知、テキストメッセージ、電子メールなどであってもよい。
ステップ510で、長時間実行ワークフローの実行が、エンドユーザから受け取られた確認の内容に基づいて、第2のロボットによって再開される。例えば、長時間実行ワークフロー400の実行は、データ抽出の結果を確認するユーザアクティビティ406のため受け取られたユーザ入力に基づいて、システムを更新するロボットアクティビティ408を実行することで、再開されてもよい。エンドユーザから受け取られた一又は複数のドキュメント処理アクティビティの結果の確認の内容は、一又は複数のドキュメント処理の結果が正確であるか否かを示すもの、及び/又は、一又は複数のドキュメント処理アクティビティの修正された結果を含んでもよい。
第2のロボットは、RPAワークフローを実行するための任意の適切なロボット(例えば、アンアテンディッドロボットなど)であってもよい。第1のロボットと第2のロボットは、同じロボットであっても異なるロボットであってもよい。一実施形態において、第2のロボットは、長時間実行ワークフローに関連する利用可能な複数のロボットのうち第1の利用可能なロボットである。
一実施形態において、長時間実行ワークフローの実行は、中央永続ストレージ(例えば、図2のデータベースサーバ222、図3のデータベースサーバ306など)から長時間実行ワークフローの現在のコンテキストを取得することで、再開される。したがって、長時間実行ワークフローが後で更新又は変更された場合でも(例えば、長時間実行フローの実行の一時停止後など)、中央永続ストレージに記憶されていた一時停止時のワークフロー状態(データ変数とその値)を使用して、長時間実行ワークフローの実行が再開される。
長時間実行ワークフローは、任意の数のインスタンスで一時停止されてもよい。したがって、方法500は、長時間実行ワークフローの実行が完了するまで、ユーザ確認アクティビティに応じて再開された長時間実行ワークフローが一時停止されるたびにステップ504に戻ることで、反復されてもよい。
方法500のステップは、一又は複数のロボットによって実行されてもよいが、それらのステップの調整は、例えば、図1のコンダクタ104、図2のコンダクタ212、図3のコンダクタ304などのオーケストレータによって管理される。詳細には、方法500に関して、オーケストレータは、ステップ502を実行するために、一又は複数のドキュメント処理アクティビティを実行する指示を第1のロボットに送り、ステップ504を実行するために、長時間実行ワークフローの実行を一時停止する指示を第1のロボットに送り、第1のロボットから(ステップ506で生成された)生成されたユーザ要求を受け取り、ステップ508を実行するために、生成されたユーザ要求をエンドユーザに送り、ユーザ要求に応じてエンドユーザから一又は複数のドキュメント処理アクティビティの結果の確認を受け取り、ステップ510を実行するために、長時間実行ワークフローの実行を再開する指示を第2のロボットに送る。したがって、長時間実行ワークフローは、オーケストレータによって集約的な方法で調整されるが、異なるロボットによって分散的な方法で実行されてもよい。
有利には、長時間実行ワークフローの一時停止及び再開により、ロボットによる継続的な監視又は待機を必要とせずに、長時間実行ワークフローを実行するための最適なリソース割り当てが可能になる。
図6は、一又は複数の実施形態による、入力ドキュメントに対して実行された長時間実行ワークフローのデータ抽出ドキュメント処理アクティビティを確認するためのユーザインタフェース600を示す。同様のユーザインタフェースが、他のドキュメント処理アクティビティ(例えば、OCR、デジタル化、分類など)に提供されてもよい。データ抽出の結果の確認を要求するユーザ要求と対話するエンドユーザに応じて、ユーザインタフェース600がエンドユーザに提示されてもよい。一実施形態において、ユーザ要求は、図5の方法500のステップ508でエンドユーザに送られていてもよい。
ユーザインタフェースは、データ抽出の結果を示すビュー602と、一又は複数のドキュメント処理アクティビティが適用される入力ドキュメントを示すビュー604とを含む。一実施形態において、ビュー602及びビュー604は、エンドユーザによる一又は複数のドキュメント処理アクティビティの結果の確認を容易にするために、並列構成でユーザインタフェース600に示される。図6に示すように、ビュー602及びビュー604は、左側と右側に並んだ構成であるが、他の構成(例えば、上側と下側など)も可能である。
ビュー602は、抽出されたドキュメント種類データ606−A、抽出された請求書番号データ606−B、抽出された請求書日付データ606−C、抽出された会社名データ606−D、及び抽出された総額データ606−E(総称して、抽出データ606という)を示し、それぞれの抽出データは、ビュー604に示される入力ドキュメントの対応する元データ608−A〜608−E(総称して、元データ608という)から抽出される。ユーザインタフェース600は、ビュー604の元データ608と共にビュー602の抽出データ606を示すように構成され、これにより、エンドユーザは自動的に決定された抽出データ606を確認できる。
エンドユーザは、ビュー602及び/又はビュー604と対話して、抽出データ606の確認を容易にすることができる。一実施形態において、エンドユーザは、ビュー602で抽出データ606を選択して、ビュー602における抽出データ606及びビュー604における対応する元のデータ608を強調表示してもよい(或いは、同様に、ユーザは、ビュー604における元のデータ608を選択して、元データ608及びその対応する抽出データ606を強調表示してもよい)。例えば、図6に示すように、抽出された請求書番号データ606−Bは、抽出された請求書番号データ606−B及びその対応する元データ608−Bを強調するためにエンドユーザによって選択される。図6に示すように、抽出された請求書番号データ606−Bは、ビュー602では請求書番号(Invoice Number)として抽出されているが、ビュー604では税ID(Tax ID)として元データ608−Bから抽出されている。したがって、抽出された請求書番号データ606−B及びその対応する元データ608−Bは、ユーザがユーザインタフェース600を使用して訂正してもよい、誤ったデータ抽出の例である。一実施形態において、ユーザは、ビュー604における入力ドキュメントから単語又は一連の語句を元データ608として選択し、その選択を、ビュー604における抽出データ606としてのフィールドの値として割り当て、これにより、抽出データ606にデータを追加又は変更してもよい。抽出された請求書番号データ606−Bとその対応する元データ608−Bは、図6で強調表示されているものとして示されているが、選択された抽出データ606及び元データ608は、例えば、フォント、フォントスタイル(例えば、太字、斜体など)、フォントサイズ、フォント色など、エンドユーザの注意を引くため任意の適切な方法でユーザインタフェース600に表示されてもよいことを理解されたい。
一実施形態において、エンドユーザは、抽出データ606を元データ608と比較し、例えば比較に基づいて抽出データ606を削除、追加、修正、及び/又は置換することにより、抽出データ606を修正することで、抽出データ606を確認してもよい。別の実施形態において、エンドユーザは、抽出データ606が正確であるか否かを示すものを提供することで、抽出データ606を確認してもよい。確認されると、エンドユーザは、確認された抽出データ606を提出し、オーケストレータに確認の内容を送り、これにより、長時間実行ワークフローの実行を再開してもよい。
図7は、本発明の一実施形態による、図4を参照して説明された方法を実行するように構成されたコンピューティングシステム700を示すブロック図である。幾つかの実施形態において、コンピューティングシステム700は、本出願において図示及び/又は説明される一又は複数のコンピューティングシステムであってもよい。コンピューティングシステム700は、情報を通信するためのバス702又は他の通信メカニズムと、情報を処理するためにバス702に接続されたプロセッサ704とを含む。プロセッサ704は、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数の例、及び/又はそれらのうちの任意の組み合わせを含む、任意の種類の汎用又は特定用途のプロセッサであってもよい。プロセッサ704はまた、複数の処理コアを有してもよく、コアの少なくとも一部が、特定の機能を実行するように構成されてもよい。幾つかの実施形態において、複数並列処理が使用されてもよい。
コンピューティングシステム700は、プロセッサ704によって実行される情報及び命令を記憶するためのメモリ706をさらに含む。メモリ706は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、キャッシュ、例えば磁気若しくは光ディスクなどの静的記憶装置、又は任意の他の種類の非一時的なコンピュータ読み取り可能な媒体、又はこれらのうちの組み合わせのうちの任意の組み合わせから構成されてもよい。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ704によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体、又はその両方を含んでもよい。媒体は、取り外し可能、取り外し不可能、又はその両方であってもよい。
さらに、コンピューティングシステム700は、任意の現在存在する又は将来実施される通信規格及び/又はプロトコルに従って無線及び/又は有線接続を介して通信ネットワークへのアクセスを提供するために、例えばトランシーバなどの通信デバイス708を含む。
プロセッサ704は、バス702を介して、ユーザに情報を表示するのに適切なディスプレイ710にさらに接続される。また、ディスプレイ710は、タッチディスプレイ及び/又は任意の適切な触覚I/Oデバイスとして構成されてもよい。
キーボード712と、例えばコンピュータマウス、タッチパッドなどのカーソル制御デバイス714とが、さらにバス702に接続されて、ユーザがコンピューティングシステムとインタフェースをとることを可能にする。しかし、特定の実施形態において、物理的なキーボード及びマウスが存在しなくてもよく、ユーザは、ディスプレイ710及び/又はタッチパッド(図示略)を介してのみデバイスと対話してもよい。入力デバイスの任意の種類及び組み合わせが、設計上の選択事項として使用されてもよい。特定の実施形態において、物理的な入力デバイス及び/又はディスプレイが存在しない。例えば、ユーザは、コンピューティングシステム700と通信する別のコンピューティングシステムを介してリモートでコンピューティングシステム700と対話してもよく、或いは、コンピューティングシステム700は自律的に動作してもよい。
メモリ706は、プロセッサ704によって実行されると機能を提供するソフトウェアモジュールを記憶する。該モジュールは、コンピューティングシステム700用のオペレーティングシステム716を含み、本明細書に記載されているプロセス又はその派生のプロセスの全て又は一部を実行するように構成される一又は複数の追加の機能モジュール718を含む。
当業者は、「システム」が、本発明の範囲から逸脱することなく、サーバ、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、任意の他の適切なコンピューティングデバイス、又はデバイスの組み合わせとして具現化され得ることを理解するであろう。上記の機能を「システム」によって実行されるものとして示すことは、決して本発明の範囲を限定することを意図するものではなく、本発明の多くの実施形態の一例を示すことを意図する。実際、本明細書において開示される方法、システム、及び装置は、クラウドコンピューティングシステムを含むコンピューティング技術と整合するローカライズされ分散された形式で実装されてもよい。
本明細書に記載されているシステム機能の一部は、実装の独立性をより強調するため、モジュールとして示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路又はゲートアレイを含むハードウェア回路、ロジックチップ、トランジスタ、又は他のディスクリートコンポーネントなどの既製の半導体として実装されてもよい。モジュールは、例えばフィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装されてもよい。モジュールは、様々な種類のプロセッサによる実行のため、ソフトウェアで少なくとも部分的に実装されてもよい。例えば、実行可能コードの識別されたユニットは、例えばオブジェクト、手順、又は機能として構成され得るコンピュータ命令の一又は複数の物理ブロック又は論理ブロックを含んでもよい。これにも関わらず、識別されたモジュールの実行可能ファイルは物理的に一緒に配置される必要はないが、論理的に結合されるとモジュールを含んでモジュールの上記目的を達成するような様々な場所に記憶された異種の命令を含んでもよい。さらに、モジュールは、本発明の範囲から逸脱することなく、コンピュータ読み取り可能な媒体に記憶されてもよく、コンピュータ読み取り可能な媒体は、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、及び/又はデータを記憶するために使用される他のそのような非一時的なコンピュータ読み取り可能な媒体であってもよい。実際、実行可能コードのモジュールは、単一の命令であっても多数の命令であってもよく、異なるプログラム間で複数の異なるコードセグメントにわたり、複数のメモリデバイスにわたって分散されてもよい。同様に、動作データが、識別されて、本明細書においてモジュール内に示されてもよく、任意の適切な形式で具体化され、任意の適切な種類のデータ構造内で構成されてもよい。動作データは、単一のデータセットとしてまとめられてもよく、或いは、異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、単にシステム又はネットワーク上の電子信号として存在してもよい。
上記は本開示の原理を単に例示する。したがって、当業者は、本明細書で明示的に説明又は示されていないが、本開示の原理を具現化してその主旨及び範囲内に含まれる様々な構成を考案できるであろうことを理解するであろう。さらに、本明細書に記載されている全ての例及び条件付き文言は、主に、本開示の原理と本技術を発展させるため発明者によって提供された概念とを読み手が理解するのを助けるための教育目的のみを意図しており、そのような具体的に記載された例及び条件に限定しないものとして解釈されるべきである。さらに、本開示の原理、態様、及び実施形態、並びにこれらの具体的な例を記載する本明細書における全ての記述は、その構造的均等物及び機能的均等物の両方を包含することが意図される。さらに、そのような均等物には、現在知られている均等物と将来開発される均等物の両方が含まれることが意図される。

Claims (30)

  1. ドキュメント処理のためのロボティックプロセスオートメーション(RPA)ワークフローを実行するためのコンピュータ実施方法であって、
    第1のロボットによってRPAワークフローの一又は複数のドキュメント処理アクティビティを実行して、入力ドキュメントを処理することと、
    前記一又は複数のドキュメント処理アクティビティの結果を確認するための前記RPAワークフローのユーザ確認アクティビティに応じて、前記第1のロボットによる前記RPAワークフローの実行を一時停止することと、
    エンドユーザからの前記結果の確認を要求するユーザ要求を生成することと、
    前記ユーザ要求を前記エンドユーザに送ることと、
    前記エンドユーザから受け取られた前記確認の内容に基づいて第2のロボットによって前記RPAワークフローの実行を再開することと、
    を含むことを特徴とするコンピュータ実施方法。
  2. 前記エンドユーザから受け取られた前記確認の内容は、前記結果が正確であるか否かを示すものを含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  3. 前記エンドユーザから受け取られた前記確認の内容は、前記一又は複数のドキュメント処理アクティビティの修正された結果を含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  4. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることをさらに含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  5. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることは、前記入力ドキュメントと前記結果を並列構成で表示させることを含むことを特徴とする、請求項4に記載のコンピュータ実施方法。
  6. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることは、
    前記エンドユーザから前記一又は複数のドキュメント処理アクティビティの結果のうちの特定の結果の選択を受け取ることと、
    前記特定の結果と前記入力ドキュメントの対応する元データとを強調表示させることと、
    を含むことを特徴とする、請求項4に記載のコンピュータ実施方法。
  7. 前記一又は複数のドキュメント処理アクティビティは、光学式文字認識、デジタル化、分類、データ抽出のうちの一又は複数を含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  8. 前記結果の確認が要求されていることを示す通知を前記エンドユーザに送ることをさらに含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  9. 前記第1のロボットと前記第2のロボットは同じロボットであることを特徴とする、請求項1に記載のコンピュータ実施方法。
  10. 前記第1のロボットと前記第2のロボットは異なるロボットであることを特徴とする、請求項1に記載のコンピュータ実施方法。
  11. ドキュメント処理のためのロボティックプロセスオートメーション(RPA)ワークフローを実行するためのシステムであって、
    前記システムは、
    コンピュータ命令を記憶するメモリと、
    前記コンピュータ命令を実行するように構成された少なくとも1つのプロセッサと、
    を備え、
    前記コンピュータ命令は、
    第1のロボットによってRPAワークフローの一又は複数のドキュメント処理アクティビティを実行して、入力ドキュメントを処理することと、
    前記一又は複数のドキュメント処理アクティビティの結果を確認するための前記RPAワークフローのユーザ確認アクティビティに応じて、前記第1のロボットによる前記RPAワークフローの実行を一時停止することと、
    エンドユーザからの前記結果の確認を要求するユーザ要求を生成することと、
    前記ユーザ要求を前記エンドユーザに送ることと、
    前記エンドユーザから受け取られた前記確認の内容に基づいて第2のロボットによって前記RPAワークフローの実行を再開することと、
    を含む動作を前記少なくとも1つのプロセッサに実行させるように構成されていることを特徴とするシステム。
  12. 前記エンドユーザから受け取られた前記確認の内容は、前記結果が正確であるか否かを示すものを含むことを特徴とする、請求項11に記載のシステム。
  13. 前記エンドユーザから受け取られた前記確認の内容は、前記一又は複数のドキュメント処理アクティビティの修正された結果を含むことを特徴とする、請求項11に記載のシステム。
  14. 前記動作は、前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることをさらに含むことを特徴とする、請求項11に記載のシステム。
  15. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることは、前記入力ドキュメントと前記結果を並列構成で表示させることを含むことを特徴とする、請求項14に記載のシステム。
  16. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることは、
    前記エンドユーザから前記一又は複数のドキュメント処理アクティビティの結果のうちの特定の結果の選択を受け取ることと、
    前記特定の結果と前記入力ドキュメントの対応する元データとを強調表示させることと、
    を含むことを特徴とする、請求項14に記載のシステム。
  17. 前記一又は複数のドキュメント処理アクティビティは、光学式文字認識、デジタル化、分類、データ抽出のうちの一又は複数を含むことを特徴とする、請求項11に記載のシステム。
  18. 前記動作は、前記結果の確認が要求されていることを示す通知を前記エンドユーザに送ることをさらに含むことを特徴とする、請求項11に記載のシステム。
  19. 前記第1のロボットと前記第2のロボットは同じロボットであることを特徴とする、請求項11に記載のシステム。
  20. 前記第1のロボットと前記第2のロボットは異なるロボットであることを特徴とする、請求項11に記載のシステム。
  21. ドキュメント処理のためのロボティックプロセスオートメーション(RPA)ワークフローを実行するための、非一時的なコンピュータ読み取り可能な媒体で具現化されたコンピュータプログラムであって、
    第1のロボットによってRPAワークフローの一又は複数のドキュメント処理アクティビティを実行して、入力ドキュメントを処理することと、
    前記一又は複数のドキュメント処理アクティビティの結果を確認するための前記RPAワークフローのユーザ確認アクティビティに応じて、前記第1のロボットによる前記RPAワークフローの実行を一時停止することと、
    エンドユーザからの前記結果の確認を要求するユーザ要求を生成することと、
    前記ユーザ要求を前記エンドユーザに送ることと、
    前記エンドユーザから受け取られた前記確認の内容に基づいて第2のロボットによって前記RPAワークフローの実行を再開することと、
    を含む動作を少なくとも1つのプロセッサに実行させるように構成されていることを特徴とするコンピュータプログラム。
  22. 前記エンドユーザから受け取られた前記確認の内容は、前記結果が正確であるか否かを示すものを含むことを特徴とする、請求項21に記載のコンピュータプログラム。
  23. 前記エンドユーザから受け取られた前記確認の内容は、前記一又は複数のドキュメント処理アクティビティの修正された結果を含むことを特徴とする、請求項21に記載のコンピュータプログラム。
  24. 前記動作は、前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることをさらに含むことを特徴とする、請求項21に記載のコンピュータプログラム。
  25. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることは、前記入力ドキュメントと前記結果を並列構成で表示させることを含むことを特徴とする、請求項24に記載のコンピュータプログラム。
  26. 前記入力ドキュメントと前記結果を前記エンドユーザに対して提示するために示すユーザインタフェースを表示させることは、
    前記エンドユーザから前記一又は複数のドキュメント処理アクティビティの結果のうちの特定の結果の選択を受け取ることと、
    前記特定の結果と前記入力ドキュメントの対応する元データとを強調表示させることと、
    を含むことを特徴とする、請求項24に記載のコンピュータプログラム。
  27. 前記一又は複数のドキュメント処理アクティビティは、光学式文字認識、デジタル化、分類、データ抽出のうちの一又は複数を含むことを特徴とする、請求項21に記載のコンピュータプログラム。
  28. 前記動作は、前記結果の確認が要求されていることを示す通知を前記エンドユーザに送ることをさらに含むことを特徴とする、請求項21に記載のコンピュータプログラム。
  29. 前記第1のロボットと前記第2のロボットは同じロボットであることを特徴とする、請求項21に記載のコンピュータプログラム。
  30. 前記第1のロボットと前記第2のロボットは異なるロボットであることを特徴とする、請求項21に記載のコンピュータプログラム。
JP2020136136A 2019-10-16 2020-08-12 ロボティックプロセスオートメーションを使用するドキュメント処理のための長時間実行ワークフロー Pending JP2021064353A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/654,653 US10860905B1 (en) 2019-10-16 2019-10-16 Long running workflows for document processing using robotic process automation
US16/654,653 2019-10-16

Publications (1)

Publication Number Publication Date
JP2021064353A true JP2021064353A (ja) 2021-04-22

Family

ID=72521479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020136136A Pending JP2021064353A (ja) 2019-10-16 2020-08-12 ロボティックプロセスオートメーションを使用するドキュメント処理のための長時間実行ワークフロー

Country Status (5)

Country Link
US (3) US10860905B1 (ja)
EP (1) EP3809319A1 (ja)
JP (1) JP2021064353A (ja)
KR (1) KR20210045299A (ja)
CN (1) CN112668386A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138539B2 (en) * 2017-08-25 2021-10-05 Target Brands, Inc. Robtic business process automation system utilizing reusable task-based microbots
US11446818B2 (en) 2019-10-01 2022-09-20 UiPath, Inc. Resuming robotic process automation workflows based on external triggers
US10860905B1 (en) * 2019-10-16 2020-12-08 UiPath, Inc. Long running workflows for document processing using robotic process automation
US11334465B2 (en) 2019-10-16 2022-05-17 UiPath, Inc. Long running workflows for robotic process automation
KR20210048865A (ko) * 2019-10-24 2021-05-04 삼성에스디에스 주식회사 로봇 프로세스 자동화 장치 및 그것의 변경점 탐지 방법
US11232454B2 (en) 2019-11-14 2022-01-25 Bank Of America Corporation Authentication framework for real-time document processing
US11110601B2 (en) * 2019-11-20 2021-09-07 UiPath, Inc. Scheduling robots for robotic process automation
US11321124B2 (en) 2019-12-23 2022-05-03 UiPath, Inc. On-demand cloud robots for robotic process automation
US11233861B2 (en) 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
US10654166B1 (en) 2020-02-18 2020-05-19 UiPath, Inc. Automation windows for robotic process automation
US11392477B2 (en) 2020-07-09 2022-07-19 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session
US11507259B2 (en) * 2020-09-08 2022-11-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection
US11288064B1 (en) * 2020-09-14 2022-03-29 Sap Se Robotic process automation for interactive documentation
US20220197249A1 (en) * 2020-12-18 2022-06-23 UiPath Inc. Dynamic Cloud Deployment of Robotic Process Automation (RPA) Robots
US20230107316A1 (en) 2021-10-05 2023-04-06 UiPath, Inc. Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation
US11816621B2 (en) * 2021-10-26 2023-11-14 Bank Of America Corporation Multi-computer tool for tracking and analysis of bot performance
CN113938658A (zh) * 2021-11-29 2022-01-14 京北方信息技术股份有限公司 一种机器人实时监控方法、装置、存储介质及电子设备
US20230339102A1 (en) 2022-04-20 2023-10-26 UiPath, Inc. System, apparatus, and method for deploying robotic process automations across multiple operating systems
US20240142917A1 (en) 2022-10-27 2024-05-02 UiPath, Inc. Semantic automation builder for robotic process automation

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1256900A1 (en) * 2001-05-09 2002-11-13 Requisite Technology Inc. Database entry system and method employing optical character recognition
US20050147054A1 (en) * 2003-10-23 2005-07-07 Loo Rose P. Navigational bar
JP2006345318A (ja) * 2005-06-09 2006-12-21 Canon Inc 画像処理システム及び画像処理方法
US8457448B2 (en) * 2008-02-04 2013-06-04 Hewlett-Packard Development Company, L.P. Removing inserted text from an image using extrapolation for replacement pixels after optical character recognition
US20100064357A1 (en) 2008-09-09 2010-03-11 Kerstin Baird Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes
US9754231B2 (en) 2009-03-11 2017-09-05 International Business Machines Corporation Human task integration into BPEL process via presence driven delivery
US8375389B2 (en) 2010-10-20 2013-02-12 Microsoft Corporation Ordered scheduling of suspended processes based on resumption events
US10372508B2 (en) 2016-03-17 2019-08-06 Wipro Limited Method and system for dynamically integrating bots
US11295228B2 (en) 2016-03-21 2022-04-05 Wipro Limited Methods for creating automated dynamic workflows of interoperable bots and devices thereof
US11107090B2 (en) * 2016-06-06 2021-08-31 Epiance Software Pvt. Ltd. System and method for automated content generation
US11138540B2 (en) 2016-07-20 2021-10-05 Hewlett-Packard Development Company, L.P. Creating digital workers in organizations
US10339027B2 (en) 2016-09-06 2019-07-02 Accenture Global Solutions Limited Automation identification diagnostic tool
US10402163B2 (en) 2017-02-14 2019-09-03 Accenture Global Solutions Limited Intelligent data extraction
US10682761B2 (en) * 2017-06-21 2020-06-16 Nice Ltd System and method for detecting and fixing robotic process automation failures
US11003796B2 (en) * 2017-06-30 2021-05-11 Accenture Global Solutions Limited Artificial intelligence based document processor
US11562143B2 (en) * 2017-06-30 2023-01-24 Accenture Global Solutions Limited Artificial intelligence (AI) based document processor
US10489502B2 (en) * 2017-06-30 2019-11-26 Accenture Global Solutions Limited Document processing
US11074528B2 (en) 2017-08-31 2021-07-27 Accenture Global Solutions Limited Robotic operations control system for a blended workforce
US10474755B2 (en) * 2017-11-03 2019-11-12 Bank Of America Corporation Robotics assisted production support utility
US20190155225A1 (en) 2017-11-21 2019-05-23 Accenture Global Solutions Limited Bot management framework for robotic process automation systems
US11709854B2 (en) * 2018-01-02 2023-07-25 Bank Of America Corporation Artificial intelligence based smart data engine
US10726045B2 (en) * 2018-03-19 2020-07-28 Accenture Global Solutions Limited Resource-efficient record processing in unified automation platforms for robotic process automation
US11366857B2 (en) * 2018-08-21 2022-06-21 Directly, Inc. Artificial intelligence communications agent
US10698745B2 (en) * 2018-08-29 2020-06-30 Accenture Global Solutions Limited Adapter extension for inbound messages from robotic automation platforms to unified automation platform
US11687827B2 (en) * 2018-10-04 2023-06-27 Accenture Global Solutions Limited Artificial intelligence (AI)-based regulatory data processing system
US11367027B2 (en) * 2018-10-25 2022-06-21 Nintex UK Ltd. Titanium task-engine system
US11429433B2 (en) * 2019-01-16 2022-08-30 Epiance Software Pvt. Ltd. Process discovery and automatic robotic scripts generation for distributed computing resources
US10599722B1 (en) * 2019-05-17 2020-03-24 Fmr Llc Systems and methods for automated document comparison
US10963231B1 (en) * 2019-10-15 2021-03-30 UiPath, Inc. Using artificial intelligence to select and chain models for robotic process automation
US10860905B1 (en) * 2019-10-16 2020-12-08 UiPath, Inc. Long running workflows for document processing using robotic process automation
US11233861B2 (en) * 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
US10654166B1 (en) * 2020-02-18 2020-05-19 UiPath, Inc. Automation windows for robotic process automation
US11392477B2 (en) * 2020-07-09 2022-07-19 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session

Also Published As

Publication number Publication date
US10860905B1 (en) 2020-12-08
EP3809319A1 (en) 2021-04-21
US20220156540A1 (en) 2022-05-19
CN112668386A (zh) 2021-04-16
KR20210045299A (ko) 2021-04-26
US20210117742A1 (en) 2021-04-22
US11288557B2 (en) 2022-03-29
US11593599B2 (en) 2023-02-28

Similar Documents

Publication Publication Date Title
US11593599B2 (en) Long running workflows for document processing using robotic process automation
US11334465B2 (en) Long running workflows for robotic process automation
JP7088989B2 (ja) 実行時のデジタルプロセスにおける人工知能/機械学習モデルの動的な更新、又は再訓練及び更新
US11738453B2 (en) Integration of heterogeneous models into robotic process automation workflows
KR102339757B1 (ko) 로봇 프로세스 자동화를 위한 로봇 스케줄링
US11442837B2 (en) Monitoring long running workflows for robotic process automation
CN115243838A (zh) 针对机器人流程自动化(rpa)机器人的会话间自动化
KR20220083976A (ko) 액션 센터, 인공 지능(ai)/머신 학습(ml) 모델 재트레이닝 하드웨어 제어, 및 ai/ml 모델 설정 관리를 통한 ai/ml 모델들의 보충
JP2022552466A (ja) ロボティック・プロセス・オートメーション・ワークフローのための再構成可能なワークベンチパイプライン
US20220092263A1 (en) Self-improving document classification and splitting for document processing in robotic process automation
KR20220143983A (ko) 자체 머신 가져오기(byom)
US20220091908A1 (en) Filter instantiation for process graphs of rpa workflows
US11966566B2 (en) Mapping interactive UI elements to RPA object repositories for RPA development
US11971705B2 (en) Autoscaling strategies for robotic process automation
US20240184271A1 (en) Autoscaling strategies for robotic process automation
US20230101948A1 (en) Generation of rpa platform design components for configuring rpa platforms
KR20230056524A (ko) 로봇 프로세스 자동화 데이터 커넥터

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210915

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240318