P2Pによるコンテンツ配信

さて、そのSkeedCastは、商用向けのP2Pとして開発されているシステムだ。そのため、コンテンツを投入するエントリーノードは通常のWebサーバからの配信も可能で、料金収受の仕組みやDRMとの連携も検討されている。

金子氏は、コンテンツ配信側にとって「P2Pで配信するメリットがない」と指摘する。P2Pは「挙動が不安定でユーザーのリソースに頼らなくてはならない」(同)ため、自前でサーバを用意して配信したほうがいい、ということになる。もちろん、予想外のトラフィックが発生したときに自前のサーバがダウンする可能性はあるが、そうした場合は「どんなに(トラフィックが)増えても耐えられるP2P型のほうがいい」とハイブリッド型にした場合のメリットを指摘する。

SkeedCastを使えば、「はじめは(配信側が用意した)サーバだけで配信し、負荷があがったらそのコンテンツだけP2Pで配信することも可能」と金子氏。Winnyはあくまでファイル共有ソフトだったが、SkeedCastはコンテンツ配信システムだと明確に区別する。

セキュリティに関しては、共有するコンテンツにデジタル署名を付与。配信側が秘密鍵を持ち、ノード全員が公開鍵を持ち、署名を検証することで共有される。

Winnyには指定の条件に適合するファイルをダウンロードするダウンロードフィルタと、その中から特定の条件のファイルを無視するブラックリストという2つのフィルタを備えていた。SkeedCastではこれにさらにホワイトリスト方式の許可フィルタが追加されており、許可されたものしか流れないネットワークを構築できるという。

また、流通するキャッシュをコントロール・モニタリングするコントロールノードも配置される。どんなコンテンツが流れているかを管理でき、エントリーノードがコンテンツの配信をやめれば、共有ノードのキャッシュも配信されなくなるなど、配信側が制御できる。

「SkeedCast」のノード構成

SkeedCastのコンテンツ管理

Winnyで大きな問題となっている情報漏えいの問題では、フルキャッシュを持つノードがひとつでもあればファイル共有が可能だったが、これも配信側で共有サーバがキャッシュをアップロードできないようにし、ユーザーノードから「見えなくさせる」(同)ことで拡散が防止できるとしている。

SkeedCastでは、ユーザー側はSkeedレシーバーをインストールしてダウンロードするが、SkeedCastはWebとの連携機能を備えており、WebサイトにJavaScriptのリンクを置き、それをユーザーがクリックするとSkeedレシーバーが起動して共有ノードに「Winnyにかなり似たプロトコル」(同)でP2P接続し、ダウンロードを開始することができる。

Skeedレシーバー

さらに映像ファイルをキャッシュとしてダウンロードし、そのキャッシュを動的に変換してWindows Media Player(WMP)でストリーミング再生することもできる。共有ノードからのキャッシュをWMPでストリーミング再生しているため、WMPのキャッシュが残らない仕組みだ。こうした映像ファイルにはWindows Media DRMによる著作権保護を導入している。ユーザーノードのキャッシュは暗号化されているため、直接取り出して閲覧することは「見ようと思えば見られるが面倒くさい」(同)という。キャッシュは保存されるので、再視聴する場合もキャッシュから変換し、再ダウンロードが発生しないことから、配信サーバにも優しい仕組みだとしている。

こうした点から、金子氏は、SkeedCastのストリーミングはP2P型メディアProxyの一例だと話す。従来のコンテンツ配信の方式に対し、「巨大なキャッシャー群として動作する」と説明する。

金子氏が技術顧問をしているドリームボートは、SkeedCastを使ったコンテンツ配信を行っており、ASP向けのサービス、セットトップボックスなどの組み込み機器向けへのサービスも提供している。この技術は、社内などの限られた範囲での配信にも対応しているそうだ。