IP Library › Granted Patent US 11,971,905
Granted Patent B2
US 11,971,905 · App. 18/309,711 · Granted Apr 30, 2024

Systems and methods for synchronizing nodes of a robotic system

Inventors: Brian D. Hoffman (Mountain View, CA); Joshua Radel (Menlo Park, CA)
Assignee: INTUITIVE SURGICAL OPERATIONS, INC.
G06F16/27A61B34/00A61B34/37G06F9/542G06F16/2365G06F16/2379G06F16/273
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,971,905
App. No.
18/309,711
Granted
Apr 30, 2024
Kind
B2
Abstract

A synchronization system node may comprise one or more processors and a synchronization database. The synchronization database may comprise a subscriber list of a plurality of subscribers, a first buffer including a plurality of attributes in a first state, and a second buffer including the plurality of attributes in a second state. The node may be configured to receive updates for one or more of the plurality of attributes and store, to the first buffer, the updates for the one or more of the plurality of attributes to update the plurality of attributes of the first buffer to an updated first state. While receiving the updates from the publisher, the nod may publish, from the second buffer to a first subscriber of the plurality of subscribers, one or more of the plurality of attributes in the second state.

Claims (44)

1. A synchronization system node comprising:

one or more processors; and

a synchronization database, the synchronization database comprising:

a subscriber list of a plurality of subscribers,

a first buffer including a plurality of attributes in a first state and

a second buffer including the plurality of attributes in a second state,

wherein the node is configured to:

receive, from a publisher of the synchronization system, updates for one or more of the plurality of attributes;

store, to the first buffer, the updates for the one or more of the plurality of attributes to update the plurality of attributes of the first buffer to an updated first state; and

while receiving the updates from the publisher, publish, from the second buffer to a first subscriber of the plurality of subscribers, one or more of the plurality of attributes in the second state.

2. The synchronization system node of claim 1 , wherein the node is further configured to:

recognize when storing the updates to the first buffer is complete;

responsive to the completion of the storing, transfer the plurality of attributes in the updated first state from the first buffer to the second buffer; and

responsive to the completion of the storing, transfer the plurality of attributes in the second state from the second buffer to the first buffer.

3. The synchronization system node of claim 2 , wherein the node is further configured to:

publish to the first subscriber of the plurality of subscribers one or more of the plurality of attributes in the updated first state from the second buffer.

4. The synchronization system node of claim 1 , wherein receiving the updates for one or more of the plurality of attributes includes receiving a series of packets comprising the updates.

5. The synchronization system node of claim 4 , wherein each packet of the series of packets includes a header comprising an indicator of the packet's order in the series of packets.

6. The synchronization system node of claim 5 , wherein the node is further configured to recognize that the storing of the updates is complete if the indicator in the header is an end designation.

7. The synchronization system node of claim 1 , wherein each attribute of the plurality of attributes includes data and a tag identifying the attribute.

8. The synchronization system node of claim 1 , wherein the node is a component of a robot-assisted surgical system.

9. The synchronization system node of claim 8 , wherein the node is a unit controller, a dispatcher, a manipulator, a supervisor, a video subsystem, or a user interface of the robot-assisted surgical system.

10. The synchronization system node of claim 8 , wherein the node is a link in a kinematic chain, an actuator, a sensor, or a subgroup of the robot-assisted surgical system.

11. A method performed by a synchronization system node, the method comprising:

maintaining a subscriber list of a plurality of subscribers;

maintaining a first buffer including a plurality of attributes in a first state;

maintaining a second buffer including the plurality of attributes in a second state;

receiving updates for one or more of the plurality of attributes;

storing, to the first buffer of the node, the updates for the one or more of the plurality of attributes to update the plurality of attributes of the first buffer to an updated first state; and

while receiving the updates, publish, to a first subscriber of the plurality of subscribers, one or more of the plurality of attributes in the second state from the second buffer.

12. The method of claim 11 , further comprising:

recognizing that storing the updates to the first buffer is complete;

responsive to the completion of the storing, transferring the plurality of attributes in the updated first state from the first buffer to the second buffer; and

responsive to the completion of the storing, transferring the plurality of attributes in the second state from the second buffer to the first buffer.

13. The method of claim 12 , further comprising:

publishing to the first subscriber of the plurality of subscribers one or more of the plurality of attributes in the updated first state from the second buffer.

14. The method of claim 11 , wherein receiving updates for one or more of the plurality of attributes includes receiving a series of packets comprising the updates.

15. The method of claim 14 , wherein each packet of the series of packets includes a header comprising an indicator of the packet's order in the series of packets.

16. The method of claim 15 , further comprising:

recognizing that the storing of the updates is complete when the indicator in the header is an end designation.

17. The method of claim 11 , wherein each attribute of the plurality of attributes includes data and a tag identifying the attribute.

18. The method of claim 11 , wherein the node is a component of a robot-assisted surgical system.

19. The method of claim 18 , wherein the node is a unit controller, a dispatcher, a manipulator, a supervisor, a video subsystem, or a user interface of the robot-assisted surgical system.

20. The method of claim 18 , wherein the node is a link in a kinematic chain, an actuator, a sensor, or a subgroup of the robot-assisted surgical system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2023
From: HOFFMAN, BRIAN D.; RADEL, JOSHUA
To: INTUITIVE SURGICAL OPERATIONS, INC.
Reel/Frame 064115/0612 →
Continuity (6)
Continuation 16795162 · Feb 19, 2020
Continuation 15814214 · Nov 15, 2017
Continuation 15242408 · Aug 19, 2016
Continuation 14181499 · Feb 14, 2014
Provisional Application 61765559 · Feb 15, 2013
Related Publication 20230289366A1 · Sep 14, 2023