Innovating@Sun コミュニティ ご購入について (0120-33-9096) マイ・アカウント 日本 [Change] 日本語

Case Study
 
 

筑波大学

オープン・モバイルオブジェクト・システムの実現に向けて
- Sunのプラットフォームが先進技術の研究開発に寄与 -

筑波大学 電子・情報工学系の加藤和彦助教授を中心とする研究グループでは、オープンなネットワーク・コンピューティング環境を実現するためのソフトウェア基盤となるモバイルオブジェクト・システムの研究開発を、Sunのプラットフォーム上で進めています。「PLANET」と呼ぶこのシステムは、インターネットに代表される広域ネットワーク環境上でのアプリケーション開発を支援する分散協調ソフトウェアシステムを実現する先進技術として、今大きな注目を集めています。ここではSunのプラットフォームが、こうした先進技術の研究開発にも大きく寄与している事例をご紹介します。

■狙いは既存OSを包含した“グローバルOS”

筑波大学
電子・情報工学系
助教授 加藤和彦氏

「私たちが目指しているのは、複数の既存OSを包含してオープンなネットワーク環境で利用できる“グローバルOS”の実現です」。
こう語る加藤先生の研究グループでは今、「PLANET」と呼ぶオープン・モバイルオブジェクト・システムの研究開発を進めています。モバイルオブジェクト技術は現在、ネットワーク関連の研究分野で最も大きな注目を集めている先進テクノロジーの1つです。その背景には、インターネットに代表される広域ネットワークと従来のLAN環境をシームレスに結び付けた、グローバルなネットワーク環境上での高速・安全・確実なアプリケーション開発基盤の実現が強く求められていることがあげられます。モバイルオブジェクトとは、内部にデータやプログラム、計算の状態(いわゆるスレッド)を含むことができるオブジェクトを、ネットワークを介してサイト間を移動可能にした技術です。加藤先生の研究グループは、この技術が広域ネットワークとLANとの間で本質的に異なる情報受発信方式を統合する方法として有効であるとの着想のもと、しかも特定のプログラミング言語に依存しない仮想的なソフトウェア実行環境の実現を目指して、これまで約5年間にわたって研究を進めてきました。その成果であるPLANETは、厳密に言うとOSとプログラミング言語の間のミドルウェアに相当しますが、特定の言語やOSに依存せずにコンピュータサイト間でオブジェクトを交換・共有することができるという、まさにインターネット時代の新たなシステムソフトウェアとなり得る可能性を大いに秘めているのです。


■独創性に富んだPLANETの特徴

PLANETの特徴には次のような点があげられます。
(1) 分散性と永続性を統一的に扱うシステムモデル
広域ネットワーク環境では、異なる地理的な地点間でオブジェクトの交換と共有を行うことに加え、異なる時間軸上の点の間でオブジェクトの交換と共有を行うことが求められます。PLANETはこうした分散性と永続性を統一的に扱うシステムモデルを発展させたもので、これによって通信相手の状態に関わらず(すなわち通信相手とは非同期的に)、オブジェクトを送受信することが可能となっています。PLANETのシステムモデルの大きな特徴は、広域ネットワーク上でオブジェクト転送を効率よく行うDSR(ディストリビューテッド・シェアード・リポジトリ)サーバの存在です。DSRサーバでは個々のLANとのオブジェクトのやりとりにおける手続きを制御し、動作中のオブジェクトをそのままの状態で受信し、保存して、異なるサイトへ発信することができます。さらにDSRサーバとクライアント間のオブジェクト転送をスムーズに行うために、「リモートメモリ・アーキテクチャ」と呼ぶ技術を実装。これにより、DSRサーバとクライアント間のオブジェクトの物理的な移動量を最小限に抑えることが可能となっています。つまりDSRサーバは、広域ネットワークでオブジェクト転送を実現するための仮想空間といえます。

PLANETの
デモンストレーション

(2) 特定のプログラミング言語に依存しない言語中立的スタンス
PLANETの言語設計のアプローチとしては、現在広く利用されているオブジェクト指向プログラミング言語と上位互換性を持たせる手法と、モバイルオブジェクトを扱うプログラミングを容易にするための新たな言語設計を行う手法の2つのアプローチを行っています。前者ではJava言語とC++言語にモバイルオブジェクト計算の機能を導入し、それらの言語のソフトウェア資産を活かすとともに、それらの言語に習熟したプログラマーがごく少ない労力でモバイルオブジェクト技術を活かしたアプリケーションを開発することができます。一方、後者では複雑なモバイルオブジェクト計算を含むアプリケーションを記述する場合に、高いソフトウェア生産性をもたらすことが期待されています。加藤先生はとくにJavaとの関連について、「Javaの思想や機能は高く評価しています。PLANETのアイデアはJavaが出現する前からありましたが、Javaとも連携させる形で現在Java版PLANETの開発も急いでいます。さらにJavaを含めた言語の下位の階層として、動作中のオブジェクトをそのままの状態でやりとりできる仕組みを実現したいというのが、PLANETの目指すところです」と語っています。いずれにしても、このようにPLANETという1つのモバイルオブジェクト管理のための実行時システムを用いて、モバイルオブジェクト計算をサポートする複数のプログラミング言語を実現しようという試みは、他の関連研究には見られない独創的なアプローチとして特筆することができます。


研究を支える
Sun Ultra60

(3) ネイティブコードによるモバイルオブジェクトの実現
これまで提案されている他のモバイルオブジェクト・システムは、バイトコード・インタプリタによるオブジェクト実行方式を採用していました。バイトコード・インタプリタは、プログラミング言語の研究分野では20年以上前から知られている技術で、インターオペラビリティに優れていますが、一方で実行効率、つまり処理速度が難点でした。そこで加藤先生の研究グループでは、そうしたアプローチとは対照的に、ネイティブコード実行を基本とする立場からインターオペラビリティを達成するというアプローチを行い、高速なモバイルオブジェクトの処理を実現しています。

(4) オブジェクトの隠蔽概念と直交的に導入されたプロテクション・ドメイン
モバイルオブジェクト・システムは、コンピュータ資源やオブジェクト同士の保護(プロテクション)をシステムで制御する必要があります。PLANETではオブジェクトの保護概念を、プログラミング時におけるものと実行時におけるものとに直交的に分離するというアプローチを採用しています。前者の保護概念は従来のオブジェクト指向プログラミングにおける隠蔽概念を用い、後者の保護概念としてはプロテクション・ドメインと呼ぶ実行時の保護領域機能を用いています。これにより、厳格かつ柔軟なセキュリティ保全を実現しています。

■実験用の管理サーバとしてNetra t1が活躍

研究を支える
Sun Netra t1

こうした数々の特徴を持つPLANETは、実際のアプリケーションにおいても幅広い用途が考えられます。
例えば、ロボット型WWW検索システムや分散環境での画像処理などは、特徴を活かして効果的に利用することができます。PLANETはまた、関連技術の共同研究や実際にインターネットを介した実験を行うために、筑波大学をはじめ東京大学、京都大学、通産省電子技術総合研究所(電総研)、スウェーデンのウプサラ大学の、それぞれ筑波大学からの距離の異なる研究機関を結んだ連携体制がとられています。そして、それらの拠点にPLANETのシステム・プラットフォームでとしてSunのワークステーションSun Ultra 60が設置されており、実際の広域分散の環境を実現しています。さらに加藤先生の研究室には、PLANET プロジェクトを含むサーバ間連携のテスト環境として、Sunの薄型サーバNetra t1が12台オープンラックに収まっています。加藤先生によると「Netra t1は何と言っても場所をとらないのがいい」とのこと。ちなみにPLANETは現在、SPARC版Solaris、Intelx86版Solaris、Intel x86版Linuxの間で異種プラットフォーム間インターオペラビリティの達成を目指しています。PLANETの研究開発は、文部省科学研究費や科学技術振興事業団「さきがけ研究21」、郵政省「情報通信ブレークスルー基礎研究21」などの補助金の対象となっており、いわば日本の先進IT技術を担うテーマの1つとなっています。「私たちの研究グループは、教育機関としては国内でも数少ないOSレベルの研究に注力しています。PLANETは今後大きな問題となってくる広域ネットワーク上でのセキュリティなどにも大きな威力を発揮します。ぜひ実用化へとつなげるとともに、OSレベルの技術に強い人材を輩出し続けられるようにがんばりたいと思います」と語る加藤先生のエネルギッシュな姿がとても印象的でした。

加藤先生のホームページ http://www.osss.is.tsukuba.ac.jp/~kato/index-j.html