後藤弘茂のWeekly海外ニュース

Google Chrome OSはなぜNetwork Computerに似ているのか



●いつか来た道を進むGoogle

 Googleがネットブックからフルサイズデスクトップまでのパワーコンピュータに向けたOS「Chrome OS」を投入する。

 この動きが示すのは、次の事実だ。歴史は繰り返す、それも何度でも、おそらくは成功するまで。

 Googleは、すでに、クライアント側のフロントエンドとしてWebブラウザ「Chrome」をリリースし、分散型のプログラミングインフラストラクチャである「Google App Engine」も提供した。そんなGoogleが、クライアント側のソフトウェアの基礎としてChrome OS(その前にはAndroid)を投入するのは自然な流れだ。アプリケーションプラットフォーム(Google App Engine)があり、プレゼンテーションを行なうブラウザ(Chrome)があるなら、クライアント側で下層のサービスを受け持つOSを提供するのは、当然の流れだからだ。

 実際、振り返れば、これまでも、何社もが、似たようなコースで、似たような試みをして来た。もっともいい例が、現在GoogleのCEOであるEric Schmidt氏が、Sun Microsystems時代(Chief Technology Officerだった)に指揮した、JavaとHotJavaブラウザ、Java OS(Kona)の組み合わせだ。プログラミングのストラクチャとWebブラウザ、そしてクライアントOSという流れは、今回のGoogleとよく似ている。また、かつてNetscapeがWebブラウザをアプリケーションプラットフォームにしようとしていた試みも、Googleの動きと似ている。

 つまり、Googleがやろうとしていることは、SunやNetscape、Oracleが引っ張ったNetwork Computer(NC)の時の流れにかなり似ている。もちろん役者は異なる。前回、SunやNetscape、Oracleがいた位置に、今回はGoogleがいる。だが、敵役がMicrosoftという点は共通している。

 さらに大枠で見れば、これは、コンピューティングの分散と集中の間で揺れる振り子の傾きが一層激しくなったことを意味する。リッチなコンピュータで集中処理する環境と、ライトなクライアントとサーバーのような分散処理の環境、その間で振れる振り子だ。この振り子は、Web時代よりはるか前から揺れ続けている。

 前回の大きなトライであるNetwork Computerは、結局、目的を果たすことができずに終わってしまった。実際には、その成果はいたるところに生きており、無駄にはなっていない。しかし、野望であったMicrosoftのWindows覇権を覆すことには失敗した。なのに、その時の当事者の1人であるSchmidt氏が、トップリーダーの1人を務めるGoogleが、再トライをするのはなぜなのか(Schmidt氏は最初は反対したと報道されている)。

●革新的だったNetwork Computerのコンセプト

 PC Watchのこのコラムは'96年に書き始めた。そして、最初の回の内容はNetwork Computer(NC)の共通仕様について、Sun、Oracle、Apple、Netscape、IBMが合意したというものだった。13年前のこの時には、コンピュータ業界の半分を結集したNetwork Computer連合が、Windows PCの有力な対抗馬になるだろうという観測で盛り上がった。

 この時のNetwork Computerのコンセプトは次のようなものだった。

 インターネットの急激な発達でコンピュータの利用はWebに傾きつつある。すると、Webブラウザが、実質的にコンピュータのユーザーインターフェイス層になる。それなら、アプリケーションもその上で実行できるようにしてしまえばいい。スクリプトあるいはJavaでアプリケーションを実現して、Webブラウザ上で実行するようにする。

 その上で、アプリケーションロジックは、その一部または大部分をサーバー側に持って行ってしまう。コンピューティングの一部または大部分をサーバー側で実行して、クライアント側の処理を軽くする。エンドユーザーからは、クライアント側で実行されているように見えるが、実際にはサーバーで実行されているような仕掛けを作る。その結果、アプリケーションは、全てWebベースのサービスになる。

 クライアント側にないソフトウェアコンポーネントは、サーバー側で走らせるか、必要に応じてクライアントにダウンロードする。あるいは、クライアント側には最小限のローダだけを載せて、OSやWebブラウザなどは全てダウンロードして、クライアント側のメモリに展開する。ユーザーのデータストレージも、サーバー側に置いて、世界中どこのどのマシンからでも自分のユーザーデータにアクセスできるようにする。

 このモデルが成立すれば、Webブラウザのレベルで互換性を確保できれば、その下のOSはどうでもよくなる。OSは、ユーザーインターフェイスをWebブラウザに握られ、アプリケーションプラットフォームとしての地位を失う。OSがWindowsである必要はなくなり、より軽量でリソースを食わないOSに置き換えることができる。WindowsのようなOSは、Webブラウザにひさし(ブラウザ)を貸して母屋(OS)を取られる形になる。

 ハードウェアもWindowsを走らせるようなリッチな構成が必要なくなる。組み込みCPU並の性能で、メモリ量も少なく、ストレージは最小か、あるいは持たなくてもいい。そのため、筐体は小型で極端な低価格にすることが可能で、携帯型ならバッテリ駆動時間が長くなる。

 x86命令セットとWindows、そしてリッチなリソースというくびきから解き放たれることで、クライアントデバイスの自由度も高まる。携帯デバイスから家電、STB(セットトップボックス)まで、さまざまなデバイスで共通のソフトウェア環境を実現できる。PCというフォームファクタに縛らないことで、より大きな市場を切り開くことが可能になる。

 ざっとまとめると、これがNetwork Computerのコンセプトだった。

Oracle Open World '97会場風景OracleのNetwork Computer(デスクトップ型)
OracleのNetwork Computer(ノート型)SunのNetwork Computer

●機が熟した? Googleの挑戦

 現在Googleが、やろうとしていることは、この時のコンセプトにかなり近いと見られる。少なくとも、基本ラインは同じだ。前回の結果はわかっているのに、Googleはそこに踏み込もうとしている。

 その理由は、時代が進み、時節が熟してきた、あるいは熟してきたとGoogleが信じられる状況になったからだ。前回のNetwork Computerの試みは明らかに早すぎた。しかし、Googleは、今回は、もう大丈夫と見なしていると考えられる。

 Googleが確信を持つ理由も納得ができる。まず、エンドユーザーのコンピュータ利用は、ますますWebに依存するようになった。Javaなどのプログラミング環境は、以前と比べるとずっと成熟している。多くの国で高速ネットワークインフラが整い、ネットワーク上で分散型のコンピューティング環境(今回は名前が「クラウドコンピューティング」になっている)が実用に充分になっている。GmailやGoogleマップのようなサービスで、サーバー側のコンピューティングリソースを意識せずに利用するのが当たり前となっている。

 そして、コンピュータハードウェアも変化している。大きいのは、コンピュータがPC中心ではなくなりつつあることだ。携帯電話というネットワーク常時接続型のコンピュータの巨大市場がすでに繁栄しており、そこでは、まだソフトウェア層のスタンダードが確立されていない。さらに、携帯電話とPCの間にも大きなギャップが開いており、そのニッチが急速に埋まりつつある。つまり、ニッチに入るデバイスが急速に興隆しつつある。そして、その象徴がネットブック/ネットトップだ。そして、この層では、ヘビーウェイトなOSがあまり適さないハードウェアが増えている。

●既存のOSとは位置づけが異なるChrome OS

 では、そうした背景で出してくるGoogleのChrome OSはどういうソフトウェアなのだろう。

 Googleの思想からすれば、Chrome OSを、WindowsのようなこれまでのOSと同じ位置づけと考えるのは、おそらく間違いだ。ネイティブアプリケーションのプラットフォームとしてのOSとは、異なる位置づけのソフトウェアだ。

 Chrome OSのインパクトは、GoogleがPCクラスのコンピュータ向けOSを出した、という点にはない。Googleにとって、主眼になるのはクラウドコンピューティングであり、その世界では、ネットワークをまたがるプラットフォームこそがOSだ。Google App Engineなどのサービスを経由することで、ネットワーク側にアプリケーションの実行プラットフォームがあるからだ。エンドユーザーが意識することなく、サーバー側のリソースもスケーラブルに使うことができる。

 クラウドのGoogleにとっては、ネットワークこそがコンピュータであり、アプリケーションのプラットフォームであり、そこへの扉がWebブラウザChromeとなる。クライアントOSは、その環境を使うための踏み台に過ぎない。だから、余計な機能は削り、重複するサービスは外したシンプルなOSとなる。

 その意味では、GoogleのChrome OSは、これまでのPC OSのコンセプトに対するアンチテーゼになるだろう。逆説的に聞こえるかも知れないが、「OSはいらない。WebブラウザこそがOSだ」というコンセプトを示すためのOSだと推測される。ネットワークへと比重が移ったクラウドコンピューティング時代の影武者がChrome OSだ。NC時代を考えるなら、ネットブック/ネットトップをNetwork Computerにするものと言い換えてもいいかも知れない。

 そのため、GoogleはChrome OSの上で、ネイティブAPIのアプリケーションを繁栄させようと考えているわけではないと推測される。独自のウインドウシステムでのネイティブアプリの開発を容認するかもしれないが、そこにポイントはないだろう。Windowsのような従来OSが、独自APIのアプリケーションを繁栄させることで、OSに対する依存を作る構造とは、全く異なっている。既存OSの方法論を否定するところから始まっているのがChrome OSだと考えられる。

 この図式では、Chrome OSベースのネットブックは、流行の言葉を使えば、アプリケーションは「PaaS(Platform as a Service)」で、ストレージなどは「IaaS(Infrastructure as a Service)」で提供される。Googleはすでに「Google Docs」などの道具立ては整えている。また、Webアプリをオフラインで使うための「Google Gears」まで、準備している。Chrome OSのための下地は、全て整えた上であることがわかる。

●コンピューティングは軽くネットワークは広く

 Google Chrome OSのハードウェアへのインパクトはどうなのか。

 ネットブック/ネットトップと一口に言っても範囲は広い。現在の主流であるWindowsベースのネットブック/ネットトップは、どんどんPCに寄って、事実上は廉価なPCになっている。

 しかし、Google的な発想では違う。クラウドの末端としてのChrome OS ネットブックは、ずっと軽いリソースで済むことになる。ディスク容量は極めて少なく、プロセッサはAtomのレベルのパフォーマンスが必要なくなる。だが、ネットワークへの常時接続は欲しい。モバイルへの展開を考えると、WiMAXのような広域なインフラが理想だ。また、ローカルリソースでは、どうしてもローカルハードウェアで処理する必要がある、メディアプロセッシングの性能も必要になる。

 こうした流れを考えると、NVIDIAの「Tegra」のようにARMコアで高いメディアプロセッシング性能を持つチップの存在意義も出てくる。つまり、非x86または低性能CPUで、さらにリソースが限定されたネットブック/ネットトップクラスのデバイスのニッチが広がる。PCとスマートフォンの間で、PCに寄るか携帯電話に寄るかという二者択一の状況を打破し、新たにクラウド端末という新しい道を開くことができる。

 とはいえ、今回のGoogleの戦略が、果たして成功するのかどうか、まだわからない。本当に、“その時”が来たのかどうか。つまり、コンピューティングのパラダイムが、クラウドに向けて傾斜し、コンピュータとOSのあり方が変わる時が来たのかどうか、まだ見えていない。成功するにしても、どれだけの期間が必要なのかもわからない。

 しかし、見えてきたことはある。それは、しきい値を超える「ティッピングポイント(Tipping Point)」へと、少しずつ近づいていることだ。今回と前回を較べると、明らかに環境も技術も、大きく進歩している。分散処理は、はるかに身近なものになっており、クラウドに最適化したコンピュータの現実味は増している。もし今回がダメでも、いつかは時代の変化が来そうだ。