忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024年04月29日13:47 】 |
P2Pのシミュレーションデモを作るプラン-其の2
今考えている雑多を記す。

 P2Pで有名なのは、Winny,新月あたりか、Winnyは裁判も気になるところだが、ネットワークのシミュレーションについては金子氏もやられていたことを本で書かれていた。

どのように斬り込んで行くか・・。基礎技術はProxyサーバーの技術を応用すればよい。Proxyサーバーについての基礎技術はある程度、私は保有しているので、後は、シミュレーションがやはり重要になってくる。プロトコルのバージョンアップに伴ない。旧ネットワークから、新ネットワークへの拡張も考慮して作成する必要がありそうだ。

徐々にユーザーが増えて、ネットワークの負荷が増加した場合どうするか・・。嵐にはどう対応するか・・。等はとりあえず置いといて、まずはチャットみたいな機能を作ってどういう風に動作するか、公開してみたいと思う。

ユーザーが100人ならまだしも、1000人、10万人(ここまで増えないと思うが・・w。)となった場合。全員が一斉に書き込むと一気にログが流れることになる。書き込み時間制限と、カテゴリーという仕組みを取り入れてログを分散させようと思う。その際参考にしたいのは2chだ。

オカルト板、ニュース速報板・・・等を第二分類にし、次にそこにぶら下がる、スレッド群を第三とする。第一分類は全員にログが見れるようにしたい。最初は人は少ないだろうし、第三分類まで用意しておくと後々何か融通が効くかもしれない。

第一分類は全員に通知されるが、第二分類以降はそこのカテゴリーに属した人のみに通知するのでネットワークの負荷も生じにくいだろう。1000人規模になれば、オカルト板をよくみるユーザーとVIP板をよく見るユーザーではネットワーク間的には遠くなる。

■カテゴリーを取り入れた挙動案
①2chのオカルト板等に相当するのをクリックした際に、それに関連する最近のスレッド
のリスト(タイトル名)をダウンロードする。
全部もってくるとなると膨大になるだろうから・・・
②タイトル名をクリックするとログをダウンロードする。
(全てもってくるべきか・・・?ある程度大きさを区切る必要有り?)

投稿と更新については難しいところ。例えば、1ユーザーがタイトルスレッドを初めに立てた際。そのユーザーをサーバーにして他はクライアントにした際、同期は比較的楽かもしれないが、このユーザーがネットワークを切断した際、情報が失われるのは避けたい。(新月は恐らくこういうかんじっぽい・・・?)Winnyはどういう挙動していたか興味があるが、動かそうとしたがうまくいなかった・・。中央サーバーのように時系列の時間管理が難しいので、投稿順番はバラバラにならざるを得ない。もしくは、「日本標準時間」を取得して同期させるか・・・?恐らくこの同期をどうするか?というのがネックになるかもしれない。

同期に拘らずに、そのタイトル名に関わる投稿ログを収集するか・・・?新月は、一つ一つの書き込みログがファイルとなっていたが、ある程度の書き込みがあった場合にそれを固定にして、2chのDATファイルみたいにまとめたい。

■同期方法
①最初から、ある次期まで、投稿ログはバラバラ、順不同
②ある次期から、投稿ログを固める。(コミットする)



のがいいのだろうか・・・?


まあ・・・大雑把な構想はここまでとする。


次に、時間毎にユーザーが増えていった際にユーザーがどういう挙動するか・・・?大雑把に分けると以下の3つか?

■ユーザーの挙動
1.クローバーネットワーク(仮名)への初期接続
2.ファイル要求/投稿(各種コマンド)
3.ネットワークの接続。ON/OFF(によるファイルの同期についてどうするか?)




う~ん。一気に作るのは困難そうだ。



■今後のプラン
1.上限ユーザーの基で、ランダムで接続のON/OFFをシミュレーションする。
2.第一分類の全ネットワークへの通知がうまくいくか?
3.カテゴリーを2,3個作成した際に好みのユーザーがネットワークに固まって潤滑にネットワークされるか?


等の挙動を、シミュレーションしてみたいと思う。詳細プロトコルは試行錯誤が必要になってくると思うがうまくいけば公開出来るようになればと思う。プロトコルとファイルヘッダについては、金子さんと新月のを参考にしてみたい。




PR
【2010年02月03日04:57 】 | 未選択 | コメント(0) | トラックバック()
コメントの投稿













トラックバック
トラックバックURL

前ページ | ホーム | 次ページ

忍者ブログ [PR]