ネットワークコーディング
ネットワークコーディングとは
- 本来ルータはパケットをルーティング、フォワーディングする役割を持つが、その機能にパケット同士の演算をさせる機能を付加し効率的な伝送を実現するもの
ネットワークコーディングの基本的な動作
- A,Bのパケットがそれぞれの送信ホストから送信される。(エッジスイッチから宛先スイッチへの3つのルートはそれぞれ、同時に一つのメッセージを流すものと仮定する)
- それぞれのエッジスイッチがメッセージを送る。このとき、真ん中のルートにネットワークコーダが存在しなければ、A側の宛先スイッチはメッセージBを受け取れず、また、B側はメッセージAを受け取れない。
- ネットワークコーダがメッセージAおよびBを符号化し、両メッセージのエビデンスを1つのパケットに入れて送る。
- エビデンスを受け取った別のネットワークコーダが宛先スイッチにそれを送る。
- 宛先ホストがメッセージAとBのエビデンスから情報を復号化し、AとBのパケットを取り出す。
論文等
- R. Ahlswede et al., "Network Information Flow," IEEE Transactions on Information Theory, Vol.46, No.4 pp-1204-1206, Jul. 2000.
- Microsoft "Avalanche"
- http://research.microsoft.com/users/Cambridge/pablo/papers/nc_contentdist.pdf
- C Gkantsidis, P Rodriguez,"Neowork Coding for Large Scale Content Distribution," - Proceedings of IEEE Infocom, 2005, No.4, pp.2235-2245, Mar.2005.
- マイクロソフト、ファイル交換ソフト「Avalanche」を開発中
関連記事
実用化に向けて歩を進める「ネットワーク・コーディング」,Jim Duffy,
pp.96-99, Computerworld March 2008