Windows Serverでさらに進化したオープン・ミッションクリティカルシステムを実現
~Windows Server 2008ダイナミックパーティション機能の共同開発~

富士通はマイクロソフトとの戦略的協業の取り組みとして、Windows Server 2008の新機能である、ダイナミックパーティション(DP)機能の実用化を目指してきた。このDP機能を実現するためには、OSとハードウェア、すなわちPRIMEQUESTの両方の対応が必要である。富士通は米国マイクロソフトへ開発者を常駐させ、マイクロソフトの開発者と連携しながら開発を行なってきた。PRIMEQUESTにおけるDP機能の実現に向けた富士通とマイクロソフトの開発協業について紹介する。
前途多難で始まった開発協業
2004年、富士通とマイクロソフトがミッションクリティカル領域での戦略的協業を開始した。当時は、Windows Server 2003が市場で立ち上がり、Windows Serverのミッションクリティカル領域での適用も徐々に拡大してきた頃である。富士通とマイクロソフトは次期Windows Serverの仕様について早い段階から議論を始めており、システムを停止せずにCPUとメモリを再配置するというDP機能も、この頃には、既に構想が上がっていた。そして2005年の夏から、実現に向けて開発がスタートした。

小丸芳弘氏
パーソナルビジネス本部
Windows開発統括部 課長
DP機能の開発リーダーであるパーソナルビジネス本部Windows開発統括部の小丸は、当時の様子を「当社のPRIMEPOWERなど一部のUNIXサーバでは既にDP機能と類似の機能が実現されていました。しかし、Windows Serverではメモリをシステムに動的に追加する一部の機能しか実現されておらず、我々はUNIXサーバと同等以上のDP機能をWindows Serverでも実現したいと考えていました。マイクロソフトも同じように考えていたと思います。」と語る。
しかし、開始当初、実現方法の考え方は富士通とマイクロソフトで違っていた。「マイクロソフトはDP機能の実現に当たって、ある種のハードウェア機構を前提として検討していました。我々は、特別なハードウェア機構を用意すれば実現が比較的容易なことは分かってはいたのですが、将来を見据えてなるべくハードウェア機構に依らない汎用的な仕組みで実装方法を検討しました。」と小丸は説明する。このようにDP機能を協力して実現する方向性では両社は一致しているものの、実現方法についての考え方の溝は埋まらないまま、開発協業がスタートする。
誠心誠意の取り組みが生んだ突破口
そして、この実現方法の考え方の違いにより、具体的な開発の目処がつかない状況が続くことになる。マイクロソフトも、OSの修正範囲や修正が及ぼす影響範囲を見極められずに判断しかねていた。このような状況で、どのように事態の打開を図ったか、小丸は次のように説明する。
「まず、OSを改造するなら何が問題で、どんな影響範囲があるのかを徹底的に調べ上げ、「こうすれば実現できる」という案を作りました。プロトタイプを作り検証作業も実施しました。マイクロソフトが実現していないことを自分たちでOSを解析して機能実現に向けて提案を作り上げていくというのは我々にとっては初めての経験でしたが、我々は誠心誠意に取り組み、何とか実現させたいという想いを提案書へ込めたのです。」
提案の内容は、Windowsカーネルの中心的な開発者が評価する。彼らは、巨大なWindowsシステムの中でもカーネル部分を取り扱える、精鋭中の精鋭の開発者なのだ。そんな彼らを納得させられるだけの提案でなければならない。
「簡単には受け入れてはくれません。彼らと同等に技術を語れるレベルでないと相手にしてくれないし、提案自体を受け付けてくれません。さらに、緻密で理路整然な具体的な実装方法、影響範囲とその対策を示さねば開発許可は下りないのです。」
2006年晩夏、実現方法の提案書を提出した後、小丸は一旦帰国してマイクロソフトからの検討結果を待つことになった。
しばらくして、マイクロソフトから「正式に対応します」との嬉しい連絡が入る。こうして、両社の開発協業は大きく動き出すことになる。
カーネルエキスパートとのライブデバック

治部将之氏
パーソナルビジネス本部
Windows開発統括部
開発が具体的に動きだすと、マイクロソフトによるOSの対応だけでなく、PRIMEQUESTのファームウェアの対応とHot-Replace(注1)の核となるPRIMEQUEST専用ドライバの開発も必要になる。早速、小丸は、上述の提案書の作成にも関わっていた治部へドライバのプロトタイプを作成するよう指示した。治部は以前から米国マイクロソフトに常駐する富士通のサポート支援チーム(GREC)のメンバーであり、難解トラブルを調査するハイレベルなスキルを習得していた。そんなスキルを持つ治部だったが、さらに刺激的な作業を経験することになる。
「プロトタイプドライバを作成するにあたり、マイクロソフトと情報交換して様々な問題点を解決してきました。マイクロソフトには世界中から同時にデバックできる環境が整っており、問題が発生するとマイクロソフトのカーネルエキスパートがデバック環境に乗り込んできて、ライブデバックが始まります。DP試作中は極めて難解な問題が頻発しましたが、知識に裏付けられた的確なデバッグスキルは見ていてとても刺激的でした。このようなバグの発見・修正を繰り返し、着実に開発を進めていったのです。」
そしてついに2006年の11月に、PRIMEQUEST上でCPUとメモリの動的交換、すなわちHot-Replaceに成功する。

技術者同士の強力な連携
しかし、順風満帆に開発が進むと思いきや、その後も様々な問題が噴出する。しかも、OSからは調査が困難な問題も多く、解決するにはファームウェアやチップセットなどを開発するハードウェアチームのエキスパートと強く連携する必要があった。「難題を迅速に解決するためには、マイクロソフトと当社のハードウェアチームの間に立つ我々がWindowsカーネルだけでなくファームウェアやハードウェアの詳細までしっかりと把握し、双方のエキスパートをうまく連動させることが大切。」と小丸、治部は口を揃えて言う。彼らが仲立ちすることで、富士通のハードウェアチームのエキスパートとマイクロソフトのカーネルエキスパートの連携もこれまでになくスムーズになり、数々の難題を粘り強く解決していった。今回、Windows Server 2008の登場に合わせてPRIMEQUESTでDP機能を実現できたのも、技術者間の強い信頼関係のもと、こうした強力な連携ができたからであると言える。
さらなる連携強化
オープン化が進む中で最高のミッションクリティカルサーバを提供するために、富士通はマイクロソフトを始めとした優れたグローバルパートナーとアライアンスを組んでいる。今後もグローバルパートナーとのアライアンスを強化し、付加価値の高い製品をお客様に提供していく。富士通とマイクロソフトは、次期Windows Serverに向けた検討にも入っており、今回のDP機能の共同開発と同様、今後もオープン・ミッションクリティカル領域での開発協業を進めていく。
注1: Hot-Replaceとは、システムをシャットダウンすることなく、OS稼働中のパーティション上で使用中のCPUとメモリを交換する機能をさす。
