分散システムでは、各コンピュータはネットワークによって 結ばれていて互いに情報を交換しながら協調計算をします。 このとき複数のコンピュータが同時に動作する(並列性)ので、 各コンピュータの役割分担が正しくないと円滑な協調はできません。 また、ネットワークの通信遅延(相手に情報が伝わるまでの遅れ)や 通信のタイミングによって協調が失敗することがあります。 このため、分散システムのためのプログラムでは、こうしたいままでの システムでは生じなかった問題についても考慮する必要があり、 比べものにならないほどその設計やテストは難しいものとなってしまいます。
そこで、われわれは理論的な考証を利用してこうした実際的な問題の 本質を明らかにし、解決していくことがより良い方法だと考えています。 そして現在、プログラムを実際に動かしてみる前にそのプログラムが 正しく動作するか、またはどのくらいの実行時間がかかるのかを厳密に 解析してくれる理論的な枠組みを作っています。 これにより、より確実で簡単にプログラムを設計・解析できるよう になっています。また、この枠組みを通じて新しいアルゴリズムや プログラミング言語が生まれてきています。
われわれの研究を通じていくつかの成果が出てきています。 しかし、分散システムに内在する未解決の問題はまだまだ 残されています。派手さのない分野ですが、一つ一つ確実に それでいて新しい方法で解決していこうと考えています。 興味をもって頂ければ幸いです。