シンクライアント
シンクライアント(thin client)とは、ユーザーが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムアーキテクチャ全般のことをいう。
または、そのようなシステムアーキテクチャで使われるように機能を絞り込んだ専用のクライアント端末のことをいう場合もある。狭義のシンクライアントにおいて、クライアント側にWindows、UNIX、Androidなどの一般的なGUI OSを使わないケースをゼロクライアント(zero client)と呼ぶこともある。ビデオゲームでの同様の技術はクラウドゲームと呼ばれている。
デスクトップ仮想化という用語がアーキテクチャとしてのシンクライアントの意味として使われる場合も有る。
シンクライアントの「シン(thin)」とは、すなわち「薄い」「少ない」という意味で、クライアント端末がサーバに接続するための最小限のネットワーク機能、およびユーザーが入出力を行うためのGUIを装備していれば良いことを示している。シンクライアントとは逆の意味を持つ用語としては、「ファットクライアント(fat client)」または「シッククライアント(thick client)」がある。
「リッチクライアント」という用語の説明の際によく持ち出される「シンクライアント」は、本項目で説明するものとは別のものである。これは、Web3層システムにおいてクライアントサイドスクリプトなどを利用しないWWWブラウザなどを指す用語である。以下はリッチクライアントの説明の際に使われる場合の各用語の解説である。
Web3層以前の2or3層C/SシステムにおけるVBプログラムなど。
AjaxやFlashプラグインを利用したクライアントサイド技術を利用したWWWブラウザなど。
サーバサイドプログラムのみを利用し、クライアントサイドプログラムを利用しない場合のWWWブラウザ。
シンクライアントの歴史を考える場合、どの時代の何を起源とするかは、議論の余地のあるところである。古くは、大型汎用コンピュータと共に使われていたダム端末に起源を求める説もあれば、X Window SystemのX端末を起源とする説もある。確かにこれらは上述の定義からするとシンクライアントそのものではあるものの、これらがシンクライアントと呼ばれることはほとんどない。
世の中で「シンクライアント」という用語が使われ始めたのは、1996年のことである。きっかけとなったのはオラクルで、「NC(Network Computer)」という呼称を用いて新しい端末のコンセプトモデルを打ち出した。さらに数か月後にはサン・マイクロシステムズから「Java Station」という呼称で、同様のコンセプトモデルが発表された。
これらのコンセプトモデルは、最小限の機能のみを持たせた端末と、それを使うためのシステムアーキテクチャを打ち出しており、まさにシンクライアントそのものであった。これらが最も注目を浴びた理由は、当時機能豊富だが高価だったWindowsパソコンに対抗して、低価格を前面に出していたことだといえる。同時に、当時大型の筐体が一般的だったパソコンに比べ、これらコンセプトモデルは非常にコンパクトでデザイン的にも斬新なものであり、見た目の派手さにおいても大きな話題を集めた。
当時のシンクライアントは、「(端末の)価格」と、「(端末の)見た目のデザイン」で注目を浴びており、「端末を使うためのシステムアーキテクチャ」には注目が集まらなかった。
オラクルのNetwork Computer、サン・マイクロシステムズのJavaStation、これら2つのコンセプトモデルの先進性・話題性に脅威を感じたマイクロソフトは、狭義のシンクライアント(端末)として、Windows CEをベースとした「Windows Based Terminal(WBT)」を発表し、同時に広義のシンクライアント(システムアーキテクチャ)として、Windows NT Server 4.0 Terminal Server Edition(NT4.0 TSE)を発表した。NT4.0 TSEは、すでにWindowsベースのマルチユーザ&リモート操作を実現していたシトリックス・システムズのCitrix WinFrameの技術をライセンス供与されたものである。NT4.0 TSEは、すでに発売されていたWindows NT Server4.0とは別製品としての発売であったが、Windows 2000 Server 以降では広義のシンクライアント用としてマルチユーザ&リモート操作を実現する「ターミナル サービス」の機能が標準で搭載されるようになっている。なお、これのシングルユーザ版がWindows XPおよびWindows Vistaに標準搭載された「リモートデスクトップ」である。
マイクロソフトのWBT発表の頃から、先に出ていたNetwork ComputerやJava Stationも含めた、これらの端末もしくはシステムアーキテクチャの総称として「シンクライアント」の用語が頻繁に用いられるようになった。
デビュー時には大きな注目を浴びたシンクライアントであるが、狭義のシンクライアント(専用端末)の観点で見ると、十分に普及したとは言いがたい。これは、NCをはじめ当時のシンクライアントが「高価なパソコンに低価格で対抗するもの」と位置づけられていたが、シンクライアント発表と相前後してパソコンの価格が急落し、シンクライアントの価格メリットが相対的に薄れてしまったことによる。
一方で広義のシンクライアントの観点で見ると、端末自体は既存のファットクライアントを使いながら、サーバ側に処理を集約するシステムアーキテクチャは確実に普及を進めてきた。この代表例が、マイクロソフトの Windows 2000 Server、Windows Server 2003に実装されているターミナル サービスと、ターミナル サービスを機能拡張するシトリックス・システムズのMetaFrame (Citrix Presentation Server)である。
上述したとおり、デビュー後しばらくは普及しなかった狭義のシンクライアントであるが、2004年頃から「低価格」とは全く別の利点に注目が集まるようになった。それはセキュリティ面での利点である。この頃から、企業内で管理している個人情報などが外部に流出する事件が発生し、これの対策に企業は取り組むようになってきた。多数の社員が使うパソコンに重要情報が保存されている現状では、セキュリティ対策が困難である一方で、狭義のシンクライアントの端末側にデータを持てない特性が、情報漏洩対策に効果的であるとして注目を集めるようになったのである。
日本においてシンクライアントへの注目が一気に高まったのは、2005年1月3日の日本経済新聞の一面トップ記事において「日立製作所がパソコン利用を全廃する」との見出しが出されたことによる。記事中では、セキュリティ対策のために、データが保存できない新型端末に徐々に移行し、最終的にパソコンの利用を全廃していくと紹介されている。それまでシンクライアントは、企業情報システムに関心のある一部の人達の中で話題になるのみであったが、この記事をきっかけにして広く一般にも知られるところとなった。その後、朝日新聞のような一般紙や、NHKのニュースでも紹介された。
シンクライアントには様々な実装方式があり、また、新たな実装方式が次々と考案されている。シンクライアント自体の歴史も浅く、呼び方も統一されているとはいえないが、以下では代表的なシンクライアントの実装方式について説明する。なお、ここでいう「実装方式」とは、広義のシンクライアント、すなわちシステムアーキテクチャの方式のことである。
なお、サーバベース方式、ブレードPC方式、仮想PC方式の3つを併せて「画面転送方式」と呼ばれることもある。
サーバ側にOSイメージをおいておき、端末起動時にはPXEを用いてネットワーク経由でOSをブートする方式。実際のアプリケーションの処理は端末側で行う。一般的には、LinuxやmacOS(NetBoot)などの、UNIX / Unix系OSが使われることが多い。Ardenceやe-tools社のLanPC2、ネットブート社のは、数少ないWindowsをベースとしたネットワークブート方式のシステムである。
画面転送方式と異なり、アプリケーションの処理を端末側で行うため、アプリケーションの互換性の問題が出にくいことが最大の利点である。その一方で、端末起動時にアプリケーションを含めたOSイメージ全体がネットワークを流れるため、ネットワークへの負荷の大きさが問題となることが多い。また、端末上のアプリケーションで作成したデータは、通常のファイル転送によってネットワークファイルサーバに保存されるため、その面でのセキュリティ対策も必要となる。
アプリケーションの実行など全ての処理をサーバ上で行い、端末側は遠隔操作端末としての役割のみを担う方式。サーバから端末には画面情報が転送され、端末からサーバへはキーボードやマウスの入力情報が転送される。シンクライアントの実装方式としては最も普及した方式である。マイクロソフトの Windows 2000 Server、Windows Server 2003に実装されているターミナル サービス、シトリックス・システムズのMetaFrame(Citrix Presentation Server)、サン・マイクロシステムズのSun Ray、Secure Global Desktop(旧Trantella製品)、Elusiva, Propalmsの Propalms TSE、Graphonの Go-Global、2xの 2X ApplicationServer などの製品がある。1台のサーバに複数のユーザーが同時ログオンして使用する(マルチユーザー)ために、マルチユーザー対応されていない Windows アプリケーションの互換性や印刷、ライセンス面での整理が課題とされていた。近年はマルチユーザーに対応したアプリケーションやプリンタドライバがリリースされている為技術的な課題は解消されつつあるが、ライセンス面での整理はあまり進んでいない。なお、一部のプロダクトではマルチユーザーに対応していない Windows アプリケーションも、CPU やメモリ空間、ファイルシステムやレジストリ空間、IPアドレスまでユーザー毎に仮想独立化する技術を利用し、サーバベース方式で動作させることが可能となっている。
サーバベース方式でのサーバと端末の通信方式はそのままに、サーバではなく、たくさんのPCブレードを並べた方式。PCブレード上ではWindows XPなどのクライアントOSを動作させる。サーバベース方式で課題となっていたWindowsアプリケーションの互換性の課題を改善することを目的に考案された。一方で専用のハードウェア(PCブレード)に依存するため、今までのPC分ですんでいたコストが、比較的高価なブレードサーバと端末になるため、全体の価格が高くなりがちなこと、特定メーカーの特定ハードウェアに依存してしまうこと、個々のクライアントOSの管理が煩雑なことなどから、あまり普及はすすんでいない。
サーバベース方式における機能集約とマルチユーザの得失と、ブレードPC方式のシングルユーザーと機能重複の得失の組み合わせと看做せる、後発の仕組み。高性能サーバ上でVMwareやXenなどのハイパーバイザを使用して仮想マシンを多数実行することにより、機能集約を実現する。ユーザーは個々の仮想マシンに接続してシングルユーザーのクライアントOSを使用する。
当初はサーバやネットワークの性能の制約から性能と価格を均衡させることが困難で費用の高騰もしくは性能不足でクライアントPCと比較に足る水準足り得なかった。また、クライアントPCでは個々のユーザーに転嫁されていたクライアントOS管理の煩雑化が表面化してきた。
これらについては、サーバやネットワーク性能の向上により、さらには、ハイパーバイザベンダーによるクライアント管理手段の提供により、大手企業から利用が進みつつある。
シンクライアント環境において、仮想化技術を用いてコスト削減を検討するユーザが増えてきている。実際、仮想サーバ環境の進展は、物理サーバの台数削減という効果をもたらしてきている。
一方、ストレージ環境については、サーバの立ち上げが非常に簡単になった一方で、ストレージ領域を用意する手間や運用管理が複雑になるなどのデメリットが生じてきている。実際、多くの共有ストレージに発生するムダな空き容量の問題は解決されないままである。しかし、近年、主要なストレージベンダー(EMC、Netapp、ヒューレット・パッカード)を中心に仮想技術を駆使したネットワークストレージを展開し、これらの問題解決に取り組んでいる。