Dear Professor Phil, We’ve been experimenting with platforms to stream our worship services. We’re seeing differences in the amount of bandwidth used and the percent of the link capacity that is used. We’re doing the same compression on each trial. What could cause this difference?
—Paul, Naples, Florida Paul,
I suggest that the difference is caused by one of these: the operating system and the particular version on your server, and your client or the version of the browser being used in the client. Here is my reasoning.
Streamed video uses HTTP. In turn, it runs over TCP. Over the last decade, changes have been made in both of these protocols to accommodate our higher speed networks. For example, Windows 2000, Windows XP, and Windows 7/8 TCP behave differently, even with the same network conditions. When TCP was being modified, HTTP was also undergoing changes. HTTP version 0.9 was used only in very early implementations. However, HTTP 1.0 was used for a very long time. The current version is 1.1 and 2.0 is on the horizon.
So, why the changes? There are three primary reasons. First, our networks are much faster than they were a decade or two ago. Second, they are more geographically dispersed. Third, we use the network differently ways than we did in the past. The primary factors in TCP performance are bandwidth and delay.
We don’t have enough space here to cover all of the changes that have been made to HTTP and TCP, but it may suffice to indicate a few major changes that have occurred. TCP sends more data in the initial phase of a connection than it used to send. The receiver can negotiate receiving much higher amounts of data than in the past. When a packet of data is lost, TCP can now indicate it needs just that particular packet sent. Thus, it eliminates the need to send succeeding packets that have already arrived successfully.
HTTP has undergone changes, also. In an early version of HTTP, when a request was made, a second request could not be sent until the first was fulfilled. That made filling the player’s buffer dependent on a single request. Modern HTTP versions will ask for the video for a player in several simultaneous requests. That way, the play out buffer fills quickly.
As Windows and Linux operating systems have been updated, their TCP software has incorporated these changes. Likewise, as new browser versions have been made available, thy have also incorporated the changes. So, the bottom line is rather simple: new operating systems with updted browsers are likely to outperform previous versions.
Phil Hippensteel, PhD, teaches information systems at Penn State Harrisbug. Email your questions to AVTIntern@nbmedia.com.