<前の日記(2006年11月23日) 次の日記(2006年12月12日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 388   昨日: 2432

2006年12月11日

Winny稼動ノード数が先々週末から減少

7月のWinnyノード数調査の失敗の後、プログラムを直し、集計方法を変更して、8月下旬からノード数調査を続けていた。図1がノード数の推移のグラフである。(図中の「×」印で示した極端に値が低下している箇所は、調査用PCがダウンしていたために取りこぼしが起きた期間を表す。)

図1: 過去24時間で発見されたWinnyノード数 その推移

波長の長い波の周期は一週間で、土曜日から日曜日にかけてピークが出ている。短い周期は一日で、深夜が最大、昼間が最小となっている。祝日に土日並みのピークが見られるところもある。

全体的に僅かながらの減少傾向にあったが、12月2日あたりから1万数千ノードが急に減少した様子が見てとれる。

集計方法は次の通りである。

まず、7月の調査の際には、20万ノード前後という数字を出していたが、この値は、図2のように、見つかったノードを全部巡回し終えた段階で終了する(図中の緑の曲線が赤の曲線に交わった時点で終了する)というプログラムであったために、未発見のノードが集計されていない可能性があった。

図2: 7月のプログラムでの集計の様子

そこで、巡回し終えたら既知のノードを再度巡回してさらなるノード発見を続けるというプログラムに改良した。図3のグラフはそのときの様子を示している。

図3: 改良版プログラムでの集計の様子

当初、このグラフの赤い曲線はサチっていくはずだ(Winnyネットワーク全体に到達し終えるはずだ)と考えていたが、図3の結果から、直線的に増えていく様子が観察された。

これはようするに、後になってそうだと確信できたのだが、時間の経過とともに稼動を新たに開始するWinnyノードが無視できないほどに多く存在するということであろう。図1のグラフのように、一日で4万台前後のWinnyが増えたり減ったりしているのであり、起動するWinnyもあれば終了するWinnyもあるから、一秒間に数台程度の頻度で世界のどこかでWinnyが起動したり終了しているのだと推測できる。ノードの発見には時間を要するのであるから、元々「ある瞬間での同時稼動ノード数」を観測することは不可能である。

つまり、一口に「Winnyノード数」と言っても、「一定の期間中に稼動していたノード数」で表すことになる。もし、1か月間に渡って見つかったノード数の総計を求めたとしても、同じ人のコンピュータのIPアドレスが変わったものが重複して計数されてしまうだろうから、集計期間が長すぎると実際より多めの値になってしまう。

そこで、24時間を区切りとし、「過去24時間に一回以上発見されたノード数」を求めることにし、プログラムを変更し、既知のノードを巡回し終えた際に、24時間以上再発見されていないノードを既知ノード集合から削除するようにした。その実行の様子を図4に示す。

図4: 24時間以上再発見されないノードを削除するようにした様子

これを3日間動かしたときの様子が図5である。

図5: 3日間稼動させた様子

そして、この削除された直後の部分(赤のプロットが急減した直後の部分)の変化をグラフにしたのが冒頭の図1である。

この値は、ネットエージェント社が発表している値よりも少ない。同じ日について集計している8月28日の値を見てみると、ネットエージェントの発表では40万1351ノードとされているが、こちらの集計では、29日午前0時の値(28日の24時間での数)で約35万ノードとなっている。この差が生ずる原因についてまだ解明できていない。

7月の実験のときは、Winnyノードの「クラスタ化」動作によって一部のWinnyノードクラスタに到達できないのではないかということを心配したが、それは杞憂だったと思う。7月の実験でグラフがポコポコした曲線を描いたのは、他のクラスタに到達したためではなく、synchronized じゃないコレクションクラスを synchronized にせずに使ったバグのせいだった。

一日のユーザ数はこのくらいとして、次に調べたいのは、一週間だとどのくらいか、一か月だとどのくらいかである。しかし、IPアドレスが変化することから、それを正確に測定するのは難しい。

そこで、それぞれのノードがどのようなタイミングで起動したり終了しているのかをまず把握することにした。図6は、9月1日の午前0時ごろに発見された1000個のノードについて、その後の約9日間で生きていたかどうかを図にしたものである。

図6: 1000個のノードの生死の様子

縦軸の1ピクセルが1個のノードを表し、1000ピクセル分描画している。横軸は時刻で、1ピクセルが約30分を表す。Winnyのキー情報が流れてきた時刻を(そのキーに書かれているノードについて)赤い点でプロットしている。

横に切れ目のない直線で描かれているのは、ずっと稼動させっぱなしのノードであることを意味している。よく見ると、夜間だけ線になって現れているノードがいくつか存在することがわかる。時間にかかわらず点があるものの線になっていないノードがあるが、これは、公衆送信可能化しているファイル数が少ないためにキーが流れてくる確率が低いノードなのかもしれない。(縦の白い線は、調査用PCがダウンしていた期間を表している。)

IPアドレスの変化による傾向はこの図では読み取れなかった。さらに長期間で調べるか、別の方法を検討する必要がありそうだ。

検索

<前の日記(2006年11月23日) 次の日記(2006年12月12日)> 最新 編集

最近のタイトル

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|
<前の日記(2006年11月23日) 次の日記(2006年12月12日)> 最新 編集