US 11,656,923 B2
Systems and methods for inter-process communication within a robot
David Allison, San Ramon, CA (US); Nathan Pooley, Los Altos, CA (US); and Craig Latimer, Lafayette, CA (US)
Assigned to X Development LLC, Mountain View, CA (US)
Filed by X Development LLC, Mountain View, CA (US)
Filed on Aug. 3, 2022, as Appl. No. 17/880,207.
Application 17/880,207 is a continuation of application No. 17/168,129, filed on Feb. 4, 2021, granted, now 11,436,063.
Application 17/168,129 is a continuation of application No. 16/890,354, filed on Jun. 2, 2020, granted, now 10,922,154, issued on Feb. 16, 2021.
Prior Publication US 2022/0374295 A1, Nov. 24, 2022
Int. Cl. G06F 9/44 (2018.01); G06F 9/54 (2006.01)
CPC G06F 9/544 (2013.01) [G06F 9/546 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
creating a publisher associated with a robot, wherein the publisher is configured to send messages over a channel having a shared memory, wherein the shared memory comprises a plurality of sequentially-related memory slots, and wherein each sent message sequentially occupies a memory slot of the plurality of memory slots;
creating a plurality of subscribers associated with a plurality of different tasks of the robot;
determining, based on an indicator associated with a next sequential memory slot in the plurality of memory slots, that the next sequential memory slot is currently referenced by a given sub scriber;
determining whether to delay sending a message to the next sequential memory slot based on a task of the robot associated with the given subscriber; and
sending, by the publisher, the message to the next sequential memory slot in accordance with determining whether to delay sending the message.