Patent ID: 7924857

Claim:
A method of reorganizing cells received over data communication lines at a receive node, the cells having an initial order identified by monotonically increasing sequence identifiers, the receive node having buffers associated with respective ones of the communication lines, and each of the buffers having an output position, the method comprising the steps of: detecting a cell having a smallest sequence identifier from one or more cells at the output positions of the buffers; determining if the smallest sequence identifier is sequentially consecutive to a specified sequence identifier; if the smallest sequence identifier is sequentially consecutive to the specified sequence identifier, dequeuing the cell having the smallest sequence identifier from an output position of one of the buffers and redefining the specified sequence identifier as the sequence identifier of the dequeued cell; and if the smallest sequence identifier is not sequentially consecutive to the specified sequence identifier: determining if the smallest sequence identifier is less than the specified sequence identifier; if the smallest sequence identifier is less than the specified sequence identifier, discarding the queued cell with the smallest sequence identifier; if the smallest sequence identifier is not less than the specified sequence identifier and at least one buffer is empty, awaiting a cell having a sequence identifier sequentially consecutive to the specified sequence identifier; and if the smallest sequence identifier is greater than the specified sequence identifier and at least one buffer is not empty, dequeuing the cell with the smallest sequence identifier, and redefining the specified sequence identifier as the sequence identifier of the dequeued cell; wherein the steps are performed at least in part by a processor.