IP Library Granted Patent US 7,757,028
Granted Patent B2
US 7,757,028 · App. 11/480,282 · Granted Jul 13, 2010

Multi-priority messaging

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 7,757,028
App. No.
11/480,282
Granted
Jul 13, 2010
Kind
B2
Abstract

Methods, systems, and computer program products for transmitting first-priority data and second-priority data. The first-priority data and second-priority data are stored in separate data buffers, and the first-priority data is transmitted preferentially over the second-priority data.

Claims (67)

1. A robot-assisted surgical system comprising:

a plurality of nodes, each node coupled to at least one other node with a serial data link, the serial data link being configured to transfer data having different priority types between the respective nodes, each node including:

a programmable processor operable to execute instructions;

a first data buffer coupled to the programmable processor, the programmable processor being operable to transfer first-priority data received by the node over a first serial data link to the first data buffer responsive to the instructions, the first data buffer being for use with only the first-priority data, the first-priority data being messages having been assigned a first priority type and including surgical control commands of the robot-assisted surgical system;

a second data buffer coupled to the programmable processor, the programmable processor being operable to transfer second-priority data received by the node over the first serial data link to the second data buffer responsive to the instructions, the second data buffer being for use with only the second-priority data, the second-priority data being messages having been assigned a second priority type and including non-critical system communications of the robot-assisted surgical system; and

transmission logic coupled to the first and second buffers and to the serial data link, the transmission logic being operable to transmit the first-priority data preferentially over the second-priority data over the serial data link in accordance with a messaging protocol.

2. The robot-assisted surgical system of claim 1 , wherein:

the first-priority data includes commands to control the movement of a robotic arm; and

the second-priority data includes at least one of non-critical status information and error-logging information.

3. The robot-assisted surgical system of claim 1 , further comprising:

a third data buffer coupled to the programmable processor, the programmable processor being operable to transfer third-priority data to the third data buffer responsive to the instructions, the third data buffer being for use with only the third-priority data, wherein the first-priority data is high-priority data, the second-priority data is low-priority data, and the third-priority data is medium-priority data.

4. The robot-assisted surgical system of claim 3 , wherein:

the messaging protocol requires that the transmission logic transmit the first-priority data from the first data buffer preferentially over the second-priority data from the second data buffer.

5. The robot-assisted surgical system of claim 4 , wherein:

the messaging protocol further requires that the transmission logic transmit the first-priority data from the first data buffer preferentially over the third-priority data from the third data buffer.

6. The robot-assisted surgical system of claim 5 , wherein:

the messaging protocol further requires that the transmission logic transmit the third-priority data from the third data buffer preferentially over the second-priority data from the second data buffer.

7. The robot-assisted surgical system of claim 4 , wherein:

transmitting the first-priority data preferentially over the second-priority data includes transmitting any available first-priority data before any available second-priority data.

8. The robot-assisted surgical system of claim 4 , wherein:

transmitting the first-priority data preferentially over the second-priority data includes allocating more transmit slots to available first-priority data than to available second-priority data.

9. The robot-assisted surgical system of claim 1 , wherein the programmable processor includes the transmission logic.

10. A method comprising:

providing a robot-assisted surgical system that includes a plurality of nodes, the plurality of nodes including at least a transmit node coupled by a serial data link to a receive node, the serial data link being configured to transfer data having different priority types between the transmit node and the receive node, and at the transmit node:

generating first-priority data and second-priority data, the first-priority data being message data having been assigned a first priority type and associated with critical surgical command messages, and the second-priority data being message data having been assigned a second priority type and associated with non-critical messages;

placing the first-priority data in a first data buffer, the first data buffer being for use with only first-priority data;

placing the second-priority data in a second data buffer, the second data buffer being for use with only second-priority data; and

transmitting the first-priority data and the second-priority data from the first and second data buffers over the serial data link to the receive node, the first-priority data being transmitted preferentially over the second-priority data in accordance with a messaging protocol.

11. The method of claim 10 , further comprising, at the transmit node:

generating third-priority data, wherein the first-priority data is high-priority data, the second-priority data is low-priority data, and the third-priority data is medium-priority data;

placing the third-priority data in a third data buffer, the third data buffer being for use with only third-priority data; and

transmitting the third-priority data from the third data buffer over the serial data link, the first-priority data being transmitted preferentially over the third-priority data, the third-priority data being transmitted preferentially over the second-priority data.

12. The method of claim 10 , further comprising, at the transmit node:

identifying the messaging protocol, wherein identifying the messaging protocol includes selecting a particular messaging protocol to provide a specified quality of service for messages of different priority types.

13. The method of claim 10 , wherein:

transmitting the first-priority data preferentially over the second-priority data includes transmitting any available first-priority data before any available second-priority data.

14. The method of claim 10 , wherein:

transmitting the first-priority data preferentially over the second-priority data includes allocating more transmit slots to available first-priority data than to available second-priority data.

15. The method of claim 10 , wherein:

the first-priority data includes time-critical messages.

16. The method of claim 10 , wherein:

the second-priority data includes at least one of non-critical status information and error-logging information.

17. A computer program product, tangibly embodied on a computer-readable storage medium included in a transmit node of a robot-assisted surgical system, the transmit node coupled by a serial data link to a receive node, the serial data link being configured to transfer data having different priority types between the transmit node and the receive node, the computer-readable medium comprising instructions operable to cause a programmable processor to perform the operations of:

generating first-priority data and second-priority data, the first-priority data being message data having a first priority type and associated with critical surgical command messages and the second-priority data being message data having a second priority type and associated with non-critical messages;

placing the first-priority data in a first data buffer, the first data buffer being for use with only first-priority data;

placing the second-priority data in a second data buffer, the second data buffer being for use with only second-priority data; and

transmitting the first-priority data and the second-priority data from the first and second data buffers over a same serial data link to the receive node, the first-priority data being transmitted preferentially over the second-priority data in accordance with a messaging protocol.

18. The computer program product of claim 17 , further comprising instructions operable to perform the operations of:

generating third-priority data, wherein the first-priority data is high-priority data, the second-priority data is low-priority data, and the third-priority data is medium-priority data;

placing the third-priority data in a third data buffer, the third data buffer being for use with only third-priority data; and

transmitting the third-priority data from the third data buffer over the serial data link, the first-priority data being transmitted preferentially over the third-priority data, the third-priority data being transmitted preferentially over the second-priority data.

19. The computer program product of claim 17 , further comprising instructions operable to perform the operations of:

identifying the messaging protocol, wherein identifying the messaging protocol includes selecting a particular messaging protocol to provide a specified quality of service for messages of different priority types.

20. The computer program product of claim 17 , wherein:

transmitting the first-priority data preferentially over the second-priority data includes transmitting any available first-priority data before any available second-priority data.

21. The computer program product of claim 17 , wherein:

transmitting the first-priority data preferentially over the second-priority data includes allocating more transmit slots to available first-priority data than to available second-priority data.

22. The computer program product of claim 17 , wherein:

the first-priority data includes time-critical messages.

23. The computer program product of claim 17 , wherein:

the second-priority data includes at least one of non-critical status information and error-logging information.

24. The method of claim 10 , wherein transmitting the first-priority data and second-priority data includes transmitting data as the data is available without waiting for an entire message to be written into a data buffer.

25. The system of claim 1 , wherein the programmable processor determines a priority of data using channel indication hardware-level packets.

26. A method of providing patient safety in a robot-assisted surgical system comprising:

receiving multiple messages, at a first node of a plurality of nodes in a robot-assisted surgical system, wherein the multiple messages are generated within the robot-assisted surgical system and are associated with operating the robot-assisted surgical system, the multiple messages being received over a serial data link and including one or more messages having been assigned a different priority type than the priority type of other received messages, the serial data link being configured to transfer messages having different priority types between the respective nodes of the robot-assisted surgical system;

determining a priority for each received message according to the assigned priority type of the message, the determined priority being a first-priority for messages associated with controlling movement of a robotic arm in the robot-assisted surgical system, and the determined priority being a second-priority for messages not associated with controlling movement of a robotic arm in the robot-assisted surgical system; and

transmitting the designated first-priority messages preferentially over the designated second-priority messages, the transmitting over the serial data link from the first node in accordance with a messaging protocol.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2010
From: INTUITIVE SURGICAL, INC.
To: INTUITIVE SURGICAL OPERATIONS, INC.
Reel/Frame 024468/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2006
From: DRUKE, MICHAEL B.; GRAVES, PHILIP L.; WALKER, THEODORE C.
To: INTUITIVE SURGICAL INC.
Reel/Frame 018272/0115 →