IP Library Granted Patent US 9,967,189
Granted Patent B2
US 9,967,189 · App. 12/965,750 · Granted May 8, 2018

System and method for determining network conditions

Inventors: Sujal M. Patel (Seattle, WA); Jeffrey M. Ayars (Federal Way, WA); Rahul Agarwal (Seattle, WA); Bradley D. Hefta-Gaub (Seattle, WA); Peter S. Haight (Berkeley, CA); Dale R. Stammen (Seattle, WA); Philip Rosedale (Seattle, WA)
Assignee: Intel Corporation
H04L47/11H04L43/062H04L43/0852H04L47/10H04L47/18H04L47/283
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,967,189
App. No.
12/965,750
Granted
May 8, 2018
Kind
B2
Abstract

A system and a method determine network conditions. The system includes a server computer and a client computer. The server computer is configured to transmit data packets comprising a data object from the server computer to the client computer. The client computer includes a transmission latency detector and a transmission bandwidth detector. The transmission latency detector uses transmission time and receipt time values to determine the changes in time it takes selected portions of the data object to be transmitted from the server computer to the client computer. The transmission bandwidth detector uses identified back-to-back data packets to determine the transmission bandwidth between the server computer and the client computer.

Claims (40)

1. A method of determining network conditions, the method comprising:

determining a first time associated with receipt of a first data packet;

determining a second time associated with receipt of a second data packet sent immediately after the first data packet;

determining a size of the second data packet;

calculating a transmission bandwidth by dividing the size of the second data packet by a function of a difference between the first and second times; and

reading a header in the first data packet, wherein the header includes data indicating the second data packet will be transmitted immediately after transmission of the first data packet to make the first and second data packets back-to-back data packets.

2. The method of claim 1 , additionally comprising reporting to a server computer the transmission bandwidth.

3. The method of claim 1 , wherein the data packets are two of a plurality of data packets that collectively comprise a portion of a media presentation rendered to a user.

4. A transmission bandwidth detector for determining a bandwidth in data communication, the transmission bandwidth detector arranged to:

determine a first time associated with receipt of a first data packet;

determine a second time associated with receipt of a second data packet sent immediately after the first data packet;

determine a size of the second data packet; and

calculate a transmission bandwidth by dividing the size of the second data packet by a function of a difference between the first and second times;

wherein the transmission bandwidth detector is further arranged to read a header in the first data packet, wherein the header includes data indicating the second data packet will be transmitted immediately after transmission of the first data packet to make the first and second data packets back-to-back data packets.

5. The transmission bandwidth detector of claim 4 , wherein the transmission bandwidth detector includes computer instructions on a computer readable medium configured to be executed by a computer.

6. The transmission bandwidth detector of claim 4 , wherein the transmission bandwidth detector is configured to report the transmission bandwidth to a server computer.

7. The transmission bandwidth detector of claim 4 , wherein the data packets are two of a plurality of data packets that collectively provide a streaming media presentation.

8. A system comprising:

a computer comprising:

a packet receiver operable to receive data packets via a network;

and

a transmission bandwidth detector operable to:

determine a first time corresponding to receipt of a first data packet;

determine a second time corresponding to receipt of a second data packet sent immediately after the first data packet;

determine a size of the second data packet; and calculate a transmission bandwidth by dividing the size of the second data packet by a function of a difference between the first and second times;

wherein the transmission bandwidth detector is further arranged to read a header in the first data packet, wherein the header includes data indicating the second data packet will be sent immediately after sending the first data packet.

9. The system of claim 8 , wherein the transmission bandwidth detector is configured to report the transmission bandwidth to a server.

10. The system of claim 8 , wherein the first and second data packets are two of a plurality of data packets that collectively provide a streaming media presentation.

11. The system of claim 8 , further comprising: a modem for receiving the data packets.

12. The system of claim 8 , wherein the first and second data packets are back-to-back data packets.

13. The system of claim 8 , wherein the function of the difference between the first and second times includes a length of time between receipt of the first data packet and receipt of the second data packet.

14. A non-transitory computer readable storage medium storing a program that, when executed by a computer, causes the computer to:

determine a first time associated with receipt of a first data packet;

determine a second time associated with receipt of a second data packet sent immediately after the first data packet;

determine a size of the second data packet; and

calculate a transmission bandwidth by dividing the size of the second data packet by a function of a difference between the first and second times;

wherein the program, when executed by the computer, causes the computer to read a header in the first data packet, wherein the header includes data indicating the second data packet will be transmitted immediately after transmission of the first data packet to make the first and second data packets back-to-back data packets.

15. The computer readable storage medium of claim 14 , wherein the program, when executed by the computer, causes the computer to:

report the transmission bandwidth to a server computer.

16. The computer readable storage medium of claim 14 , wherein the data packets are two of a plurality of data packets that collectively provide a streaming media presentation.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2012
From: REALNETWORKS, INC.
To: INTEL CORPORATION
Reel/Frame 028752/0734 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNORS PREVIOUSLY RECORDED ON REEL 027582 FRAME 0860. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 20, 2012
From: PATEL, SUJAL M.; AYARS, JEFFREY M.; AGARWAL, RAHUL; HEFTA-GAUB, BRADLEY D.; HAIGHT, PETER S.; STAMMEN, DALE R.; ROSEDALE, PHILIP
To: REALNETWORKS, INC.
Reel/Frame 027897/0630 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2012
From: AYARS, JEFFREY M.; AGARWAL, RAHUL; HEFTA-GAUB, BRADLEY D.; HAIGHT, PETER S.; STAMMEN, DALE R.; ROSEDALE, PHILIP
To: REALNETWORKS, INC.
Reel/Frame 027582/0860 →
Continuity (3)
Continuation 10800535 · Mar 15, 2004
Continuation 09246506 · Feb 8, 1999
Related Publication 20110080840A1 · Apr 7, 2011