Patent attributes
A synchronization primitive provides robots with locks, monitors, semaphores, or other mechanisms for reserving temporary access to a shared limited set of resources required by the robots in performing different tasks. Through non-conflicting establishment of the synchronization primitives across the set of resources, robots can prioritize the order with which assigned tasks are completed and minimize wait times for resources needed to complete each of the assigned tasks, thereby maximizing the number of tasks simultaneously executed by the robots and optimizing task completion. The synchronization primitives and resulting resource allocation can be implemented with a centralized coordinator or with peer-to-peer robotic messaging, whereby private keys and blockchains secure the precedence and establishment of synchronization primitives by different robots. Moreover, synchronization primitives can be established with queues to further optimize the immediate and future allocation of resources to different robots.