Method and apparatus for measuring stream availability, quality and performance
1 Assignment
0 Petitions
Accused Products
Abstract
A streaming measurement agent designed to experience, measure, and report on a media stream as an actual end user would experience the stream. Preferably, agent resides transparently within a streaming media player itself so that it can monitor stream packet flows within the player as the measured streams are being played. In an illustrative embodiment, the agent comprises a performance monitoring module (PMM), which is software that resides in an interface between an existing core module and a renderer of a media player. The agent PMM intercepts each useful packet as it goes from the core to the renderer and, as a result, it is able to compute quality metrics about the playback. The agent functions “transparently” to the media player by presenting the core with an application programming interface (API) that emulates the API that the renderer normally presents to the core. Thus, when the core believes it is calling the renderer, it is actually calling the agent PMM, which can then receive all the packets from the core and process them. After computing relevant performance metrics using the packets it receives, the agent PMM calls the renderer. A set of performance agents can be managed by a service provider to enable a content provider to determine how a stream is perceived by end users.
64 Citations
20 Claims
-
1. (canceled)
-
2. (canceled)
-
5. (canceled)
-
7. (canceled)
-
8. (canceled)
-
9. (canceled)
-
12. (canceled)
-
13. (canceled)
-
14. (canceled)
-
17. (canceled)
-
18. A stream monitoring system, comprising:
-
a first sub-system for provisioning a stream quality test;
a set of monitoring agents positioned at given network locations for executing the stream quality test, each of the monitoring agents associated with a streaming media player having a core and a renderer, each agent comprising;
code for intercepting each useful packet of a given stream as the useful packet exits the core and before the useful packet enters the renderer, wherein each useful packet has a given set of properties, wherein the properties are that the packet has not been thinned by a server, that the packet was not lost in an unrecoverable manner during transport, and that the packet arrived at the renderer in time to be useful for rendering;
code for capturing a given stream quality metric from the intercepted packets; and
code for outputting data associated with the given stream quality metric;
a second sub-system for collecting the data from the set of monitoring agents. - View Dependent Claims (3, 4, 6, 10, 11, 15, 16)
-
-
19. A stream monitoring method, comprising:
-
delivering a media stream to each of a set of agents, each agent having a core and a renderer;
at each agent, intercepting useful packets of the stream as those packets cross an interface between the core and the renderer, wherein each useful packet has a given set of properties, wherein the properties are that the packet has not been thinned by a server, that the packet was not lost in an unrecoverable manner during transport, and that the packet arrived at the renderer in time to be useful for rendering;
capturing a given stream quality metric from the intercepted useful packets; and
collecting data from each of the agents. - View Dependent Claims (20)
-
Specification