The Last Frontier for P2P VOD: Your Patience

Imagine you’re watching a movie via Internet-based VOD, one of those flicks you choose purely for the action scenes. Problem is, the dialogue is horrendous. What do you do? Skip ahead, of course. Such skipping can be a major technical challenge, however, especially if your VOD provider uses P2P technology to deliver its video streams. But five researchers from Spanish ISP Telefonica and UC Irvine have come up with a way to solve this problem.

Jumping back and forth within a movie can be tricky even for traditional VOD providers that don’t use P2P. Chris Albrecht’s recent Amazon HD VOD test demonstrated this well; Amazon’s service had numerous problems with its video quality after a jump, and each skip took a long time.

Try to make a similar switch in a P2P environment, and you’re gonna have a host of new issues. P2P tends to work best if many users watch the same thing more or less at the same time, or if newer viewers can access cached content from others that are already halfway into the movie — something the UCI and Telefonica researchers call a “cascade of peers.” Introduce skipping to such a system, and your neat caching cascade suddenly goes out of the window.

This is where Kangaroo hops to the rescue. The system uses a tracker server similar to the one used by BitTorrent to help peers find each other and make sure everyone gets their fair share of bits and bytes. However, Kangaroo’s tracker goes a few steps further, keeping track of not just which part of a video each user is watching at any given time, but which parts of a video they’ve already watched. Those are pretty resource-intensive tasks, which is why Kangaroo uses some hash table magic as well as a few educated guesses to avoid constant communication with those jumpy peers.

Kangaroo was tested in a lab environment with thousands of simulated peers, as well as with several hundred users, during the 2008 Olympics. The researchers were also able to use some internal data from Telefonica’s own VOD service, consisting of 65,498 VOD sessions, to get a sense of how people really use these services. Turns out that 90 percent percent of viewers do 10 or less jumps within a movie — a number the folks behind Kangaroo think it can handle.

So how about other P2P vendors? Both Joost and Babelgum ditched their P2P VOD efforts in recent months and went back to server-based video streaming. When asked whether those impatient, skipping viewers may have had something to do with the change in direction, Telefonica researcher and Kangaroo co-inventor Parminder Chhabra replied that Joost and Babelgum probably had a similar approach for skipping content as part of their proprietary P2P solutions.

However, good algorithms only get you so far. “At every jump operation, you have to quickly find new peers with whom you can share data,” Chhabra explained. “These systems work better if there are a large number of simultaneous users of the system.” We all know that Joost wasn’t exactly the popular kid when it relied on its external app, which is why users ended up getting a lot of their content from Joost’s servers, despite its P2P architecture.

In other words, there are two components necessary to making P2P VOD work: Good technology that is capable of dealing with lack of patience on the part of the viewer, and good content that will lead to more viewers — and potentially much less skipping.

The concept of transmitting a table of other available hashes when forwarding a requested data segment to a peer is not at all new. Indeed, the GridCast product has used this method to keep track of who has what since early 2005, in large part because we assumed that scrub functionality defines a true stream delivery system and that controls like fast-forward and jump will be used (and appreciated) if offered to viewers. Because every receiver has a segment map for each “peer,” it just directs requests to the appropriate sources. In this way, overall “grid efficiency” is based not only on the popularity of individual titles, but on the popularity of individual scenes as well.

The net isn’t neutral. A bit is cheaper to transfer the closer you get to the user.

That’s why ISPs will gladly install p2p seed servers on all of their local networks, as close as possible to their customers. This way ISPs can save money and provide a better bandwidth for everyone. Otherwise ISPs will simply have to offer crappy bandwidth for everyone or they will have to pay more for providing their customers with all that bandwidth.

Basically ISPs will cache p2p streaming and p2p on-demand streaming and downloading, with the help of Google and any other major p2p technology providers.

And if the ISP don’t cause they want to control video, well then it’s their problem and customers should have alternatives. If customers don’t have ISP alternatives, that becomes a political problem and politics could eventually force ISPs to provide everyone good unrestricted bandwidth.

Another thing I was thinking about instant video skipping, pausing, fast forwarding service, would be to have centralized servers kicking in to instantly provide on-demand instant streaming at the skipping point while the p2p streaming part can take a few extra seconds to buffer and adjust to take over as soon as it is ready.

This way, instant skipping service, by being centralized, might cost money, so you might only get that service as a end user if you pay for that service for example. Perhaps an extra overlay ad can be shown everytime that the user skips in the video to cover the cost of those 15-20 seconds or so of centralized and controlled skip-video streaming delivery.

This is what I expect that Google will do or that I would do if I was deciding at Google:

Release a 100kb p2p streaming and download manager application, something like the cancelled Google Video Player application, but for p2p managment.

Of course Google p2p would have the best p2p algorithms for streaming, for downloading and for seeding.

Integrate Google p2p with Youtube On-Demand and Youtube Live services. If you want high quality Live streaming or high quality downloads, or high quality streams of on-demand content, you would have to use this application.

Google p2p should synchronize perfectly with peer caching servers setup by all the ISPs in the world to locally seed all the most popular contents, thus lower their costs of p2p transfers. So the Google p2p client checks for the availability of the content on the caching servers located closest to it, Google big Table would process all that information about the data packets availability closest to the users.

Android mobile phone devices will have this Google p2p technology integrated. Not necessarily to upload on p2p from HSDPA mobile phones, but to download from p2p locations especially when millions of people are streaming the same content at the same time onto their mobile phones.

There’s a third element for success for P2P – a revenue model. If P2P vendors cannot lock viewers into either PPV or subscriptions plans who will pay the content providers? VoD is hard enough to monetize – sorry I meant to say impossible. If you give the viewer control of the stream he will inevitably bypass commercials a la Tivo.

Can someone point us to a better model than old TV – linear programming, ads inserted, very little user control?