P2P地震情報 開発ログ

気象庁の地震情報・津波予報とユーザの「揺れた!」という情報を共有するサービスの開発記録です。

「P2P地震情報」ネットワーク図

 「サーバは分散して安定するようになったけど、ピア同士のネットワークってうまく構築されてるの?」「P2Pだけど遅延は大丈夫なの?」 …というわけで調べてみました。

 (クリックすると実寸表示)
 8月28日22時56分の「P2P地震情報」ネットワーク図です。自分自身のピア(223)が中心にあって、他ピアとの距離は伝播時間を表しています。他ピア同士の距離は不正確です。

かんたんな調査結果

 他ピアへの伝播時間(=ネットワーク的な距離)は、平均674ms(※中央90%は648ms)で、実際ネットワーク図をみてもほとんどが1000ms以内にいることが分かります。これは、複数ピアと接続を行っているためで、安定性の向上とともに遅延を低減する効果がよく表れています。
 特定のピアへ到達するまでのピアの経由数(Hop数)は、平均4.5(※中央90%は4.6)でした。また、伝播時間を経由数で割って1経由するごとの伝播時間を計算したところ、平均154ms(※中央90%は145ms)でした。

 これらの値は、8月28日22時56分時点(参加数913ピア)での実際のP2P地震情報における通信をもとに算出したもので、具体的にはTCP上のP2P地震情報プロトコルを用いたものです。つまり、相手へデータを送信し始めてから届いたことを確認できたところまでが平均674ms(648ms)ということです。


 どこから地震感知情報が飛んできても1秒以内に受信するし、どこから地震感知情報を飛ばしても1秒以内にほぼすべてのピアに届く。(P2Pにしては)なかなか良い状態と言えるのではないでしょうか。ピアの接続に関してはほとんど最適化をしていないので、最適化すればピア数が増えても1秒以内は維持出来るように思います。