USP研究所ロゴマーク

ユニケージ開発手法

3.完全分散型システム

完全分散

日本語では、「分かる(understand)」と「分ける(divide)」とは同じ字を充てます。つまり理解することと分類するということは同義です。

ユニケージは「理解=分類」をサーバー配置、ソフトウエア配置、データ配置に反映させます。

分けることにより、サーバーやソフトウエアやデータの役割が明確化します。役割特化された対象には、役割以外の余計な機能や内容を持たせません。このため、処理は無駄が無く速いのです。機能は必要になったところで積み上げればよいという発想を持っています。

2つめの考えは完全です。完全とは自立可能という意味です。

自立サーバー群はそれぞれ自分の仕事を行い、仕事の結果を他サーバーに自他の必要に応じて連携します。人間社会は、それ自体が自立した個の集合体ですから、個のサポートを行うシステムも人間社会のアナロジーであるべき、との考えが根底にあります。

完全分散型システムの各サーバーは個の仕事と対になっていて、互いに仕事の結果を交換しながら全体の仕事を進めます。このサーバーネットワーク形態をコンピューターズ・コミュニティと呼びます。

疎結合された各サーバーは、環境や内的要因にあわせてアメーバのようにその数や組み合わせ方を変えていくことができます。

共有と全有

自立サーバーには自身が必要とするデータがあります。全体でみればそのデータには重複があるでしょう。ユニケージでは一元化のドグマに囚われることなく、重複分散を認めています。そして、同じデータを一箇所に集めるのでなく、同じデータを必要とするところにコピーを配るようにしています。すなわち「共有」するのものは「全有」してよいという考えです。「全有」することにより、各自は自分の都合でデータを加工したり、アレンジすることができます。

全有データはサーバー単位にとどまらず、サーバーのアプリケーション単位にまで及びます。つまり各アプリケーションは、自身が必要とするデータを自分自身で独占所有できるよう、データを配置しています(LEVEL4)。

アプリケーション自身にも全有の考え方が適用され、各アプリケーションはいわゆる共有ルーチンを呼び出すことはありません。似たような処理があっても、それぞれのソースプログラムの中で完結されているのです。

プログラム内部構造も共有分が錯綜しないよう、ワンプログラムワンフローの原則を貫いてます。(ユニケージはシェル関数の記述さえも基本的には禁止しているのです!)このような全有ポリシーにより各サーバー、各アプリケーションの完全独立性が確保され、自身の仕事を自身のリソースと能力でいかようにも進歩させられる環境を作っています。

ユニケージにおいては、他者に迷惑をかけないよう、常に関係者と相談し、自分の仕事については常にリスクをマネージしながら、自身で判断する自律的な仕事の仕方を理想としています。

< 1 2 3 4 5 6 7 >
©2016 Universal Shell Programming Laboratory