WaterMind PC Blog

PCとネットワークに関するニュースコラム.

Skypeの全世界規模不具合: エピローグ4 スーパーノード

2007-08-26 11:40:33 | ネットワーク技術

これまでのあらすじ:

数日間続いていたと思われる,高品位音声チャットで有名な無償ソフトSkypeの全世界的規模の通話不能不具合は,Skype側の対処により,終息した.Skype側は,この不具合の原因説明を月曜日にすると約束し,その原因は,ソフト更新を引き金とした,バグの発動によるものだとした.しかし,その説明は抽象的で,様々な謎を残した.

 その後,上記の「ソフトの更新」がWindowsUpdateのあった近辺の日時であったため,WindowsUpdateが原因となっているのではないかというユーザの指摘があったが,MSはその説を否定するコメント発表した…ここまでは,前回書いたとおり.

 本日,さらなる詳細な原因説明が,Skype日本オフィスから発表されることとなったが,その内容は意外なものだった.なんと,SKype側から「WindowsUpdateが引き金を引いた」という説明がなされたからだ.

 この説明によると,今回の不具合は

  1. WindowsUpdateにより,多数のSkypeスーパーノードが再起動.これによりP2Pネットワーク内のスーパーノード数が減少.
  2. 再起動の結果,各Skype端末からログインサーバに対して認証要求が大量発生し,認証が滞留.ログインしなければ,P2Pネットワークに参加できないので,P2Pネットワーク内のスーパーノードの数は,なかなか増加しない.
  3. 残存ノード(通常ノード含む)から,残されたスーパーノードへ負荷が集中
  4. ここで負荷を分散させるために,スーパーノードではないノードを,格上げするアルゴリズムが作動するが,バグがあり,うまく作動せず.(Self-Heal「自己回復」能力)
  5. 残されたスーパーノードが負荷に耐えきれず,ダウン
  6. これが連鎖的に起こっていき,スーパーノードが絶滅寸前に追い込まれ,Skypeネットワークに崩壊の危機が迫る
  7. Skype側で強制的に,通常ノードをスーパーノードへ格上げし,スーパーノードを無理矢理増やす(「Skypeクライアントを立ち上げたままにしておけ」という,Skyoe側の指示はこのためか?).
  8. 負荷が徐々に拡散し,最終的に正常化

ということのようだ.

 「スーパーノード」とは,「多数のSkype端末を管理するサーバとなるノードで,端末のうち,インターネットのグローバル・アドレスを持ち,処理能力の高いSkype端末から選ばれる。Skypeネットワーク全体の約1%がスーパーノードとなっている.」とのこと.ご存じの通り,このような親子ノード構造は,P2Pネットワークソフトでは,よく見られるアーキテクチャーだ.

 「ログインサーバ」は,認証サーバなので,おそらくSkype所有のサーバなのだろう.ログイン後,ノードはスーパーノードに接続することになる.

 この「詳細説明」で,残された謎のかなり部分は解消されることになった.しかし,謎のすべてが解消されたわけではない.具体的には…

  • 「WindowsUpdate引き金」説の証拠はあるのか? おそらくSkype側では,SkypeのP2Pネットワークのモニタリング・ステーションがあり,ネットワークの状態をモニタリングしていると思う.そうであるならば,Skype側は,「WindowsUpdate引き金」説の根拠として,WindowsUpdateによる更新の始まりと連動して,P2Pネットワーク全体の負荷が上昇した証拠を持っているのかもしれない.MS側も,WindowsUpdateの負荷モニタリングを行っているので,その負荷に関する資料を,Skype側に提供しているのかもしれない.
  • なぜ今月のWindowsUpdateの更新時に,そのような不具合が起こったのか? たとえば,今月のWindowsUpdate配布が,サーバ増強等により,これまでよりも,多くのPCに配布する能力があり,結果的に,多くのスーパーノードが再起動したというのであれば,納得できる.しかしMS側の説明では「普段通りだった」とのこと.
  • なぜ今月のWindowsUpdateの配布が開始された8月14日から2日後の,16日に障害が発生したのか? Skype側の説明では,「15日頃から不具合報告があるので,その頃から徐々に負荷があがっていたのだろう」とのこと.P2Pネットワークに対する負荷増大が,指数関数的だったのだろうか?
  • Skype側はどのような方法で,通常ノードをスーパーノードに格上げしたのか? おそらくSkype所有のスーパーノードに接続してきたノードやログインサーバに接続してきたノードの中から,適切なノードを選択し,(限定?)格上げ命令をしたのだろうが,本当にそうなのだろうか?ちなみに,普段からSkype側で,スーパーノード数を調節している模様.
  • Self-Heal(自己回復)能力以外に,P2Pネットワークの崩壊危機に対処する別の能力を,Skypeは持っているのか?

 今回の発表から推測すると,おそらくSkype側でも,今回の大規模不具合の,詳しい原因解明はできていないのだろう.しかしこの原因が究明されなければ,Skypeを安心して使用することはできない.特にビジネスでは,今回のような大規模不具合は致命的だ.

 P2Pネットワークが,おそらく非線形の支配する一種の複雑系であり,その挙動やカタストロフィへ陥る兆候などが予想しにくいことは,十分理解できる.しかし,次回のWindowsUpdateまでには,原因を究明し,対策を講じなければ,ユーザーはSkypeに三行半(みくだりはん)を突きつけるかもしれない.



最新の画像もっと見る