Using signals extracted from a voip data stream to distinguish between network congestion and link losses
AssigneeWhatsapp Inc.
InventorsJun Gong, Manpreet Singh
Life of this patent
Estimating the term…
Abstract
Two (or more) client devices engage in a chat session. Packets associated with the chat session are numbered using a predetermined pattern. When the packets are received, the receiving client device extracts signals from the packet metadata to determine whether the primary cause of packet loss during transit is network congestion or link losses. Based on the extracted signals, the receiving device sends a control message back to the other client device indicating how one or more chat parameters should be updated. On receiving the control message, the other client device updates the chat parameters accordingly.
Claims20
A method comprising:
- receiving packets from a sending client device via a network, wherein each of the sent packets includes chat content data and metadata for a chat session;
- extracting a plurality of network performance signals from the received packets based on the metadata of the received packets, the network performance signals distinguishing between a network problem arising from congestion and a network problem arising from link loss;
- determining a control message to send based on at least one of the plurality of network performance signals, the control message indicating how a parameter of the chat session should be updated to address the network problem;
- and
- sending the control message to the sending client device.
A non-transitory computer-readable medium storing computer program instructions executable by a processor to perform operations comprising:
- receiving packets from a sending client device via a network, wherein each of the sent packets includes chat content data and metadata for a chat session;
- extracting a plurality of network performance signals from the received packets based on the metadata of the received packets, the network performance signals distinguishing between a network problem arising from congestion and a network problem arising from link loss;
- determining a control message to send based on at least one of the plurality of network performance signals, the control message indicating how a parameter of the chat session should be updated to address the network problem;
- and
- sending the control message to the sending client device.
A computer system comprising:
- one or more processors;
- and
- one or more computer readable media storing computer program instructions that, when executed, cause the one or more processors to perform operations including:
- receiving packets from a sending client device via a network, wherein each of the sent packets includes chat content data and metadata for a chat session;
- extracting a plurality of network performance signals from the received packets based on the metadata of the received packets, the network performance signals distinguishing between a network problem arising from congestion and a network problem arising from link loss;
- determining a control message to send based on at least one of the plurality of network performance signals, the control message indicating how a parameter of the chat session should be updated to address the network problem;
- and
- sending the control message to the sending client device.
Dependencies are inferred from the claim text.