マルチプラットフォーム対応 P2Pファイル共有ソフトの開発

Download Report

Transcript マルチプラットフォーム対応 P2Pファイル共有ソフトの開発

マルチプラットフォーム対応
P2Pファイル共有ソフトの開発
石川 直樹 木下 陽介 関野 誠
高木 元気 保坂 智之 吉田 侑基
担当教諭
仲道 嘉夫
何故P2Pファイル共有ソフトを作ろうと思ったのか
動機
たとえば・・・
• 体育祭の写真をクラス全員で共有したい
• でも知らない人には見られたくない
従来の方法
•
アップローダを使う
 パス設定が必須、容量制限がある
•
インスタントメッセンジャを使う
 転送速度が遅い、複数人で共有不可
•
他のP2P共有ソフトを使う
 ネットワークが大規模すぎる
 導入の敷居が高い
いいこと考えた
• ファイル共有ソフトを自分で作っちゃえば
いいんじゃね?
 独自のソフトウェアの開発を決定
題して旧世代ポエム共有ソフト
Poem for You 略して P4U
構造のイメージ、転送の仕組み
概要
ハイブリッド型P2Pとは
ハイブリッド型P2Pネットワークのイメージ
• ファイルの概要をサーバーから取得
• 実際のファイル転送はクライアント同士で行う
P4Uプロトコルの詳細
サーバー
公開されてる
Hogeってファイル
ファイルある?
は誰が持ってる?
ファイル登録
Hogeってファイル
Hogeあげるよ!
を公開するよ!
Hogeってファイル
があるよ!
検索
問い合わせ
クライアント1が
持ってるよ!
ファイル送信
クライアント1
クライアント2
ファイル要求
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ネットワークのイメージ
ご静聴ありがとうございました
優しいお兄さんたちがみんなの質問に丁寧に答える
質疑応答のじかん
次回 : 2008年秋
P4U Project Wiki
http://www9.atwiki.jp/poem_for_you/
……8月初旬になんかやるかも