ストリーミングとプログレッシブダウンロード
ストリーミングとプログレッシブダウンロード(通称「疑似ストリーミング」)の方式的な違いについて記述する。この2つのデータ配信方法は外見上は非常に似たようなものであるが、技術的には大きく異なるまったくの別物である。
概要
ストリーミングとプログレッシブダウンロードの違いの説明において受信側においてデータを保存「する」「しない」という点で論じられていることがあるが、それはストリーミングにおいて重要な要素ではない。
最優先されるべきは「データの完全性」か「時間軸」かという問題であり、送信側および受信側の双方でデータの欠損を許容「する」「しない」という点(完璧なデジタルデータの送受信を求めない点)がストリーミングがストリーミング、プログレッシブダウンロードがプログレッシブダウンロードたるもっと重要な要素である。
ストリーミング
ストリーミングは送信者(サーバー)から受信者(クライアント)へ一方的にデータを送り付けることで実現している。ストリーミングでは「時間軸」がもっとも優先されるため、通信経路でパケットをロスするようなことがあっても読み飛ばす。
いうなればストリーミングはテレビやラジオなどの一方的な配信をインターネット上に構築したものであり、主にライブチャットをはじめとした生放送系のシステムで使われる技術である。
プログレッシブダウンロード
一方、プログレッシブダウンロードはあくまで送受信側(サーバーおよびクライアント)が相互にコミュニケーションをとる一般的なダウンロード処理の延長であり、一部分のダウンロードが完了した時点から追っかけ再生を行うことで、ダウンロードの完了を待たずにストリーミングと同じような操作感を再現したものである。
プログレッシブダウンロードではストリーミングとは異なり、あくまでダウンロードの延長線上であるため、通信中にパケットのロスなどが発生した場合には、ストリーミングのように読み飛ばすようなことはせず、パケットの再送要求を行い、送信者(サーバー)上のファイルと寸分の狂いもなくダウンロードを完結しようと試みる。
たとえば動画配信において何らかの理由により一時的に通信が困難になったとすると、ストリーミングではパケットロスによりその期間の映像は失われるが時間軸は狂わず、プログレッシブダウンロードでは通信が止まった部分からダウンロードを再開することで時間軸は実世界と異なることになるが完全な映像や音声、画像を得ることができる。
その他
多くの文献においてプログレッシブダウンロードのことを「ストリーミング」と記述されており、またマイクロソフトのSmooth Streamingのようにプログレッシブダウンロード向けミドルウェアの名称に「ストリーミング」を名乗る製品も多々見受けられるため、この2つは同一視されているのが現状である。