Time-sensitive-packet jitter and latency minimization on a shared data link
First Claim
Patent Images
1. A method of interleaving the transmission of time-critical packets with the transmission of lower-priority packets across a common data link, the method comprising:
- maintaining time-critical packet arrival statistics;
when a lower-priority packet becomes available for transmission across the data link, estimating the transmit time required for transmission of that packet;
based on the time-critical packet arrival statistics and the estimated transmit time for the lower-priority packet, predicting whether the lower-priority packet can be selected for transmission across the data link without causing substantial delay to a time-critical packet that is not yet available for transmission across the data link; and
when predicting whether the lower-priority packet can be selected for transmission without causing substantial delay indicates that transmission at the current time is acceptable, supplying the lower-priority packet to the data link, otherwise, parking the lower-priority packet and performing the predicting step again at a later time.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed for interleaving time-critical packets and lower-priority packets onto a common data link. A packet arrival prediction mechanism predicts when a time-critical packet is expected to arrive. When transmission of a waiting lower-priority packet might cause a substantial delay in the expected time-critical packet'"'"'s transmission, the lower-priority packet is parked until it can be transmitted without interfering with a time-critical packet.
112 Citations
51 Claims
-
1. A method of interleaving the transmission of time-critical packets with the transmission of lower-priority packets across a common data link, the method comprising:
-
maintaining time-critical packet arrival statistics;
when a lower-priority packet becomes available for transmission across the data link, estimating the transmit time required for transmission of that packet;
based on the time-critical packet arrival statistics and the estimated transmit time for the lower-priority packet, predicting whether the lower-priority packet can be selected for transmission across the data link without causing substantial delay to a time-critical packet that is not yet available for transmission across the data link; and
when predicting whether the lower-priority packet can be selected for transmission without causing substantial delay indicates that transmission at the current time is acceptable, supplying the lower-priority packet to the data link, otherwise, parking the lower-priority packet and performing the predicting step again at a later time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus comprising a computer-readable medium containing computer instructions that, when executed, cause a processor or multiple communicating processors to perform a method for interleaving the transmission of time-critical packets with the transmission of lower-priority packets across a common data link, the method comprising:
-
maintaining time-critical packet arrival statistics;
when a lower-priority packet becomes available for transmission across the data link, estimating the transmit time required for transmission of that packet;
based on the time-critical packet arrival statistics and the estimated transmit time for the lower-priority packet, predicting whether the lower-priority packet can be selected for transmission across the data link without causing substantial delay to a time-critical packet that is not yet available for transmission across the data link; and
when predicting whether the lower-priority packet can be selected for transmission without causing substantial delay indicates that transmission at the current time is acceptable, supplying the lower-priority packet to the data link, otherwise, parking the lower-priority packet and performing the predicting step again at a later time. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A packet data transmitting device comprising:
-
a first data link interface;
a lower-priority packet queue to queue lower-priority packets awaiting submission to the data link interface;
a time-critical packet queue to queue time-critical packets awaiting submission to the data link interface;
a time-critical-packet arrival prediction mechanism to provide a prediction of the next time-critical packet'"'"'s arrival time;
a packet transmit time estimator to provide an estimate of a packet'"'"'s transmit time; and
a packet scheduler to interleave submission, to the data link interface, of the lower-priority packets and the time-critical packets, the scheduler receiving predictions from the time-critical-packet arrival prediction mechanism and transmit time estimates from the packet transmit time estimator, the scheduler selecting a packet from the lower-priority packet queue for submission to the data link interface when that packet'"'"'s transmission can be completed without causing substantial delay to a time-critical-packet that is not yet in the time-critical packet queue. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
multiple data link interfaces similar to the first data link interface, each data link interface associated with its own lower-priority packet queue, time-critical packet queue, time-critical-packet arrival prediction mechanism, and packet scheduler;
a network interface to connect the packet data transmitting device to a packet data network; and
a forwarding engine to forward a packet received at the network interface towards one of the data link interfaces, based on the header information contained in that packet.
-
-
38. The device of claim 37, further comprising a packet type switch to classify the packet as either a time-critical-packet or a lower-priority packet based on the header information contained in the packet.
-
39. The device of claim 38, wherein when the packet is classified as a lower-priority packet, the packet type switch directs that packet to the lower-priority packet queue associated with that packet'"'"'s data fink interface.
-
40. The device of claim 38, wherein the packet type switch communicates with the forwarding engine, wherein when the packet is classified as a lower-priority packet, the forwarding engine directs that packet to the lower-priority-packet queue associated with that packet'"'"'s data link interface.
-
41. The device of claim 36, wherein the time-critical-packet arrival prediction mechanism estimates arrival time based on the time of arrival of previous time-critical packets.
-
42. The device of claim 36, wherein the time-critical packets comprise a packetized voice stream, and wherein the time-critical-packet arrival prediction mechanism provides different predictions depending on whether it predicts that the voice stream is transmitting a talkspurt, is in a speech pause interval between talkspurts, or is in an extended silent interval.
-
43. The device of claim 36, further comprising an encoder to supply time-critical packets to the time-critical-packet queue and to provide packet timing signals to the time-critical-packet arrival prediction mechanism.
-
44. The device of claim 43, wherein the encoder encodes a voice stream, the packet timing signals comprising a signal that the encoder is beginning to build a time-critical packet for the voice stream.
-
45. The device of claim 44, wherein the encoder comprises a voice activity detector, the encoder packet timing signals comprising a voice activity detection signal indicating whether voice activity currently exists in the voice stream.
-
46. The device of claim 36, further comprising a time-critical-packet receiver to receive time-critical-packets from the data link interface, the time-critical-packet receiver providing an indication to the time-critical-packet arrival prediction mechanism when time-critical packets are received.
-
47. The device of claim 36, further comprising a fragmenter to fragment a packet from the lower-priority-packet queue when that packet remains in that queue for a given time period without selection for submission to the data link interface.
-
48. The device of claim 36, further comprising a user interface to notify a user when a lower-priority packet remains in the lower-priority-packet queue for a given time period without selection for submission to the data link interface.
-
49. The device of claim 48, wherein the user interface allows a user to direct the disposition of the lower-priority packet.
-
50. A packet data transmitting device comprising:
-
data link means;
means for queuing lower-priority packets awaiting submission to the data link means;
means for queuing time-critical packets awaiting submission to the data link means;
means for predicting when time-critical packets will arrive at the time-critical packet queuing means;
means for estimating a packet'"'"'s transmit time; and
scheduling means for interleaving submission, to the data link means, of packets from each of the queuing means, the scheduling means selecting a lower-priority packet for submission when the transmit time for that packet, as calculated by the estimating means, indicates that the lower-priority packet transmission can be completed without causing substantial delay to a time-critical packet having an arrival time predicted by the predicting means. - View Dependent Claims (51)
means for capturing sound as an electrical signal;
means for encoding the electrical signal into a stream of time-critical packets and directing that stream to the time-critical-packet queue.
-
Specification