通信事業者(キャリア)のシステムは「キャリアグレード」と呼ばれる。通信システムは、企業や社会の基幹を担うため、高い信頼性が求められる。その要請に応えるためのシステム特性が、「キャリアグレード」という言葉に集約される。
「キャリアグレード」の具体的条件としては、「High Availability(高可用性)」、「Guarantee(帯域・性能などの保証)」、「Predictability(予測可能性)」、(「Security(機密性・安全性)」、「Transparency(透過性)」、「Continuity(継続性)」などがあり、サーヴィスの性質により、これらの要素が適宜組み合わされ提供される。特に信頼性の観点からは、高可用性・性能保障・予測可能性が最重視されるので、ネットワークエンジニアは、可用性を保証するために必要なメディア特性、冗長度、検知・切り替え手法、また最繁時に予測されるトラフィック量、許容される遅延などから、必要な回線や設備を算出する。そのためにはシャノンの情報理論、そしてオペレーションズリサーチ(特に、信頼性工学、トラフィック理論、待ち行列理論)を駆使する必要があるから、これらは通信技術者の必修科目であった。DNAと言ってもよいかもしれない。
そんな中、1996年にNTT-Communicationsが開始したインターネットサーヴィス「OCN」は、「ベストエフォート」を強調して画期的だった。安価である代わりに「通信品質を保証しない」と宣言したのだ。脱「キャリアグレード」宣言(!!)である。
でもそんな画期的な宣言ができたのは、あくまでも代替的サーヴィスであったからであろう。1996年の時点では、基幹通信網としては専用線が主流だった。例えばATMメガリンクが開始されたのはOCNサーヴィス開始の翌年の1997年である。こちらの方は勿論「キャリアグレード」だった。
あれから15年の歳月が経過し、殆どの通信がIPになった今も、「キャリアグレード」は健在である。通信事業者がIPv4枯渇対策のために導入するNATは「キャリアグレード」だし、スイッチやルータには、いかなるモジュールや回線の故障時にもsub second(1秒未満)で切り替わることが求められる。
しかし、今、「キャリアグレード」の再定義が必要ではないだろうか。これまでの「キャリアグレード」を追求している限り、通信事業者は自らの首を絞めることになると思えてならない。以下、論拠を述べる。
---------------------------------------------------------
- トラフィック理論では、トラフィック生起率や処理時間はポアソン分布で近似できるとする。(事象は離散的ではあるが、集積されれば正規分布のように平均と分散で表現できる。)しかし、現在、実際に起こっている事象のいくつかは、べき乗分布に従うことがわかっている。べき乗分布の場合、「平均」という概念は無意味となり、トラフィック理論は使えない。
- 設備計画のためには、ある程度トラフィック量の推移を予測する必要がある。しかしスマートフォンの急成長など状況がめまぐるしく変わる現在、需要予測はほぼ不可能である。
- 可用性をある程度以上に向上するためには、経済的にもネットワーク設計的にも高いコストがかかる。
-
- 分散並列処理が可能でない場合、システムにはボトルネックが生じ、その可用性を上げるために冗長度を上げようとしても、収穫逓減になる。
-
- 分散並列処理が可能な場合は、「Consistency(一貫性)、Availability(可用性)、Tolerance to Network Partitions(耐分散性)の3つ全てを成立させることはできない」という、BrewerによるCAPの法則(*)に当てはまってしまう。即ち、分散処理系の場合、可用性か一貫性のどちらかを犠牲にしなければならない。ここでは可用性を上げる前提のため、一貫性をある程度妥協し、システム全体で何らかの補完をするような手立てが必要となる。(*)http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
- Ethernet Aggregationが主流の現在、回線信号断(LoS)では障害を検知できないので、sub secondで切り替えるためには、Continuity Checkをmsec単位で行う必要がある。(このこと自体がスケールネックになる可能性を持つ。)一方、殆どのトラフィックがTCP/IP、HTTPに収斂されている現在、許容通信断時間は変わってきているのではないか。例えそうでないとしても、ネットワークのある一部分を取り出し、そこでsub secondの切り替えに固執することは、あまり合理的とは言えない。
---------------------------------------------------------
東北の震災のときに、「キャリアグレード」である電話・携帯電話は不通になったが、無料のSNSは使えていた。(私事で恐縮だが、震災の日、世界中の同僚や友人からは次々と連絡が入るのに、子供たち(SNSやPCメールはまだ使っていない)と連絡が取れない、という状態が半日以上続いた。今思い返しても本当に切ない。)勿論、電話システムの場合は呼制御があるので、同列に比較することはできないことはわかっているが、それでも、「キャリアグレード」っていったい何なんだ、と思わざるを得ない。
しかも、安価なクラウドサーヴィスに、「キャリアグレード」は、このままでは対抗できない。クラウドサーヴィスは、必要に応じてスケールアウトでき、かつ、ノード障害時も他ノードに処理を引き継ぐことができる。一方、「キャリアグレード」なのに(いや、だからこそ?)、docomo sp mode障害のような事故は起こる。通信事業者の報道発表資料で、「原因は通信設備故障、サーバふくそう」とか、「容量のさらなる増強をし今後に備える」という言明を聞くたびに、痛々しい気持ちになる。トラフィック需要なんかこれからも予測できないし、スケールネックを解消しなければ、どれだけ容量を増強しても、コストばかり嵩み、焼け石に水であろう。
「キャリアグレード」という概念自体は、通信事業者の社会的責任、コミットメントを表すものとして、有意義で価値のある概念だと思う。しかし、この概念が、従来の設計・計画・管理手法を踏襲し、局所最適を助長させるものとなってしまっているのではないだろうか。
今、「キャリアグレード」の再定義が必要だと強く思う。信頼性とは何か。どのようにしたら、現代の複雑多様な社会要請に応え、増えるトラフィックをさばき、企業活動や個人の生活を充実させることができるようなサーヴィスを提供することができるのか。根本に戻って考え直す必要がある。
明けましておめでとうございます。痛快です!
投稿情報: satoru | 2012.01.03 11:09
carrier gradeという言葉自体、誰が言い出したのか、いつからか、"この機器はcarrier gradeです"とか、"carrierはcarrier gradeの機器を使うべき"という用例ですね。じゃあcarrier gradeって何者?というと分からない。元々はそれ自体それほど意味のないセールストークに登場する用語な気がしますが、通信システム設計の考え方は変わってきていると思います。それでも、震災で"carrier grade"を凌駕したシステムやサービスも、robust な"carreir grade"伝送路システムによってパケットが運ばれたために成立したのですよね。最近感じる違和感はここら辺にありマス。
投稿情報: satoru | 2012.01.03 12:06
Miyaさま、すっかりご無沙汰しております。
アプリ/サービス視点のcarrier grade論、楽しく(?)読ませていただきました。
deploymentをするときは、信頼性とかを考慮に入れる必要もあったりと一筋縄ではいかなくなりそうですので、そこいらは、別途お話する機会があれば、です。
投稿情報: [email protected] | 2012.01.03 16:56
Satoruさま,Wataruさま,
コメントありがとうございます.「サーヴィス側面とインフラ側面とは,やはり違うのではないか」,という問いと受け取りました.これがまた結構難しくて,すぐに切り返せないでおりました.
インフラは,サーヴィスあってのインフラだとして,では,そのときの「サーヴィス」って何?と考えると,定義できない訳です.大体今は,IaaS(Infra as a Service)なんてのもあるし.
「再定義必要」といっておきながら,どう定義してよいかは,まだよくわかっていません.
投稿情報: Miya | 2012.02.11 23:59
"career grade" の redefine の前に、"career って何?" という問いが先に来るのでは?
その過程で、いろいろしがらみがあるものの、career が revenue を上げ存続するための "service" が登場し、それを実現・担保するための "infrastructure" が登場してくるのでは?
そして、これらで user, career, gov. などから合意を得た quality が、 "redefined career grade" となり得るような。
と、釈迦に説法ですが徒然に……
投稿情報: cretan | 2012.02.12 21:41
三浦社長の声明:
「よりサーヴィスに関わる研究を」
http://www.rbbtoday.com/article/2012/02/17/86397.html
投稿情報: Miya | 2012.02.20 13:45
1年以上前のネタですが...
昔の通信事情はよくご存じの方のようですが、今はマーケットが全然変わっちゃったんですよね。私もどのような成り行きか"Carrier Grade"な機器を作っているんですが、これを真っ先に持って行く先は「ATMを入れたくても入れられない国」なんです。携帯網向けの機器なんですが、それこそ2Gから4Gまでやらなければならない、けど物理的な回線はEthernet以外引けないという国は山ほどあります(その点日本は例外中の例外で、少なくとも仕様決定で支配的にはなりません)。そのような国は、ATMの代わりに使えるという意味での"Carrier Grade"を必要としているわけです。
ついでに、クラウドだってデータセンターにロシアの隕石みたいなものが落ちてきたら生き残れるかどうかはわからないですよね? 例の地震の時も、たまたまデータセンターが揺れの強いところになかっただけで。自分はむしろ、たとえば中東地域で相次いだ民主化デモで一人一人に携帯端末を通じたインターネットへのアクセス手段が提供されていたことの方がよほど歴史に残ると思っています。
投稿情報: バッタもんにはパチもん | 2013.06.18 03:52
とても参考になります。ありがとうございます。
場所によって状況が異なり、さらに日々状況は変わっている。design principleも相対的なものに過ぎない。(周囲と比較してどうか、過去と比較してどうか..。)「何が当たり前か」が異なるので、「何がチャレンジか」も異なる。。
この記事も1年以上経ってみると、今は昔の感がありますね。「インフラ」って、当時は「キャリアの通信基盤」という意味で使ってましたが、今や、日本で一般的に意味されるのは「仮想化基盤」です。今は、インフラエンジニアというと、仮想化サーバを設計・運用する人を指すことが多いように思います。
そのような中、design principleを議論するのは意味が無いかもしれない。いや、そのような中だからこそ、design principleの違いや変遷を議論する必要があるのかも。
投稿情報: Miya | 2013.06.18 07:47