Multi-priority messaging

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.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A is a block diagram of a system that includes multiple nodes connected by links.



FIG. 1B is a block diagram of a single node.



FIG. 1C is a flowchart of a transmit process performed at a node.



FIG. 2 is a diagram of the structure of a hardware-level data packet.



FIG. 3 is a timing diagram of packet transmission between nodes.



FIG. 4 is a timing diagram of an error recovery scenario.



FIG. 5 is a timing diagram of an error recovery scenario.



FIG. 6 is a flowchart of a process performed at a node.



FIG. 7 is a diagram of the structure of a message.



FIG. 8 is a diagram of the structure of a message.


Claims
  • 1. A robot-assisted surgical system comprising: 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 to the first data buffer responsive to the instructions, the first data buffer being for use with only the first-priority data;a second data buffer coupled to the programmable processor, the programmable processor being operable to transfer second-priority data to the second data buffer responsive to the instructions, the second data buffer being for use with only the second-priority data;a data link; andtransmission logic coupled to the first and second buffers and to the data link, the transmission logic being operable to transmit the first-priority data preferentially over the second-priority data over the 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; andthe 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 5the 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 data-processing apparatus 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 data-processing apparatus 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 data-processing apparatus 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 data link to a receive node, and at the transmit node: generating first-priority data and second-priority data;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; andtransmitting the first-priority data and the second-priority data from the first and second data buffers over the data link, the first-priority data being transmitted preferentially over the second-priority data.
  • 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; andtransmitting the third-priority data from the third data buffer over the 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 a messaging protocol, wherein transmitting preferentially includes transmitting preferentially in accordance with the messaging protocol.
  • 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 medium included in a transmit node of a robot-assisted surgical system, the transmit node coupled by a data link to a 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;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; andtransmitting the first-priority data and the second-priority data from the first and second data buffers over a same data link, the first-priority data being transmitted preferentially over the second-priority data.
  • 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; andtransmitting the third-priority data from the third data buffer over the 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 a messaging protocol, wherein transmitting preferentially includes transmitting preferentially in accordance with the messaging protocol.
  • 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.
Provisional Applications (1)
Number Date Country
60753991 Dec 2005 US