- Programmability --- コンピュータ言語を使って動作を記述できること
- Virtualization --- 物理的なリソースに捉われない抽象化
- Central Control --- 集中制御
Openflowはこれらの,各々は従来からあった概念を一つにまとめることにより,これまでのネットワークに対する新しい技術として,注目をあびることになった.何となく新しいものを求めていた人々が一気にここぞと群がる構図,そして,一見わかりやすいが本質を間違った解説の氾濫は,どうにもかたはらいたい感じがするけれど,エコシステムはこのようにして生成される,という側面もあるのだろう.(どんなに技術が優秀でも,エコシステムができないために普及しない,というものは山ほどあるので.)
ところで,ProgrammabilityとVirtualizationは,コンピューティング高度化に伴う,ネットワーク進化の自然な方向に思える(特にProgrammabilityについては,大分前からできるのに,運用慣習的に,今まであまりやらなかっただけだ).しかしCentral Controlは,どうも私はあまり好きではない.集中制御に対する自律分散制御のよいところは,ボトルネックのないスケーラビリティ,障害時の自動回復,状況に対応する弾力性,などであるが,何といっても,「知が偏在する」,というシステムのあり方自体が好きだ.全知全能の神はいなくても,それぞれが限定合理性(*)の中で持ち場を果たすことにより,システム全体が機能し,さらに成長進化する.
現在なぜCentral Controlが見直されているか,というと,Virtualizationとの組合せによりScale outさせることができるため,Single Point of Bottleneckを克服できるようになったからだと思う.しかし根源的問いとして,「全知全能性」を達成できるのか,という問題が残る.
勿論,データマイニングによる統計の高度化は言を俟たない.これまでの,局所的な専門知識や技のようなものは,どんどん凌駕されて行くだろう.ネットワークのパス計算や決定も,統計的に最も合理的な判断により,集中的に行いたい,という要望が出てくるであろうことは理解できる.しかし,それでも,解けない問題はあるし(NP-Complete, NP-Hard),当然間違えることもある.また,現実の実装を考えると,最適性よりも即応性が求められる場合もある.
なので,集中制御を導入した場合も,Last resortとしての自律分散は残す,というハイブリッドアプローチが求められると思う.(で,その場合は,「ネットワーク機器に機能はいらない→コモディティで価格破壊...」,ということにはなりませんよ.残念ながら:))
(*) オリジナルはH.Simonだが,ここではStanford福田先生の論文を掲げたい.
http://www.panda.sys.t.u-tokyo.ac.jp/ohsawa/SysInPDF/002-Fukuda.pdf
最近のコメント