ITパスポート単語帳 - システム構成要素

集中処理 【集中型システム】

コンピュータシステムの処理方式の一つで、データの処理を一台のコンピュータ(あるいは一か所の施設)で集中的に行う方式。

データの入出力などを行なう端末やコンピュータが様々な箇所に複数(規模によっては多数)配置されるが、そこではデータの処理は行わず、中央のコンピュータ(施設)にデータを運搬あるいは送信し、集中的に処理を実行する。

管理が容易でコスト効率が高く、セキュリティを確保しやすいが、システム全体の性能や容量が中央コンピュータのそれに制約されるほか、中央コンピュータに障害などが発生すると全体が停止するリスクがある。

一方、端末などに処理能力を持たせたり、複数の大型コンピュータや施設を設置するなどして、複数のコンピュータや施設で分散して並列に処理を行う方式を「分散処理」(decentralized processing)という。

分散処理 【分散システム】

コンピュータが行う処理や取り扱うデータなどを分割し、複数のコンピュータシステムに割り振ってそれぞれが独立に実行すること。HPCクラスタやグリッドコンピューティングなどの方式が含まれる。

複数の実行主体で矛盾なく処理を分担できるよう特別に設計されたソフトウェアを用い、処理やデータを細かい単位で複数のシステムに割り当てて同時並行に進める。単体では平凡な性能のコンピュータでも、多数を連携させて分散することにより全体としては巨大な演算性能を得ることができる。

一か所の施設などに同じ機種やOSで稼働するコンピュータを集め、ネットワークで接続して連携させたものを「クラスタシステム」あるいは「コンピュータクラスタ」と呼び(性能目的の場合は特にHPCクラスタと呼ばれる)、インターネットなどを通じて広域的に、あるいは様々な機種のコンピュータを束ねて処理を依頼する方式を「グリッドコンピューティング」(grid computing)という。

一方、一台のコンピュータに複数のマイクロプロセッサ(CPU/MPU)を搭載(あるいは一つのプロセッサに複数のプロセッサコアを内蔵)し、複数のプログラムやデータを同時に処理することは「マルチプロセッシング」(multiprocessing)あるいは「並列処理」(parallel processing/並列コンピューティング/parallel computing)という。

個々の処理やデータの関連性や相互依存性が強く、ノード間のデータ送受信や全体の調整・統合処理が頻繁に必要となる科学技術シミュレーションなどは並列処理が向いており、相互の関連性が低くノード間の緊密な連携が不要な暗号解読などの処理には分散処理が向いている。

並列処理 【パラレルプロセッシング】

出題:平28秋

コンピュータに複数の処理装置を内蔵し、複数の命令の流れを同時に実行すること。互いに独立した複数のプログラムを同時に実行でき、全体として性能向上が可能だが、前後関係や依存関係にあるプログラムは並列化できない。

一台のコンピュータに複数のCPU(マイクロプロセッサ/MPU)を搭載して並列に処理を行う方式を「マルチプロセッサ」(マルチプロセッシング)、一つのCPUの内部に複数の演算・制御回路(プロセッサコア)を設け、それぞれが独立に処理を実行する方式を「マルチコアプロセッサ」という。

また、個々の命令のほとんどは実行に際し限られた回路しか使用しないという性質を利用して、空いている回路で実行できる別の命令を同時に投入する同時マルチスレッディング(SMT: Simultaneous Multithreading)も、不完全ながら広義には並列処理の一種と考えることもできる。

複数の命令の流れを同時刻に独立に進めることができるため、単一の処理装置を用いる場合に比べ、最大で装置の数を乗じた処理性能(プロセッサ4基なら4倍)を発揮できる可能性がある。ただし、すべてのソフトウェアや処理内容が完全な並列化に対応できるわけではないため、最大性能を完全に発揮できる場面は限られる。

並行処理 (concurrent processing)

コンピュータの単一の処理装置を複数の命令の流れで共有し、同時に実行状態に置くこと。ある瞬間に実行される命令の流れは一つだが、巨視的には同時に複数の命令の流れが実行されているように見える。

処理装置の処理時間を極めて短い時間ごとに分割し、実行する命令の流れを次々に切り替えることにより、複数の命令の流れを同時に実行することができる。

複数の異なるプログラムを並行して進めることをマルチプロセス(マルチタスク)、一つのプログラム内で複数の命令の流れを並行して進めることをマルチスレッドという。

使用する処理装置は一つであるため、並列処理とは異なり、命令の流れを増やしたからといって全体の処理性能が向上することはない。むしろ、命令の流れを切り替える処理(コンテキストスイッチ)の分だけ性能は劣化してしまう。

レプリケーション

出題:平29春

あるコンピュータやソフトウェアの管理するデータ集合の複製を別のコンピュータ上に作成し、通信ネットワークを介してリアルタイムに更新を反映させて常に内容を同期すること。システムの耐障害性や可用性を高めることができる。

複製元のデータが追加、更新、削除などされると、リアルタイムに複製先(レプリカ)に伝達され、同じ変更が加えられる。ネットワークやコンピュータへの負荷は高いが、複数のサーバなどの間で常に同様の記憶内容が維持される。最小の構成では現用系(マスター)と待機系(スレーブ)の2系統の同期が行われるが、複数の待機系へ同時に同期して信頼性を高める場合や、現用系が複数ありそれぞれに加えられた変更を互いに通知し合って同期する構成(マルチマスター)もある。

複製元と複製先のソフトウェア環境やサービス、機能は同等になるよう設定されており、複製元が障害などで停止すると複製先が即座に代用として利用できるようになる。複製元が復帰すると停止中に加えられた変更が自動的に反映される。この切り替えはデータの利用側からは分からないように行われるよう制御されることが多い。

レプリケーション機能はデータベース管理システム(DBMS)やクラスタリングソフトなどに搭載されており、DBMSの場合は管理下のデータベースが、クラスタの場合はストレージ全体(あるいは指定された重要な一部分)が複製の対象となる。

バックアップとの違い

バックアップもデータの複製を取るという意味では同じだが、通常は複製されるのはデータのみで複製先のシステムが複製元の代用として機能することはできず、リアルタイムに内容を同期するという運用も一般的ではない。

ただし、ある瞬間の状態を記録したスナップショットを作成したり、過去の様々な時点における複製を作成する世代管理によって特定の時点に遡れるようにするのはレプリケーションにはない機能であり、操作ミスや改竄などでデータが破損した場合に復旧するにはバックアップが必要となる(レプリケーションではデータの破壊も伝播してしまう)。

デュアルシステム ⭐⭐⭐

機器やシステムの信頼性を高める手法の一つで、同じシステムを二系統用意して、常に両者で同じ処理を行う方式。処理結果を相互に照合・比較することにより高い信頼性を得ることができる。

まったく同じ構成のシステムを二系統用意して接続し、どちらも稼働状態に置く。外部からの処理依頼は両方に送られ、同時に処理を行い、結果を互いに照合してチェックする。

一方がトラブルやメンテナンスで停止した場合はもう一方で処理を続行し、復帰したら再び両者で同時に処理を行う体制に戻す。二系統用意して普段は一系統のみで運用する方式は「デュプレックスシステム」(duplex system)という。

デュプレックスシステム ⭐⭐

機器やシステムの信頼性を高める手法の一つで、同じシステムを二系統用意して、普段は片方を稼働させ、もう片方は待機させておく方式。「アクティブ/スタンバイ構成」とも呼ばれる。

平常時に処理を行う系統を主系、本番系、アクティブ系などと呼び、主系がトラブルやメンテナンスで停止したときに肩代わりする系統を従系、待機系、予備系、スタンバイ系などという。

待機や切り替えの仕方により、ホットスタンバイ、ウォームスタンバイ、コールドスタンバイなどの種類がある。二系統用意してどちらも両方とも稼働させる方式は「デュアルシステム」(dual system)という。

クライアントサーバシステム 【CSS】 ⭐⭐

出題:令2秋,平25春

通信ネットワークを利用したコンピュータシステムの形態の一つで、機能や情報を提供する「サーバ」(server)と、利用者が操作する「クライアント」(client)をネットワークで結び、クライアントからの要求にサーバが応答する形で処理を進める方式。

サーバはシステムで利用されるデータを保存・管理したり、接続された周辺機器などのハードウェアを管理したり、何らかのデータ処理機能を有するコンピュータやその上で動作するソフトウェアで、これらの機能や情報などをネットワークを通じて外部に提供することができる。

クライアントはサーバから機能や情報の提供を受ける機器やソフトウェアで、利用者が手元で操作し、画面表示や入力の受付などを担当する。クライアントはネットワークを通じてサーバに様々な要求を送り、サーバがこれに応えて処理を行い、応答を返す。

狭義には、企業などの情報システムの実装形態の一つで、機能や情報を提供するサーバソフトウェアと、これに対応する専用のクライアントソフトウェアにより役割を分担して処理を進める方式のことをクライアントサーバシステムと呼ぶことがある。

この文脈では、クライアントとしてWebブラウザなど汎用の製品を用いる「Webアプリケーション」(Web系システム)などは区別・対比される。広義には(あるいは、原理的には)、Webもクライアント-サーバ型のモデルで実現されるシステムであるため注意が必要である。

他の方式との違い

1980年代頃から普及し始めたシステム形態で、それ以前はメインフレームなどの大型コンピュータ(ホスト)などに通信回線を通じて入出力端末(ターミナル)を接続し、ホストが集中的に処理を行う方式が一般的だった。

クライアントサーバシステムと比べると、ホストとサーバ、ターミナルとクライアントの役割はそれぞれ似ているが、ターミナルにコンピュータとしての機能がなく表示や操作に単純な方式しか利用できない一方、クライアントは独立した一台のコンピュータやデジタル機器であり、サーバから受信したデータを用いて複雑な処理や表示、操作などを利用者に提供することができる。

ちなみに、サーバとクライアントのように非対称に役割を分担するのではなく、対等な機能や立場のコンピュータやソフトウェアがネットワークを通じて相互に要求や応答を送り合って一つの機能を実現する形態もあり、「ピアツーピアシステム」(Peer to Peer system、P2Pシステム)などと呼ばれる。

仮想化 【バーチャライゼーション】

出題:平30春

コンピュータを構成する様々な資源(CPU、メモリ、ストレージ、OSなど)を、物理的な構成とは独立に論理的な単位に編成し直すこと。複数の資源を統合して一つに見せかけたり、一つの資源を分割して複数に見せかけたりすることができる。

例えば、一つのCPUをハードウェア的な仮想化技術によって論理的に二つに分割することで、そのコンピュータ上で動作するOSやアプリケーションソフト、コンピュータを操作する利用者からは、あたかも二つのCPUが並列に動作しているように見える。また、複数台のストレージ装置をまとめて論理的に統合することで、利用者側からは大容量の大きな装置が一台存在するように扱うことができる。

CPU仮想化、ストレージ仮想化など、仮想化の対象によって様々な「○○仮想化」が存在するが、何らかの特定の資源についての仮想化を「リソース仮想化」、コンピュータ全体の仮想化(一台を複数台に見せかける)を「プラットフォーム仮想化」(サーバコンピュータの場合は「サーバ仮想化」)という。

単に仮想化といった場合はプラットフォーム仮想化を指すことが多い。「ハイパーバイザ型仮想化」「コンテナ型仮想化」「ホスト型仮想化」などいくつかの実装方式があり、性能や動作するOSの種類などに違いがある。近年ではシステム基盤としてクラウドサービスとコンテナ型仮想化を組み合わせる方式が広く普及している。

ホスト型仮想化

出題:平30春

コンピュータを仮想化する技術の一つで、OS上のアプリケーションソフトとして仮想マシン(VM)を動作させ、その中で別のOSを起動する方式。

仮想マシンはOS上で動作するソフトウェアで、コンピュータの物理環境をエミュレーション(再現)して、内部でOSを動作させることができる。基盤になるOSを「ホストOS」(host OS)、その上で動作するOSを「ゲストOS」(guest OS)という。

ホストOSが動作する環境であれば利用でき制約が少ないが、ハードウェアの機能をソフトウェア的に再現するためオーバーヘッド(性能劣化)が大きく、高速な動作は期待しにくい。パソコン上のOSから別のOSを利用するソフトウェアなどでよく用いられる方式である。

ハイパーバイザ型仮想化

出題:平30春

コンピュータを仮想化する技術の一つで、ハードウェア上で直に動作する仮想化ソフトにより複数の仮想マシン(VM)を動作させる方式。各VM上で独立にOSを起動することができる。

ハイパーバイザ(hypervisor)はOSのような汎用のソフトウェア実行環境は提供せず、コンピュータのハードウェア資源を管理して仮想的な物理環境を創出することに専念する。OSからはハイパーバイザの作り出したVMが物理的なコンピュータのように見え、コンピュータにOSを直に導入・実行するのと同じように利用することができる。

ハイパーバイザー型仮想化は複数の異なるOSに対応している場合が多く、対象の物理環境(CPUの種類など)に導入可能なOSであれば利用できるようになっていることが多い。一台の物理コンピュータ上で異なる種類のOSを並列に稼働させることができる。

利用者はOS自体の管理に加え、ハイパーバイザを導入・運用しなければならないが、完全な仮想化環境を得られ、ホスト型仮想化に比べ性能劣化も小さいため、業務用の大規模な情報システムにおけるサーバの仮想化などでよく用いられる。

準仮想化 (paravirtualization)

ハイパーバイザー型仮想化のうち、物理的なコンピュータによく似た構成の仮想的なコンピュータを用意し、その環境に最適化されたソフトウェアを動作させる方式を「準仮想化」という。

仮想マシンはコンピュータのハードウェアを完全に再現(エミュレーション)することはせず、その上で動作するOS(ゲストOS)側の機能の一部をそのまま使用する。構造が単純で仮想化環境上のソフトウェアが高速に動作する利点があるが、ゲストOS側にその仮想化環境に対応した追加や修正を行う必要がある。

完全仮想化 (full virtualization)

ハイパーバイザー型仮想化のうち、仮想化環境によって物理的なコンピュータの構成を完全に再現し、ハードウェアで直接動作させるのとまったく同じようにソフトウェアを動作させる方式を「完全仮想化」という。

一台の物理的なコンピュータとまったく同じように振る舞う仮想的なコンピュータを構築し、その上でOSやアプリケーションソフトなどを実行する。OSなどのソフトウェアからは通常のコンピュータと同じに見えるため、特別な修正や設定などを行う必要はないが、ハードウェアの機能の一部をソフトウェアによって代替しているため、構造が複雑で物理環境より性能が大きく劣化する。

コンテナ型仮想化

出題:平30春

コンピュータを仮想化する技術の一つで、元になるOSの一部を分離して、他と隔離された専用のエリアを用意し、その上でソフトウェアを動作させる方式。各区画が独立した単体のOSのように振る舞う。

他の仮想化方式のように物理的なコンピュータのように振る舞う仮想マシン(VM)の構築は行わず、元のOS環境上に隔離されたエリアを作り、仮想的に新たなOS実行環境を作り出す。隔離された領域を「コンテナ」(container)という。

コンテナの内部で動作するソフトウェアはコンテナ外へ影響を及ぼすことはなく、管理用システムを除いてコンテナ外から干渉されることもない。元になるOSと別のOSを使用することはできないという制約はあるが、物理環境のエミュレーション(再現)に伴う性能劣化を避けることができ、コンピュータ自体で動作するのと遜色ない性能を得られる。

コンテナによる環境設定

コンテナ上で展開するOSやアプリケーションなどのプログラム、設定ファイルなどを一つのファイルとして記録することができるため、設定済みのシステム環境をファイル化し、コンテナ管理システムに渡すだけで即座にアプリケーション実行環境を展開することができる。

従来のシステム設定ではコンピュータへのOSの導入や設定、アプリケーションの導入や設定などを行わなければならず、ある程度自動化できるとは言え手間や時間が必要だった。コンテナによる展開は即座に行うことができるため、大規模なシステムの管理などではコンテナ型仮想化が好まれる。

VM 【Virtual Machine】

コンピュータやCPU(マイクロプロセッサ)の機能を模倣し、まったく同じように振る舞うソフトウェア。また、そのようなソフトウェアによってコンピュータ内に構築された仮想的なコンピュータ。

仮想化技術におけるVM

仮想化技術におけるVMはコンピュータ全体の動作を模したソフトウェアで、その上でオペレーティングシステム(OS)を起動して制御することができる。OSやその上で動作するソフトウェアからはある特定の仕様を持つ物理的なコンピュータであるかのように見える。

VM上でソフトウェア環境を構築することにより、一台の物理的なコンピュータをあたかも複数台あるかのように分割し、それぞれを別の利用者が互いに影響を与えず独立に操作したり、それぞれ別のOSを動作させたりすることができる。また、ある機種向けのOSやソフトウェアを、その機種を模したVMを用意することで別の機種上で動作させることができる。

ただし、VMを動作させることによる処理能力の消費が大きく、物理的なコンピュータをそのまま使う場合よりも性能が大きく制約される。また、導入や運用には高度な知識や技能が必要なシステムが多く、構造が複雑なためトラブルが発生した場合に対処するのが難しい。

コンピュータのハードウェア資源を管理し、VMを実行するソフトウェアを「ハイパーバイザー」(hypervisor)という。通常はハードウェア上でOSが実行されるが、仮想化環境ではハードウェア上でハイパーバイザーが動作し、ハイパーバイザーが用意した個々のVM上でOSが実行される。

ソフトウェアの実行環境としてのVM

ソフトウェアの実行環境としてのVMは、ある仕様を持つCPUのように振る舞うソフトウェアで、そのプロセッサ向けのプログラムコードを読み込んで実行することができる。

VMに実装されているのは実際には存在しない架空のプロセッサの機械語(マシン語)の命令セットで、その架空の機械語で記述されたプログラムを読み込んで、自らが動作しているコンピュータのCPUが解釈できる実際の機械語プログラム(ネイティブコード)に変換して実行する。

この架空のプロセッサ向けのプログラムを「中間コード」という。命令語が1バイトで構成されるものを特に「バイトコード」と呼ぶ。プログラミング言語で記述されたソースコードは開発者側でコンパイラなどによって一旦中間コードのプログラムに変換されて利用者へ提供され、利用者側のVMで動的に実行可能コードに変換される。

このように中間コードとVMを介在させることにより、開発者側はプログラミング言語から中間コードへのコンパイラが提供されていれば、利用者の機種やOSごとに配布プログラムを用意する必要がなくなる。利用者側はその中間コードのVMが利用できれば、ソフトウェアが自分の機種やOS向けに個別に対応していなくても使用できるようになる。

この仕組みを利用する著名な例として、Java言語の実行環境である「Java仮想マシン」(Java VM)や、.NET共通仕様を満たす様々なプログラミング言語で対応プログラムを開発できる「.NET Framework」「.NET Core」などがある。

VDI 【Virtual Desktop Infrastructure】

企業などで、デスクトップ環境を仮想化してサーバ上に集約したもの。利用者はクライアント機からネットワークを通じてサーバ上の仮想マシンに接続し、デスクトップ画面を呼び出して操作する。

VDIではサーバコンピュータ上に社員数などに見合った多数の仮想マシンを用意し、それぞれにデスクトップOSと必要なアプリケーションソフトをインストールする。社員などがコンピュータを使うときは、個々人に配布されたパソコンや専用のシンクライアント端末などからネットワークを通じてサーバに接続し、自分のデスクトップ画面を呼び出して利用する。

従来のような各個人のパソコン自体にOSやソフトが入っている方式に比べ、サーバで集中管理することによりソフトウェアの追加や更新、修正などのメンテナンスが容易となる。物理的なコンピュータの実体とデスクトップ環境が切り離され、どのコンピュータからでも自分用の画面・環境を呼び出して使えるため、異動や出張、在宅勤務、フリーアドレス制などに柔軟に対応できる。

また、手元のコンピュータにデータやプログラムなどを保管しないため、USBストレージなどを通じたウイルス感染や情報漏えいを防ぎやすい。利用者の手元のマシンはキーボードやマウスの入力を受け付けてサーバに送信し、画面イメージを受信してディスプレイ装置に映すだけでよいため、パソコンより単純で安価な専用端末を導入できる場合もある。

SBC (Server-Based Computing:サーバベースコンピューティング)

企業の情報システムなどで、アプリケーションソフトをサーバコンピュータ上で実行し、利用者が使っているパソコンなどに画面を転送して利用する方式をSBCという。

これまでの一般的な情報システムでは、利用者に配布されたパソコンなどに個別にアプリケーションソフトが導入され、手元のパソコンでソフトを起動してデータを作成・保管していた。SBCではアプリケーションソフトやデータはすべてサーバで集中管理され、手元のパソコン(クライアントPC)はキーボードやマウスから操作・入力を受け付けてネットワークを通じてサーバに送り、サーバから画面情報を受け取ってディスプレイに表示するだけとなる。

ソフトウェアとデータはサーバ上で集中管理されるため、ソフトウェアの更新や、社員の配置転換・オフィスのレイアウト変更への対応、データの持ち出し・漏洩の防止、利用者間のデータの共有などは容易になるが、高性能なサーバコンピュータが必要であり、また、動画やグラフィックスを多用するようなソフトウェアには向かない。

Webシステム 【ウェブシステム】

情報システムのWeb技術を用いて実装したもの。WebサーバやWebブラウザ、HTTP、HTML、JavaScriptなどのWeb技術を組み合わせてシステムを構成する。

クライアントサーバ方式の一種で、Webサーバがデータの保存や処理を行い、利用者がWebクライアント(通常はWebブラウザ)でサーバにアクセスし、データの閲覧や操作を行う。データはサーバ側で管理され、ブラウザさえあればどこからでも利用できる。

サーバとクライアントの間の通信方式(プロトコル)にはHTTPやHTTPSを、操作画面の構成にはHTMLやCSS、JavaScriptなどを用いる。インターネット上で標準的に用いられているWeb関連技術や開発ツールなどをそのまま流用することができ、ゼロからこれらの技術仕様や実装を設計・開発しなくて良いという利点がある。

また、WebサーバやWebブラウザをはじめ、WebアプリケーションフレームワークやJavaScriptライブラリなど多くのオープンソースソフトウェアや無償配布のソフトウェアを活用することができ、コスト低減や開発期間の短縮が期待できる。

特に、Webブラウザはほとんどの企業や家庭で導入されて日常的に利用されており、専用のクライアントソフトを端末に導入したり操作法に習熟する必要がないため、一般消費者向けのネットサービスなどで特に強い優位性となる。

ただし、Web技術はもともと静的な文書をページ単位で記述・伝送・閲覧することを想定したシステムとして始まったため、ネイティブアプリケーションのように端末の機能をフルに活用できるわけではなく、用途によっては専用システムを開発する場合に比べて機能や性能に大きな制約が生じることがある。

P2P 【Peer to Peer】

ネットワーク上で機器間が接続・通信する方式の一つで、機能に違いのない端末同士が対等な関係で直に接続し、互いの持つデータや機能を利用しあう方式。また、そのような方式を用いるシステムやソフトウェアなどのこと。

一般的なネットワークシステムでは、データや機能の提供側と利用側に役割が分割されたクライアントサーバ方式がよく用いられる。利用者が操作するクライアントからの要求に基づいてサーバがデータや機能を提供する形態で、実装や運用が容易なため広く普及している。

ピアツーピア方式はこれと対比され、クライアントやサーバといった役割の違いがなく、同等の機能が実装されたソフトウェア同士が接続を結び、互いにデータや機能を提供し合う。三台以上の端末が互いに通信する場合、これをP2Pネットワークという。

通信や処理が特定のサーバに集中するクライアントサーバ方式に比べ、拡張性(スケーラビリティ)や耐障害性が高く、低コストで運用できる。また、用途や実装方式によっては通信の匿名性を高める効果が期待できる場合もある。

ただし、一元的なデータや状態の記録や管理が必要な用途には向かず、性能の安定性や処理の確実性、データの真正性なども期待しにくい。適用可能な用途であってもシステムの実装は困難で、システム全体の制御や動作確認、セキュリティの確保なども容易ではない。

ピュアP2PとハイブリッドP2P

すべての端末の機能や役割が完全に同一な、本来の意味でのピアツーピアシステムのことを特に「ピュアP2P」(pure P2P)ということがある。同じソフトウェアを導入したコンピュータが複数集まれば利用できるため運用しやすいが、すべての情報が各端末に分散しているため通信効率は低い。

一方、一部の端末にデータの所在や端末の接続状態などの情報を集め、データや端末を効率的に探索・接続できるようにした方式を「ハイブリッドP2P」(hybrid P2P)という。ある種のサーバに情報を集中して通信効率を高めた方式で、運用のためには性能や回線容量の大きなサーバ用の端末を誰かが常に用意しなければならない。

歴史

2000年代初頭に、不特定多数の利用者がインターネット上でパソコン上のファイルを共有・交換できるピアツーピア方式のソフトウェアが多数登場し、ピアツーピアという用語及び概念が浸透した。そうしたファイル共有ソフトを指して「ピアツーピアソフト」と呼ぶこともあった。

電話のようにメッセージを交換する通信方式としても用いられ、一部のIP電話システムやメッセンジャーなどは利用者間の接続の仲介(呼び出し)を中央サーバが行い、メッセージの交換自体はピアツーピア方式で行うハイブリッドP2Pとして実装されている。

音声や動画などの大容量のデータを多数の利用者に効率よく配信する通信方式としても期待され、端末間でバケツリレー式にデータを運んでいく放送型の動画・音声配信サービスなども登場した。

2010年代になると、台帳などの記録情報を不特定多数の端末間で改ざん不可能な状態で交換・共有するブロックチェーン技術が発明され、仮想通貨(暗号通貨)の技術的な基盤としてピアツーピア方式が再び注目を集めるようになった。

クラスタ

(果物や花の)房、塊、群れ、集団などの意味を持つ英単語。同種のものがたくさん密集している様子を表す。

SNSのクラスタ

SNSなどのネットサービスやソーシャルメディアで、似たような属性(所属や趣味、政治信条など)や共通点を持った利用者同士が相互に繋がって形成された集団をクラスタということがある。

グループ機能のようなサービス上の機能などで明確に組織化されたものというよりも、友達関係や購読関係を通じて緩やかに連帯する一群の利用者という意味合いで用いられることが多い。

コンピュータクラスタ

企業の情報システムなどで、複数のコンピュータを連結・連携し、利用者や他のコンピュータに対して全体で一台のコンピュータであるかのように振舞うシステムを「コンピュータクラスタ」「クラスタシステム」と呼び、単にクラスタと略すことがある。そのようにコンピュータを束ねることを「クラスタリング」(clustering/クラスタ化)という。

クラスタ化されたコンピュータ群はまとめて一台のコンピュータを扱うように管理・運用することができ、いずれかが障害などで停止してもシステム全体が止まることはなく、処理を続行したまま修理や交換が行える。

ストレージのクラスタ

記憶装置の分野で、ハードディスクなどの円盤(ディスク)状の記録媒体をオペレーティングシステム(OS)が管理する際の最小の単位をクラスタということがある。

ディスク状の記憶媒体は、木の年輪のように同心円状の「トラック」に分割され、これをさらに放射状に等分した「セクタ」に分割される。

OSが媒体を管理する場合は、セクタ単位では小さすぎる(管理に必要な容量が多すぎる)ため、複数のセクタをまとめたクラスタ単位で管理することが多い。1クラスタを何セクタとするかは媒体やOSの種類によって様々である。

シンクライアント 【シンクラ】 ⭐⭐

企業や官庁などの情報システムで、利用者が操作するコンピュータ(クライアント)に最低限の機能しか持たせず、サーバコンピュータが集中的にソフトウェアやデータなどの資源を管理する方式。また、そのような機能を絞った低価格のクライアント専用機器。

オフィスにパソコンが普及し業務に使われるようになったが、一般的なパソコン製品は一台ごとに独立にアプリケーションソフトやストレージを持つため、ソフトウェアの導入や更新、ファイルなどのデータの共有や管理などが煩雑で、従業員の数だけフル機能の(高価な)コンピュータを用意しなければならないという難点があった。

そこで、ソフトウェアやデータの管理は構内ネットワーク(LAN)上のサーバで集中的に行い、各従業員にはサーバに接続して操作するための最低限の機能のみを持った低価格の専用端末を配備するという手法が提唱された。このような手法や、そのために用いられる単体では機能しない操作用コンピュータをシンクライアントと呼ぶ。

シンクライアント端末は画面やキーボード、マウスなどの入出力装置・機能と、イーサネット(Ethernet)やWi-Fiなどのネットワーク・通信機能、シンプルなオペレーティングシステム(OS)などで構成される。アプリケーションの追加やシステム構成の変更はできないようになっていることが多い。

起動すると利用者の識別や認証を行い、リモートデスクトップ(仮想デスクトップ)などを用いてサーバ上に展開されたその利用者用の操作画面を呼び出してサーバ内のソフトウェアやデータを使用することができる。パソコンのように単体で起動してもできることはほとんど(あるいはまったく)ない。

一般的なシンクライアント製品はCPUや小容量のローカルストレージ、その中に記録された機能制限版のパソコン向けOSなどを備え、低価格パソコンのような構成となっていることが多いが、情報の処理・保存機能を一切持たず、表示・操作・通信の機能のみを持ったものものあり、「ゼロクライアント」(zero client)と呼ばれる。

NAS 【Network-Attached Storage】 ⭐⭐

ネットワークに直接接続し、コンピュータなどからネットワークを通じてアクセスできる外部記憶装置(ストレージ)。企業や家庭内のLANで共有ファイルなどの保存に利用されたり、デジタルビデオレコーダー(HDDレコーダーやBlu-rayレコーダー)が動画の保存先として利用したりする。

簡易なコンピュータ本体にハードディスクやSSDなどの記憶装置と、ネットワークインターフェース、OS、管理用ソフトウェアなどを内蔵したファイルサーバ専用機で、記憶装置をネットワークに直に接続したように扱うことができることからこのように呼ばれる。

ネットワークに接続されたほかのコンピュータなどからは通常のファイルサーバと同様に複数のコンピュータ・利用者間の共有ディスクとして使用することができる。ファイルシステムやネットワーク通信機能は最初から内蔵されているため、システムへの導入や追加が容易で、異なる種類の複数のサーバからのデータの共有も楽に行うことができる。高級機になると、複数のディスクを備え、RAID機能やホットスワップ機能を持ったものもある。

DAS (Direct-Attached Storage)

コンピュータに直接接続された記憶装置(ストレージ)のことをDAS(Direct-Attached Storage)ということがある。コンピュータの筐体に内蔵、あるいはケーブルにより外付けされている、ハードディスクやSSD、光学ドライブ、テープドライブなどが該当する。

ストレージを何らかのネットワークを介してコンピュータに接続するNAS(Network-Attached Storage)やSAN(Storage Area Network)と対比して、もとからある旧来のストレージ形態を区別するために後から考案されたレトロニム(retronym)である。

RAID 【Redundant Arrays of Inexpensive Disks】

出題:平21秋

複数のストレージ装置を専用のシステムで管理し、あたかも一台の装置であるかのように統合的に運用する仕組み。データの記録や読み出しは専用のシステムによって自動的に行われ、ソフトウェアや利用者からは一台のストレージ装置のように扱うことができる。

データを複数台に分散して記録することにより、高速化や耐障害性の向上が図られる。コントローラカードなど専用のハードウェアで管理する「ハードウェアRAID」が一般的だが、コンピュータ上で実行されるソフトウェアで実現する「ソフトウェアRAID」もある。

種類

データの記録方法により「RAID 0」から「RAID 6」まで7種類が定義されている。それぞれ高速性や耐障害性が異なり、末尾の数字が大きいほど新しいとか優れているというわけではない。一般によく用いられるのは「RAID 0」「RAID 1」「RAID 5」およびこれらの組み合わせで、RAID 2~4はあまり用いられない。

「RAID 0」は「ストライピング」とも呼ばれ、データを均等に振り分けて分散記録する方式である。アクセス速度は向上するが、いずれか一台が壊れるとデータの読み出しができなくなるため、耐障害性は一台の場合よりも低下する。現在では単独で用いることはあまりない。

「RAID 1」は「ミラーリング」とも呼ばれ、データを複数台に同時に記録する方式である。いずれか一台が壊れても複製が残るためデータが失われることはなく、耐障害性が向上するが、複製を増やせばその分だけ記憶容量の利用効率は低下する。

「RAID 5」は「分散パリティ」とも呼ばれ、データから「パリティ」という誤り訂正符号を生成してデータと共に分散記録する方式である。パリティは一台分の容量で済むため、台数を増やせば単純に複製を取るより記憶容量の利用効率を向上させることができる。

信頼性を高めるRAID 1やRAID 5と、アクセス速度を高めるRAID 0を組み合わせる手法もある。RAID 0とRAID 1の組み合わせには、どちらを先に行うかによって「RAID 01」(RAID 0+1)と「RAID 10」(RAID 1+0)があり、RAID 5とRAID 0の組み合わせには「RAID 50」(RAID 5+0)がある。

歴史

RAIDの概念は1987年にカリフォルニア大学バークリー校(UCB)のデービッド・パターソン(David A.Patterson)氏、ガース・ギブソン(Garth Gibson)氏、ランディ・カッツ(Randy Katz)氏の3人によって提唱された。1990年代に企業向けのストレージシステムなどに導入され、2000年代以降は個人向けの小型のシステムでもRAID構成が可能な機種が登場している。

マイグレーション 【マイグレ】

移行、移転、移住、移動、乗換などの意味を持つ英単語。ITの分野では、ソフトウェアやシステム、データなどを別の環境に移転したり、新しい環境に切り替えたりすることを意味することが多い。

情報システムのマイグレーション

既存のコンピュータシステムを構成する機器やオペレーティングシステム(OS)、アプリケーションソフトなど(のいずれかあるいはすべて)を、新しく用意した別の製品に入れ替えることをマイグレーションという。

ソフトウェアの部分的な修正や一部の装置の交換のような部分的な差し替えではなく、システムを全面的に刷新して新しい環境に置き換えることを指す。既存システムのどの部分を残すか(機種は同じ、OSは同じ、既存ソースコードを流用等)によって様々な手法が用いられる。

特に、旧式あるいは時代遅れ、サポート切れといった古いシステムから、現代的な新式の環境で新たにシステムを作り直して移転することを「レガシーマイグレーション」(legacy migration)という。

同じソフトウェアの旧版から新版に入れ替えることを一般的には「アップグレード」(upgrade)というが、新しい環境への移行という意味でこれをマイグレーションに含める場合もある。

データマイグレーション

異なる装置やソフトウェア、データ形式などの間でデータを移動することを「データマイグレーション」(data migration)という。

データの内容自体はそのままで、古い記憶媒体や装置から新しいものに移し替える場合と、異なるソフトウェアやデータ形式で扱えるよう変換して移転する場合がある。

仮想マシンのマイグレーション

コンピュータの仮想化で、物理コンピュータ上にソフトウェア的に構築された仮想マシン(VM:Virtual Machine)を別の物理コンピュータに移動することをマイグレーションという。

仮想マシンはオペレーティングシステム(OS)やアプリケーションソフトなどから見れば物理コンピュータと同じように振る舞うが、自身は物理コンピュータのメインメモリ上に展開されたソフトウェアであるため、ある瞬間の実行状態をデータとして別のコンピュータに伝送することで複製・移転することができる。

仮想マシン上で稼働しているソフトウェアを一時停止して移転後に再開する方式を「クイックマイグレーション」あるいは「コールドマイグレーション」、実行状態のまま一瞬で移転することを「ライブマイグレーション」あるいは「ホットマイグレーション」という。

ライブマイグレーション 【ホットマイグレーション】

出題:令1秋

あるコンピュータ上で動作している仮想マシン(VM)を、その上で稼働中のソフトウェアを実行状態に置いたまま丸ごと別のコンピュータに移動すること。ソフトウェアを停止せずにハードウェアのメンテナンスや入れ替え、構成の変更などに柔軟に対応することができる。

ライブマイグレーションを行なうと、ある物理コンピュータ上で動作している仮想マシン上のメモリイメージが丸ごと別のコンピュータ上の仮想マシンに移し替えられ、稼働中のOSやアプリケーションソフト、ネットワーク接続などを一切停止・切断させることなく新しいコンピュータ上で動作を継続することができる。

厳密には切り替えの瞬間に最短でミリ秒単位の瞬断が生じるが、外部とのコネクションのセッションなどは維持され、利用者や外部の別のシステムにとって移動に伴うサービスの中断が生じることはない。

ライブマイグレーションを行うには仮想マシンを構築・制御している仮想マシンモニタ(ハイパーバイザ)が対応している必要がある。また、一瞬で移動を行うには移転先を同一LAN内など近接した範囲に限定したり、ストレージを移転元と共有する必要があるなど一定の制約が生じる(長時間かけて遠隔地やストレージごと移動できるシステムも存在する)。

一方、稼働中のシステムを一旦停止して別の仮想マシンへ移動する方式は「クイックマイグレーション」(quick migration)あるいは「コールドマイグレーション」(cold migration)と呼ばれる。

インタラクティブ 【対話型】

相互に作用する、対話的な、双方向の、相乗効果の、などの意味を持つ英単語。ITの分野では、情報の送り手と受け手の関係が固定的ではなく、その場で互いにやり取りできる状態を指す。

情報システムやソフトウェアでは、利用者の操作や入力に対してシステムが即座に反応を返し、相互にやり取りをする中で処理を進めていくような操作方式を対話型処理であるという。

メディアコンテンツでは、内容を利用者に一方的に与えるのではなく、利用者の働きかけにより刻々と内容が変化することを対話型処理であるという。

特に、(ビデオゲームのようにもともと対話型処理なものではなく)映像作品のように元来は内容が固定的で一方通行に提供されるものに対話的に変化する要素を取り込んだ場合に対話型処理という語が用いられることが多い。

リアルタイム処理 【実時間処理】

出題:平24秋

データの処理要求が発生したときに、即座に処理を実行して結果を返す方式。コンピュータが利用者の指示や状況の変化に呼応してすぐに処理を実行する。

「即時」の意味合いはシステムの種類によって微妙に異なっており、業務システムなどではバッチ処理と対比して処理要求を受けたら即座にシステムに投入する(開始が実時間の)方式をリアルタイム処理というが、組み込みシステムなどでは処理ごとに設定された制限時間を超過しないよう制御する(終了が実時間の)方式をリアルタイム処理と呼ぶ。

業務システムなどのリアルタイム処理

企業の情報システムなどのデータ処理の方式の一つで、利用者の操作や外部からの処理要求などが届くと間を置かず即座に処理を実行する方式をリアルタイム処理という。

一定期間や一定量ごとにデータをまとめて一括して処理するバッチ処理と対比される方式で、システムの負荷の調整は難しいが利用者にとっては要求が即座に反映されるため利便性が高い。利用者の操作に基づいて行う場合を特に「インタラクティブ処理」(対話処理)という。

組み込みシステムなどのリアルタイム処理

機械の制御などを行うコンピュータシステムでは、処理を現実の世界に反映させるための終了期限が決まっている場合がある。例えば、自動車のブレーキアシストシステムが一回の障害物検知処理に何分もかけていたら、ブレーキ操作を行う前に障害物に激突してしまう。

このような場合に、反応を返すまでの遅延時間に許容範囲を設定して、それを超えないように命令の実行順序などを工夫する処理方式をリアルタイム処理という。一般的な汎用コンピュータ向けのオペレーティングシステム(OS)ではそのような処理は難しいため、専用に設計された「リアルタイムOS」(RTOS:real-time OS)が用いられる。

このうち、自動車のエアバッグ制御システムのように期限(デッドライン)までに処理が終了しないとシステム自体に致命的な問題が生じるものを「ハードリアルタイムシステム」(hard real-time system/immediate real-time system)という。

一方、座席予約システムのように遅延に応じて結果の価値が漸減するが致命的な結果は招かないものを「ソフトリアルタイムシステム」(soft real-time system)という。両者の中間で、期限を過ぎると処理の価値はゼロになるがシステム自体は致命的な影響を受けないものを「ファームリアルタイムシステム」(firm real-time system)と分類することもある。

バッチ処理 【一括処理】

出題:平30秋

複数のプログラムからなる作業において、あらかじめ一連の手順を登録しておき、まとめて連続的に実行する方式。または、一定期間や一定量ごとにデータをまとめて一括して処理する方式。

利用者は起動するプログラムやパラメータ、使用するデータファイルなどを指定したバッチジョブを作成し、システムのジョブスケジューラに起動日時や起動間隔などを登録する。システムは指定された日時や間隔に従ってジョブを起動し、指定されたプログラムを順番に実行する。

企業における受発注データの集計処理など、一定期間のデータを集めて処理する必要がある場合によく利用される。金融機関などでは利用者のいない夜間にコンピュータシステムでバッチ処理を行い、まとめて入出金・送金処理などを執行する場合もある。

“batch” は一束、一回分、ひとまとまりといった意味で、コンピュータが開発された初期の1950~60年代に、処理するプログラムやデータを記録した紙製の用具(パンチカードなど)をまとめてオペレータに渡し、集中的に処理したことが由来とされる。

一方、利用者が端末を操作して起動するプログラムを逐次入力していく処理方式をインタラクティブ処理(対話処理)あるいはリアルタイム処理(実時間処理)という。

リモートバッチ処理 (遠隔バッチ処理)

バッチ処理のうち、支店などで入力したデータを通信回線などを通じて遠隔地のホストコンピュータに送り、定期的にまとめて処理する方式をリモートバッチあるいは遠隔バッチなどという。

一定期間ごとにまとめてデータを処理するバッチ処理の方式の一つで、業務を遂行する現場にある端末やコンピュータから、本社や計算センターなどに設置したホストコンピュータにデータを送信し、バッチ処理を実施、送信元に処理結果を送り返す。

レスポンスタイム 【応答時間】

システムや装置などに要求や入力が与えてから、反応を送り返すまでにかかるの時間のこと。また、その平均。この時間が短いほど、利用者や他のシステムなど外部にとっての「待ち時間」が少ないことを意味する。

コンピュータや情報システムなどの場合には、要求や入力が終了した時点から、応答や出力が開始される時点までの時間のことをレスポンスタイムと呼んでいる。

通信回線やネットワークを介してデータを送受信するようなシステムの場合は、相手方が送信を終えてから受信が始まるまでの時間を指し、信号が伝送路を往復する時間が含まれる。

ディスプレイの応答時間

画面表示装置(ディスプレイ)などの場合、画素の色を変更するのにかかる時間のことをレスポンスタイムと呼ぶ。この時間が短いほど高速に画面を切り替えることができ、動きの激しい映像などを精細に表示することができる。

単にレスポンスタイムといった場合は黒(消灯)から白(全点灯)に切り替えて再び黒に戻す動作にかかる時間を指すことが多いが、近年では実際の使用時に頻度の高い「中間色から別の中間色に切り替える速度」を表す「GTG」(Gray To Gray/G to G/中間階調応答速度)という指標もよく用いられる。

ベンチマーク 【ベンチマークテスト】 ⭐⭐

性能や成績などの評価手法の一つで、同種の他の対象と同じ条件で測定値を求め、相対的な比較を行う方式。また、その際に比較に用いる対象や指標のこと。

ITの分野では、ICチップやコンピュータシステムなどの性能比較でよく用いられる手法だが、IT以外の分野でも、金融商品や企業業績、工業製品などで標準的な比較手法の一つとしてよく知られる。

機器やシステムの性能を比較する場合、テスト用に開発されたコンピュータプログラム(ベンチマークソフト)を実際に実行してみて、実行時間を計測してそれぞれの被検体の性能とする。ソフトウェアの比較の場合には、同じ機材を用いてテスト用に用意されたデータや入力を処理させてみて、実行時間を計測する。

半導体チップやコンピュータ、ソフトウェア、情報システムなどは構成要素が多く構造が複雑なため、外形的な仕様や諸元の値からは具体的な性能を知ることが難しい。このため、ベンチマークによって同じ製品の前の世代や同世代の別の開発元の製品などと相対的な比較を行うことで性能を評価することが多い。

ベンチマークはある特定のプログラムやデータを処理したときの性能に過ぎず、別の対象や条件のもとでは、当然異なった結果が得られる。メーカーが製品の性能アピールに用いるような一般的なベンチマークプログラムは様々な分野や状況に共通する最大公約数的な使用環境を想定して開発されることが多いため、分野や用途によってはまったく当てはまらないこともある。具体的に使用するアプリケーションが決まっているのであれば、それを用いてベンチマークテストを行うのが望ましいとされる。

信頼性 【リライアビリティ】 ⭐⭐

出題:令3,平23春

一定の条件下で安定して期待された役割を果たすことができる能力。機械やシステムの場合は故障など能力の発揮を妨げる事象の起こりにくさ。日常的には「情報の信頼性」というように、信憑性や信用性に近い意味合いでも用いられる。

人工物について信頼性という場合、定められた条件(製造元の指定する定格値など)下で一定の期間(耐用年数など)、期待される機能を提供し続けることができる性質を表す。

修理不能な製品の場合は故障や破損のしにくさがそのまま信頼性とみなされ、平均故障率(FIT:Failure In Time)や平均故障時間(MTTF:Mean Time To Failure)などの指標が用いられる。修理可能な製品では平均故障間隔(MTBF:Mean Time Between Failures)などで表され、保守性(maintainability/serviceability)を含んだ概念となる。

信頼性にいくつかの性質を加えて、システムが期待された機能・性能を安定して発揮できるか否かを検証するための評価項目として用いる場合がある。よく知られるのは信頼性に可用性(Availability)と保守性(Serviceability)を加えた「RAS」で、これに完全性(Integrity)と機密性(Security)を加えたものは「RASIS」という。

稼働率 ⭐⭐⭐

設備などがある期間に受けた要求に対して実際に提供した能力の割合。ITの分野では、全時間に対する稼働時間の割合を意味する。この値が高いほど可用性が高いことを示している。

機器やシステム、回線などについて、稼働が期待される全時間のうち、故障やメンテナンスで停止している時間を除いた実質の稼働時間の比率を表す。この値が高いほど可用性・信頼性の高いシステムであると言える。例えば、24時間365日無停止が期待されるシステムの稼働率が99.999%の場合、1年間に5分程度停止していることになる。

他の産業分野では、生産実績(あるいは生産需要、要求)に対する生産能力の比率を意味し、需要に対して十分な能力が提供されているかどうかを測る指標となる。例えば、1日100個の生産能力を持つ製造機械がある日に50個生産すれば、その日の稼働率は50%となる。また、100室のホテルがある日50室埋まっていれば、その日の稼働率は50%となる。

この場合、稼働すべき時間に対して実際に稼働できている時間の比率は「可動率」と呼ばれる。IT業界での稼働率は他業界での可動率にあたる。

故障率

システムや機器、部品が故障する頻度のこと。一般的には単位時間あたりの故障数で表す。この値が低いほど可用性が高いことを示している。

機器がどのくらい壊れやすいかを表す指標の一つで、ある時間だけ稼働させたときに故障した回数を意味する。例えば、ある1台の機械が1000時間稼働する間に3回故障が起きれば、その機械の故障率は0.003回/時となる。

工業製品で考える場合は、特定の個体の壊れやすさよりも製品モデルの特性としての故障率が重要であるため、例えばある型式の機器100台を1000時間ずつ稼働させ、その間に故障した回数の合計からその型式の故障率を決定するといった方法が用いられる。

信頼性の高い工業製品の故障率は極めて小さい値になり、そのまま書き記すと桁数が多すぎて不便なため、稼働10億(109)時間あたりの平均故障回数である「FIT」(Failure In Time)という単位で表すことが多い。

機器の信頼性を表す指標としては故障率以外にも、稼働開始から故障までの平均時間である「MTTF」(Mean Time To Failure)や、故障から次の故障までの平均間隔である「MTBF」(Mean Time Between Failure)も用いられる。これらは故障率の逆数で、前者は故障したら交換する部品などに、後者は修理して再び稼働させるシステムなどに用いられる。

MTBF 【Mean Time Between Failures】 ⭐⭐⭐

機器やシステムなどの信頼性を表す指標の一つで、稼働を開始(あるいは修理後に再開)してから次に故障するまでの平均稼働時間。例えば、この値が10年ならば「10年の稼働時間の間に平均1回故障する」ことを表す。

ある期間における(あるいは複数の同じ機器における)機器の稼働時間の和を、その間に発生した故障の回数で除して求められる。例えば、あるシステムの運用状況を1年間調べた結果、総稼働時間が8000時間で故障による停止が4回起こっていた場合、MTBFは8000/4で2000時間となる。

一般にMTBFが大きいほど故障から次の故障までの間隔が長く、長期間安定的に利用できる。MTBFは何度も繰り返し修理して使用する前提の指標であり、故障、破損したら修理できず破棄・交換される機器の場合には、同様の指標のことを「MTTF」(Mean Time To Failure:平均故障時間)と呼ぶ。

機器やシステムの種類や用途によっては、始動してから停止せず稼働させ続ける連続動作時のMTBFと、始動・停止を繰り返す間欠動作時のMTBFを別に求めて表示することもある。多くの機器では連続動作の方が使用環境としては過酷なためMTBFが短くなるが、始動時や停止時に大きな負荷のかかる機器(蛍光灯やハードディスクなど)では間欠動作時の方がMTBFが短くなることもある。

MTBFが数か月から数年以上に及ぶ機器などの場合、実際にそれより長い期間、同じ機器を試験し続けることは現実的でないため、大量の(新品の)機器を用意して並列に試験し、稼働時間と故障回数を合算して算出することが多い。この場合、いずれの機器も新品状態から短い期間しか観察されないため、長年使用し続けた時に生じる摩耗や劣化による故障を正しく反映しない場合もある。

MTTR・稼働率との関係

これに対し、一回の故障・修理にかかる平均時間のことは「MTTR」(Mean Time To Repair)という。MTBFを、MTBFとMTTRの和で除したものは全時間に対する稼働時間の割合、すなわち稼働率(operating ratio)となる。

例えば、ある装置のMTBFが999時間、MTTRが1時間であれば「平均999時間稼働するごとにトラブルで停止し、平均1時間の復旧時間を挟んで稼働を再開する」ことを意味するため、稼働率は999/(999+1)で0.999(99.9%)となる。

MTTR 【Mean Time To Repair】 ⭐⭐⭐

機器やシステムなどの保守性を表す指標の一つで、故障などで停止した際に、復旧にかかる時間の平均。例えば、この値が10時間ならば「修理に平均10時間かかる」ことを表す。

ある期間のうち、故障などで停止してから稼働を再開するまでにかかった時間(ダウンタイム)の和を停止回数で除して求められる。例えば、あるシステムが調査期間中に10回停止し、停止時間の合計が100時間だった場合、MTTRは100/10で10時間となる。

MTTRが小さいほど復旧までの時間が短いことを表し、機器やシステム自体の保守性(serviceability)や運用組織の即応性や熟練度が高いことを意味する。MTTRの算出には稼働時間の長さは考慮されないため、対象の信頼性の高さ、堅牢性などは別の指標で測る必要がある。

MTBF・稼働率との関係

これに対し、故障(後の再始動)から次の故障までの平均稼働時間を「MTBF」(Mean Time Between Failure)という。MTBFを、MTBFとMTTRの和で除したものは全時間に対する稼働時間の割合、すなわち稼働率(operating ratio)となる。

例えば、ある装置のMTBFが999時間、MTTRが1時間であれば「平均999時間稼働するごとにトラブルで停止し、平均1時間の復旧時間を挟んで稼働を再開する」ことを意味するため、稼働率は999/(999+1)で0.999(99.9%)となる。

デュアルシステム ⭐⭐⭐

機器やシステムの信頼性を高める手法の一つで、同じシステムを二系統用意して、常に両者で同じ処理を行う方式。処理結果を相互に照合・比較することにより高い信頼性を得ることができる。

まったく同じ構成のシステムを二系統用意して接続し、どちらも稼働状態に置く。外部からの処理依頼は両方に送られ、同時に処理を行い、結果を互いに照合してチェックする。

一方がトラブルやメンテナンスで停止した場合はもう一方で処理を続行し、復帰したら再び両者で同時に処理を行う体制に戻す。二系統用意して普段は一系統のみで運用する方式は「デュプレックスシステム」(duplex system)という。

デュプレックスシステム ⭐⭐

機器やシステムの信頼性を高める手法の一つで、同じシステムを二系統用意して、普段は片方を稼働させ、もう片方は待機させておく方式。「アクティブ/スタンバイ構成」とも呼ばれる。

平常時に処理を行う系統を主系、本番系、アクティブ系などと呼び、主系がトラブルやメンテナンスで停止したときに肩代わりする系統を従系、待機系、予備系、スタンバイ系などという。

待機や切り替えの仕方により、ホットスタンバイ、ウォームスタンバイ、コールドスタンバイなどの種類がある。二系統用意してどちらも両方とも稼働させる方式は「デュアルシステム」(dual system)という。

フェイルセーフ 【フェールセーフ】

出題:平21春

機器やシステムの設計や構造などについての考え方の一つで、一部の故障や破損、操作ミス、誤作動などが発生した際に、なるべく安全な状態に移行するような仕組みにしておくこと。社会的な仕組みに関する規定や手順などにこの考え方を適用することもある。

機器の操作や使用に際して、故障や誤作動、誤操作などが起きるものだという前提に立ち、実際にそのような状況が生じたときに周囲の人や物に害が及ばないよう、自動的に安全側に導くような制御方式や動作原理を設計や構造に組み込む考え方である。

例えば、転倒すると自動的に消火する石油ストーブや、制御装置が停電すると制御棒が自重で落下して核反応を停止させる原子炉、停電・故障すると遮断桿が降りた状態で停止する踏切、全エンジンが停止しても滑空して着陸できる飛行機などがフェールセーフな設計と言える。

また、建設現場や工場などの生産現場、鉄道の運行、航空管制、情報システムの運用など、何らかの社会的な活動や仕組みの運用においても、誰か一人の失敗や勘違い、どこか一か所の不良が即座に重大な事故や損害に繋がらないように定められた規定や手順、仕組みなどもフェールセーフという。

これに対し、一部が機能を失っても全体としての機能を保ち、正常に稼動させ続けることは「フォールトトレランス」(fault tolerance)あるいは「フォールトトレラント」(fault tolerant)という。

また、不具合が生じた箇所を停止したり切り離すなどして残りの部分で機能や性能を落として運転を継続するような設計・思想は「フェイルソフト」(fail soft)、誤操作しても危険が生じない、あるいは誤操作できない構造や仕組みに設計することは「フールプルーフ」と呼ばれる。

フォールトトレランス 【フォールトトレラント】

出題:平27春

機器やシステムなどが持つ性質の一つで、構成要素の一部が故障、停止などしても予備の系統に切り替えるなどして機能を保ち、稼動を続行できること。また、そのような仕組みや設計方針。

事故や故障などが起きることを前提に、重要な機能を提供する機器を複数用意したり、一か所の問題が他へ拡大しにくい構造にするなどの手法で備え、一部が機能を失っても全体の性能や機能を落とさずに稼働を続行するような仕組みや考え方を意味する。

例えば、電源装置を二重化して片方が故障しても電源が落ちないコンピュータや、停電すると発電機が起動して電力を供給し続けるビル、二系統の通信回線を引き込み、片方が不通になってももう一方で外部と通信し続けるデータセンターなどがフォールトトレラントを考慮した設計と言える。

とはいえ、どのような損害を受けてもいつまでも正常に稼働し続けるシステムは作ることができないため、損害を受けてから機能を維持し続けられる時間が限られたり(発電機を備えたビルでも多くは数日分の燃料しか備蓄できない)、損害の大きさによっては稼働は継続するが機能や性能が低下したりすることもある。

一方、問題の個所を切り離したり停止するなどして機能や性能を低下させて稼働を継続することは「フェイルソフト」(fail soft)、問題が起きた時になるべく安全な状態に移行するよう制御することは「フェイルセーフ」(fail safe)、誤操作しても危険が生じない、あるいは誤操作できない構造や仕組みに設計することは「フールプルーフ」(foolproof)とそれぞれ呼ばれる。フォールトトレラントをこれらの概念の総称として用いることもある。

また、なるべく故障や障害が生じないようにすることは「フォールトアボイダンス」(fault avoidance)と呼ばれ、フォールトトレランスと対になる概念として用いられる。

フールプルーフ ⭐⭐

機械やソフトウェアなど人が使う道具の設計についての考え方の一つで、利用者が操作や取り扱い方を誤っても危険が生じない、あるいは、そもそも誤った操作や危険な使い方ができないような構造や仕掛けを設計段階で組み込むこと。また、そのような仕組みや構造。

フールプルーフ設計では「人間は間違えるものである」「理解が不十分な人が取り扱うこともある」という前提に立ち、誤った使い方をしても利用者や周囲の人を危険に晒したり、機器が破損したり、致命的な事態や損害を生じさせないような構造に設計する。

また、そもそも誤った使い方ができないような構造や操作方法にしたり、危険な使い方をしようとすると機能が停止したり自動的に初期状態に戻ったりするような機構を組み込むといった対策が行われることもある。

よく知られる例としては、正しい向きにしか挿入できない電池ボックスや、扉や蓋が完全に閉じなければ起動しない電子レンジや洗濯機、シフトレバーをパーキングかニュートラルに入れてフットブレーキを踏んだ状態でないとエンジンが始動しない自動車、左右に離れたボタンやレバーを両手で同時に操作しなければ降りてこない裁断機やプレス機、人が座っていないと水を噴射しない洗浄便座などがある。

似た概念として「フェイルセーフ」(fail-safe)がある。これは機器の一部が損傷、故障、停止などしても危険が生じないような構造や仕組みを導入する設計思想のことである。停電すると棹が下がったままになる踏切などが該当する。

コールドスタンバイ 【コールドスペア】

出題:平27秋

機器やシステムを冗長化して信頼性を向上させる手法の一つで、稼働中の系統と同じ構成の予備の機材などを用意しておくが、普段は停止させておく方式。

システムを構成する機材が故障などで停止する場合に備え、同じ機材を複数用意しておく手法を「冗長化」あるいは「多重化」(2つの場合は二重化)という。平時に使用する機材を「本番系」「稼動系」「主系」、緊急時に使用する機材を「待機系」「予備系」「副系」「従系」という。

コールドスタンバイでは、同じ構成のシステムを複数用意しておき、通常時に本番系を稼働させておくが、待機系は起動せず停止した状態で保管されている。普段は他の用途で使用している機材を待機系とすることもある。

障害発生時には待機系を起動し、必要な場合は設定作業や移行作業などを行い本番系からの切り替えを行う。数分から数時間で切り替えが完了する場合もあるが、システムの種類や構成によっては数日から数週間を要することもある。障害時に処理途上だったデータなども引き継がれないことが多い。

これに対し、待機系の機器本体やオペレーティングシステム(OS)などは起動状態にしておくが、本番系と同期などは取らず、障害時にシステムを本格稼働させて切り替えを行う方式を「ウォームスタンバイ」(warm standby)、待機系を常に稼動状態にして本番系と同期を取り、障害時に即座に引き継ぐ方式を「ホットスタンバイ」(hot standby)という。コールドスタンバイはこれらの中で最も運用が容易で低コストだが、障害時の停止時間や損失は最も大きい。

ホットスタンバイ ⭐⭐

機器やシステムを冗長化して信頼性を向上させる手法の一つで、複数の系統を常時稼働状態に置き、一つに異常が生じると即座に他の系統に処理を引き継ぐ方式。

システムを構成する機材が故障などで停止する場合に備え、同じ機材を複数用意しておく手法を「冗長化」あるいは「多重化」(2つの場合は二重化)という。平時に使用する機材を「本番系」「稼動系」「主系」、緊急時に使用する機材を「待機系」「予備系」「副系」「従系」という。

ホットスタンバイでは同じ構成のシステムを複数用意しておき、通常時に稼働している本番系に対して待機系を同期して常に同じ状態で稼働させ続けておく。本番系に障害が発生して停止すると、即座に待機系に切り替わり、実行途上だった処理なども引き継いで続行される。システムの種類にもよるが、切り替えに要する時間は数ミリ秒から数分程度であることが多い。

これに対し、待機系の機器本体やオペレーティングシステム(OS)などは起動状態にしておくが本番系と同期などは取らず、障害時にシステムを起動して切り替えを行う方式を「ウォームスタンバイ」(warm standby)という。

また、待機系の機材などは用意しておくが普段は停止しており、障害時にシステムの起動や設定などから行う方式を「コールドスタンバイ」(cold standby)という。ホットスタンバイはこれらの中で構成や運用が難しく最もコストがかかるが、最も障害時の損害が少なく対障害性の高い方式である。

イニシャルコスト 【初期費用】

物事を始めたり、新しい物を使い始める際に、最初に必要になるコストのこと。使用開始までにかかるコストで、物品の購入代金やサービスの契約料、運搬や設置、設定などにかかる費用が該当する。

ITの分野では、機器やソフトウェア、システム、サービスなどを新たに利用する際に、利用を開始する時点までに必要となる費用の合計を意味する。

調達計画の作成や製品の購入、設置や配線、初期設定、利用者のトレーニングなどのために支払う代金や経費が含まれる。オーダーメイドの製品では設計や開発、製造、テストなどにかかる費用も含まれる。旧システムやサービスからの移行費用を含める場合もある。

一方、使用開始の後、使用を継続するためにかかる費用のことは「ランニングコスト」(running cost)という。電気代などのインフラ費用、リース代やサービスの利用料金、状態の監視や点検、修理、交換、消耗品の補充や交換、利用者への対応などにかかる費用が含まれる。関連業務に携わる人員の人件費や施設の家賃などを含める場合もある。

初期コストとランニングコスト、および使用終了後の廃棄コストや(後継製品・サービスへの)移行コストをすべて合計したものは「総所有コスト」(TCO:Total Cost of Ownership)と呼ばれる。

ランニングコスト 【運用コスト】

施設や設備を使用中にかかる費用のこと。対象の使用開始から終了(廃棄・売却など)までの間に必要な費用で、使用や管理、保守、修理などにかかる費用の総体である。

対象によって内訳は異なるが、典型的な費用としては使用時の光熱費や通信費、消耗品の購入費、点検や修理の代金、(自動車や建物などの場合)税金や保険料などが該当する。同じ対象でも使い方によって異なり、また、総額は使用期間に応じて増大していくため、算定や比較を行う場合には典型的な使用状況を想定した単位期間あたりの額を算出することが多い。

一方、対象の購入や製造、導入にかかる費用のことは「イニシャルコスト」(initial cost)という。使用開始にあたり最初に一度限り必要になるコストのことを指す。例えば、プリンタの購入代金はイニシャルコスト、一回の印刷にかかる用紙やインクの費用、電気代がランニングコスト(正確を期せば廃棄までに想定される修理代金を一回あたりに分割した費用なども含まれる)となる。

TCO 【Total Cost of Ownership】 ⭐⭐⭐

機器やソフトウェア、システムなどの入手、導入から使用終了、廃棄に至るまでにかかる費用の総額。ITの分野では情報システムの導入から破棄までにかかる総コストを表すことが多い。

システムの開発や購入、導入などにかかるイニシャルコスト(初期費用)と、利用期間中の運用や保守、管理などにかかるランニングコスト、利用終了時の撤去や廃棄、後継システムへ引き継ぐための準備などにかかるコストなど、システムに関連する全期間にまたがる費用の総体を意味する。

従来、企業などが導入する製品の選定にあたっては、その購入価格や開発費などのイニシャルコストが重視されてきたが、初期費用が低廉でも運用や管理、廃棄に高額の費用がかかっては全体としては高コストになってしまうため、TCOの算出や見積もりを行なって比較するべきであるとする考え方が普及した。

見えにくいコスト

イニシャルコストは製品価格、開発委託料のような「見えやすい」コストが多い一方、ランニングコストには「見えにくい」コストが多くある。

保守契約の費用や消耗品の価格などは見えやすいが、不具合や脆弱性が多い低品質の製品だと、システム障害やサイバー攻撃などによる停止が頻発し、その対応コストに加えて業務が停止することによる逸失利益もコストとなる。

また、使いにくいシステム、分かりにくいシステムでは、利用者の教育・訓練コストやシステム部門のサポート対応コスト、誤操作による生産性の低下などのコスト増を招くことになる。これらは調達コストの安易な引き下げによって生じることも多いため、導入製品の選定や開発にあたっては運用時のコストを十分に見極めてTCOを最適化する視点が欠かせないとされる。

ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる