A method for queuing data packets comprising: receiving a train of packets including at least two data packets; determining a position within a queue, which has a set of queued data packets already held in the queue, to place the train of packets based, at least in part, upon a total transmission time of the train of packets, wherein the position is determined by determining whether a first delay between a first two queued data packets of the set of queued data packets is larger than or equal to the total transmission time of the train of packets, wherein when the first delay is larger than or equal to the total transmission time of the train of packets, the determined position is between the first two queued data packets of the set of queued data packets, wherein when the first delay is less than the total transmission time of the train of packets, it is determined whether a second delay between a second two queued data packets of the set of queued data packets is larger than or equal to the total transmission time of the train of packets, wherein when the second delay is larger than or equal to the total transmission time of the train of packets, the determined position is between the second two queued data packets of the set of data packets; wherein when the total transmission time of the train of packets is larger than a delay between any two of the queued data packets, the determined position is at an end of the queue and placing said train of packets into said queue at said determined position. receiving a train of packets including at least two data packets; determining a position within a queue, which has a set of queued data packets already held in the queue, to place the train of packets based, at least in part, upon a total transmission time of the train of packets, wherein the position is determined by determining whether a first delay between a first two queued data packets of the set of queued data packets is larger than or equal to the total transmission time of the train of packets, wherein when the first delay is larger than or equal to the total transmission time of the train of packets, the determined position is between the first two queued data packets of the set of queued data packets, wherein when the first delay is less than the total transmission time of the train of packets, it is determined whether a second delay between a second two queued data packets of the set of queued data packets is larger than or equal to the total transmission time of the train of packets, wherein when the second delay is larger than or equal to the total transmission time of the train of packets, the determined position is between the second two queued data packets of the set of data packets; wherein when the total transmission time of the train of packets is larger than a delay between any two of the queued data packets, the determined position is at an end of the queue and determining whether a first delay between a first two queued data packets of the set of queued data packets is larger than or equal to the total transmission time of the train of packets, wherein when the first delay is larger than or equal to the total transmission time of the train of packets, the determined position is between the first two queued data packets of the set of queued data packets, wherein when the first delay is less than the total transmission time of the train of packets, it is determined whether a second delay between a second two queued data packets of the set of queued data packets is larger than or equal to the total transmission time of the train of packets, wherein when the second delay is larger than or equal to the total transmission time of the train of packets, the determined position is between the second two queued data packets of the set of data packets; wherein when the total transmission time of the train of packets is larger than a delay between any two of the queued data packets, the determined position is at an end of the queue and placing said train of packets into said queue at said determined position.