Skype障害とマイクロソフトについて追記
2007年8月23日
英語ブログでの追加情報を以下訳します。
先日、障害の詳細についてご説明いたしましたが、語弊のある表現が見られたようでしたので、追記したいと思います。
1. 今回の障害は、マイクロソフトの責任だと言っているのですか?
今回の責任はすべてSkypeにあります。Microsoft Updateのパッチは、Skypeネットワーク障害につながる引き金となった様々な出来事の単なる一部でしかなく、 根本的な要因ではありません。障害発生中、マイクロソフトは非常に協力的で、ご援助いただきました。
アップデート後の再起動によって、Skypeのネットワークリソースが影響を受け、これがログイン要求の殺到につながり、P2Pネットワークリソースの不足と相まって重大な結果をもたらしました。Skypeソフトウェアを支えるP2Pネットワーク備えつけの自己回復機能は、これまでうまく作動していたため、定期的なWindowsアップデートがあるたびに必要となる再起動にも、Skypeは問題なく対応してこられたのです。
しかし今回初めて、異例の理由により障害の発生につながりました。多数の再起動に加え、当日のトラフィック量、さらに今まで知られていなかったSkypeで使われているP2Pネットワークリソース分配アルゴリズムのバグが原因で、自己回復機能が間に合いませんでした。また8月16日に起きた負荷と異変の規模に対応できるようSkypeのピアツーピアコアが適切に調整されていませんでした。ソフトウェアのパッチによる再起動は、単なるきっかけのひとつです。今回はこれらの様々な要因が組み合わさり、自己回復機能だけでなく開発者たちの介入が必要となったしだいです。
2. 今回のMicrosoftアップデートパッチは、通常と何が違ったのですか?
一言でお答えすると、今回のMicrosoftアップデートパッチにいつもと異なる部分はありませんでした。問題が発覚した直後に行われたSkypeとマイクロソフト双方の開発者間の通話で、アップデートされたパッチを1つひとつ確認しましたが、Skypeの問題を引き起こしたと考えられるものは1つもありませんでした。さらに過去と比較して変更点がないことを確認するため、またプロセスをより良く理解するため、通常のWindowsアップデートのプロセスを確認しました。(変更点はありませんでした。)マイクロソフトのチームは仕事を共にするのに優れたパートナーであり、今回の原因になる可能性のある部分を一緒に確認した結果、SkypeソフトウェアのP2Pネットワーク管理アルゴリズムは、大規模の負荷とスーパーノードの再起動が組み合わさった場合への対応が調整できていなかったことが明らかになりました。
3. どうして今までのMicrosoftアップデートパッチでは今回のような障害が起きなかったのですか?
障害の原因はアップデートパッチではないからです。今まで多数のP2Pネットワークのスーパーノードが再起動された際には、今回のような他の要因が存在しませんでした。つまり、多数のスーパーノードの再起動と同時にこれほどの大きな負荷がかかったのは今回が初めてだったのです。 ですからこれまではP2Pネットワークリソースは効果的に分配され、自己回復機能が迅速に作動して正常な状況まで回復できていました。
4. バグは修復されたのですか?Skypeユーザとして、今後マイクロソフトアップデートパッチやそれに次ぐ再起動に関して気を使う必要があるのでしょうか?
バグは修復されました。今回のような状況に対して対応できるよう、P2Pネットワークのパラメータを調整しました。 負荷の高い状況での再起動時にも正常に作動するようにアルゴリズムを修正し、次いでP2Pコアの安定化に全力を注ぎました。この修正により、8月16日に発生したようなP2Pネットワークの負荷とコア規模の変更が同時に発生したとしても、SkypeのP2Pコアが正常に機能するよう調整されました。今回のような問題が2度と起こらないよう、できる限り手を尽くしています。万が一再度似たような出来事の組み合わせがあったとしても、ユーザのみなさまにご迷惑をかけることがないよう、すでにいくつもの改善がソフトウェアに加えられています。



