P2Pでサーバに依存しない掲示板を作るの巻
■ このスレッドは過去ログ倉庫に格納されています
00011
01/08/27 21:33ID:Uofeyeso依存しない掲示板を作るの巻。
クライアントサーバ型BBS、ハイブリッドP2P型BBSでは、サーバを必要とするために
運営に費用がかかります。掲示板では利益を生み出すことができない以上、これら
のサービスは持続可能なものではありません。
2ちゃんねるライクな掲示板を持続可能なものにするためには、コストがかからず、
誰にも依存しない、純粋なP2P型ネットワークを開発する必要があるように思われます。
00021
01/08/27 21:34ID:Uofeyeso■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。
■ 運営にコストがかからないため、お金を儲ける必要がありません。
■ 運営者が不要になります。
■ 多機能化が可能です。
PureP2P型掲示板では、以下の悪いところがあります。どのようにして補うのか。
できるだけ
■ 特別なプログラムをサーバントとして動作させる必要があります。
■ カキコを完全に削除することが出来なくなります。
■ 誰も管理できないのでは?。危険だ。
■ 完全な匿名化を行うことが出来ないのでは?
■ スレッドやレスの取得もれ、消滅が起きる可能性があります。
■ 中央サーバ型に比べ、速報性に欠ける(カキコが全てのユーザに伝わるまで
に時間がかかる)可能性があります。
00031
01/08/27 23:11ID:Uofeyeso例えば、他の人がたてたスレッドをn個ローカルのディスクにおいて
共有しないと、スレッドが立てられないようにする。
ネットワークへの参加費用=帯域とCPUとディスクの提供という考え方。
最初はROMから。
0004デフォルトの名無しさん
01/08/27 23:16ID:kDLbYqTEシステムの設計よる。
■ 運営にコストがかからないため、お金を儲ける必要がありません。
運営には個人レベルで金はかかる。
■ 多機能化が可能です。
安易に多機能化していくと互換性が乏しくなり、ユーザが離れるだろう。
■ 特別なプログラムをサーバントとして動作させる必要があります。
ソフトウェアによる。
■ カキコを完全に削除することが出来なくなります。
■ 誰も管理できないのでは?。危険だ。
システムの設計による。
■ 完全な匿名化を行うことが出来ないのでは?
完全な匿名なんてあったのか。
■ 中央サーバ型に比べ、速報性に欠ける(カキコが全てのユーザに伝わるまで
に時間がかかる)可能性があります。
ていうかすべてのユーザに通知するような設計にした時点で破綻。
P2Pとキャッシュ混乱してないか?
0005デフォルトの名無しさん
01/08/27 23:18ID:fftmjbdIんで、2ch型の掲示板にするならユニークな発言番号が必要だけど、どうするのかな?
0006
01/08/27 23:20ID:Uofeyeso>システムの設計よる。
ちょっとわからない。PCが何台かP2Pでつながれば、それでネットワーク成立。
スパムやP2P破壊を試みるクライアントの登場?
>■ 運営にコストがかからないため、お金を儲ける必要がありません。
>運営には個人レベルで金はかかる。
具体的にどのような費用?
>■ 多機能化が可能です。
>安易に多機能化していくと互換性が乏しくなり、ユーザが離れるだろう
互換性?バージョン間の?クライアント間の?
>■ 特別なプログラムをサーバントとして動作させる必要があります。
>ソフトウェアによる。
ソフトウェアは必要です。ブラウザのみでは実現できない。
Gnutellaのプロトコルはご存知?
00071
01/08/27 23:22ID:Uofeyeso前のスレッドでは、「時計を合わせて、時間軸で発言順」というアイデアが
出ていたっす。
これは意見のわかれるところだと思いますが、私はかならずしも2ちゃんねる
と同じスタイルにこだわる必要はないとおもっているんだ。
0008デフォルトの名無しさん
01/08/27 23:39ID:kDLbYqTE■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。
掲示板全体では確かにダウンしないが、個々の掲示板レベルでは?
コピーをばら撒けば理論上はダウンはしないだろうが、
個人的にはコピーをばら撒く方法は成功しないと思ってる。
■ 運営にコストがかからないため、お金を儲ける必要がありません。
常時接続のパソコン。通信費。電気代。
ま、これは余計なお世話か。スマ。
■ 多機能化が可能です。
というかIPv4とv6が例で、非互換が頻繁に発生してはならない。
■ 特別なプログラムをサーバントとして動作させる必要があります。
サーバントとクライアントの両方の機能を持てれば
ユーザから見れば分離した概念ではない。
00095
01/08/27 23:49ID:fftmjbdI時間軸ソートですか。
う〜ん、時間強制合わせはイヤだけどなぁ・・・
00101
01/08/27 23:55ID:Uofeyeso>コピーをばら撒けば理論上はダウンはしないだろうが、
>個人的にはコピーをばら撒く方法は成功しないと思ってる。
参考にさせていただきたいので、なぜそう思われるのかをそことなく
カキコしていただければありがたいです。
>う〜ん、時間強制合わせはイヤだけどなぁ・・・
SNTP。 PCの時刻じゃなくて、アプリ内で別の時刻を持つというのが
前のスレッドで出ていたよ。
00115
01/08/28 00:02ID:GXEcccJ6いなくなったらその内容はもう取得できないよね。
アクセスは少ないけど、検索対象としてはほしいときなんかは
やっぱWebが適してるような。
P2Pだとできないよね?
リンクとかを貼って「前スレ」とか「参照スレ」とか示したいとき
どうするんだろ?
0015連続カキコすまん
01/08/28 00:45ID:IRApeeyY0016
01/08/28 00:46ID:N/BUjlEAそうですね。 過去のスレッドがいつまでも残っているかは全く保証され
ませんね。 ウェブではないので、例えばGoogle等の検索エンジンでも
検索できません。
今で言う「実況スレ」のようなもの?
001712
01/08/28 01:07ID:IRApeeyYP2P-cacheじゃないけど、2ch本家とこのネットワークとでメッセージの交換が
あればかなりイイと思う。
0018デフォルトの名無しさん
01/08/28 01:08ID:lGTCN/0o0019デフォルトの名無しさん
01/08/28 01:27ID:ayAzes6Q完全な匿名を保証しているらしいです。
こういうの、使えませんかね?
たしかフリーネットっていくつかのマシンを経由してデータを転送してもらうから
匿名性が高いんだよね?んで、その分転送に時間がかかるんじゃなかったっけ?
とりあえずグヌテラ形式でいいんじゃない?
0021デフォルトの名無しさん
01/08/28 02:26ID:CmtHTuM.経由して、経由した全ノードにコピーを残して行くから、
みんなが読むようなコンテンツだと猛烈な勢いで複写が
行われてそのコンテンツが多数のノードに存在すること
になるから、そういうのへのアクセスだとgnutellaより
はるかに高速になる。
0022デフォルトの名無しさん
01/08/28 08:20ID:uwDaUMvkサーバント+プロキシ方式はどうだろう?
つまり普通のWebブラウザを最終インターフェースにする
こうしとけば家庭内LANでもパソコンが走っていればゲーム機でもブラウジング出来る
誰かが鯖をたてればいいだけだし
0023デフォルトの名無しさん
01/08/28 11:07ID:u.nsLDdofreenet にはそういうのありますよ。freenet 独自の URL のようなものが
あって、Web ページも作れるし、freenet 上に NNTP や Mail のようなもの
もある。
なりすまし対策とか、荒らし対策みたいなのもいろいろと考えられてるよう
です。
002422
01/08/28 11:24ID:fuFoxE4Attp://www.geocities.co.jp/SiliconValley-Oakland/9423/
ttp://www.geocities.co.jp/SiliconValley-Bay/7325/Freenet/FAQ.html
0025デフォルトの名無しさん
01/08/28 11:30ID:fuFoxE4A>今のところFreenetから文書を削除する方法はない。全く要求されない文書は、最終的には使われないことで削除される。
という事で、どうやって削除するかはやはり難しい問題のようですね
でも、このスレの議論のタネとしてはfreenetはよい教材のようです
0026__
01/08/28 13:19ID:aE5uBalYhttp://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=88&to=88&nofirst=true
http://sourceforge.net/projects/p2pbbs/
前スレの113さん
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=113&to=113&nofirst=true
>こういうスレあったんですね。偶然にも同じことやっています。
>こっちはSOAPでやるっす。
>しかも、メッセージが投票で衰退してくあたりまでアイデア
>同じ:)
>もっと斬新なこと考えないと...
前スレの130さん
>130 名前:が〜ん 投稿日:2001/06/10(日) 10:47
>似たこと考えている人いますねぇ〜 > 1と113
>こっちはXML-RPCがベースです。
>openxmlが巨大なのがちょっと…
確認できるだけで3件の別の開発が行われている(いた)ようなのですが、
どのような仕様なのかというのを確認できるURLは、まだないのでしょう
か。前のスレッドはいろいろと参考になりますね。
00278
01/08/28 14:28ID:wzFAflj2>個人的にはコピーをばら撒く方法は成功しないと思ってる。
ま、理論的裏づけがないのであまり強くはいえないが、
いまの2chが流行っているのはリアルタイム性と、
書き込みの完全な同期だろ?
そうすっと、コピをばら撒いてしまうと、ばら撒けばばら撒くほど
面倒になっていくのはいいよな。しかし、ばら撒きを前提にすると
ばら撒かないわけにはいかないわけで。
でここで思うんだが、ばら撒ける余裕があるからネットワーク上の
共有率を高めたほうがいと思う。つまり、今のgnutllaとかって
端から端まで検索効かないよな。だけどもしユーザの立場なら
見れない掲示板が出てくるのはかなり痛い。
だから、コピーをばら撒くより、リソースの存在をばら撒いたほうが
オレは良いと思う。
漏れが考えたのは
・スレのコピーは作らない
・スレは一台のサーバが完全に管理
・スレに関する要求は該当する唯一のサーバへ
・複数のサーバが集まって板を形成
・板内でスレの存在を可能な限り共有
・板へのサーバの参加について制限を設けても良い
・板外のリソースについては板の存在を共有するに止める
てな感じ。スレ単位でトラフィックが50MBはいかないだろ。
いざとなったらスレ委譲の仕組みを加えればいい。
長所は
・スレ単位で負荷分散ができる
・サーバ内でならフローティングなんとかも可能
・面倒な一意の識別子問題もクリア
・完全な削除ができる
欠点は
・サーバが落ちると関連スレ全部落ちる
だな。ま、参考にしてくれ。個人的に考えてるだけだしな。
00298
01/08/28 15:38ID:wzFAflj2最悪、高負荷のスレ以外を他の空いているサーバに委譲しちゃえばいいと思った。
すべてのスレが高頻度に更新されることはないだろうから。
数個のスレで破綻するようなサーバ、もしくは状況では
コピーをとる方法のほうも破綻するだろうし。
#…しないのかな。
ついでに、コピーを嫌う利用はプログラマとしての経験。
完全同期とリアルタイム性が要求される資源について
安易にコピーを作るとろくなことがない。
0030デフォルトの名無しさん
01/08/28 16:39ID:OGjCZfekサーバの存在は前提にしてもいいと思う。
というかP2Pとしては、皆がサーバーになろうというのが基本概念の様な気がする。
でも利用者が1日中ネットにつなげてるわけにも行かない場合も多い、というか
そのために掲示板システムがあるんだよね。
で、どうすればいいかというと、単純な話、メッセージを預ければいいってだけ。
別に預ける先が、freenetだろうが、2chだろうが、ネットニュースだろうが、
自分の借りたディスクスペースだろうがかまわない。
要は、ネット上に確実に存在して、見せたい相手がそれをすぐ見つけられれば問題ない。
だから、そういう既存のものを利用出来るようなプロトコルがいい気がする。
問題は、問題があって、見せたくない(消したい)場合や発信元を明かしたくない場合はどうすればいいのかって話。
情報は、消えても灰は残らないけど、写しても減らないんだよね。だから、無理に消そうと思っても無理。
一番いいのは忘れてもらう事。思い出せなければ無くなったのと一緒。
どうやって実現するかというと、ブラックボックス化すればいいんじゃないかと思う。
よく、ファイルを間違えて消す事があるけど、普通は消した後でもデータ自体はHDDに残ってるんだよね
ただ、一般的にそれを検索する方法が失われるから、普通は諦めて、消えたものとして扱うよね。
でも、大事な物が消えるのは嫌だし、無駄なものばかりで、どこにあるか分からないのも嫌。
基本的に掲示板に必要なものは、必要な人を集める機能で、
住人が望むのは、都合のいいメッセージやレスが即座に見つかる事だと思う。
これが、アクセスを特定サーバーに集中させずにどうやって実現出来るかを考えるべきかな?
0031デフォルトの名無しさん
01/08/28 18:31ID:Ea4J7zus大先生のようなね。
リアルタイム性の問題だけど、リアルタイム性はある程度目をつぶってもいいと思う。
しかし、実際的に運用してみないとネットワークの端と端のアクセス性とかわからんからなぁ。
0032デフォルトの名無しさん
01/08/28 18:36ID:/foo1b.sその点は netnews っていういい例があるんじゃない?
今の netnews はやたらと早く配送されるんで、もうちょっと
昔の状況を思い浮かべるといいと思う。
0033
01/08/28 22:55ID:aE5uBalY>ところで、Webだと、リソースを表すためにURLを使って指定できるけど、
>P2Pだとできないよね?
例えば、スレッドは「掲示板名+スレ立て時間+立てた人のGUID」
スレッド内のカキコは「掲示板名+スレッドを立てた時間+立てた人のGUID+カキコ時間+カキコ者のGUID」
そこをクリックして、果たしてそのスレッドが見つかるかどうかはわからないのですが…
GUIDは駄目?他に何かあるかなぁ…
0034名無し
01/08/29 00:02ID:ZgNIazW22chも似たようなもんだし。
0035
01/08/29 17:07ID:fbqKB6RIハイブリッド型すごい勢いだなぁ。批判要望板には、2ちゃんねるを買って、
ハイブリッドP2Pやるなんて人が出てきてるよ。
2ch買います
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999059919
ぼくはゆっくりやることにするよ。 なんか日記みたいで失敗。
0036デフォルトの名無しさん
01/08/29 17:26ID:akViQcrcIRCでぐるぐる回せばそれほど遅くならねーべ?
・どういう板があって
・どんなスレッドがあって
・そのスレッドの最近書きこみ時刻はいつで、
・それがどのサーバにあるか?
(複数サーバが1つのスレッドをストライプでもつかミラーでもつか
ストライプ+ミラーでもつか程度は対処可能としましょう)
だけ回す。
そうすりゃ、スレッドのデータを保持しているPeerが起動されたときに
「お、起きてきたか?」
ってわかるべ。
NNTPだと差分量がでかすぎて、
パンピーが手出せねーべ?
0037デフォルトの名無しさん
01/08/29 17:29ID:akViQcrc訂正 それがどのサーバにあるか?×
それがどのPeerにあるか? ○
注2:
IRCつかったことない人でもIP-Messengerは使ったことあるべ?
あれと同じノリだっぺ。
接続論理は、
・マシンとユーザ名+どんなスレッドのデータを持ってる
これを流すようにするだけ。
0038デフォルトの名無しさん
01/08/29 17:32ID:1GuEpsjo0039デフォルトの名無しさん
01/08/29 17:39ID:akViQcrcぐるぐる回しただけでは、ブラウザーで板一覧がみえねぇ。
そこで、
・表示だけをうけもつPeerというのを存在させる
現実的には、ルートノードみたいなのがねーと、
シロートさんがIEとかでペコっと開けねーから、
www.2ch.net/index.html、板一覧、板のスレッド一覧表示を
受けもつPeerはどこかに性的に置く必要があるっぺ。
どこかのレンタルサーバに性的に置くしかねー。
で、シロートさんが、その性的に配置されたPeerに対して
URLを指定してIEなんかでそれらを見に行くと、
性的に配置されたPeerは
HTTPの応答を"Location どこそこ"で、どこかのPeerにすっとばして
表示させる。
# すっとばす先は、IRCでぐるぐる回している情報から取るべ
# その性的なPeerもIRCで自分の位置を知らしめねばならん。
# でねーと「掲示板にもどる」ができなくなるっぺ。
スレッド1つ1つの表示は、スレッドデータを保持している
Peerに直URLで表示できるようにすればええ。
もちろん、一覧表示のスレッド最新10レス表示もそいつにやらせるべ。
なに、一覧表示HTMLをフレームで区切ればできるっぺ。
0040デフォルトの名無しさん
01/08/29 17:42ID:akViQcrcIRCは桃の例えだっぺ。
要は灯を消した体育館で同じクラスの人間と手をつなぎあう手段が
ありゃーええ おっとヘンなところは触っちゃなんねぇべ。
IP-Messengerだとそれサーバなしでやってるべ。
(SMBのマスタブラウザみたいなのをテキトーに決めてるんだか?)
問題は、そいつのトラヒックがどんだけかっつーのがある。
0041デフォルトの名無しさん
01/08/29 20:10ID:mHkvtMJw割と普通だと思うんだけど・・・。
■ 特徴
ネットワークはFreenet型(多分)
スレじゃなくてレス単位で保存
匿名性は 2ch.p2p に参加していることが数人にバレる程度
書き込み&スレ取得は誰がやったかバレない(多分)
■ レス単位で保存の意味
スレ単位で保存すると、どれが最新なんだー?と混乱するから。
レス単位なら、内容は永久不変。レスに書き込み日付の情報を
持たせて、スレ取得時に書き込み日付でソート。
#このアイデアは前スレであったような気がしたんだけど、
#ちょっと見つからなかった。。
■ スレ取得
まず、クライアントAが「ID:hogehogeのスレに属するレスをくれ!」
とコネクションを張っている他のクライアントにメッセージを発行。
どんどん回す。
メッセージがスレを持っているクライアントBに辿り付いたら
クライアントBは「レス番号:1-xxxまでなら持ってるよー」と
の情報をクライアントAに向けて返してやる。
クライアントAはいくつかのクライアントから応答を貰えるだろう
から比較して、適当に分散させて「おう!んじゃ、お前さんは
xxからyyまでくれよ、お前はyyからuuまでな」というメッセージを
それぞれに発行。気をつけなきゃいけないのは、各クライアントで
拾ってないレスがあるかも知れないわけで、レス番号はまちまち
かも知れない。その点も受信時に考慮。また、悪質なクライアントが
嘘の情報を流すかも知れないのでこれも考慮。
004241
01/08/29 20:11ID:mHkvtMJw続き。
■ 書き込み
書き込みしたいクライアントは、書き込んだぞーメッセージを
他のクライアントに送信。もちろん、匿名性確保の為に、他の
クライアントから伝わってきたんだけど…という顔をして。
書き込みメッセージはネットワークのすべてのクライアントを
駆け巡る(無駄っぽい)。
<書き込みメッセージを受け取ったクライアントの動作>
1:
まず、書き込み日付が、異常に昔だったり、未来だったり
していないかをチェック。もし、チェックに引っ掛かれば、
そのメッセージを他のクライアントに渡したりはしない。
これは、レスをあとから挿入しようと目論んでいる悪質な
クライアントを排除するためである。また、これにより、
クライアントは常に正確な時間を保持することが義務付けられる。
2:
自前でスレのage、sageを行ってスレ一覧を作る。
参加したばかりで、ろくにスレ一覧の出来ていない
他のクライアントから分けてもらいましょう。
3:
ストックに保存
…でも全部のクライアントが保存したら多すぎるよなぁ。
■ レス保存
完全消滅する前に適当にばら撒きましょう。
ライフタイム計算して、適当に消すのも良し。
■ ついでにレス削除
クライアントは、気に食わないレスの(自分を通じての)流通を
拒否することが出来る。つまり、1-xxxは持ってるけど、Id:zzz
のレスはやらん!というように。要求元のクライアントAでは、
「削除された」という形で扱われる。が、
別に欲しければ、「ID:fugahugaのレスある?」と
他のクライアントに聞くことは出来る。が、
別に気にしなければ、クライアントAへは結局コピーされなく、
またクライアントAからそのスレを取得した他のクライアントへも
コピーされなくなるので、完全消滅の日は早まる(気がする)。
■ 補足
スレIDは「板名+ユニークそうな文字列」、
レスIDは「スレID+ユニークそうな文字列」とする。
板を立てること自体はレスIDの板名を変えるだけなんで誰でも出来る。
メジャーな板の一覧はプログラムに埋め込み。
004341
01/08/29 20:14ID:mHkvtMJw誤:
参加したばかりで、ろくにスレ一覧の出来ていない
他のクライアントから分けてもらいましょう。
正:
参加したばかりで、ろくにスレ一覧の出来ていない
クライアントは、
他のクライアントから分けてもらいましょう。
0044
01/08/29 20:26ID:fbqKB6RI(スレッドのローカルへの保存)
(パケットのルーティングのルール)
(ノード間通信のスレッド共有のプロトコル) の3つに分けて考えたほうが
整理できると思います。
もう一つ、メジャーな板はよいけれど、参加者の少ないマイナーな板は、
特に参加者が少ない時間帯では、共有に失敗する可能性が考えられま
す。 >>3で書いたように、そこで、ランダムな板のスレッドをいくつか、強
制的に、参加者に共有することを義務づける。あるいはスレッドを立てる
こととバーターで、を考えています。
匿名性については、自分が接続しているノードのIPアドレスは分かって
しまいますね。中のカキコの作者はわかりませんが。
あとGnutellaのプロトコルでは、検索クエリーへの答えのパケットに
IPアドレスが含まれているので、そのパケットが通過したノードでは、
「xは、A板のスレッドを持っている、yはB板のスレッドCを持っている」
という情報が漏れてしまいますね。
0045デフォルトの名無しさん
01/08/29 21:21ID:7L0go79Aファイルシェアだけの仕組みの提供だけではまずいような気がするな。
それが鉄則だと思うけど。
0046デフォルトの名無しさん
01/08/30 00:33ID:9VE7JjWs"shared nothing"
1つのrequestが複数ノードに負荷をかけないようにする - これは鉄則だと思う。
0047デフォルトの名無しさん
01/08/30 00:36ID:9VE7JjWs最新スレあげ程度だったら、
「最新書きこみ時間」を、スレデータを保持するノードにて発信することができて、
それを複数のノードが共有するだけでもいいんじゃないだろうか?
イメージ的には、Windowsのネットワーク共有フォルダを参照したときに、
ファイル名と更新日付がでてくるよね?
あれと同じことを確認できるだけでいいと思うんだけど。
0048
01/08/30 01:37ID:uLXMKjs2どうかをテストする方法として
しりとりが使えないか?
yyyy/mm/dd hh:ss りんご ごりら
yyyy/mm/dd hh:ss ごりら らっぱ
yyyy/mm/dd hh:ss らっぱ ぱり
…
一般参加者にガンガンしりとりを行ってもらい、そのログを集計する。
書き込むタイミング、配布のタイミングで順序が多少前後したとしても、
書き込み時間で修正できるし、前の単語を書いてもらえば、Treeとして
分析することが可能。 配布漏れが発生するかどうか、もし発生すると
したら、どれくらいの頻度で。
何か矛盾や間違っているところがありますか、もっと良い方法はありますか?
0049デフォルトの名無しさん
01/08/30 01:39ID:9VE7JjWs抜けがあったらすぐわかる(しりとりが破綻するから)
ただ、P2Pって、全部のPeerに均等に同じものを配布せずにすませる仕組みだと思うんだけど・・違う?
それだとNNTPでいーじゃん、ということにはなりゃせぬか?
0050
01/08/30 01:48ID:uLXMKjs2プログラムが、実際の使用に耐えうるものかどうかは、ある程度のユー
ザーにテスターとして協力してもらわねばならず。しりとりなら誰でも
参加可能。
>全部のPeerに均等に同じものを配布せずにすませる仕組みだと思うんだけど・・違う?
P2Pの定義によるかもだけど、あなたの意見には同意。
しかし、板単位、スレ単位でネットワークを組むわけではないから。
もう一つは、配布漏れが発生した際に、どのようにユーザーはそれを
知り、リカバーするのか。 「氏ね>>111」 しかし、俺のログには、
>>111のカキコないぞ。では、>>111を検索しよう」 うーむ。
005141
01/08/30 02:00ID:UdwDTLPc>>44
>(スレッドのローカルへの保存)
>(パケットのルーティングのルール)
>(ノード間通信のスレッド共有のプロトコル) の3つに分けて考えたほうが
> 整理できると思います。
そうっスね。ひとまず、クライアント間での通信メッセージは
どういう書式で記述するのがいいんだろう・・・?XML?
だと、無駄にでかいか。Gnutellaはバイナリなんだっけ・・・?
> もう一つ、メジャーな板はよいけれど、参加者の少ないマイナーな板は、
> 特に参加者が少ない時間帯では、共有に失敗する可能性が考えられま
> す。 >>3で書いたように、そこで、ランダムな板のスレッドをいくつか、強
> 制的に、参加者に共有することを義務づける。あるいはスレッドを立てる
> こととバーターで、を考えています。
新しめのカキコ(レスじゃ紛らわしかったですね、すみません)については、
41の案では、マイナーな板でも公平に、書き込みと同時にわさわさと広がって
大量のコピーが作られる予定なので、大丈夫そうな感じです。
古めのカキコは知らん。
> 匿名性については、自分が接続しているノードのIPアドレスは分かって
> しまいますね。中のカキコの作者はわかりませんが。
> あとGnutellaのプロトコルでは、検索クエリーへの答えのパケットに
> IPアドレスが含まれているので、そのパケットが通過したノードでは、
> 「xは、A板のスレッドを持っている、yはB板のスレッドCを持っている」
> という情報が漏れてしまいますね。
えーと、これはその応答に使う経路で直接、
カキコを返すような感じでやれば匿名性は守れると思います。
接続ノードにIPがばれちゃうのは・・・まぁ、しょうがないかと。
>>47
勘違いだったらゴメン。それだと、その板を同時に読んでいる
いくつかのクライアントのIPを取得できちまわないか?
一体、匿名性は、
・2ch.p2pに接続しているがバレる
・板に接続しているのがバレる
・スレッドに接続しているのがバレる
のうち、どのレベルまで確保すればいいのだろうか?
「スレッドに接続しているのがバレる」まで許されるのなら、
割とパフォーマンス良いシステムが出来そうだ。
とりあえず、41の案では、匿名性最優先で考えたつもり。
005249
01/08/30 02:19ID:9VE7JjWsの111は、ブラウザ上でURLとして埋めこまれる
→それを受けるサーバが処理する
となれば方策は2つ
1. そのサーバがスレッドデータの保有者となるような構造にしておく
→必ず返答可能
2. そのサーバは、スレッドデータの表示者となるような構造にしておく
→検索は、表示者が行う
行うとすれば、、、
手順1 スレッドはどこか探り当てる
手順2 スレッドを保持しているサーバに対してrequestを送り、
返答内容に差がなければ表示する(返答可能者全員一致採用法則)
0053
01/08/30 02:23ID:uLXMKjs2前も書いたけど、似たようなことをSOAPでやってる人、XML-RPCが
いるらしいよ。
005449
01/08/30 02:24ID:9VE7JjWs歴史のあるNNTPや、Proxyサーバを使った方が工数も下がるし
プロトコルの不得手としているところもわかるのでいいと思う。
ただ、一般社会のパンピーが、UD-Agentを利用するように
Peerを保持するようなノリに仕向けるためには、
そんな重いものを持たせるのも無理があるかと思う。
仕様決定は、現状可能な技術があるからこれで、
というアプローチが経済的であるけれど、
まずは人間本然の論理として、
大丈夫そうかどうかを論じることも亦重要なのではないでしょうか。
把握しやすい論理は実装矛盾を生みにくいのも亦事実であります。
0055
01/08/30 03:18ID:uLXMKjs2サーバが必要では?概念だけ利用するの?ごめん。頭が動かな
いのでもう寝る。
005649
01/08/30 04:08ID:9VE7JjWsサーバプロセスをPeerに実装する
というのがNNTPやProxyサーバを使った場合の答
でもP2Pは、カエサルのものはカエサルに、が正道だと思うなぁ・・・
0057デフォルトの名無しさん
01/08/30 13:40ID:uLXMKjs2005830
01/08/30 14:41ID:YEMO5.RYhttp://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=195&to=195&nofirst=true
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=213&to=213&nofirst=true
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=225&to=229&nofirst=true
要は、最新の発言があったサーバンドが、
スレッドのオリジナルを保持しているっていう当たり前の話。
書きこみをする時というか、その依頼があった時は、そこに書き込みをしにいく。
但し、先着1名様限りで、あぶれた場合は、新しくオリジナルになった所を教えてもらって、
もう一度再チャレンジ。成功したら自分がオリジナルの所有者になるというわけ。
そして新しい書き込みが送られてきたら、自分の前の番号のサーバンドにリレーする。
そうすれば、発言のあったサーバンドがミラーとして利用出来る。
行方不明だったり、拒否だった場合はバイパスしてその前に送る。
もちろん、余裕があればその他からのチェーン要求を受け付けてもいい。
まあ、何度も書き込みをしてるとその数だけ何回も送られて来る事になるから
古い方は許否してチェーンを外れておくか、照合用に参照情報だけ送ってもらう。
でこれだと結局オリジナルのサーバに依存だから、
オリジナルが行方不明になったり、トラブった時にも
対応出来る仕組みを考えてたのが上の参照リンクの奴。
基本的には、チェーンの参加者は、再起動時には必ず
最新状況を確認せよって話かな?
■ このスレッドは過去ログ倉庫に格納されています