US12137053B2ActiveUtilityA1
Method, system and computer program product for determining congestion of a communication link transmitting a media stream over the communication link
Est. expiryNov 18, 2041(~15.4 yrs left)· nominal 20-yr term from priority
H04L 47/283H04L 47/11H04L 47/263H04L 47/36H04L 47/34H04L 47/35H04L 47/27H04L 47/193H04L 47/127H04L 47/2416
46
PatentIndex Score
0
Cited by
32
References
13
Claims
Abstract
A system and method for determining congestion of a communication link transmitting a media stream over the communication link from a sender device to a receiving device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for determining congestion of a communication link transmitting a media stream over the communication link from a sender device to a receiving device, the method comprising the steps of: transmitting media packets into the media stream, each media packet having a packet identifier; transmitting recovery packets into the media stream, each recovery packet having a packet identifier and is adapted to replace a missing packet of the media stream; mapping for each packet in the media stream the packet identifier, a transmission timestamp and a packet size; mapping for each recovery packet the packet identifier of the recovery packet and the packet identifier of the packet the recovery packet is adapted to replace; transmitting for each packet received at the receiving device a feedback message to the sender device, the feedback message comprising the packet identifier and an arrival timestamp; determining a packet as missing when none of the feedback messages comprises the packet identifier of the packet; determining a packet as recovered when a feedback message comprises the packet identifier of a recovery packet corresponding to the missing packet; and determining a packet recovery success rate by dividing a total number of packets determined as recovered within a first sliding window with a total number of packets determined as missing within the first sliding window; and determining that the communication link is congested when for the first sliding window of the N transmitted packets the packet recovery success rate is below a congestion threshold thereby differentiating between congestion of the communication links and a high constant packet loss over the communication link.
2. The method of claim 1 , comprising initiating the step of transmitting recovery packets into the media stream upon determining that the communication link is in a candidate congestion state.
3. The method of claim 2 , wherein determining that the communication link is in a candidate congestion state comprising: determining a transmission rate for a second sliding window of N transmitted packets by dividing a packet size sum of the N transmitted packets with a time difference between a transmission time stamp of the last of the N transmitted packets and a transmission time stamp of the first of the N transmitted packets; determining a received rate for the second sliding winding of the N transmitted packets by dividing the packet size sum of the N transmitted packets with a time difference between the arrival time stamp of the last of the N transmitted packets and the arrival time stamp of the first of the N transmitted packets; and determining that the communication link is in a candidate congestion state when for the second sliding window of the N transmitted packets the difference between the transmission rate and the received rate divided by the transmission rate is above a candidate congestion state threshold.
4. The method of claim 2 , wherein the candidate congestion state threshold is in the range 0.1-0.4.
5. The method of claim 1 , wherein the method further comprising the step of measuring a round trip delay from the receiving device requests a recovery packet to the feedback message comprises the packet identifier of the recovery packet, and waiting the at least one round trip delay before determining the packet recovery rate.
6. The method of claim 1 , wherein the congestion threshold is in the range 0.6-1.0.
7. A computer program product comprising non-transitory computer-readable storage medium storing instructions that when executed on a processor performs the method of claim 1 .
8. A system for determining congestion of a communication link transmitting a media stream transmitted over the communication link from a sender device to a receiving device, the system being adapted to: transmitting, with the sender device, media packets into the media stream, each media packet having a packet identifier; transmitting, with the sender device, recovery packets into the media stream, each recovery packet adapted to replace a missing packet of the media stream; mapping, with the sender device, for each packet in the media stream a packet identifier, a transmission timestamp and a packet size; mapping, with the sender device, for each recovery packet the packet identifier of the recovery packet and the packet identifier of the packet the recovery packet is adapted to replace; transmitting for each packet received at the receiving device a feedback message to the sender device, the feedback message comprising the packet identifier and an arrival timestamp; determining a packet as missing when none of the feedback messages comprises the packet identifier of the packet; determining, with the sender device, a packet as recovered when a feedback message comprises the packet identifier of a recovery packet corresponding to the missing packet; and determining, with the sender device, a packet recovery success rate by dividing a total number of packets determined as recovered within a second sliding window with a total number of packets determined as missing within the second sliding window; determining, with the sender device, that the communication link is congested when for the first sliding window of the N transmitted packets the packet recovery success rate is below a congestion threshold thereby differentiating between congestion of the communication links and a high constant packet loss over the communication link.
9. The system of claim 8 , wherein the system is further adapted to initiating the step of transmitting recovery packets into the media stream upon determining that the communication link is in a candidate congestion state.
10. The system of claim 9 , wherein determining that the communication link is in a candidate congestion state comprising: determining, with the sender device, a transmission rate for a second sliding window of N transmitted packets by dividing a packet size sum of the N transmitted packets with a time difference between a transmission time stamp of the last of the N transmitted packets and a transmission time stamp of the first of the N transmitted packets; determining, with the sender device, a received rate for the second sliding winding of the N transmitted packets by dividing the packet size sum of the N transmitted packets with a time difference between the arrival time stamp of the last of the N transmitted packets and the arrival time stamp of the first of the N transmitted packets; and determining, with the sender device, that the communication link is in a candidate congestion state when for the second sliding window of the N transmitted packets the difference between the transmission rate and the received rate divided by the transmission rate is above a candidate congestion state threshold.
11. The system of claim 10 , wherein the candidate congestion state threshold is in the range 0.1-0.4.
12. The system of claim 8 , wherein the sender device is further adapted to measuring a round trip delay from the receiving device requests a recovery packet to the feedback message comprises the packet identifier of the recovery packet, and waiting the at least one round trip delay before determining the packet recovery rate.
13. The system of claim 8 , wherein the congestion threshold is in the range 0.6-1.0.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.