Patent ID: 8155117

Claim:
A method of processing fragmented datagrams in a wireless device connected to a terminal equipment, the method comprising: receiving at the wireless device a first data packet for a datagram; determining if the datagram includes a plurality of fragments; if the first data packet is a fragment, obtaining a datagram identifier comprising a concatenation of a source address, a destination address, an identification value for the datagram, and a protocol number included in the IP header for the fragment; if the fragment is a first fragment received for the datagram, creating a table entry for the datagram in a first memory, wherein the table entry includes a first field for storing a filter result and a second field for storing a datagram identifier; determining if the first data packet includes all of one or more filter parameters for the datagram; if the first data packet does not include all of the one or more filter parameters for the datagram, buffering the first data packet; receiving at the wireless device a second data packet for the datagram; identifying at least one filter parameter for the datagram from the second data packet; if the first and second data packets are fragments, storing the fragments and any additional received fragments of the datagram as stored fragments, each of the fragments having the same datagram identifier; obtaining the at least one filter parameter from the second data packet; determining the filter result for the datagram based at least in part on the at least one filter parameter from the second data packet, wherein the filter result is determined before all fragments of the datagram are received; processing the stored fragments having the same datagram identifier based on the filter result to determine whether the stored fragments are addressed to a system application running over a local socket at the wireless device or an end-user application running at the terminal equipment; and sending the processed fragments to a protocol stack at the wireless device or at the terminal equipment depending on where the stored fragments are determined to be addressed, wherein the wireless device provides IP connectivity to the terminal equipment over a wireless data network using an IP address of the wireless device.