アプリケーション仮想化

出典: フリー百科事典『ウィキペディア(Wikipedia)』

アプリケーション仮想化(アプリケーションかそうか、: Application virtualization)とは、アプリケーションを、実行の基礎となるオペレーティングシステム (OS) からカプセル化することによって、アプリケーションの移植性・管理性・互換性を向上させるソフトウェア技術を説明する包括的な用語。完全に仮想化されたアプリケーションはあたかもインストールされているようだが、伝統的な意味ではインストールされていない[1]。実際はそうではないが、アプリケーションがOSとそれによって管理されるすべてのリソースと直接やり取りしていると信じるように、アプリケーションは実行時にだまされる。この文脈において、用語「仮想化」は、アプリケーションがカプセル化されるという意味で使っており、物理ハードウェアを抽象化するハードウェア仮想化とその意味は全く異なっている。

概要[編集]

限られたアプリケーションの仮想化は、近代的なOSは、Microsoft Windows および Linuxで使用されている。たとえば、もともとWindows 3.1のために書かれたアプリケーションの従来のINIファイルを仮想化するために、INIファイルのマッピングがレジストリにWindows NTで導入された[2]。同様に、Windows Vistaは、初期のWindowsでは誰もが書き込み可能だった、現在は読み出し専用であるシステムの場所にユーザデータを保存しようとするレガシー·アプリケーションがまだ働くことができるように制限されたファイルとレジストリの仮想化を適用する shim を実装している[3]

アプリケーション仮想化のダイアグラム
ネイティブ環境とアプリケーション仮想化環境で実行中のアプリケーションのイラスト

完全なアプリケーション仮想化は仮想化レイヤーを必要とする[4]。アプリケーション仮想化レイヤーは、通常、OSによって提供されるランタイム環境の一部を置き換える。透過的に層を傍受し、仮想化されたアプリケーションのすべてのファイルおよびレジストリの操作とは、単一のファイル、多くの場合、仮想化された場所にリダイレクトされる[5]。アプリケーションは、物理的なものの代わりに仮想リソースにアクセスしていることを知っていることはありません。アプリケーションはシステム上に広がっている複数のファイルとレジストリを扱う代わりに1つのファイルだけを取り扱えばよいので、別のコンピュータでアプリケーションを実行することが容易になり、以前と互換性のないアプリケーションはサイドバイサイドで実行することができます。 Windowsプラットフォーム用のこの技術の例としては、AppZero, BoxedApp, Cameyo, Ceedo, Evalaze, InstallFree, Citrix XenApp, Novell ZENworks Application VIrtualization, Endeavors Technologies Application Jukebox, Microsoft Application Virtualization, Software Virtualization Solution, Spoon (以前は Xenocode), VMware ThinApp (以前は Thinstall), P-apps, AMS Z!Stream.

関連技術[編集]

アプリケーション仮想化に該当する技術分野は、次のとおり。

  • アプリケーションストリーミング。起動時に全てが配信する代わりに、必要なときに初めてアプリケーションのコード、データ、設定が配信される。パッケージ化されたアプリケーションを実行すると、軽量クライアントアプリケーションのインストールが必要な場合がある。パッケージは通常、HTTP、CIFSまたはRTSPなどのプロトコルを介して配信される。
  • デスクトップ仮想化/仮想デスクトップインフラストラクチャ (VDI)。アプリケーションは、OSを含む仮想マシンまたはブレードサーバーでホスティングされている。これらのソリューションは、仮想デスクトップの作成を自動化、仮想デスクトップを対象とするアクセス制御を提供するための管理インフラストラクチャが含まれている。 VDIソリューションは、通常、アプリケーションストリーミングが不十分な場合のギャップを埋めることができる。

参照[編集]

  1. ^ Microsoft Application Virtualization Technical Overview”. マイクロソフト. 2012年3月4日閲覧。
  2. ^ WritePrivateProfileString Function”. マイクロソフト. 2008年6月18日閲覧。
  3. ^ Mark Russinovich (2007年6月). “Inside Windows Vista User Account Control”. マイクロソフト. 2012年3月4日閲覧。
  4. ^ Amir Husain. “How to build an Application Virtualization Framework”. VDIworks. 2008年7月1日閲覧。
  5. ^ Coby Gurr (2008年1月28日). “Facilitating Microsoft Windows Vista Migration Through Application Virtualization” (PDF). Dell. 2008年6月19日閲覧。