IP Library › Granted Patent US 7,983,300
Granted Patent B2
US 7,983,300 · App. 11/963,781 · Granted Jul 19, 2011

Method and apparatus for measuring bandwidth

Assignee: Apple Inc.
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 7,983,300
App. No.
11/963,781
Granted
Jul 19, 2011
Kind
B2
Abstract

For a network that connects several computers, a method of determining the network bandwidth between two computers. The method measures a first time interval between when one of the computers (1) sends a first data set to the other computer and (2) receives a first response. It also measures a second time interval between when one of the computers (1) sends a second data set to the other computer and (2) receives a second response. The method then identifies the network bandwidth from the two measured time intervals.

Claims (62)

1. A method of network communication, the method comprising:

sending a first amount of uncompressible data;

sending a second amount of uncompressible data that has a different length than the first amount of uncompressible data, wherein the first and second amounts of uncompressible data are data that cannot be compressed for communication over a network;

receiving a response for each sent amount of data; and

determining a network bandwidth based on a time difference between the sending of each amount of uncompressible data and that sending's corresponding response.

2. The method of claim 1 , wherein said first amount of uncompressible data comprises random data.

3. The method of claim 1 , further comprising specifying a rate for streaming content according to said network bandwidth.

4. The method of claim 3 , wherein said content comprises uncompressible content.

5. The method of claim 4 , wherein said uncompressible content is uncompressible because the content has previously been compressed.

6. The method of claim 1 , wherein said first and second amounts of uncompressible data are sent from a first computer to a second computer, and said responses are received from said second computer.

7. A method of determining network bandwidth, the method comprising:

sending a first amount of data comprising uncompressible data;

sending a second amount of data comprising uncompressible data, wherein the uncompressible data of the first and second amounts of data are data that cannot be compressed for communication over a network;

receiving a first response to said sending of said first amount of sent data and a second response to said second amount of sent data; and

calculating said network bandwidth based on:

a first time interval between said sending said first amount of data and receiving said first response;

a second time interval between said sending said second amount of data and receiving said second response; and

a difference in a size of the first amount of data and a size of the second amount of data.

8. The method of claim 7 , wherein said first and second amounts of data are sent from a first computer to a second computer and said first and second responses are received from said second computer.

9. The method of claim 8 , wherein the first computer is a server and the second computer is a client.

10. The method of claim 9 , wherein the server is for transmitting streaming content.

11. The method of claim 10 , wherein said content comprises uncompressible content.

12. The method of claim 11 , wherein said uncompressible content is uncompressible because the content has previously been compressed.

13. The method of claim 10 , wherein said content comprises realtime protocol content.

14. The method of claim 7 , wherein said first amount of data comprises random data.

15. A method of network communication, the method comprising:

sending a first Realtime Streaming Protocol (RTSP) communication;

sending a second RTSP communication that has a different length than the first RTSP communication;

receiving a response for each RTSP communication; and

determining a network bandwidth based on a time difference between each sent RTSP communication and that communication's corresponding response.

16. The method of claim 15 further comprising streaming Realtime Transport Protocol packets from a computer to another computer.

17. The method of claim 15 , wherein the first RTSP communication comprises an options request, wherein the response to the first RTSP communication comprises an error message.

18. The method of claim 17 , wherein said error message indicates that said options request is not supported.

19. The method of claim 15 , wherein each of said responses comprises an error message.

20. The method of claim 15 , further comprising specifying a rate of streaming content according to said network bandwidth.

21. A non-transitory computer readable medium storing a computer program for network communication, the computer program comprising sets of instructions for:

sending a first amount of uncompressible data;

sending a second amount of uncompressible data that has a different length than the first amount of uncompressible data, wherein the first and second amounts of uncompressible data are data that cannot be compressed for communication over a network;

receiving a response for each sent amount of data; and

determining a network bandwidth based on a time difference between the sending of each amount of uncompressible data and that sending's corresponding response.

22. The non-transitory computer readable medium of claim 21 , wherein the computer program further comprises a set of instructions for specifying a rate for sending compressed content according to the network bandwidth.

23. The non-transitory computer readable medium of claim 21 , wherein the computer program further comprises a set of instructions for selecting one of a plurality of different versions of a content to stream based on the network bandwidth.

24. The non-transitory computer readable medium of claim 21 , wherein the first and second amounts of uncompressible data are sent from a first computer and received at a second computer.

25. A non-transitory computer readable medium storing a computer program for determining network bandwidth, the computer program comprising sets of instructions for:

sending a first amount of data comprising uncompressible data;

sending a second amount of data comprising uncompressible data, wherein the uncompressible data of the first and second amounts of data are data that cannot be compressed for communication over a network;

receiving a first response to said first amount of sent data and a second response to said second amount of sent data; and

calculating said network bandwidth based on:

a first time interval between said sending said first amount of data and receiving said first response;

a second time interval between said sending said second amount of data and receiving said second response; and

a difference in a size of the first amount of data and a size of the second amount of data.

26. The non-transitory computer readable medium of claim 25 , wherein the computer program further comprises a set of instructions for selecting one of a plurality of different versions of a content to stream based on the network bandwidth.

27. The non-transitory computer readable medium of claim 25 , wherein the first and second amounts of data are sent from a first computer and received at a second computer.

28. The non-transitory computer readable medium of claim 25 , wherein the computer program further comprises a set of instructions for specifying a rate for sending compressed content according to the network bandwidth.

29. A non-transitory computer readable medium storing a computer program for network communication, the computer program comprising sets of instructions for:

sending a first Realtime Streaming Protocol (RTSP) communication;

sending a second RTSP communication, wherein the second RTSP communication has a different length than the first RTSP communication;

receiving a response for each RTSP communication; and

determining a network bandwidth based on a time difference between each sent RTSP communication and that communication's corresponding response.

30. The non-transitory computer readable medium of claim 29 , wherein the first RTSP communication comprises an options request, wherein the response to the first RTSP communication comprises an error message.

31. The non-transitory computer readable medium of claim 29 , wherein the computer program further comprises a set of instructions for selecting a particular version of a plurality of different versions of content to stream over a network based on the network bandwidth.

32. The non-transitory computer readable medium of claim 29 , wherein the computer program further comprises a set of instructions for specifying a rate for streaming content according to the network bandwidth.

Continuity (2)
Continuation 10315621 · Dec 10, 2002
Related Publication 20080098124A1 · Apr 24, 2008