情報システムの構成とその設計
今回のテーマは「情報システムの構成とその設計について」です。IT(情報技術)も人々の生活やビジネスの役に立ってこそはじめて存在意義があります。生活やビジネスの役に立つようにするためには、ある目的を達成するためにITを駆使した「システム」にする必要があります。これを「情報システム」と呼び、生活やビジネスの様々なシーンに活用されています。「情報システム」がどのような構成になっているか、どのようにして設計されているのかを知ることにより、これから「情報システム」をより上手く、高度に利用していくことが可能となります。そこで今回は「情報システム」の中身についての理解を深めることとし、その構成やシステム設計作業の内容、システム性能の基礎的な知識などを中心にご説明したいと思います。今回は少し専門敵な技術のお話しになります。
「情報(IT)システム」とは:
「情報(IT)システム」と言ってもいろいろあります。1台の大型計算機(「コンピューター」)も、一つの「情報システム」と言えますし、家で表計算ソフトなどを入れて使っているパーソナル・コンピューターだって一つの「情報システム」と言えます。大型計算機もパーソナル・コンピューターも構成要素の一つになってしまうような、もっと大規模で社会的インフラとして使われているような「情報システム」も存在します。本ブログ「その9 コンピューターの構成(アーキテクチャ)」で説明したような「コンピューター」は、「情報システム」の中で一番基本となるコンポーネントですが、それでシステムのすべてではありません。システムとしてある目的を達成しようと思えば、他のいろいろなコンポーネントが必要になってきます。
「スマートフォン」のような「情報機器」も一つの「情報システム」と言えるので、これを例にどんなコンポーネントでシステムが作られているか見てみましょう。まず、いろいろなデータ処理(演算)を行うCPU、データを記憶するメモリやSSD(solid
state disk)、処理した結果を表示するディスプレイ、人間の操作内容を入力するタッチパネル、電源をON/OFFするための電源ボタン、画像を入力するための高精細な画像センサー、ネットワークとつなぐための通信回路とアンテナ、音を出すためのスピーカー、音を入力するためのマイク、音源を入出力するためのプラグのジャック、さまざまな外部機器と接続するためのインタフェースのポートなど、そして大切なのが電源(バッテリー)です。電源が無ければ「情報システム」は動くことができないのです。最近のスマートフォンでは、このバッテリーが大きさ的にも重量的にも一番大きな部分を占めています。このように、1つの「情報システム」として機能するためには、これらの多くのハードウェアが必要となります。さらに、忘れてならないのが「ソフトウェア」です。ソフトウェアは大きく分けて「アプリケーションソフトウェア(AP)」と「基本ソフトウェア(OS:オペレーティングシステム)」に分けられますが、その両方を必要とします。いろいろな目的に合った「アプリケーションソフトウェア」をスマートフォンに入れる(ダウンロードする)ことにより、1台のスマートフォン(スマホ)がいろいろな仕事をしてくれるようになります。「計算機(電卓)」にもなるし、メールやコミュニケーションツールにもなります。また、動画を見たり、音楽を聴いたり、ゲームをしたりと何でもやれるようになるのです。今では、道案内や相談相手(「音声アシスタンス」と言う)にもなってしまいます。
もう少し大規模な「情報システム」についても見てみましょう。私は社会人になって「システム構築」という仕事もしました。この仕事は、まさに「情報システム」を構築する仕事です。私の担当したシステムの内のひとつは、浄水場のポンプの起動・停止を需要状況に応じて制御するシステムでした。このシステムの場合、制御専用のコンピューター(「ミニコン」)とポンプの起動・停止を指示する信号や浄水場の水位など、さまざまな設備の状態を知らせるセンサーからの信号線、ネットワークなどや、これらの状態を監視するための監視モニター(今の液晶ディスプレイのようなもの)、浄水場の操作員が手動で操作する時の操作スイッチなどで構成されていました。また、日報や月報などの運転記録を印刷するためのプリンターがあり、これらは分電盤から電力を供給されていました。
このような、大小いろいろな構成を持つ「情報システム」を定義しようとすれば、「ある目的を達成するために、「コンピューター」、「ソフトウェア」、「周辺機器」、「ネットワーク」などの「IT(情報技術)」や「情報機器」を利用することにより、「情報」の収集、蓄積、伝達、利用などを行えるようにした仕組み」ということになると思います。
「情報システム」の機能要素:
このように複雑な構成で成り立つ「情報システム」ですが、基本的な機能要素(コンポーネント)はシンプルであり、
① 「情報」を処理(プロセス)する要素
② 「情報」を記憶・保存する要素
③ 「情報」を伝達する要素
④ 「情報」を入出力する(人間や物理世界とのインタフェース)要素
の4つに分類されます。
従って「情報システム」のシステム構築、システム設計を行う場合は、この4つの要素について検討を行うことになります。
まず、①「情報」を処理(プロセス)する要素として例を挙げるならば、パーソナル・コンピューター内の部品レベルで言えば「CPU」であり、「情報機器」レベルで例を挙げれば「コンピューター」、「スマートフォン」などです。情報処理技術の目的は、「情報」を人間の役に立つように処理することであり、この要素は最も中心的な役割り果たします。この要素が無い「情報システム」はまず存在しないと言っていいでしょう。「情報システム」を構築する場合に、まず、最初に行うのがこの要素の検討・選定であることが多いです。そのシステムとしての目的を達成するのに、どのような「コンピューター」を採用すればよいのか、パーソナル・コンピューターの用途を満たすような性能を持つCPUはどれにすればよいのかなど、経済的な制約のもとで検討することが必要になります。
次の②「情報」を記憶・保存する要素として例を挙げるならば、パーソナル・コンピューター内の部品レベルで言うと「HDD(hard disc drive)」や「SSD(solid
state disk)」であり、用途によっては、USBメモリ、 CD、DVDなどもこれに含まれます。「情報機器」レベルで例を挙げるならば、「ストレージサーバー」、「データベースサーバー」などになります。「IT(情報技術)」を利用したこれらの要素は、「ディジタル情報」を蓄積するものです。従来は「情報」を蓄積するには、コストも時間もかかっていましたが、技術が発達したおかげでとても大量のデータをとても速く蓄積することができるようになりました。「情報」は蓄積することにより、その価値はどんどん大きくなります。最近のキーワードである「ビッグデータ」も蓄積するコストが下がったことが大きく貢献しており、多くの情報を安く蓄積することが可能になったお陰で実現できたのです。そして「情報システム」を構築する場合には、そのシステムとしての目的を達成するのに、どのような容量でどのような読み込み・書き込み性能の「HDD」や「SSD」にするかなどが検討課題となります。
③「情報」を伝達する要素として例を挙げるならば、パーソナル・コンピューター内の部品レベルで言うと「バス(bus)」であり「情報機器」レベルで例を挙げれば、「インターネット」、「携帯電話通信網」、「近距離通信(Bluetooth)、電子タグ(RFID)、無線LANなど)」などです。これらの要素は、建物と建物を結ぶ道路の役割に似ています。その「情報システム」で扱うデータ量が多い場合は、それに見合った方式の通信手段を採用する必要があります。運ぶ荷物の量が多いならば、それに見合った太さの道路を作る必要があるのと同じです。また、どれぐらい早く荷物を届けなければならないかも重要な検討ポイントです。ゆっくりでよいなら大型トラックで運べばよいし、データ量は少ないが早く届けないといけない場合には、高速道路を作って、そこをスポーツカーで運ぶ必要があります。従来は、それほど多くの選択肢が無かったこともあり、この要素の検討は後回しになってしまう傾向がありましたが、最近では、伝達手段の多様化とともに重要な検討課題となり、システム構築時の検討優先度があがっています。
最後の④「情報」を入出力する(人間や物理世界とのインタフェース)要素について例を挙げるならば、パーソナル・コンピューター内の部品レベルで言うと「キーボード」、「マウス」、「タッチパネル」、「ディスプレイ」、「センサー」などであり「情報機器」レベルで例を挙げれば「プリンター」、「外部モニター」などです。この要素はアナログ世界との接点でもあるため、他の要素に比べて比較的に動作は遅いです。①から③の要素はすべて「ディジタル情報」で行われるのに対し、この要素だけ「アナログ情報」が混在しています。人間は「ディジタル情報」を元の「アナログ情報」に戻してもらうことで、多くの「情報」を認識できます。その意味で、この要素は重要です。この要素が無いと、「情報システム」で処理された情報はいつまでも人間に認識されることができず、「ディジタル情報」の世界(これを「サイバー空間」とも呼ぶ)を出てくることができないのです。したがって「情報システム」を構築する場合には、その「情報システム」と「実社会」とのインタフェースをどうするかをよく検討し、どの「情報機器」にするかなどを決定する必要があります。
「情報システム」の性能:
ここで、「情報システム」の性能について考えたいと思います。なぜなら、その「情報システム」が使われるか否かは、その機能が私たちの役に立つか、ニーズに合っているかということと、もう一つはこの性能が私たちの使い心地を満たしているか、ということによって決まるからです。いくら良い機能を実現したとしても、その結果が得られるまでに何日もかかっていては、とても使う気にならなりません。つまり役に立たないのと同じものになってしまうのです。「情報システム」の設計者は、しばしばこの性能問題に悩まされます。基本的に「情報システム」の機能は、性能とコストに比例します。高度な機能を実現すると性能は遅くなり、コストは膨らんでしまうのです。多くの人に使ってもらえる(買ってもらえる)「情報システム」を作ろうと思ったとき、基本的には機能が豊富で役に立つものを提供すればよいのであるが、そうすると性能とコストが顧客ニーズに合わなくなってしまうのです。したがって、その機能と性能、コストを天稟(てんびん)にかけてバランスを見ながら設計することになります。
情報システムの性能は、4つの機能の性能バランスで決まります。どれか一つだけが性能が良くても、システム全体としての性能はあまりよくなりません。CPUだけが速くなっても仕方ないのです。HDDやバスの性能アップも欠かせません。このバランスを理解する上で、次のように高速道路の例を考えると分かりやすいと思います。
前に挙げた4つの機能を、それぞれ高速道路に例えると次のようになります。
① 「情報」を処理(プロセス)する要素 ⇒ 高速道路のサービスエリア(ドライブスルーのイメージ)
② 「情報」を記憶・保存する要素 ⇒ 高速道路のパーキングエリア(駐車場)
③ 「情報」を伝達する要素 ⇒ 高速道路
④ 「情報」を入出力する要素 ⇒ 高速道路の入口・出口
ここで、高速道路を利用する車は、「情報システム」の「情報」に相当します。この高速道路システムで、車が渋滞せずにスムーズ(高速に)に流れるようにするためには、どうしたらよいでしょうか?
サービスエリアは高速道路にいくつ作ればよいか?1台あたりのサービスの時間はどれぐらいで済むようにし、何台ぐらいを同時にサービスできるようにすればサービスエリアでの渋滞が防げるだろうか?パーキングエリアの駐車スペースも、どれぐらいの時間間隔で何台ぐらいの車を置けるスペースを作ればよいのだろうか?高速道路は何車線にすればよいのだろうか?入口・出口のETC(Electronic
Toll Collection System)のゲート数や、一般道路で出るところの車線数、信号の時間間隔などどうすればよいだろうか?これらのいろいろな要因を、高速道路の利用者数を推定してシステム全体として最適化を図る必要があります。高速道路の車線数を増やせばそれに応じてサービスエリアやパーキングエリアの処理能力を高めなければならない。かと言って、これらの設備を増やせば増やすほどコストは膨大なものになっていきます。これは最新のAIでも駆使しないと最適な解は導き出せないのではないでしょうか。
この例で、「情報システム」の場合と「高速道路システム」で性質が少し異なる部分があります。それは、高速道路システムでは、「情報」に相当する車はほとんどが数時間内に一般道路に出ていってしまうことです。つまり、車は一時的にしか高速道路システムには滞留しません。しかし、「情報システム」における車、すなわち「情報」は多くの場合ほとんどが「情報システム」の中に滞留してしまい、「情報」を記憶・保存する「HDD(hard
disc drive)」や「SSD(solid state disk)」には、もう使わなくなった「情報」も含めて溜まっていくことになります。定期的に大掃除をして、USBメモリ、
CD、DVDなどにバックアップをすればよいのですが、ほとんどの人はそのままにしてしまいます。一方、高速道路のパーキングエリアは、夜になれば空が多くなってきます。
図1:高速道路を管理する道路管制センター
NEXCO西日本 ホームページより
(https://corp.w-nexco.co.jp/activity/maint_bus/info_mgmt/)
この検討で分かったように、高速道路システムの全体性能は、4つの機能要素の性能バランスによって決まってきます。これと同じように「情報システム」の全体性能も、4つの機能要素の性能バランスによって決まってきます。しばしば「情報システム」の性能の議論をする場合に、「情報」を処理(プロセス)する要素、つまり「CPU」や「コンピューター」、「スマートフォン」などに注目が集まりがちになります。これだけ性能がよい「CPU」を採用したパーソナル・コンピューターであれば、システム全体の性能もきっとよくなるに違いない、と思って購入して使ってみたら期待ほどではなかった、ということを経験した人も多いのではないでしょうか。また、最新の「スマートフォン」を購入しても、アプリケーションの性能としてはあまり変わらなかった、といったような話はよくあります。これらの性能は、その他の機能要素の性能とのバランスによって決まってくるのです。「HDD(hard
disc drive)」や「バス(bus)」、「インターネット」、「携帯電話通信網」などの性能がそれに比例して性能UPしなければ速くならないのです。
最近話題のAIシステムも「情報システム」の一つであり、この性能の考え方は共通です。「CPU」や「コンピューター」が今や人間の頭脳の処理能力を超える勢いではあっても、それだけでAIシステムが人間の脳の能力を超えるとは限らないのです。最近のAIはビッグデータの解析などに役立てられていますが、ビッグデータは大量の「HDD(hard
disc drive)」や「SSD(solid state disk)」に蓄えられており、それにアクセスするには、ネットワーク越しにアクセスする場合もあります。こうなると、ネットワークの性能と、「HDD(hard
disc drive)」や「SSD(solid state disk)」の性能が問題になってきます。
「情報システム」の構成:
情報システムの構成として、よりよい性能を実現するいくつかの形態・構成が採用されてきましたが、主に「情報」を何に記憶し、その「情報」を処理(プロセス)する要素である「CPU」や「コンピューター」にどんな通信手段を使ってつなぐか、について検討され変更されてきました。なぜ、この検討が中心になるかというと、本ブログ「その9 コンピューターの構成(アーキテクチャ)について」で説明したように、現状最も多く使われているコンピューターアーキテクチャである「ノイマン型コンピューター」のボトルネックは、「情報」を処理(プロセス)する要素と記憶・保存する要素の間の「データ転送」であり、より性能のよい「情報システム」の構成を検討するにはここがキーポイントになるからです。
「情報システム」の構成は、これまでに大きく三度変わってきました。
最初の情報システム構成は「大型コンピューター(メインフレームとも呼ぶ)システム」でした。このシステムでは、「情報」はコンピューターに隣接された記憶装置に記憶され、それを読みだして処理をしていました。この当時、まだコンピューター同士をつなぐネットワークは発達しておらず、それぞれの大型システムは、ほとんど独立した形で利用されていました。したがって、取り扱える「情報」をごく一部に限られ、利用時間も時間を区切って短時間しか使えませんでした。
それをもう少しコンピューターを長く、多くの人が使えるように改善したのが「クライアント・サーバーシステム」と呼ばれるシステム構成です。大型コンピューターをサーバーとし、ここに「情報」を集中的に記憶・保存します。それをクライアントと呼ばれるパーソナル・コンピューターを近距離ネットワーク(LAN(local
area network))でつなぎ、必要な「情報」をサーバーから伝送して利用するものです。この頃からネットワークが情報システムに利用されるようになるが、ごく限られたエリア(多くは一つの企業内)でのみ利用でき、共有できる「情報」もその企業内にもののみでした。
現在は「クラウドシステム」、または「クラウドコンピューティングシステム」と呼ばれるシステム構成が採用されています。これは「クライアント・サーバーシステム」を発展させ、ネットワークとして「インターネット」を使用しています。従来「インターネット」を図で表現する時に、雲(クラウド(cloud))の形を描いたことから「クラウドシステム」と呼ばれるようになりました。「情報」を集中的に記憶・保存する「ストレージサーバー」、「データベースサーバー」とは「インターネット」でつながるため、ワールドワイドで「情報」を共有できるようになりました。「クラウドシステム」のクライアントとして今最も多く使われているのが「スマートフォン」です。「スマートフォン」は年に10億台以上も販売され、世界中の人々が利用し、「情報」を共有しています。また、「携帯電話通信網(モバイルネットワーク)」の性能が上がってきたこともあり、ほとんどの「情報」をクラウド側の「ストレージサーバー」、「データベースサーバー」に保存し、「スマートフォン」側にはほとんど「情報」を保存せずに処理することができるようになっています。
図2:クラウドコンピューティング
フリー百科事典『ウィキペディア(Wikipedia)』「クラウドコンピューティング」より
(https://ja.wikipedia.org/)
この「情報システム」構成の変更は、およそ10年~20年程度の間隔で行われてきました。このシステム構成の移り変わりにより、いろいろなビジネスが生まれては消えていきました。例えば、音楽や動画の視聴をするために、以前はCDやDVDを持ってきて再生する必要があったため、レンタルビデオ、レンタルCDやDVDというビジネスが流行りました。しかし、今やこれらのコンテンツ(情報)はクラウド側のサーバーに保存され、それをそのまま再生できます。そのため、CDやDVDは必要なくなり、レンタルビジネスも縮小しています。また、「クラウドシステム」の発展は、「情報」のクラウド側への集中を促し、「ビッグデータ」という新たなビジネスを生んでいます。今後の状況としては、2019年に一部地域で第五世代(5G)の「携帯電話通信網」がサービス開始され、現在の第四世代(4G)の10倍~100倍に性能が上がることが期待されており、これが「情報システム」の構成を変えていくものと思われ、これが当面一番大きなインパクトになる可能性が高いものとなります。通信性能がこれだけ高速になると、拡張現実(AR)や仮想現実(VR)活用したサービスとか、AIをもっと身近に利用できるサービスなどが増える可能性があります。また、製造の形態も、もっと多くの詳細設計データをリアルタイムに共有することができるようになり、より柔軟な形へ変わっていくでしょう。ただし、あまりに「携帯電話通信網」を流れる情報量が増えると、それを支えている固定通信網が性能のボトルネックになり始めるという指摘もあり、やはりいろいろな性能バランスの上でいろいろな構造が生まれ、サービスが提供されていくものと思われます。最近、最も話題になっているのは、「エッジコンピューティング」という方式です。今後IoTの導入が進み、すべてのモノから「情報」をインターネット経由でクラウド側へ送るようになると、さすがに第五世代(5G)の「携帯電話通信網」でもその伝送能力の限界に達するため、できるだけモノのそばに置く「エッジコンピューター」でローカルに処理してしまおうという考え方です。マイクロソフト社(Microsoft
Corporation)は2017年にスローガンを「インテリジェントクラウド、インテリジェントエッジ」とし、新たなサービスを展開するなど素早い対応を見せています。今後、どのような方式が主流になっていくかは、まだ分かりません。