JP7089879B2 - ロボットによるプロセス自動化 - Google Patents

ロボットによるプロセス自動化 Download PDF

Info

Publication number
JP7089879B2
JP7089879B2 JP2017567664A JP2017567664A JP7089879B2 JP 7089879 B2 JP7089879 B2 JP 7089879B2 JP 2017567664 A JP2017567664 A JP 2017567664A JP 2017567664 A JP2017567664 A JP 2017567664A JP 7089879 B2 JP7089879 B2 JP 7089879B2
Authority
JP
Japan
Prior art keywords
computer
activity
image
display
robot
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.)
Active
Application number
JP2017567664A
Other languages
English (en)
Other versions
JP2018535459A (ja
Inventor
バタレル,シリル
ジャコ,エイドリアン
ラウール トーレス,セルジオ
Original Assignee
アクセンチュア グローバル サービスィズ リミテッド
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 アクセンチュア グローバル サービスィズ リミテッド filed Critical アクセンチュア グローバル サービスィズ リミテッド
Priority claimed from PCT/EP2016/065305 external-priority patent/WO2017001560A1/en
Publication of JP2018535459A publication Critical patent/JP2018535459A/ja
Application granted granted Critical
Publication of JP7089879B2 publication Critical patent/JP7089879B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36184Record actions of human expert, teach by showing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Manipulator (AREA)
  • Programmable Controllers (AREA)

Description

関連出願の相互参照
本願は、2015年7月2日に出願された欧州特許出願第15290172号の優先権を主張するものであり、参照によってその内容全体を本願明細書に引用するものとする。
技術分野
本開示は、全般的に、ロボットによるプロセス自動化に関する。
コンピュータ上で実行される手動プロセスには、繰り返しが多く時間がかかるものもある。例えば、ウェブフォームの提出に応答してユーザが電子メールを送信する場合があるが、ウェブフォームが提出されるたびに、コンピュータと手動でやり取りして、ボタンをクリックして新規電子メールを書くウィンドウを開き、ボタンをクリックして提出ウェブフォームからそのウィンドウに情報をコピーし、キーをクリックして電子メールの本文の文章を書き込み、ボタンをクリックして電子メールを送信する必要がある場合もある。
全般的に、本明細書に記載される主題の側面は、人により手動で実行されるプロセスを自動化するプロセスを含み得る。手動プロセスを自動化するために、システムは、プロセスを実行する間に人がコンピュータと手動でやり取りする間のコンピュータのディスプレイの画像を、コンピュータビジョン技術を使用して分析することができる。分析から、システムは、例えばキーストローク、マウスクリック、またはタッチスクリーンのタッチなどのプロセスに関連するアクティビティを判断できる。判断されたアクティビティに基づき、システムは次に、プロセスを自動的に繰り返すようロボットにコンピュータとのやり取りを行わせることができる。プロセスを繰り返す際、ロボットはさらに、判断されたアクティビティに関連するやり取りを自動的に実行するために、コンピュータのディスプレイの画像に対してコンピュータビジョン技術を使用してもよい。
一部の側面では、本明細書に記載された主題は、プロセスであって、(i)コンピュータとやり取りするユーザにより手動で実行され、且つ(ii)コンピュータまたは別のコンピュータと物理的にやり取りするよう構成されたロボットにより実行されるよう自動化されるべき、プロセスを識別するアクションを含み得る方法に具現化されてもよい。さらなるアクションには、プロセスを手動で実行する際にユーザがコンピュータとやり取りしている間に撮られたコンピュータのディスプレイの画像1つ以上を取得することと、プロセスに関連する1つ以上のアクティビティを識別するために、プロセスを手動で実行する際にユーザがコンピュータとやり取りしている間に撮られたコンピュータのディスプレイの画像に対してコンピュータビジョン技術を適用することとが含まれる。さらなるアクションには、識別された1つ以上のアクティビティそれぞれについて、アクティビティに関連するアクティビティ情報を生成することと、ロボットにコンピュータまたは別のコンピュータと物理的にやり取りしてプロセスを自動的に実行させるために使用されるプロセス定義を生成することであって、プロセス定義は、識別された1つ以上のアクティビティを指示し、且つ、識別されたアクティビティそれぞれについてアクティビティに関連するアクティビティ情報を指示する、プロセス定義を生成することとが含まれる。
その他の変形としては、対応するシステム、装置、およびコンピュータストレージデバイス上にコードされ本方法のアクションを実行するよう構成されたコンピュータプログラムが含まれる。
これらの変形および他の変形はそれぞれ、任意選択で、以下の特徴のうちの1つ以上を含んでもよい。例えば一部の実装では、プロセスを手動で実行する際にユーザがコンピュータとやり取りしている間に撮られたコンピュータのディスプレイの画像1つ以上を取得することは、コンピュータのディスプレイの撮られた画像1つ以上をカメラから取得することを含む。一部の側面において、1つ以上の画像はビデオを含む。特定の側面において、アクティビティに関連するアクティビティ情報を生成することは、アクティビティが実行される前にディスプレイに示された画面の或る部分のスナップショットを生成することを含む。一部の実装において、アクティビティに関連するアクティビティ情報を生成することは、アクティビティが実行された後にディスプレイに示された画面のスクリーンショットを生成することを含む。一部の実装においてアクティビティは、キー押下、マウスクリック、画面タッチ、フォアグラウンドのプロセスの変化、またはシーン変化のうちの1つ以上を含む。
一部の側面においてアクションは、プロセス定義にアクセスすることと、プロセス定義により指示されたアクティビティおよびアクティビティ情報に基づきコンピュータまたは別のコンピュータと物理的にやり取りするようロボットに自動的に命令することとを含む。特定の側面において、プロセス定義により指示されたアクティビティおよびアクティビティ情報に基づきコンピュータまたは別のコンピュータとやり取りするようロボットに自動的に命令することは、別のコンピュータの別のディスプレイに示された画面の中で、特定のアクティビティのアクティビティ情報により指示されたスナップショットに視覚的に一致する部分を識別することと、該部分の中心に対応する位置で別のディスプレイに物理的にタッチするようロボットに命令することとを含む。一部の実装において、プロセス定義により指示されたアクティビティおよびアクティビティ情報に基づき別のコンピュータとやり取りするようロボットに自動的に命令することは、別のディスプレイに示された画面が特定のアクティビティのアクティビティ情報により指示されたスクリーンショットに対応すると判断することと、別のディスプレイに示された画面が特定のアクティビティのアクティビティ情報により指示されたスクリーンショットに対応すると判断するのに応答して、プロセス定義により指示された後続アクティビティに基づき別のコンピュータと物理的にやり取りするようロボットに命令することを含む。一部の側面では、プロセス定義により指示されたアクティビティおよびアクティビティ情報に基づきコンピュータまたは別のコンピュータとやり取りするようロボットに自動的に命令することは、別のコンピュータの別のディスプレイに示された画面の中で、特定のアクティビティのアクティビティ情報により指示されたスナップショットに視覚的に一致する部分を識別することと、画面の中でスナップショットに視覚的に一致する部分の中心に対応する座標のクリックを受信するための電子信号を別のコンピュータに提供するようロボットに命令することとを含む。一部の側面においてアクションは、プロセスを修正するために人が使用できるグラフィカルバージョンのプロセス定義を生成することを含む。
1つの技術的な利点は、システムがより的確な自動化を可能にできることかもしれない。例えば、異なるコンピュータは異なる画面解像度、アプリケーションウィンドウの位置、アプリケーションウィンドウのサイズ、またはその他、アクティビティに対して記憶されている座標に単に基づきやり取りすると問題を生じるかもしれない相違を有することもある。システムは、コンピュータビジョン技術を使用するので、手動プロセスが実行されたときとは異なる形でボタン、コントロール、ウィンドウ、または他のユーザインターフェース要素が現れたとしても、いつどこでやり取りが自動的に発生すべきかを的確に判断できる。さらにコンピュータビジョン技術は、システムが、自動のやり取りがアクティビティの無事な完了をもたらしたかどうかをディスプレイの画像に基づき判断できるようにし得る。
他の利点としては、システムが、表示情報しか容易に入手できない場合でもシステム上での自動化を可能にできることが挙げられよう。例えばシステムは、人が手動プロセスの実行に使用するコンピュータとは電子通信していなくてもよく、システムはそれでも、プロセスを自動的に実行する方法を判断できてもよい。別の利点は、システムが、物理的なやり取りを必要とするプロセスのシステム上での自動実行を可能にし得ることであろう。例えばコンピュータは、物理的な入力を必要としてもよく、その物理的なやり取りを、システムにより制御されるロボットが実行してもよい。さらに別の利点は、ロボットが特定用途向けのモジュールを必要とせずに多様なユーザインターフェースとやり取りできるという点で、システムが普遍的であり得るということであろう。
本明細書に記載される主題の1つ以上の実装の詳細が、添付の図面および以下の説明に記載される。本主題の他の潜在的な特徴、側面、および利点は、本記載、図面、および特許請求の範囲から明らかとなる。当然のことながら、各例が別々に記載されていても、その個々の特徴はさらなる例へと組み合わされ得る。
手動プロセスを自動化する例示のシステムのブロック図である。 プロセスを自動的に実行する例示のシステムのブロック図である。 手動プロセスを自動化する例示のプロセスのフローチャートである。 例示的な汎用コンピュータシステムの概略図を示す。
別々の図面中の同じ参照符号は、同じ構成要素を指示する。
図1は、手動プロセスを自動化する例示のシステム100のブロック図である。簡潔に言うと、さらに詳しくは後述するとおり、システム100は、画像捕捉器110、アクティビティ識別器120、アクティビティ情報生成器130、およびプロセス定義生成器140を含んでもよい。
画像捕捉器110は、プロセスを手動で実行するにあたりユーザがコンピュータとやり取りする間に、コンピュータのディスプレイの画像を取得してもよい。例えば画像捕捉器は、「はい」および「いいえ」ボタンを備えたユーザインターフェースを示すタッチスクリーンの第1画像と、「はい」ボタンがユーザによりタッチされるのに応答して強調表示されているユーザインターフェースを示すタッチスクリーンの第2画像とを取得してもよい。一部の実装では、画像捕捉器110は、ディスプレイ上に示された画面の画像を捕捉する、例えば電荷結合素子(CCD:charge-coupled device)カメラまたは相補型金属酸化膜半導体(CMOS:complementary metal-oxide-semiconductor)カメラなどのカメラであってもよい。他の実装では、画像捕捉器110は、コンピュータまたは別のコンピュータ上で実行されコンピュータからコンピュータのディスプレイへのビデオ出力を監視するソフトウェアプロセスであってもよい。
画像捕捉器110は、プロセスであって、(i)コンピュータとやり取りするユーザにより手動で実行され、且つ(ii)コンピュータまたは別のコンピュータとやり取りするよう構成されたロボットにより実行されるよう自動化されるべき、プロセスをシステム100が識別すると、画像を取得し始めてもよい。例えばユーザは、手動プロセスを自動化するアプリケーションを開いて、システムステータスログエントリの生成プロセスをユーザが自動化したいということを知らせる入力を提供し、その手動プロセスをユーザが開始すると知らせる入力を提供し、その手動プロセスをユーザが終えたと知らせる入力を提供してもよい。本例では、画像捕捉器110は、手動プロセスをユーザが自動化したいということを知らせる入力をユーザが提供すると画像の捕捉を始め、手動プロセスをユーザが終えたと知らせる入力をユーザが提供すると画像の捕捉を終了してもよい。画像捕捉器110は、様々なタイミングで画像を取得してもよい。例えば画像捕捉器110は、例えば1ミリ秒、5ミリ秒、25ミリ秒、100ミリ秒毎、またはその他何らかの間隔など、所定の間隔で画像を取得してもよい。
別の例では、画像捕捉器110は、画像を継続的に取得していてもよく、システム100は、機械学習を使用してプロセス開始時およびプロセス終了時を判断してもよい。例えばシステム100のプロセス分割器が、機械学習を使用して、プロセスの開始または終了に関連する特定のアクティビティを判断してもよい。そのようなアクティビティには、例えば、特定ソフトウェアウィンドウがフォアグラウンドに現れること、または特定のロゴが検出されることなど、ディスプレイ上に特定の画像が示されることが含まれ得る。プロセス分割器は、こうした特定アクティビティを識別して、順次的なアクティビティのリストを、開始に関連するアクティビティと終了に関連するアクティビティとの間に入るすべてのイベントを含んだ別々のアクティビティサブリストへと分割してもよい。一部の実装では、プロセス分割器は、例えばアプリケーションアイコンをクリックする、アプリケーションウィンドウが開く、メニューボタンをクリックするなど、繰り返されるアクティビティシーケンスを識別することを試行して、繰り返されるアクティビティシーケンスが識別されると、繰り返されるシーケンスの中の最初のアクティビティをプロセスの開始に関連するアクティビティとして識別し、繰り返されるシーケンスの中の最後のアクティビティをプロセスの終了に関連するアクティビティとして識別してもよい。
画像捕捉器110は、取得された画像をアクティビティ識別器120に提出してもよい。例えば画像捕捉器110は、「はい」および「いいえ」ボタンを備えたユーザインターフェースを示すタッチスクリーンの第1画像と、「はい」ボタンがタッチされるのに応答して強調表示されているユーザインターフェースを示すタッチスクリーンの第2画像とを取得して、アクティビティ識別器120に提供してもよい。
アクティビティ識別器120は、画像捕捉器110から受信された画像にコンピュータビジョン技術を適用して、プロセスに関連する1つ以上のアクティビティを識別してもよい。例えばアクティビティ識別器120は、「はい」および「いいえ」ボタンを備えたユーザインターフェースを示すタッチスクリーンの第1画像と、「はい」ボタンがユーザによりタッチされるのに応答して強調表示されているユーザインターフェースを示すタッチスクリーンの第2画像とにコンピュータビジョン技術を適用して、プロセスに関連するアクティビティが画面のタッチであると判断してもよい。他のアクティビティには、例えば、マウスクリック、キー押下、またはシーン変化が含まれ得る。
コンピュータビジョン技術には、画像間の相違を識別すること、光学式文字認識を実行すること、物体認識を実行すること、または他の技術が含まれ得る。例えばアクティビティ識別器120は、「はい」および「いいえ」ボタンが強調表示されていない第1画像と、「はい」ボタンが強調表示された第2画像との相違に基づき、タッチスクリーンの「はい」ボタンがタッチされたと判断してもよい。別の例においてアクティビティ識別器120は、第1画像では、マウスカーソルがメニューを開くメニューアイコンの上にあり、第2画像では、マウスカーソルがまだメニューアイコンの上にあり今はメニューが開いていると判断し、それに応答して、マウスの左ボタンでメニューアイコンがクリックをされたと判断してもよい。
さらに別の例においてアクティビティ識別器120は、第1画像が空白のテキストフィールドへのテキスト入力を待つユーザインターフェースを示し、第2画像がテキストフィールド内の字を示すユーザインターフェースを示すと判断して、それに応答して、その字に対応するキーが押下されたと判断してもよい。さらに別の例においてアクティビティ識別器120は、ディスプレイに示された第1画像と第2画像との差が例えば30%、40%、75%、90%、またはその他何らかのパーセンテージなどの所定量を超えて変化していると判断し、それに応答して、シーン変化が発生したと判断してもよい。さらなる例においてアクティビティ識別器120は、暗い画面、例えばデスクトップの背景の画像を受信して、次に明るい画面、例えば白のグラフィカルユーザインターフェースを有するアプリケーションウィンドウが新たに開かれた後の画像を受信して、2つのシーンの画素毎の輝度の比較に基づいて各画素のスコアを生成し、スコアを平均し、平均したスコアが所定閾値を超えると判断し、それに応答してシーン変化が発生したと判断してもよい。さらなる例においてアクティビティ識別器120は、点滅するテキストカーソルがテキストフィールドに見えないのが次にテキストフィールドに現れ、テキストフィールドで左マウスクリックが発生したことが指示されたと判断してもよい。さらなる例においてアクティビティ識別器120は、示されているグラフィカルユーザインターフェースウィンドウの変化またはグラフィカルユーザインターフェースウィンドウのタイトルバーの光学式文字認識される字の変化のうちの1つ以上に基づいて、フォアグラウンドのプロセスの変化を識別してもよい。
一部の実装では、アクティビティ識別器120はさらに、画像に加えて入力を使用してアクティビティを識別してもよい。例えばアクティビティ識別器120は、コンピュータのキーボードドライバからキーボード入力を受信して、それに応答してキー押下アクティビティを識別するか、またはコンピュータのマウスドライバからマウス入力を受信して、それに応答してマウスクリックのアクティビティを識別してもよい。他の入力には、コンピュータのタスクマネージャからの、現在実行中の1つ以上のプロセスまたは現在フォアグラウンドのプロセスの指示が含まれ得る。アクティビティ識別器120は、識別されたアクティビティをアクティビティ情報生成器130に提供してもよい。例えばアクティビティ識別器120は、アクティビティ「画面タッチ」の指示をアクティビティ情報生成器130に提供してもよい。
アクティビティ情報生成器130は、アクティビティに関連するアクティビティ情報を生成できる。アクティビティ情報は、アクティビティを表現する情報であってもよい。例えば画面タッチのアクティビティ情報は、タッチスクリーン上のタッチの座標と、例えば20画素掛ける20画素の領域、50画素掛ける50画素の領域、またはその他何らかのサイズの領域など、タッチされた座標を中心としたタッチスクリーンのタッチ直前のスナップショットと、タッチスクリーンがタッチされた後のディスプレイのスクリーンショットとを表現してもよい。一部の実装においてアクティビティ情報生成器130は、スナップショットの最適なサイズを自動的に判断できるインテリジェントクロッピングを使用してスナップショットを生成してもよい。例えばアクティビティ情報生成器130は、タスクバーにあるプログラムのロゴが選択されたと判断し、それに応答して、ロゴに対応するタスクバーの部分のみを識別してタスクバーの識別された部分のみを含むスナップショットを生成してもよい。一部の実装において、スナップショットとは、ディスプレイに示されるもののうち、例えば10%、20%、30%、またはその他何らかのパーセンテージの部分を表し、例えば示されているものの中にある制御要素を特定するために使用できるものであり、スクリーンショットとは、ディスプレイに示されるもののうち、例えば100%、90%、80%、またはその他何らかのパーセンテージなどほぼ全体を表し、例えば或るプログラムの特定画面が表示されているかどうかを判断するために使用できるものである。
別の例では、キー押下のアクティビティ情報は、どのキーが押下されたかと、キーが押下される前のディスプレイのスクリーンショットと、キーが押下された後のディスプレイのスクリーンショットとを表現してもよい。さらに別の例において、マウスクリックのアクティビティ情報は、マウスのどのボタンがクリックされたかと、マウスがクリックされたときのマウスカーソルの座標と、マウスカーソルの座標を中心としたマウスクリック直前のスナップショットと、マウスがクリックされた後のディスプレイのスクリーンショットとを表現してもよい。さらに別の例において、シーン変化のアクティビティ情報は、シーン変化の完了にどの程度の長さがかかったかと、シーン変化が完了した後のスクリーンショットとを表現してもよい。
一部の実装において、アクティビティ情報生成器130はさらに、コンピュータのキーボードドライバからのキーボード入力に基づきアクティビティを識別し、それに応答してキーボード入力に対応するキーが押下されたことを指示するアクティビティ情報を生成してもよいし、または、コンピュータのマウスドライバからマウス入力を受信し、それに応答してクリックされたマウスのボタンとマウスカーソルの現在の座標とを指示するアクティビティ情報を生成してもよい。
一部の実装においてアクティビティ情報生成器130は、特殊文字の処理に基づきアクティビティを識別してもよい。例えばアクティビティ情報生成器130は、ディスプレイに示されたテキスト入力フィールドに大文字「A」が現れるのに基づいて、ユーザにより大文字「A」が入力されたと判断し、大文字「A」の生成は、「Shift」キーを押下したまま「A」キーを押下して「Shift」キーを放すこと、または「Caps Lock」キーを押下して「A」キーを押下し、もう一度「Caps Lock」キーを押下することを伴うと判断し、それに応答して、それら対応するキーを押下するアクティビティを識別してもよい。
アクティビティ情報生成器130は、アクティビティ情報をプロセス定義生成器140に提供してもよい。例えばアクティビティ情報生成器130は、画面がタッチされる前の「はい」ボタンを中心とした画面の部分を示すスナップショットを含む画面タッチアクティビティのアクティビティ情報を、プロセス定義生成器140に提供してもよい。他の例では、アクティビティ情報生成器130は、「Enter」キーが押下されたことを表現するキー押下アクティビティのアクティビティ情報と、キーが押下された直後のスクリーンショットとをプロセス定義生成器140に提供してもよい。さらに別の例では、アクティビティ情報生成器130は、画面の右上角で「左」マウスボタンがクリックされたことを表現するマウスクリックアクティビティのアクティビティ情報と、クリック直前にディスプレイに示されていた画面の右上角を中心とした画面の部分のスナップショットと、ボタンがクリックされた後にディスプレイに示された画面のスクリーンショットとを、プロセス定義生成器140に提供してもよい。アクティビティ情報の他の例は、マウスホイールのスクロール、またはマウス、キーボード、タッチスクリーン、もしくは別の入力デバイスとの他のやり取りを含んでもよい。
プロセス定義生成器140は、ロボットに別のコンピュータとやり取りすることによりプロセスを自動的に実行させるのに使用されるプロセス定義を生成してもよい。例えばプロセス定義生成器140は、ロボットが、まず、「はい」ボタンを中心とした第1スナップショットの中心に対応する画面の位置をタッチし、次に、「現在ステータスを判断」ボタンを中心とした第2スナップショットの中心に対応する画面の位置をタッチし、続いて、「Enter」キーを押下するべきであることを特に指示するプロセス定義を生成してもよい。プロセス定義に従ってロボットがどのようにプロセスを自動的に実行できるかのさらなる詳細は、図2に関連して後述する。
プロセス定義は、識別された1つ以上のアクティビティを指示し、識別されたアクティビティそれぞれについて、アクティビティに関連するアクティビティ情報を指示してもよい。例えば現在のシステムステータスのログエントリを生成するプロセスの場合、プロセス定義生成器140は、画面タッチアクティビティが、(i)「はい」ボタンがタッチされる前の「はい」ボタンを中心とした、画面タッチ前の画面の部分を示すスナップショットと、(ii)「はい」ボタンがタッチされた後のスクリーンショットとに関連することを指示するアクティビティ情報、およびマウスクリックアクティビティが、(i)画面の右上角でクリックされる「左」マウスボタンと、(ii)クリック直前にディスプレイに示されていた画面の右上角を中心とした画面の部分のスナップショットと、(iii)ボタンがクリックされた後にディスプレイに示された画面のスクリーンショットとに関連することを指示するアクティビティ情報、およびキー押下アクティビティが、(i)「Enter」キーが押下されることと、(ii)キー押下の直後のスクリーンショットとに関連することを指示するアクティビティ情報、を受信してもよい。プロセス定義は、識別された1つ以上のアクティビティのシーケンスを指示してもよい。例えばプロセス定義は、画面タッチが最初に実行され、次に別の画面タッチ、続いてキー押下が実行されることを指示してもよい。
アクティビティ識別器120、アクティビティ情報生成器130、およびプロセス定義生成器140は、それぞれの機能性を様々なタイミングで実行してもよい。例えばアクティビティ識別器120は、画像捕捉器110から受信された画像を記憶し、プロセスが終了したとの知らせ受信するまで待ってからコンピュータビジョン技術を画像に適用してアクティビティを識別してもよく、次にアクティビティ情報生成器130は、すべてのアクティビティの指示を一度に受信してすべてのアクティビティのアクティビティ情報を生成してもよく、プロセス定義生成器140は、すべてのアイデンティティの指示およびすべてのアクティビティ情報の指示を一度に受信し、続いてプロセス定義を生成してもよい。別の例においてアクティビティ識別器120は、アクティビティ識別器120が各アクティビティを識別したときにそのアクティビティの指示をアクティビティ情報生成器130に提供してもよく、アクティビティ情報生成器130は、アクティビティの指示が受信されるにつれて各アクティビティのアクティビティ情報を生成してもよく、プロセス定義生成器140は、アクティビティ情報の指示が受信されるにつれてプロセス定義を追加生成してもよい。
一部の実装では、システム100のプロセス定義が、識別されたアクティビティを表現するテキストと、アクティビティ情報に対応するテキストまたは画像とを含む、人間に読みやすいフォーマットの文書として出力されてもよい。一例によれば、例えばWordまたはVisio文書中の自然テキスト言語など、人間に読みやすいフォーマットのアクティビティ情報がスクリーンショットに重ねられまたは添付されてもよい。例えばボタンの上のマウスポインタを示すスクリーンショットが修正されて、例えばマウスの左のキーでのクリックを指示する「左クリック」など、スクリーンショットが撮られた瞬間に実行されたステップを表現する命令の書き込みをも含むようにされてもよい。一部の実装においてシステム100は、種々のプロセスに関する情報を自動的且つシームレスに収集してもよい。例えばシステム100により実行されるドキュメンテーション動作も、システム100がユーザ間のプロセスの矛盾または差を検出できるようにして、作成される最終的なドキュメンテーションがプロセス実行の最適な方法を確実に示すようにすることができる。
一部の実装においてシステム100は、人がプロセス定義を修正できるようにしてもよい。例えばシステム100は、ユーザがプロセス定義により指示されるアクティビティおよび関連するアクティビティ情報を追加、削除、または修正するのに用いることができるグラフィカルユーザインターフェースを提供して、修正後のプロセス定義により定義されたプロセスを自動的に実行する際に後から使用するために、修正後のプロセス定義を記憶してもよい。
一部の実装においてシステム100は、フィルタまたは複数フィルタのグループを使用してプロセス定義を修正してもよい。例えばシステム100は、フィルタを使用して、人間に読みやすいキーストローク表現を作成してもよく、例えば、「Caps Lock」キー、「A」キー、および「Caps Lock」キーを押下する、は代わりに「『A』の入力を追加」と表現することができる。別の例においてシステム100は、機密情報が再生中に明かされないように情報を隠すフィルタを使用できる。例えばシステム100は、パスワードの実際の文字の代わりにアスタリスクでパスワードを表示してもよい。
システム100の種々の構成を使用することができ、画像捕捉器110、アクティビティ識別器120、アクティビティ情報生成器130、およびプロセス定義生成器140の機能性が組み合わされ、さらに分割され、分散され、または入れ替えられることが可能である。
図2は、プロセスの自動化を自動的に実行する例示のシステム200のブロック図である。システム200は、コンピュータとやり取りするロボットを使用してプロセスを自動的に実行してもよい。簡潔に言うと、さらに詳しくは後述するとおり、システム200は、画像捕捉器210、アクティビティトリガエンジン220、アクティビティ実行エンジン230、およびロボット240を含んでもよい。
画像捕捉器210は、ロボットがコンピュータとやり取りすることでプロセスを自動的に実行している間にコンピュータのディスプレイの画像を取得してもよい。例えば画像捕捉器210は、「はい」および「いいえ」ボタンを備えたユーザインターフェースを示すタッチスクリーンの第1画像を取得してもよい。別の例において画像捕捉器210は、ロボットによりタッチされるのに応答して「はい」ボタンが強調表示されているユーザインターフェースを示すタッチスクリーンの第2画像を取得してもよい。
一部の実装において画像捕捉器210は、ディスプレイに示された画面の画像を捕捉するカメラであってもよい。他の実装では、画像捕捉器210は、コンピュータからコンピュータのディスプレイへのビデオ出力を監視するソフトウェアプロセスであってもよい。
画像捕捉器210は、プロセス定義に従ってロボットにより自動的に実行されるべきプロセスをシステム200が識別すると画像を取得し始めてもよい。例えばユーザは、プロセス定義に従ってプロセスを自動的に実行するアプリケーションを開き、自動化プロセスのプロセス定義を選択し、自動化プロセスの実行をトリガする入力を提供してもよい。本例において画像捕捉器210は、自動化プロセスの実行をトリガする入力をユーザが提供すると画像を捕捉し始めて、自動化プロセスのプロセス定義により指示されたすべてのアクティビティが実行されたら画像の捕捉を終了してもよい。画像捕捉器110は、様々なタイミングで画像を取得してもよい。例えば画像捕捉器110は、例えば1ミリ秒、5ミリ秒、25ミリ秒、100ミリ秒毎など、所定の間隔で画像を取得してもよい。
画像捕捉器210は、画像をアクティビティトリガエンジン220に提出してもよい。例えば画像捕捉器210は、「はい」および「いいえ」ボタンを備えたユーザインターフェースを示すタッチスクリーンの第1画像と、ロボットが「はい」ボタンをタッチするのに応答して「はい」ボタンが強調表示されているユーザインターフェースを示すタッチスクリーンの第2画像とを提供してもよい。
アクティビティトリガエンジン220は、画像およびプロセス定義を受信して、いつアクティビティをトリガするかを決定してもよい。例えばアクティビティトリガエンジン220は、「はい」およい「いいえ」ボタンを備えたユーザインターフェースを示すタッチスクリーンの画像を受信し、第1アクティビティが画面タッチであることを指示するプロセス定義であって、ユーザが手動で「はい」ボタンにタッチした直前に表示されていた「はい」ボタンを中心とした画面のスナップショット、例えば「スナップショットX」を含む関連するアクティビティ情報を指示するプロセス定義を受信して、それに応答して「はい」ボタンの画面タッチをトリガすることを決定してもよい。
アクティビティトリガエンジン220は、プロセス定義に従った順序でアクティビティをトリガしてもよい。例えばアクティビティトリガエンジン220は、まず、第1アクティビティのスナップショットXに一致する部分に関して画像を分析して、次に、第1アクティビティが完了した後、第2アクティビティのスナップショットYに一致する部分に関して画像を分析してもよい。アクティビティトリガエンジン220は、アクティビティをトリガする条件が満たされたときにアクティビティをトリガしてもよい。条件とは例えば、ディスプレイの画像の或る部分がアクティビティに関連するスナップショットに一致するとき、または前のアクティビティが完了したことであってもよい。
アクティビティトリガエンジン220は、アクティビティ実行エンジン230にトリガを提供してもよい。例えばアクティビティトリガエンジン220は、画面タッチが実行されるべきであること、キー押下が実行されるべきであること、マウスクリックが実行されるべきであること、またはシーン変化が予想されることを知らせるトリガを提供してもよい。
アクティビティ実行エンジン230は、アクティビティを実行してもよい。例えばアクティビティ実行エンジン230は、仮想ロボットであるロボット240に、例えばコンピュータのマウスドライバを介して、マウスカーソルの「はい」ボタンの上への移動、および「左」ボタンの「はい」ボタンの上でのクリックを仮想エミュレートせよとの命令を提供してもよい。さらに別の例では、アクティビティ実行エンジン230は、例えばコンピュータのキーボードドライバを介して、「Enter」キーの押下を仮想エミュレートせよと仮想ロボットに命令してもよい。別の例においてアクティビティ実行エンジン230は、物理的ロボットであるロボット240に、ロボットのアームを動かしてディスプレイに示された「はい」ボタンをタッチせよとの命令を提供してもよい。別の例においてアクティビティ実行エンジン230は、次のアクティビティにはシーン変化が完了するのを待ってから進むことを決定してもよい。さらに別の例においてアクティビティ実行エンジン230は、ディスプレイに示された特定のボタンの上にカーソルがくるようにマウスを動かし、次にマウスの「左」ボタンをクリックせよとの命令をロボット240に提供してもよい。
アクティビティ実行エンジン230は、ロボット240とディスプレイに示されているものとの関係の視覚的判断に基づいてロボット240に対する命令を生成してもよい。一部の実装では、アクティビティ実行エンジン230は、アクティビティを実行する際、画像捕捉器210からの画像を使用してもよい。例えばアクティビティ実行エンジン230は、「はい」ボタンをタッチせよとの命令をロボット240に提供するために、物理的画面タッチ部品を求めて画像に物体認識を適用するのに基づきロボット240の物理的画面タッチ部品の位置を判断し、さらにディスプレイの「はい」ボタンの位置を判断して、物理的画面タッチ部品に画像の中の「はい」ボタンをタッチさせることになるロボット240の物理的画面タッチ部品の動きを判断して、判断された動きに対応するロボット240に対する動きの命令を生成して、その動きの命令をロボット240に提供してもよい。
別の例においてアクティビティ実行エンジン230は、「Enter」キーを押下することを決定し、それに応答して、ロボット240のキー押下部品の現在位置およびキーボードの「Enter」キーの現在位置を示す画像を分析し、画像で物体認識を使用してロボット240のキー押下部品の現在位置を判断し、キーボードの「Enter」キーの現在位置を判断し、ロボット240のキー押下部品に「Enter」キーを押下させることになるロボット240のキー押下部品の動きを判断し、判断された動きに対応するロボット240に対する動きの命令を生成し、その動きの命令をロボット240に提供してもよい。
さらに別の例においてアクティビティ実行エンジン230は、ディスプレイに示された「はい」ボタンの上でマウスボタンを左クリックすることを決定し、それに応答して、ロボット240がマウスを握っていると画像から判断し、ディスプレイ上のマウスカーソルの位置を画像から判断し、ディスプレイに示された「はい」ボタンの位置を画像から判断し、ディスプレイに示されたマウスカーソルと「はい」ボタンとの距離に基づいてマウスを動かす量を求め、求めた量だけロボット240がマウスカーソルを動かすための動きの命令を生成して、その命令をロボット240に提供してもよい。
一部の実装では、アクティビティ実行エンジン230は、ロボット240に対する命令を生成する際、ロボット240を識別して、ロボットの動きの能力を判断して、ロボットの動きの能力およびロボット240とコンピュータの入力デバイスとの間の閉じるべき相対距離に基づきロボット240がすべき動きを判断し、ロボット240に分かる動きの命令のフォーマットを判断し、判断されたロボット240の動きに基づいて判断されたフォーマットで動きの命令を生成してもよい。
アクティビティ実行エンジン230は、プロセス定義に基づいてアクティビティを実行してもよい。例えば画面タッチアクティビティのプロセス定義は、「はい」ボタンを中心とする領域のスナップショットと、「はい」ボタンがクリックされた後の画面を示すスクリーンショットとを含んでもよい。したがって、プロセス定義に従って画面タッチアクティビティを実行する際、アクティビティ実行エンジン230は、ディスプレイのどこに「はい」ボタンが示されているかを判断し、「はい」ボタンをタッチせよとの1つ以上の命令をロボット240に提供し、次に、ディスプレイに示された画面がプロセス定義により指示されたスクリーンショットと一致するかどうかを判断してもよい。画面が一致しなければ、アクティビティ実行エンジン230は、管理者に通知を提供してもよいし、またはロボット240に再度命令を送信してもよい。画面が一致すれば、次にアクティビティ実行エンジン230は、アクティビティトリガエンジン220が、実行されたばかりのアクティビティの後続アクティビティとしてプロセス定義により指示されたアクティビティをトリガする条件が満たされたかどうかの判断を始めてよいとの知らせを、アクティビティトリガエンジン220に提供してもよい。
別の例では、アクティビティ実行エンジン230は、プロセス定義に基づきシーン変化が予想されると判断してもよく、それに応答して、シーン変化に該当する所定量、例えば30%、40%、75%、90%、またはその他何らかのパーセンテージ、ディスプレイに示された画面がアクティビティのトリガ前の画面の画像から変化したかどうかを判断してもよい。シーン変化が発生していなければ、アクティビティ実行エンジン230は、ロボットに対する命令を繰り返してもよいし、通知を管理者に提供してもよい。
一部の実装においてアクティビティ実行エンジン230はさらに、記憶された座標とスナップショットとの組み合わせに基づいてアクティビティを実行していてもよい。例えばプロセス定義は、画面の中心に対応する座標でのマウスクリックと、「はい」ボタンを中心とするスナップショットとを指示してもよいが、アクティビティ実行エンジン230は、スナップショットの中心が現在表示されている画面の中心から50画素左寄りの座標に対応すると判断してもよい。それに応答してアクティビティ実行エンジン230は、例えば座標を平均して画面の中心から25画素左寄りの座標をクリックすることを決定するなど、座標を修正してもよい。一部の実装では、アクティビティ実行エンジン230は、最初は、記憶されている座標を考慮せずディスプレイに示された画面に従った座標を使用してもよく、アクティビティが上述のように無事に完了しなければ、例えば平均された座標などの修正された座標を使用してもよく、それでもアクティビティが完了されなければ、記憶されている座標を使用してもよく、それでもアクティビティが完了しなければ、管理者に通知を提供してもよい。
図3は、手動プロセスを自動化する例示のプロセス300のフローチャートである。以下では、図1および2を参照して記載したシステム100および200のコンポーネントにより実行されるものとしての処理300を記載する。なお、プロセス300は他のシステムまたはシステム構成により実行されてもよい。
プロセス300は、手動で実行されるプロセスを識別することを含んでもよい(310)。プロセスは、コンピュータとやり取りするユーザにより手動で実行されるものであってもよく、コンピュータとやり取りするよう構成されたロボットにより実行されるよう自動化されるべきものである。例えば手動で実行されるプロセスは、ウェブフォームの提出に応答してテンプレート電子メールを生成することであってもよい。プロセスの識別にあたり、ユーザは、ユーザが特定の手動プロセスを自動化したいこと、およびユーザがその特定の手動プロセスを実行し始めることを知らせるユーザ入力を提供してもよい。
プロセス300は、ディスプレイの撮られた画像1つ以上を取得することを含んでもよい(320)。画像は、ユーザがプロセスを手動実行する際にコンピュータとやり取りしている間に撮られてもよい。例えば画像捕捉器110は、ロボットにより自動化されるべき手動プロセスをユーザが始めるとの知らせを受信して、それに応答して、5ミリ秒、10ミリ秒、25ミリ秒、100ミリ秒毎に、またはその他何らかの間隔でコンピュータのディスプレイの画像を捕捉し始めてもよい。画像は、「新規電子メール」ボタンの上のマウスカーソルを示す第1画像と、左マウスクリックに応答して違う色で強調表示された「新規電子メール」ボタンを示す第2画像と、開いた「新規電子メール」ウィンドウを示す第3画像とを含んでもよい。
プロセス300は、画像から、プロセスに関連する1つ以上のアクティビティを識別することを含んでもよい(330)。アクティビティは、1つ以上のコンピュータビジョン技術を画像に適用することにより識別されてもよい。例えばアクティビティ識別器120は、「新規電子メール」ボタンの上のマウスカーソルを示す第1画像と、次の強調表示された「新規電子メール」ボタンを示す第2画像とが、「新規電子メール」ボタンに対して「左」クリックが発生したことを意味すると判断して、それに応答してマウスクリックのアクティビティを識別してもよい。
プロセス300は、アクティビティに関連するアクティビティ情報を生成することを含んでもよい(340)。例えばアクティビティ情報生成器130は、マウスクリックのアクティビティの指示および画像を受信し、それに応答して、マウスクリックが発生した座標と、「新規電子メール」ボタンがクリックされる前の「新規電子メール」ボタン周囲の30掛ける30画素の領域のスナップショットと、「新規電子メール」ボタンがクリックされた後のスクリーンショットとを含むアクティビティ情報を生成してもよい。
プロセス300は、ロボットにプロセスを自動的に実行させるのに使用するプロセス定義を生成することを含んでもよい(350)。プロセス定義は、識別された1つ以上のアクティビティを指示し、識別されたアクティビティそれぞれについて、アクティビティに関連するアクティビティ情報を指示してもよい。例えばプロセス定義生成器140は、ウェブフォーム提出に応答してテンプレート電子メールを生成するプロセスが、「新規電子メール」ボタンを「左」マウスクリックする第1アクティビティであって、(i)画面の上部中央の座標、(ii)ボタンがクリックされる前の「新規電子メール」ボタンのスナップショット、および(iii)ボタンがクリック後に強調表示されるのを示す「新規電子メール」ボタンのボタンのスクリーンショットに関連する第1アクティビティと、シーン変化の第2アクティビティであって、(i)「新規電子メール」ウィンドウが開く前でありシーン変化が始まる前のスクリーンショット、および(ii)「新規電子メール」ウィンドウが開いたときにシーン変化が終わった後のスクリーンショットに関連する第2アクティビティと、他のさらなるアクティビティであって、例えばウェブフォーム提出のログを開く、ウェブフォーム提出の件名をコピーする、新規電子メールウィンドウの件名欄を選択すること、およびウェブ提出のコピーした件名を件名欄に貼り付けることなどの、他のさらなるアクティビティと、を含むことを指示する情報を、XML、HTML、C#、XAML、またはその他何らかの他のフォーマットで生成してもよい。
プロセス300は、プロセス定義を記憶して、後からプロセス定義にアクセスしてプロセス定義により指示されるアクティビティおよびアクティビティ情報に基づいてコンピュータとやり取りするようロボットに自動的に命令することを含んでもよい。例えばユーザは、ウェブフォーム提出に応答してテンプレート電子メールを生成するプロセスをロボットが自動的に実行することをリクエストしてもよく、それに応答して画像捕捉器210が、コンピュータのディスプレイの画像を取得し始めてもよく、アクティビティトリガエンジン220が、プロセス定義により指示された「新規電子メール」ボタンを「左」クリックする第1アクティビティに関連するスナップショットに一致する部分を画像が含むときを判断してもよく、アクティビティ実行エンジンが、物理的なロボットアームを動かしてマウスカーソルが「新規電子メール」ボタンの上にくるまでマウスを動かし「左」ボタンをクリックするようロボット240に命令してもよい。
プロセス定義は、人間であってもコンピュータであってもよいデベロッパーまたはビジネスアナリストによって、例えば、同じプロセスに対して異なるマシンまたはユーザにより複数のプロセス定義が生成された結果生じた複数のプロセス定義の中から特定プロセスの最適化プロセス定義を選ぶために検査されてもよい。例えば機械学習などの技術を使用して、異なるプロセス定義が類似性を求めて検査され、類似した手順が認識されて分類系統にグループ化されてもよい。選択が行われると、そのプロセスを自動的に実行するために選択済みプロセス定義を使用できる。
図4は、例示的な汎用コンピュータシステムの概略図を示す。システム400は、一部の実装により、プロセス300に関連して記載された動作のために使用可能である。システム400は、システム100に含まれてもよい。
システム400は、プロセッサ410、メモリ420、ストレージデバイス430、および入出力デバイス440を含む。コンポーネント410、420、430、および440はそれぞれ、システムバス450を使用して相互接続されている。プロセッサ410は、システム400内で実行される命令を処理できる。一実装においてプロセッサ410は、シングルスレッドプロセッサである。別の実装においてプロセッサ410は、マルチスレッドプロセッサである。プロセッサ410は、メモリ420内またはストレージデバイス430上に記憶された命令を処理して、入出力デバイス440にユーザインターフェースのグラフィック情報を表示できる。
メモリ420は、情報をシステム400内で記憶する。一実装においてメモリ420は、コンピュータ可読媒体である。一実装においてメモリ420は、揮発性メモリユニットである。別の実装においてメモリ420は、不揮発性メモリユニットである。
ストレージデバイス430は、システム400の大容量ストレージを提供できる。一実装においてストレージデバイス430は、コンピュータ可読媒体である。様々な異なる実装においてストレージデバイス430は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイスとされ得る。
入出力デバイス440は、システム400の入出力動作を提供する。一実装において入出力デバイス440は、キーボードおよび/またはポインティングデバイスを含む。別の実装において入出力デバイス440は、グラフィカルユーザインターフェースを表示するディスプレイユニットを含む。
本明細書に記載された本主題の実施形態、機能動作およびプロセスは、デジタル電子回路、または有形に具現化されたコンピュータソフトウェアもしくはファームウェア、または本明細書で開示された構造およびその構造上の等価物を含むコンピュータハードウェア、またはそれらのうちの1つ以上の組み合わせにおいて実装できる。本明細書に記載された主題の実施形態は、1つ以上のコンピュータプログラム、すなわちデータ処理装置により実行されるよう、またはデータ処理装置の動作を制御するよう、有形の不揮発性プログラム保持体上にコードされたコンピュータプログラム命令の1つ以上のモジュールなどとして実装できる。あるいは、またはさらに、プログラム命令は、例えば機械により生成された電気、光、または電磁信号などの人工的に生成された伝播信号上にコードでき、該信号は、データ処理装置による実行のために適切な受信器装置に送信するべく情報をコードするために生成される。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくは順次アクセスメモリデバイス、またはそれらのうちの1つ以上の組み合わせとすることができる。
「データ処理装置」という用語は、データを処理するすべての種類の装置、デバイス、および機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む。装置は、例えばFPGA(field programmable gate array:フィールドプログラマブルゲートアレイ)またはASIC(application specific integrated circuit:特定用途向け集積回路)などの専用論理回路を含むことができる。この装置は、ハードウェアに加えて、対象のコンピュータプログラムの実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つ以上の組み合わせを構成するコードなどを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼称または記載されることもある)は、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、あるいはコンピューティング環境用に適した他の単位としてなど、任意の形態で展開できる。コンピュータプログラムは、ファイルシステム内のファイルに対応することもあるが、必須ではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えばマークアップ言語文書に格納される1つ以上のスクリプト)、対象のプログラム専用の単一ファイル、あるいは複数の連携ファイル(例えば1つ以上のモジュール、サブプログラム、またはコードの一部を格納する複数ファイル)に格納可能である。コンピュータプログラムは、1つのコンピュータ上、または1つの場所に位置するか、もしくは複数の場所に分散し通信ネットワークにより相互接続された複数のコンピュータ上で実行されるよう展開可能である。
本明細書に記載されたプロセスおよび論理フローは、入力データに作用し出力を生成することにより機能を実行する1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルコンピュータにより実行できる。プロセスおよび論理フローはさらに、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路により実行可能であり、装置はさらに、該専用論理回路として実装可能である。
コンピュータプログラムを実行するのに適したコンピュータは、例として、汎用または専用マイクロプロセッサまたはその両方、あるいはその他任意の種類の中央処理ユニットに基づくことができる。一般に、中央処理ユニットは、読み取り専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実施または実行する中央処理ユニット、ならびに命令およびデータを記憶する1つ以上のメモリデバイスである。一般に、コンピュータはさらに、例えば磁気、光磁気ディスク、もしくは光ディスクなど、データを記憶する1つ以上の大容量ストレージデバイスを含むか、またはそれからデータを受け取りもしくはそれにデータを転送するよう動作可能に結合されるか、またはその両方である。なお、コンピュータはそのようなデバイスを有しなくてもよい。さらにコンピュータは、ごく少数の例を挙げると、例えばモバイル電話、携帯情報端末(PDA:personal digital assistant)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、衛星航法システム(GPS:Global Positioning System)受信器、あるいはポータブルストレージデバイス(例えばユニバーサルシリアルバス(USB:universal serial bus)フラッシュドライブ)など、別のデバイスに組み込むことができる。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体およびメモリデバイスを含み、例として、例えばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、例えば内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクなどが含まれる。プロセッサおよびメモリは、専用論理回路により補完されること、またはそれに組み込まれることが可能である。
ユーザとのやり取りを提供するために、本明細書に記載されている主題の実施形態は、ユーザに情報を表示するための、例えばCRT(cathode ray tube:陰極線管)またはLCD(liquid crystal display:液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにユーザが入力をコンピュータに提供することができるキーボードおよび、例えばマウス、またはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装できる。他の種類のデバイスを、同じくユーザとのやり取りを提供するために使用できる。例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形式の感覚フィードバックとすることができ、ユーザからの入力は、音響、スピーチ、または触覚入力を含め、任意の形式で受信可能である。さらにコンピュータは、例えばユーザのクライアントデバイス上のウェブブラウザから受信されたリクエストに応答してウェブページをウェブブラウザへ送信するなど、ユーザにより使用されるデバイスに文書を送信し該デバイスから文書を受信することで、ユーザとやり取りできる。
本明細書に記載されている主題の実施形態は、例えばデータサーバとしてなど、バックエンドコンポーネントを含むコンピューティングシステム、または、例えばアプリケーションサーバなど、ミドルウェアコンポーネントを含むコンピューティングシステム、または、本明細書に記載されている主題の実装とユーザがやり取りできるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなど、フロントエンドコンポーネントを含むコンピューティングシステム、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントのうちの1つ以上の任意の組み合わせにおいて実装できる。システムのコンポーネントは、例えば通信ネットワークなど、任意の形態または媒体のデジタルデータ通信により相互接続可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN(local area network)」)、および例えばインターネットなどの広域ネットワーク(「WAN(wide area network)」)を含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介してやり取りする。クライアントおよびサーバの関係は、各コンピュータ上で実行され互いにクライアントサーバ関係を有するコンピュータプログラムにより生じる。
本明細書は多数の具体的な実装の詳細を含むが、これらは、特許請求の範囲に対する制限として解釈されるべきではなく、むしろ特定の実施形態に特有であり得る特徴の記載として解釈されるべきである。別々の実施形態との関連で本明細書に記載されている特定の特徴は、単一の実施形態に組み合わせて実装されることも可能である。逆に、単一の実施形態との関連で記載されている様々な特徴が、複数の実施形態で別々に、または任意の適切な一部組み合わせで実装されることも可能である。さらに各特徴は、特定の組み合わせで動作するよう上述されていることもあり、当初そのように請求されていることもあるが、場合によっては、請求されている組み合わせからの1つ以上の特徴が、その組み合わせから削除されることが可能であり、請求されている組み合わせは、一部組み合わせまたは一部組み合わせの変形を対象とし得る。
同じく、各動作は図面に特定の順序で示されているが、これは、望ましい結果を達成するために当該の動作が、示されている特定の順序もしくは順番で実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラムコンポーネントおよびシステムは、一般に、単一ソフトウェア製品に統合されること、または複数のソフトウェア製品にパッケージ化されることが可能である。
本主題の特定の実施形態が記載された。他の実施形態は、添付の特許請求の範囲に記載の範囲内にある。例えば、特許請求の範囲に列挙された動作は異なる順序で実行でき、それでも所望の結果を達成し得る。一例として、添付の図面に示したプロセスは、所望の結果を達成するために、必ずしも示された特定の順序または順番を要求するものではない。特定の実装では、マルチタスクおよび並列処理が有利なこともある。他のステップが設けられてもよいし、記載されたプロセスからステップが省かれてもよい。したがって、他の実装が添付の特許請求の範囲に記載の範囲内にある。
以下の項目は本発明を理解するのに有用である。
1.ディスプレイに示された画像または画像ストリームに関する情報を獲得し、
ディスプレイ上のアクティビティを検出するために画像または画像ストリームに関する情報を分析し、
ディスプレイ上の検出されたアクティビティについてのアクティビティ情報を記録し、
画像または画像ストリームに関する情報とアクティビティ情報との組み合わせを備えた出力データを生成する、
ように構成された、メモリおよびプロセッサを備えたコンピュータシステム。
2.出力データは、画像または画像ストリームに関する情報とアクティビティ情報との組み合わせが、具体的には自然テキスト言語を含む人間に読みやすいフォーマットの重ねられ且つ/または添付されたアクティビティ情報を有する少なくとも1つの画像または画像シーケンスを備えるように生成される、項目1に記載のコンピュータシステム。
3.ディスプレイをさらに備える、先行する項目のいずれか1つに記載のコンピュータシステム。
4.ディスプレイ上のアクティビティは、
プロセスの変化と、
シーン変化と、
ユーザ入力と
のうちの少なくとも1つを備え、ユーザ入力は具体的には、アクションを実行するためにタイプすることまたはポインティングデバイスのポインタを使用することのうちの少なくとも1つを含む、
先行する項目のいずれか1つに記載のコンピュータシステム。
5.プロセッサは、
出力データを読み取り、
出力データに基づいてディスプレイ上のアクティビティを再現する
ようさらに構成される、先行する項目のいずれかに記載のコンピュータシステム。
6.プロセッサは、画像照合に出力データを使用するようさらに構成される、項目5に記載のコンピュータシステム。
7.プロセッサは、出力データから情報を抽出するために光学式文字認識を使用するようさらに構成される、項目5または6に記載のコンピュータシステム。
8.コンピュータに実装された方法であって、
ディスプレイに示された画像または画像ストリームに関する情報を獲得するステップと、
ディスプレイ上のアクティビティを検出するために画像または画像ストリームに関する情報を分析するステップと、
ディスプレイ上の検出されたアクティビティについてのアクティビティ情報を記録するステップと、
画像または画像ストリームに関する情報とアクティビティ情報との組み合わせを備えた出力データを生成するステップと、
を含む、コンピュータに実装された方法。
9.出力データを生成するステップにおいて、画像または画像ストリームに関する情報とアクティビティ情報との組み合わせは、人間に読みやすいフォーマットの重ねられ且つ/または添付されたアクティビティ情報を有する少なくとも1つの画像または画像シーケンスを備える、項目8に記載のコンピュータに実装された方法。
10.人間に読みやすいフォーマットは、自然テキスト言語を含む、項目9に記載のコンピュータに実装された方法。
11.ディスプレイ上のアクティビティは、
プロセスの変化と、
シーン変化と、
ユーザ入力と
のうちの少なくとも1つを含み、ユーザ入力は具体的には、アクションを実行するためにタイプすることまたはポインティングデバイスのポインタを使用することのうちの少なくとも1つを含む、
先行する項目のいずれかに記載のコンピュータに実装された方法。
12.出力データを読み取るステップと、
出力データに基づいてディスプレイ上のアクティビティを再現するステップと、
をさらに含む、先行する項目のいずれかに記載のコンピュータに実装された方法。
13.画像照合のために出力データを使用するステップをさらに含む、項目12に記載のコンピュータに実装された方法。
14.出力データから情報を抽出するために光学式文字認識を使用するステップをさらに含む、項目12または13に記載のコンピュータに実装された方法。
15.適切なシステム上にロードされて実行されると、項目8~14のいずれか1つに記載の方法のステップを実行するコンピュータ可読命令を備えたコンピュータプログラム製品。

Claims (20)

  1. プロセスであって、(i)コンピュータとやり取りするユーザにより手動で実行され、且つ(ii)前記コンピュータまたは別のコンピュータとやり取りするよう構成されたロボットにより実行されるよう自動化されるべき、前記プロセスを識別するステップと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータのディスプレイの画像を取得するステップと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像の変化が、シーン変化に対応する所定閾値を満たすと判断するために、前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像に対して、コンピュータビジョン技術を適用するステップと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像の変化が、シーン変化に対応する前記所定閾値を満たすと判断するのに応答して、前記プロセス中の前記ユーザからの入力の受け取りに対応する第1のアクティビティとそれに続く前記プロセス中のシーン変化に対応する第2のアクティビティを識別するステップであって、前記画像の変化がシーン変化に対応する前記所定閾値を満たすと判断することは、前記画像の画素毎の輝度の比較に基づいて各画素のスコアを生成し、当該スコアを平均し、当該平均したスコアが前記所定閾値を超えると判断することを含む、前記プロセス中のシーン変化に対応する第2のアクティビティを識別するステップと、
    前記識別されたアクティビティそれぞれについて、前記アクティビティに関連するアクティビティ情報を生成するステップと、
    前記ロボットに前記コンピュータまたは前記別のコンピュータとやり取りすることで前記プロセスを自動的に実行させるために使用されるプロセス定義を生成するステップであって、前記プロセス定義は、前記ユーザからの前記入力の受け取りに対応する前記第1のアクティビティとそれに続く前記シーン変化に対応する前記第2のアクティビティを指示し、且つ、指示されたアクティビティそれぞれについて、前記アクティビティに関連する前記アクティビティ情報を指示する、前記プロセス定義を生成するステップと、
    前記ロボットに前記コンピュータまたは前記別のコンピュータとやり取りすることで前記プロセスを自動的に実行させるために使用される前記プロセス定義を、後で使用するために記憶するステップと、
    を含む、コンピュータに実装された方法。
  2. 前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータのディスプレイの画像を取得するステップは、
    前記コンピュータの前記ディスプレイの前記撮られた画像をカメラから取得するステップ
    を含む、請求項1に記載の方法。
  3. 前記画像はビデオを備える、先行する請求項のいずれか1項に記載の方法。
  4. 前記アクティビティに関連するアクティビティ情報を生成するステップは、
    前記アクティビティが実行される前に前記ディスプレイに示された画面の或る部分のスナップショットを生成するステップ
    を含む、先行する請求項のいずれか1項に記載の方法。
  5. 前記アクティビティに関連するアクティビティ情報を生成するステップは、
    前記アクティビティが実行された後に前記ディスプレイに示された画面のスクリーンショットを生成するステップ
    を含む、先行する請求項のいずれか1項に記載の方法。
  6. 前記アクティビティは、キー押下、マウスクリック、画面タッチ、フォアグラウンドのプロセスの変化、またはシーン変化のうちの2つ以上を含む、先行する請求項のいずれか1項に記載の方法。
  7. 前記プロセス定義にアクセスするステップと、
    前記プロセス定義により指示された前記アクティビティおよびアクティビティ情報に基づき前記コンピュータまたは前記別のコンピュータと物理的にやり取りするよう前記ロボットに自動的に命令するステップと、
    を含む、先行する請求項のいずれか1項に記載の方法。
  8. 前記プロセス定義により指示された前記アクティビティおよびアクティビティ情報に基づき前記コンピュータまたは前記別のコンピュータとやり取りするよう前記ロボットに自動的に命令するステップは、
    前記別のコンピュータの別のディスプレイに示された画面の中で、特定のアクティビティの前記アクティビティ情報により指示されたスナップショットに視覚的に一致する部分を識別するステップと、
    前記部分の中心に対応する位置で前記別のディスプレイに物理的にタッチするよう前記ロボットに命令するステップと、
    を含む、請求項7に記載の方法。
  9. 前記プロセス定義により指示された前記アクティビティおよびアクティビティ情報に基づき前記別のコンピュータとやり取りするよう前記ロボットに自動的に命令するステップは、
    前記別のディスプレイに示された画面が特定のアクティビティの前記アクティビティ情報により指示されたスクリーンショットに対応すると判断するステップと、
    前記別のディスプレイに示された前記画面が特定のアクティビティの前記アクティビティ情報により指示されたスクリーンショットに対応すると判断するのに応答して、前記プロセス定義により指示された後続アクティビティに基づき前記別のコンピュータと物理的にやり取りするよう前記ロボットに命令するステップと
    を含む、請求項7または8に記載の方法。
  10. 前記プロセス定義により指示された前記アクティビティおよびアクティビティ情報に基づき前記コンピュータまたは前記別のコンピュータとやり取りするよう前記ロボットに自動的に命令するステップは、
    前記別のコンピュータの別のディスプレイに示された画面の中で、特定のアクティビティの前記アクティビティ情報により指示されたスナップショットに視覚的に一致する部分を識別するステップと、
    前記画面の中で前記スナップショットに視覚的に一致する前記部分の中心に対応する座標に対するクリックを受信するための電子信号を前記別のコンピュータに提供するよう前記ロボットに命令するステップと
    を含む、請求項7、8、または9に記載の方法。
  11. 前記プロセスを修正するために人が使用できるグラフィカルバージョンの前記プロセス定義を生成するステップ
    を含む、先行する請求項のいずれか1項に記載の方法。
  12. 1つ以上のコンピュータと、命令を記憶する1つ以上のストレージデバイスと
    を備えるシステムであって、前記命令は、前記1つ以上のコンピュータによって実行されると前記1つ以上のコンピュータに動作を実行させるよう動作可能であり、前記動作は、
    プロセスであって、(i)コンピュータとやり取りするユーザにより手動で実行され、且つ(ii)前記コンピュータまたは別のコンピュータとやり取りするよう構成されたロボットにより実行されるよう自動化されるべき、前記プロセスを識別することと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータのディスプレイの画像を取得することと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像の変化が、シーン変化に対応する所定閾値を満たすと判断するために、前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像に対して、コンピュータビジョン技術を適用することと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像の変化が、シーン変化に対応する前記所定閾値を満たすと判断するのに応答して、前記プロセス中の前記ユーザからの入力の受け取りに対応する第1のアクティビティとそれに続く前記プロセス中のシーン変化に対応する第2のアクティビティを識別することであって、前記画像の変化がシーン変化に対応する前記所定閾値を満たすと判断することは、前記画像の画素毎の輝度の比較に基づいて各画素のスコアを生成し、当該スコアを平均し、当該平均したスコアが前記所定閾値を超えると判断することを含む、前記プロセス中のシーン変化に対応する第2のアクティビティを識別することと、
    前記識別されたアクティビティそれぞれについて、前記アクティビティに関連するアクティビティ情報を生成することと、
    前記ロボットに前記コンピュータまたは前記別のコンピュータとやり取りすることで前記プロセスを自動的に実行させるために使用されるプロセス定義を生成することであって、前記プロセス定義は、前記ユーザからの前記入力の受け取りに対応する前記第1のアクティビティとそれに続く前記シーン変化に対応する前記第2のアクティビティを指示し、且つ、指示されたアクティビティそれぞれについて、前記アクティビティに関連する前記アクティビティ情報を指示する、前記プロセス定義を生成することと、
    前記ロボットに前記コンピュータまたは前記別のコンピュータとやり取りすることで前記プロセスを自動的に実行させるために使用される前記プロセス定義を、後で使用するために記憶することと、
    を含む、システム。
  13. 前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータのディスプレイの画像を取得することは、
    前記コンピュータの前記ディスプレイの前記撮られた画像をカメラから取得すること
    を含む、請求項12に記載のシステム。
  14. 前記画像はビデオを備える、請求項12または13に記載のシステム。
  15. 前記アクティビティに関連するアクティビティ情報を生成することは、
    前記アクティビティが実行される前に前記ディスプレイに示された画面の或る部分のスナップショットを生成すること
    を含む、請求項12~14のいずれか1項に記載のシステム。
  16. 前記アクティビティに関連するアクティビティ情報を生成することは、
    前記アクティビティが実行された後に前記ディスプレイに示された画面のスクリーンショットを生成すること
    を含む、請求項12~15のいずれか1項に記載のシステム。
  17. 前記アクティビティは、キー押下、マウスクリック、画面タッチ、フォアグラウンドのプロセスの変化、またはシーン変化のうちの2つ以上を含む、請求項12~16のいずれか1項に記載のシステム。
  18. 前記プロセス定義にアクセスすることと、
    前記プロセス定義により指示された前記アクティビティおよびアクティビティ情報に基づき前記コンピュータまたは前記別のコンピュータと物理的にやり取りするよう前記ロボットに自動的に命令することと、
    を含む、請求項12~17のいずれか1項に記載のシステム。
  19. 前記プロセス定義により指示された前記アクティビティおよびアクティビティ情報に基づき前記コンピュータまたは前記別のコンピュータとやり取りするよう前記ロボットに自動的に命令することは、
    前記別のコンピュータの別のディスプレイに示された画面の中で、特定のアクティビティの前記アクティビティ情報により指示されたスナップショットに視覚的に一致する部分を識別することと、
    前記部分の中心に対応する位置で前記別のディスプレイに物理的にタッチするよう前記ロボットに命令することと、
    を含む、請求項18に記載のシステム。
  20. 1つ以上のコンピュータにより実行可能であり、当該実行をされると前記1つ以上のコンピュータに動作を実行させる命令を備えたソフトウェアを記憶する非一時的なコンピュータ可読媒体であって、前記動作は、
    プロセスであって、(i)コンピュータとやり取りするユーザにより手動で実行され、且つ(ii)前記コンピュータまたは別のコンピュータとやり取りするよう構成されたロボットにより実行されるよう自動化されるべき、前記プロセスを識別することと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータのディスプレイの画像を取得することと、
    前記プロセスを手動で実行する際に前記ユーザがコンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像の変化が、シーン変化に対応する所定閾値を満たすと判断するために、前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像に対して、コンピュータビジョン技術を適用することと、
    前記プロセスを手動で実行する際に前記ユーザが前記コンピュータとやり取りしている間に撮られた前記コンピュータの前記ディスプレイの前記画像の変化が、シーン変化に対応する前記所定閾値を満たすと判断するのに応答して、前記プロセス中の前記ユーザからの入力の受け取りに対応する第1のアクティビティとそれに続く前記プロセス中のシーン変化に対応する第2のアクティビティを識別することであって、前記画像の変化がシーン変化に対応する所定閾値を満たすと判断することは、前記画像の画素毎の輝度の比較に基づいて各画素のスコアを生成し、当該スコアを平均し、当該平均したスコアが前記所定閾値を超えると判断することを含む、前記プロセス中のシーン変化に対応する第2のアクティビティを識別することと、
    前記識別されたアクティビティそれぞれについて、前記アクティビティに関連するアクティビティ情報を生成することと、
    前記ロボットに前記コンピュータまたは前記別のコンピュータとやり取りすることで前記プロセスを自動的に実行させるために使用されるプロセス定義を生成することであって、前記プロセス定義は、前記ユーザからの前記入力の受け取りに対応する前記第1のアクティビティとそれに続く前記シーン変化に対応する前記第2のアクティビティを指示し、且つ、指示されたアクティビティそれぞれについて、前記アクティビティに関連する前記アクティビティ情報を指示する、前記プロセス定義を生成することと、
    前記ロボットに前記コンピュータまたは前記別のコンピュータとやり取りすることで前記プロセスを自動的に実行させるために使用される前記プロセス定義を、後で使用するために記憶することと、
    を含む、非一時的なコンピュータ可読媒体。
JP2017567664A 2015-07-02 2016-06-30 ロボットによるプロセス自動化 Active JP7089879B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP15290172.4 2015-07-02
EP15290172.4A EP3112965A1 (en) 2015-07-02 2015-07-02 Robotic process automation
US15/094,063 US9555544B2 (en) 2015-07-02 2016-04-08 Robotic process automation
US15/094,063 2016-04-08
PCT/EP2016/065305 WO2017001560A1 (en) 2015-07-02 2016-06-30 Robotic process automation

Publications (2)

Publication Number Publication Date
JP2018535459A JP2018535459A (ja) 2018-11-29
JP7089879B2 true JP7089879B2 (ja) 2022-06-23

Family

ID=53794164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017567664A Active JP7089879B2 (ja) 2015-07-02 2016-06-30 ロボットによるプロセス自動化

Country Status (5)

Country Link
US (1) US9555544B2 (ja)
EP (2) EP3112965A1 (ja)
JP (1) JP7089879B2 (ja)
CN (1) CN107666987B (ja)
AU (1) AU2016286308B2 (ja)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI528218B (zh) * 2013-11-29 2016-04-01 財團法人資訊工業策進會 機敏資料鑑識方法與使用所述方法的資料外洩防範系統
WO2018017214A1 (en) * 2016-07-20 2018-01-25 Hewlett-Packard Development Company, L.P. Creating digital workers in organizations
AU2018200877A1 (en) * 2017-03-30 2018-10-18 Accenture Global Solutions Limited Closed loop nodal analysis
US10802453B2 (en) 2017-06-02 2020-10-13 Bank Of America Corporation Robotics process automation macro bot
US10449670B2 (en) 2017-07-17 2019-10-22 Bank Of America Corporation Event processing using robotic entities
US10482232B2 (en) 2017-08-16 2019-11-19 Bank Of America Corporation Robotic process automation using controller execution model
US10740726B2 (en) * 2017-10-05 2020-08-11 Servicenow, Inc. Systems and methods for providing message templates in an enterprise system
JP2019074889A (ja) * 2017-10-13 2019-05-16 BizteX株式会社 ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム
US10659482B2 (en) 2017-10-25 2020-05-19 Bank Of America Corporation Robotic process automation resource insulation system
US10616280B2 (en) 2017-10-25 2020-04-07 Bank Of America Corporation Network security system with cognitive engine for dynamic automation
US10437984B2 (en) 2017-10-26 2019-10-08 Bank Of America Corporation Authentication protocol elevation triggering system
US10705948B2 (en) 2017-10-30 2020-07-07 Bank Of America Corporation Robotic process automation simulation of environment access for application migration
US10503627B2 (en) 2017-10-30 2019-12-10 Bank Of America Corporation Robotic process automation enabled file dissection for error diagnosis and correction
US10686684B2 (en) 2017-11-02 2020-06-16 Bank Of America Corporation Individual application flow isotope tagging within a network infrastructure
US10474755B2 (en) 2017-11-03 2019-11-12 Bank Of America Corporation Robotics assisted production support utility
US10575231B2 (en) 2017-11-03 2020-02-25 Bank Of America Corporation System for connection channel adaption using robotic automation
US10120656B1 (en) 2017-11-07 2018-11-06 Bank Of America Corporation Robotic process automation system for functional evaluation and improvement of back end instructional constructs
US10970109B1 (en) * 2017-11-09 2021-04-06 Amdocs Development Limited System, method, and computer program for managing a plurality of heterogeneous software robots to automate business processes
US10606687B2 (en) 2017-12-04 2020-03-31 Bank Of America Corporation Process automation action repository and assembler
US10452674B2 (en) * 2017-12-07 2019-10-22 Accenture Global Solutions Limited Artificial intelligence and robotic process automation for automated data management
US11075935B2 (en) 2017-12-22 2021-07-27 Kpmg Llp System and method for identifying cybersecurity threats
US11693923B1 (en) * 2018-05-13 2023-07-04 Automation Anywhere, Inc. Robotic process automation system with hybrid workflows
CN108732971B (zh) * 2018-05-29 2021-08-13 广州亿程交通信息集团有限公司 基于车联网的环境数据采集系统
JP6763914B2 (ja) * 2018-06-08 2020-09-30 ファナック株式会社 ロボットシステムおよびロボットシステムの制御方法
US10802889B1 (en) 2018-07-18 2020-10-13 NTT DATA Services, LLC Systems and methods of virtual resource monitoring for robotic processes
JP6452882B1 (ja) * 2018-07-28 2019-01-16 BizteX株式会社 ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム
US10878531B2 (en) 2018-08-17 2020-12-29 Accenture Global Solutions Limited Robotic process automation
CN113227964A (zh) * 2018-09-28 2021-08-06 艾利文Ai有限公司 用于机器人过程自动化设计的基于上下文的建议
US11281936B2 (en) 2018-12-31 2022-03-22 Kofax, Inc. Systems and methods for identifying processes for robotic automation and building models therefor
US11613008B2 (en) 2019-01-14 2023-03-28 International Business Machines Corporation Automating a process using robotic process automation code
US11693757B2 (en) * 2019-02-01 2023-07-04 Virtusa Corporation Requirement gathering in process automation
AU2020267490A1 (en) * 2019-05-06 2021-12-23 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
US10970097B2 (en) 2019-06-19 2021-04-06 Sap Se Adaptive web-based robotic process automation
CN110248164A (zh) * 2019-06-27 2019-09-17 四川中电启明星信息技术有限公司 Pc自动化作业监控方法及系统
US11433536B2 (en) * 2019-09-19 2022-09-06 UiPath, Inc. Process understanding for robotic process automation (RPA) using sequence extraction
JP2021056794A (ja) * 2019-09-30 2021-04-08 富士通株式会社 制御プログラム、制御装置及び制御方法
US10817314B1 (en) 2019-10-01 2020-10-27 NTT DATA Services, LLC Augmented shareable video files for robotic process automation
US11507772B2 (en) * 2019-10-02 2022-11-22 UiPath, Inc. Sequence extraction using screenshot images
US11150882B2 (en) 2019-10-14 2021-10-19 UiPath Inc. Naming robotic process automation activities according to automatically detected target labels
US20210109503A1 (en) 2019-10-15 2021-04-15 UiPath, Inc. Human-in-the-loop robot training for robotic process automation
US11440201B2 (en) 2019-10-15 2022-09-13 UiPath, Inc. Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US11488015B2 (en) 2019-10-15 2022-11-01 UiPath, Inc. Artificial intelligence layer-based process extraction for robotic process automation
WO2021083480A1 (de) 2019-10-28 2021-05-06 Siemens Aktiengesellschaft Verfahren und vorrichtung zur unterstützung einer robotic process automation
JP2023500378A (ja) * 2019-11-05 2023-01-05 ストロング フォース ヴィーシーエヌ ポートフォリオ 2019,エルエルシー バリューチェーンネットワークのためのコントロールタワーおよびエンタープライズマネジメントプラットフォーム
US11642783B2 (en) * 2019-12-02 2023-05-09 International Business Machines Corporation Automated generation of robotic computer program code
US11082561B2 (en) * 2019-12-13 2021-08-03 UiPath, Inc. System and method for providing contextual assistance for contact center applications
US11829795B2 (en) * 2019-12-30 2023-11-28 UiPath, Inc. Trigger service management for robotic process automation (RPA)
US11453131B2 (en) * 2019-12-30 2022-09-27 UiPath, Inc. Method and apparatus for remote native automation decoupling
US10654166B1 (en) * 2020-02-18 2020-05-19 UiPath, Inc. Automation windows for robotic process automation
US11233861B2 (en) 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
WO2021176523A1 (ja) * 2020-03-02 2021-09-10 日本電信電話株式会社 画面認識装置、画面認識方法およびプログラム
US11436830B2 (en) 2020-03-11 2022-09-06 Bank Of America Corporation Cognitive robotic process automation architecture
US20210294303A1 (en) * 2020-03-17 2021-09-23 UiPath, Inc. In-process trigger management for robotic process automation (rpa)
US11443241B2 (en) 2020-03-26 2022-09-13 Wipro Limited Method and system for automating repetitive task on user interface
US20210342736A1 (en) * 2020-04-30 2021-11-04 UiPath, Inc. Machine learning model retraining pipeline for robotic process automation
US11080548B1 (en) 2020-05-01 2021-08-03 UiPath, Inc. Text detection, caret tracking, and active element detection
KR20230005246A (ko) * 2020-05-01 2023-01-09 블루 프리즘 리미티드 로봇 프로세스 자동화를 위한 시스템 및 방법들
US11461164B2 (en) 2020-05-01 2022-10-04 UiPath, Inc. Screen response validation of robot execution for robotic process automation
KR102297355B1 (ko) * 2020-05-01 2021-09-01 유아이패스, 인크. 텍스트 검출, 캐럿 추적, 및 활성 엘리먼트 검출
US11200441B2 (en) 2020-05-01 2021-12-14 UiPath, Inc. Text detection, caret tracking, and active element detection
US11367008B2 (en) 2020-05-01 2022-06-21 Cognitive Ops Inc. Artificial intelligence techniques for improving efficiency
US20210349430A1 (en) * 2020-05-11 2021-11-11 UiPath, Inc. Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation
JP2023528092A (ja) * 2020-05-11 2023-07-04 ユーアイパス,インコーポレイテッド ロボティックプロセスオートメーションのためのグラフィカル要素検索技術の選択、アンカーおよびターゲットのファジー理論選択、ならびに/または階層的グラフィカル要素識別
US11494203B2 (en) 2020-05-13 2022-11-08 UiPath, Inc. Application integration for robotic process automation
CN111638879B (zh) * 2020-05-15 2023-10-31 民生科技有限责任公司 克服像素点定位限制的系统、方法、装置及可读存储介质
JP7174014B2 (ja) * 2020-07-06 2022-11-17 株式会社東芝 操作システム、処理システム、操作方法、及びプログラム
US11748069B2 (en) 2020-07-07 2023-09-05 UiPath, Inc. User interface (UI) descriptors, UI object libraries, UI object repositories, and UI object browsers 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
US11157339B1 (en) 2020-07-09 2021-10-26 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session
US20220084306A1 (en) * 2020-07-14 2022-03-17 Kalpit Jain Method and system of guiding a user on a graphical interface with computer vision
US10970064B1 (en) 2020-07-28 2021-04-06 Bank Of America Corporation Dynamically updating a software program to resolve errors
US11775321B2 (en) * 2020-08-03 2023-10-03 Automation Anywhere, Inc. Robotic process automation with resilient playback capabilities
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
US11759950B2 (en) * 2020-09-08 2023-09-19 UiPath, Inc. Localized configurations of distributed-packaged robotic processes
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection
US11385777B2 (en) * 2020-09-14 2022-07-12 UiPath, Inc. User interface (UI) mapper for robotic process automation
US12067580B2 (en) * 2020-09-24 2024-08-20 The Toronto-Dominion Bank Management of programmatic and compliance workflows using robotic process automation
US11301269B1 (en) 2020-10-14 2022-04-12 UiPath, Inc. Determining sequences of interactions, process extraction, and robot generation using artificial intelligence / machine learning models
US11592804B2 (en) * 2020-10-14 2023-02-28 UiPath, Inc. Task automation by support robots for robotic process automation (RPA)
US11921608B2 (en) 2020-10-30 2024-03-05 Accenture Global Solutions Limited Identifying a process and generating a process diagram
US11833661B2 (en) * 2020-10-31 2023-12-05 Google Llc Utilizing past contact physics in robotic manipulation (e.g., pushing) of an object
US12124926B2 (en) * 2020-12-11 2024-10-22 UiPath, Inc. Supplementing artificial intelligence (AI) / machine learning (ML) models via action center, AI/ML model retraining hardware control, and AI/ML model settings management
TW202228953A (zh) * 2021-01-29 2022-08-01 日商發那科股份有限公司 機器人控制裝置及數值控制系統
TWI767590B (zh) * 2021-03-02 2022-06-11 伊斯酷軟體科技股份有限公司 用於多部電子計算裝置的機器人流程自動化裝置及機器人流程自動化方法
US11618160B2 (en) 2021-03-26 2023-04-04 UiPath, Inc. Integrating robotic process automations into operating and software systems
US11934416B2 (en) 2021-04-13 2024-03-19 UiPath, Inc. Task and process mining by robotic process automations across a computing environment
US11522364B2 (en) 2021-04-21 2022-12-06 Peak Power, Inc. Building load modification responsive to utility grid events using robotic process automation
CN113221866B (zh) * 2021-04-30 2022-11-15 东方蓝天钛金科技有限公司 一种基于图像识别的设备数据采集系统及方法
US11829284B2 (en) 2021-06-07 2023-11-28 International Business Machines Corporation Autonomous testing of software robots
JPWO2023276875A1 (ja) * 2021-06-28 2023-01-05
US20230008220A1 (en) * 2021-07-09 2023-01-12 Bank Of America Corporation Intelligent robotic process automation bot development using convolutional neural networks
US11794348B2 (en) * 2021-07-28 2023-10-24 Sap Se Process assembly line with robotic process automation
US20230037297A1 (en) * 2021-08-06 2023-02-09 Bank Of America Corporation Robotics Process Automation Automatic Enhancement System
CN114265542B (zh) * 2021-12-14 2024-09-20 美的集团(上海)有限公司 机器人的语音交互方法、装置和电子设备
US20230195516A1 (en) * 2021-12-22 2023-06-22 UiPath, Inc. Cloud triggers for scheduling robots
RO137672A2 (ro) 2022-03-09 2023-09-29 Universitatea "Lucian Blaga" Din Sibiu Metodă şi sistem informatic pentru capturarea şi analiza acţiunilor repetitive generate de interacţiunea angajat-calculator

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280174A (ja) 2006-04-10 2007-10-25 Hitachi Electronics Service Co Ltd 操作履歴記録装置
JP2007279991A (ja) 2006-04-05 2007-10-25 It System Corp ログ管理プログラム及び記録媒体
JP2012221318A (ja) 2011-04-11 2012-11-12 Toshiba Corp シナリオ生成装置およびシナリオ生成プログラム
JP2014235699A (ja) 2013-06-05 2014-12-15 株式会社日立システムズ 情報処理装置、機器設定システム、機器設定装置、機器設定方法、およびプログラム
JP2015028765A (ja) 2013-06-25 2015-02-12 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 入力制御方法及び入力制御装置

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4825394A (en) * 1985-05-07 1989-04-25 General Dynamics Corporation Vision metrology system
US7453451B1 (en) * 1999-03-16 2008-11-18 Maguire Francis J Jr Moveable headrest for viewing images from different directions
US6181371B1 (en) * 1995-05-30 2001-01-30 Francis J Maguire, Jr. Apparatus for inducing attitudinal head movements for passive virtual reality
US8330812B2 (en) * 1995-05-30 2012-12-11 Simulated Percepts, Llc Method and apparatus for producing and storing, on a resultant non-transitory storage medium, computer generated (CG) video in correspondence with images acquired by an image acquisition device tracked in motion with respect to a 3D reference frame
JP2001159903A (ja) * 1999-12-01 2001-06-12 Yamaha Motor Co Ltd 組合せ完成品用単位装置の最適化装置
JP2001277163A (ja) * 2000-04-03 2001-10-09 Sony Corp ロボットの制御装置及び制御方法
US7830362B2 (en) * 2001-07-05 2010-11-09 Michael Cain Finley Laser and digital camera computer pointer device system
AU2003239171A1 (en) * 2002-01-31 2003-09-02 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
US7505604B2 (en) * 2002-05-20 2009-03-17 Simmonds Precision Prodcuts, Inc. Method for detection and recognition of fog presence within an aircraft compartment using video images
SE0203908D0 (sv) * 2002-12-30 2002-12-30 Abb Research Ltd An augmented reality system and method
US7773799B2 (en) * 2004-04-02 2010-08-10 The Boeing Company Method for automatic stereo measurement of a point of interest in a scene
WO2006016866A2 (en) * 2004-07-08 2006-02-16 Microsoft Corporation Automatic image capture for generating content
JP4137862B2 (ja) * 2004-10-05 2008-08-20 ファナック株式会社 計測装置及びロボット制御装置
US7626569B2 (en) * 2004-10-25 2009-12-01 Graphics Properties Holdings, Inc. Movable audio/video communication interface system
CA2615659A1 (en) * 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
JP2007061983A (ja) * 2005-09-01 2007-03-15 Fanuc Ltd ロボット監視システム
ATE539391T1 (de) * 2007-03-29 2012-01-15 Irobot Corp Konfigurationssystem und -verfahren für eine roboteroperator-steuereinheit
JP5228716B2 (ja) * 2007-10-04 2013-07-03 日産自動車株式会社 情報提示システム
CA2712607A1 (en) * 2008-01-25 2009-07-30 Mcmaster University Surgical guidance utilizing tissue feedback
US8559699B2 (en) * 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
FR2954518B1 (fr) * 2009-12-18 2012-03-23 Aripa Service Innovation Ind " systeme anticollision pour le deplacement d'un objet dans un environnement encombre."
US8825183B2 (en) * 2010-03-22 2014-09-02 Fisher-Rosemount Systems, Inc. Methods for a data driven interface based on relationships between process control tags
US9104202B2 (en) * 2010-05-11 2015-08-11 Irobot Corporation Remote vehicle missions and systems for supporting remote vehicle missions
EP2668008A4 (en) * 2011-01-28 2018-01-24 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
US9400778B2 (en) * 2011-02-01 2016-07-26 Accenture Global Services Limited System for identifying textual relationships
WO2012150602A1 (en) * 2011-05-03 2012-11-08 Yogesh Chunilal Rathod A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status
US8793578B2 (en) * 2011-07-11 2014-07-29 International Business Machines Corporation Automating execution of arbitrary graphical interface applications
CN102270139B (zh) * 2011-08-16 2013-09-11 潘天华 一种屏幕截图的方法
US10176725B2 (en) * 2011-08-29 2019-01-08 Worcester Polytechnic Institute System and method of pervasive developmental disorder interventions
US9679215B2 (en) * 2012-01-17 2017-06-13 Leap Motion, Inc. Systems and methods for machine control
GB201202344D0 (en) * 2012-02-10 2012-03-28 Isis Innovation Method of locating a sensor and related apparatus
US20130335405A1 (en) * 2012-06-18 2013-12-19 Michael J. Scavezze Virtual object generation within a virtual environment
US8996167B2 (en) * 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
US9607787B2 (en) * 2012-09-21 2017-03-28 Google Inc. Tactile feedback button for a hazard detector and fabrication method thereof
US9274742B2 (en) * 2012-10-25 2016-03-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
WO2014121262A2 (en) * 2013-02-04 2014-08-07 Children's National Medical Center Hybrid control surgical robotic system
US8868241B2 (en) * 2013-03-14 2014-10-21 GM Global Technology Operations LLC Robot task commander with extensible programming environment
JP5931806B2 (ja) * 2013-06-24 2016-06-08 日本電信電話株式会社 画像認識による自動操作装置、その方法及びプログラム
US9179096B2 (en) * 2013-10-11 2015-11-03 Fuji Xerox Co., Ltd. Systems and methods for real-time efficient navigation of video streams
US9691266B2 (en) * 2014-04-07 2017-06-27 Google Inc. Smart hazard detector drills
CN104238418A (zh) * 2014-07-02 2014-12-24 北京理工大学 一种交互现实系统和方法
US9704043B2 (en) * 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279991A (ja) 2006-04-05 2007-10-25 It System Corp ログ管理プログラム及び記録媒体
JP2007280174A (ja) 2006-04-10 2007-10-25 Hitachi Electronics Service Co Ltd 操作履歴記録装置
JP2012221318A (ja) 2011-04-11 2012-11-12 Toshiba Corp シナリオ生成装置およびシナリオ生成プログラム
JP2014235699A (ja) 2013-06-05 2014-12-15 株式会社日立システムズ 情報処理装置、機器設定システム、機器設定装置、機器設定方法、およびプログラム
JP2015028765A (ja) 2013-06-25 2015-02-12 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 入力制御方法及び入力制御装置

Also Published As

Publication number Publication date
EP3215900B1 (en) 2019-11-27
AU2016286308B2 (en) 2018-11-29
EP3215900A1 (en) 2017-09-13
AU2016286308A1 (en) 2018-01-04
US20170001308A1 (en) 2017-01-05
JP2018535459A (ja) 2018-11-29
CN107666987A (zh) 2018-02-06
CN107666987B (zh) 2020-10-16
US9555544B2 (en) 2017-01-31
EP3112965A1 (en) 2017-01-04

Similar Documents

Publication Publication Date Title
JP7089879B2 (ja) ロボットによるプロセス自動化
WO2017001560A1 (en) Robotic process automation
CN110837403B (zh) 机器人过程自动化
US9519570B2 (en) Progressive snapshots in automated software testing
US20150089363A1 (en) Display-independent recognition of graphical user interface control
US20160350137A1 (en) Guide file creation program
US20110047514A1 (en) Recording display-independent computerized guidance
US9405558B2 (en) Display-independent computerized guidance
US20190324613A1 (en) Display interface systems and methods
US9684445B2 (en) Mobile gesture reporting and replay with unresponsive gestures identification and analysis
JP2011081778A (ja) ディスプレイ非依存のコンピュータによるガイダンス方法および装置
CN104246696A (zh) 基于图像的应用自动化
US12112035B2 (en) Recognition and processing of gestures in a graphical user interface using machine learning
US10860120B2 (en) Method and system to automatically map physical objects into input devices in real time
JP7540003B2 (ja) Rpaロボットを訓練する方法、装置、コンピュータプログラム、コンピュータ可読媒体
US9950542B2 (en) Processing digital ink input subject to monitoring and intervention by an application program
US10496237B2 (en) Computer-implemented method for designing a three-dimensional modeled object
US20170192753A1 (en) Translation of gesture to gesture code description using depth camera
JP5831883B2 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2005081096A2 (en) Control system for computer control devices
JP2011107911A (ja) プログラム、情報処理装置、及び情報処理システム
JP7373828B2 (ja) 情報処理装置、及びプログラム
CN118245111A (zh) 大模型控制电子设备的方法和装置
en Computación LaGeR Workbench: A Language and Framework for the Representation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211202

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20211202

C11 Written invitation by the commissioner to file amendments

Free format text: JAPANESE INTERMEDIATE CODE: C11

Effective date: 20220118

C12 Written invitation by the commissioner to file intermediate amendments

Free format text: JAPANESE INTERMEDIATE CODE: C12

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220217

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220218

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220311

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220613

R150 Certificate of patent or registration of utility model

Ref document number: 7089879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150