If you have been following my posts, you know that I focus on voice and video on the network. Much of the discussion, and much of my work, concentrates on configuring the network so it will deliver the best possible transport for voice or video streams. Voice and video need special treatment and so the network has to be tuned to give them better service so high quality voice and video are delivered. But does it have to be this way?The intrinsic assumption in my first paragraph is that voice and video can't be designed any other way. But cracks in this theory are beginning to show in the industry. There are a number of efforts out there to build voice and video conferencing applications that will deliver high quality results over a not-so-good network. If these technologies really work well and get traction in the market, maybe all this fussing with QoS and network testing won't be required. Can this really happen?
Here are some of the efforts I know about. Comment on this blog if you know about more technologies that I am unaware of.
1.) Microsoft has developed a wide-band voice codec for use with OCS. One of the interesting characteristics of this codec is that when packet loss occurs, it does not degrade voice quality nearly as quickly as traditional codecs. Psytechnics did detailed testing on this codec and wrote a report (PDF available here). Dr. Mike Hollier of Psytechnics wrote the book (and the standard) on voice quality over IP networks so if he says so I believe it.
2.) Polycom is now supporting a form of Forward Error Correction (FEC) on their video conferencing endpoints they call LPR (Lost Packet Recovery). LPR sends additional bits of information in every video packet that allows the receiving codec to reconstruct missing packets. The codec reduces the video transmission rate slightly to accommodate the additional overhead bandwidth so the network sees no impact.
3.) Vidyo is delivering a video conferencing product based on the new H.264/SVC standard. This approach sends redundant information built into the video stream but on a low bandwidth (and low resolution) version of the video image. A high resolution image is transmitted in parallel. When packet loss occurs, the receiving endpoint can always reconstruct at least the low resolution image and so movement is captured correctly, and subsequent frames that build on the lost frame are not also corrupted because of lost data.
So on one end of the spectrum we have Cisco telling us that Telepresence needs very high quality network transport, and at the other end we have Microsoft telling us that they can make voice work over any old network and it will be fine. And we see technologies being developed that will help overcome the losses of the network.
Well, what is the tradeoff? If we can have technologies that will cover up for packet loss, doesn't that just solve all our problems?
The tradeoff is in extra bandwidth and in latency. Extra bandwidth is required for all three technologies described above, although Polycom compensates for theirs by reducing the video (and thus slightly reducing image quality). This might not be a big impact, especially for voice, where bandwidth demand is low, or in big networks where bandwidth availability is high.
These technologies add latency either because of additional processing overhead or because of the nature of the error correction algorithms. Some of this latency can be overcome by adding more CPU power to the endpoints, but some may be built into the algorithms themselves. Latency affects the interactive nature of a voice or video conference, makes the participants work harder to communicate, and it breaks down the perception that everyone is in the same room.
This scenario takes us back to the old argument between a smart network with dumb appliances and a dumb network with smart appliances. So we will have to see how these technologies play out to see which way the market wants to go.