Patent ID: 7580411
Filing Date: 2009-08-25
Classification: H04L

Abstract:
1. A network flow/stream simulation method for processing retransmitted packets to save utilized memory after packets arrive at an apparatus, the method comprising: (a) a packet retransmission processing unit receiving an n-th packet from a packet limiting unit; (b) decreasing the window size of the processed packet; (c) confirming whether the n-th packet includes a confirmation signal; (d) confirming whether a link list includes confirmed characteristic values when the n-th packet includes the confirmation signal in step (c); (d1) selectively deleting certain confirmed characteristic values for preserving certain updated characteristic values while certain packets are lost after passing the apparatus; (e) removing confirmed characteristic values when the link list includes the confirmed characteristic values; (f) confirming whether there are contents in the link list; (g) comparing the serial number of the n-th packet with serial number domains of each characteristic value in the link list when there are contents in the link list in step (f), or when the n-th packet does not include the confirmation signal in step (c); (h) checking whether the serial number of the n-th packet is a tracked serial number of the link list; (i) the apparatus checking whether the length of the link list exceeds a predetermined length when the serial number of the n-th packet is a tracked serial number of the link list in step (h); (j) the apparatus calculating characteristic values of packets and storing the characteristic values in the link list in serial number sequence when the length of the link list does not exceed the predetermined length in step (i); (k) transmitting the n-th packet when there is no content in the link list in step (f), or after the apparatus has stored the characteristic values of the packets in the link list in step (j); (l) checking whether contents in the n-th packet are overlapped with a corresponding serial number domain of a k-th item in a specific characteristic value of the link list when the serial number of the n-th packet is not the tracked serial number of the link list in step (h); (m) abandoning the n-th packet when the contents of the n-th packet are not overlapped with the corresponding serial number domain of a k-th item in a specific characteristic value of the link list in step (l), or when the length of the link list exceeds the predetermined length in step (i); (n) confirming how the contents of the n-th packet are overlapped with the corresponding serial number domain of the k-th item in the specific characteristic value of the link list when contents in the n-th packet are overlapped with the corresponding serial number domain of the k-th item in the specific characteristic value of the link list in step (l), or storing a temporary packet of the k-th item to generate a L-th packet before confirming the overlapped degree, wherein the L-th packet is generated from the n-th packet or the temporary packet of the k-th item; (o) comparing lengths of both the L-th packet and the k-th item when the serial number of the L-th packet is matched with a beginning serial number of the k-th item of the specific characteristic value in step (n); (p) calculating a check code of the characteristic value of the L-th packet, and checking whether the calculated check code is matched with a check code of the k-th item when the lengths of the L-th packet and the k-th item are equal in step (o); (q) transmitting the L-th packet when the calculated check code is matched with the check code of the k-th item in step (p); (r) storing the L-th packet in a temporary packet of the k-th item when the length of the L-th packet is shorter than the length of the k-th item in step (o); (s) confirming whether the temporary packet of the k-th item is matched with the length of the k-th item; (t) waiting for a timeout message when the L-th packet is not matched with the length of the k-th item in step (s), and abandoning the L-th packet when the timeout message appears; (u) separating the L-th packet into an i-th packet and a j-th packet when the length of the L-th packet is longer than the length of the k-th item in step (o), wherein the i-th packet starts at a serial number of the L-th packet, a length of the i-th packet equals to the length of the k-th item, and a length of the j-th packet equals to a difference generated by subtracting the length of the L-th packet by the length of the k-th item; (v) recognizing both the i-th packet and the j-th packet, and performing step t) on the i-th packet after the i-th is recognized; (w) checking whether the k-th item is the last item of the link list for the j-th packet after recognizing the j-th packet in step (v); and performing step (i) on the j-th packet when the k-th item is the last item of the link list, otherwise, performing step (n) on the j-th packet; (x1) separating the L-th packet into a x-th packet and a y-th packet when the serial number of the L-th packet falls within a serial number domain of the k-th item of a specific characteristic value in the link list, wherein the x-th packet starts at the serial number of the L-th packet and ends at the end of the k-th item, and the length of the y-th packet equals the difference generated by subtracting the length of the L-th packet by the length of the x-th packet; (x2) recognizing the x-th packet and the y-th packet, and performing step (r) on the x-th packet after the x-th packet is recognized; (x3) checking whether the k-th item is the last item of the link list for the y-th packet, and performing step (i) on the y-th packet when the k-th item is the last item of the link list, otherwise, performing step (n) on the y-th packet; (y1) separating the L-th packet into a s-th packet and a t-th packet, wherein the t-th packet staffs at a start serial number of the k-th item and ends at a tail serial number of the L-th packet, and the s-th packet staffs at a start serial number of the L-packet and ends at a tail serial number of the k-th item; and (y2) recognizing the s-th packet and the t-th packet, and performing step (n) on the t-th packet after recognizing the t-th packet.