Methods and apparatus for proactive multi-path routing
First Claim
1. A method executable by a first media player device to proactively request segments of a first media stream from a server over a network, the method comprising:
- placing requests from the first media player device for segments of the first media stream to be delivered to the media device via the network by the server;
measuring, via a processor provided within the first media player device, a local error rate of data received at the first media player device via the network;
reporting the local error rate measured by the first media player device to the server;
in response to reporting the local error rate to the server, receiving business rules from the server that are formulated utilizing the local error rate and a plurality of other error rates reported by additional media player devices communicating with the server via the network; and
proactively adapting subsequent requests placed by the first media player device for segments of the first media stream based upon the local error rate and the business rules such that the first media player device is more likely to request lower bandwidth segments of the first media stream from the server, even when the local error rate measured by the first media player device is low, if the plurality of other error rates reported by the additional media player devices are undesirably high.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and devices are described to proactively adapt media streaming by a number of media player clients over the Internet or another data network. Each media player requests segments of an adaptive media stream for playback to a viewer. In some implementations, some or all of the media players in the system are able to measure packet loss or other indicia of issues with the data transmission. This indicia can be used to adapt subsequent requests for additional segments of the media stream. Moreover, some implementations could provide the measured packet loss or other indicia back to the server as feedback. The server, in turn, can use the feedback from the players (along with any other additional information) to formulate business rules that can be subsequently delivered to some or all of the players in the system. The media players can therefore adapt their segment request based upon locally measured data and/or based upon business rules that reflect system-wide conditions.
78 Citations
15 Claims
-
1. A method executable by a first media player device to proactively request segments of a first media stream from a server over a network, the method comprising:
-
placing requests from the first media player device for segments of the first media stream to be delivered to the media device via the network by the server; measuring, via a processor provided within the first media player device, a local error rate of data received at the first media player device via the network; reporting the local error rate measured by the first media player device to the server; in response to reporting the local error rate to the server, receiving business rules from the server that are formulated utilizing the local error rate and a plurality of other error rates reported by additional media player devices communicating with the server via the network; and proactively adapting subsequent requests placed by the first media player device for segments of the first media stream based upon the local error rate and the business rules such that the first media player device is more likely to request lower bandwidth segments of the first media stream from the server, even when the local error rate measured by the first media player device is low, if the plurality of other error rates reported by the additional media player devices are undesirably high. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A media player device, comprising:
-
a processor; and a memory storing software instructions that, when executed by the processor, cause the media player device to; place requests for segments of a media stream to be delivered to the media player device by a server via a network; measure, with the processor, a local error rate of data received via the network; report the local error rate to the server; in response to reporting the local error rate to the server, receive business rules from the server that are formulated in response to the local error rate and other error rates reported by a plurality of additional media player devices, which further communicate with the server via the network; and proactively adapt subsequent requests for the segments of the first media stream placed by the media player device based upon the local error rate and the business rules such that the local media player device request is more likely to request lower bandwidth segments from the server, even when the local error rate is low, if the other error rates reported by the plurality of additional media player devices are undesirably high. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A network server comprising:
-
a processor; a storage device; and an interface to a network; wherein the processor is configured to; transmit data to a plurality of media player devices communicating with the server via the network; receive, and store within the storage device, reports from at least some of the plurality of media player devices, the reports indicating error rates of the data transmissions received at the media player devices providing the reports; formulate a set of business rules based upon the reports; and transmit the set of business rules to the plurality of media player devices; wherein the set of business rules instructs at least a first media player device included in the plurality of media player devices to request lower bandwidth segments of streaming media content, even when a local error rate measured by the first media player device is low, if at least some of the error rates reported by the plurality of media players devices are undesirably high. - View Dependent Claims (14, 15)
-
Specification