Synchronous data communication
AssigneeIntuitive Surgical Operations, Inc.
InventorsMichael B. Druke, Christopher J. Jacques
Life of this patent
Estimating the term…
Abstract
Methods, apparatus, and computer program products that synchronously communicate data packets between a first node and a second node. Data packets are transmitted from the first node without waiting for acknowledgment of receipt by the second node. Acknowledgment of receipt of a given data packet is subsequently received at the first node. The acknowledgement is received substantially at a predetermined time following transmission of the given data packet. The acknowledgement indicates that the second node received the given data packet uncorrupted.
Claims32
A method comprising:
- transmitting a first data packet from a first node to a second node, the first data packet including a first data field including non-filler data from the first node;
- receiving the first data packet at the second node, the receipt of the first packet taking a finite amount of time;
- beginning transmission of a second data packet from the second node to the first node after the receipt of the first data packet has begun, but before the receipt of the first data packet has finished;
- receiving the second data packet at the first node, the receipt of the second data packet taking a finite amount of time;
- beginning transmission of a third data packet from the first node to the second node after the transmission of the first data packet has finished, after the receipt of the second data packet has begun, and before the receipt of the second data packet has finished, the transmission of the third data packet beginning before any acknowledgement information corresponding to the first data packet has been received from the second node;
- receiving the third data packet at the second node, the receipt of the third data packet taking a finite amount of time;
- beginning transmission of a fourth data packet from the second node to the first node after the transmission of the second data packet has finished, after the receipt of the third data packet has begun, and before the receipt of the third data packet has finished, the transmission of the fourth data packet beginning before any acknowledgement information corresponding to the second data packet has been received from the first node, the fourth data packet including acknowledgement information indicating whether the first data packet was received correctly by the second node, wherein the transmission of the first data packet and the transmission of the fourth data packet are interlocked such that the fourth data packet is transmitted substantially a predetermined amount of time after the transmission of the first data packet;
- receiving the fourth packet at the first node;
- and
- processing at the first node the acknowledgement information indicating whether the first data packet was received correctly, the first node retransmitting the first data packet if the first data packet was not received correctly at the second node.
A robotic surgical system comprising:
- a first node and a second node, wherein the first node and the second node are configured for communicating data packets between each other, and wherein communicating data packets comprises:
- transmitting a first data packet from the first node to the second node, the first data packet including a first data field including non-filler data from the first node;
- receiving the first data packet at the second node, the receipt of the first packet taking a finite amount of time;
- beginning transmission of a second data packet from the second node to the first node after the receipt of the first data packet has begun, but before the receipt of the first data packet has finished;
- receiving the second data packet at the first node, the receipt of the second data packet taking a finite amount of time;
- beginning transmission of a third data packet from the first node to the second node after the transmission of the first data packet has finished, after the receipt of the second data packet has begun, and before the receipt of the second data packet has finished, the transmission of the third data packet beginning before any acknowledgement information corresponding to the first data packet has been received from the second node;
- receiving the third data packet at the second node, the receipt of the third data packet taking a finite amount of time;
- beginning transmission of a fourth data packet from the second node to the first node after the transmission of the second data packet has finished, after the receipt of the third data packet has begun, and before the receipt of the third data packet has finished, the transmission of the fourth data packet beginning before any acknowledgement information corresponding to the second data packet has been received from the first node, the fourth data packet including acknowledgement information indicating whether the first data packet was received correctly by the second node, wherein the transmission of the first data packet and the transmission of the fourth data packet are interlocked such that the fourth data packet is transmitted substantially a predetermined amount of time after the transmission of the first data packet;
- receiving the fourth packet at the first node;
- and
- processing at the first node the acknowledgement information indicating whether the first data packet was received correctly, the first node retransmitting the first data packet if the first data packet was not received correctly at the second node.
Dependencies are inferred from the claim text.