Patent attributes
A method of reducing latency in communication of data packets comprising the steps of: receiving a data packet from a first device; determining whether the addition of the data packet results in the current number of data packets stored in all data queues exceeds a global threshold limit, where if the addition of the data packet results in the number of data packets stored not exceeding the global threshold limit then (i) allocate the data packet to a queueing group based on a predetermined factor; (ii) determine whether the addition of the data packets results in the number of data packets stored in the data queues of the allocated queueing group exceeds a local threshold limit. However, if the addition of the data packet results in the number of data packets stored not exceeding the local threshold limit then allocate the data packet to a data queue in the allocated queueing group based on the predetermined factor. The data packets stored in each data queue of a queueing group thereafter being processed as normal. But, if the addition of the data packet results in either the global threshold limit or the local threshold limit being exceeded, the first data packet from the longest data queue in an identified queueing group is dropped, the identified queueing group being a queuing group pointed to by a pointer in the case of the global threshold limit being exceeded and the identified queueing group by the allocated queueing group in the case of the local threshold limit being exceeded.