Reassembly of member cells into a packet comprises receiving an incoming member cell of a packet from a switching fabric wherein each member cell comprises a segment of the packet and a header, generating a reassembly key using selected information from the incoming member cell header wherein the selected information is the same for all member cells of the packet, checking a reassembly table in a content addressable memory to find an entry that includes a logic key matching the reassembly key, and using a content index in the found entry and a sequence number of the incoming member cell within the packet, to determine a location offset in a reassembly buffer area for storing the incoming member cell at said location offset in the reassembly buffer area for the packet for reassembly.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: generating, at a transmitter device, a data packet; and reducing latency associated with transport of the data packet from the transmitter device to a receiver device over a switched fabric network by: at a first networking switch: segmenting the data packet into multiple member cells for transport over the switched fabric network, wherein the multiple member cells comprise header information that is the same across all the multiple member cells; and at a second networking switch: reassembling the multiple member cells into a reassembled data packet for delivery to the receiver device by constructing a packet buffer context based on a context of a member cell of the multiple member cells received from the switch fabric network, generating a copy of the member cell without the header information, and placing the copy of the member cell in the packet buffer context, wherein the reassembled data packet is based on content of the packet buffer context.
2. The method of claim 1 , wherein each member cell includes a header and a segment of the data packet, and the header comprises the header information.
3. The method of claim 2 , wherein reassembling the multiple member cells comprises: constructing the packet buffer context in a reassembly buffer.
4. The method of claim 3 , wherein reassembling the multiple member cells further comprises: receiving one or more additional member cells of the multiple member cells from the switched fabric network; for each additional member cell received: determining whether a context of the additional member cell matches the packet buffer context; and in response to determining the context of the additional member cell matches the packet buffer context: generating a copy of the additional member cell without the header information; and placing the copy of the additional member cell in sequence in the first packet buffer context.
5. The method of claim 4 , wherein reassembling the multiple member cells further comprises: in response to receiving all member cells of the multiple member cells matching the packet buffer context, providing the content of the packet buffer context as the reassembled data packet for delivery to the receiver device.
6. The method of claim 5 , wherein reassembling the multiple member cells further comprises: maintaining a reassembly table comprising one or more entries corresponding to one or more data packets, wherein each entry comprises a logic key for a corresponding data packet and a content index into the reassembly buffer for storing member cells of the corresponding data packet.
7. The method of claim 6 , wherein reassembling the multiple member cells further comprises: for each member cell received: generating a reassembly key based on a header of the member cell; checking the reassembly table to find an entry that includes a logic key matching the reassembly key; and utilizing a content index in the found entry and a sequence number of the member cell to determine a location offset in the reassembly buffer for storing a copy of the member cell for reassembly.
8. A system comprising: at least one processor; and a non-transitory processor-readable memory device storing instructions that when executed by the at least one processor causes the at least one processor to perform operations including: generating, at a transmitter device, a data packet; and reducing latency associated with transport of the data packet from the transmitter device to a receiver device over a switched fabric network by: at a first networking switch: segmenting the data packet into multiple member cells for transport over the switched fabric network, wherein the multiple member cells comprise header information that is the same across all the multiple member cells; and at a second networking switch: reassembling the multiple member cells into a reassembled data packet for delivery to the receiver device by constructing a packet buffer context based on a context of a member cell of the multiple member cells received from the switch fabric network, generating a copy of the member cell without the header information, and placing the copy of the member cell in the packet buffer context, wherein the reassembled data packet is based on content of the packet buffer context.
9. The system of claim 8 , wherein each member cell includes a header and a segment of the data packet, and the header comprises the header information.
10. The system of claim 9 , wherein reassembling the multiple member cells comprises: constructing the packet buffer context in a reassembly buffer.
11. The system of claim 10 , wherein reassembling the multiple member cells further comprises: receiving one or more additional member cells of the multiple member cells from the switched fabric network; for each additional member cell received: determining whether a context of the additional member cell matches the first packet buffer context; and in response to determining the context of the additional member cell matches the packet buffer context: generating a copy of the additional member cell without the header information; and placing the copy of the additional member cell in sequence in the packet buffer context.
12. The system of claim 11 , wherein reassembling the multiple member cells further comprises: in response to receiving all member cells of the multiple member cells matching the packet buffer context, providing the content of the packet buffer context as the reassembled data packet for delivery to the receiver device.
13. The system of claim 12 , wherein reassembling the multiple member cells further comprises: maintaining a reassembly table comprising one or more entries corresponding to one or more data packets, wherein each entry comprises a logic key for a corresponding data packet and a content index into the reassembly buffer for storing member cells of the corresponding data packet.
14. The system of claim 13 , wherein reassembling the multiple member cells further comprises: for each member cell received: generating a reassembly key based on a header of the member cell; checking the reassembly table to find an entry that includes a logic key matching the reassembly key; and utilizing a content index in the found entry and a sequence number of the member cell to determine a location offset in the reassembly buffer for storing a copy of the member cell for reassembly.
15. A computer program product comprising a computer-readable storage medium having program code embodied therewith, the program code being executable by a computer to: generating, at a transmitter device, a data packet; and reducing latency associated with transport of the data packet from the transmitter device to a receiver device over a switched fabric network by: at a first networking switch: segmenting the data packet into multiple member cells for transport over the switched fabric network, wherein the multiple member cells comprise header information that is the same across all the multiple member cells; and at a second networking switch: reassembling the multiple member cells into a reassembled data packet for delivery to the receiver device by constructing a packet buffer context based on a context of a member cell of the multiple member cells received from the switch fabric network, generating a copy of the member cell without the header information, and placing the copy of the member cell in the packet buffer context, wherein the reassembled data packet is based on content of the packet buffer context.
16. The computer program product of claim 15 , wherein each member cell includes a header and a segment of the data packet, and the header comprises the header information.
17. The computer program product of claim 16 , wherein reassembling the multiple member cells comprises: constructing the packet buffer context in a reassembly buffer.
18. The computer program product of claim 17 , wherein reassembling the multiple member cells further comprises: receiving one or more additional member cells of the multiple member cells from the switched fabric network; for each additional member cell received: determining whether a context of the additional member cell matches the packet buffer context; and in response to determining the context of the additional member cell matches the packet buffer context: generating a copy of the additional member cell without the header information; and placing the copy of the additional member cell in sequence in the first packet buffer context.
19. The computer program product of claim 18 , wherein reassembling the multiple member cells further comprises: in response to receiving all member cells of the multiple member cells matching the packet buffer context, providing the content of the packet buffer context as the reassembled data packet for delivery to the receiver device.
20. The computer program product of claim 19 , wherein reassembling the multiple member cells further comprises: maintaining a reassembly table comprising one or more entries corresponding to one or more data packets, wherein each entry comprises a logic key for a corresponding data packet and a content index into the reassembly buffer for storing member cells of the corresponding data packet; and for each member cell received: generating a reassembly key based on a header of the member cell; checking the reassembly table to find an entry that includes a logic key matching the reassembly key; and utilizing a content index in the found entry and a sequence number of the member cell to determine a location offset in the reassembly buffer for storing a copy of the member cell for reassembly.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 30, 2017
March 3, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.