Patent ID: 7680118

Claim:
A method of processing within a Medium Access Control (MAC) layer a downlink frame comprising a plurality of fragments constituting one or more MAC Service Data Units (MSDUs) wherein each of the plurality of fragments includes fragmentation control information and fragment number information for determining an order of a fragment within an associated one of the one or more MSDUs, the method comprising the steps of: pre-processing the plurality of fragments of a downlink frame by reordering the plurality of fragments within the associated one of the one or more MSDUs in response to both the fragmentation control information and the fragment number information of each of the plurality of fragments, wherein the fragmentation control information indicates at least a first fragment of one of the one or more MSDUs; detecting an end-of-frame signal indicating that all of the plurality of fragments for a downlink frame have been received; post-processing the plurality of fragments of the downlink frame in response to detecting the end-of-frame signal, wherein the step of post-processing comprises the steps of: determining in response to the fragmentation control information and the fragment number information whether a received MSDU is a complete MSDU or an incomplete MSDU; saving all complete MSDUs; determining in response to the fragmentation control information if an incomplete MSDU is a last not yet complete MSDU, wherein an incomplete MSDU comprises an MSDU having less than all fragments of the MSDU received before the end-of-frame signal; if the incomplete MSDU is a last not yet complete MSDU, determining in response to the fragment number information whether the last not yet complete MSDU has any missing fragments, wherein the last not yet complete MSDU has missing fragments if after pre-processing reorders the fragments the fragment number information of the last not yet complete MSDU indicates that the last not yet complete MSDU has a fragment missing between a lowest fragment number information fragment of the last not yet complete MSDU and a highest fragment number information fragment of the last not yet complete MSDU; saving the last not yet complete MSDU if it has no missing fragments; and discarding the incomplete MSDU if it is not a last not yet complete MSDU or if it is a last not yet complete MSDU that has missing fragments; and delivering the saved MSDUs, including all saved complete MSDUs and any saved last not yet complete MSDU, to a next layer.