IP Library Granted Patent US 8,520,678
Granted Patent B2
US 8,520,678 · App. 13/089,249 · Granted Aug 27, 2013

Network bandwidth measurement

Inventor: Anders E Klemets (Redmond, WA)
Assignee: Microsoft Corporation
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,520,678
App. No.
13/089,249
Granted
Aug 27, 2013
Kind
B2
Abstract

Technologies for measuring a data throughput rate of a link typically used for transferring media catalogs and media between a media provider and an UPnP Control Point.

Claims (38)

1. A method performed on a computing device, the method for measuring and returning a throughput rate of a link, the method comprising:

estimating, based on a fifth value derived from a target bit rate, a data throughput rate of a plurality of estimated data throughput rates;

calculating, in response to the estimated data throughput rate being less than a first value and based on the estimated data throughput rate, an average data throughput rate of a plurality of calculated average throughput rates;

considering, in response to the estimated data throughput rate being less than the first value, the estimated data throughput rate to be a good measurement;

returning, in response to at least one good measurement and in response to the estimated data throughput rate being less than a second value, the calculated average data throughput rate as the throughput rate of the link;

increasing the target bit rate by a third value in response to the estimated data throughput rate not being less than the second value and in response to the estimated data throughput rate being greater than a fourth value;

repeating the method in response to the increasing or to the estimated data throughput rate not being greater than the fourth value, and further in response to the increasing being performing less than a particular number of times, and further in response to less than a particular number of good measurements.

2. The method of claim 1 wherein the estimated data throughput rate is based on an actual amount of time required to transfer a number of bytes over the link, the number of transferred bytes determined based on the target bit rate.

3. The method of claim 1 wherein the first value is no more than three times the target bit rate.

4. The method of claim 1 wherein the second value is less than the target bit rate.

5. The method of claim 1 wherein the third value is greater than zero.

6. The method of claim 1 wherein the fourth value is greater than the target bit rate.

7. The method of claim 1 wherein the target bit rate represents a number of bits per second.

8. At least one computer readable media storing computer-executable instructions that, when executed by a computer, cause the computer to perform a method for measuring and returning a throughput rate of a link, the actions comprising:

estimating, based on a fifth value derived from a target bit rate, a data throughput rate of a plurality of estimated data throughput rates;

calculating, in response to the estimated data throughput rate being less than a first value and based on the estimated data throughput rate, an average data throughput rate of a plurality of calculated average throughput rates;

considering, in response to the estimated data throughput rate being less than the first value, the estimated data throughput rate to be a good measurement;

returning, in response to at least one good measurement and in response to the estimated data throughput rate being less than a second value, the calculated average data throughput rate as the throughput rate of the link;

increasing the target bit rate by a third value in response to the estimated data throughput rate not being less than the second value and in response to the estimated data throughput rate being greater than a fourth value;

repeating the method in response to the increasing or to the estimated data throughput rate not being greater than the fourth value, and further in response to the increasing being performing less than a particular number of times, and further in response to less than a particular number of good measurements.

9. The at least one computer readable media of claim 8 wherein the estimated data throughput rate is based on an actual amount of time required to transfer a number of bytes over the link, the number of transferred bytes determined based on the target bit rate.

10. The at least one computer readable media of claim 8 wherein the first value is no more than three times the target bit rate.

11. The at least one computer readable media of claim 8 wherein the second value is less than the target bit rate.

12. The at least one computer readable media of claim 8 wherein the third value is greater than zero.

13. The at least one computer readable media of claim 8 wherein the fourth value is greater than the target bit rate.

14. The at least one computer readable media of claim 8 wherein the target bit rate represents a number of bits per second.

15. A computing device and at least one program module together configured for performing actions for measuring and returning a throughput rate of a link, the actions comprising:

estimating, based on a fifth value derived from a target bit rate, a data throughput rate of a plurality of estimated data throughput rates;

calculating, in response to the estimated data throughput rate being less than a first value and based on the estimated data throughput rate, an average data throughput rate of a plurality of calculated average throughput rates;

considering, in response to the estimated data throughput rate being less than the first value, the estimated data throughput rate to be a good measurement;

returning, in response to at least one good measurement and in response to the estimated data throughput rate being less than a second value, the calculated average data throughput rate as the throughput rate of the link;

increasing the target bit rate by a third value in response to the estimated data throughput rate not being less than the second value and in response to the estimated data throughput rate being greater than a fourth value;

repeating the method in response to the increasing or to the estimated data throughput rate not being greater than the fourth value, and further in response to the increasing being performing less than a particular number of times, and further in response to less than a particular number of good measurements.

16. The computing device and the at least one program module of claim 15 wherein the estimated data throughput rate is based on an actual amount of time required to transfer a number of bytes over the link, the number of transferred bytes determined based on the target bit rate.

17. The computing device and the at least one program module of claim 15 wherein the first value is no more than three times the target bit rate.

18. The computing device and the at least one program module of claim 15 wherein the second value is less than the target bit rate.

19. The computing device and the at least one program module of claim 15 wherein the third value is greater than zero.

20. The computing device and the at least one program module of claim 15 wherein the fourth value is greater than the target bit rate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
Continuity (2)
Continuation 12144633 · Jun 24, 2008
Related Publication 20110194446A1 · Aug 11, 2011