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