5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

P2Pでサーバに依存しない掲示板を作るの巻

1 :1:01/08/27 21:33 ID:Uofeyeso
この掲示板コミュニティをずっと私たちのものにするために、P2Pでサーバに
依存しない掲示板を作るの巻。

クライアントサーバ型BBS、ハイブリッドP2P型BBSでは、サーバを必要とするために
運営に費用がかかります。掲示板では利益を生み出すことができない以上、これら
のサービスは持続可能なものではありません。

2ちゃんねるライクな掲示板を持続可能なものにするためには、コストがかからず、
誰にも依存しない、純粋なP2P型ネットワークを開発する必要があるように思われます。

2 :1:01/08/27 21:34 ID:Uofeyeso
PureP2P型掲示板では、以下の良いところがあります。

■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。
■ 運営にコストがかからないため、お金を儲ける必要がありません。
■ 運営者が不要になります。
■ 多機能化が可能です。

PureP2P型掲示板では、以下の悪いところがあります。どのようにして補うのか。
できるだけ

■ 特別なプログラムをサーバントとして動作させる必要があります。
■ カキコを完全に削除することが出来なくなります。
■ 誰も管理できないのでは?。危険だ。
■ 完全な匿名化を行うことが出来ないのでは?
■ スレッドやレスの取得もれ、消滅が起きる可能性があります。
■ 中央サーバ型に比べ、速報性に欠ける(カキコが全てのユーザに伝わるまで
に時間がかかる)可能性があります。

3 :1:01/08/27 23:11 ID:Uofeyeso
■アイデア
例えば、他の人がたてたスレッドをn個ローカルのディスクにおいて
共有しないと、スレッドが立てられないようにする。

ネットワークへの参加費用=帯域とCPUとディスクの提供という考え方。
最初はROMから。

4 :デフォルトの名無しさん:01/08/27 23:16 ID:kDLbYqTE
■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。

システムの設計よる。

■ 運営にコストがかからないため、お金を儲ける必要がありません。

運営には個人レベルで金はかかる。

■ 多機能化が可能です。

安易に多機能化していくと互換性が乏しくなり、ユーザが離れるだろう。

■ 特別なプログラムをサーバントとして動作させる必要があります。

ソフトウェアによる。

■ カキコを完全に削除することが出来なくなります。
■ 誰も管理できないのでは?。危険だ。

システムの設計による。

■ 完全な匿名化を行うことが出来ないのでは?

完全な匿名なんてあったのか。

■ 中央サーバ型に比べ、速報性に欠ける(カキコが全てのユーザに伝わるまで
に時間がかかる)可能性があります。

ていうかすべてのユーザに通知するような設計にした時点で破綻。


P2Pとキャッシュ混乱してないか?

5 :デフォルトの名無しさん:01/08/27 23:18 ID:fftmjbdI
設計的にはNNTPに近いものになるの?

んで、2ch型の掲示板にするならユニークな発言番号が必要だけど、どうするのかな?

6 : :01/08/27 23:20 ID:Uofeyeso
>■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。
>システムの設計よる。

ちょっとわからない。PCが何台かP2Pでつながれば、それでネットワーク成立。
スパムやP2P破壊を試みるクライアントの登場?

>■ 運営にコストがかからないため、お金を儲ける必要がありません。
>運営には個人レベルで金はかかる。

具体的にどのような費用?

>■ 多機能化が可能です。
>安易に多機能化していくと互換性が乏しくなり、ユーザが離れるだろう

互換性?バージョン間の?クライアント間の?

>■ 特別なプログラムをサーバントとして動作させる必要があります。
>ソフトウェアによる。

ソフトウェアは必要です。ブラウザのみでは実現できない。

Gnutellaのプロトコルはご存知?

7 ::01/08/27 23:22 ID:Uofeyeso
>2ch型の掲示板にするならユニークな発言番号が必要だけど、どうするのかな?

前のスレッドでは、「時計を合わせて、時間軸で発言順」というアイデアが
出ていたっす。

これは意見のわかれるところだと思いますが、私はかならずしも2ちゃんねる
と同じスタイルにこだわる必要はないとおもっているんだ。

8 :デフォルトの名無しさん:01/08/27 23:39 ID:kDLbYqTE
>>6
■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。

掲示板全体では確かにダウンしないが、個々の掲示板レベルでは?
コピーをばら撒けば理論上はダウンはしないだろうが、
個人的にはコピーをばら撒く方法は成功しないと思ってる。

■ 運営にコストがかからないため、お金を儲ける必要がありません。

常時接続のパソコン。通信費。電気代。
ま、これは余計なお世話か。スマ。

■ 多機能化が可能です。

というかIPv4とv6が例で、非互換が頻繁に発生してはならない。

■ 特別なプログラムをサーバントとして動作させる必要があります。

サーバントとクライアントの両方の機能を持てれば
ユーザから見れば分離した概念ではない。

9 :5:01/08/27 23:49 ID:fftmjbdI
>>7

時間軸ソートですか。

う〜ん、時間強制合わせはイヤだけどなぁ・・・

10 :1:01/08/27 23:55 ID:Uofeyeso
>>8
>コピーをばら撒けば理論上はダウンはしないだろうが、
>個人的にはコピーをばら撒く方法は成功しないと思ってる。

参考にさせていただきたいので、なぜそう思われるのかをそことなく
カキコしていただければありがたいです。


>う〜ん、時間強制合わせはイヤだけどなぁ・・・

SNTP。 PCの時刻じゃなくて、アプリ内で別の時刻を持つというのが
前のスレッドで出ていたよ。

11 :5:01/08/28 00:02 ID:GXEcccJ6
なるほど、書き込む前にSNTPで時刻を取得するんだ。

12 : :01/08/28 00:29 ID:IRApeeyY
このシステムを一年くらい続けたとして、昔のスレッドを保存してる人が
いなくなったらその内容はもう取得できないよね。
アクセスは少ないけど、検索対象としてはほしいときなんかは
やっぱWebが適してるような。

13 : :01/08/28 00:40 ID:IRApeeyY
あ、でもその人にとって興味のあるスレッドはずっと所持しつづけるかな?
それだと優良スレだけ残っていくから逆に効率いいかも?

14 : :01/08/28 00:44 ID:IRApeeyY
ところで、Webだと、リソースを表すためにURLを使って指定できるけど、
P2Pだとできないよね?
リンクとかを貼って「前スレ」とか「参照スレ」とか示したいとき
どうするんだろ?

15 :連続カキコすまん:01/08/28 00:45 ID:IRApeeyY
やっぱNNTPみたいにメッセージIDかな?

16 : :01/08/28 00:46 ID:N/BUjlEA
>>12
そうですね。 過去のスレッドがいつまでも残っているかは全く保証され
ませんね。 ウェブではないので、例えばGoogle等の検索エンジンでも
検索できません。

今で言う「実況スレ」のようなもの?

17 :12:01/08/28 01:07 ID:IRApeeyY
いきなりこのP2Pネットワークだけで始めるとあまり広がらない気がする。
P2P-cacheじゃないけど、2ch本家とこのネットワークとでメッセージの交換が
あればかなりイイと思う。

18 :デフォルトの名無しさん:01/08/28 01:08 ID:lGTCN/0o
コーディングにどのくらい時間かかるんですか?

19 :デフォルトの名無しさん:01/08/28 01:27 ID:ayAzes6Q
http://www.hotwired.co.jp/news/news/Technology/story/3849.html
完全な匿名を保証しているらしいです。
こういうの、使えませんかね?

20 : :01/08/28 01:46 ID:IRApeeyY
>>19
たしかフリーネットっていくつかのマシンを経由してデータを転送してもらうから
匿名性が高いんだよね?んで、その分転送に時間がかかるんじゃなかったっけ?
とりあえずグヌテラ形式でいいんじゃない?

21 :デフォルトの名無しさん:01/08/28 02:26 ID:CmtHTuM.
>>20
経由して、経由した全ノードにコピーを残して行くから、
みんなが読むようなコンテンツだと猛烈な勢いで複写が
行われてそのコンテンツが多数のノードに存在すること
になるから、そういうのへのアクセスだとgnutellaより
はるかに高速になる。

22 :デフォルトの名無しさん:01/08/28 08:20 ID:uwDaUMvk
サーバントとクライアントを上手に別けるのに
 サーバント+プロキシ方式はどうだろう?
  つまり普通のWebブラウザを最終インターフェースにする

 こうしとけば家庭内LANでもパソコンが走っていればゲーム機でもブラウジング出来る
 誰かが鯖をたてればいいだけだし

23 :デフォルトの名無しさん:01/08/28 11:07 ID:u.nsLDdo
>>22
freenet にはそういうのありますよ。freenet 独自の URL のようなものが
あって、Web ページも作れるし、freenet 上に NNTP や Mail のようなもの
もある。
なりすまし対策とか、荒らし対策みたいなのもいろいろと考えられてるよう
です。

24 :22:01/08/28 11:24 ID:fuFoxE4A
こういう奴ですね >23
ttp://www.geocities.co.jp/SiliconValley-Oakland/9423/
ttp://www.geocities.co.jp/SiliconValley-Bay/7325/Freenet/FAQ.html

25 :デフォルトの名無しさん:01/08/28 11:30 ID:fuFoxE4A
23 下のリンクから

>今のところFreenetから文書を削除する方法はない。全く要求されない文書は、最終的には使われないことで削除される。

という事で、どうやって削除するかはやはり難しい問題のようですね
でも、このスレの議論のタネとしてはfreenetはよい教材のようです

26 :__:01/08/28 13:19 ID:aE5uBalY
前スレの1さん
http://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は、まだないのでしょう
か。前のスレッドはいろいろと参考になりますね。

27 :8:01/08/28 14:28 ID:wzFAflj2
>>10
>個人的にはコピーをばら撒く方法は成功しないと思ってる。

ま、理論的裏づけがないのであまり強くはいえないが、
いまの2chが流行っているのはリアルタイム性と、
書き込みの完全な同期だろ?

そうすっと、コピをばら撒いてしまうと、ばら撒けばばら撒くほど
面倒になっていくのはいいよな。しかし、ばら撒きを前提にすると
ばら撒かないわけにはいかないわけで。

でここで思うんだが、ばら撒ける余裕があるからネットワーク上の
共有率を高めたほうがいと思う。つまり、今のgnutllaとかって
端から端まで検索効かないよな。だけどもしユーザの立場なら
見れない掲示板が出てくるのはかなり痛い。
だから、コピーをばら撒くより、リソースの存在をばら撒いたほうが
オレは良いと思う。

漏れが考えたのは
・スレのコピーは作らない
・スレは一台のサーバが完全に管理
・スレに関する要求は該当する唯一のサーバへ
・複数のサーバが集まって板を形成
・板内でスレの存在を可能な限り共有
・板へのサーバの参加について制限を設けても良い
・板外のリソースについては板の存在を共有するに止める
てな感じ。スレ単位でトラフィックが50MBはいかないだろ。
いざとなったらスレ委譲の仕組みを加えればいい。

長所は
・スレ単位で負荷分散ができる
・サーバ内でならフローティングなんとかも可能
・面倒な一意の識別子問題もクリア
・完全な削除ができる

欠点は
・サーバが落ちると関連スレ全部落ちる

だな。ま、参考にしてくれ。個人的に考えてるだけだしな。

28 : :01/08/28 14:46 ID:IRApeeyY
その案だと結局一台のサーバにスレの転送要求が集中するじゃん。
今の2chの問題点、わかってます?

29 :8:01/08/28 15:38 ID:wzFAflj2
>>28
最悪、高負荷のスレ以外を他の空いているサーバに委譲しちゃえばいいと思った。
すべてのスレが高頻度に更新されることはないだろうから。

数個のスレで破綻するようなサーバ、もしくは状況では
コピーをとる方法のほうも破綻するだろうし。
#…しないのかな。

ついでに、コピーを嫌う利用はプログラマとしての経験。
完全同期とリアルタイム性が要求される資源について
安易にコピーを作るとろくなことがない。

30 :デフォルトの名無しさん:01/08/28 16:39 ID:OGjCZfek
基本的には、特定のサーバーに依存しなければいいんであって
サーバの存在は前提にしてもいいと思う。
というかP2Pとしては、皆がサーバーになろうというのが基本概念の様な気がする。

でも利用者が1日中ネットにつなげてるわけにも行かない場合も多い、というか
そのために掲示板システムがあるんだよね。
で、どうすればいいかというと、単純な話、メッセージを預ければいいってだけ。
別に預ける先が、freenetだろうが、2chだろうが、ネットニュースだろうが、
自分の借りたディスクスペースだろうがかまわない。
要は、ネット上に確実に存在して、見せたい相手がそれをすぐ見つけられれば問題ない。
だから、そういう既存のものを利用出来るようなプロトコルがいい気がする。

問題は、問題があって、見せたくない(消したい)場合や発信元を明かしたくない場合はどうすればいいのかって話。
情報は、消えても灰は残らないけど、写しても減らないんだよね。だから、無理に消そうと思っても無理。
一番いいのは忘れてもらう事。思い出せなければ無くなったのと一緒。

どうやって実現するかというと、ブラックボックス化すればいいんじゃないかと思う。
よく、ファイルを間違えて消す事があるけど、普通は消した後でもデータ自体はHDDに残ってるんだよね
ただ、一般的にそれを検索する方法が失われるから、普通は諦めて、消えたものとして扱うよね。
でも、大事な物が消えるのは嫌だし、無駄なものばかりで、どこにあるか分からないのも嫌。

基本的に掲示板に必要なものは、必要な人を集める機能で、
住人が望むのは、都合のいいメッセージやレスが即座に見つかる事だと思う。

これが、アクセスを特定サーバーに集中させずにどうやって実現出来るかを考えるべきかな?

31 :デフォルトの名無しさん:01/08/28 18:31 ID:Ea4J7zus
検索性は有志がエンジンを作ればいいんじゃないかな?
大先生のようなね。

リアルタイム性の問題だけど、リアルタイム性はある程度目をつぶってもいいと思う。

しかし、実際的に運用してみないとネットワークの端と端のアクセス性とかわからんからなぁ。

32 :デフォルトの名無しさん:01/08/28 18:36 ID:/foo1b.s
>>31
その点は netnews っていういい例があるんじゃない?
今の netnews はやたらと早く配送されるんで、もうちょっと
昔の状況を思い浮かべるといいと思う。

33 : :01/08/28 22:55 ID:aE5uBalY
>>14
>ところで、Webだと、リソースを表すためにURLを使って指定できるけど、
>P2Pだとできないよね?

例えば、スレッドは「掲示板名+スレ立て時間+立てた人のGUID」
スレッド内のカキコは「掲示板名+スレッドを立てた時間+立てた人のGUID+カキコ時間+カキコ者のGUID」

そこをクリックして、果たしてそのスレッドが見つかるかどうかはわからないのですが…

GUIDは駄目?他に何かあるかなぁ…

34 :名無し:01/08/29 00:02 ID:ZgNIazW2
暗号化部分だけ非公開とかどう?>>30
2chも似たようなもんだし。

35 : :01/08/29 17:07 ID:fbqKB6RI
きょうも 2ちゃんねるは かなりしんでるけど、このいたはまだいきている

ハイブリッド型すごい勢いだなぁ。批判要望板には、2ちゃんねるを買って、
ハイブリッドP2Pやるなんて人が出てきてるよ。

2ch買います
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999059919

ぼくはゆっくりやることにするよ。 なんか日記みたいで失敗。

36 :デフォルトの名無しさん:01/08/29 17:26 ID:akViQcrc
リソースの存在(ディレクトリサービスみたいなもんか)自体は、
IRCでぐるぐる回せばそれほど遅くならねーべ?

・どういう板があって
・どんなスレッドがあって
・そのスレッドの最近書きこみ時刻はいつで、
・それがどのサーバにあるか?
 (複数サーバが1つのスレッドをストライプでもつかミラーでもつか
  ストライプ+ミラーでもつか程度は対処可能としましょう)
だけ回す。

そうすりゃ、スレッドのデータを保持しているPeerが起動されたときに
「お、起きてきたか?」
ってわかるべ。

NNTPだと差分量がでかすぎて、
パンピーが手出せねーべ?

37 :デフォルトの名無しさん:01/08/29 17:29 ID:akViQcrc
注1:
訂正 それがどのサーバにあるか?×
   それがどのPeerにあるか? ○

注2:
IRCつかったことない人でもIP-Messengerは使ったことあるべ?
あれと同じノリだっぺ。
接続論理は、
・マシンとユーザ名+どんなスレッドのデータを持ってる
これを流すようにするだけ。

38 :デフォルトの名無しさん:01/08/29 17:32 ID:1GuEpsjo
>>36 でもそれは IRCサーバに依存してしまうのでは?

39 :デフォルトの名無しさん:01/08/29 17:39 ID:akViQcrc
で、IRCでリソース(つーかディレクトリサービスか)を
ぐるぐる回しただけでは、ブラウザーで板一覧がみえねぇ。

そこで、
・表示だけをうけもつPeerというのを存在させる

現実的には、ルートノードみたいなのがねーと、
シロートさんがIEとかでペコっと開けねーから、
www.2ch.net/index.html、板一覧、板のスレッド一覧表示を
受けもつPeerはどこかに性的に置く必要があるっぺ。
どこかのレンタルサーバに性的に置くしかねー。

で、シロートさんが、その性的に配置されたPeerに対して
URLを指定してIEなんかでそれらを見に行くと、
性的に配置されたPeerは
HTTPの応答を"Location どこそこ"で、どこかのPeerにすっとばして
表示させる。

# すっとばす先は、IRCでぐるぐる回している情報から取るべ

# その性的なPeerもIRCで自分の位置を知らしめねばならん。
# でねーと「掲示板にもどる」ができなくなるっぺ。

スレッド1つ1つの表示は、スレッドデータを保持している
Peerに直URLで表示できるようにすればええ。
もちろん、一覧表示のスレッド最新10レス表示もそいつにやらせるべ。
なに、一覧表示HTMLをフレームで区切ればできるっぺ。

40 :デフォルトの名無しさん:01/08/29 17:42 ID:akViQcrc
>>38
IRCは桃の例えだっぺ。
要は灯を消した体育館で同じクラスの人間と手をつなぎあう手段が
ありゃーええ おっとヘンなところは触っちゃなんねぇべ。

IP-Messengerだとそれサーバなしでやってるべ。
(SMBのマスタブラウザみたいなのをテキトーに決めてるんだか?)
問題は、そいつのトラヒックがどんだけかっつーのがある。

41 :デフォルトの名無しさん:01/08/29 20:10 ID:mHkvtMJw
概略考えて見ました。こんなんでどうでしょ?
割と普通だと思うんだけど・・・。

■ 特徴

ネットワークはFreenet型(多分)
スレじゃなくてレス単位で保存
匿名性は 2ch.p2p に参加していることが数人にバレる程度
書き込み&スレ取得は誰がやったかバレない(多分)

■ レス単位で保存の意味

スレ単位で保存すると、どれが最新なんだー?と混乱するから。
レス単位なら、内容は永久不変。レスに書き込み日付の情報を
持たせて、スレ取得時に書き込み日付でソート。

#このアイデアは前スレであったような気がしたんだけど、
#ちょっと見つからなかった。。

■ スレ取得

まず、クライアントAが「ID:hogehogeのスレに属するレスをくれ!」
とコネクションを張っている他のクライアントにメッセージを発行。
どんどん回す。

メッセージがスレを持っているクライアントBに辿り付いたら
クライアントBは「レス番号:1-xxxまでなら持ってるよー」と
の情報をクライアントAに向けて返してやる。

クライアントAはいくつかのクライアントから応答を貰えるだろう
から比較して、適当に分散させて「おう!んじゃ、お前さんは
xxからyyまでくれよ、お前はyyからuuまでな」というメッセージを
それぞれに発行。気をつけなきゃいけないのは、各クライアントで
拾ってないレスがあるかも知れないわけで、レス番号はまちまち
かも知れない。その点も受信時に考慮。また、悪質なクライアントが
嘘の情報を流すかも知れないのでこれも考慮。

42 :41:01/08/29 20:11 ID:mHkvtMJw
う・・・「改行がおおすぎます」が出ちまった。
続き。

■ 書き込み

書き込みしたいクライアントは、書き込んだぞーメッセージを
他のクライアントに送信。もちろん、匿名性確保の為に、他の
クライアントから伝わってきたんだけど…という顔をして。
書き込みメッセージはネットワークのすべてのクライアントを
駆け巡る(無駄っぽい)。

<書き込みメッセージを受け取ったクライアントの動作>

1:
まず、書き込み日付が、異常に昔だったり、未来だったり
していないかをチェック。もし、チェックに引っ掛かれば、
そのメッセージを他のクライアントに渡したりはしない。
これは、レスをあとから挿入しようと目論んでいる悪質な
クライアントを排除するためである。また、これにより、
クライアントは常に正確な時間を保持することが義務付けられる。

2:
自前でスレのage、sageを行ってスレ一覧を作る。
参加したばかりで、ろくにスレ一覧の出来ていない
他のクライアントから分けてもらいましょう。

3:
ストックに保存
…でも全部のクライアントが保存したら多すぎるよなぁ。

■ レス保存

完全消滅する前に適当にばら撒きましょう。
ライフタイム計算して、適当に消すのも良し。

■ ついでにレス削除

クライアントは、気に食わないレスの(自分を通じての)流通を
拒否することが出来る。つまり、1-xxxは持ってるけど、Id:zzz
のレスはやらん!というように。要求元のクライアントAでは、
「削除された」という形で扱われる。が、
別に欲しければ、「ID:fugahugaのレスある?」と
他のクライアントに聞くことは出来る。が、
別に気にしなければ、クライアントAへは結局コピーされなく、
またクライアントAからそのスレを取得した他のクライアントへも
コピーされなくなるので、完全消滅の日は早まる(気がする)。

■ 補足

スレIDは「板名+ユニークそうな文字列」、
レスIDは「スレID+ユニークそうな文字列」とする。

板を立てること自体はレスIDの板名を変えるだけなんで誰でも出来る。
メジャーな板の一覧はプログラムに埋め込み。

43 :41:01/08/29 20:14 ID:mHkvtMJw
何度もゴメン・・・間違えた。

誤:
参加したばかりで、ろくにスレ一覧の出来ていない
他のクライアントから分けてもらいましょう。

正:
参加したばかりで、ろくにスレ一覧の出来ていない
クライアントは、
他のクライアントから分けてもらいましょう。

44 : :01/08/29 20:26 ID:fbqKB6RI
やはりGnutellaベースで考えると、>>41のようになりますね。

(スレッドのローカルへの保存)
(パケットのルーティングのルール)
(ノード間通信のスレッド共有のプロトコル) の3つに分けて考えたほうが
整理できると思います。

もう一つ、メジャーな板はよいけれど、参加者の少ないマイナーな板は、
特に参加者が少ない時間帯では、共有に失敗する可能性が考えられま
す。 >>3で書いたように、そこで、ランダムな板のスレッドをいくつか、強
制的に、参加者に共有することを義務づける。あるいはスレッドを立てる
こととバーターで、を考えています。

匿名性については、自分が接続しているノードのIPアドレスは分かって
しまいますね。中のカキコの作者はわかりませんが。
あとGnutellaのプロトコルでは、検索クエリーへの答えのパケットに
IPアドレスが含まれているので、そのパケットが通過したノードでは、
「xは、A板のスレッドを持っている、yはB板のスレッドCを持っている」
という情報が漏れてしまいますね。

45 :デフォルトの名無しさん:01/08/29 21:21 ID:7L0go79A
共同作業型のアプリは、どこかで同期化する仕組みが必要だと思うな。
ファイルシェアだけの仕組みの提供だけではまずいような気がするな。
それが鉄則だと思うけど。

46 :デフォルトの名無しさん:01/08/30 00:33 ID:9VE7JjWs
性能について言及するならば・・・
"shared nothing"
1つのrequestが複数ノードに負荷をかけないようにする - これは鉄則だと思う。

47 :デフォルトの名無しさん:01/08/30 00:36 ID:9VE7JjWs
>>41
最新スレあげ程度だったら、
「最新書きこみ時間」を、スレデータを保持するノードにて発信することができて、
それを複数のノードが共有するだけでもいいんじゃないだろうか?
イメージ的には、Windowsのネットワーク共有フォルダを参照したときに、
ファイル名と更新日付がでてくるよね?
あれと同じことを確認できるだけでいいと思うんだけど。

48 : :01/08/30 01:37 ID:uLXMKjs2
カキコが、そのスレッドを読んでいる全ての人にもれなく配布されたか
どうかをテストする方法として

しりとりが使えないか?

yyyy/mm/dd hh:ss りんご ごりら
yyyy/mm/dd hh:ss ごりら らっぱ
yyyy/mm/dd hh:ss らっぱ ぱり


一般参加者にガンガンしりとりを行ってもらい、そのログを集計する。
書き込むタイミング、配布のタイミングで順序が多少前後したとしても、
書き込み時間で修正できるし、前の単語を書いてもらえば、Treeとして
分析することが可能。 配布漏れが発生するかどうか、もし発生すると
したら、どれくらいの頻度で。

何か矛盾や間違っているところがありますか、もっと良い方法はありますか?

49 :デフォルトの名無しさん:01/08/30 01:39 ID:9VE7JjWs
利用者ベースの確認方法としてはいいと思った。
抜けがあったらすぐわかる(しりとりが破綻するから)

ただ、P2Pって、全部のPeerに均等に同じものを配布せずにすませる仕組みだと思うんだけど・・違う?
それだとNNTPでいーじゃん、ということにはなりゃせぬか?

50 : :01/08/30 01:48 ID:uLXMKjs2
>>49
プログラムが、実際の使用に耐えうるものかどうかは、ある程度のユー
ザーにテスターとして協力してもらわねばならず。しりとりなら誰でも
参加可能。

>全部のPeerに均等に同じものを配布せずにすませる仕組みだと思うんだけど・・違う?

P2Pの定義によるかもだけど、あなたの意見には同意。
しかし、板単位、スレ単位でネットワークを組むわけではないから。

もう一つは、配布漏れが発生した際に、どのようにユーザーはそれを
知り、リカバーするのか。 「氏ね>>111」 しかし、俺のログには、
>>111のカキコないぞ。では、>>111を検索しよう」 うーむ。

51 :41:01/08/30 02:00 ID:UdwDTLPc
レスどうもっす。

>>44

>(スレッドのローカルへの保存)
>(パケットのルーティングのルール)
>(ノード間通信のスレッド共有のプロトコル) の3つに分けて考えたほうが
> 整理できると思います。

そうっスね。ひとまず、クライアント間での通信メッセージは
どういう書式で記述するのがいいんだろう・・・?XML?
だと、無駄にでかいか。Gnutellaはバイナリなんだっけ・・・?

> もう一つ、メジャーな板はよいけれど、参加者の少ないマイナーな板は、
> 特に参加者が少ない時間帯では、共有に失敗する可能性が考えられま
> す。 >>3で書いたように、そこで、ランダムな板のスレッドをいくつか、強
> 制的に、参加者に共有することを義務づける。あるいはスレッドを立てる
> こととバーターで、を考えています。

新しめのカキコ(レスじゃ紛らわしかったですね、すみません)については、
41の案では、マイナーな板でも公平に、書き込みと同時にわさわさと広がって
大量のコピーが作られる予定なので、大丈夫そうな感じです。
古めのカキコは知らん。

> 匿名性については、自分が接続しているノードのIPアドレスは分かって
> しまいますね。中のカキコの作者はわかりませんが。
> あとGnutellaのプロトコルでは、検索クエリーへの答えのパケットに
> IPアドレスが含まれているので、そのパケットが通過したノードでは、
> 「xは、A板のスレッドを持っている、yはB板のスレッドCを持っている」
> という情報が漏れてしまいますね。

えーと、これはその応答に使う経路で直接、
カキコを返すような感じでやれば匿名性は守れると思います。
接続ノードにIPがばれちゃうのは・・・まぁ、しょうがないかと。

>>47

勘違いだったらゴメン。それだと、その板を同時に読んでいる
いくつかのクライアントのIPを取得できちまわないか?

一体、匿名性は、
・2ch.p2pに接続しているがバレる
・板に接続しているのがバレる
・スレッドに接続しているのがバレる
のうち、どのレベルまで確保すればいいのだろうか?
「スレッドに接続しているのがバレる」まで許されるのなら、
割とパフォーマンス良いシステムが出来そうだ。
とりあえず、41の案では、匿名性最優先で考えたつもり。

52 :49:01/08/30 02:19 ID:9VE7JjWs
氏ね >>111
の111は、ブラウザ上でURLとして埋めこまれる
→それを受けるサーバが処理する

となれば方策は2つ
1. そのサーバがスレッドデータの保有者となるような構造にしておく
 →必ず返答可能
2. そのサーバは、スレッドデータの表示者となるような構造にしておく
 →検索は、表示者が行う
  行うとすれば、、、
  手順1 スレッドはどこか探り当てる
  手順2 スレッドを保持しているサーバに対してrequestを送り、
     返答内容に差がなければ表示する(返答可能者全員一致採用法則)

53 : :01/08/30 02:23 ID:uLXMKjs2
gnutellaはガチガチのバイナリだよ。XMLでいいんじゃないの?
前も書いたけど、似たようなことをSOAPでやってる人、XML-RPCが
いるらしいよ。

54 :49:01/08/30 02:24 ID:9VE7JjWs
もし、配布という概念を用いるのであれば、
歴史のあるNNTPや、Proxyサーバを使った方が工数も下がるし
プロトコルの不得手としているところもわかるのでいいと思う。

ただ、一般社会のパンピーが、UD-Agentを利用するように
Peerを保持するようなノリに仕向けるためには、
そんな重いものを持たせるのも無理があるかと思う。

仕様決定は、現状可能な技術があるからこれで、
というアプローチが経済的であるけれど、
まずは人間本然の論理として、
大丈夫そうかどうかを論じることも亦重要なのではないでしょうか。
把握しやすい論理は実装矛盾を生みにくいのも亦事実であります。

55 : :01/08/30 03:18 ID:uLXMKjs2
>歴史のあるNNTPや、Proxyサーバを使った方が工数も下がるし

サーバが必要では?概念だけ利用するの?ごめん。頭が動かな
いのでもう寝る。

56 :49:01/08/30 04:08 ID:9VE7JjWs
>>55
サーバプロセスをPeerに実装する
というのがNNTPやProxyサーバを使った場合の答

でもP2Pは、カエサルのものはカエサルに、が正道だと思うなぁ・・・

57 :デフォルトの名無しさん:01/08/30 13:40 ID:uLXMKjs2
てすてす。かける?

58 :30:01/08/30 14:41 ID:YEMO5.RY
チェーン方式(発言番号ロック制御)について
http://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名様限りで、あぶれた場合は、新しくオリジナルになった所を教えてもらって、
もう一度再チャレンジ。成功したら自分がオリジナルの所有者になるというわけ。

そして新しい書き込みが送られてきたら、自分の前の番号のサーバンドにリレーする。
そうすれば、発言のあったサーバンドがミラーとして利用出来る。
行方不明だったり、拒否だった場合はバイパスしてその前に送る。
もちろん、余裕があればその他からのチェーン要求を受け付けてもいい。
まあ、何度も書き込みをしてるとその数だけ何回も送られて来る事になるから
古い方は許否してチェーンを外れておくか、照合用に参照情報だけ送ってもらう。

でこれだと結局オリジナルのサーバに依存だから、
オリジナルが行方不明になったり、トラブった時にも
対応出来る仕組みを考えてたのが上の参照リンクの奴。

基本的には、チェーンの参加者は、再起動時には必ず
最新状況を確認せよって話かな?

59 : :01/08/30 14:46 ID:XO07jRAQ
正直、複数の人間が思い付きを書くだけでは、まとまらず話しが拡散
しますね。 僕はしばらくコモってまとめることにします。

(でも時々age)

60 :デフォルトの名無しさん:01/08/30 15:29 ID:ZbIqADkA
>>58

でもさ、それだと、カキコをしたやつのIPバレバレじゃない?
同時に最新のカキコをした奴(=オリジナル保持者)から見れば、
それスレにアクセスしてくるやつのIPもバレバレな気がするんだが。

これを回避できれば、リアルタイム性、同期性もあって、
素晴らしいと思うんだけど・・・。

61 :デフォルトの名無しさん:01/08/31 00:44 ID:t1XPYVCw
書きこみ番号なんてすっとんでもいーじゃん 現に今がそうなんだし。
みんなもっと素元的に落としこんで考えろ Learn more,study hard!!

62 : :01/08/31 03:30 ID:cWzLd3g2
朝起きるのが早すぎるよ。

巨人インテルマンセー。
http://www.watch.impress.co.jp/internet/www/article/2001/0829/intel.htm
http://www.intel.com/pressroom/archive/releases/20010828tech.htm

63 :58:01/08/31 03:52 ID:xAV9dT/M
>>60
もし、この書き込みがそうだと仮定すると、
たしかに、62の書き込みがあったサーバンドのipが分からないと
書き込めない事になるし、分かれば書き込んだ方のipも分かってしまう

どうすればいいかというと、2chの管理人を増産するのが一番簡単。
要はIP取らなければいいわけで、そういう信頼出来る?
サーバンドにしかアクセスしなければいい。
で、書き込みしにいく時は、それらの代理サーバンドに全権依頼する。
番号の管理は代理サーバンドが行なう事になる。
つまり、書き込む人と、サーバンドの独立性を確保すればいい。
まあ、要するに普通にユーザーモードで書き込めればいいって話だね。

>>61
レス順序が一定でないと、例えばこの書き込みの方が、61より
速く出回るって事が起こりえる。

ipなんてない昔からそういう転送掲示板はたくさんある訳。
それならnntp(ihave/sendme等)で十分。というかもっと単純化するべきか?
要は設定を自動化して、皆がだれでもサーバー立てられればいいって話。
既存のnntpサーバが、一般の接続を弾くのは、そのように設定してるからってだけだと思う。
つまり車輪の再発明は、ゴムタイヤだから意味があるので、
そうでなければ、滑りを良くして、レールを発明するって方法もある。
p2pなんて、結局ip/dns/サーチエンジンの再発明みたいな話だし。

64 :デフォルトの名無しさん:01/08/31 04:05 ID:g5Kjhjlw
今のGnutellaでファイルの共有は出来る。問題なのは同期を取ることだと思う。
でもこれを実際にp2pでやるのは無理というかその性質に合致しないことのよう
に思える。2chのようなものは中央サーバがどうしてもいるんじゃないだろうか。
だからそういったサーバ単位で不可分散を考えた方がいいと思う。プリミティブ
な意見で申し訳ないが。。

65 : :01/08/31 04:28 ID:cWzLd3g2
お、ネガティブな意見続出。まぁ、普通そうだろうね。

書き込みの順序については既に前のスレッドでも議論したね。もうお腹いっぱい。
配布の遅延や漏れについては、当然生じるわけですが、これをどのように最小限に
押さえるのかというところが面白いところだと思うYO。

前のスレッドで、SOAP使うと言う人がいましたが、ここはもう見てないですかー?

66 : :01/08/31 05:03 ID:GoIOYhtI
>>63
こういうのはどうかな?

(1) Gnutella Net 上でニュースグループ名(たとえば2ch.techとか)を
  含むファイルを持っているか検索をする。
(2) 見つかったら、そのファイルをGETする。この時点でGETされた側は、
  GETした側からNNTPで記事を配送できるようにする。
(3) ファイルの中身を見て特定の単語(たとえば「このファイルは2ch掲示板で
  使います。」みたいな単語)が含まれていたら、そのピアとNNTPでやりとり
  を開始する。

こういう感じで自動的に「レス」の配送を行うことってできないかなあ?

んで、このままだと今の2chと互換性がないから、取ってきたレスをまとめて
スレにして、ベアシェアみたいに限定されたウェブサーバ機能(この場合は
MP3ファイルリストの表示じゃなくて、掲示板CGI機能)も持たせてやれば
どうかな?

67 : :01/08/31 05:16 ID:GoIOYhtI
>>65
レスが途中で抜けても、後からそのレスを検索によって取得できれば問題ないんじゃないかな?
たぶん、今みたいに >>999 とか番号で指定することはできなくなるから、レスIDを
使うことになると思うけど、そのユニークなIDを検索にかけて取得するようにすれば。。

って>>66-67は思いっきりNNTPを使ってさらにレスごとに管理するという前提で話してますが。。

68 : :01/08/31 05:20 ID:GoIOYhtI
要するに、誰かが >>xxx みたいに参照してないレスは、あってもなくてもいい、
はいいすぎだけど、なくても気づかない、ってことなんで、だれかが参照した時点で
取得すればいいんじゃないかなと思ったんです。

69 : :01/08/31 05:42 ID:cWzLd3g2
>>67-68
それって、>>50, >>52 と同じ事と考えていいよね?

70 :63:01/08/31 05:48 ID:xAV9dT/M
>>64
そんなこともないと思う。

p2pってのは、一番必要な人達が持っていれば
他の人はそこからもらってくればいいから
皆が保存しておく必要がないって所にメリットが有るように思う。

ipが無い時代には、在り処が分かってても、隣までこなければ無理だったけど、
今は場所さえ分かれば、そこへアクセスして取ってくる事ができる。

>>66
で、>>30でも言ったけど、問題は、規模がでかくなると、
索引でさえ膨大になって、その場所を見つけるのが難しくなる。
まあ、ageで書き込むだけである程度それができるのが2chのシステムである訳で。
ただ、書き込みが多すぎて流れてしまうと、スレの中でも見つけにくくなるのと同じ。
要は処理が追いつかなければ全体を見る事が出来なくなって
見つけられない訳だよね。
でも、例えばp2pの掲示板の話題がこのプログラム板にある
っていうことを知ってればここには辿り着けるって話。

結局、何処かでツリー構造に頼るしかないかもしれない。
でも、それでは頂点がパンクするので、依存するのは避けたいわけだよね
それには山の頂上を平らにするっていうのが普通のサーバー分散の発想。

ただ、山を転がせがばいいという考え方もあるんだよね。
要は、ここを知らなかった場合は、誰かがなんらかの形で
教えてくれたから皆ここを見てる訳だと思うし?

71 :70:01/08/31 05:50 ID:xAV9dT/M
>>68
逆にいうと皆が参照してくれれば問題ないんだよね。

結局、システム的には、
その場で即座に作れて自動リングする。
勝手に消えない匿名ホームページ群と、

そのリングの負荷分散型ランキングシステム
があればいいだけかもしれないなあ?
まさにこれが問題なんだけど。

72 :66-68:01/08/31 11:06 ID:DGb/yr.6
>>71
ニュース読んでると、みんなが興味のある記事には
たくさんの返信がされるじゃない。
ということは、もともとの記事が配信されなくても
それに返信した記事のうちのどれかひとつが届けば
もともとの記事が存在したことがわかるし、
興味なければ返信もないから見つけられない人が
少し増えることになるだけと思う。

その記事に返信された数がそのままランキングに
なってないかなぁ?そういう話じゃない?>ランキングシステム

73 : :01/08/31 13:00 ID:cWzLd3g2
>>72
多少の遅延が生じるかもしれませんが、ネットワークに参加しているノードが
カキコを持っていれば、いつかは(w、同期が取れると考えています。

問題はその遅延時間を出来るだけ短くすることと、遅延に気づいたユーザーがその
カキコをできるだけ自然に、かつネットワークに負荷がかからないようにして取り
寄せることができるような仕組みかなと思うのです。

74 :71:01/08/31 13:40 ID:xAV9dT/M
>72
レスがつくのは、興味があるかというより、確かにそれは前提条件ではあるけど、
まずはレスの付けやすい記事かどうか、というのが大きいんじゃないかな?

レスを付けなければ見られにくくなるとすると、
届いてない記事に誰がレスを付けるのかって話だよね。
見れる人が少なければ少ない程、レスがつかない可能性が高いのでは?
さらに、タイムラグがあればある程、レスはしにくくなりますしね。
それに、誰もレスのネタがないからってだれも興味のない記事とは限らないでしょう。
ホームページなんかでも、カウンタだけはやたらまわってるのに、
付属の掲示板はまっさらなんてところはザラにあるわけで、

まあ、2ch内に確実に存在したとしても、量が多すぎて見つけられない人も
多いのかもしれないから、それと一緒の事かもしれないけどね。

とりあえず、>>58みたいなのを誰か作る気ないかな?
と、実際のプログラムが書けない私は、sageで書いて人に依存してみる。(w

75 : :01/08/31 19:05 ID:cWzLd3g2
わすれないようにメモ

おれのサーバント、どうやら書き込みの受信が遅れてるみたいだぞ(遅延発生を
認識)
->同じスレッド仲間とのコネクションの端っこにいることが推測される。

接続数増加ボタン連打。
->仲間とのコネクションを沢山張ることにで遅延を回避しようとする。

76 : :01/08/31 22:37 ID:2wgXA52U
サイト作ったYO!
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/

77 :41:01/09/01 01:05 ID:V0kaltcw

う…漏れも作っちまった。
>>41 で出した案の改良板。まずは概略。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1539/

…つーわけで、ご意見ご感想お待ちしております。

http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/ より
> 板によって異なるポリシー(IPアドレスの表示/匿名、投稿制限等)を設定可能。

むむ、興味あるぞ。

78 : :01/09/01 01:14 ID:t2cxml/2
僕のアイデアと同じ所もあり、違うところもある。
なんとか一緒にやれませんかね。

>Gnutellaと違うのはファイル(スレッド、書き込み)の
>やりとりを直接行わないで、他のクライアントを通す。
>IPを晒す必要がないので、匿名性を確保出来る。

カキコの中身は全部パケットに入れて流すんですか?
それは少し非現実的では? パケットでブロードキャスト
するのは検索クエリとそれに対する応答にして、後は
ソケット通信がいいんじゃないかと。

79 :aki:01/09/01 01:22 ID:Zhfmqejs
なんか150Mbps越えたそうな。
http://www.maido3click.com/2ch/viewstat.html?_all

というわけでTikiからリンクはっと来ました...

80 :Perler ◆GSi39OA6 :01/09/01 01:33 ID:mWrhy1jc
>>79
スレ違いは置いといて、単位が「hits」なんですが。。。デマのような気が。

81 :aki:01/09/01 01:39 ID:Zhfmqejs
ガガーン。駄目じゃん<単位

スレ違いぽいのは余談の方が長いせいですね。
逝ってきます。。

82 :デフォルトの名無しさん:01/09/01 01:39 ID:ancbgN2U
待機任務がヒマなので結構テキトーに考えてみた
http://www.geocities.co.jp/SiliconValley/9825/p2p/index.html

図説の現行2chサーバはあくまでも例です。
単に、どこかに固定的に置かれているプレゼンテーションを行う層として考えてるだけ。
(URL固定でないとフツーの人が見れないから)

83 :あぼーん:あぼーん
あぼーん

84 : :01/09/01 01:41 ID:t2cxml/2
このすれ、急に混雑してきたね…

85 :あぼーん:あぼーん
あぼーん

86 : :01/09/01 05:23 ID:t2cxml/2
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1539/#3.2
>書き込み並びにスレの取得などは、他のクライアントからの伝聞を
>装うのでばれない。

「装う」という仕様では、装っていることがバレバレなのだから、結局IP
アドレスがばれてしまうと思います。

そこで、ランダムなノードをプロクシとして使うことを考えてみました。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/proxyposting.html

ランダムなノードは、本当に投稿してくれるのか?
本当に俺のIPを忘れてくれるのか?ログとってねーよなゴルァ!

そのリスクを最小限に押さえるため、行きずりの、全然無関係な板の人に頼む。
だめか。

結局、P2Pは互いを信頼することで成り立っているから、これはどうしようも
ない問題だと思うな。何か良い方法があればいいけど。

87 :デフォルトの名無しさん:01/09/01 13:30 ID:yanE/TlI
>>78

つまり、カキコの中身をバケツリレー的に伝聞するという事ですよね?
で、自分がコネクションを張っているクライアントに対してソケットで交信よんよん。
だから、ブロードキャストをする必要は無いと思う。

ブロードキャストは最初にコネクションを張る時だけで。

88 :デフォルトの名無しさん:01/09/01 13:35 ID:yanE/TlI
>>86

いや、バケツリレー的にメッセージを送るプロトコルなら。

「どっかのだれかから、あんたにメッセージだよ」
「どっかのだれかが、スレ取得したいから送れ」

を、本人を含めて伝聞で行うという意味じゃないかな?
つまり、ネットワーク総プロクシ化。

的外れだったら、スマソ

89 :デフォルトの名無しさん:01/09/01 13:44 ID:oknLaLHw
おもしろそうな事やってますね、おいらも混ぜてちょ。
(といいつつ、あまり動けないけど)
練ってけど、TCP/IPでいく限りはIPアドレスが漏れるのは避けられないから、
トークンバスの仮想ネットワーク作っちまったらどうかな。
レスはこの仮想ネットワーク上にブロードキャストしちまえば誰が書いたかわからない。
A ==> B ==> C ==> D ==> E
^=======================+
のような輪を作る。Aが発言しBに渡す、BはC以降の誰かが発言したという事しかわからない。


以下、思いついてるネタを散文的に書きなぐり
・データの持ち方は現行の2chにとらわれる必要なし。httpdとして動き、それらしく見せるローカルなデーモン作ればいい。
・スレはレス(いわゆるメッセージ)を指すディレクトリでありレス本体は含まない。スレを閲覧するときに持ってないレスをgnuttelaのように掻き集める。

90 :デフォルトの名無しさん:01/09/01 14:10 ID:yanE/TlI
>>89

ここで
>書き込み並びにスレの取得などは、他のクライアントからの伝聞を
>装うのでばれない。
というのは、

Aが「どっかのだれかからのメッセージ」と偽れば、Aが発言したとはBも分からない。
と解釈すればいいのでしょうかね?

グヌテラのようにかき集めるのは匿名性の問題があるから、これもバケツ
リレー的に行えばいいと思うです。

91 : :01/09/01 14:21 ID:9DvFkqOE
書き込みの中身をパケットで流したら、ネットワークが大きくなった時に
簡単に破綻すると思います。

92 :デフォルトの名無しさん:01/09/01 14:33 ID:1.Ou8YGY

バケツリレーするには、少なくても隣の人が誰かを知らなければならない
 という問題はあるけど

ネットワークが大きくなってもバケツの数も増えるので同じでは?

93 : :01/09/01 14:36 ID:9DvFkqOE
確かに書き込みをパケットに入れてバケツリレーをすると、匿名性は
保てますが、ネットワークが簡単に破綻してしまうので、止めたほうが
良いと思います。

http://www.jnutella.org/docs/gnutella/scalinggnutellanet.html
絶対に実装してはならない機能はチャットである。狂気の惨状にしては
ならない:チャットのパケットを送ってはならない。

94 : :01/09/01 14:38 ID:9DvFkqOE
>ネットワークが大きくなってもバケツの数も増えるので同じでは?

それは、(ごめん)非常に浅はかな考えだと思います。

95 :92:01/09/01 14:47 ID:KAOoJuUo
この場合、流すのは書込みメッセージだけですよね?
一周回って送ったメッセージが帰ってきたら完了

A ==> B ==> C ==> D ==> E
↑               |
+−−−−−−−−−−+

サーバーがある場合に比べて通信負荷が倍になるだけでは?
確かに、このリングを作るのにコストはかかりそうだけど・・・

96 :デフォルトの名無しさん:01/09/01 14:51 ID:AfE3XVcw
IPが漏れるという問題は、IPV6になったら解決されるのだろうか。
IPV6の世界って家電だろうが何だろうがグローバルにIPを振るというものだから、
そのへん考慮されていそうだが。
あまりに厨房なこといってたらスマソ。

97 :デフォルトの名無しさん:01/09/01 14:53 ID:yanE/TlI
バケツリレーは無理かぁ・・・

じゃぁ、読んだ書き込みはコピーって言うのはどうかな?
コピーかどうかが分からない以上、だれが書いたか不明ですから。
コピーを複数所有していれば確実ですね。

リクエストのほうの匿名性は・・・ 仕方ないかな・・・

98 :デフォルトの名無しさん:01/09/01 16:13 ID:oknLaLHw
>>97
>バケツリレーは無理かぁ・・・
そのスレの参加者(閲覧者)の間でメッセージをリレーするとすれば、ネットワークを流れる総データ量は
クライアント数×メッセージ量なので、局所化させない応答性を確保する、が肝じゃないのかな。

>>93
それバイアスかかってないか?
グヌテラのプロトコルはチャットを考えて設計されてないから、実装してはいけない
というならば理解できるが。

99 :41:01/09/01 19:14 ID:V0kaltcw
盛り上がってきたね、嬉しい。

>> 88

そうそう、そういう事っす。ありがとう。
ここいら辺は Freenet のパクリ。以下のページを参考にした。
http://www.sfc.wide.ad.jp/~egichan/mlecture/netsec2000f/kadai3.html

>> 96

どうなんだろう??でもこんな記事が。
http://www.zdnet.co.jp/news/0012/14/e_nymip.html
IPレベルで匿名性を確保できるとすげー楽っすねぇ。


…んで、
新規投稿(書き込みだとスレの内容の意味のカキコと紛らわしいね、
これもごめん)をバケツリレーしたら、ネットワーク壊れるんじゃねーの?
というご意見多数ですが、

何で壊れる?というのが俺の意見。
遅延発生すんだろ!というのなら分かるけど…。

俺の案だと、「板ネットワーク」なるものを作っている。
これによって必要な所に必要なだけの新規投稿を送れるようになる(はず)。

しかし、ただの経路になったクライアントもネットワークに
組み込まれるわけだけど、もし、流通量が多くて
もうやってられませんわ!という事になれば、
その板ネットワークから抜け出せるようになっている。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1539/#3.2

無駄な新規投稿を経由さすのが嫌なら、抜け出しまくれば、減る。
抜けたら抜けたでネットワークは効率化するわけだし。
…でも、皆が皆、そういうことしちゃうと、
板参加者が推定しやすくなっちゃうから困っちゃうんだけど…。

もしかして、そういうことじゃない?

>> 86

>  ∧,,∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>  ミ,,゚Д゚彡 < アンタに、そう伝えてくれって、知らない奴に頼まれた…
>  ,;゙  ミ     \_____________
> ミ.  ミ
>/゛゛゛゛

カッコイイ

良かったら考えている基本的な土台を見てみたいッス。
俺の案だと板は全部同じ扱いしかできないし。

100 :41:01/09/01 19:17 ID:V0kaltcw
う…参照リンク失敗。すまん。 >>88 >>96 >>86 ナリ。

101 :デフォルトの名無しさん:01/09/01 19:47 ID:ig30BD5c
書き込みのバケツリレーなんてしたら1対1で直接ファイルをやりとりできるとい
うP2Pの性質が意味をなさないのでは?

同時多発的にあるスレに対する書き込みが発生してそれぞれ異なった版のスレが
あちこちに作られ、同期を取れない間にまたそれらのスレに書き込みが繰り返さ
れ、さらに版が拡散するんじゃないか?このことはどうやって回避するのだろう?

102 :デフォルトの名無しさん:01/09/01 20:13 ID:LzBeC2l.
------------------------------------------------------------------------
==2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数:62465人 発行日:2001/09/01

どもども、こんにちは、ひろゆきです。

先日のネタが予想以上に大騒ぎになってしまいまして、、、関係者の方々にはご迷惑をおかけしました。。申し訳ございませんです。http://dailynews.yahoo.co.jp/fc/computer/2channel/


8/31に2ch閉鎖という噂が流れていたので、それを逆手になにか面白いことをしようと思い、forSaleの画像をつくってもらって2chをオークションにかけたわけです。yahooオークションかビッダーズのどちらにしようかと迷ったんですが、
ビッダーズだと無料で出品できるので、ビッダーズでいいやぁとビッダーズを選んだわけです。http://www.bidders.co.jp/

実は、オークションに出品するのが初めてだったもんで、よく知らなかったんですが、ネタの出品は禁止されてるんですね。。。

ビッダーズさんには突然の負荷とネタ出品というご迷惑をかけてしまったようで、、、申し訳なかったです。ちなみに、http://www.writing-space.com/の企画ネタだろう?という話もあったようですが、単においらが思いつきでやっただけです。。。


さてさて、、、2ch縮小のお話ですが、、

サーバ屋さん(http://welcome.maido3.jp/)が好意でサーバを提供してくれて、削除人さん、復帰屋さん、保管屋さんやユーザーさんの善意のおかげで無秩序に増加をし続けた2chでしたが、
規模が大きくなりすぎたため、好意だけで続けるにはコストが高すぎる状況になってしまいました。

そこで、ぽこぽこと掲示板を閉鎖したり、UNIX板の人たちの協力でスクリプトを更新したりと、2chを維持するコストを縮小しよう計画をしてました。

ある程度まで維持コストは下がりましたが、それでも、「誰かがお金を払う」ことで2chが成り立っていたという事実は変わりません。

そうすると、3種類の対策があります。
・広告スポンサーをつける <広告モデルが崩壊してるので厳しい。
・ユーザーが使用量を払う <面白くなくなる。
・法人化して金稼ぐ    <めんどくさい。未知数。
もちろん、2chを潰してしまって、日々の生活に戻るという選択肢もありますが、、、

ということで、今後、2chを残すためにどうすればいいいのかという話し合いをしてました。

現実的な路線としては、法人化してサーバ代を払えるような組織をつくるというところになりそうです。そうすると、今までの2chの行動原則の1つである「面白いことをしよう!」というのは崩れちゃうことになるでしょう。

「面白いかどうか?」という基準ではなく、「儲かるかどうか?」という基準で考えなければ、法人としてやっていけません。

だから、法人化するとしたら、儲かりもしないネタをやって、バカ騒ぎすることは出来なくなってしまうかもしれません。

たった2年間ではありましたが、自由で無責任でアホでどうしようもないけど、無駄に面白い場所というのはもう無くなってしまうかもしれません。そして、現在閉鎖した掲示板が復帰する予定についてもまだわかりません。

閉鎖した掲示板の住人だった人や、自由で馬鹿だった掲示板が好きだった人は、2chを去ってしまい、ほかのところでまた楽しくやっていくことだろうとは思います。

そして、今回のオークションネタは、ネタのわかる人たちへの最後の花向けと、ネタのわからない人たちを笑う最後の悪趣味な冗談だったわけです。

今後、2chがどうなっていくかはわかりませんが、世間を騒がせても笑ったものが勝ちという、生真面目な人をうけつけないアホな掲示板があったことは覚えててもらえるとうれしいです。

んじゃ!

─────────────────────── 2ch-net─

P2Pでサーバに依存しない掲示板を作るみなさん、あなた方がポスト2chの本命の様です。 陰ながら応援します。頑張ってください。

103 :デフォルトの名無しさん:01/09/01 21:49 ID:baJQonXA
がんばってくださいage

104 :デフォルトの名無しさん:01/09/01 21:49 ID:ytvqUsmk
使命っすね。がんばらねば。

105 : :01/09/01 21:54 ID:9DvFkqOE
俺はがんばらない。別にお前のためにつくってるわけでもないし、使命だ
とおもって作ってるわけじゃない。作りたいから作るだけ。

106 :デフォルトの名無しさん:01/09/01 22:09 ID:oknLaLHw
>>101
>書き込みのバケツリレーなんてしたら1対1で直接ファイルをやりとりできるとい
>うP2Pの性質が意味をなさないのでは?
掲示版という性質上、全ての参加者が同一の情報を(少なくとも注目しているスレについては)
共有する必要があるので、新規カキコはリレーでおっけじゃないか?
閲覧のたびにスレのカキコデータを全部もらってくるのは、他の参加者の負荷が上がるので、
読んだものは自分で保持。

107 :デフォルトの名無しさん:01/09/01 22:27 ID:LzBeC2l.
>105
ごもっともです。
「エンジョイしてるかい?」に訂正。

108 :デフォルトの名無しさん:01/09/01 22:31 ID:RO5r5Hlo
ダサいの覚悟で言わせてくれ。
お前ら最高にかっこE Yo!
++LOVE

109 :デフォルトの名無しさん:01/09/01 22:35 ID:V3BM1p2g
>>106

>読んだものは自分で保持

ログの保存は。

1.自分で読んだもの
2.経由したもの

を、ユーザーの設定によって保存するってのはどうでしょうか?
また、容量制限も必要かもしれませんね。

110 : :01/09/02 01:39 ID:K265WADA
もれなくパケットを配布できる理想的なP2Pネットワークってどうよ?
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/ideal_packetrouting.html

っつーか、まだ出来てないんだけどね。明日は遊びに行くので、もう寝ます。

111 :デフォルトの名無しさん:01/09/02 03:09 ID:DPzwl.jk
新規にPeerがネットワークに入る動作ってどうやって考えるの?
やっぱ人間社会と同じく、こんな感じになるの?

【a.ハナからアヤしいヤツを蹴る場合】
新規Peer
 「ねーねー、キミってたしかxxサークルだったよね 入りたいんだけど」
新規Peerの知り合いの既存Peer
 「んー(お前の入るカラーじゃないんだけど・・・)ちょっと今無理かも」
新規Peer
 「そーなんだ。。。」

新規Peerの設定項目として、
「新規Peerの知り合いの既存Peer:知っているPeerの情報
 (設定項目名 MyDearFriends=URL:ProtocolVersion)」を設定しといて、
起動されたらその情報にしたがって初期ネゴシエーションを取る。

証明書みたいなのをやりとり(ベリサイン?)

MyDearFriendsが断ったらセッション終了

112 :111:01/09/02 03:31 ID:DPzwl.jk
【b.うまく加入できる場合】
新規Peer
 「ねーねー、キミってたしかxxサークルだったよね 入りたいんだけど」
新規Peerの知り合いの既存Peer
 「んー(まぁいいかな・・・)じゃあ、口キキしてやんよ。
  皆に言うときにいちいちめんどくさいから学生証のコピーくんない?」
新規Peer
 「あー、いいよ」
 
<<次の日>>
新規Peer
 「ねーねー、どうだった?」
新規Peerの知り合いの既存Peer ※過半数割れしたらここからが拒否になる
 「ああ、オマエ結構ウケよかったから、紹介してやんよ。
  この紙がサークルのみんなのプロフィールと連絡先な じゃこれで成立だ。」
新規Peer
 「?部室とか連れてってくれるんじゃないの?」
新規Peerの知り合いの既存Peer
 「ウチそういうのないの。
  その紙のプロフィールで面白そうだなと思ったヤツと連絡とりな。
  細かいことはそいつと決めてくれ 活動オンデマンドってヤツだな」
新規Peer
 「ふーん、なんかフリーメーソンみたいだね?」

新規Peerの設定項目として、
「新規Peerの知り合いの既存Peer:知っているPeerの情報
 (設定項目名 MyDearFriends=URL:ProtocolVersion)」を設定しといて、
起動されたらその情報にしたがって初期ネゴシエーションを取る。

証明書みたいなのをやりとり(ベリサイン?)

MyDearFriendsは動的変更可能な
     「このPeerは信用ならんから拒否するリスト(DenyList)」を持っていて、
 そのリスト上、そのPeerを信頼できると判断した場合、
今MyDearFriendsが認識しているPeer全てに証明書とPeer情報(URL)を送る。

今MyDearFriendsが認識しているPeer全てから、その新規Peerの受け入れ是非の回答がくる
(各々、MyDearFriendsがしたような判断を行う)

過半数が「いいよ」という場合、
MyDearFriendsは全Peerの情報
(PeerのURL(ミラー化を意識して、複数URL書けるようにする)+板名+スレ題+
 最新更新日付+PeerのURLの新規スレッド保持可能数)
の入ったパケットを
ルーティングするように動作する。

新規Peerはそのルーティング情報に、自分の情報を乗せて、ルーティングを行う。
(この場合、新規Peerが枝末端なので、MyDearFriendsにルーティングすることになる)
(乗せる情報は、自URL+板名はNULL+スレ題もNULL+最新更新日付もNULL+新規スレッド保持可能数)

113 :デフォルトの名無しさん:01/09/02 04:26 ID:CXtdfW8.
http://mentai.2ch.net/test/read.cgi?bbs=network&key=998697428&st=106&to=106&nofirst=true
なんか腹立つ

114 :デフォルト:01/09/02 04:32 ID:/l8QEjzU
http://www.openp2p.com/
http://www.exocortex.org/p2p/index.html
見れば?

115 :デフォルトの名無しさん:01/09/02 04:33 ID:hNvXVfJg
とっくに意見が出てることだろうが、
どこに問い合わせても同じ結果を期待するような場合、P2Pは不向き。
P2Pでは情報が完全に失われてしまうケースも考えられる。
(↑こりゃCSだって有り得なくないけども)

116 :デフォルトの名無しさん:01/09/02 04:45 ID:hNvXVfJg
むしろプロキシのような、キャッシングを行うことを考えた方が
いいんじゃないかな。

DNSの例もあるけど、DNSよりは情報が大きいし。

現存のwww.2ch.netではアクセスの窓口機能だけのために、
アクセスしてきたIPを記録する。->IPTABLEとする
後からアクセスしてきた者はLAST_MODIFYを参考に、前にアクセスしてきた
IPにキャッシュの問い合わせを行う・・・

とか何とか。
そのようなキャッシュサービスを閲覧者に提供させるなら
プロクシの利用を推奨した方がマシかも知れない気がするけど。

117 :デフォルトの名無しさん:01/09/02 05:06 ID:DPzwl.jk
ふーむ・・・
そういえば生物はそういうのどうやってるんだろうか?
細胞ってすんごい数あるじゃないですか。

118 : :01/09/02 07:46 ID:uycLsX4E
>>116
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=50
こちらへどうぞ。

119 :デフォルトの名無しさん:01/09/02 17:18 ID:52H90urY

ブロードキャストで聞けばいいんじゃないのかな。

新規Peer ブロードキャストで聞く。

既存Peer パケット聞いたら自分の既存コネクション数と勘案して返信をする。

新規Peer 返信が早かったやつから、いくつかにコネクションを張る。

でネットワークへの参加じゃだめかな?

120 : :01/09/02 17:30 ID:uycLsX4E
インターネット全体にブロードキャストするつもりですか。

121 :デフォルトの名無しさん:01/09/02 18:07 ID:52H90urY
>>120

自分のサブネットじゃだめかな?

122 :デフォルトの名無しさん:01/09/02 18:08 ID:52H90urY
自己レス

>>121

まて・・・ それじゃ、サブネットから出れないじゃないか・・・

グヌテラとかどうやってんの?

123 : :01/09/02 18:16 ID:uycLsX4E
http://www.jnutella.org/docs/gnutella/protocol.html
PONGパケットを聞いてればいいよ

124 : :01/09/02 19:27 ID:AfXiH6sI
まず、Gnutellaとフリーネットをきちんと理解したほうが良い人が
おおぜいいますね。

125 :デフォルト:01/09/02 21:22 ID:/l8QEjzU
>>122
host catcherの話か?
んなもん、初期状態ではどこかのボラ君がWebサイトに
置いておいたリスト取ってきて食わせて、そのリストの
サイト群にコネクトトライして、接続に成功したらがし
がし現在接続しているノードの情報が入ってくるから、
それを覚えておいて、次回からはそのリストを使うとか
いうのが素状態だが、最近、もっと洗練した方法でスタ
ートするサーバントが出たな。

126 :デフォルトの名無しさん:01/09/02 23:32 ID:5zxU1VI2
そいや、freenet 上に Wiki とか掲示板(Message Board)らしき
ものが出てきてますね。ためしてまないけど。

127 :名無し:01/09/02 23:58 ID:5ndlHDsk
P2Pの事はこの辺で調べてきてね。

http://www.jnutella.org/

128 : :01/09/03 00:12 ID:hbfMC5V.
>>127
マルチポストうざい。

129 : :01/09/03 06:40 ID:hbfMC5V.
小さなプログラムを作って、パケットがどの程度届くかテストしています。

理論はよくわからないのですが、Gnutellaの標準設定である(?)TTL=7,
接続数4というのは、非常にうまく動きます。これ以下にすると、パケット
はどんどん届かなくなるようです。

この設定でノードを5000個用意し、P2Pネットワークを作ります。
あるノードからpingを打ってみると、平均すると1.5人に届きません。何度
実験してみても、これ以下のノード数ならば、ほぼ100%の確率で届きま
す。 面白いね〜。

http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/ideal_packetrouting.html

130 :_:01/09/03 11:04 ID:Cbh2f2Vw
面白そうなので、私も参加。

個人的に試行錯誤しながら作っている p2p チャットがあるんだけど、もし良かったら参
考にしてちょ。

このシステムは Gnutella のプロトコルと IRC のチャンネルの概念を応用している。
ネットワークレイヤー的には Gnutella ネットワークの上に、チャンネルネットワークが
ある感じ。Gnutella プロトコルの役割は自分が参加したいチャンネルを探すのに使う。
例えば「会話中に"マンガ"が含まれるチャンネル」とか「チャンネルの説明に"pc"が含ま
れるチャンネル」などのようにして検索を行う。

参加したいチャンネル(例えば A チャンネル)が見つかったら、Gnutella ネットワーク
を維持したまま、それとは独立した A チャンネルネットワークに接続する。Gnutella ネ
ットワークに比べて A チャンネルネットワークは参加ノード数が遙かに小さいので(見
渡し可能な範囲を期待)、そこでは会話をリレーしてもそれほど問題はない。で、実際に
は参加時に A チャンネルの参加ノードの情報を引き出して、ネットワークが分断された
ときにはそれを用いてきちんと直す仕組みなっている。

2ch p2p の匿名性の参考にはならないかもしれないけど、多層構造という観点から、なん
らかの参考になれば、これ幸い。

131 : :01/09/03 16:06 ID:qqnGSLcE
じゃくすたによるチャットの実装。
http://www.clip2.com/jxta_chat.html

Clip2ってウリに出てるのね。2ちゃんねるみたい…

132 :41:01/09/03 18:31 ID:D/ojRdQI
今ごろ気づいたんだけど、
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/proxyposting.html


>次の匿名性は守られない。
>カキコの作者のIPアドレスは、プロクシノードに伝わるが、すぐに忘れる。

は、いくつかノードを挟めば解決するね。つまり、
隣りの奴に頼むんじゃなくて、隣りの隣りぐらいに頼む。
これも伝聞形式で行えば、誰が犯人かはわからんね。
個人用完全匿名プロクシの誕生なり。

んで、応用。
あるノードと通信したいなぁ…と思ったら、まずこの仕組みで
プロクシを作って、プロクシ経由で接続出来るのはもちろん、
誰かに通信して貰いたいなぁ…と思ったら、やっぱりプロクシを作って、
プロクシノードのIPと経路ID(頼みのメッセージを送った経路)を
晒してもらえばOK!
晒されたIPはほとんどの場合、無罪(ただのパシリなんです…)。

つまり、この仕組みで、今IPで直接繋いでいるようなところに
匿名性を追加できる(いくつかのノードを通す無駄はあるけど)。

これに >>130 みたいな仕組みを組み合わせてやれば、
結構良さそうな感じなんだけど、どうよ?

133 :41:01/09/03 18:32 ID:D/ojRdQI
あ、>>130 の「独立した A チャンネルネットワークに接続する」は無理だけど。
経路の情報が必要だから。基本ネットワーク上に、もいっこネットワークって感じ。

134 : :01/09/03 20:09 ID:qqnGSLcE
>>132
多段にするには、その段数をTTLとしたカキコ発行依頼のパケットを
渡すことになるだろう。 もし、段数を2としたら、TTL=2のパケットが渡
された時点で、渡した奴が作者であると判明してしまう。じゃぁ発行時
のTTLを1-4のランダムにしてみよう。でもTTL=4のパケットが来たら、
それを持ってきた奴が犯人(w。だめだな。

じゃぁ、「渡されてきたカキコ発行依頼は、確率50%の確率で隣の
ノードにリレー依頼。確率50%で、自らネットワークにカキコ」。おっ、
これはうまくいきそうじゃないか?

匿名性を重視するあまりあまりリレーしたら、書き込みが正しく実行さ
れない可能性も増えるし、 ノードに伝わるまでにも時間がかかる。それ
にネットワークがパケットだらけになり、実用性ゼロになるのが恐い。

カキコの依頼にしても、ノード間通信にしても、 プロクシを利用するか
どうか、それを多段にするかどうかは効率とのトレードオフなので、掲示
板毎のポリシーで設定可能にするべきだな。

135 :74:01/09/03 20:21 ID:ewvSMjxY
それにしてもなんか、下手に分散考えても、単にめんどくさいだけのような気もしてきた。
結局、自動的にミラーを利用出来たり、オリジナルサーバに事故があっても、
自動的に適当な場所へ避難して、ログを補完しながら話を続けられる仕組みを
提供できればいいだけかもしれない。
ログの補完についてはこれまで考えてきたようにP2Pの十八番だよね。

ということで、スレッド本体はどうにでもというか、書き込みは制御するなり、
フリーポストのニュースなり、いろんな方式で実装出来るようにしたい。
既存の資源を流用できるようにするのもいいと思う。WWWがgopher利用したように。
例えば、(2chを含む)既存の掲示板がそのまま使えるようにするとか、
CMTフォーマット辺りに対応するのが楽かも。

問題は、板(カテゴリ)をどうやって実現するかだろうなあ。
というか誰が分類決めるんだって感じ。
とりあえず、スレッド(掲示板)ブックマークの階層を板とみなして、
それを共有できる仕組みが欲しいかも?
めんどくさい人はどっかのボーダルの階層を
そのままミラーしてきて使うということで。
つまり、スレ立てをブックマークで代用するって感じ。

136 : :01/09/03 20:27 ID:qqnGSLcE
>板(カテゴリ)をどうやって実現するかだろうなあ。

誰でも勝手に板を作れる。僕は実際に運営する気はないから、板の名
前を2ch_newsとか、2ch_techとかどんどん増やしていけばいいんじゃ
ないの? 人は、人が沢山いるところに居たがるから、自然に集合する。

137 :デフォルトの名無しさん:01/09/03 20:37 ID:ewvSMjxY
>>136
いや、勝手に板を作るのはかまわないんだけど、
それをどうやって知るのかって話。
誰も知らなければ誰も来ないだろうし。

スレッドが乱立してるのは板を見ればすぐ分かるけど
板が乱立してるのは何処で知る訳?

138 : :01/09/04 14:00 ID:elQM4lgY
>>135 の発言がよく理解できない。

139 : :01/09/04 15:18 ID:elQM4lgY
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/ideal_packetrouting.html
の実験5のところ見てください。多分、既に研究されていることだと思うのですが、僕は
わからないし、調べても見つからなかったので、自分で試してみました。

TTL=7にして、書き込みをブロードキャスト(Gnutellaのpingみたいに)する
と、ノードが増えるとパケットの量が爆発してネットワークが破綻することが
推測されます。ですから、書き込みはTTL=2か3(あるいは>>134)のように
50%の確率でリレー)させて、そこから先は、>>78で書いたように検索による
同期が現実的ではないかと考えました。

140 :名無し:01/09/04 23:43 ID:kGOfYCnQ
>>139
Gnutellaのネットワークって、閉路があるんですか?

141 : :01/09/05 00:41 ID:4dci715k
エージェント技術を利用した匿名通信に関する研究
http://grampus.jaist.ac.jp:8080/alumnus-theme/abstract/2000/shigeki-jp.html

もっと詳しく知りたいね。おやすみなさい。

142 :135:01/09/05 02:13 ID:xYlzWZ2A
>>139
要は、4の7乗が幾つかって話じゃないかな?不幸の手紙の法則だなあ。(w
タイムラグを考えると、接続数(配信先)を増やすべきかも。
でも、帯域制限したら却って掛かるのかも?
ttl=3、接続=20でやるとどうなるかな?
つうか、ランダムだと一緒かな?

基本的には>>130のように、検索用のネットと配信用のネットは
別にというか、多重化したほうがいい様な気がするなあ

で、問題なのはやっぱり>>137の話。
スレッドの存在がわからないと仕方がない。
が、たとえば2chの現行のすべてのスレッドをキャッシュしようとすると
1だけでも、かなりの容量になるんだよなあ。
せいぜい共通で持つのは、板リストが限度かな?
板の存在が分かれば、その板のスレ情報ネットに参加してるサーバンドを
検索用ネットから探してスレッドリストを取り寄せるとかね。
ぶら下がりたいスレが見つかったら、情報ネットでリクエストすると
受け入れ可能なところが応答するって感じで。

えっと、>>135で分からないのはどの辺でしょうか?

143 : :01/09/05 02:37 ID:4dci715k
寝たはず。
>>132さんのサジェスチョンによって書いた>>134 ですが、ウェブに載せ
ました。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/proxyposting.html
その後だらだら文献を読んでいたら、
Crowds http://www.research.att.com/projects/crowds/
が同じ事をウェブのブラウジングの匿名性確保でやっているみたいでした。

>多重化したほうがいい様な気がするなあ

根拠は? 結局、「気がするなぁ」では、議論は進まないと思うよ。

えーと、私の考えでは、板毎、スレッド毎に参加者を部分的に把握します
ので、ご指摘の問題は発生しないように思います。

>>135は、正直、読めるけど、意味を理解できない。

144 :142 ◆3ES7Ejyo :01/09/05 10:29 ID:xYlzWZ2A
起きました。(w

部分的に把握することに異論はありません、それこそ多重化そのものです。

えっと、問題にしてるのは、何が知りたいのか分からないと、応答のしようがないって事です。
#理解出来ないと言われても、具体的な箇所が分からないと、それこそ話が進まないので。
そもそも何も分からなければ問い合わせもできません、>>137の繰り返しですが。
結局外部の仕組みに依存する事になります。
つまり、それでは単に、P2Pで匿名インスタントメッセンジャーを作ろう
って話でしかない訳です。

そこで、メタな層で、全体を把握するものがあれば、掲示板として使えるようになる。
どうせなら、既存のリソースにも対応して欲しい。というのが>>135の話です。

多重化すれば、届いた情報を手がかりにして、芋蔓式に情報源に近づく事が出来ます。
上の層は、概略情報だけなので、広範囲でも転送量を抑える事が出来ます。
というのが>>142の概略ですね。

145 : :01/09/05 13:47 ID:U0JJGxMY
手捨てす

146 : かける?:01/09/05 13:48 ID:U0JJGxMY
かける?かな?>>144は、まず既存のP2Pを学習しる!
それから、IDつけるのは、なにか?貢献でもしたつもりか。

147 :  :01/09/05 14:09 ID:YuXfYYEI
IDではなくトリップな

148 :別スレ別板門外漢:01/09/06 15:25 ID:7XfDzD9g
一人やたら威張り散らしているのがいるけど、人を攻撃してそんなに気持ちいいか?
カルシュウム足りてる?

149 :デフォルトの名無しさん:01/09/06 15:36 ID:vbslDp7I
誰が誰を攻撃してるのかサパーリわからん。
ここは公開レビュー場みたいなもんだから、PG的常識からすれば
指摘や文句は「攻撃」とは受けとらんよ。
門外漢がCantyGuyして騒ぐな。

150 :デフォルトの名無しさん:01/09/06 16:46 ID:Ei9OE/Mg
部外者ですが質問いいでしょうか?
常時接続じゃないとP2Pには参加できないのでしょうか?

151 : :01/09/06 17:40 ID:pb2JgITk
常時接続じゃなくても参加できるのがP2Pネットワークのいいところだと思うがどうか。

152 :デフォルトの名無しさん :01/09/06 17:54 ID:GplbhMAg
そう。ここは2ちゃんねる。カキコの中身だけがすべて。おまえが一番
ウザイ。>>148

Gnutellaクローンは、自分のノードの接続速度の情報(モデムの種類とか)
を他に知らせることで、ネットワークを最適化(遅い奴ははしっこ)に置く
よ。トポロジの中心に速いノードがいたほうが、全体の効率は良くなるわ
けで。これはハイブリッドP2Pの板でも話されていたし、Gnutellaの技術
ページにも、解説があった、URLは張れぬ。

常時接続かどうかの情報を送るかどうかは、覚えてないな。常時接続が
中心にいたほうが、いいかな?

153 :デフォルトの名無しさん:01/09/06 17:58 ID:x54XUUQc
>>152
 常時かどうかっていうだけでなく、いつごろ接続を切りそうかの
見込み有効期限を送信するようになってると、常時じゃなくても
比較的安心して使えないかな。
 ダイヤルアップで不安定なら1分とかそういう表明によって外から
警戒させるとか。

154 : :01/09/06 18:05 ID:GplbhMAg
あごめん、ネットワークの最適化の基準は、モデムの接続速度じゃなく
て、実際の通信速度から割り出されたQoSを基準とするのだったかも。
勉強したの結構前だから忘れた。

これだと、騙れないからね。 >>153の「ちょこっとユーザ」はなかなか面白
いと思うけれども、絶対に速い中心に接続したくて、ウソつく奴が出てくる
と思うなり。

155 : :01/09/06 18:25 ID:pb2JgITk
>>154
ウソをつくと処理が追いつかなくてパケットの海におぼれてしまうよ。

156 :144:01/09/06 19:27 ID:FyAEcYDI
とりあえず書いてる間に説明されてしまいましたが、ついでなので
私も理解している範囲で説明してみます。間違ってたら指摘宜しく。

>>150
ここではサーバーに依存しないことが、P2Pにする目的の1つであると思うので、
常時接続でなくても問題ないようにするべきだと思います。
誰かががオフラインだと問題になるようなものであれば、そのシステムは
ソレに依存していると言う事じゃないでしょうか?

P2Pとはピア・ツー・ピアの略で、言ってみればどこでもドアみたいなものだと思います。
だから、その(ネット上の)世界に居ないものには会いに行けません。
しかし、誰か影武者(コピー)が居れば、それに会いに行くことはできます。

つまり、自分の持っている情報を、だれかにキャッシュしてもらえば、
どちらかがオフラインでも、他の人はその情報にアクセス出来ます。

しかし、その情報の在り処が分からなければ、アクセスのしようがないです。
その解決には、名称等により、他に問い合わせをするという方法があります。
その為にはネットワークが必要です。ただ、参加が多くなるにつれて
問い合わせの量も多くなり、うまくネットワークを構成しないと、
渋滞が起こってマヒしてしまう訳です。
また、誰かにキャッシュされるのを待っていては、いつまでたっても参照されなくて
ふと誰かが気づいた時には、どこにもなくなっていた。ってことがあります。
これが頻繁に起きてしまうなら、掲示板としては問題がありますね。

それで、最初の話に戻りますが、常時接続でなくても問題がないようにするには、
誰かに、もしもの時の事を頼めるようにすればいいんじゃないでしょうか?
つまり、自分が居ない時に、代わりをやってもらえる影武者の様な仕組み
を作ればいいんだと思います。
もしくは、はじめから何人かが集まって、小規模な同期式ネットワークを作り
それを常設の仮想サーバンドとして扱うという方法もありますね。
そうすれば、自分の情報は、即座に仲間に共有されますから、
仲間が全滅しない限り、消える事はないと思います。

157 : :01/09/07 17:16
長くて読めないよ…

158 :41:01/09/07 17:21
プロクシの仕組みが出来たんで、スレッド別に
ネットワーク組みたいなぁと考えてます。

>>139
新規投稿は少なくともこのスレッド別のネットワークには
ブロードキャストした方がいいと思います。
ネットワーク全体、また板別のネットワークに流すのは
確かに無駄でした。

んで、待ってれば貰えるんだから待ってろ!という仕組みにしないと
最新のカキコを求める人々が検索メッセージを大量に発行するかと
想像します。(『リロード! リロード! リロード!…』)

159 :デフォルトの名無しさん :01/09/07 17:26
>>158
いろいろと書いているみたいだけれど、Gnutellaなりフリーネットなりの
仕組みをまず勉強してみたら?自分が的外れなことを言っていることが
分かると思うよ。

160 :41:01/09/07 23:48
>>159
う?全部ファイル交換型P2Pの仕組みの中でやりたいのか?

GnutellaやFreenetというか、どちらかというと、
匿名性を保ったままCHATシステムを作る方向で
書いたのだが…。

ファイル交換型P2Pはスレッドのストックには便利だが、
リアルタイムで情報を交換し合うようなのには向かん。
この2つを組み合わせることが肝要なり。

つまり、書き込み&スレッドを読んでいる人への配信は
CHATシステムの中で行われ、書き込みのないスレッドの
読み込み&保存はファイル交換型P2Pの仕組みで行われる。
的外れ?

161 :156:01/09/08 00:12
>>158
同感です。とりあえずいい加減にまとめると、
「今欲しい」っていう人には、そのスレのネットワークに参加する事で
検索リクエストではなく、新着メッセージそのものなり、概略が送られてくるほうが
効率的で、メッセージロストの可能性も低くなる。
但し、途中でトラブルがあった場合にそれを検知する仕組みが必要。
統一番号、又は、しり取り方式で、合わなかったときにその番号や時間の範囲の
メッセージを参加者の誰かにリクエストする、過去ログも同様。

スレ単位とはいえ、見てる人が多くなってネットワークの規模が大きくなると、
果たしてうまく機能するかって懸念がある。結局、無駄を省くことが必要。
それにはある程度ネットワークを構造的なものにしないと難しいか?。
これは既存のP2Pでも考えられている所か?。

まあ先程から皆さん主にそれを煮詰める話をしているのに、
私だけ板より上の話をしていて、先走り過ぎていたかも?
でも、そのスレや板(のネットワーク)の存在を知らないと、誰も参加できない訳で
ここら辺の仕組みを、無駄な問い合わせは極力避ける形で、うまく実装しないと、
電子会議にはなんとかなりますが、掲示板としては使いにくいと思うんですよね。
まあ有力な方法があれば、とっくに解決してるとは思いますが。

>>159
139氏のように、調べてもわからなかったって人は、他にも大勢いると思うので、
あなたの持っている知識を是非ここで共有させてはくれませんか?

もし既出で埋もれているならば、その発言番号を提示してもらえばわかりやすいと思います。

162 : :01/09/08 00:31
The Grid P2P Topology Protocol
http://www.exocortex.org/p2p/grid.html

のプログラムを作ったから見てみてよ。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/p2pbbs/thegridtopology.html

えーと、思いて学ばざれば、すなわち危うし。

163 :AHO ◆lAHOGEL6 :01/09/08 13:24
>>161 あとはプログラマさん同士でやるみたいだから
ちょっと黙っててチョ。おめーさんのせいで議論が見えづらくなるわ
スレが荒れるわ、してるのをいい加減気づいとけ。

164 : :01/09/09 23:18
>>162 のプログラムを改良しました。

Gridプロトコルそのものも改良し、勝手にワープするノードを付け加える
ことで、遠くのノードにすばやくパケットを伝達させるようにしました。 パ
ケットがうにうに動くところが見れて楽しいので、動かしてみれば面白い
よ。

この方法はランダムなノードと接続を作るよりも、ずっとブロードキ
ャストの際の効率が良いので、破綻しにくい。

これからどのくらい効率がよいのか、比較しようと思ったけどもう今日は
終わりにする。

165 :デフォルトの名無しさん:01/09/10 00:15
疑問。
キャップ★やトリップ◆みたいな本人だという証明はP2Pでも出来る?

166 :デフォルトの名無しさん:01/09/10 00:47
PGPやGPGで署名すればオッケー。
署名は本文内でもヘッダー内でも可。
この方法はRFCのInternetMessageならなんでも使えるはず。

167 : :01/09/11 23:44
非常時につながらないcnn.com
非常時につながらない2ch.net

もういっぱいいっぱいだね…

168 :デフォルトの名無しさん:01/09/12 08:36
>>162
それってスキップリストと同じ考え方だね。全接続ノードが2^nのときに
nビットまでのランダムなスキップ接続つくれば早いってことか。
1次元じゃないから単純に比較できないけど。

169 : :01/09/15 19:28
テロ事件を見ながら考えていたのだが、

Gridにすれば、書き込みをブロードキャストしてもいいんじゃないかな。
なぜなら冗長性がすごく低いから。 逆に低すぎて、パケットが届かない
可能性もあるから、 同時に2つの同じグリッドにバックアップとして参加
する形で冗長性を持たせる。

170 : :01/09/21 18:40
やっと3連休だYO! age

171 :デフォルトの名無しさん:01/09/23 22:26
保存あげ

172 : :01/09/24 22:12
Gridとぽろじは、ワープノードの間隔をうまく設定できれば(ノード数が増えたら、間隔を伸ばす)
、効率がとてもよくなる。あと、自分達で東西南北のノードを構成するためのプロトコルが必要
になるので、そのぶんだけ実装が少し複雑になる。

実際に流れるパケットの量を測ってみたけれど、やっぱり冗長性が全然ないのでパケットをブロ
ードキャスト出来ることにします。ただ、途中のノードが落ちたり、流すべきパケットを流さなかっ
た場合に、きちんと流れないという現象が起きるので、>>169のように同時に二つの空間をもつこ
とを考えておこう。

これで、パケットのルーティング部分はクリアになります。自分でも忘れそうなので仕様書かきま
すね。はい。 じゃーまた来週。

173 :デフォルトの名無しさん:01/09/25 19:49
トポロジにはどんな種類があるんすか?

スター型、ハブ型、グリッド型ぐらいしか知らんのだけど・・・

冗長性、効率、速度とかからいくつかの候補が有った方が良いかも・・・

174 : :01/09/30 10:06
2ちゃんねるの運営者や、その次世代を狙う連中は、金に目がくらんでいますね。

Gridの仕様書、昨日はここまで書きました。途中でダウン。
今日は遊びに行ってきまーす。

http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/p2pbbs/gridpwspec.html

175 : :01/10/05 23:40
はい。3連休です。

>>173
トポロジにはおおきくわけて、バス型、リング型、スター型があって…、あとは教科書を読んでね。

P2Pに何が良いのか、P2P型掲示板に何が良いのかは、僕もよくわからないが、Grid型は直感的に
イケると思ってるYO!

176 :デフォルトの名無しさん:01/10/11 11:28
・・一カ月経った。

同報ネットワークのシミュレーション研究は面白そうだけれど、
どうせなら実際に落書きして試したいな。

プログラマさんたちの仕事は進んだのかな?
連休明けたし報告楽しみです。

とりあえずこの一カ月でパールを少し覚えたので
真珠のネックレスを思案中、気分はwikiって感じかな?。
#まあ単に思いついただけでまとまってもいないけど(w

177 :ネジ:01/10/11 21:32
既出かもしれませんが…
http://127.0.0.1:8081/MSK@SSK@7OWyDvxMv1LKwC~rlcNCXU1Yp70QAgE/fmb/publicbeta//
(要Freenet)

Freenetを利用した掲示板システムのベータが配布されてます。
これ参考になるでしょうか?

178 : :01/10/12 19:07
おす。

実際に試したい。漏れも漏れも。でもまだ掲示板までたどり着かないよ。
ハイブリッドP2Pはもう動いているみたいだよ。

Gridプロトコルは出来たんだけど、考えているうちにどんどん難しくなっちゃって、実装するのが
めんどくさいような気がするんだよね。特に、自己組織化するところ。効率のよさばかり。
ちょっと一度ばらしてもうすこし馬鹿仕様に考え直す。

179 :かごめかごめ:01/10/13 13:03
>>178
そんなに難しいかな?
基本的に自分の近所四軒は把握しているだよね?
で、南が空き地で、今まで北からきた回覧板はそこを通り抜けて届けていた。
今度新しい人が引っ越してきて、挨拶したとする。
そこで、空き地と彼の南を教えて、これからは代わりに届けてもらうようにする。
それから、自分の東西を紹介。
新しい人はその2人に南は誰?と聞く。
紹介されたのが彼の東西になるので連絡をとる。

そういう話でないの?

180 : :01/10/13 13:53
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1358/p2pbbs/gridpwspec.html
ページの最後のほうの赤いところ。多分君の言っていることはここだよね。

疑問: Dの東が空白、Fの西が空白が同じ位置であることを認識するには、A,B,CまたはG,H,I
のノードが存在する必要がある。もっと遠回りすれば可能?

勝手にノードをつなげて行くと、同じ位置に二つ以上のノードが存在してしまうことになる。
(1)それを許容しない。探索パケットがどんなに遠回りしても、グリッドをきちんと並べる。

(2)一つの位置に複数のノードが存在することを許容する。
「位置」といっても、別に物理的な位置があるわけではなく、パケットが流れればそれで十分
なわけで。上のページで言えば、E1とE2を作って、他のノードはそれぞれと同じ方向で接続
する。

(3) ジム行ってくる。

181 :かごめかごめ:01/10/13 14:53
空き地だった場合にどうやって向こうを知るかと言うことなんだけど、
発信源を原点とした座標アドレスを持つのが手っとり早いんじゃないかな?
TTLと一緒にアドレスを計算すれば、もし空き地の向こうからきたパケットがあれば
すぐに分かると思う。分かったら空き地を飛び越して流してやればいいんじゃない?

というか座標が無いとすると、ワープノードていうのはどうやって一定間隔に配置するの?

182 : :01/10/16 01:12
>>181
座標を自己組織化に利用するかどうかはおいておいたとしても、座標をもつことによるデメリットを
指摘できないですね。少し考えてみます。

>ワープノードていうのはどうやって一定間隔に配置するの?
ワープノード探索パケット(一つの方向に直進する)を東西南北4方向に投げて、TTL=0なパケットを
受け取ったノードが、パケットを発行したノードとお互いにワープノードの関係になる。

183 :デフォルトの名無しさん:01/10/16 10:27
ここのスレが荒んでるのは机上の空論が横行してるからじゃないかと思ふ。

184 :熱さ忘れてすっかり寒くなったなあ:01/10/26 13:02
荒んでるというより寂れてるな。

問題は実装して検証する人が居ないこと
php板あたりから援軍募集したほうがいいのだろうか?
何かつまってる事があって出来ない&様子見なら
言えばいいのにと思う。
まあ単にみんな喉元過ぎて忘れただけだと思うが
それとも避難すれば済むから別にいいってことなのか?

机上の理論はないよりあったほうがいいんじゃないか?
最近はそれすら少ない。
採用するかしないかは実装者が決めればいい。
それに不満ならソース公開してもらってパッチあてればいいと思う
どっちがいいかは評価次第じゃないかな?
なんか、物がでないと、学生のレポートか、誰かの飯の種を
みんなで無償で手伝ってただけみたいな感じがして良い気分はしない。
感謝されるわけでもないし。
あと、違う事を言えば黙っててと言われるのでは
誰も発言しなくなるのではないだろうか?
間違ってると思う箇所があるのなら訂正しながら構わず話を進めればいいのに

185 : :01/10/26 13:30
ちゃんと作ってるよ。もし興味があるなら、気を長くして待っててくれ。っていうか、
君も作れば?

別に感謝されたいわけでもなんでもなくて、ただ自分が作りたいから作ってる
だけなんだけど、それじゃ駄目なのかな。

186 :2chはノリが一番:01/10/26 14:19
>>185
いや、そろそろ首が疲れてきたんで、そういう頼もしい声を聞きたかっただけ。
全然発言ないのでみんな止めてしまったのかと思った。
他はどうなんだろうか?

感謝っていうのは案を出す方に対してね。
興味があって、実現に協力したいと思うから、なんかしら案を出すわけで、
別に困ってる本人から感謝とか尊敬されたい訳ではないって事。
もっとも既知の取るに足らない案ばかりかもしれないけどね。

とにかくたまにはスレに誰か出て来ないと盛り上がらないと思うのよ。
当たり前の話だけど。

まあ、そんな時間があったら作ってるって人が多いとは思うんだけど。
ちょっと寂れすぎかなって気がした。

94 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)