US 12,131,203 B2
Deterministic replay of events between software entities
Michael Pöhnl, Wurmberg (DE); Alban Tamisier, Buchloe (DE); and Misha Shalem, Zichron Yaakov (IL)
Assigned to APEX.AI, INC., Palo Alto, CA (US)
Filed by APEX.AI, INC., Palo Alto, CA (US)
Filed on Jun. 16, 2022, as Appl. No. 17/842,010.
Application 17/842,010 is a continuation of application No. 17/389,077, filed on Jul. 29, 2021, granted, now 11,366,705.
Prior Publication US 2023/0032237 A1, Feb. 2, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/54 (2006.01); G06F 3/06 (2006.01); G06F 9/48 (2006.01); G06F 11/34 (2006.01); G06F 11/36 (2006.01)
CPC G06F 9/542 (2013.01) [G06F 9/4887 (2013.01); G06F 9/546 (2013.01); G06F 11/3414 (2013.01); G06F 11/362 (2013.01); G06F 11/3636 (2013.01); G06F 3/0659 (2013.01); G06F 9/4875 (2013.01); G06F 11/3476 (2013.01); G06F 2209/548 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method comprising using at least one hardware processor to deterministically replay a recording of events, between a plurality of software entities within a sensor or control system of a vehicle or robot, in which the plurality of software entities represent nodes in a graph and events represent edges in the graph, by, for each of one or more events in the recording:
play the event;
enqueue any of the plurality of software entities, that are stimulated by the event, into a queue; and,
until the queue is empty,
remove and execute a software entity at a front of the queue,
play all events outputted by the executed software entity, and
enqueue any of the plurality of software entities, that are stimulated by the played events outputted by the executed software entity, into the queue,
wherein no events are played during execution of any of the plurality of software entities, and no software entity is executed during execution of any other one of the plurality of software entities.