IP Library Granted Patent US 9,439,100
Granted Patent B2
US 9,439,100 · App. 13/929,517 · Granted Sep 6, 2016

System and method for dynamic rate adaptation based on real-time call quality metrics

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,439,100
App. No.
13/929,517
Granted
Sep 6, 2016
Kind
B2
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 (41)

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.

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

3. 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.

4. 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.

5. The method of claim 1 , comprising:

sniffing a control packet or performing a deep packet inspection to identify the real-time streaming packet.

6. 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.

7. 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.

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.

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

10. 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.

11. 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.

12. 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.

13. 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.

14. 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.

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.

16. 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.

17. 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.

18. 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.

19. 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.

20. 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.

21. 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.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2013
From: BAJPAI, RAJNEESH; JOSHI, VENKATESH; KUKREJA, NAVIN
To: ARUBA NETWORKS, INC.
Reel/Frame 030778/0248 →