IP Library Granted Patent US 8,379,535
Granted Patent B2
US 8,379,535 · App. 12/881,089 · Granted Feb 19, 2013

Optimization of streaming data throughput in unreliable networks

Inventors: Minghua Chen (Albany, CA); Avideh Zakhor (Berkeley, CA)
Assignee: Videopression LLC
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 8,379,535
App. No.
12/881,089
Granted
Feb 19, 2013
Kind
B2
Abstract

Multiple TRFC connections transport streaming data through a wireless channel, and the difference between measured round trip times of packets and minimum round trip time is used to adjust the number of TFRC connections to fully utilize bandwidth through the wireless channel.

Claims (46)

1. A method, comprising:

calculating a threshold according to a minimum packet loss rate for a plurality of packets in the data stream;

accumulating acknowledgement notifications for the plurality of packets;

calculating an observed packet loss rate in response to the acknowledgement notifications accumulated for the plurality of packets; and

decreasing a data rate in response to a difference between the observed packet loss rate and the minimum packet loss rate exceeding the threshold, otherwise increasing the data rate.

2. The method of claim 1 , further comprising:

providing at least one marked packet in the data stream to be used in calculating the observed packet loss rate and at least one unmarked packet to be excluded from calculating the observed packet loss rate; and

distributing the at least one marked packets within the data stream to approximate inter-packet timing of packets.

3. The method of claim 1 , wherein decreasing a data rate comprises decreasing the data rate of at least one data communications connection between a sending device and a receiving device.

4. The method of claim 3 further comprising additively decreasing the data rate of the at least one data communications connection between the sending device and the receiving device.

5. The method of claim 3 further comprising multiplicatively decreasing the data rate of the at least one data communications connection between the sending device and the receiving device.

6. The method of claim 1 , further comprising accumulating a predetermined number of the acknowledgement notifications.

7. The method of claim 1 , further comprising accumulating the acknowledgement notifications over a predetermined period.

8. The method of claim 1 , further comprising calculating an average observed packet loss rate in response to the acknowledgement notifications accumulated for the plurality of packets.

9. The method of claim 1 , further comprising adjusting the minimum packet rate loss in response to the observed packet loss rate being less than a previous minimum packet loss rate.

10. An apparatus, comprising:

means for calculating a threshold according to a minimum packet loss rate for a plurality of packets in the data stream;

means for accumulating acknowledgement notifications for the plurality of packets;

means for calculating an observed packet loss rate in response to the acknowledgement notifications accumulated for the plurality of packets; and

means for decreasing a data rate in response to a difference between the observed packet loss rate and the minimum packet loss rate exceeding the threshold, otherwise increasing the data rate.

11. The apparatus of claim 10 , further comprising:

means for providing at least one marked packet in the data stream to be used in calculating the observed packet loss rate and at least one unmarked packet to be excluded from calculating the observed packet loss rate; and

means for distributing the at least one marked packet within the data stream to approximate inter-packet timing of packets.

12. The apparatus of claim 10 , further comprising means for decreasing the data rate of at least one data communications connection between a sending device and a receiving device.

13. The apparatus of claim 12 , further comprising means for additively decreasing the data rate of the at least one data communications connection.

14. The apparatus of claim 12 , further comprising means for multiplicatively decreasing the data rate of the at least one data communications connection.

15. The apparatus of claim 10 , further comprising means for accumulating a predetermined number of the acknowledgement notifications.

16. The apparatus of claim 10 , further comprising means for accumulating the acknowledgement notifications over a predetermined period.

17. The apparatus of claim 10 , further comprising means for calculating an average observed packet loss rate in response to the acknowledgement notifications accumulated for the plurality of packets.

18. The apparatus of claim 10 , further comprising means for adjusting the minimum packet rate loss in response to the observed packet loss rate being less than a previous minimum packet loss rate.

19. An apparatus, comprising:

a memory configured to store instructions;

a processor configured to execute the instructions stored in the memory to:

calculate a threshold according to a minimum packet loss rate for a plurality of packets in the data stream;

accumulate acknowledgement notifications for a plurality of packets;

calculate an observed packet loss rate in response to the acknowledgement notifications accumulated for the plurality of packets; and

decrease a data rate in response to a difference between the observed packet loss rate and the minimum packet loss rate exceeding the threshold, otherwise increase the data rate.

20. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to:

provide at least one marked packet in the data stream to be used in calculating the observed packet loss rate and at least one unmarked packet to be excluded from calculating the observed packet loss rate; and

distribute the at least one marked packet within the data stream to approximate inter-packet timing of packets.

21. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to additively decrease a data rate of at least one data communications connection.

22. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to multiplicatively decrease a data rate of at least one data communications connection.

23. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to accumulate a predetermined number of the acknowledgement notifications.

24. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to accumulate the acknowledgement notifications over a predetermined period.

25. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to calculate an average observed packet loss rate in response to the acknowledgement notifications accumulated for the plurality of packets.

26. The apparatus of claim 19 , wherein the processor is configured to execute the instructions stored in the memory further to adjust the minimum packet rate loss in response to the observed packet loss rate being less than a previous minimum packet loss rate.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded May 10, 2017
From: CHEN, MINGHUA; ZAKHOR, AVIDEH
To: TRUVIDEO, INC.
Reel/Frame 042328/0957 →
MERGER Recorded Oct 28, 2015
From: VIDEOPRESSION LLC
To: S. AQUA SEMICONDUCTOR, LLC
Reel/Frame 036902/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2010
From: TRUVIDEO, INC.
To: VIDEOPRESSION LLC
Reel/Frame 024986/0796 →
Continuity (3)
Division 11147788 · Jun 7, 2005
Provisional Application 60583926 · Jun 28, 2004
Related Publication 20110002236A1 · Jan 6, 2011