Reducing delays in a communication network using a re-fragmentation pipeline
First Claim
Patent Images
1. A method to reduce delay in a communication network, the method comprising:
- (a) receiving a packet from a first data link for transmission to a second data link; and
(b) pipelining data of the received packet via a refragmentation pipeline, comprising;
(b1) adding the received packet to a re-assembly buffer, (b2) removing data from the re-assembly buffer if an amount of data in the re-assembly buffer is equal to or greater than a fragment size of the second data link, and (b3) emptying the re-assembly buffer if the received packet is a begin packet.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are described to reduce delay in a communication network. A fragmentation unit re-assembles a packet received from a first data link. A refragmentation pipeline is coupled to the fragmentation unit to pipeline the re-assembled data for transmission to a second data link.
70 Citations
31 Claims
-
1. A method to reduce delay in a communication network, the method comprising:
-
(a) receiving a packet from a first data link for transmission to a second data link; and
(b) pipelining data of the received packet via a refragmentation pipeline, comprising;
(b1) adding the received packet to a re-assembly buffer, (b2) removing data from the re-assembly buffer if an amount of data in the re-assembly buffer is equal to or greater than a fragment size of the second data link, and (b3) emptying the re-assembly buffer if the received packet is a begin packet. - View Dependent Claims (2, 3, 4, 5)
(a1) storing the packet in a receive queue;
(a2) determining if the received packet is forwarded to the second data link; and
(a3) determining if the second data link is configured for fragmentation.
-
-
3. The method of claim 1 wherein (b) further comprises:
(b4) creating a data segment for transmission to the second data link.
-
4. The method of claim 3 wherein (b) further comprises:
(b5) creating a data segment for transmission using data remaining in the re-assembly buffer if the received packet is an end packet.
-
5. The method of claim 1 wherein (a) further comprises:
(a4) discarding remaining data in the re-assembly buffer if there is an error in the received packet.
-
6. An apparatus to reduce delay in a communication network, the apparatus comprising:
-
a fragmentation unit to re-assemble a packet received from a first data link, the fragmentation unit comprising a re-assembly buffer to store the received packet; and
a refragmentation pipeline coupled to the fragmentation unit to pipeline the re-assembled data for transmission to a second data link;
wherein the re-assembly buffer transfers data to the refragmentation pipeline if an amount of data in the re-assembly buffer is equal to or greater than a fragment size of the second data link, and is emptied if the received packet is a begin packet.- View Dependent Claims (7, 8, 9, 10, 11, 12)
a receive queue coupled to the fragmentation unit to receive the packet.
-
-
8. The apparatus of claim 7 wherein the receive queue transfers the received packet to the re-assembly buffer.
-
9. The apparatus of claim 8 wherein the data in the re-assembly buffer is transferred to the refragmentation pipeline in overlap with the received packet being transferred from the receive queue to the re-assembly buffer.
-
10. The apparatus of claim 9 wherein the re-assembly buffer is emptied if the received packet is a begin packet.
-
11. The apparatus of claim 10 wherein a final segment for transmission to the second data link is created from data in the re-assembly buffer if the received packet is an end packet.
-
12. The apparatus of claim 9 wherein data in the re-assembly buffer is discarded if the received packet has an error.
-
13. A computer program product comprising:
-
a computer usable medium having computer program code embodied therein for reducing delay in a communication network, the computer program product having;
(a) computer readable program code for receiving a packet from a first data link for transmission to a second data link; and
(b) computer readable program code for pipelining data of the received packet via a refragmentation pipeline, the computer readable program code for pipelining comprising;
(b1) computer readable program code for adding the received packet to a re-assembly buffer, (b2) computer readable program code for removing data from the re-assembly buffer if an amount of data in the re-assembly buffer is equal to or greater than a fragment size of the second data link, (b3) computer readable program code for emptying the re-assembly buffer if the received packet is a begin packet. - View Dependent Claims (14, 15, 16, 17)
(a1) computer readable program code for storing the packet in a receive queue;
(a2) computer readable program code for determining if the received packet is forwarded to the second data link; and
(a3) computer readable program code for determining if the second data link is configured for fragmentation.
-
-
15. The computer program product of claim 13 wherein (b) further comprises:
(b4) computer readable program code for creating a data segment for transmission to the second data link.
-
16. The computer program product of claim 15 wherein (b) further comprises:
(b5) computer readable program code for creating a data segment for transmission using data remaining in the re-assembly buffer if the received packet is an end packet.
-
17. The computer program product of claim 16 wherein (a) further comprises:
(a4) computer readable program code for discarding remaining data in the re-assembly buffer if there is an error in the received packet.
-
18. A system comprising:
-
first and second network interfaces for receiving and transmitting data over a communication network via first and second data links, respectively;
a processing unit coupled to the first and second network interfaces to reduce delay in data transmission in the communication network, the processing unit comprising;
a fragmentation unit coupled to the first network interface to re-assemble a packet received from the first data link, the fragmentation unit comprising a re-assembly buffer to store the received packet, and a refragmentation pipeline coupled to the fragmentation unit to pipeline the re-assembled data for transmission to a second data link;
wherein the re-assembly buffer transfers data to the refragmentation pipeline if an amount of data in the re-assembly buffer is equal to or greater than a fragment size of the second data link and is emptied if the received packet is a begin packet.- View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. An apparatus to reduce delay in a communication network, the apparatus comprising:
-
a fragmentation means to re-assemble a packet received from a first data link, the fragmentation means comprising a re-assembly buffer means to store the received packet; and
a refragmentation pipeline means coupled to the fragmentation means to pipeline the re-assembled data for transmission to a second data link;
wherein the re-assembly buffer means transfers data to the refragmentation pipeline means if an amount of data in the re-assembly buffer means is equal to or greater than a fragment size of the second data link and is emptied if the received packet is a begin packet.- View Dependent Claims (26, 27, 28, 29, 30, 31)
a receive queue means coupled to the fragmentation means to receive the packet.
-
-
27. The apparatus of claim 26 wherein the receive queue means transfers the received packet to the re-assembly buffer.
-
28. The apparatus of claim 27 wherein the data in the re-assembly buffer means is transferred to the refragmentation pipeline means in overlap with the received packet being transferred from the receive queue means to the re-assembly buffer means.
-
29. The apparatus of claim 28 wherein the re-assembly buffer means is emptied if the received packet is a begin packet.
-
30. The apparatus of claim 29 wherein a final segment for transmission to the second data link is created from data in the re-assembly buffer means if the received packet is an end packet.
-
31. The apparatus of claim 28 wherein data in the re-assembly buffer means is discarded if the received packet has an error.
Specification