JP7182744B1 - ソフトウェア実体間のイベントの決定的再現 - Google Patents
ソフトウェア実体間のイベントの決定的再現 Download PDFInfo
- Publication number
- JP7182744B1 JP7182744B1 JP2022118477A JP2022118477A JP7182744B1 JP 7182744 B1 JP7182744 B1 JP 7182744B1 JP 2022118477 A JP2022118477 A JP 2022118477A JP 2022118477 A JP2022118477 A JP 2022118477A JP 7182744 B1 JP7182744 B1 JP 7182744B1
- Authority
- JP
- Japan
- Prior art keywords
- event
- queue
- entity
- software
- events
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4875—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
Abstract
Description
ロボット工学または自動車システムを開発するために使用される多くのフレームワークは、システム内のソフトウェア実体間のデータ通信を記録しかつ再現する機能を提供する。このようなフレームワークの例としては、限定されないが、ロボットオペレーティングシステム(ROS)、自動車データおよび時間トリガーフレーム(ADTF)、および拡張通信抽象化レイヤ(eCAL)が含まれる。
図1は、本明細書に説明する様々な実施形態に関連して使用され得る例示的な有線または無線システム100を示すブロック図である。例えば、システム100は、本明細書に説明する(例えば、本明細書に記載する1つもしくは複数のソフトウェア実体、コーディネータ、または他のソフトウェアモジュールを記憶および/または実行するための)機能、プロセス、または方法の1つもしくは複数として、またはそれらと関連して使用することができる。システム100は、サーバ、従来のパーソナルコンピュータ、ロボットもしくは車両内の制御システム、または任意の他のプロセッサ対応装置であり得る。当業者には明らかなように、他のコンピュータシステムおよび/またはアーキテクチャを使用することもできる。
次に、ソフトウェア実体間のイベントの決定的再現のためのプロセスの実施形態について詳細に説明する。説明するプロセスは、例えば、コンピュータプログラムまたはソフトウェアパッケージとして、1つまたは複数のハードウェアプロセッサ(例えば、プロセッサ110)によって実行される1つまたは複数のソフトウェアモジュールにおいて具現化することができることを理解するべきである。説明するプロセスは、ソースコード、オブジェクトコード、および/またはマシンコードで表される命令として実装することもできる。これらの命令は、ハードウェアプロセッサ110によって直接実行してもよいし、あるいは、オブジェクトコードとハードウェアプロセッサ110との間で動作する仮想マシンによって実行することもできる。
ソフトウェア実体間で記録されたイベントのすべての再現が同じ結果を導くことを保証するアルゴリズムの実施形態が開示される。ソフトウェア実体の内部状態などの特定の態様が再現されない場合、再現の結果は、データが記録されたシステムの結果と異なる可能性がある。しかし、固定された計算を行い、(例えば、他のソフトウェア実体との)固定されたインタフェースおよび接続を有するソフトウェア実体の固定されたセットについては、任意の再現が再生成可能であろう。これにより、再現を実行するシステムのハードウェア環境および実行時動作に依存しない、再現可能なテストが可能となる。
図3は、第1の実施形態による、刺激されたソフトウェア実体を待ち行列に入れることによってデータを再現するためのアルゴリズム300を示す。アルゴリズム300は、ソフトウェア実体の実行とイベントの再現(例えば、ソフトウェア実体へのイベントの送信)とを調整し、かつ刺激されたソフトウェア実体の待ち行列を管理するコーディネータによって実行することができることを理解されたい。コーディネータは、ソフトウェア実体を実行するシステム250と同一か、またはそれと通信するシステム100の1つまたは複数のプロセッサ110によって実行することができる。
図4Aは、待ち行列に入れる戦略の第1の変形例による、アルゴリズム300の動作を示す。この第1の変形例では、コーディネータ400は、ソフトウェア実体が待ち行列410内の別の位置に既に存在するか否かに関係なく、新たに刺激された各ソフトウェア実体を待ち行列410の最後尾に挿入する。したがって、各イベントは、そのイベントによって刺激されるすべてのソフトウェア実体の待ち行列に入れることおよび実行することをもたらす。したがって、コーディネータ400は、以下のように記録200を再現する。
図4Bは、待ち行列に入れる戦略の第2の変形例による、アルゴリズム300の動作を示す。この第2の変形例では、コーディネータ400は、ソフトウェア実体が待ち行列410の別の位置に既に存在しない限り、新たに刺激された各ソフトウェア実体を待ち行列410の最後尾に挿入し、既に存在する場合、待ち行列410のソフトウェア実体を重複させないように待ち行列410にソフトウェア実体を挿入しない。したがって、コーディネータ400は、以下のように記録200を再現する。
図4Cは、待ち行列に入れる戦略の第3の変形例による、アルゴリズム300の動作を示す。この第3の変形例では、コーディネータ400は、ソフトウェア実体が待ち行列410の別の位置に既に存在しない限り、新たに刺激された各ソフトウェア実体を待ち行列410の先頭に挿入し、既に存在する場合、待ち行列410内のソフトウェア実体を重複させないように待ち行列410にソフトウェア実体を挿入しない。したがって、コーディネータ400は、以下のように記録200を再現する。
図5は、第2の実施形態による、イベントを待ち行列に入れることによってデータを再現するためのアルゴリズム500を示す。アルゴリズム500は、ソフトウェア実体の実行とイベントの再現(例えば、ソフトウェア実体へのイベントの送信)とを調整し、かつ出力されたイベントの待ち行列を管理するコーディネータによって実行することができることを理解されたい。コーディネータは、ソフトウェア実体を実行するシステム250と同一か、またはそれと通信するシステム100の1つまたは複数のプロセッサ110によって実行することができる。アルゴリズム300に関して上述したように、コーディネータは、再現されるシステムのトポロジーを学習することができる。
図6Aは、待ち行列に入れる戦略の第1の変形例による、アルゴリズム500の動作を示す。この第1の変形例では、コーディネータ400は、新たに出力された各イベントを待ち行列410の最後尾に挿入し、一度に1つのイベントのみを送信する。したがって、コーディネータ400は、以下のように記録200を再現する。
図6Bは、待ち行列に入れる戦略の第2の変形例による、アルゴリズム500の動作を示す。この第2の変形例では、コーディネータ400は、新たに出力された各イベントを待ち行列410の先頭に挿入し、一度に1つのイベントのみを再現(例えば、送信)する。したがって、コーディネータ400は、以下のように記録200を再現する。
図6Cは、待ち行列に入れる戦略の第3の変形例による、アルゴリズム500の動作を示す。この第3の変形例では、コーディネータ400は、新たに出力された各イベントを待ち行列410の先頭に挿入し、所与のソフトウェア実体によって出力されたすべてのイベントを同時に再現(例えば、送信)する。したがって、コーディネータ400は、以下のように記録200を再現する。
Claims (14)
- システム内の複数のソフトウェア実体をグラフの節、イベントを前記グラフの辺として表現することができ、少なくとも1つのハードウェアプロセッサを使用して、前記システム内の前記複数のソフトウェア実体間のイベントの記録を決定的に再現する方法であって、前記記録内の1つまたは複数のイベントの各々について、
前記イベントを再現するステップと、
前記イベントによって刺激されている前記複数のソフトウェア実体のいずれかを待ち行列に入れるステップと、
前記待ち行列が空になるまで、
前記待ち行列の先頭にあるソフトウェア実体を削除して実行するステップと、
前記実行されたソフトウェア実体の出力しているすべてのイベントを再現するステップと、
前記実行されたソフトウェア実体の出力した前記再現されたイベントによって刺激されている前記複数のソフトウェア実体のいずれかを前記待ち行列に入れるステップと、
を含み、
ソフトウェア実体を前記待ち行列に入れる各ステップは、
前記ソフトウェア実体が前記待ち行列内のいかなる位置にも既に存在しない場合、前記ソフトウェア実体を前記待ち行列に挿入することと、
前記ソフトウェア実体が前記待ち行列内のある位置に既に存在する場合、前記ソフトウェア実体の複製を前記待ち行列に挿入しないことと、を含む方法。 - イベントを再現する各ステップは、前記複数のソフトウェア実体の1つまたは複数に前記イベントを表すメッセージを送信するステップを含む、請求項1に記載の方法。
- 前記ソフトウェア実体を前記待ち行列に挿入することは、前記ソフトウェア実体を前記待ち行列の最後尾に挿入することを含む、請求項1に記載の方法。
- 前記ソフトウェア実体を前記待ち行列に挿入することは、前記ソフトウェア実体を前記待ち行列の前記先頭に挿入することを含む、請求項1に記載の方法。
- 前記少なくとも1つのハードウェアプロセッサを使用して、前記複数のソフトウェア実体のいずれの実行中にもイベントは再現されないことを保証するステップをさらに含む、請求項1に記載の方法。
- 前記少なくとも1つのハードウェアプロセッサを使用して、前記複数のソフトウェア実体の他のいずれの実行中にもソフトウェア実体は実行されないことを保証することをさらに含む、請求項1に記載の方法。
- 前記システムは車両のサブシステムである、請求項1に記載の方法。
- 前記システムはロボットのサブシステムである、請求項1に記載の方法。
- その中に格納された命令を有する非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによって実行されると、システム内の複数のソフトウェア実体をグラフの節、イベントを前記グラフの辺として表現することができ、前記プロセッサが前記システム内の前記複数のソフトウェア実体間のイベントの記録を決定的に再現する方法であって、前記記録内の1つまたは複数のイベントの各々について、
前記イベントを再現するステップと、
前記イベントによって刺激されている前記複数のソフトウェア実体のいずれかを待ち行列に入れるステップと、
前記待ち行列が空になるまで、
前記待ち行列の先頭にあるソフトウェア実体を削除して実行するステップと、
前記実行されたソフトウェア実体の出力しているすべてのイベントを再現するステップと、
前記実行されたソフトウェア実体の出力した前記再現されたイベントによって刺激されている前記複数のソフトウェア実体のいずれかを前記待ち行列に入れるステップと、によってシステム内の前記複数のソフトウェア実体間のイベントの記録を決定的に再現する方法を行わせ、
ソフトウェア実体を前記待ち行列に入れる各ステップは、
前記ソフトウェア実体が前記待ち行列内のいかなる位置にも既に存在しない場合、前記ソフトウェア実体を前記待ち行列に挿入することと、
前記ソフトウェア実体が前記待ち行列内のある位置に既に存在する場合、前記ソフトウェア実体の複製を前記待ち行列に挿入しないことと、を含む、非一時的コンピュータ可読媒体。 - システム内の複数のソフトウェア実体をグラフの節、イベントを前記グラフの辺として表現することができ、少なくとも1つのハードウェアプロセッサを使用して、前記システム内の前記複数のソフトウェア実体間のイベントの記録を決定的に再現する方法であって、前記記録内の1つまたは複数のイベントの各々について、
前記イベントを再現するステップと、
前記イベントによって刺激されている前記複数のソフトウェア実体のいずれかを実行するステップと、
前記実行されたソフトウェア実体のいずれかの出力しているすべてのイベントを待ち行列に入れるステップと、
前記待ち行列が空になるまで、
前記待ち行列の先頭にあるイベントを削除して再現するステップと、
前記待ち行列の前記先頭から削除された前記再現されたイベントによって刺激されている前記複数のソフトウェア実体のいずれかを実行するステップと、
前記待ち行列の前記先頭から削除された前記再現されたイベントによって刺激された前記実行されたソフトウェア実体のいずれかによって出力されているすべてのイベントを待ち行列に入れるステップと、を含み、
イベントを前記待ち行列に入れる各ステップは、
前記イベントが前記待ち行列内のいかなる位置にも既に存在しない場合、前記イベントを前記待ち行列に挿入することと、
前記イベントが前記待ち行列内のある位置に既に存在する場合、前記イベントの複製を前記待ち行列に挿入しないことと、を含む、前記システム内の前記複数のソフトウェア実体間のイベントの記録を決定的に再現する方法。 - イベントを再現する各ステップは、前記複数のソフトウェア実体の1つまたは複数に前記イベントを表すメッセージを送信するステップを含む、請求項10に記載の方法。
- 前記待ち行列の前記先頭から削除された前記イベントによって刺激されるかまたは前記再現されたイベントによって刺激される、前記複数のソフトウェア実体のいずれかを実行するステップは、前記複数のソフトウェア実体の前記いずれかを並列に実行するステップを含む、請求項10に記載の方法。
- 前記システムは車両のサブシステムである、請求項10に記載の方法。
- 前記システムはロボットのサブシステムである、請求項10に記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022185832A JP2023021137A (ja) | 2021-07-29 | 2022-11-21 | ソフトウェア実体間のイベントの決定的再現 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/389,077 US11366705B1 (en) | 2021-07-29 | 2021-07-29 | Deterministic replay of events between software entities |
US17/389,077 | 2021-07-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022185832A Division JP2023021137A (ja) | 2021-07-29 | 2022-11-21 | ソフトウェア実体間のイベントの決定的再現 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7182744B1 true JP7182744B1 (ja) | 2022-12-02 |
JP2023021006A JP2023021006A (ja) | 2023-02-09 |
Family
ID=82060452
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022118477A Active JP7182744B1 (ja) | 2021-07-29 | 2022-07-26 | ソフトウェア実体間のイベントの決定的再現 |
JP2022185832A Pending JP2023021137A (ja) | 2021-07-29 | 2022-11-21 | ソフトウェア実体間のイベントの決定的再現 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022185832A Pending JP2023021137A (ja) | 2021-07-29 | 2022-11-21 | ソフトウェア実体間のイベントの決定的再現 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11366705B1 (ja) |
EP (2) | EP4369205A2 (ja) |
JP (2) | JP7182744B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11836577B2 (en) | 2018-11-27 | 2023-12-05 | Amazon Technologies, Inc. | Reinforcement learning model training through simulation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154881A (ja) * | 1999-12-01 | 2001-06-08 | Yamatake Corp | シミュレーション装置とその装置の実現に用いられるプログラム記録媒体 |
US20050091026A1 (en) * | 2003-09-20 | 2005-04-28 | Spiratech Limited | Modelling and simulation method |
JP2007510992A (ja) * | 2003-11-10 | 2007-04-26 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御システムをシミュレーションおよび検証するためのシミュレーションシステムおよびコンピュータにより実施される方法 |
JP2012038019A (ja) * | 2010-08-05 | 2012-02-23 | Mitsubishi Electric Corp | 計算処理方法、計算処理装置およびソフトウエアプログラム |
JP2022507142A (ja) * | 2018-11-21 | 2022-01-18 | アマゾン テクノロジーズ インコーポレイテッド | ロボティクスアプリケーション開発のための方法及びシステム |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881315A (en) * | 1995-08-18 | 1999-03-09 | International Business Machines Corporation | Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive |
US6957420B2 (en) * | 2001-08-30 | 2005-10-18 | E M Pirix Inc. | Method of generating test scripts for systems having dynamic behavior |
US7177925B2 (en) * | 2002-09-27 | 2007-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Event management system |
US7370317B2 (en) * | 2004-01-23 | 2008-05-06 | Microsoft Corporation | Automated generation of message exchange pattern simulation code |
US7831680B2 (en) * | 2004-07-16 | 2010-11-09 | National Instruments Corporation | Deterministic communication between graphical programs executing on different computer systems |
US8370395B1 (en) * | 2004-10-15 | 2013-02-05 | Amazon Technologies, Inc. | Providing a reliable distributed queuing service |
ATE409909T1 (de) * | 2005-01-28 | 2008-10-15 | Ibm | Zählverfahren für anweisungen zur protokollierung und wiedergabe einer deterministischen ereignisabfolge |
CN101446909B (zh) * | 2007-11-30 | 2011-12-28 | 国际商业机器公司 | 用于管理任务事件的方法和系统 |
US8612997B2 (en) * | 2008-01-15 | 2013-12-17 | International Business Machines Corporation | Event-driven component integration framework for implementing distributed systems |
US8185370B2 (en) * | 2008-05-19 | 2012-05-22 | Wright State University | Discrete event simulation tool combining process-driven and event-driven models |
US8402318B2 (en) * | 2009-03-24 | 2013-03-19 | The Trustees Of Columbia University In The City Of New York | Systems and methods for recording and replaying application execution |
US8424005B2 (en) * | 2009-07-27 | 2013-04-16 | International Business Machines Corporation | System and method for time-aware run-time to guarantee time |
US20120066694A1 (en) * | 2010-09-10 | 2012-03-15 | International Business Machines Corporation | Event overflow handling by coalescing and updating previously-queued event notification |
US8738860B1 (en) * | 2010-10-25 | 2014-05-27 | Tilera Corporation | Computing in parallel processing environments |
US8943009B2 (en) * | 2011-11-20 | 2015-01-27 | International Business Machines Corporation | Method of adapting an event processing component having a plurality of event processing agents which carry out a plurality of rules complying with at least one correctness requirement to process a plurality of events |
US9501533B2 (en) * | 2013-04-16 | 2016-11-22 | Sonos, Inc. | Private queue for a media playback system |
US9098359B2 (en) * | 2013-10-10 | 2015-08-04 | Microsoft Technology Licensing, Llc | Durable execution of long running applications |
US9363254B2 (en) * | 2014-06-04 | 2016-06-07 | Sonos, Inc. | Cloud queue access control |
US11080031B2 (en) * | 2016-02-05 | 2021-08-03 | Sas Institute Inc. | Message-based coordination of container-supported many task computing |
US11210593B1 (en) * | 2016-12-22 | 2021-12-28 | Brain Technologies, Inc. | Storage and execution of operation sequences |
US10462034B2 (en) * | 2016-12-29 | 2019-10-29 | Juniper Networks, Inc. | Dynamic distribution of network entities among monitoring agents |
US10296442B2 (en) * | 2017-06-29 | 2019-05-21 | Microsoft Technology Licensing, Llc | Distributed time-travel trace recording and replay |
US10850199B2 (en) * | 2018-04-04 | 2020-12-01 | UberGeekGames LLC | Scripting engine and implementations |
US11042532B2 (en) * | 2018-08-31 | 2021-06-22 | International Business Machines Corporation | Processing event messages for changed data objects to determine changed data objects to backup |
US20200218584A1 (en) * | 2019-01-03 | 2020-07-09 | International Business Machines Corporation | Identifying and demarcating application transactions in an event loop based runtime |
US11875185B2 (en) * | 2021-05-19 | 2024-01-16 | International Business Machines Corporation | Determining a validity of an event emitter based on a rule |
-
2021
- 2021-07-29 US US17/389,077 patent/US11366705B1/en active Active
-
2022
- 2022-06-16 EP EP24158494.5A patent/EP4369205A2/en active Pending
- 2022-06-16 EP EP22179446.4A patent/EP4124954B1/en active Active
- 2022-06-16 US US17/842,010 patent/US20230032237A1/en active Pending
- 2022-07-26 JP JP2022118477A patent/JP7182744B1/ja active Active
- 2022-11-21 JP JP2022185832A patent/JP2023021137A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154881A (ja) * | 1999-12-01 | 2001-06-08 | Yamatake Corp | シミュレーション装置とその装置の実現に用いられるプログラム記録媒体 |
US20050091026A1 (en) * | 2003-09-20 | 2005-04-28 | Spiratech Limited | Modelling and simulation method |
JP2007510992A (ja) * | 2003-11-10 | 2007-04-26 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御システムをシミュレーションおよび検証するためのシミュレーションシステムおよびコンピュータにより実施される方法 |
JP2012038019A (ja) * | 2010-08-05 | 2012-02-23 | Mitsubishi Electric Corp | 計算処理方法、計算処理装置およびソフトウエアプログラム |
JP2022507142A (ja) * | 2018-11-21 | 2022-01-18 | アマゾン テクノロジーズ インコーポレイテッド | ロボティクスアプリケーション開発のための方法及びシステム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11836577B2 (en) | 2018-11-27 | 2023-12-05 | Amazon Technologies, Inc. | Reinforcement learning model training through simulation |
Also Published As
Publication number | Publication date |
---|---|
EP4124954B1 (en) | 2024-03-27 |
US11366705B1 (en) | 2022-06-21 |
JP2023021137A (ja) | 2023-02-09 |
US20230032237A1 (en) | 2023-02-02 |
EP4124954A1 (en) | 2023-02-01 |
EP4369205A2 (en) | 2024-05-15 |
JP2023021006A (ja) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572411B (zh) | 一种日志数据的处理方法及装置 | |
CN111368013B (zh) | 基于多账户的统一标识方法、系统、设备和存储介质 | |
CN111488285A (zh) | 接口测试方法、装置、电子设备及计算机可读存储介质 | |
CN110825436B (zh) | 应用于人工智能芯片的计算方法和人工智能芯片 | |
JP7182744B1 (ja) | ソフトウェア実体間のイベントの決定的再現 | |
CN107102950A (zh) | 一种应用程序测试方法和装置 | |
CN107133160B (zh) | 服务器和客户端 | |
CN108874441A (zh) | 一种板卡配置方法、装置、服务器和存储介质 | |
CN109657167B (zh) | 数据采集方法、装置、服务器及存储介质 | |
CN107733866A (zh) | Rpc请求、rpc请求处理方法、装置以及设备 | |
CN110515749B (zh) | 信息发送的队列调度的方法、装置、服务器和存储介质 | |
CN111813721B (zh) | 神经网络数据处理方法、装置、设备及存储介质 | |
CN116483584B (zh) | Gpu的任务处理方法、装置、电子设备和存储介质 | |
Lutter et al. | Using VHDL for simulation of SDL specifications | |
CN112148506A (zh) | 消息处理方法、装置、平台和存储介质 | |
CN115134254A (zh) | 一种网络模拟方法、装置、设备及存储介质 | |
CN109726181B (zh) | 一种数据处理方法及数据处理装置 | |
WO2020138386A1 (ja) | 以前のトレースデータを使用する協調シミュレーションリピータ | |
CN111831530A (zh) | 测试方法和装置 | |
CN107885659A (zh) | 对客户端的请求模拟响应的方法及装置、设备 | |
CN113722206A (zh) | 数据标注方法、装置、电子设备和计算机可读介质 | |
CN116389326A (zh) | 基于DoIP的协议、刷新测试方法、系统、设备及介质 | |
KR20170086760A (ko) | 에뮬레이션 기반의 포렌식 분석을 수행하는 전자 장치 및 그것을 이용하여 포렌식 분석을 수행하는 방법 | |
CN116737402A (zh) | 信息发送方法、电子设备和计算机可读介质 | |
CN113760348A (zh) | 代码打包方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220829 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220829 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220829 |
|
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: 20221025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7182744 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |