JP2018133084A - 自動化プロセスの処理の分散を最適化するシステム - Google Patents

自動化プロセスの処理の分散を最適化するシステム Download PDF

Info

Publication number
JP2018133084A
JP2018133084A JP2018022903A JP2018022903A JP2018133084A JP 2018133084 A JP2018133084 A JP 2018133084A JP 2018022903 A JP2018022903 A JP 2018022903A JP 2018022903 A JP2018022903 A JP 2018022903A JP 2018133084 A JP2018133084 A JP 2018133084A
Authority
JP
Japan
Prior art keywords
work
application server
virtual machine
data store
queue
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.)
Granted
Application number
JP2018022903A
Other languages
English (en)
Other versions
JP7161262B2 (ja
Inventor
モス デヴィッド
Moss David
モス デヴィッド
ウッド スチュアート
Wood Stuart
ウッド スチュアート
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.)
Blue Prism Ltd
Original Assignee
Blue Prism Ltd
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 Blue Prism Ltd filed Critical Blue Prism Ltd
Publication of JP2018133084A publication Critical patent/JP2018133084A/ja
Application granted granted Critical
Publication of JP7161262B2 publication Critical patent/JP7161262B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

【課題】システム内で利用可能な処理リソース内の作業項目の分散を最適化するためのシステムを提供する。
【解決手段】システム300は、自動化プロセスを実行するための命令、一又は複数の作業待ち行列及び各作業待ち行列と自動化プロセスの一つとの間の関連付けを保存するように構成されたデータストア101と、データストアに保存された命令によって定義される一又は複数の自動化プロセスを実行するように構成された一又は複数の仮想マシン103と、一又は複数の作業待ち行列を一又は複数の仮想マシンに割り当てるように構成されたアプリケーションサーバ102とを備える。各仮想マシンは、アプリケーションサーバによって作業待ち行列が割り当てられると、割り当てられた作業待ち行列に関連付けられた自動化プロセスを実行するための命令をデータストアから読み出し、データストアから検索された命令に従って自動化プロセスを実行する。
【選択図】図3

Description

本発明は、プロセスを自動化するためのシステム及び方法に関する。具体的には、本発明は、一又は複数の仮想ワーカ全体に亘る自動化プロセス(automated processes)の実行を管理するためのシステム及び方法に関する。
予期された変更又は予期されない変更によって、事業の運営を変更する必要が生じることが多くある。例えば、新製品の発売によって、既存のシステムを統合する必要が生じ、新しい規制によって、プロセス工程の記録が要求され、企業買収によって、2つの製品ライン及びプロセスを併合することが必要になることもある。これらの問題は、従来の事業システムの計画及び展開(planning and rollout)でも対応できるが、これらの計画サイクル(planning cycles)は、大規模なプロジェクト用に設計されており、日常的な運営変更をサポートするものではない。この結果、変更のために元のシステムの機能を置き換え、必要な新しい機能を提供する新しいシステムを開発する必要があり、変更を確実に実施するまでに広範囲な試験及び品質保証が必要であるため、変更は、莫大なコストがかかり、実現までに数年もかかることもある。これらのシステムは、コンピュータプログラミング及び/又はアプリケーション開発に必要な専門技能を有する技術者が設計し、構成する必要がある。組織内では、必要な技能を有する人材が、仮にいたとしても、不足していることが多いため、開発プロセスには時間がかかり、このようなシステムが実現されても、元のシステムのユーザが新しいシステムに慣れるまでには長い時間がかかるため、このようなプロセスは、非効率で不正確なものとなる場合が多い。
事務管理部門のビジネスプロセスには、複数の独立した互換性のないソフトウェアアプリケーションが含まれることが多いため、この問題が発生する。これらのソフトウェアアプリケーションの幾つかは、別のソフトウェアアプリケーションがインタラクトできる所定のインタフェースを提供することによってアプリケーションの内部又は外部に情報を転送するためのAPIを有するが、全てのソフトウェアアプリケーションがこのような機能を有するわけではない。例えば、これらの事務管理部門のビジネスプロセスで使用される多くのソフトウェアアプリケーションは、他のソフトウェアアプリケーションが容易にアクセスするめに必要な機能を備えるように設計されていない旧式のアプリケーションである。この他、非常に特殊な用途のために作成された社内用カスタムソフトウェアソリューションでは、他のアプリケーションとインタラクトするためのインタフェースを提供する必要性は、予見されていなかった。従来の手法では、運用スタッフがこれらのソフトウェアアプリケーション間のギャップを埋めることによってこのような問題が克服されている。運用スタッフの使用は、要求されるキャパシティを提供するために多数の運用スタッフを雇用する必要があるため、高価なソリューションである。運用スタッフは、一日のうちの一部しか働けず、キーボード及びマウス又は他の任意のインタフェースを使用して情報及び/又はコマンドを入力できる速度によって制限され、画面及び/又は他の出力から情報を読み取ることができる速度によって制限されるため、これらの互換性のないソフトウェアアプリケーション又はシステム間のギャップを人間によって埋めるプロセスは、通常、時間がかかる。更に、コンピュータとは異なり、人間は、データ及び/又はコマンドをシステムに入力したり、他のコンピュータから情報を読み込んだりする際に間違いを起こしやすい。また、このような運用スタッフを使用する場合、プロセス、システム、及びデータに悪意のある干渉が発生する可能性もある。
例えば、電気通信事業者が、既存のソフトウェアアプリケーションと互換性がない新しいシステムの使用を必要とする新しい携帯電話機を発売することがある。この不足は、通常、運用スタッフによって補われるが、このような新しく発売される製品の需要を予測することは不可能なことが多く、ソフトウェアシステムを使用するために訓練されたスタッフが不足したり過剰になったりすることがある。したがって、需要に関する詳細な事前知識を必要とせず、需要に対応するための迅速なスケーリングが可能なソリューションによって、このような互換性のないソフトウェアシステム間のギャップを埋めることが望ましい。
このようなシステムでは、慎重に取り扱われるべき大量の個人情報が取り扱われることも多い。したがって、人間が一方のシステムから他方のシステムに単に情報をコピーする際に生じる可能性があるエラーの数を減らし、この情報を一貫した手法で取り扱うことが望まれるとともに、絶対に必要な場合以外はアクセスできないプライベートで安全な手法で情報を処理することが望まれる。
既存のソフトウェアアプリケーションが、新しいプロセスを実装するために必要な機能を欠いている場合に運用スタッフが必要になるこれらの問題は、ビジネスの事務管理部門に固有のものではない。例えば、病院及び/又は医院の受付窓口は、予約した患者が多く訪れるために忙しい状況であることが多い。受付担当者は、予約して来院した患者から詳細情報を聞き取り、患者の予約をチェックするソフトウェアアプリケーションにこれらの情報を入力するといったルーチン作業を行うために多くの時間を費やす。このプロセスは、時間がかかり、患者の詳細情報を聞き間違えて不正確になることがあり、他の職務を実行する時間を受付担当者から奪う。
病院及び/又は医院の受付には、患者が自ら詳細情報をシステムに入力できるセルフサービスチェックイン用設置型情報端末(self-service check-in kiosks)を設置することが望ましく、これによって、情報の誤りが最小限に抑えられ、受付担当者は、他の作業に従事でき、患者の待ち時間が短縮される。しかしながら、受付担当者が使用するソフトウェアアプリケーションは、より高度な機能を有する可能性が高いので、患者を不必要に混乱させ、或いはアプリケーションは、管理上の制御及び/又は情報へのアクセス権を有する場合があり、セルフサービスチェックイン用設置型情報端末を使用する患者にこれらを提供することは不適切であるため、受付担当者に提供されるインタフェースと同じインタフェースを患者に提供することは適切でない可能性がある。これらのシステムを実装するために必要な機能を提供する新しいソフトウェアアプリケーション及びシステムが開発されたときに、既存の受付アプリケーションが、セルフサービス用設置型情報端末上で実行されて特定の機能及び/又は機能にアクセスする新しいアプリケーションのための機能を提供しない限り、事務管理部門のビジネスプロセスの変更に関連する長い計画サイクル、費用、非効率性、不正確さの問題と同様の問題が生じる。このため、このようなプロジェクトが選択されないことも多い。他にも同様の多くの例があることは、明らかである。
既存のソリューションは、旧式ソフトウェアとインタラクトすることによってこれらのプロセスを自動化するように構成された仮想マシンを仮想作業者(virtual workers)として使用することを含む。このようなシステムは、PCT出願公開番号WO2015/001360A1に記載されている。しかしながら、これらのシステムでは、仮想作業者間で作業項目をどのように分散させるべきかをユーザが決定する必要があり、このような事項をこのように決定することは、非効率である場合が多い。したがって、仮想作業者間の作業項目の分散を最適化するための適切なシステム及び方法が必要とされている。
本発明は、自動化プロセスを実行するためのシステムに関する。システムは、自動化プロセスを実行するための命令、一又は複数の作業待ち行列、及び各作業待ち行列と自動化プロセスの一つとの間の関連付けを保存するように構成されたデータストアと、データストアに保存された命令によって定義される一又は複数の自動化プロセスを実行するように構成された一又は複数の仮想マシンと、一又は複数の作業待ち行列を一又は複数の仮想マシンに割り当てるように構成されたアプリケーションサーバとを備える。各仮想マシンは、アプリケーションサーバによって作業待ち行列が割り当てられると、割り当てられた作業待ち行列に関連付けられた自動化プロセスを実行するための命令をデータストアから読み出し、データストアから検索された命令に従って自動化プロセスを実行する。
各作業待ち行列は、通常、一又は複数の作業項目を含み、各仮想マシンは、データストアに保存されている命令に従って、割り当てられた作業待ち行列の作業項目を処理することによって一又は複数の自動化プロセスを実行するように構成されている。各作業項目は、一又は複数の情報データオブジェクトを含んでいてもよく、各作業待ち行列は、通常、作業項目の論理グループである。
データストアに保存された命令は、各作業項目に対して自動化プロセスを実行するためのワークフローを定義してもよい。
好ましくは、データストアは、一又は複数の仮想マシンと、一又は複数の作業待ち行列との間のリンクを定義するリンクデータを保存する。
各仮想マシンは、一又は複数の他の仮想マシンと通信するように構成してもよい。仮想マシンは、一又は複数の他の仮想マシンと直接的に通信するように構成してもよい。これに代えて、仮想マシンは、アプリケーションサーバ又はデータストアのうちの一つにメッセージを送信することによって通信するように構成してもよく、アプリケーションサーバ又はデータストアは、受信したメッセージをメッセージリポジトリ内に保存するように構成してもよく、各仮想マシンは、メッセージリポジトリ内のメッセージについて、アプリケーションサーバ又はデータストアをポーリングするように構成してもよい。更にこれに代えて、仮想マシンは、アプリケーションサーバ又はデータストアのうちの一つにメッセージを送信することによって通信するように構成してもよく、アプリケーションサーバ又はデータストアは、受信したメッセージを一又は複数の仮想マシンに送信するように構成してもよい。
アプリケーションサーバは、単一の作業待ち行列を複数の仮想マシンに割り当てるように構成してもよい。したがって、データストアは、仮想マシンが所与のデータオブジェクトにアクセスする際、所与のデータオブジェクトをロックすることによって、複数の仮想マシンによるデータストア内の所与のデータオブジェクトへの同時アクセスを防止するように構成してもよい。好ましくは、所与のデータオブジェクトに対するロックは、フェイルオーバイベントを通して持続し、データストアは、複数の仮想マシンのうちのいずれの仮想マシンもデータオブジェクトを処理することができないことを確認することにより、ロックをクリアするように構成してもよい。
アプリケーションサーバは、作業項目を処理する前に、作業項目を処理するために必要な時間の長さを計算するように構成してもよく、これは、局所化された環境又は性能問題、ネットワーク接続性、及びターゲット仮想マシンの応答性に基づいて行ってもよい。アプリケーションサーバは、計算された、作業項目を処理するために必要な時間の長さ及び作業待ち行列が割り当てられている仮想マシンの数に基づいて、作業待ち行列を処理するための推定時間を提供するように構成してもよい。
アプリケーションサーバは、仮想マシンによる作業待ち行列の処理の進行を監視するように構成してもよい。アプリケーションサーバは、メッセージングプロトコルを使用して一又は複数の仮想マシンと通信するように構成してもよく、各仮想マシンは、プロセス実行中に状態情報をアプリケーションサーバに応答するように構成してもよい。
アプリケーションサーバは、追加の仮想マシンに作業待ち行列を割り当てること及び/又はパフォーマンス及びスループットを向上させることに関する推奨を提供するように構成してもよい。
好ましくは、アプリケーションサーバは、各仮想マシンで利用可能なリソースに基づいて、各仮想マシンに作業待ち行列を割り当てるように構成されている。
アプリケーションサーバは、自動化プロセスの実行を解析して、各仮想マシンの速度、成功率、及び/又は応答性に基づいて、最適分散モデルを特定し、特定された最適分散モデルに基づいて、仮想マシンに作業待ち行列を割り当てるように構成してもよい。アプリケーションサーバは、最適分散モデルに基づいて、少なくとも一つの仮想マシンに現在の作業待ち行列の処理を停止し、新しい作業待ち行列の処理を開始するように命令するように構成してもよい。
アプリケーションサーバは、機械学習アルゴリズムを使用して自動化プロセスの実行を解析し、仮想マシンへの作業待ち行列の分散を向上させるように構成してもよい。
アプリケーションサーバは、作業項目及び/又は作業待ち行列の属性に基づいて、仮想マシンに作業待ち行列を割り当てるように構成してもよい。一又は複数の作業項目の少なくとも一つは、作業項目が処理されるまでに作業待ち行列の一部となり得る最大時間長を定義する最大待ち行列時間属性を有していてもよい。一又は複数の作業待ち行列の少なくとも一つは、作業待ち行列の一部となり得る作業項目の最大数を定義する最大待ち行列長属性を有していてもよい。一又は複数の作業待ち行列の少なくとも一つは、作業待ち行列内の全ての作業項目を処理する最大時間を定義する待ち行列完了時間属性を有していてもよい。
アプリケーションサーバは、作業項目及び/又は作業待ち行列の属性に基づいて、一又は複数の仮想マシンのうちの少なくとも一つに、現在の作業待ち行列の処理を停止し、新しい作業待ち行列の処理を開始するように命令するように構成してもよい。
システムの現在の状態及び/又は構成に関する情報を出力するように構成された出力デバイスを更に備えていてもよい。
本発明に基づくシステムの実現例の概略図である。 本発明に基づく例示的な作業待ち行列及び作業項目を示す図である。 本発明に基づくシステムの論理図である。
ここに開示するシステム及び方法は、効率的に処理を実行するために、ソフトウェアアプリケーションとインタラクトでき、及び相互にインタラクトできるデジタル作業者(digital workforce)として仮想マシンを使用することによってプロセスを自動化するシステムのコンテキストで動作する。このようなシステムは、国際公開公報第2015/001360A1号に開示されており、この開示は、参照により本明細書に援用される。
図1は、本発明に基づく代表的なシステム100を示している。システム100は、データストア101と、アプリケーションサーバ102と、一又は複数の仮想マシン103とを含む。データストア101は、自動化プロセスに関連するデータ、例えば、処理すべき作業項目及び自動化プロセスを定義する命令を保存する。アプリケーションサーバ102は、仮想マシン103とデータストア101との間の通信を仲介し、仮想マシン103の作成、削除、動作を管理する。仮想マシン103は、アプリケーションサーバ102から受信した命令に従って、自動化された処理を実行するように構成されている。
仮想マシン103は、一又は複数のリソースグループ104a〜cに組織化してもよい。リソースグループ104a〜cは、一又は複数のハードウェアデバイス、例えば、サーバに亘ってインプリメントされた仮想マシンの論理グループであってもよく、仮想マシンを動作させる所与のプロセス又は作業待ち行列(work queue)が利用できる計算能力、したがって、自動化プロセスを実行するために利用可能な計算能力を表す。特定の自動化プロセスは、単一のリソースグループへのアクセスを有していてもよく、複数のリソースグループを利用できるようにしてもよい。データストア101及びアプリケーションサーバ102は、通常、専用サーバ等の専用ハードウェアリソース上に設けられるが、同じ物理的なハードウェア上でデータストア101、アプリケーションサーバ102及び仮想マシン103を動作させることも可能である。
仮想マシン103は、標準的なエンドユーザオペレーティングシステム、好ましくは、Microsoft Windows(登録商標)の持続的仮想化インスタンス(persistent virtualised instances)であるが、macOS(登録商標)又はLinux(登録商標)ディストリビューション等、適切ないかなるオペレーティングシステムを使用してもよい。仮想マシン103は、適切なセキュリティクリアランス又は認証なしでは、物理的又は遠隔的にアクセスすることができない一又は複数のセキュアサーバ上に存在することが好ましい。仮想マシンが存在するサーバ又はリソースは、VMware ESX(登録商標)等のタイプ1ハイパーバイザ(Type 1 hypervisors)を実行することが好ましいが、仮想マシンの作成及び実行を可能にするハードウェア及びソフトウェアの構成は、適切ないかなるものであってもよいことは明らかである。仮想マシン103は、通常、グラフィカル出力を表示するモニタ又は同様の出力デバイスに接続されていないという意味でヘッドレスである。複数の仮想マシン103を実行することにより、複数の自動化プロセスを同時に実行してもよく、これにより、生産性を向上させ、又は複数の外部ユーザに同時にサービスを提供することができる。
仮想マシン103によって実行される自動化プロセスは、通常、例えば、スクリーンスクレイピング等の手法を使用するユーザインタフェースを介して、或いは利用可能なAPI又はアクセシビリティインタフェース(accessibility interfaces)を使用して、旧式ソフトウェアアプリケーションとインタラクトすることを含む。自動化プロセスを定義するワークフローは、通常は、独立したコンピュータ端末上で、ユーザによって設計され、アプリケーションサーバ102又はデータストア101に格納及び保存される。
図1に示す実施形態では、データストア101は、アプリケーションサーバ102と双方向通信しており、アプリケーションサーバ102は、仮想マシン103と双方向通信している。このように、アプリケーションサーバは、仮想マシン103とデータストア101との接続を管理する中間デバイスとして機能する。アプリケーションサーバ102は、例えば、Windows認証及び/又はSQL認証等のデータストアセキュリティ証明書(data store security credentials)を保持し、データストア101の安全な接続プロキシとして振る舞い、すなわち、全ての仮想マシン103は、アプリケーションサーバ102と通信し、アプリケーションサーバ102は、仮想マシン103に代わってデータストア101と安全に通信する。この構成により、アプリケーションサーバ102は、データストア101に保存されているデータにアクセスし、及びこれらのデータを変更するための正しい認証を有するデータストアセキュリティ証明書を保存する必要があるシステム100内の唯一のエンティティとなる。データストアサーバのセキュリティ証明書は、システム200内の一つの場所にのみ保存されるので、各仮想マシン103にセキュリティ証明書を保存する場合に比べて安全性が向上し、また、複数ユーザ複数パスワードシステム(multiple user multiple password systems)よりも優れた安全性が提供される。これに代えて、ここに開示するシステム及び方法は、仮想マシン103とデータストア101との間の直接通信、又はアプリケーションサーバ102以外の手段を介した間接的な通信を含んでもよいことはもちろんである。更に、システム100は、複数のアプリケーションサーバ102を含むことができる。例えば、システム100は、一又は複数のリソースグループ104a〜cのための専用アプリケーションサーバを含むことができる。
データストア101は、好ましくはSQLデータストアである。データストア101は、一又は複数のSQLデータストアを保持し、これらのSQLデータストアは、自動化プロセス、ユーザ証明書、監査情報、プロセスログ、並びに自動化プロセスのためのワークフロー構成及びスケジューリング情報に関連するプロセス及びオブジェクトのリポジトリを保持する。一つのデータストア101に複数のSQLスキームを存在させることができ、これにより、異なる仮想マシン103が、データストア101のデータストア内に保存されている異なる情報セットを参照して異なる自動化プロセスを実行することが可能になる。
データストア101は、仮想マシンがアクセスしたときにデータオブジェクトをロックすることによって、仮想マシン103によるデータストア内の所与のデータオブジェクトへの同時アクセスを防止するように構成することができる。また、仮想マシン103がデータストア101内のデータオブジェクトにアクセスすると、仮想マシン103がロックの要求を送信するようにしてもよい。これに代えて、データオブジェクトがデータオブジェクトによってアクセスされたときに、データストア101がデータオブジェクトを自動的にロックするようにしてもよい。データストア101に存在するレコードロックは、例えば、停電等のフェイルオーバイベントの全期間に亘って維持される。データストア101は、複数の仮想マシン103のいずれの仮想マシンも、ロックを再要求しなければデータストア内のデータを処理できないことを確認することによって、レコードロックをクリアする。仮想マシン103は、データオブジェクトに対するロックが不要になったことを示す通知をデータストア101に送信することができ、データストア101は、この後データオブジェクトからロックを除去し、他の仮想マシン103がこれに再度アクセスできるようにする。
システム100は、作業待ち行列を利用することによって仮想マシン103に亘る自動化プロセスの実行を最適化する。既存のシステムでは、仮想マシン103は、処理すべき作業項目について、作業待ち行列をポーリングする。本発明のシステムでは、作業待ち行列は、アプリケーションサーバ102によって仮想マシン103に割り当てられ、仮想マシン103は、目標パラメータ及び待ち行列構成情報を使用して、どのように目標を達成するかを決定する。以下、図2を参照して、これをより詳細に説明する。
図2は、処理のために仮想マシン103に提供される一又は複数の作業項目202a〜cの順序付きリストである代表的な作業待ち行列201を示している。各作業項目202a〜202cは、作業項目の一意の識別子、ケースID、及び他のコンテキスト情報等の一又は複数の情報データオブジェクトを含む。各作業項目202a〜202cの特定のタイプの情報データオブジェクトは、コンテキスト及び関連する自動化プロセスに依存する。例えば、携帯電話ネットワークで使用するためにSIMカードを起動するプロセスでは、作業項目202a〜cは、顧客名、電話番号、ICCID、IMSI、及び認証キーを含むことができる。
作業待ち行列は、通常、データストア101に保存されるが、作業待ち行列201は、アプリケーションサーバ102と通信する任意の適切な場所に保存してもよいことは明らかである。各作業項目202a〜202cが保持する情報データオブジェクトは、データストア101に平文で保存してもよく、或いは、作業待ち行列201は、情報データオブジェクトを待ち行列に保存する際に情報データオブジェクトを自動的に暗号化し、待ち行列からこれらを読み出す際に自動的に復号するように構成してもよい。
作業待ち行列201には、作業項目202a〜cを手動で供給してもよく、フィーダプロセス205を介して供給してもよい。フィーダプロセス205は、電子メール206又はスプレッドシート207等の任意の適切なソースからデータを取得し、作業項目202aを適切なフォーマットで出力し、作業項目202aを作業待ち行列201に追加する。作業待ち行列201は、ファーストインファーストアウト(first-in first-out:FIFO)方式で動作することができ、作業項目202cは、処理のために仮想マシン208に分散される。
作業項目202a〜cは、自動化プロセスの一部として使用される情報データオブジェクトに加えて、自動化プロセスを管理するために使用されるメタデータを有することができる(図3を参照して後により詳細に説明する)。例えば、作業項目202a〜cは、作業項目202a〜cが処理前に作業待ち行列201の一部となり得る最大時間長を定義する最大待ち行列時間属性を有することができる。作業待ち行列201自体は、作業待ち行列201の一部となり得る作業項目202a〜cの最大数を定義する最大待ち行列長属性を有することができる。
以下、本発明のシステムが作業待ち行列を処理する方法について、図3を参照してより詳細に説明する。システム300は、通常、データストア101上に配置され、作業項目302を含む作業待ち行列301を含む。また、システム300は、アプリケーションサーバ102上に配置され、アプリケーションサーバ102によって実行されるアクティブ待ち行列コントローラ(active queue controller)303を含む。アクティブ待ち行列コントローラ303は、作業待ち行列301に関連付けられている。アクティブ待ち行列コントローラ303は、例えば、リソースグループ306において、リソース308上に仮想マシン307を作成し及びこれを削除し、リソース308及び仮想マシン307を関連する作業待ち行列301に割り当てることによって、リソース308を管理する。また、アクティブ待ち行列コントローラ303は、リソース308及び仮想マシン307を監視し、作業待ち行列301に関する統計的情報(statistics)をデータストア101に問い合わせる。
作業待ち行列301は、アクティブ待ち行列コントローラ303がリソースグループ306のリソースをどのように管理するかを決定する追加のパラメータ304に関連付けてもよい。図3に示す例では、「目標リソース数(TARGET RESOURCES)」パラメータ304は、アクティブ待ち行列コントローラが作業待ち行列301を割り当てるべきリソース308の目標数を定義する。システムのユーザは、このパラメータ304を変更して、待ち行列のために動作するリソースを追加又は削除でき、すなわち、例えば、プロセスの速度を高めること又は時間に敏感でないプロセスのリソースをより効率的に使用することを目的として、リソース308上に仮想マシン307を作成し又はこれを除去できる。
アクティブ待ち行列コントローラ303は、システムのユーザにフィードバック305を提供できる。例えば、「アクティブリソース(ACTIVE RESOURCES)」は、現在作業待ち行列301を処理している仮想マシン307の数を示す。「利用可能リソース(AVAILABLE RESOURCES)」は、更なる仮想マシンを実行するために利用可能なリソース308の数を示す。「残り時間(TIME REMAINING)」は、作業待ち行列301内の全ての作業項目302を処理するために合計残り時間の推定値を示す。単一の作業項目を処理するのに必要な予測時間は、局所化された環境及び/又はパフォーマンスの問題、ネットワーク接続、ターゲット仮想マシンの応答性に基づいて算出できる。合計推定残り時間は、待ち行列301内の作業項目302の平均作業時間を求め、作業待ち行列301に残っている作業項目302の数を乗算することによって算出できる。「完了時刻(COMPLETION TIME)」は、作業待ち行列301が完了する予定の時刻、すなわち、現在の時刻に「残り時間」を足した時刻を示す。これらに加えて又はこれらに代えて、作業待ち行列301の状態及び進行に関する他の情報を提供してもよく、例えば、作業待ち行列301が実行中であるか停止中であるか、経過時間、完了した作業項目302の数、保留中の作業項目302の数、及び/又は作業待ち行列301内のケースの総数等の情報を提供してもよい。
また、アクティブ待ち行列コントローラ303は、リソースグループ306内の仮想マシンを作成及び削除する役割も担う。実行すべき所与の自動化プロセスについて、アクティブ待ち行列コントローラ303は、リソースグループ306内の利用可能なリソース308を見つけ出し、必要なリソース308上に仮想マシンを作成する。
例えば、新しい「目標リソース数」を達成するために、新しい仮想マシンを作成しなければならないとアクティブ待ち行列コントローラ303が判定した場合、アクティブ待ち行列コントローラ303は、この待ち行列301に割り当てられているリソースグループ306内で、利用可能なリソース308上に新しい仮想マシンを作成及び開始する。アクティブ待ち行列コントローラ303は、最もビジーではない(least busy)リソース308上に仮想マシンを最初に作成し、例えば、グループ306が4つの利用可能なリソース308を有し、これらのうちの2つがすでに実行中の仮想マシンを有する場合、アクティブ待ち行列コントローラ303は、仮想マシンを実行していないリソースの一つに仮想マシンを作成する。仮想マシンが何らかの理由で作成又は開始されなかった場合、他のリソースで再試行される。
アクティブ待ち行列コントローラ303が現在作業待ち行列301を処理している仮想マシンを削除する必要がある場合、アクティブ待ち行列コントローラ303は、仮想マシン307に停止要求を送信でき、これにより、仮想マシン307は、現在の作業項目の処理を終了すると、作業待ち行列内の項目の処理を中止する。
仮想マシン307は、アプリケーションサーバ102を介して、データストア101に保存されている作業待ち行列301から作業項目302を取り出す。仮想マシン307が各作業項目302の処理を終了すると、仮想マシン307は、作業待ち行列301が完了するまで、又はアクティブ待ち行列コントローラ303が仮想マシン307に作業待ち行列301の処理を停止するよう命令するまで、アプリケーションサーバ102を介して、データストア101に保存されている作業待ち行列301から新しい作業項目302を読み出す。一つの待ち行列301の処理を停止するように命令すると、仮想マシン307には、別の作業待ち行列の処理を開始するように命令することができ、これにより、仮想マシン307自体が、アプリケーションサーバ102を介してデータストア101と通信することによって、新しい作業待ち行列から作業項目を読み出す。
実行中のリソース308及び仮想マシン307は、他のリソース308及び仮想マシン307と通信するように構成されている。仮想マシン307は、これらの間でダイレクトメッセージを送受信することにより、互いに直接的に通信することができる。これに代えて、仮想マシン及びリソースは、アプリケーションサーバ102を介して互いにメッセージを送受信してもよい。アプリケーションサーバ102は、受信したメッセージを適切な宛先仮想マシン307に単にリダイレクトしてもよく、これに代えて、アプリケーションサーバ102は、受信したメッセージを、仮想マシン307によってポーリングできるリポジトリに保存してもよい。
仮想マシン間の通信は、特に、2つのシナリオで有益である。第一に、仮想マシン307の一つを管理コンソールとして機能させることができ、これにより、制御端末がリソース308の状態及び利用可能性又はこの他の情報を表示できる。システムのユーザは、制御端末にアクセスして、作業待ち行列のリソースへの割り当てを手動で制御でき、後に詳細に説明するように、アクティブ待ち行列コントローラ303によって提供される推奨を受け入れることができ、及び/又は仮想マシン307、リソース308及び作業待ち行列301の現在の状態を見ることができる。
第二に、上述のようにアプリケーションサーバ102がリソースグループを直接的に管理することに代えて、仮想マシン307の一つがリソースグループ306の「ヘッド」として機能でき、リソースグループ内の他の仮想マシン307及びリソース308と通信し、どの仮想マシン307及びリソース308が処理に利用可能であるかを判定し、リソースグループの他のメンバに命令を発し、アプリケーションサーバ102から受信した処理を開始及び停止できる。
アクティブ待ち行列コントローラ303は、自動化プロセスの進行を監視するために、作業項目302の処理中に、仮想マシン307と非同期的に、又は他の方式で通信するように構成されている。したがって、ユーザに提供されるフィードバック(統計的情報)305に加えて、アクティブ待ち行列コントローラ303は、作業待ち行列301を追加のリソースに割り当てる、すなわち、リソース308上に新しい仮想マシン307を作成することに関する推奨及びこの他のパフォーマンスの向上に関する推奨をユーザに提供できる。
これらの推奨を提供するために、アクティブ待ち行列コントローラ303は、仮想マシン307のリソースIDと、実行されたプロセスのIDと、実行日時と、プロセスの実行に要した時間とを保存する完了作業項目を使用して、インフラストラクチャ内の仮想マシン307上で完了時間及び性能メトリックを解析することができる。異なる仮想マシン307は、基礎となるハードウェアの能力、他の仮想マシンを含むマシンにインストールされているアプリケーション、及びこれらのアプリケーションとマシン自体のそれぞれのアプリケーションサーバからの距離のために、実行速度が異なることがある。アクティブ待ち行列コントローラ303は、このデータを使用して、所与のプロセスについて、実行すべき作業待ち行列処理の日時及び全体の構成、並びにどのリソース308又は仮想マシン307が最適な時間に作業を実行するのに最も適しているかを計算する。
仮想マシン307及びリソース308の監視の一部として、アクティブ待ち行列コントローラ303は、自動化プロセスの実行を解析し、各仮想マシン307及びリソース308の速度、成功率及び/又は応答性に基づいて、最適分散モデルを特定する。
各作業待ち行列301は、作業項目302がどのように処理されたかについての高レベルのビューを提供する履歴データを維持する。また、作業される各作業項目302は、作業項目を処理するために行われ、ケース毎に異なる場合があるプロセスステップを詳述する、処理の包括的なログ(comprehensive log)をデータストア101内に維持する。アクティブ待ち行列コントローラ303は、機械学習技術を使用して、上述したようにアクティブ待ち行列コントローラ303によって収集された、作業待ち行列301の構成及びリソース情報を取得し、この作業項目302のデータと詳細なログファイルとを組み合わせて、作業待ち行列データとログステージとを関連付けるモデルを構築し、どのような種類の作業項目を処理するために、どれほどの特定の時間がかかるかを判定できる。例えば、口座保有者が3人である当座預金口座(current account)に関連する作業項目の処理には、口座保有者が1人である普通預金口座(savings account)の2倍の時間がかかることがある。システムは、現在の最適分散モデルに基づいて作業待ち行列を処理しながら、システムによって生成される新しいデータに基づいて、最適分散モデルを反復的に修正し、これにより、モデルによって提供される推奨を向上させる。この情報は、プロセス及びリソース情報に加えて、データストア101内に蓄積されたデータの深さを用いて、完了時間に反映されるデータ及びプロセスのパターンを学習することによって、経時的にしか収集することができない。この後、この解析の結果を使用して、利用可能なリソース308と仮想マシン307に亘って、作業待ち行列301内の作業項目302を分散させる最も効果的な手法を記述する最適分散モデルを生成できる。
そして、アクティブ待ち行列コントローラ303は、作業項目302をどのように分散させるかに関する一又は複数の推奨をユーザに提供でき、或いは、最適分散モデルに基づいて、最適なリソース308に作業待ち行列301及び作業項目302を自動的に割り当てることができる。アクティブ待ち行列コントローラは、作業項目302を個々の仮想マシン307に分散させる際、個々の作業項目302の最大待ち行列時間及び作業待ち行列301の最大待ち行列長属性を考慮に入れることができる。
この説明は、単なる例示にすぎないことは明らかであり、特許請求の範囲に定義された本発明の範囲から逸脱することなく、ここに記述した実施形態に変更及び修正を加えることができる。

Claims (31)

  1. 自動化プロセスを実行するためのシステムであって、
    自動化プロセスを実行するための命令、一又は複数の作業待ち行列、及び各作業待ち行列と前記自動化プロセスの一つとの間の関連付けを保存するように構成されたデータストアと、
    前記データストアに保存された命令によって定義される一又は複数の自動化プロセスを実行するように構成された一又は複数の仮想マシンと、
    前記一又は複数の作業待ち行列を前記一又は複数の仮想マシンに割り当てるように構成されたアプリケーションサーバとを備え、
    前記各仮想マシンは、前記アプリケーションサーバによって作業待ち行列が割り当てられると、
    前記割り当てられた作業待ち行列に関連付けられた自動化プロセスを実行するための命令を前記データストアから読み出し、
    前記データストアから検索された命令に従って前記自動化プロセスを実行するシステム。
  2. 請求項1において、前記各作業待ち行列は、一又は複数の作業項目を含み、前記各仮想マシンは、前記データストアに保存されている命令に従って、前記割り当てられた作業待ち行列の作業項目を処理することによって前記一又は複数の自動化プロセスを実行するように構成されているシステム。
  3. 請求項2において、前記各作業項目は、一又は複数の情報データオブジェクトを含むシステム。
  4. 請求項1乃至3のいずれかにおいて、前記各作業待ち行列は、作業項目の論理グループであるシステム。
  5. 請求項1乃至4のいずれかにおいて、前記データストアに保存された命令は、前記各作業項目に対して前記自動化プロセスを実行するためのワークフローを定義するシステム。
  6. 請求項1乃至5のいずれかにおいて、前記データストアは、前記一又は複数の仮想マシンと、前記一又は複数の作業待ち行列との間のリンクを定義するリンクデータを保存するように構成されているシステム。
  7. 請求項1乃至6のいずれかにおいて、前記各仮想マシンは、一又は複数の他の仮想マシンと通信するように構成されているシステム。
  8. 請求項7において、前記仮想マシンは、一又は複数の他の仮想マシンと直接的に通信するように構成されているシステム。
  9. 請求項7において、前記仮想マシンは、前記アプリケーションサーバ又は前記データストアのうちの一つにメッセージを送信することによって通信するように構成され、前記アプリケーションサーバ又は前記データストアは、受信した前記メッセージをメッセージリポジトリ内に保存するように構成され、前記各仮想マシンは、前記メッセージリポジトリ内のメッセージについて、前記アプリケーションサーバ又は前記データストアをポーリングするように構成されているシステム。
  10. 請求項7において、前記仮想マシンは、前記アプリケーションサーバ又は前記データストアのうちの一つにメッセージを送信することによって通信するように構成され、前記アプリケーションサーバ又は前記データストアは、受信した前記メッセージを一又は複数の仮想マシンに送信するように構成されているシステム。
  11. 請求項1乃至10のいずれかにおいて、前記アプリケーションサーバは、単一の作業待ち行列を複数の仮想マシンに割り当てるように構成されているシステム。
  12. 請求項10において、前記データストアは、仮想マシンが所与のデータオブジェクトにアクセスする際、前記所与のデータオブジェクトをロックすることによって、複数の仮想マシンによる前記データストア内の所与のデータオブジェクトへの同時アクセスを防止するように構成されているシステム。
  13. 請求項12において、前記所与のデータオブジェクトに対する前記ロックは、フェイルオーバイベントを通して持続するシステム。
  14. 請求項13において、前記データストアは、前記複数の仮想マシンのうちのいずれの仮想マシンも前記データオブジェクトを処理することができないことを確認することにより、前記ロックをクリアするように構成されているシステム。
  15. 請求項1乃至14のいずれかにおいて、前記アプリケーションサーバは、前記作業項目を処理する前に、前記作業項目を処理するために必要な時間の長さを計算するように構成されているシステム。
  16. 請求項15において、前記アプリケーションサーバは、局所化された環境又は性能問題、ネットワーク接続性、及びターゲット仮想マシンの応答性に基づいて、前記時間の長さを計算するように構成されているシステム。
  17. 請求項15又は16において、前記アプリケーションサーバは、前記計算された、前記作業項目を処理するために必要な時間の長さ及び前記作業待ち行列が割り当てられている前記仮想マシンの数に基づいて、作業待ち行列を処理するための推定時間を提供するように構成されているシステム。
  18. 請求項15乃至17のいずれかにおいて、前記アプリケーションサーバは、前記仮想マシンによる作業待ち行列の処理の進行を監視するように構成されているシステム。
  19. 請求項18において、前記アプリケーションサーバは、メッセージングプロトコルを使用して前記一又は複数の仮想マシンと通信するように構成され、前記各仮想マシンは、プロセス実行中に状態情報をアプリケーションサーバに応答するように構成されているシステム。
  20. 請求項15乃至19のいずれかにおいて、前記アプリケーションサーバは、追加の仮想マシンに作業待ち行列を割り当てること及び/又はパフォーマンス及びスループットを向上させることに関する推奨を提供するように構成されているシステム。
  21. 請求項1乃至20のいずれかにおいて、前記アプリケーションサーバは、各仮想マシンで利用可能なリソースに基づいて、各仮想マシンに作業待ち行列を割り当てるように構成されているシステム。
  22. 請求項1乃至21のいずれかにおいて、前記アプリケーションサーバは、前記自動化プロセスの実行を解析して、各仮想マシンの速度、成功率、及び/又は応答性に基づいて、最適分散モデルを特定するように構成されているシステム。
  23. 請求項22において、前記アプリケーションサーバは、前記特定された最適分散モデルに基づいて、仮想マシンに作業待ち行列を割り当てるように構成されているシステム。
  24. 請求項22又は23において、前記アプリケーションサーバは、前記最適分散モデルに基づいて、少なくとも一つの仮想マシンに現在の作業待ち行列の処理を停止し、新しい作業待ち行列の処理を開始するように命令するように構成されているシステム。
  25. 請求項22において、前記アプリケーションサーバは、機械学習アルゴリズムを使用して自動化プロセスの実行を解析し、仮想マシンへの作業待ち行列の分散を向上させるように構成されているシステム。
  26. 請求項2において、前記アプリケーションサーバは、前記作業項目及び/又は作業待ち行列の属性に基づいて、仮想マシンに作業待ち行列を割り当てるように構成されているシステム。
  27. 請求項26において、前記一又は複数の作業項目の少なくとも一つは、前記作業項目が処理されるまでに前記作業待ち行列の一部となり得る最大時間長を定義する最大待ち行列時間属性を有するシステム。
  28. 請求項26又は27において、前記一又は複数の作業待ち行列の少なくとも一つは、前記作業待ち行列の一部となり得る作業項目の最大数を定義する最大待ち行列長属性を有するシステム。
  29. 請求項26乃至28のいずれかにおいて、前記一又は複数の作業待ち行列の少なくとも一つは、前記作業待ち行列内の全ての作業項目を処理する最大時間を定義する待ち行列完了時間属性を有するシステム。
  30. 請求項26乃至29のいずれかにおいて、前記アプリケーションサーバは、前記作業項目及び/又は作業待ち行列の属性に基づいて、前記一又は複数の仮想マシンのうちの少なくとも一つに、前記現在の作業待ち行列の処理を停止し、新しい作業待ち行列の処理を開始するように命令するように構成されているシステム。
  31. 請求項1乃至30のいずれかにおいて、前記システムの現在の状態及び/又は構成に関する情報を出力するように構成された出力デバイスを更に備えるシステム。
JP2018022903A 2017-02-15 2018-02-13 自動化プロセスの処理の分散を最適化するシステム Active JP7161262B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB1702450.6A GB201702450D0 (en) 2017-02-15 2017-02-15 System for optimising distribution of processing an automated process
GB1702450.6 2017-02-15
US15/462,709 US10469572B2 (en) 2017-02-15 2017-03-17 System for optimizing distribution of processing an automated process
US15/462,709 2017-03-17

Publications (2)

Publication Number Publication Date
JP2018133084A true JP2018133084A (ja) 2018-08-23
JP7161262B2 JP7161262B2 (ja) 2022-10-26

Family

ID=58461988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022903A Active JP7161262B2 (ja) 2017-02-15 2018-02-13 自動化プロセスの処理の分散を最適化するシステム

Country Status (8)

Country Link
US (3) US10469572B2 (ja)
JP (1) JP7161262B2 (ja)
CN (2) CN108492003B (ja)
AU (2) AU2018201052B2 (ja)
BR (1) BR102018002638A2 (ja)
CA (1) CA2995010C (ja)
GB (1) GB201702450D0 (ja)
ZA (1) ZA201800993B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060298A1 (ko) * 2018-09-20 2020-03-26 주식회사 뤼이드 실시간 모델링을 위한 머신 러닝 프레임워크의 운용 방법, 장치 및 컴퓨터 프로그램

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201702450D0 (en) 2017-02-15 2017-03-29 Blue Prism Ltd System for optimising distribution of processing an automated process
US11409576B2 (en) 2017-12-29 2022-08-09 Entefy Inc. Dynamic distribution of a workload processing pipeline on a computing infrastructure
CN110097330A (zh) * 2019-03-27 2019-08-06 深圳市佰仟金融服务有限公司 一种业务请求处理方法、装置及计算机可读存储介质
US11385920B2 (en) * 2019-03-28 2022-07-12 Amazon Technologies, Inc. Compute platform optimization over the life of a workload in a distributed computing environment
GB2590967A (en) 2020-01-10 2021-07-14 Blue Prism Ltd Method of remote access
US10817329B1 (en) * 2020-02-07 2020-10-27 Coupang Corp. Systems and methods for centralization and diagnostics for live virtual server performance data
US11776672B1 (en) 2020-12-16 2023-10-03 Express Scripts Strategic Development, Inc. System and method for dynamically scoring data objects
US11423067B1 (en) 2020-12-16 2022-08-23 Express Scripts Strategic Development, Inc. System and method for identifying data object combinations
US11862315B2 (en) 2020-12-16 2024-01-02 Express Scripts Strategic Development, Inc. System and method for natural language processing
CN112769900B (zh) * 2020-12-22 2023-04-25 中冶赛迪信息技术(重庆)有限公司 一种数据分发方法、系统、介质及电子终端
US11971705B2 (en) 2021-04-13 2024-04-30 UiPath, Inc. Autoscaling strategies for robotic process automation
EP4131047A1 (en) 2021-08-05 2023-02-08 Blue Prism Limited Data obfuscation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326754A (ja) * 2003-04-29 2004-11-18 Internatl Business Mach Corp <Ibm> 共用リソースを使用するための仮想計算機の管理
JP2007265193A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ジョブ割当プログラム、ジョブ割当装置およびジョブ割当方法
JP2016527620A (ja) * 2013-07-05 2016-09-08 ブルー プリズム リミテッド 自動プロセスのためのシステム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256637B1 (en) 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
FR2820222B1 (fr) 2001-01-26 2003-03-21 Schneider Automation Procede de programmation d'une application d'automatisme
US7188111B2 (en) 2002-07-12 2007-03-06 Datadirect Technologies Corp. System and method for connectivity to structured query language database
JP2005184165A (ja) * 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
JP2005196291A (ja) 2003-12-26 2005-07-21 Fujitsu Ltd ユーザインタフェースアプリケーション開発プログラム、および開発装置
US7971091B1 (en) 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
US20100027896A1 (en) 2006-06-28 2010-02-04 Amir Geva Automated application interaction using a virtual operator
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US8346891B2 (en) 2007-10-19 2013-01-01 Kubisys Inc. Managing entities in virtual computing environments
US8261248B2 (en) 2007-11-05 2012-09-04 Sap Ag System and method of executing a dynamic program in a structured environment
JP2009151467A (ja) 2007-12-19 2009-07-09 Canon Inc 配信印刷システム
US20100023517A1 (en) 2008-07-28 2010-01-28 V Raja Method and system for extracting data-points from a data file
US8369968B2 (en) 2009-04-03 2013-02-05 Dell Products, Lp System and method for handling database failover
US8972519B2 (en) * 2009-11-16 2015-03-03 International Business Machines Corporation Optimization of multimedia service over an IMS network
US8661286B2 (en) 2010-05-21 2014-02-25 Unisys Corporation QProcessor architecture in a cluster configuration
US8560887B2 (en) * 2010-12-09 2013-10-15 International Business Machines Corporation Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures
US20120151479A1 (en) * 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US9110709B2 (en) 2010-12-14 2015-08-18 International Business Machines Corporation Preserving changes to a configuration of a running virtual machine
US9292466B1 (en) 2010-12-28 2016-03-22 Amazon Technologies, Inc. Traffic control for prioritized virtual machines
JP2012155219A (ja) 2011-01-27 2012-08-16 Nec Casio Mobile Communications Ltd 演奏データ提供システム、方法、サーバ、携帯端末およびコンピュータプログラム
JP5729209B2 (ja) 2011-08-12 2015-06-03 富士通株式会社 情報処理装置、情報処理システムのテスト方法およびプログラム
US8826068B2 (en) 2011-11-23 2014-09-02 Microsoft Corporation Automated testing of applications in cloud computer systems
US9916514B2 (en) 2012-06-11 2018-03-13 Amazon Technologies, Inc. Text recognition driven functionality
US9274742B2 (en) 2012-10-25 2016-03-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
US20140181817A1 (en) 2012-12-12 2014-06-26 Vmware, Inc. Methods and apparatus to manage execution of virtual machine workflows
WO2014127535A1 (en) 2013-02-22 2014-08-28 Google Inc. Systems and methods for automated content generation
WO2014133522A2 (en) * 2013-02-28 2014-09-04 Empire Technology Development, Llc Local message queue processing for co-located workers
US20140282978A1 (en) 2013-03-15 2014-09-18 Sergio Demian LERNER Method and apparatus for secure interaction with a computer service provider
CN104516773B (zh) 2013-09-29 2018-04-20 国际商业机器公司 用于物理机的数据分配方法和数据分配装置
US9354937B2 (en) * 2014-07-18 2016-05-31 Thomson Reuters Global Resources System and method for electronic work prediction and dynamically adjusting server resources
WO2016100545A1 (en) * 2014-12-16 2016-06-23 Noderprime, Inc. Computer servers for datacenter managment
CN105208123A (zh) * 2015-09-24 2015-12-30 广东亿迅科技有限公司 一种虚拟桌面的实现方法及其系统
US11182203B2 (en) 2016-12-06 2021-11-23 Vmware, Inc. Systems and methods to orchestrate infrastructure installation of a hybrid system
GB201702450D0 (en) 2017-02-15 2017-03-29 Blue Prism Ltd System for optimising distribution of processing an automated process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326754A (ja) * 2003-04-29 2004-11-18 Internatl Business Mach Corp <Ibm> 共用リソースを使用するための仮想計算機の管理
JP2007265193A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ジョブ割当プログラム、ジョブ割当装置およびジョブ割当方法
JP2016527620A (ja) * 2013-07-05 2016-09-08 ブルー プリズム リミテッド 自動プロセスのためのシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060298A1 (ko) * 2018-09-20 2020-03-26 주식회사 뤼이드 실시간 모델링을 위한 머신 러닝 프레임워크의 운용 방법, 장치 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
CA2995010A1 (en) 2018-08-15
US20180234490A1 (en) 2018-08-16
US10469572B2 (en) 2019-11-05
AU2021200764A1 (en) 2021-03-04
BR102018002638A2 (pt) 2019-02-19
CA2995010C (en) 2023-12-19
US11290528B2 (en) 2022-03-29
ZA201800993B (en) 2023-03-29
US20200021645A1 (en) 2020-01-16
CN108492003B (zh) 2023-10-31
US10938893B2 (en) 2021-03-02
AU2018201052B2 (en) 2022-03-03
AU2018201052A1 (en) 2018-08-30
GB201702450D0 (en) 2017-03-29
JP7161262B2 (ja) 2022-10-26
CN117035282A (zh) 2023-11-10
CN108492003A (zh) 2018-09-04
US20200021646A1 (en) 2020-01-16

Similar Documents

Publication Publication Date Title
JP7161262B2 (ja) 自動化プロセスの処理の分散を最適化するシステム
US9734224B2 (en) Data synchronization in a cloud infrastructure
US9473374B2 (en) Integrated metering of service usage for hybrid clouds
US9967136B2 (en) System and method for policy-based smart placement for network function virtualization
US9838370B2 (en) Business attribute driven sizing algorithms
US8495182B1 (en) Scalable systems management abstraction framework
US10521746B2 (en) Recovery workflow for processing subscription orders in a computing infrastructure system
US20140173618A1 (en) System and method for management of big data sets
US9911089B2 (en) Email client with ERP task integration
WO2010101042A1 (ja) 業務環境生成システム、業務環境生成方法、及び記憶媒体
JP2009217327A (ja) クライアント環境生成システム、クライアント環境生成方法、クライアント環境生成プログラム、及び記憶媒体
US11223572B2 (en) Multi-tenant resource allocation using control groups in cloud-based computing environment
EP3364299A1 (en) System for optimising distribution of processing an automated process
CN110221910B (zh) 用于执行mpi作业的方法和装置
EP3110100B1 (en) System and method for managing virtual environments in an infrastructure
NZ739898A (en) System for optimising distribution of processing an automated process
US20120310995A1 (en) Information management assistant
Lu et al. A big data on private cloud agile provisioning framework based on OpenStack
JP2015001766A (ja) 資産管理システム及び資産管理方法
US20220191167A1 (en) Organizational modelling for routing rpa related services of an rpa cloud suite
US10853753B1 (en) Closed-loop information technology issue remediation
chandra Thota Reduce the Customer’s Complaint Resolution Time in Migration of Oracle Database Servers in Vmware

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20190308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221012

R150 Certificate of patent or registration of utility model

Ref document number: 7161262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150