JP2023508784A - ロボティックプロセスオートメーションのためのオンデマンドクラウドロボット - Google Patents

ロボティックプロセスオートメーションのためのオンデマンドクラウドロボット Download PDF

Info

Publication number
JP2023508784A
JP2023508784A JP2020564879A JP2020564879A JP2023508784A JP 2023508784 A JP2023508784 A JP 2023508784A JP 2020564879 A JP2020564879 A JP 2020564879A JP 2020564879 A JP2020564879 A JP 2020564879A JP 2023508784 A JP2023508784 A JP 2023508784A
Authority
JP
Japan
Prior art keywords
cloud
rpa
robot
robots
computing environment
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
JP2020564879A
Other languages
English (en)
Inventor
マドクール タレク
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 JP2023508784A publication Critical patent/JP2023508784A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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
    • 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
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Educational Administration (AREA)
  • Computer And Data Communications (AREA)
  • Manipulator (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

クラウドでロボティックプロセスオートメーション(RPA)を実装するためのシステムおよび方法が提供される。クラウドコンピューティング環境のオーケストレータで、ローカルコンピューティング環境におけるユーザーからRPAロボットを管理するための命令が受信される。命令を受信したことに応答して、RPAロボットを管理するための命令が実行される。【選択図】図1

Description

(関連出願への相互参照)
本出願は、2019年12月23日に出願された米国特許出願第16/725,706号の優先権を主張し、その開示は、その全体が参照により本明細書に組み込まれる。
本発明は概して、ロボティックプロセスオートメーションに関するものであり、より詳細には、ロボティックプロセスオートメーションのためのオンデマンドクラウドロボットに関するものである。
ロボティックプロセスオートメーション(RPA)は、ソフトウェアロボットを使ってワークフローを自動化するプロセスオートメーションの一形態である。通常、RPAは、企業が管理するローカルコンピューティングインフラストラクチャ上に企業向けに実装される。しかし、このようなRPAのローカル実装では、継続的に稼働しているサーバーをプロビジョニングするための大規模なコンピューティングインフラストラクチャを維持する必要がある。最近では、クラウドコンピューティング技術を活用してロボットをクラウド上に実装することができるようになった。しかし、クラウド上で継続的に稼働するロボットを維持するためのコストは法外なものである。
(実施形態の簡単な概要)
1または複数の実施形態により、ロボティックプロセスオートメーション(RPA)ロボットのクラウドベース管理のためのシステムおよび方法が提供される。クラウドコンピューティング環境のオーケストレータで、ローカルコンピューティング環境におけるユーザーからRPAロボットを管理するための命令が受信される。命令は、RPAロボットを作製すること、RPAロボットをプロビジョニングすること、RPAロボット上のタスクをスケジューリングすること、またはRPAロボットをデコミッションするための命令を含み得る。命令を受信したことに応答して、RPAロボットを管理するための命令が実行される。
1つの実施形態では、RPAロボットを管理するための命令が、RPAロボットを作製するための命令である場合、命令は、クラウドコンピューティング環境においてユーザーにより管理されるクラウドネットワークで実行するためのRPAロボットを作製すること、クラウドコンピューティング環境においてクラウドサービスプロバイダ(オーケストレータに関連付けられている)により管理されるクラウドネットワークで実行するためのRPAロボットを作製すること、またはローカルコンピューティング環境においてユーザーにより管理されるローカルネットワークで実行するためのRPAロボットを作製することにより実行される。
1つの実施形態では、RPAロボットが、クラウドコンピューティング環境でタスクを実行し、タスクの結果をローカルコンピューティング環境に送信するためのものである。RPAロボットがタスクを実行していないとき、RPAロボットが運転コストを低減した待機モードにある。
1つの実施形態により、ロボティックプロセスオートメーション(RPA)ロボットのクラウドベース管理のためのシステムおよび方法が提供される。クラウドロボットプールは、クラウドコンピューティング環境で維持される。クラウドロボットプールは、ローカルコンピューティング環境のユーザーのためにクラウドコンピューティング環境でタスクを実行するための1または複数のクラウドRPAロボットを含む。クラウドロボットプールは、クラウドコンピューティング環境に実装されたクラウドオーケストレータを使用して、管理される。
1つの実施形態では、クラウドロボットプールを管理することは、クラウドロボットプールに新しいクラウドRPAロボットを作製すること、1もしくは複数のクラウドRPAロボットをプロビジョニングすること、1もしくは複数のクラウドRPAロボットのタスクをスケジューリングすること、または1もしくは複数のクラウドRPAロボットをデコミッションすることのうちの1または複数を含む。
1つの実施形態では、クラウドロボットプールは、ユーザーにより管理されるクラウドネットワークで実行される1もしくは複数のクラウド管理されるRPAロボットを含むクラウド管理されるロボットプール、またはクラウドサービスプロバイダにより管理されるクラウドネットワークで実行される1もしくは複数のクラウドサービスRPAロボットを含むクラウドサービスロボットプールを含む。1または複数のクラウドRPAロボットがタスクを実行していないとき、1または複数のクラウドRPAロボットが運転コストを低減した待機モードにある。1つの実施形態では、ユーザーにより管理されるローカルネットワークで実行される1または複数のローカルRPAロボットを含むローカルロボットプールも維持される。
(実施形態の詳細な説明)
本発明のこれらおよび他の利点は、以下の詳細な説明および添付の図面を参照することにより、当業者に明らかとなるであろう。
本発明の実施形態による、ロボティックプロセスオートメーションシステムを示すアーキテクチャ図である。
本発明の実施形態による、展開したロボティックプロセスオートメーションシステムの一例を示すアーキテクチャ図である。
本発明の実施形態による、ロボティックプロセスオートメーションシステムの簡略化されたデプロイメントの一例を示すアーキテクチャ図である。
本発明の実施形態による、ロボティックプロセスオートメーションロボットのクラウドベースの管理を実装するためのネットワークアーキテクチャを示す。
本発明の実施形態による、ロボティックプロセスオートメーションロボットのクラウドベースの管理の方法を示す。
本発明の実施形態による、コンピューティングシステムのブロック図である。
(詳細な説明)
ロボティックプロセスオートメーション(RPA)は、様々なタスクおよびワークフローを自動化するために使用される。図1は、1または複数の実施形態によるRPAシステム100のアーキテクチャ図である。図1に示すように、RPAシステム100は、開発者がワークフローを使用して自動化プロセスを設計できるようにするためのデザイナ102を含む。より具体的には、デザイナ102は、ワークフローおよびワークフロー内のアクティビティを実行するためのロボットの開発およびデプロイメントを容易にする。デザイナ102は、アプリケーション統合のためのソリューションを提供するとともに、サードパーティアプリケーション、管理情報技術(IT)タスク、およびコンタクトセンター運営のビジネスプロセスを自動化する。デザイナ102の実施形態の商業的な一例は、UiPath Studio(商標)である。
ルールベースのプロセスの自動化を設計する際に、開発者は、本明細書で「アクティビティ」と定義されるワークフローで開発されたカスタムセットのステップ間の実行順序およびその関係を制御する。各アクティビティは、ボタンをクリックする、ファイルを読む、ログパネルに書き込むなどのアクションを含み得る。いくつかの実施形態では、ワークフローは入れ子になっているか、または埋め込まれ得る。
ワークフローのいくつかのタイプには、シーケンス、フローチャート、有限状態機械(FSM)、および/またはグローバル例外ハンドラなどを含み得るが、これらに限定されない。シーケンスは、ワークフローを乱雑にすることなく、あるアクティビティから別のアクティビティへのフローを可能にする、線形プロセスに特に適し得る。フローチャートは、特により複雑なビジネスロジックに適し得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適し得る。FSMは、条件(すなわち、遷移)またはアクティビティによりトリガされる有限の数の状態をそれらの実行中に使用し得る。グローバル例外ハンドラは、実行エラーに遭遇したときのワークフローの動作を決定したり、プロセスをデバッグしたりするのに特に適し得る。
ワークフローがデザイナ102内で開発されると、ビジネスプロセスの実行は、コンダクタ104により調整され、デザイナ102内で開発されたワークフローを実行する1または複数のロボット106を調整する。コンダクタ104の実施形態の商業的な一例は、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(登録商標)Service Control Manager(SCM)管理サービスをインストールする。その結果、このようなロボット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であってもよいし、その一部であってもよい。「クライアント側」、「サーバー側」、またはその両方が、本発明の範囲から逸脱することなく、いずれかの所望の数のコンピューティングシステムを含むことができることに留意すべきである。
本実施形態のクライアント側に示すように、コンピューティングシステム202は、1または複数のエグゼキュータ204、エージェント206、およびデザイナ208を含む。他の実施形態では、デザイナ208は、同じコンピューティングシステム202上で実行されていなくてもよい。エグゼキュータ204(これは、上述したようなロボットコンポーネントであってもよい)がプロセスを実行し、いくつかの実施形態では、複数のビジネスプロセスが同時に実行されてもよい。この例では、エージェント206(例えば、Windows(登録商標)サービス)は、エグゼキュータ204を管理するための単一の接続ポイントである。
いくつかの実施形態では、ロボットは、マシン名とユーザー名との間の関連付けを表す。ロボットは、複数のエグゼキュータを同時に管理し得る。同時に実行される(例えば、高密度(HD)環境など)複数の対話型セッションをサポートするコンピューティングシステム(Windows(登録商標)Server 2012など)では、複数のロボットが同時に実行され得、それぞれが一意のユーザー名を使用して別々のWindows(登録商標)セッションで実行され得る。
エージェント206はまた、ロボットの状態を送信し(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信する)、実行されるパッケージの必要なバージョンをダウンロードすることにも責任を負う。エージェント206とコンダクタ212との間の通信は、いくつかの実施形態では、エージェント206により開始される。通知シナリオの例では、エージェント206は、後にコンダクタ212によりロボットにコマンド(例えば、開始、停止など)を送信するために使用されるWebSocketチャネルを開いてもよい。
本実施形態のサーバー側に示すように、プレゼンテーション層は、ウェブアプリケーション214と、Open Data Protocol(OData)Representative State Transfe(REST)アプリケーションプログラミングインタフェース(API)エンドポイント216と、通知および監視API218と、を含む。サーバー側のサービス層は、API実装/ビジネスロジック220を含む。サーバー側の永続層は、データベースサーバー222とインデクササーバー224とを含む。コンダクタ212は、ウェブアプリケーション214、OData REST APIエンドポイント216、通知および監視API218、ならびにAPI実装/ビジネスロジック220を含む。
様々な実施形態では、ユーザーがコンダクタ212のインターフェース(例えば、ブラウザ210を介して)で実行するほとんどのアクションは、様々なAPIを呼び出すことにより実行される。このような動作は、ロボット上でのジョブの起動、キュー内のデータの追加/削除、無人で実行するジョブのスケジューリングなどを含み得るが、これらに限定されない。ウェブアプリケーション214は、サーバープラットフォームのビジュアル層である。この実施形態では、ウェブアプリケーション214は、ハイパーテキストマークアップ言語(HTML)およびジャバスクリプト(JS)を使用する。しかし、本発明の範囲を逸脱することなく、いずれかの所望のマークアップ言語、スクリプト言語、または他のいずれかのフォーマットを使用し得る。ユーザーは、コンダクタ212を制御するための様々な動作を実行するために、本実施形態ではブラウザ210を介してウェブアプリケーション214からのウェブページと対話する。例えば、ユーザーは、ロボットグループを作成し、ロボットへのパッケージの割り当てを行い、ロボット毎および/またはプロセス毎のログを解析し、ロボットを起動しおよび停止などし得る。
ウェブアプリケーション214に加えて、コンダクタ212は、OData REST APIエンドポイント216を公開するサービス層も含む(または、本発明の範囲を逸脱することなく他のエンドポイントが実装されてもよい)。REST APIは、ウェブアプリケーション214とエージェント206の両方により消費される。エージェント206は、この例示的な構成では、クライアントコンピュータ上の1または複数のロボットのスーパーバイザである。
本実施形態のREST APIは、構成、ロギング、監視、およびキューイング機能をカバーする。構成RESTエンドポイントは、いくつかの実施形態では、アプリケーションのユーザー、権限、ロボット、アセット、リリース、および環境を定義し、構成するために使用されてもよい。ロギングRESTエンドポイントは、例えば、エラー、ロボットにより送信された明示的なメッセージ、およびその他の環境固有の情報など、様々な情報をログに記録するのに有用であり得る。デプロイメントRESTエンドポイントは、コンダクタ212においてジョブ開始コマンドが使用された場合に実行されるべきパッケージのバージョンを問い合わせるためにロボットにより使用されてもよい。キューイングRESTエンドポイントは、キューへのデータの追加、キューからのトランザクションの取得、トランザクションのステータスの設定など、キューおよびキューアイテムの管理を担ってもよい。RESTエンドポイントの監視は、ウェブアプリケーション214およびエージェント206を監視する。通知および監視API218は、エージェント206の登録、エージェント206への構成設定の配信、およびサーバーとエージェント206との間の通知の送受信に使用されるRESTエンドポイントであってもよい。通知および監視API218は、いくつかの実施形態では、WebSocket通信を使用してもよい。
サーバー側の永続層は、本例示的な実施形態では、一対のサーバー-データベースサーバー222(例えば、SQLサーバー)およびインデクササーバー224-を含む。本実施形態におけるデータベースサーバー222は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を格納する。この情報は、いくつかの実施形態では、ウェブアプリケーション214を介して管理される。データベースサーバー222はまた、キューおよびキューアイテムを管理してもよい。いくつかの実施形態では、データベースサーバー222は、ロボットにより記録されたメッセージを(インデクササーバー224に加えて、またはインデクササーバー250に代えて)格納してもよい。いくつかの実施形態では任意であるが、インデクササーバー224は、ロボットにより記録された情報を保存し、インデックスを作成する。特定の実施形態では、インデクササーバー224は、構成設定を介して無効化されてもよい。いくつかの実施形態では、インデクササーバー224は、オープンソースプロジェクトの全文検索エンジンであるElasticSearch(登録商標)を使用する。ロボットにより記録されたメッセージ(例えば、ログメッセージまたはライン書き込みのようなアクティビティを使用して)は、ロギングRESTエンドポイント(複数可)を介してインデクササーバー224に送信されてもよく、そこで将来の利用のためにそれらはインデックス化される。
図3は、1または複数の実施形態によるRPAシステム300の簡略化されたデプロイメントの一例を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム300は、図1および図2のそれぞれのRPAシステム100および/もしくは200であり得、または図1および図2のそれぞれのRPAシステム100および/もしくは200を含み得る。RPAシステム300は、ロボットを実行する複数のクライアントコンピューティングシステム302を含む。コンピューティングシステム302は、その上で実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム304と通信することができる。コンダクタコンピューティングシステム304は、順番に、データベースサーバー306および任意のインデクササーバー308と通信する。図2および図3に関して、これらの実施形態ではウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、いずれかの適切なクライアント/サーバーソフトウェアを使用することができることに留意すべきである。例えば、コンダクタは、クライアントコンピューティングシステム上で、非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバーサイドアプリケーションを実行してもよい。
1つの実施形態では、RPAシステム300は、RPAロボットのクラウドベースの管理のために実装されてもよい。このようなRPAロボットのクラウドベース管理により、RPAをSoftware as a Service (SaaS)として提供することが可能になる。したがって、コンダクタ304は、例えば、RPAロボットを作製し、RPAロボットをプロビジョニングし、RPAロボット上のタスクをスケジューリングし、RPAロボットをデコミッションし、またはRPAロボットを管理するための他の任意のオーケストレーションタスクを実行するために、RPAロボットのクラウドベースの管理のためにクラウドに実装される。
図4は、1または複数の実施形態によるRPAロボットのクラウドベースの管理を実装するためのネットワークアーキテクチャ400を示す。ネットワークアーキテクチャ400は、クラウドコンピューティング環境402とローカルコンピューティング環境404とを含む。ローカルコンピューティング環境404は、ユーザーまたは他の任意の独立体または複数の独立体(例えば、企業、法人など)のローカルネットワークアーキテクチャを表す。ローカルコンピューティング環境404は、ローカルネットワーク406を含む。クラウドコンピューティング環境402は、ローカルコンピューティング環境404において、ユーザーからリモートのワークロードのサービスまたは処理を提供するクラウドコンピューティングネットワークアーキテクチャを表す。クラウドコンピューティング環境402は、インターネット414、ユーザーにより管理(または制御)され、クラウドプラットフォームプロバイダによりホストされるクラウドネットワークを表すユーザークラウドネットワーク418、およびクラウドサービスプロバイダにより管理され、クラウドプラットフォームプロバイダによりホストされるクラウドネットワークを表すクラウドサービスプロバイダクラウドネットワーク420を含む様々なクラウドネットワークを含む。クラウドサービスプロバイダは、クラウドを介してサービス(RPAなど)を提供する独立体である。クラウドプラットフォームプロバイダは、クラウドコンピューティングのインフラを維持する独立体である。ローカルコンピューティング環境404のローカルネットワーク406は、ローカルコンピューティング環境404とクラウドコンピューティング環境402との間の通信を容易にするために、クラウドコンピューティング環境402のインターネット414に通信的に結合される。
図4に示すように、クラウドオーケストレータ430は、クラウドコンピューティング環境402に実装され、RPAロボットのクラウドベースの管理を可能にする。特に、クラウドオーケストレータ430は、クラウドサービスプロバイダにより管理され、クラウドコンピューティング環境402内のクラウドサービスプロバイダクラウドネットワーク420内でホストされている。1つの実施形態では、クラウドサービスプロバイダは、ローカルコンピューティング環境404においてユーザーにRPAを提供する。
クラウドオーケストレータ430は、クラウドコンピューティング環境402において、RPAロボットを管理する。特に、ユーザーは、ローカルコンピューティング環境404のコンピューティングデバイス412と対話して、RPAロボットを管理するための命令をクラウドコンピューティング環境402のクラウドオーケストレータ430に送信する。あるいは、ユーザーは、ローカルコンピューティング環境404のコンピューティングデバイス412と対話して、クラウドオーケストレータ430にスケジュールを設定し、ユーザーに代わってRPAロボットを管理するための命令を自動的に送信する。RPAロボットを管理するための例示的な命令は、RPAロボットを作製すること、RPAロボットをプロビジョニングすること、RPAロボット上でのタスクをスケジューリング(例えば、タスクを実行する時間とタスクを実行するロボットの種類をスケジュールする)すること、RPAロボットをデコミッションすること、またはRPAロボットのための他の任意のオーケストレーション命令のための命令を含む。命令を受信することに応答して、クラウドオーケストレータ430は、例えば、RPAロボットを作製すること、RPAロボットをプロビジョニングすること、RPAロボットのタスクをスケジューリングすること、RPAロボットをデコミッションすることなどにより命令を実行する。1つの実施形態では、クラウドオーケストレータ430はまた、安全なアクセス制御を容易にし、ロボットライセンスを管理する。1つの実施形態では、クラウドオーケストレータ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の1または複数のローカルロボット410-A、...、410-Z(以下、総称してローカルロボット410という)を含み得る。
クラウドサービスロボット428は、ローカルネットワーク環境404におけるユーザーのためのクラウドコンピューティング環境402におけるRPAタスクを実行するために、クラウドサービスプロバイダクラウドネットワーク420において、クラウドサービスプロバイダにより維持される。クラウドサービスロボット428は、ユーザーがコンピューティングデバイス412からクラウドオーケストレータ430に命令を送信することにより、要求に応じて作製される。作製されると、クラウドサービスロボット428は、タスク(またはワークフロー)の実行を待っている間、待機モードに入る。待機モードの間、クラウドサービスロボット428を動作させるためのコストは最小化されるか、さもなくば低減される。タスクは、ユーザーがコンピューティングデバイス412からクラウドオーケストレータ430に命令を送信することにより、クラウドサービスロボット428上でスケジューリングされる。タスクのスケジューリングの命令は、タスクを実行する時間と、タスクを実行するロボットの種類を定義する。クラウドサービスロボット428は、タスクを実行するために待機モードから復帰し、タスクが完了すると待機モードに戻る。したがって、クラウドサービスロボット428は、ローカルコンピューティング環境404において、ユーザーのために、クラウドサービスプロバイダクラウドネットワーク420上でタスクを実行する。
クラウドサービスロボットプール426は、異なるタイプのクラウドサービスロボットを含むように、クラウドサービスプロバイダクラウドネットワーク420において、クラウドサービスプロバイダにより維持される。例えば、クラウドサービスロボットプール426は、標準ロボットまたはカスタムロボットを含んでもよい。標準ロボットは、標準的なマシンテンプレートを使用してユーザーにより定義され、ロボットに標準的な所定のソフトウェアのセットを提供する。標準ロボットは、例えば、ウェブ自動化のために使用される標準的なブラウザのみを有するマシン、仮想デスクトップインフラストラクチャ(VDI)自動化を実行するためにインストールされたオペレーティングシステムを有するマシン、デスクトップ自動化を実行するための標準的なアプリケーションを有するマシン、またはそれらの組み合わせであり得る。カスタムロボットは、ユーザーによりカスタムマシンのテンプレートを使用して定義され、ロボットにカスタムセットのソフトウェアを提供する。カスタムマシンのテンプレートは、カスタムロボットを作製する際にクラウドサービスプロバイダが使用するマシン画像としてユーザーによりアップロードされ得る。カスタムマシン画像は、ユーザーが所有する独自のソフトウェアまたはユーザーが購入した特別なライセンスのアプリケーションを含み得る。標準およびカスタムロボットは、クラウドオーケストレータ430に送信された自動化(プロセス)を実行するために使用される。クラウドオーケストレータ430は、a)ユーザーが手動呼び出しを直接介して、またはb)以前にスケジュールされた定期的な自動化を介して、自動化を実行するための命令を待つ。クラウドオーケストレータ430は、自動化を実行する準備ができたら、それは、プロセスのタイプを検査し、その自動化を実行するために標準ロボットまたはカスタムロボットのどちらが必要かを識別する。ロボットタイプが識別されると、クラウドオーケストレータ430は、そのロボットタイプに利用可能なロボットプールを検査して、ジョブがほぼ終了しているすでに実行されているロボットまたは利用可能なロボットを見つける。そのタイプのロボットがすでに実行されている場合、クラウドオーケストレータ430は、コストを最小限に抑えるために、そのロボットを利用して、新しいロボットを不必要に起動することを回避する。実行中のロボットがない場合は、スタンバイ状態のロボットを起動し、そのロボットにジョブ要求を送信する。
1つの実施形態では、アルゴリズムを適用して、クラウドサービスロボットプール426内のロボットの利用を最大化し、ユーザーの運転コストを低減し得る。クラウドオーケストレータ430は、自動化の今後の計画されたスケジュールを先取りし、自動化を並列化およびキューイングする方法の計画を最適化して、それらが最小数のロボットで実行されるようにする。スケジュールが定義されると、クラウドオーケストレータ430は、スケジュールを使用して自動化を実行するだろう。さらに、クラウドオーケストレータ430は、実行中のロボットの状態を常に監視し、実測されたロボットの実行に基づいて計画されたスケジュールを修正する。その結果、実行中のロボットの稼働率を最大化し、追加のロボットを稼働させるためのコストを低減し得る。
1つの実施形態では、クラウドサービスロボットプール426は、マルチテナント環境で複数のユーザーにサービスを提供してもよい。
クラウド管理ロボット424は、ローカルネットワーク環境404のユーザーのためのクラウドコンピューティング環境402でRPAタスクを実行するために、ユーザークラウドネットワーク418でユーザーにより維持される。クラウド管理ロボット424は、クラウドサービスロボット428と同様の機能を有し、また、クラウドコンピューティング環境402でホストされる。しかしながら、クラウド管理ロボット424がホストされているユーザークラウドネットワーク418は、ユーザーにより管理され、一方で、クラウドサービスロボット428がホストされているクラウドサービスプロバイダクラウドネットワーク420は、クラウドサービスプロバイダにより管理され、クラウドプラットフォームプロバイダによりホストされる。クラウドオーケストレータ430は、クラウドサービスプロバイダクラウドネットワーク420とユーザークラウドネットワーク418との間に接続を確立することにより、クラウド管理ロボット424を管理する。ユーザークラウドネットワーク418は、ローカルネットワーク406にトンネルバックするために、クラウドプロバイダ技術を利用するユーザーにより確立され得る。ユーザーは、ローカルネットワーク406からクラウドサービスプロバイダクラウドネットワーク420への専用ネットワーク接続を確立し得る。接続は典型的には、例えば、エニーツーエニー(例えば、インターネットプロトコル仮想プライベートネットワーク)ネットワーク、ポイントツーポイントイーサネットネットワーク、またはコロケーション施設の接続プロバイダを介した仮想クロスコネクションの形態である。これらの接続は、公共のインターネットを経由しない。これにより、インターネット上の典型的な接続よりも高い信頼性、高速化、一貫したレイテンシー、および高いセキュリティを実現する。ユーザークラウドネットワーク418は、ユーザーにより完全に制御および、管理され続け、それにより、ユーザーにデータに対する厳しい制御を提供する。
クラウドサービスプロバイダクラウドネットワーク420とユーザークラウドネットワーク418との間の接続が確立されると、コンピューティングデバイス412を介してクラウドオーケストレータ430と対話するユーザーの要求に応じて、クラウド管理ロボット424が作製される。クラウド管理ロボット424は、ユーザークラウドネットワーク418上に作製される。したがって、クラウド管理ロボット424は、ローカルコンピューティング環境404において、ユーザーのためのユーザークラウドネットワーク418上でタスクを実行する。アルゴリズムを適用して、クラウド管理ロボットプール422内のロボットの利用を最大化し、ユーザーの運転コストを低減し得る。
ローカルロボット410は、ローカルネットワーク環境404内のユーザーのためのRPAタスクを実行するために、ローカルネットワーク406内のユーザーにより維持される。ローカルネットワーク406は、ユーザーにより制御されるかまたは管理される。クラウドオーケストレータ430は、標準的なHTTPS接続を介してローカルロボット410との接続を維持する。ローカルロボット410は、ユーザーがクラウドオーケストレータ430のユーザーインタフェースから抽出した安全なネットワークキーを使用して構成される。その安全なキーを使用して、ローカルロボット410は、クラウドオーケストレータ430に到達し、安全な接続を確立する。全てのトラフィックは、ローカルロボット410からのアウトバウンド要求として発生する。これにより、クラウドからローカルネットワーク406へのインバウンド接続の必要性が最小化され、これによりセキュリティが向上する。
図5は、1または複数の実施形態によるRPAロボットのクラウドベース管理のための方法500を示す。方法500は、図4のネットワークアーキテクチャ400を引き続き参照して説明される。1つの実施形態では、方法500のステップは、クラウドオーケストレータ430により実行される。
ステップ502において、RPAロボットを管理するための命令が、クラウドコンピューティング環境402のオーケストレータ430において、ローカルコンピューティング環境404のユーザーから受信される。RPAロボットを管理するための命令は、例えば、RPAロボットを作製すること、RPAロボットをプロビジョニングすること、RPAロボット上のタスクをスケジューリングすること、および/またはRPAロボットをデコミッションするための命令を含み得る。RPAロボットは、ローカルロボット410、クラウド管理ロボット424、またはクラウドサービスロボット428を含み得る。クラウド管理ロボット424およびクラウドサービスロボット428は、クラウドコンピューティング環境でRPAタスクを実行し、ローカルコンピューティング環境404でユーザーにRPAタスクの結果を送信するためのものである。タスクを実行していない間、RPAロボットは、運転コストを低減した待機モードにある。
ステップ504で、命令を受信したことに応答して、RPAロボットを管理するための命令が実行される。1つの実施形態では、RPAロボットを管理するための命令が、RPAロボットを作製するための命令である場合、命令は、クラウドコンピューティング環境402においてユーザーにより管理されるクラウドネットワーク418で実行するためのRPAロボットを作製することにより、クラウドコンピューティング環境402においてクラウドサービスプロバイダ(クラウドオーケストレータ430に関連付けられている)により管理されるクラウドネットワーク420で実行するためのRPAロボットを作製することにより、またはローカルコンピューティング環境404においてユーザーにより管理されるローカルネットワーク406で実行するためのRPAロボットを作製することにより実行される。
有利にも、本発明の実施形態では、SaaSとしてのRPAを可能にする。そのようなSaaS RPAは、ユーザーが、例えば、利用がピークに達する時間帯に、クラウドを使用してタスクを自動化するために、オンデマンドでロボットの数を作製し、スケーリングすることを可能にする。そのようなSaaS RPAは、クラウドの運転コストを低減することでユーザーの総所有コストを下げ、RPAを実装するために必要なネットワークインフラストラクチャを簡素化し、そしてRPAを実装するための安全なクラウドベースのインフラストラクチャを実現することができる。
本発明の実施形態の1つの例示的な適用例を図4を参照して説明しよう。航空会社は、航空券の予約を修正するために、顧客サービスのためにRPAロボットを利用してもよい。航空会社は、通常の負荷で顧客サービスを処理するのに十分なローカルコンピューティング環境404上のローカルロボット410として10台のRPAロボットをプロビジョニングする。時折、航空会社は、例えば、そのハブの1つで雷雨が発生し、数時間の時間内に数百機の飛行機を着陸させる必要があり、その結果、何万人もの顧客が空港で足止めされ、そのフライトのリスケジュールを試みようとすることになるような緊急事態が発生するだろう。空港の顧客サービス担当者および10台のRPAロボットは、この追加の負荷を処理することができない。有利にも、本発明の実施形態では、航空会社が、足止めされた顧客に直ちにサービスを提供するのを助けるために、クラウドサービスロボット428としてのRPAロボットの数を数百台にスケールアップすることを可能にする。航空会社は、追加のRPAロボットのためのインフラストラクチャを管理したり、または通常の運転時間中にピーク時の容量性のためにRPAロボットをプロビジョニングしたりする必要がなく、RPAロボットの数をスケールアップし得る。さらに、航空会社は、追加のRPAロボットの費用をピーク時の使用の間にのみに支払うことで、コストを低減し得る。
図6は、本発明の実施形態による、図5を参照して説明した方法を実行するように構成されたコンピューティングシステム600を例示するブロック図である。いくつかの実施形態では、コンピューティングシステム600は、本明細書に描写および/または記載されたコンピューティングシステム、例えば、図1のコンダクタ104、ロボット106、アンアテンディッドロボット110、およびアテンディッドロボット108、図2のコンダクタ212、図3のロボット302およびコンダクタ304、ならびに図4のローカルロボット410、コンピューティングデバイス412、クラウド管理ロボット424、クラウドサービスロボット428、およびクラウドオーケストレータ430のうちの1または複数であり得る。コンピューティングシステム600は、情報を通信するためのバス602または他の通信機構と、情報を処理するためのバス602に結合されたプロセッサ(複数可)604とを含む。プロセッサ(複数可)604は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらのいずれかの組み合わせを含む、いずれかのタイプの一般的または特定用途向けプロセッサであり得る。プロセッサ(複数可)604はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。いくつかの実施形態では、複数並列処理が使用されてもよい。
コンピューティングシステム600は、プロセッサ(複数可)604によって実行される情報および命令を格納するためのメモリ606をさらに含む。メモリ606は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または他のタイプの非一時的なコンピュータ読み取り可能な媒体、あるいはそれらのいずれかの組み合わせで構成され得る。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ(複数可)604によりアクセス可能ないずれかの利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体または両方などを含み得る。また、媒体は、取り外し可能なもの、取り外し不可能なもの、または両方であってもよい。
さらに、コンピューティングシステム600は、現在存在するまたは将来実装される通信規格および/またはプロトコルによる、無線および/または有線接続を介して通信ネットワークへのアクセスを提供するために、トランシーバなどの通信装置608を含む。
プロセッサ(複数可)604は、バス602を介して、ユーザーに情報を表示するのに適したディスプレイ610にさらに結合されている。ディスプレイ610はまた、タッチディスプレイおよび/または任意の適切な触覚I/Oデバイスとして構成されてもよい。
コンピュータマウス、タッチパッドなどのようなキーボード612およびカーソル制御装置614は、ユーザーがコンピューティングシステムとインターフェースすることを可能にするために、バス602にさらに結合されている。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在しない場合があり、ユーザーは、ディスプレイ610および/またはタッチパッド(図示せず)のみを介してデバイスと対話することができる。任意の入力デバイスの種類および組み合わせは、設計の選択の問題として使用され得る。特定の実施形態では、物理的な入力装置および/またはディスプレイは存在しない。例えば、ユーザーは、コンピューティングシステム600と通信している別のコンピューティングシステムを介してリモートでコンピューティングシステム600と対話してもよいし、コンピューティングシステム600は自律的に動作してもよい。
メモリ606は、プロセッサ(複数可)604により実行されたときに機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム600のためのオペレーティングシステム616と、本明細書に記載されるプロセスの全部もしくは一部、またはその派生物を実行するように構成された1もしくは複数の追加機能モジュール618とを含む。
当業者であれば、「システム」は、本発明の範囲から逸脱することなく、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、または他のいずれかの適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上述した機能を「システム」により実行されるものとして提示することは、何ら本発明の範囲を限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図するものである。実際、本明細書に開示された方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技術と整合性のあるローカライズされた形態および分散された形態で実装されてもよい。
本明細書で説明するシステム特色のいくつかは、実装の独立性をより強調するために、モジュールとして提示されていることに留意すべきである。例えば、モジュールは、カスタムの非常に大規模な集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他の個別部品のような既製の半導体を含むハードウェア回路として実装され得る。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジック装置、グラフィックス処理ユニットなどのプログラマブルハードウェア装置に実装され得る。モジュールはまた、様々なタイプのプロセッサにより実行されるためのソフトウェアに少なくとも部分的に実装され得る。例えば、実行可能コードの識別された単位は、例えば、オブジェクト、プロシージャ、または関数として編成されていてもよいコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。それにもかかわらず、実行可能な識別されたモジュールは、物理的に一緒に配置されている必要はなく、論理的に結合されたときにモジュールを含み、モジュールのために述べられた目的を達成するために、異なる場所に格納された別々の命令を含んでいてもよい。さらに、モジュールは、例えば、ハードディスクドライブ、フラッシュ装置、RAM、テープのようなコンピュータ読み取り可能な媒体、および/または本発明の範囲から逸脱することなくデータを格納するために使用される他のいずれかの非一時的なコンピュータ読み取り可能な媒体に格納されていてもよい。実際、実行可能コードのモジュールは、単一の命令であってもよいし、多数の命令であってもよいし、さらには、複数の異なるコードセグメント、異なるプログラム間、および複数のメモリ装置間に分散されていてもよい。同様に、操作データは、モジュール内で識別され、ここで示されてもよく、いずれかの適切なタイプのデータ構造体内でいずれかの適切な形態で具現化され、組織化され得る。操作データは、単一のデータセットとして収集されてもよいし、または異なる記憶装置にわたり異なる場所に分散されていてもよく、少なくとも部分的には、単にシステムまたはネットワーク上の電子信号として存在していてもよい。
前述は、単に開示の原則を例示しているに過ぎない。したがって、本明細書に明示的に記載または示されていないが、本開示の原理を具現化し、その精神および範囲内に含まれる様々なアレンジを、当業者が考案することができることが理解されるであろう。さらに、本明細書に引用された全ての実施例および条件文言は、主として、本開示の原理および本発明者が技術の発展に貢献した概念を理解するための読者を助けるための教育的な目的のみを意図しており、そのような具体的に引用された実施例および条件に限定されないものとして解釈されるべきである。さらに、本開示の原理、態様、および実施形態、ならびにそれらの具体的な実施例を引用する本明細書の全ての記述は、それらの構造的および機能的等価物を包含することを意図する。さらに、このような等価物には、現在知られている等価物だけでなく、将来開発される等価物も含まれることが意図される。

Claims (19)

  1. クラウドコンピューティング環境のオーケストレータで、ローカルコンピューティング環境のユーザーから、ロボティックプロセスオートメーション(RPA)ロボットを管理するための命令を受信し、
    前記命令を受信したことに応答して、前記RPAロボットを管理するための前記命令を実行する、ことを含む、コンピュータ実装方法。
  2. 前記RPAロボットを管理するための前記命令が、前記RPAロボットを作製すること、前記RPAロボットをプロビジョニングすること、前記RPAロボット上のタスクをスケジューリングすること、または前記RPAロボットをデコミッションすることのうちの1または複数の命令を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記RPAロボットを管理するための前記命令が、前記RPAロボットを作製するための命令を含み、前記RPAロボットを管理するための前記命令を実行することが、
    前記クラウドコンピューティング環境において、前記ユーザーにより管理されるクラウドネットワーク上で実行するための前記RPAロボットを作製することを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記RPAロボットを管理するための前記命令が、前記RPAロボットを作製するための命令を含み、前記RPAロボットを管理するための前記命令を実行することが、
    前記クラウドコンピューティング環境において、クラウドサービスプロバイダにより管理されるクラウドネットワークで実行するための前記RPAロボットを作製することを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記RPAロボットを管理するための前記命令が、前記RPAロボットを作製するための命令を含み、前記RPAロボットを管理するための前記命令を実行することが、
    前記ローカルコンピューティング環境において、前記ユーザーにより管理されるローカルネットワーク上で実行するための前記RPAロボットを作製することを含む、請求項1に記載のコンピュータ実装方法。
  6. 前記RPAロボットが、前記クラウドコンピューティング環境でタスクを実行し、前記タスクの結果を前記ローカルコンピューティング環境に送信するためのものである、請求項1に記載のコンピュータ実装方法。
  7. 前記RPAロボットがタスクを実行していないとき、前記RPAロボットが運転コストを低減した待機モードにある、請求項1に記載のコンピュータ実装方法。
  8. ローカルコンピューティング環境におけるユーザーのためにクラウドコンピューティング環境でタスクを実行するための1または複数のクラウドRPAロボットを含むクラウドロボットプールと、
    前記クラウドロボットプールを管理するためのクラウドオーケストレータと、を含む、クラウドコンピューティング環境。
  9. 前記クラウドロボットプールを管理することが、前記クラウドロボットプールに新しいクラウドRPAロボットを作製すること、1もしくは複数の前記クラウドRPAロボットをプロビジョニングすること、前記1もしくは複数のクラウドRPAロボットのタスクをスケジューリングすること、または前記1もしくは複数のクラウドRPAロボットをデコミッションすることのうちの1または複数を含む、請求項8に記載のクラウドコンピューティング環境。
  10. 前記クラウドロボットプールが、前記ユーザーにより管理されるクラウドネットワーク内で実行される1または複数のクラウド管理されるRPAロボットを含むクラウド管理されるロボットプールを含む、請求項8に記載のクラウドコンピューティング環境。
  11. 前記クラウドロボットプールが、クラウドサービスプロバイダにより管理されるクラウドネットワーク内で実行される1または複数のクラウドサービスRPAロボットを含むクラウドサービスロボットプールを含む、請求項8に記載のクラウドコンピューティング環境。
  12. 前記クラウドオーケストレータがさらに、前記ユーザーにより管理されるローカルネットワーク内で実行される1または複数のローカルRPAロボットを含むローカルロボットプールを管理するためのものである、請求項8に記載のクラウドコンピューティング環境。
  13. 前記1または複数のクラウドRPAロボットがタスクを実行していないとき、前記1または複数のクラウドRPAロボットが運転コストを低減した待機モードにある、請求項8に記載のクラウドコンピューティング環境。
  14. クラウドコンピューティング環境でのクラウドロボットプールを維持することであって、前記クラウドロボットプールがローカルコンピューティング環境におけるユーザーのためにクラウドコンピューティング環境でタスクを実行するための1または複数のクラウドRPAロボットを含むことと、
    前記クラウドコンピューティング環境に実装されたクラウドオーケストレータを使用して、前記クラウドロボットプールを管理することと、を含む、コンピュータ実装方法。
  15. 前記クラウドコンピューティング環境に実装されたクラウドオーケストレータを使用して、前記クラウドロボットプールを管理することが、前記クラウドロボットプールに新しいクラウドRPAロボットを作製すること、1もしくは複数の前記クラウドRPAロボットをプロビジョニングすること、前記1もしくは複数のクラウドRPAロボットのタスクをスケジューリングすること、または前記1もしくは複数のクラウドRPAロボットをデコミッションすることのうちの1または複数を含む、請求項14に記載のコンピュータ実装方法。
  16. クラウドコンピューティング環境におけるクラウドロボットプールを維持することが、
    前記ユーザーにより管理されるクラウドネットワーク内で実行される1または複数のクラウド管理されるRPAロボットを含むクラウド管理されるロボットプールを維持することを含む、請求項14に記載のコンピュータ実装方法。
  17. クラウドコンピューティング環境におけるクラウドロボットプールを維持することが、
    クラウドサービスプロバイダにより管理されるクラウドネットワーク内で実行される1または複数のクラウドサービスRPAロボットを含むクラウドサービスロボットプールを維持することを含む、請求項14に記載のコンピュータ実装方法。
  18. 前記ユーザーにより管理されるローカルネットワークで実行される1または複数のローカルRPAロボットを含むローカルロボットプールを管理することをさらに含む、請求項14に記載のコンピュータ実装方法。
  19. 前記1または複数のクラウドRPAロボットがタスクを実行していないとき、前記1または複数のクラウドRPAロボットが運転コストを低減した待機モードにある、請求項14に記載のコンピュータ実装方法。
JP2020564879A 2019-12-23 2020-09-04 ロボティックプロセスオートメーションのためのオンデマンドクラウドロボット Pending JP2023508784A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/725,706 2019-12-23
US16/725,706 US11321124B2 (en) 2019-12-23 2019-12-23 On-demand cloud robots for robotic process automation
PCT/US2020/049300 WO2021133437A1 (en) 2019-12-23 2020-09-04 On-demand cloud robots for robotic process automation

Publications (1)

Publication Number Publication Date
JP2023508784A true JP2023508784A (ja) 2023-03-06

Family

ID=76439764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020564879A Pending JP2023508784A (ja) 2019-12-23 2020-09-04 ロボティックプロセスオートメーションのためのオンデマンドクラウドロボット

Country Status (6)

Country Link
US (2) US11321124B2 (ja)
EP (1) EP3861499A4 (ja)
JP (1) JP2023508784A (ja)
KR (1) KR20220121689A (ja)
CN (1) CN113272840A (ja)
WO (1) WO2021133437A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220011734A1 (en) * 2020-07-09 2022-01-13 UiPath, Inc. Robot access control and governance for robotic process automation
US11733668B2 (en) 2020-07-09 2023-08-22 UiPath, Inc. Robot access control and governance for robotic process automation
US20230032516A1 (en) * 2021-07-27 2023-02-02 UiPath, Inc. Common platform for implementing rpa services on customer premises
CN113641483A (zh) * 2021-09-01 2021-11-12 耦合网络科技(上海)有限公司 一种基于人工智能的机器人流程自动化系统
US11816621B2 (en) * 2021-10-26 2023-11-14 Bank Of America Corporation Multi-computer tool for tracking and analysis of bot performance
CN115237536A (zh) * 2022-05-31 2022-10-25 广州仕邦人力资源有限公司 一种rpa机器人
CN115213907A (zh) * 2022-08-05 2022-10-21 上海控创信息技术股份有限公司 基于边缘计算的运维机器人作业方法及系统
CN115577988A (zh) * 2022-12-07 2023-01-06 北财在线科技(北京)有限公司 兼容管理和调度全厂商rpa流程机器人的系统及方法
CN116842075B (zh) * 2023-06-08 2024-02-23 粤港澳国际供应链(广州)有限公司 基于云服务器的数据报表rpa机器人控制方法及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7861252B2 (en) 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture
US7577722B1 (en) 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US20100153482A1 (en) 2008-12-10 2010-06-17 Full Armor Corporation Cloud-Based Automation of Resources
US8290998B2 (en) 2009-05-20 2012-10-16 Sap Ag Systems and methods for generating cloud computing landscapes
US8793684B2 (en) 2011-03-16 2014-07-29 International Business Machines Corporation Optimized deployment and replication of virtual machines
US10264058B1 (en) 2011-06-30 2019-04-16 Emc Corporation Defining virtual application templates
US10042657B1 (en) 2011-06-30 2018-08-07 Emc Corporation Provisioning virtual applciations from virtual application templates
US10404551B2 (en) 2012-04-30 2019-09-03 Entit Software Llc Automated event management
WO2015197564A1 (en) * 2014-06-23 2015-12-30 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
US9876676B1 (en) 2015-03-27 2018-01-23 VCE IP Holding Company LLC Methods, systems, and computer readable mediums for managing computing systems by a management orchestration module
KR102364712B1 (ko) 2015-04-03 2022-02-18 한국전자통신연구원 분산 클라우드 환경에서 서비스 오케스트레이션 시스템 및 방법
CN107430532B (zh) 2015-06-29 2020-12-29 谷歌有限责任公司 传送用于设备上演示的应用数据
US10853114B2 (en) 2017-01-05 2020-12-01 Soroco Private Limited Systems and methods for executing software robot computer programs on virtual machines
US9817967B1 (en) 2017-01-13 2017-11-14 Accenture Global Solutions Limited Integrated robotics and access management for target systems
JP6904064B2 (ja) * 2017-05-29 2021-07-14 富士通株式会社 タスク配備プログラム、タスク配備方法、およびタスク配備装置
US20190155225A1 (en) 2017-11-21 2019-05-23 Accenture Global Solutions Limited Bot management framework for robotic process automation systems
WO2019195121A1 (en) 2018-04-03 2019-10-10 Walmart Apollo, Llc Digital worker management system
CN109636504B (zh) 2018-11-07 2021-11-05 北京慧流科技有限公司 信息处理方法及装置、电子设备及存储介质
US11074105B2 (en) * 2019-05-16 2021-07-27 Blue Prism Cloud, Inc. Systems and methods for digital workforce intelligent orchestration
US10860905B1 (en) 2019-10-16 2020-12-08 UiPath, Inc. Long running workflows for document processing using robotic process automation

Also Published As

Publication number Publication date
WO2021133437A1 (en) 2021-07-01
EP3861499A4 (en) 2022-03-16
KR20220121689A (ko) 2022-09-01
US20220206848A1 (en) 2022-06-30
CN113272840A (zh) 2021-08-17
US11321124B2 (en) 2022-05-03
EP3861499A1 (en) 2021-08-11
US20210191760A1 (en) 2021-06-24
US11803418B2 (en) 2023-10-31

Similar Documents

Publication Publication Date Title
US11803418B2 (en) On-demand cloud robots for robotic process automation
US11334465B2 (en) Long running workflows for robotic process automation
JP7112809B2 (ja) ロボティックプロセスオートメーションのためのロボットのスケジューリング
US11442837B2 (en) Monitoring long running workflows for robotic process automation
JP2023544463A (ja) Rpaデータを表わすための企業プロセスグラフ
US20230032516A1 (en) Common platform for implementing rpa services on customer premises
US20220100539A1 (en) On-demand cloud robots for robotic process automation
US11971705B2 (en) Autoscaling strategies for robotic process automation
US20240184271A1 (en) Autoscaling strategies for robotic process automation
US20220191167A1 (en) Organizational modelling for routing rpa related services of an rpa cloud suite
US20220091908A1 (en) Filter instantiation for process graphs of rpa workflows
JP2023538978A (ja) ロボティックプロセスオートメーションデータコネクタ
TW202318179A (zh) 將互動式使用者介面元件映射到用於機器人流程自動化開發之機器人流程自動化物件儲存庫

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: 20230829