IP Library Granted Patent US 9,680,754
Granted Patent B2
US 9,680,754 · App. 14/505,158 · Granted Jun 13, 2017

Controlling transmission of data

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,680,754
App. No.
14/505,158
Granted
Jun 13, 2017
Kind
B2
Abstract

In an embodiment, a method of controlling transmission of data from a wireless device to a receiver connected via a communication channel includes an application executing on the wireless device providing an estimate of end-to-end bandwidth of the communication channel; supplying to the application from wireless access circuitry in the wireless device at least on communication-related parameter and modifying in the application the estimate of end-to-end bandwidth using the at least one communication-related parameter.

Claims (36)

1. A method for controlling transmission of data by an application in a wireless user terminal, over a communication channel to another user terminal, the method comprising:

providing an estimate of end-to-end bandwidth of the communication channel between the wireless user terminal and the other user terminal;

receiving, at the application, from a media access control layer of a protocol stack in the wireless user terminal, at least one communication-related parameter; and

modifying, in the application, the estimate of end-to-end bandwidth using the at least one communication-related parameter.

2. The method of claim 1 , wherein the at least one communication-related parameter comprises an indication of a quantity of data in a buffer of the media access control layer.

3. The method of claim 2 , wherein the indication comprises at least one of an indication in time or bits.

4. The method of claim 1 , wherein the at least one communication-related parameter comprises a congestion indicator parameter.

5. The method of claim 1 , wherein the at least one communication-related parameter comprises a wireless signal quality parameter determined by wireless access circuitry.

6. The method of claim 1 , wherein the at least one communication-related parameter comprises a recent sending rate and wherein the modifying the end-to-end bandwidth of the communication channel comprises setting the estimated end-to-end bandwidth equal to the recent sending rate.

7. The method of claim 1 , wherein modifying the estimate of the end-to-end bandwidth comprises using an aggregate of a plurality of different communication-related parameters.

8. The method of claim 7 , wherein the aggregate is smoothed over time, and wherein the smoothed aggregate is used in modifying the estimate of end-to-end bandwidth.

9. The method of claim 8 , wherein an update rate of the smoothed aggregate is dependent on a difference between a current smoothed aggregate value and an observed instantaneous value of the aggregate.

10. The method of claim 1 , further comprising operations of controlling a transmission rate of the data from the wireless user terminal based on the modified estimate of end-to-end bandwidth.

11. The method of claim 1 , wherein the application is configured to generate the estimate of end-to-end bandwidth at the wireless user terminal.

12. The method of claim 1 , wherein the application is configured to receive an estimate of end-to-end bandwidth from the other user terminal.

13. The method of claim 1 , wherein the at least one communication-related parameter is received at predetermined intervals from the media access control layer.

14. The method of claim 1 , wherein the at least one communication-related parameter is received at an adaptive rate based on changes in the at least one communication parameter.

15. The method of claim 1 , wherein the application is one of a Voice over IP (VoIP) application, an Instant Messaging (IM) application, or a conferencing application.

16. A wireless device comprising:

a processor;

a computer-readable medium; and

an application stored on the computer-readable medium that, when executed on the processor, is configured to perform operations for controlling transmission of data from the wireless device to a receiver connected via a communication channel, the operations comprising:

providing an estimate of end-to-end bandwidth of the communication channel between the wireless device and the receiver;

receiving, at the application from a media access control layer of a protocol stack in the wireless device, at least one communication-related parameter; and

modifying in the application the estimate of end-to-end bandwidth using the at least one communication-related parameter.

17. The wireless device of claim 16 , wherein the at least one communication-related parameter comprises an indication of a quantity of data in a buffer of the media access control layer.

18. The wireless device of claim 16 , further comprising operations of controlling a transmission rate of the data from the wireless device based on the modified estimate of end-to-end bandwidth.

19. One or more computer-readable storage memories storing instructions of an application in a wireless device for controlling transmission of data over a communication channel in a wireless device, the instructions executable by one or more processors to perform operations comprising:

providing an estimate of end-to-end bandwidth of the communication channel;

receiving, at the application, from a media access control layer of a protocol stack in the wireless device, at least one communication-related parameter, the at least one communication-related parameter including a recent sending rate; and

modifying, in the application, the estimate of end-to-end bandwidth by setting the estimated end-to-end bandwidth equal to the recent sending rate.

20. One or more computer-readable storage memories comprising instructions of an application for controlling transmission of data over a communication channel in a wireless device, the instructions executable by one or more processors to perform operations comprising:

providing an estimate of end-to-end bandwidth of the communication channel;

receiving, at the application, from a media access control layer of a protocol stack in the wireless device, at least one communication-related parameter; and

modifying, in the application, the estimate of end-to-end bandwidth using the at least one communication-related parameter, the modifying the estimate of end-to-end bandwidth comprising using an aggregate of a plurality of different communication-related parameters,

wherein the aggregate is smoothed over time, wherein the smoothed aggregate is used in modifying the estimate of end-to-end bandwidth, and wherein an update rate of the smoothed aggregate is dependent on a difference between a current smoothed aggregate value and an observed instantaneous value of the aggregate.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: SKYPE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054586/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 034007 FRAME: 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 2, 2017
From: RÖDBRO, CHRISTOFFER; CHEN, MINGYU; ANDERSEN, SOREN VANG
To: SKYPE
Reel/Frame 041859/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2015
From: RÖDBRO, CHRISTOFFER; CHEN, MINGYU; ANDERSEN, SOREN VANG
To: SKYPE
Reel/Frame 034763/0752 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2014
From: RÖDBRO, CHRISTOFFER; CHEN, MINGYU; ANDERSEN, SOREN VANG
To: MICROSOFT CORPORATION
Reel/Frame 034007/0292 →