Method and a device for resequencing
First Claim
1. A method of transferring data packets from input ports to output ports in a network, in which data packet transfers can require time periods of varying lengths and there is a first category comprising all input ports and a second category comprising all output ports comprising the steps of:
- when a data packet arrives at an input port, inserting a sequential number into the arrived data packet, the sequential number indicating a sequential position of the arrived data packet;
feeding data packets in a correct sequential order from an output port based on the sequential number of each arrived data packet that has been transferred to the output port;
in at least one of the categories of ports, establishing a list comprising records, wherein each record comprises an address associated with a respective arrived data packet and a current sequential number associated with a next data packet that has the same address and is next to arrive at the input port or is to be transferred to the output port, respectively;
the records comprise different addresses and only addresses associated with data packets that have latest arrived at the input port or have been latest transferred to the output port, respectively; and
performing at least one of the following steps;
where a time period for transferring a data packet through the network from an input port to an output port is always smaller than a predetermined time period, restricting a list in an output port to a limited number of records, the limited number of records being larger than a smallest number that allows, considering the predetermined time period, a resequencing of data packets transferred to the output port;
removing a record from the list in the output port when no data packet associated with the address of the record has arrived at an input port during the predetermined time period.
1 Assignment
0 Petitions
Accused Products
Abstract
In a data packet network, packets are transferred from input ports to output ports. Packet transfers can require time periods of different lengths because data packets, as they are transported in the network, pass through units where they are subjected to processing. In each input port, a list is established of current combinations of source addresses and destination addresses for the data packets that have arrived at the input port. The list includes the current sequential number for data packets having this combination. This list is restricted or limited so that it includes only a small number of records. When a data packet is received by an input port, and the source address and destination address of the dam packet are not already in the list, the record in the list that has been inactive for the longest time period is overwritten, thereby erasing the corresponding sequential number. When a message having the same source address and destination address arrives again, the sequential number is restarted. At the same time, a flag is set in the packet, indicating the restart. Further, those records that have been inactive during some predetermined time period are removed from the list. Also, in the output port there is a similar list that is reduced to avoid long search times. If a record in the list in an output port has been inactive for a sufficiently long time, it can be removed from the list, since then the corresponding record is already removed in the list in the input port.
-
Citations
28 Claims
-
1. A method of transferring data packets from input ports to output ports in a network, in which data packet transfers can require time periods of varying lengths and there is a first category comprising all input ports and a second category comprising all output ports comprising the steps of:
-
when a data packet arrives at an input port, inserting a sequential number into the arrived data packet, the sequential number indicating a sequential position of the arrived data packet; feeding data packets in a correct sequential order from an output port based on the sequential number of each arrived data packet that has been transferred to the output port; in at least one of the categories of ports, establishing a list comprising records, wherein each record comprises an address associated with a respective arrived data packet and a current sequential number associated with a next data packet that has the same address and is next to arrive at the input port or is to be transferred to the output port, respectively;
the records comprise different addresses and only addresses associated with data packets that have latest arrived at the input port or have been latest transferred to the output port, respectively; andperforming at least one of the following steps; where a time period for transferring a data packet through the network from an input port to an output port is always smaller than a predetermined time period, restricting a list in an output port to a limited number of records, the limited number of records being larger than a smallest number that allows, considering the predetermined time period, a resequencing of data packets transferred to the output port; removing a record from the list in the output port when no data packet associated with the address of the record has arrived at an input port during the predetermined time period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of transferring data packets from input ports to output ports in a network, in which data packet transfers can require time periods of varying lengths and there is a first category comprising all input ports and a second category comprising all output ports comprising the steps of:
-
when a data packet arrives at an input port, inserting a sequential number into the arrived data packet, the sequential number indicating a sequential position of the arrived data packet; feeding data packets in a correct sequential order from an output port based on the sequential number of each arrived data packet that has been transferred to the output port; in at least one of the categories of ports, establishing a list comprising records, wherein each record comprises an address associated with a respective arrived data packet and a current sequential number associated with a next data packet that has the same address and is next to arrive at the input port or is to be transferred to the output port, respectively;
the records comprise different addresses and only addresses associated with data packets that have latest arrived at the input port or have been latest transferred to the output port, respectively; andperforming at least one of the following steps; where a time period between data packets transferred from an input port into the network is always larger than a predetermined time interval, restricting a list in an input port to a limited number of records, the limited number of records being larger than a smallest number that prevents a data packet that arrives at the input port and is not associated with a record in the list in the input port from being transferred to an output port in the network before a previous data packet that is transferred to a same output port and is associated with a same address has been transferred through the network to the output port; removing a record from the list in an input port when no dam packet associated with the address of the record has arrived at the input port during a predetermined time period. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A network for transferring data packets from input ports to output ports of the network, in which data packet transfers require time periods of different lengths and there is a first category comprising all input ports and a second category comprising all output ports comprising:
-
means for inserting, into a data packet arrived at an input port, a sequential number indicating a sequential position of the arrived dam packet; in an output port, means for forwarding arrived data packets that have been transferred to the output port, the transferred data packets being forwarded in a correct sequential order based on the sequential numbers of the transferred data packets; in at least one of the categories of ports, means for establishing a list comprising records, wherein each record comprises an address associated with a respective arrived data packet and a current sequential number associated with a next data packet associated with the same address that is next to arrive at the input port or is to be transferred to the output port, respectively; and
the records comprise different addresses and only addresses associated with data packets that have latest arrived at the input port or have been latest transferred to the output port, respectively;a memory, in communication with the establishing means, for storing each list; and further comprising at least one of; means for restricting a list in an output port to a limited number of records, the number of records being larger than a smallest number that allows a resequencing of data packets transferred to the output port; arranging means in the establishing means for monitoring each record in the list in an output port to remove from the list a record when no data packet associated with the address of the record has arrived at the input port during the predetermined time period. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A network for transferring data packets from input ports to output ports of the network, in which data packet transfers require time periods of different lengths and there is a first category comprising all input ports and a second category comprising all output ports comprising:
-
means for inserting, into a data packet arrived at an input port, a sequential number indicating a sequential position of the arrived data packet; in an output port, means for forwarding arrived data packets that have been transferred to the output port, the transferred data packets being forwarded in a correct sequential order based on the sequential numbers of the transferred data packets; in at least one of the categories of ports, means for establishing a list comprising records, wherein each record comprises an address associated with a respective arrived data packet and a current sequential number associated with a next data packet associated with the same address that is next to arrive at the input port or is to be transferred to the output port, respectively; and
the records comprise different addresses and only addresses associated with data packets that have latest arrived at the input port or that have been latest transferred to the output port, respectively;a memory in communication with the establishing means, for storing each list; and further comprising at least one of; means for restricting a list in an input port to a limited number of records, the number of records being larger than a smallest number that prevents a data packet that arrives at the input port and is not associated with a record in the list in the input port from being transferred to an output port in the network before a previous data packet, which is transferred to a same output port and with which a same address is associated, has been transferred through the network to the output port, wherein a time period between data packets transferred from an input port into the network is always larger than a predetermined time interval; arranging means in the establishing means for monitoring each record in the list in an input port to remove records from a list when no data packet associated with the address of the record has arrived at the input port during a predetermined time period. - View Dependent Claims (25, 26, 27, 28)
-
Specification