ネットワークの最新技術
進化し続けるネット技術
インターネットに関する技術は常に進化し続けています。最後に、さまざまな領域のネットワークに関連する最新技術について紹介してネットワークに関する知識を終わりにします。
HTML5
HTML5とは
Webページの記述などに用いるマークアップ言語であるHTMLの第5版のことをHTML5と言います。(図5-1.)現在広く使われているHTMLは正確には、HTML 4.01と言い、HTMLタグで構造付けされたHTML文書を作成するためのもので、動画やWebアプリケーションを動かすためのものではありませんでした。
そこで、HTML5にはウェブアプリケーションを開発するための様々な仕様が新たに盛り込まれています。大まかに言うと、以下のような機能が追加されています
- 動画や音声データをHTMLからシンプルに扱える
- PIの追加により、ウェブアプリケーションが作りやすい
- より明確に文書構造を示すことができる
つまり、旧来のHTMLが様々なwebアプリケーションフレームワークを利用して実現していた様々な機能を可能な限りHTMLだけで実現できるようにしたものがHTML5であると言えます。HTML5を導入すれば、Webアプリの開発コストを5割から6割以上も削減できると言われており、3Dグラフィックスを実現する「Web GL」をはじめ、ゲーム開発に便利な新機能が次々と取り入れられていることから、ブラウザゲームの開発も容易になっています。
HTML5の課題
大変便利なHTML5ですが、実はまだそれほど普及しているわけではありません。HTML5が普及するためには、まだまだ克服しなくてはならない問題がいくつもあるのです。
そもそも、HTML5の仕様はまだ固まっていないので、仕様が変わる可能性があります。そういったことから、ブラウザごとに実装状況が異なり、古いバージョンのブラウザでは利用できません。
クラウドコンピューティング
クラウドコンピューティングとは
従来ははコンピュータで管理・利用していたようなソフトウェアやデータなどを、インターネットなどのネットワークを通じてサービスの形で必要に応じて利用する方式のことを、クラウドコンピューティング (Cloud computing)、もしくは省略して単にクラウド(Cloud)などと呼びます。
システム構成図でネットワークの向こう側を雲(cloud:クラウド)のマークで表す慣習があることから、この名前が付けられました。(図7-2.)
図7-2.クラウドのイメージクラウドコンピューティングの仕組み
サービス提供者は大規模なデータセンターなどに多数のサーバを用意し、遠隔からネットを通じてソフトウェアやデータ保管領域を利用できるようなシステムを構築すています。利用者はユーザ登録を済ませることにより、サービスを利用することができます。クラウドコンピューティングは、大きく3種類に分類できます。
(1)SaaS(サース)ソフトウェアサービスを提供するサービスことです。Google社が提供するメールシステム(Google Apps Mail)などがその代表です。これにより、自社でわざわざサーバ施設を用意し、必要機材を調達し、OSやメールソフトなどをインストールするという面倒を踏まずとも、即日から高い機能を持つソフトウェアを導入することが可能となります。
(2)PaaS(パース)プラットフォームを提供するサービスです。、マイクロソフト社が提供するWindows Azure(アジュール)※1やセールスフォース社が提供するForce.comなどがあり、SaaSの場合はユーザーが使用可能なサービスはサービ押す提供者が用意したものだけでしたが、PaaSでは利用するソフトウェア自体を利用者が自分達で開発し利用することができます。
(3)IaaS(イアース)IaaSは、更に自由度の高いサービスです。具体例としては、Amazon社のEC2が有名です。PaaSやSaaSがアプリケーションやソフトウェア環境であるのに対し、機材や回線などの貸出を行い、自由度が高いシステムと言えます。
メリットとデメリット
クラウドを利用すると、サーバー・ソフトの購入する必要がないので、システムをメンテナンスしたりする手間が省けるので、企業などのIT部門は効率化されるというメリットがあります。しかし、その半面システムのカスタマイズが難しかったり、インターネットを介した利用なので、セキュリティー面で脅威にさらされやすいというデメリットもあります。
仮想化
仮想化とは何か
次に、クラウドコンピューティングと関連性の深い仮想化(かそうか)と呼ばれる技術について説明します。仮想化とは、サーバーなどのハードウェア内のリソース(CPU、メモリ、ディスク)を、物理的な構成にとらわれずに、論理的に統合・分割できる技術のことです。
一般にこれを実現する方法は、仮想マシンと呼ばれるコンピュータの動作と同じふるまいをするソフトウェアを利用することにより実現しています。このソフト上にOSをインストールすることにより、あたかも一つのコンピュータに複数のコンピュータがあるように利用しています。
サーバー仮想化
サーバー仮想化とは、1台のサーバーコンピュータで未使用となっているリソースを複数の仮想マシン上のサーバーに割り当てて活用することです。(図7-3.)近年、ハードウェアが高性能になり、サーバーの処理能力は飛躍的に上昇していますが、リソースが効率的に使用できないのが問題です。例をあげると、世の中のサーバーの90%以上は、CPUの平均使用率が10%以下と言われています。
そのため1つのサーバーで1つのOSしか利用できないのは大変効率が悪いという問題があります。この余剰リソースを有効活用できるのが仮想化であり、その技術をサーバーに適用したのがサーバー仮想化です。この技術を利用することにより、一つのマシンに複数のOSをインストールすることができ、クラウドコンピューティングの実現に大変役立っています。
図7-3.サーバー仮想化応用範囲は広く、クラウドコンピューティングはもちろんのこと、オンライン・ゲームのサーバーなどにも利用されている技術です。
仮想化のメリット・デメリット
仮想化技術によってサーバーを効率的に使うことにより、今まで必要であった複数のサーバーを物理的に削減することができます。これにより、電力消費の削減や、サーバーハードウェア費用が削減できるというメリットもあります。
しかし、デメリットとしては仮想化ソフトウエアは、小規模のサーバーを統合しても処理能力とのバランスが悪ければ、かえって投資コストの方が高くついてしまいます。一般に10台以上のサーバーを持つ場合に、仮想化のメリットを得られると言われています。また、利用者には専門的な知識が必要で、システムの運用者は仮想化技術について学習・訓練する必要があります。
ビッグデータ
ビッグデータとは何か
近年ビッグデータという言葉をよく聞くようになりましたが、これはインターネットの普及や、コンピューターの処理速度の向上などに伴い生成される大容量のデジタルデータを指します。
このビッグデータを解析することにより、これまで予想できなかった新たなパターンやルールを発見できることが明らかになり、さまざまな領域で応用されています。例えばオンラインショップでは、購買履歴やサイト内のアクセス情報などのビッグデータを基に、ユーザーが商品を購入する際、他のおすすめ商品を表示していますが、これはビッグデータに基づくものです。
また、検索サイトから得られるビッグデータを積極的に利用して、該当するユーザーにのみ乗換案内キャンペーンのバナー広告を表示させているような仕組みもまたビッグデータの活用例の一つです。
人工知能とビッグデータ
ビッグデータの解析方法は様々ですが、そのなかでも注目に値するものとして、人工知能(じんこうちのう / artificial intelligence、AI)と呼ばれる技術があります。人工知能とは、人工的にコンピュータ上などで人間と同様の知能を実現させようという試みで、そのための一連の基礎技術も含んだ概念です。情報から将来使えそうな知識を見つける学習と、情報から将来使えそうな知識を見つける推論をもとに、ビッグデータから様々な仮説を発見します。
2045年問題
特に有名なのが、アメリカIBM社の、人工知能システム「Watson(ワトソン)」で、人間の声でやり取りできるのが特徴で、テレビのクイズ番組で回答ができるなど、世界最高性能の人工知能としてしられています。また、チェスや将棋のプロがコンピュータと対局し敗れるということもありましたが、これもまた人工知能によるものです。
このように、この分野の進歩があまりにも急速に進んでいることから、2045年にはコンピューターの性能が人間の脳を超えるという予測があり、2045年問題と呼ばれています。