A method, performed by a computer system having one or more processors and memory storing one or more programs for execution by the one or more processors, for processing a plurality of fragments of IP packet flows in a communications network the method using a contiguous set of time intervals, wherein each interval comprises a preselected time duration, wherein the method comprises the steps of: receiving the plurality of packet fragments over the contiguous set of time intervals, wherein the received packet fragments are associated with one or more packet flows and generating a flow identifier for each packet fragment based on IP header information, from a first pass through of the plurality of received packet fragments received over the contiguous set of time intervals, wherein each fragment of the plurality of packet fragments is correlated with a corresponding packet flow based on the generated flow identifier; selecting a first set of packet flows from the one or more received packet flows, wherein the selected first set of packet flows corresponds to a subset of the plurality of packet fragments that are received during a first predefined time interval of the contiguous set of time intervals; generating a unique list of non-repeated flow identifiers received during the first predefined time interval of the contiguous set of time intervals for the selected first set of packet flows; determining, by a second pass through the plurality of received packet fragments received over the plurality of contiguous set of time intervals, if a received packet fragment is associated with one of the flows having flow identifiers in the generated unique list of non-repeated flow identifiers, and discarding one or more received packet fragments of the plurality of packet fragments received over the contiguous set of time intervals when it is determined that the received packet fragment is not associated with a flow having a flow identifier in the unique list of non-repeated flow identifiers such that packet fragments that are associated with packets not found in the first interval are discarded; and reassembling only packet fragments associated with the first set of packet flows into full packets when it is determined that the received packet fragment is associated with a flow having a flow identifier in the unique list of non-repeated flow identifiers, wherein a number of full packets reassembled is based on a number of full packets to be presented to a user. receiving the plurality of packet fragments over the contiguous set of time intervals, wherein the received packet fragments are associated with one or more packet flows and generating a flow identifier for each packet fragment based on IP header information, from a first pass through of the plurality of received packet fragments received over the contiguous set of time intervals, wherein each fragment of the plurality of packet fragments is correlated with a corresponding packet flow based on the generated flow identifier; selecting a first set of packet flows from the one or more received packet flows, wherein the selected first set of packet flows corresponds to a subset of the plurality of packet fragments that are received during a first predefined time interval of the contiguous set of time intervals; generating a unique list of non-repeated flow identifiers received during the first predefined time interval of the contiguous set of time intervals for the selected first set of packet flows; determining, by a second pass through the plurality of received packet fragments received over the plurality of contiguous set of time intervals, if a received packet fragment is associated with one of the flows having flow identifiers in the generated unique list of non-repeated flow identifiers, and discarding one or more received packet fragments of the plurality of packet fragments received over the contiguous set of time intervals when it is determined that the received packet fragment is not associated with a flow having a flow identifier in the unique list of non-repeated flow identifiers such that packet fragments that are associated with packets not found in the first interval are discarded; and reassembling only packet fragments associated with the first set of packet flows into full packets when it is determined that the received packet fragment is associated with a flow having a flow identifier in the unique list of non-repeated flow identifiers, wherein a number of full packets reassembled is based on a number of full packets to be presented to a user.