8/28/2007

Skypeの障害について思うこと

Skypeの障害について、Skypeのblogに詳細な情報が記載されている。

この中ではマイクロソフトのアップデートは、障害発生の根本的な要因ではないこと、またマイクロソフトが今回の障害解析にあたり多大なサポートをしたこと等が書かれており、先にマイクロソフトのアップデートが原因とする情報をかき消すのに躍起になっている様子が伺える。でも、この議論はあまり興味がわかない。それよりもこうした障害の情報の中から、うかがえるSkypeの裏側のところに興味が出てくる。

今回の原因については、「多数の再起動に加え、当日のトラフィック量、さらに今まで知られていなかったSkypeで使われているP2Pネットワークリソース分配アルゴリズムのバグが原因で、自己回復機能が間に合いませんでした。」とされている。また、対応策については、「バグは修復されました。今回のような状況に対して対応できるよう、P2Pネットワークのパラメータを調整しました。 負荷の高い状況での再起動時にも正常に作動するようにアルゴリズムを修正し、次いでP2Pコアの安定化に全力を注ぎました。」とされている。

全体の書きっぷりを読んでみると、「アルゴリズムのバグ」と言っているが想定していた仕様を実装時に間違えてしまっていたソフトウェアのバグというよりも、想定以上の負荷がネットワークにかかったため、輻輳制御のパラメータの見直すことで、負荷耐性を高めた、ということのように読める。

P2Pネットワークにはさまざまなモデルがあるようだが、基本的には自律分散的な動作で、集中的な管理がされていないイメージが強い。しかし、今回のSkypeの件では、Skype側でスーパーノードの数を意図的に増やしたり、ユーザのソフトをアップデートさせることなくアルゴリズムの修正が加えられるようになっていたりと、想像していたよりもSkype側のオペレータの意図で管理・制御が可能な、Managedなネットワークであるような印象を受けた。今回の障害の対応は、原因特定までに時間がかかっているなど必ずしも良いものではないが、こうした障害で得られたノウハウを受けてさらに成長していくことで、本格的な通信インフラに化けるかもしれない。

0 件のコメント: