IT業界への就職や転職を目指している方、IT業界で働く方なら、「IoT」というキーワードを聞いたことがあるのではないでしょうか。
IoT(モノのインターネット)とは、PCやモバイル端末だけでなく、ありとあらゆるモノの組み込まれたセンサーを通じて得られた情報により、自動的に色々なモノを制御するシステムのことをいいます。
例として、スマート家電が挙げられます。
エアコンに取り付けられたセンサーにより検知した室温・湿度等の情報を、利用者がスマートフォンやPC上で確認し、端末上でエアコンを操作すると、その情報がエアコンに伝わって、利用者の操作通りにエアコンの動きが変えることができる、そんな製品はすでに実用化されています。
これがIoT技術の一つの活用例です。
IT業界で活躍するためには、最新の技術動向の把握は不可欠です。
この記事では、最新のIT技術の一つであるIoTとは何か、について理解しましょう。
まずは基礎知識から―「ソフトウェア」と「ハードウェア」、「サーバ」と「ネットワーク」―
IoTとは何かを理解するうえで、予め皆さんに理解していただきたいキーワードがあります。
「ソフトウェア」・「ハードウェア」・「サーバ」・「ネットワーク」の4つです。
コンピュータは、与えられたInputとなる情報を、コンピュータに与えられた規則に従って演算し、Outputとなる情報を作り出します。これは昔も今も変わりがありません。
「ソフトウェア」とは、簡単に言えば、コンピュータに与えられるInputを演算しOutputを生成するための規則です。
これは、プログラミング言語(コンピュータが理解できる言語)によりプログラマが作成します。
皆さんが日々勉強しているプログラミング技法は、コンピュータに対する命令文の書き方です。
しかし、コンピュータに演算する規則が与えられても、実際に演算する機構がないと演算はできません。
これを「ハードウェア」といいます。
具体的には、演算する部分・データを記憶しておく部分・Inputが入力されてくる部分・Outputを出力する部分等があります。
さて、初期のコンピュータは、ハードウェアとソフトウェアの両方が一つの機械の中にまとまっていました。
しかし、徐々にコンピュータは複数の端末に分かれ、個々の端末を通信回線で結んだものを全体としてコンピュータとして使うようにしました。
このとき、それぞれに異なった役割を担う端末を「サーバ」と呼び、「サーバ」と「サーバ」は「ネットワーク」でつながることになりました。
「サーバ」とはコンピュータシステムの中で何らかの役割を果たしている端末、「ネットワーク」とはサーバとサーバをつなぐ通信網であると理解しておきましょう。
本題―「IoT」とは何か―
IoTとは、社会にある、ありとあらゆるモノの中にサーバを組み込み、それらの無数のサーバをネットワークで結ぶことによって、色々の社会インフラや家庭で使う機器をコンピュータによって制御しようとするシステムを言います。
(IoTは ”Internet of Things(モノのインターネット)”の略語です。)
実は、IoTと似たようなアイデアは、1980年ごろには議論され始め、1992年には在庫状況やドリンクの温度が遠隔地にあるオフィス内の端末で把握できるコーラ自販機が発明されました。
日本でも、2000年ごろから「ユビキタスネットワーク」という名前で、「ゴミになるモノにサーバを取り付けておき、焼却炉に設置されたサーバと通信して効率的な処理方法を決定する」等のアイデアが出されていました。
しかし、1990年代から2000年代にかけては、外界の色々な情報の検知や情報通信に必要なハードウェアの価格が高く、IoT的なアイデアの実用化が進みませんでした。
IoTを実用化しようとすると、極めて大量のデータを処理する必要があるのですが、これに必要なハードウェア技術が開発されておらず、コスト・パフォーマンスの観点から引き合わなかったのです。
2010年頃になって、外界の状況を検知するセンサーや情報通信に必要な半導体、情報の貯蔵に必要なストレージ等のハードウェア機器の価格が劇的に低下した結果、IoTの実現が可能となってきました。
その結果、今日では冒頭にあげたスマート家電をはじめとして、次のようなIoT的システムが実用化されています。
都市部には橋梁や高架鉄道・高架道路が無数にありますが、橋や高架はメンテナンスをしなければ崩落の危険性があります。
そこで、橋や高架の各部に通信機能をもつセンサーを取り付けておき、道路管理者のオフィスにあるサーバと通信して保守点検の必要な箇所を自動的に把握できるシステムが実用化されています。
また、自動運転車も、IoTの活用の一事例です。
自動運転の基本的なコンセプトは、自動車に取り付けられた様々なセンサーが自動車と周囲の人や車、構造物との距離を測定し、測定結果を自動車に内蔵されているコンピュータに送信し、コンピュータによる解析を行って得られた結果をハンドル・ブレーキ・アクセルに備えられたサーバに送信して自動車を制御する、というものです。
IoTの今後―IoTはAIへと昇華するか
既述したとおり、IoT技術の実用化の背景には、センサーや半導体、ストレージの劇的な価格低下があります。
その結果、人間はこれまででは考えられなかったスピードで大量のデータを処理できるようになりました。
この記事でこれまでに紹介したIoTの実用化例は、確かにコンピュータが文字通り電子「計算機」として使われていた時代から見れば、全く異質の機能を果たし得た例といえます。
しかし、根本的な点では黎明期のコンピュータと変化がないのです。
ごく初期のコンピュータも「スマートエアコン」も、「コンピュータが、人間が作っておいたロジックに従って、あるInputを演算し結果をOutputさせる」という意味では本質的な変化はないのです。
ですが、コンピュータ自身が自分を制御するロジックを周囲の状況に応じて書き換えることができるようになったら…。
このとき、そのコンピュータは「人工知能(AI-Artificial Intelligence-)」を持つようになった、ということになるのです。
皆さんは、「ビックデータ」という言葉を聞いたことがあるかと思います。
ビックデータ技術は、簡単に言えば大量のデータを処理させて人間が見つけられない因果関係を発見するために使われています。
当然、IoTシステムでは各所に設けられた無数のデータが大量に集まります。
この大量データをビッグデータ技術で処理すれば、未知の因果関係が得られることになります。
この因果関係をもとに、(半)自動的にIoTシステムのロジックに反映させていけるようになると、「予め人間が与えたロジックに従って、Inputを演算しOutputを出力する。」という、これまでのコンピュータの在り方が根本的に覆るわけです。
なぜなら、コンピュータがコンピュータ自身でシステムのロジックを状況に応じて変えていけるとしたら、それはコンピュータ自身が自ら「思考している」ということに他ならないからです。
これは、広く言われている「AI」の実用化と同義といえるでしょう。
このような方向に技術が発展するかどうかが、IoT技術の今後を見る一つのポイントとなるのではないでしょうか。
まとめ―IoTの現在と未来
この記事では、コンピュータ技術の基本的な概念である「ソフトウェア」と「ハードウェア」、「サーバ」と「ネットワーク」について紹介したうえで、最近よく言われる「IoT」技術について、技術的に実用化例を挙げて説明しました。
そのうえで、IoTを使ったシステムが、ビッグデータ技術によって見いだされた因果関係を(半)自動的に自らのシステムのロジックにフィードバックできれば、今日広くいわれる「AI」の実用化に近づくことになることを説明しました。
日々、プログラミング言語を学んでいる皆さんからみると聞きなれないお話だったかもしれません。
しかし、近い将来皆さんがIT技術者として活躍するようになれば、当然会社やクライアント企業から、この記事で紹介したような新技術に関わる仕事への参画を求められることもあり得ます。
IT技術者としては、常に最新技術の動向を、その技術を具体的に自分の言葉で理解できるよう努めるべきかと思います。
最後まで読んでくださり、ありがとうございました。