# US 9,439,100 B2 · System and method for dynamic rate adaptation based on real-time call quality metrics

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,439,100 B2
- Document ID: US9439100B2
- Status: Granted
- Kind: B2
- Application number: 13/929,517
- Filed: 2013-06-27
- Published: 2014-01-02
- Granted: 2016-09-06
- Earliest claimed: 2012-06-27
- Assignees: Aruba Networks, Inc.
- Applicants: Aruba Networks, Inc.
- Inventors: Rajneesh Bajpai; Venkatesh Joshi; Navin Kukreja
- Web page: https://patentgrep.com/patent/US9439100B2

## CPC

- H04W 28/0236: {radio quality, e.g. interference, losses or delay}
- H04L 47/11: Identifying congestion
- H04L 47/2416: Real-time traffic
- H04L 47/25: with rate being modified by the source upon detecting a change of network conditions
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04W 28/02: Traffic management, e.g. flow control or congestion control
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

According to one embodiment, a network device is configured to measure a quality of service associated with a real-time streaming packet received at a first transmission rate. The network device gathers metrics to a call quality based on the quality of service, wherein the metrics are specific to a wireless call quality, and adjusts the first transmission rate to a second transmission rate based on the metrics. Herein, the second transmission rate replaces the first transmission rate to balance between a transmission delay and reliability of the real-time streaming packet.

## Claims

### Claim 1

A method comprising:
transmitting, by a network device, a sampling packet for an upstream traffic and a downstream traffic including a transmit timestamp at an interval, wherein the interval is adjusted based on one or more of a per packet basis and a per client basis;
receiving an acknowledgement packet comprising a receipt timestamp;
determining a call quality of service, by the network device, for the upstream traffic and the downstream traffic based on a comparison of the transmit timestamp and the receipt timestamp for each of the upstream traffic and the downstream traffic, wherein the call quality of service is associated with a real-time streaming packet received at an upstream traffic transmission rate and a downstream traffic transmission rate; and
adjusting the upstream traffic transmission rate and the downstream traffic transmission rate to a second upstream traffic transmission rate and a second downstream traffic transmission rate, respectively, based on the call quality of service for each of the upstream traffic and the downstream traffic, and based on call quality metrics including a reliability of a transmission of the real-time streaming packet and a transmission delay.

### Claim 2 (depends on 1)

The method of claim 1, wherein the transmission delay includes a propagation delay or a transmission delay of the real-time streaming packet.

### Claim 3 (depends on 1)

The method of claim 1, wherein the call quality metrics include packet loss, a jitter, a packet type, or a time gap between the sampling packet and the acknowledgement packet.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining a new quality of service associated with the real-time streaming packet at the second transmission rate.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
sniffing a control packet or performing a deep packet inspection to identify the real-time streaming packet.

### Claim 6 (depends on 5)

The method of claim 5, wherein the real-time streaming packet includes a packet type, and wherein the packet type is an i-frame, a p-frame, or a b-frame.

### Claim 7 (depends on 1)

The method of claim 1, wherein adjusting the transmission rate includes increasing or decreasing the transmission rate of the real-time streaming packet, increasing or decreasing a number of retransmission attempts for the real-time streaming packet, or increasing or decreasing a transmission power associated with the real-time streaming packet.

### Claim 8

A computing device, comprising:
one or more processors; and
a memory having instructions stored thereon, which when executed by the one or more processors, cause the computing device to perform operations including:
transmitting, by a network device, a sampling packet for an upstream traffic and a downstream traffic including a transmit timestamp at an interval, wherein the interval is adjusted based on one or more of a per packet basis and a per client basis;
receiving an acknowledgement packet comprising a receipt timestamp;
determining a call quality of service, by the network device, for the upstream traffic and the downstream traffic based on a comparison of the transmit timestamp and the receipt timestamp for each of the upstream traffic and the downstream traffic, wherein the call quality of service is associated with a real-time streaming packet received at an upstream traffic transmission rate and a downstream traffic transmission rate; and
adjusting the upstream traffic transmission rate and the downstream traffic transmission rate to a second upstream traffic transmission rate and a second downstream traffic transmission rate, respectively, based on the call quality of service for each of the upstream traffic and the downstream traffic, and based on call quality metrics including a reliability of a transmission of the real-time streaming packet and a transmission delay.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the transmission delay includes a propagation delay or a transmission delay of the real-time streaming packet.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein the call quality metrics include packet loss, a jitter, a packet type, or a time gap between the sampling packet and the acknowledgement packet.

### Claim 11 (depends on 8)

The computing device of claim 8, further comprising instructions, which when executed by the one or more processors, cause the computing device to perform operations including:
determining a new quality of service associated with the real-time streaming packet at the second transmission rate.

### Claim 12 (depends on 8)

The computing device of claim 8, further comprising instructions, which when executed by the one or more processors, cause the computing device to perform operations including:
sniffing a control packet or performing a deep packet inspection.

### Claim 13 (depends on 5)

The computing device of claim 5, wherein the real-time streaming packet includes a packet type, and wherein the packet type is an i-frame, a p-frame, or a b-frame.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein adjusting the transmission rate includes increasing or decreasing the transmission rate of the real-time streaming packet, increasing or decreasing a number of retransmission attempts for the real-time streaming packet, or increasing or decreasing a transmission power associated with the real-time streaming packet.

### Claim 15

A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to:
transmit, by a network device, a sampling packet for an upstream traffic and a downstream traffic including a transmit timestamp at an interval, wherein the interval is adjusted based on one or more of a per packet basis and a per client basis;
receive an acknowledgement packet comprising a receipt timestamp;
determine a call quality of service, by the network device, for the upstream traffic and the downstream traffic based on a comparison of the transmit timestamp and the receipt timestamp for each of the upstream traffic and the downstream traffic, wherein the call quality of service is associated with a real-time streaming packet received at an upstream traffic transmission rate and a downstream traffic transmission rate; and
adjust the upstream traffic transmission rate and the downstream traffic transmission rate to a second upstream traffic transmission rate and a second downstream traffic transmission rate, respectively, based on the call quality of service for each of the upstream traffic and the downstream traffic, and based on call quality metrics including a reliability of a transmission of the real-time streaming packet and a transmission delay.

### Claim 16 (depends on 15)

The computer-program product of claim 15, wherein the transmission delay includes a propagation delay or a transmission delay of the real-time streaming packet.

### Claim 17 (depends on 15)

The computer-program product of claim 15, wherein the call quality metrics include packet loss, a jitter, a packet type, or a time gap between the sampling packet and the acknowledgement packet.

### Claim 18 (depends on 15)

The computer-program product of claim 15, further comprising instructions configured to cause the data processing apparatus to:
determining a new quality of service associated with the real-time streaming packet at the second transmission rate.

### Claim 19 (depends on 15)

The computer-program product of claim 15, further comprising instructions to cause the data processing apparatus to:
sniff a control packet or perform a deep packet inspection to identify the real-time streaming packet.

### Claim 20 (depends on 19)

The computer-program product of claim 19, wherein the real-time streaming packet includes a packet type, and wherein the packet type is an i-frame, a p-frame, or a b-frame.

### Claim 21 (depends on 15)

The computer-program product of claim 15, wherein adjusting the transmission rate includes increasing or decreasing the transmission rate of the real-time streaming packet, increasing or decreasing a number of retransmission attempts for the real-time streaming packet, or increasing or decreasing a transmission power associated with the real-time streaming packet.
