今回は、8月に起こったSkypeの大規模障害について考えてみたいと思います。

   まず、障害が発生したのは、日本時間で8月16日の夕方でした。Skypeを起動すると、通常時はタスクトレイのアイコンがぐるぐる回るアニメーションが動き、アイコンが緑色になり、Skypeが使えるようになります。ところがこの時は、アイコンがずっとぐるぐる回ったままになり、Skypeが使えなくなっていました。普段このような状態になるのは自分のネットワークがおかしい時なので、私はLANケーブルが抜けていないか、無線LANがつながっているか確認しました。しかし実際は、世界的にSkypeが使えない状態になっていたのです。その後Skypeが正常に使えるようになったのは、丸一日以上もたった後でした。

 私はこのブログで何度も、P2Pを使っているSkypeは可用性(いつでも使えること)が高いと言ってきました。しかし、今回のSkypeの障害は、Skypeの可用性に対する信頼を落とすことになりました。なぜ、Skypeを含むP2Pソフトウエアの可用性が高いと言ってきたのか、なぜ可用性が高いはずのSkypeで障害が発生したのかを考えてみます。

一斉に“風邪をひく”コンピュータたち

 P2Pの可用性は、会社組織などによくたとえられています。会社のある人が風邪をひいて休んだとしても、会社の業務は止まりません。会社のチームの人が休んだ人の分の仕事をして、業務を続けられるようになっているからです。Skypeも同じで、Skype同士の通話に必要な仕事をカバーし合うようになっています。ある人がSkypeを終了しても他の人のSkypeが役割を引き継ぎ、全体としては通話機能を維持できます。一方、Webなどサーバー・クライアント方式のシステムではそうはいきません。サーバーが止まれば全員がシステムを使えなくなってしまいます。

 では、他の人の穴を埋められる会社組織のようにできているSkypeが、今回のような大規模障害に陥ったのはなぜでしょうか? それは、人間とコンピュータの違いによるものです。その違いとは多様性です。例えばインフルエンザが流行して、たくさんの人が休む事態になったとします。ただし、風邪に強い人、風邪に弱いけど花粉症には強い人など、たくさんの種類の人が現実の会社の中にはいるので、社員全員が一気に休むようなことにはなりません。

 ところがコンピュータの場合は、1種類のウイルスでほとんどのコンピュータが影響を受ける可能性があります。Skype公式ブログでは、今回の障害について、SkypeユーザーがWindows Updateのためにパソコンを再起動したことが引き金になったと発表しています(関連記事:「なぜ今月のWindows UpdateでSkypeの障害が起きたかは謎」--- スカイプの岩田氏)。Skypeの通話をつなぐ仕事を担うパソコンの多くがほぼ一斉に再起動したため、代理のパソコンにうまく仕事を引き継げなくなってしまったのです。先ほどの会社の例で言えば、健康診断に行くためにほとんどの社員が一斉に会社を休んでオフィスに誰もいない状態になったため、会社の業務が止まってしまったという状態でしょう。

 実際にはWindows Updateでは、サーバーの負荷を考えて現地時間の午前3時に自動更新するようにしているので世界的に見れば更新時期は分散してあります。ただし、これはあくまでサーバーの負荷分散のためです。こうした障害を防ぐために今後は、コンピュータにも人間のような多様性を持たせるような機能が必要ではないでしょうか。こうした研究も進んでいくとは思いますが、それはまだ未来のことでしょう。また、コンピュータ単体だけではなく、複数のコンピュータからなるシステム全体や、Skypeのような世界規模のネットワークでの対策が必要になると思います。

写真1●ヨセミテ国立公園のリス   写真2●アップルの本社
写真1●ヨセミテ国立公園のリス
ここは、とても広大で自然がいっぱいです。
[画像のクリックで拡大表示]
  写真2●アップルの本社
休日に行ったのでお休みでした。残念。1 Infinite Loop(無限ループ1丁目)という住所にあります。
[画像のクリックで拡大表示]