Methods of conveying information using fixed sized packets
View Patent ↗Communication protocols, systems, and methods that facilitate communication between disaggregated elements, and also to devices adapted to function as such disaggregated elements, particularly across peer-to-peer (masterless) and include one or more unique features such as packet atomicity, blind ACKs, NAT bridging, locking, multicast spanning and mirroring, and authentication.
1. A method comprising:
generating, by a first device, a first packet having a data portion that is at least approximately equal in size to a native block size of a second device, which is smaller than a native block size of the first device, the first packet further having a first segment of a split identifier;
encapsulating the first packet into a data portion of a second packet, the second packet having a control portion with a second segment of the split identifier; and
transmitting, by the first device, the first and second packet to the second device over a network.
2. The method of claim 1 , wherein the first and second devices are storage devices.
3. The method of claim 1 , further comprising:
providing an authentication token within the control portion of the second packet.
4. The method of claim 1 , wherein the second segment corresponds to a storage area of the second device and the first segment corresponds to a storage block of the storage area.
5. The method of claim 4 , wherein the storage area is a partition of the second device.
6. The method of claim 5 , wherein the second segment is an internet protocol address and the first segment is a logical block address.
7. The method of claim 5 , further comprising:
providing a lock command, within the control portion of the second packet, to instruct the second device to prevent subsequent access to the storage block.
8. The method of claim 4 , further comprising:
providing a transfer command, within the control portion of the second packet, to transfer the data to the storage block.
9. The method of claim 1 , wherein said generating the first packet comprises:
generating an atomic packet with sufficient information, including a transfer command, to allow the transfer command to be executed by the second device without having to rely on information from any other packets.
10. The method of claim 1 , wherein said generating the first packet comprises generating an atomic packet.
11. An apparatus comprising:
a controller configured to generate a first packet having a data portion that is at least approximately equal in size to a native block size of a target device, which is smaller than a native block size of the apparatus, the first packet further having a first segment of a split identifier, the controller further configured to encapsulate the first packet into a data portion of a second packet, the second packet having a control portion with a second segment of the split identifier; and
a network interface coupled to the controller, and configured to transmit the packet to the target device across a network.
12. The apparatus of claim 11 , wherein the controller is further configured to:
provide an authentication token within the control portion of the second packet.
13. The apparatus of claim 11 , wherein the second segment corresponds to a storage area of the target device and the first segment corresponds to a storage block of the storage area.
14. The apparatus of claim 13 , wherein the storage area is a partition of the target device.
15. The apparatus of claim 14 , wherein the second segment is an internet protocol address and the first segment is a logical block address.
16. The apparatus of claim 13 , wherein the controller is further configured to:
provide a transfer command, within the control portion of the second packet, to transfer the data to the storage block; and
provide a lock command, within the control portion of the second packet, to instruct the target device to prevent subsequent access to the storage block.
17. The apparatus of claim 11 , wherein the controller is further configured to:
generate an atomic packet with sufficient information, including a transfer command, to allow the transfer command to be executed by the target device without having to rely on information from any other packets.
18. An apparatus comprising:
means for generating a first packet having a data portion that is at least approximately equal in size to a native block size of a target device, which is smaller than a native block size of the apparatus, the first packet further having a first segment of a split identifier;
means for encapsulating the first packet into a data portion of a second packet, the second packet having a control portion with a second segment of the split identifier and
means for transmitting the atomic packet to the target device over a network.
19. The apparatus of claim 18 , wherein the second segment corresponds to a storage area of the target device and the first segment corresponds to a storage block of the storage area.
20. The apparatus of claim 19 , wherein the storage area is a partition of the target device.
21. The apparatus of claim 20 , wherein the second segment is an internet protocol address and the first segment is a logical block address.