透過性 (情報工学)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
透過性(Transparency)とは、マンマシンインターフェースにおいてユーザーが技術的詳細(インストール、アップデート、ダウンロード、デバイスドライバなど)に悩まずに済む使い易さの側面である。例えば、プログラムがディスプレイの解像度を自動認識する方がユーザーにいちいち質問するものよりも「透過的」であると言える。
情報工学やネットワークにおいては、同一のユーザーインターフェイスやアプリケーションインターフェイスで異なる論理動作をサポートするソフトウェアは「透過的」であると言える。例えば、Network File System は遠隔地にあるファイルをあたかもローカルな記憶装置に置かれているかのようにアクセスできるようにしている。
同様に、一部のファイルシステムは「透過的」にデータの圧縮と解凍を行い、より多くのファイルを記憶媒体上に格納できるようにしており、ユーザーは特別な技術的知識を必要としない。他にも透過的にファイルを暗号化するファイルシステムもある。また、様々なデータベースを利用できるようにアプリケーションにデータベースアクセスのための抽象化層を開発することがある。この抽象化層はデータベースへの「透過的」なアクセスを実現するものである。オブジェクト指向プログラミングでは、実装の異なる同一インターフェイスを使用することによって透過性を実現する。
8ビットクリーンな通信ネットワークは、制御文字がどのように送られるかといった知識なしに任意のファイルを転送できる。
[編集] 分散コンピューティング
分散システムでの透過性とは、分散された構成をユーザーから隠し、あたかも集中型システムであるかのように見せることである。
以下のような透過性がある:
- アクセス透過性
- 各ノードでのリソースの実際の配置やアクセス方法はどうであれ、ユーザーから見て分散システムは常に同じリソースアクセス方法を提供すべきである。
- 位置透過性
- 分散システムはユーザーにリソースの配置を意識させるべきではない。
- マイグレーション透過性
- リソースやプロセスが分散システム内で物理的/論理的に異なる位置に移動できるかどうかをユーザーに意識させるべきではない。
- リロケーション透過性
- 使用中のリソースもユーザーに気づかれずに移動可能であるべきである。
- 複製透過性
- リソースが複数の位置に複製され配置される場合、ユーザーにはそれらが1つのリソースとして見えるようにすべきである。
- 並行透過性
- 複数のユーザーが1つのリソースを共有して使用するとき、それらユーザーに競合状態を気づかせてはならない。
- 障害透過性
- リソースやノードの障害をなるべくユーザーから隠して復旧させるよう努めるべきである。
- 永続透過性
- リソースが永続的な記憶装置にあるか、揮発性の記憶装置にあるかで違いが発生しないようにしなければならない。
- セキュリティ透過性
- 暗号化されたセキュアなリソースへのアクセスの際、ユーザーには必要最小限の手続きでアクセスできるようにしなければならない。さもなくば、ユーザーは手間を惜しんでセキュリティを出し抜くだろう[1]。
- 規模透過性
- システムが容易にスケールできなければならない。(スケーラビリティも参照)
実際に、これらの透過性をどの程度実現しているかは様々である。必ずしもあらゆる透過性を常に実現しなければならないわけではない。実際、光速度の制限により、遠隔にあるリソースへのアクセスには時間がかかる。分散システムでリアルタイム性を求めるなら、この点は注意しなければならない。