Changing streaming media quality level based on current device resource usage
AssigneeMicrosoft Corporation
InventorsPradip K. Fatehpuria, Vivek Thukral, Steven James Chin
Life of this patent
Estimating the term…
Abstract
Streaming media is received from a source system. A current overall resource usage of a resource of the device (such as a CPU or memory of the device) is obtained. A check is made as to whether the current overall resource usage exceeds a resource threshold value. If the current overall resource usage exceeds the resource threshold value, then an indication is provided to the source system to reduce a quality level of the streaming media. The streaming media is received from the source system at the reduced quality level until there is sufficient resource capacity at the device to increase the quality level.
Claims20
A method implemented in a device, the method comprising:
- receiving streaming media from a source system;
- obtaining a current overall resource usage of a resource of the device;
- checking whether the current overall resource usage exceeds a resource threshold value;
- indicating, to the source system, to reduce a quality level of the streaming media from a current quality level if the current overall resource usage exceeds the resource threshold value;
- and repeating the obtaining, checking, and indicating while receiving the streaming media, such that the repeating comprises:
- repeating the obtaining and checking at a first interval of time if a program having a particular identity is executing on the device;
- and
- repeating the obtaining and checking at a second interval of time if the program having the particular identity is not executing on the device, such that the second interval of time is shorter than the first interval of time.
One or more computer storage media having stored thereon multiple instructions that, when executed by one or more processors of a computing device, cause the one or more processors to:
- determine, while receiving streaming media from a source system, whether a current overall resource usage of a resource of the computing device exceeds a resource threshold value;
- indicate, to the source system to reduce a quality level of the streaming media from a current quality level if the current overall resource usage of a resource of the computing device exceeds a resource threshold value;
- and
- perform the determination and indication again after a first predetermined period of time when a program having a particular identity is executing on the device while receiving the streaming media;
- and
- perform the determination and indication again after a second predetermined period of time when the program having the particular identity is not executing on the device, such that the second predetermined period of time is shorter than the first predetermined period of time.
A method implemented in a device including a central processing unit (CPU), the method comprising:
- determining, while receiving streaming media from a source system, whether a current overall CPU usage exceeds a threshold value, such that the current overall CPU usage comprises CPU usage by all threads running on the device;
- indicating, to the source system to reduce a quality level of the streaming media if the current overall CPU usage exceeds the threshold value;
- subsequently determining, after a particular interval and while receiving the streaming media from the source system, whether a new current overall CPU usage exceeds the threshold value, such that the particular interval comprises a first predetermined period of time when a program having a particular identity is executing on the device, and the particular interval comprises a second predetermined period of time when the program having the particular identity is not executing on the device, such that the second predetermined period of time is shorter than the first predetermined period of time;
- checking whether there is sufficient CPU capacity to increase the quality level of the streaming media, such that the checking is based at least in part on the new current overall CPU usage, an amount of CPU usage of a streaming media playback thread when receiving the streaming media prior to indicating to the source system to reduce the quality level of the streaming media, and a filter value;
- indicating, if there is sufficient CPU capacity to increase the quality level of the streaming media, to the source system to use a quality level for the media streaming that is based at least in part on available bandwidth of a network between the source system and the device;
- and
- indicating, if there is not sufficient CPU capacity to increase the quality level of the streaming media, to use the lower of the reduced quality level of the streaming media and the quality level for the media streaming that is based at least in part on available bandwidth of the network.
Dependencies are inferred from the claim text.