IP Library Granted Patent US 8,706,895
Granted Patent B2
US 8,706,895 · App. 13/174,725 · Granted Apr 22, 2014

Determination of quality of a consumer's experience of streaming media

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,706,895
App. No.
13/174,725
Granted
Apr 22, 2014
Kind
B2
Abstract

A bit stream analyzer may detect a bitstream representing a streamed content file that is being streamed from a streaming server to a client over a network connection. An encoding rate extractor may determine an encoding rate of the bitstream, and a bit rate extractor may determine a transfer bit rate at which the bitstream is being streamed. A pause calculator may determine a minimum wait time experienced at the client during which playback of the streamed content file is paused, based on the encoding rate and the transfer bit rate.

Claims (42)

1. A computer system including instructions recorded on a non-transitory computer-readable medium and executable by at least one processor, the system comprising:

a bit stream analyzer configured to cause the at least one processor to detect a bitstream representing a streamed content file that is being streamed from a streaming server to a client over a network connection;

an encoding rate extractor configured to cause the at least one processor to determine an encoding rate of the bitstream;

a bit rate extractor configured to cause the at least one processor to determine a transfer bit rate at which the bitstream is being streamed; and

a pause calculator configured to cause the at least one processor to determine a minimum wait time experienced at the client based on a Legendre transform of a graph based on bits downloaded as a function of elapsed real time, the minimum wait time being experienced during a playback of the streamed content file during which the streamed content file is paused, the minimum wait time being based on the encoding rate and the transfer bit rate.

2. The system of claim 1 , wherein the system is external to the client and the streaming server.

3. The system of claim 1 , wherein the bit stream includes data packets and wherein the encoding rate extractor is configured to determine the encoding rate based on data extracted from the packets.

4. The system of claim 1 , wherein the streaming server and the client are in communication with one another and wherein the bit rate extractor is configured to calculate the transfer bit rate at least partially based on the communication.

5. The system of claim 1 , wherein the bit rate extractor and the encoding rate extractor are configured, respectively, to

to represent the transfer bit rate such that the graph provides bits downloaded as a function of elapsed real time, and

to represent the encoding rate as a slope of a line intersecting the graph.

6. The system of claim 5 , wherein the pause calculator is configured to calculate the minimum wait time using a Legendre transform of the graph, relative to the slope of the line.

7. The system of claim 5 , comprising a rate-to-content converter configured to express the encoding rate as a linear function and to transform the representation of transfer bit rate on the graph from bits downloaded as a function of elapsed real time to elapsed video time as a function of elapsed real time.

8. The system of claim 1 , comprising a simulator configured to determine behavior of a buffer associated with the client and to simulate streaming of the bit stream to the client based thereon.

9. The system of claim 8 , wherein the bit rate extractor and the encoding rate extractor are configured, respectively,

to represent the transfer bit rate such that the graph is a function of time, and

to represent the encoding rate as a slope of a line intersecting the graph, and wherein

the simulator is configured to determine a number of pause events associated with the streaming, based on the graph, the slope, and the buffer behavior.

10. A computer-implemented method, comprising:

detecting a bitstream representing a streamed content file that is being streamed from a streaming server to a client over a network connection;

determining an encoding rate of the bitstream;

determining a transfer bit rate at which the bitstream is being streamed; and

determining a minimum wait time experienced at the client based on a Legendre transform of a graph based on bits downloaded as a function of elapsed real time, the minimum wait time being experienced during a playback of the streamed content file during which the streamed content file is paused, the minimum wait time being based on the encoding rate and the transfer bit rate.

11. The method of claim 10 , wherein

the graph represents transfer bit rate as bits downloaded as a function of elapsed real time and,

the encoding rate is represented as a slope of a line intersecting the graph.

12. The method of claim 10 , wherein

the encoding rate is expressed as a linear function, and

the representation of transfer bit rate on the graph is converted from bits downloaded as a function of elapsed real time to elapsed video time as a function of elapsed real time.

13. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable medium and comprising instructions that, when executed, are configured to:

detect a bitstream representing a streamed content file that is being streamed from a streaming server to a client over a network connection;

determine an encoding rate of the bitstream;

determine a transfer bit rate at which the bitstream is being streamed; and

determine a minimum wait time experienced at the client based on a Legendre transform of a graph based on bits downloaded as a function of elapsed real time, the minimum wait time being experienced during a playback of the streamed content file during which the streamed content file is paused, the minimum wait time being based on the encoding rate and the transfer bit rate.

14. The computer program product of claim 13 , wherein

the graph represents transfer bit rate as bits downloaded as a function of elapsed real time, and

the encoding rate is represented as a slope of a line intersecting the graph.

15. The computer program product of claim 13 , wherein

the encoding rate is expressed as a linear function, and

the representation of transfer bit rate on the graph is converted from bits downloaded as a function of elapsed real time to elapsed video time as a function of elapsed real time.

16. The computer program product of claim 13 , wherein behavior of a buffer associated with the client is used to simulate streaming of the bit stream to the client to thereby determine a number of pause events associated with the streaming.

17. The computer program product of claim 16 , wherein a total wait time equal to or greater than the minimum wait time is determined as a summation of the pause events.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2012
From: ZANY, SEBASTIEN MARC PETER; HSY, JOE PEI-WEN; LAROSE, PIERRE
To: BMC SOFTWARE, INC.
Reel/Frame 027678/0006 →