200 likes | 340 Views
マルチプラットフォーム対応 P2P ファイル共有ソフトの開発. 石川 直樹 木下 陽介 関野 誠 高木 元気 保坂 智之 吉田 侑基 担当教諭 仲道 嘉夫. 何故 P2P ファイル共有ソフトを作ろうと思ったのか. 動機. きっかけ. 美しい画像 をみんなと共有したい クラス内で共有するのに 適した方法 は?. 従来の方法. アップローダ を使う パス設定が必須,容量制限がある インスタントメッセンジャ を使う 転送速度が遅い,複数人で共有不可 他の P2P 共有ソフト を使う ネットワークが大規模すぎる 導入の敷居が高い. いいこと考えた.
E N D
マルチプラットフォーム対応P2Pファイル共有ソフトの開発マルチプラットフォーム対応P2Pファイル共有ソフトの開発 石川 直樹 木下 陽介 関野 誠 高木 元気 保坂 智之 吉田 侑基 担当教諭 仲道 嘉夫
何故P2Pファイル共有ソフトを作ろうと思ったのか何故P2Pファイル共有ソフトを作ろうと思ったのか 動機
きっかけ • 美しい画像をみんなと共有したい • クラス内で共有するのに適した方法は?
従来の方法 • アップローダを使う • パス設定が必須,容量制限がある • インスタントメッセンジャを使う • 転送速度が遅い,複数人で共有不可 • 他のP2P共有ソフトを使う • ネットワークが大規模すぎる • 導入の敷居が高い
いいこと考えた • ファイル共有ソフトを自分で作っちゃえばいいんじゃね? • 独自のソフトウェアの開発を決定 題して旧世代ポエム共有ソフト Poem for You 略して P4U
ハイブリッド型P2Pとは • ファイルの概要をサーバーから取得 • 実際のファイル転送はクライアント同士で行う ハイブリッド型P2Pネットワークのイメージ
サーバー クライアント1 クライアント2 P4Uプロトコルの詳細 公開されてるファイルある? Hogeってファイルは誰が持ってる? Hogeってファイルがあるよ! ファイル登録 検索 問い合わせ クライアント1が 持ってるよ! Hogeってファイルを公開するよ! Hogeあげるよ! ファイル送信 ファイル要求 Hogeちょーだい!
P4Uの特徴 • Windows, Mac OSX, Linuxに対応 • 仕組みが簡単なので設定も簡単 • 高速なファイル転送 • ダウンロード再開機能
スクリーンショット Ruby Ruby(GUI) Java(GUI) ※ 画面は開発中のものです.
問題 開発言語と構造の問題
問題(1)wxRubyに関して • プラットフォームによって挙動に微妙な差異がある • 実行ファイルの容量が大きくなりがち • GUIデザイナを用いるとダイアログが使えない • マルチスレッドでうまく動作しない • Javaへの移行を決定 wxRuby = マルチプラットフォーム対応のRuby用GUIライブラリ
問題(2)ハイブリッド型P2Pに関して • サーバーが必要 • 手軽に共有できるとは言いがたい • サーバーが止まるとクライアントは何も出来ない • ピュア型への移行を決定
おや? P4Uのようすが…… 今後の予定
Javaへの移行 • メリット • プラットフォームによる文字コードの違いにも対応できる • 優れた統合開発環境があり,GUIの開発が容易 • デメリット • Rubyと比べてコードが長くなりがち
ピュア型P2Pへの移行 • メリット • サーバーが不要 • ネットワークの負荷を分散できる • デメリット • コンピュータ間の同期がとりにくい ピュア型P2Pネットワークのイメージ
……8月初旬になんかやるかも 優しいお兄さんたちがみんなの質問に丁寧に答える 質疑応答のじかん P4U Project Wiki(要旨集にも載ってるよ)http://www9.atwiki.jp/poem_for_you/
転送速度について いずれも100MiBのテストデータを用いて計測ただし、OSXからWindowsへの転送には10MiBのデータを用いた