アプリケーションストリーミング

アプリケーションストリーミング（）は、アプリケーションのインストールイメージについて、その各部の実行順序、依存関係等を解析し、その解析結果に基づいてバイナリを小さな単位（通常4キロバイト）に分割し、それをストリーミングサーバと呼ばれるサーバ上に登録し、クライアント側におけるユーザによるアプリケーション操作に応じて、その操作に必要なバイナリ部分を逐次配信するという方法である。

概要
アプリケーションストリーミングは、オンデマンドのソフトウェア配信の一形態である。

アプリケーションストリーミングの基本概念は、現代のプログラミング言語が生成し、オペレーティングシステム (OS) がアプリケーションを実行する方法に、その基礎がある。エンドユーザーがある特定の機能を実行するには、プログラムの一部のみで十分である。これは、クライアントのコンピュータに全て完全にインストールされていなくても良いことを意味する。必要な時に、必要な物を配送すればよく、ネットワークの帯域が細くても配信可能になる。

しばしば、アプリケーションストリーミングはアプリケーション仮想化と組み合わせて使われる。それゆえ、アプリケーションは伝統的な意味ではインストールされない。

ストリーミングサーバ
アプリケーションはパッケージ化され、ストリーミングサーバに保管される。パッケージ化やsequencingでは、要求に基づいて配信する方法と、予測に基づいて最適化して配信する方法の、両方が可能であるアプリケーションのイメージを生成する。

アプリケーションの起動とストリーミング
エンドユーザーにとって、アプリケーションの最初の起動は重要である。パッケージングの過程は最初の起動を最適化できる。いったん起動したら、共有の機能が続く。これらの機能がエンドユーザーから要求されたら、似たような方法でストリーミングされる。この場合、クライアントがサーバからアプリケーションを引っ張ってくる。もしくは、バックグランドで、アプリケーション全体がサーバからクライアントに配信される。この場合、サーバがアプリケーションをクライアントにプッシュする。

利点
 現代のアプリケーションの複雑さ故、多くの機能は決して使われなかったり、たまにしか使われなかったりする。それゆえ、オンデマンドでアプリーションを取得することは、サーバクライアント間のネットワークの利用としてはより効率的である。
 OSの移行を簡単にする。
 アプリケーションの配備を高速化する。
 ローカルで実行されるにもかかわらず、アプリケーションの管理を集中化させられる。

実装
 Application Virtualization (App-V) TechCenter
 Symantec Workspace Streaming
 Citrix XenApp
 VMware ThinApp
 Endeavors Technologies
 AMS Z!Stream

 脚注 

関連項目
ストリーミング
アプリケーションサービスプロバイダ (ASP)
クラウドゲーム
Software as a Service (SaaS)
:en:Application virtualization
:en:Communication as a service

外部リンク
Synchronized Multimedia Streaming

Category:ソフトウェア工学
Category:コンピュータネットワーク