A recent question to me from a “born back bencher” eavesdropping on the end-to-end groups musings asked “…how they can even believe they can accomplish a good result with TCP for VOD [Video On Demand]? Yeah they gave me good on SACK and NACK and no matter how many RFCs and drafts they quote, which I have never read, the logic still seems obtuse if the window is end to end”. Actually, this isn’t a silly question – it’s a good one in that we need to examine our environment and definitions carefully and has a lot of richness. Just what a physicist loves!
VOD isn’t just TCP, although end-to-end quality is very much based on how the customer perceives the stream (if you’re truly streaming). If you’re transiting through wireless, all bets are off – no one does good work in this area (yet) as I discuss in Buffer, Buffer, Where is the Buffer? on Byte.
But to get to the gestalt, in a video quality study I conducted several years ago we found you had to deal with VOD at several levels, from production of video for the Internet to TCP streaming optimization – in this case we used InterProphet’s SiliconTCP here at the datacenter as well as client end (see SiliconTCP, EtherSAN, and Scalability). It’s really the big pipe / little pipe problem at the customer end that’s the bigger issue here – but we’re now in Internet infrastructure land, and that’s a hard-fought area. But in all cases, jitter is the key!