みんなが知らずに使ってるAkamai(2)

2009/4/27-1

特定の更新があって、世界中のコンピュータが同時に同じ更新ファイルをダウンロードした時の瞬間最大風速的トラフィックは恐らく凄いです。 Microsoft社がWindows Updateで新ファイルを公開した次の瞬間に世界中で国際間にある光ファイバがパンクしないのはアカマイ社があるからとも言えそうです。

4秒ルール?

表示に4秒以上かかると75%の顧客は購買意欲がなくなるという調査結果もあるようです。

BBC NEWS : Websites face four-second cut-off

Shoppers are likely to abandon a website if it takes longer than four seconds to load, a survey suggests.
The research by Akamai revealed users' dwindling patience with websites that take time to show up.
It found 75% of the 1,058 people asked would not return to websites that took longer than four seconds to load.

なお、BBCで取り上げられている「4秒ルール」の調査は行った会社はアカマイさんだそうです。

DNSによる最適サーバ選択

アカマイの最大の特徴はDNSを誤摩化す事によってユーザ側の環境に全く変更を加えずにCDN機能を実現できることです。 具体的には、オリジナルサーバを持つ顧客企業が管理するDNSにCNAMEを一つ登録します。 そのCNAMEは、アカマイ社の持つドメイン名が記述されます。

ユーザがDNSに問い合わせを行うと、最初にオリジナルサーバのドメイン名でのDNSに行き、次にアカマイ社のDNSへ問い合わせます。 アカマイ社のDNSはユーザの最寄りのエッジサーバのIPアドレスを返答することによって、ユーザが近くからデータを取得できる状態を実現します。 アカマイ社のDNSは、名前解決を要求しに来たユーザのIPアドレスから、ユーザの所属しているネットワークを知ります。

なお、上記図ではRoot Name ServerやユーザのISPにあるDNSは省略してあります。 説明のために簡易化していますが、厳密には上記図は間違いなので、ご注意下さい。

キャッシュ

DNSによって名前解決が行われ、ユーザに示されたEdge Serverにデータがあれば、それがユーザに渡されます。

障害や災害などでデータセンターが利用できないときは、sorry page などを、NetStorageから取得することもあるようです。

前述した状況に当てはまらない場合はオリジンサーバからデータが取得されるようです。

EdgeSuite NetStorage

Akamai社の顧客はコンテンツを「NetStorage」にアップロードすることができます。 NetStorageにアップロードされたデータは筐体間ミラーと複数拠点間でのレプリケーションが自動的に行われます。 ただし、AkamaiはコンテンツをCDN網へプッシュすることはなく、単にリクエストがきてからPULLします。

この仕組みはP2P的と言えばP2P的な部分を含んでいます。 しかし、アカマイさんは「P2P」と表現されるのを非常に嫌うようです。 確かに仕組みとしては類似しているのですが、世間的なP2Pという単語のイメージを考えれば当然と言えば当然だろうと思います。 プレゼンでは、アカマイサーバ網はオーバーレイネットワークという呼ばれかたをしていました。

stable marriage algorithm

各ユーザにどのアカマイサーバを利用させるかを計算するときに、stable marriage algorithmが利用されるようです。 実際にどのようなものかの詳細は教えて頂けませんでしたが、恐らくアカマイサーバの負荷とユーザまでの距離(もしくは遅延)や、パケットロス状況などを総合的に見て、順位付けを行っているのだろうと思います。

さらに、全体的な組み合わせを20秒毎に見直しているというのが驚きです。 まあ、実際には安定しているときには設定は変化しないだろうとは思いますが、20秒毎に全体的な接続状況を見直せる体制があって、いざという時には瞬時に最適なアカマイサーバに切り替わるというのが凄いです。

stable marriage algorithmは安定結婚アルゴリズム、別名:合コンアルゴリズムと言うようです(参考 404 Blog Not Found:アルゴリズム - 合コンの効用を最大化する、stable marriage algorithmそのものに関しては小飼弾さんのブログ記事が非常にわかりやすいです)。

このstable marriage algorithmを利用しているという表現から「全アカマイサーバは他のアカマイサーバの存在を知っているのではないか」ということが予想できます。 というのは、stable marriage algorithmは、N人の男性とN人の女性がお見合いをしたときに相手の組み合わせを発見するためのアルゴリズムだからです。 ここら辺が、接続相手を発見するところから全部やらなければいけない一般的なP2Pと違う点なのかも知れません。 まあ、でも、全アカマイサーバのリストを共有するための仕組みもあるだろうと思うので、広い意味ではP2P的な部分もあるのだろうと思います。

特許

アカマイ社が保持している特許のうち、最も基本的なものは「米国特許6108703」です。 この特許はDNSを使って最寄りのキャッシュサーバへとユーザを誘導して、通信の負荷分散を行うというフレームワークそのものです。

Google Patent Search : 6,108,703 Global hosting system, F. Thomson Leighton et al

この特許の出願日が1999年5月19日です。 アメリカでは出願日から20年特許が有効なので、この技術を超えるものが発明されない限りは2019年まではアカマイ社の強さは継続するのかも知れません。 少なくとも、他の企業がDNSを利用した同様の手法を用いてCDN網を構築することはできません。

(続く:次へ)

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!