通信事業者(キャリア)のシステムは「キャリアグレード」と呼ばれる。通信システムは、企業や社会の基幹を担うため、高い信頼性が求められる。その要請に応えるためのシステム特性が、「キャリアグレード」という言葉に集約される。
「キャリアグレード」の具体的条件としては、「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障害のような事故は起こる。通信事業者の報道発表資料で、「原因は通信設備故障、サーバふくそう」とか、「容量のさらなる増強をし今後に備える」という言明を聞くたびに、痛々しい気持ちになる。トラフィック需要なんかこれからも予測できないし、スケールネックを解消しなければ、どれだけ容量を増強しても、コストばかり嵩み、焼け石に水であろう。
「キャリアグレード」という概念自体は、通信事業者の社会的責任、コミットメントを表すものとして、有意義で価値のある概念だと思う。しかし、この概念が、従来の設計・計画・管理手法を踏襲し、局所最適を助長させるものとなってしまっているのではないだろうか。
今、「キャリアグレード」の再定義が必要だと強く思う。信頼性とは何か。どのようにしたら、現代の複雑多様な社会要請に応え、増えるトラフィックをさばき、企業活動や個人の生活を充実させることができるようなサーヴィスを提供することができるのか。根本に戻って考え直す必要がある。
最近のコメント