本研究は、メタコンピュータを構成するための一方式をまとめたものである。メタコンピュータとは、ネットワーク上に分散しつつ、かつ単一目的に利用できるコンピュータ群を指す。本研究では、プログラマに対してメタコンピュータを提供することを目標とし、そのためのシステムソフトウェアの構成法としてJavaを分散処理に適した処理系に拡張する方式を示した。 Javaはプログラミング言語として初めて安全性、機種非依存性、そして高速実行を同時に達成した。このJavaに、分散処理に有用で基本的な機能である、分散オブジェクトと実行状態の移送機能を付加することを提案した。分散オブジェクトはネットワークの先にあるオブジェクトを操作する機能で、オブジェクト指向言語から複数コンピュータを活用するための一般的な手段である。 実行状態の移送は実行中のプログラムをコンピュータ間で移動させる機能で、複数コンピュータの性能を活用するための動的負荷分散には欠かせない。また、実行状態の移送によってあらゆる種類の分散処理を行うことが可能なので、分散オブジェクトの代替ともなり得る。 本研究では、このようにJavaの拡張を提案するとともに、その処理系を実装・評価し、その実用性を実証した。 本研究の成果は、Java仮想マシン間でメタコンピュータ実現に不可欠な、異機種間・非同期スレッド移送が可能であることを、実証的に示したこと、ネットワーク透過な分散オブジェクトシステムの開発が可能であることを、実証的に示したこと、Javaコンパイラとして既存のものをさらに数倍以上に性能向上させることが可能であることを、実証的に示したこと、などである。
|