an apparatus for use in a first packet switching device that transmits outgoing data packets to a second packet switching device over n heterogeneous data links . the first packet switching device comprises n packet queues for storing outgoing data packets . the apparatus selects one of the n heterogeneous data links to transmit a first outgoing data packet . the apparatus comprises a controller that calculates a packet delay value for each one of a subset of s of the n heterogeneous data links . the packet delay value for each data link is determined as a function of i ) a propagation delay of the data link ; ii ) a packet size of the first outgoing data packet ; iii ) a queue size of a packet queue associated with the data link ; and iv ) a bandwidth of the data link .