Practical algorithms for rate adaptation I am interested about reading material on rate adaptation, by which I mean the process of adapting the bandwidth/rate allocated for a streaming application, ranging from services such as YouTube, to Netflix or Skype calls. 

I would like to have references to papers or any kind of material where are described practical solutions that adapt the rate of the media to network and environmental conditions.

I am especially interested about algorithms that can be applied from the perspective of the end user.
You may want to read the spec for Apple's HTTP Live Streaming
and see their recommended settings.

While the standard seems to be quite well thought through, its real-world performance on iOS still needs some improvement. Switching qualities and streams (for ads) often results in less than stellar experiences. Encoder support also needs to be more accessible, I think.