"インターネットに接続された再生デバイスであって、オーディオおよびビデオデコーダと、ネイティブに実装されたホストプロセスと、ネイティブに実装された仮想マシンと、共通クライアントとを含み、前記共通クライアントは、前記再生デバイスのオーディオおよびビデオデコーダを使用して、オーディオおよびビデオの再生を調整するように構成される、ネイティブに実装されたプロセスと、前記仮想マシン内で実行し、かつ、前記仮想マシン内で実行するスクリプトが、前記ネイティブに実装されたプロセスを使用して、オーディオおよびビデオの再生を開始することを可能にするように構成される、VMフレームワークと、前記仮想マシン内で実行されるように構成されるスクリプトとして実装される、ユーザインターフェースとを含む、インターネットに接続された再生デバイス。前記ネイティブに実装されたプロセスはまた、URIオブジェクトをローカルにキャッシュするように構成され、前記VMフレームワークは、前記仮想マシン内でスクリプトを実行することによって生成される、URI要求を傍受し、前記URI要求を前記ネイティブに実装されたプロセスに提供するように構成され、前記ネイティブに実装されたプロセスは、URIオブジェクトを遠隔サーバから要求する前に、要求されたURIオブジェクトが、前記ローカルキャッシュ内に位置しないことを検証するように構成される、請求項1に記載のインターネットに接続された再生デバイス。前記共通クライアントは、前記仮想マシン内で実行するように構成される、スクリプトと、ネイティブにコンパイルされたコードとの組み合わせとして、展開される、アプリケーションのためのランタイム環境を提供し、前記VMフレームワークは、前記アプリケーションスクリプトが、前記仮想マシン内での前記アプリケーションスクリプトの実行の間、前記共通クライアントのネイティブに実装されたプロセスおよび前記アプリケーションのネイティブにコンパイルされたコードを利用することを可能にするように構成される、請求項1に記載のインターネットに接続された再生デバイス。前記ユーザインターフェースは、前記再生デバイスによって再生することができるコンテンツを遠隔サーバ上で識別する、インターネットコンテンツガイドを含む、請求項3に記載のインターネットに接続された再生デバイス。前記インターネットコンテンツガイドはまた、前記インターネットコンテンツガイド内で識別されたコンテンツと関連付けられる、ビデオプレーヤアプリケーションに関する情報を含み、前記VMフレームワークは、ユーザが、再生のために、インターネットコンテンツガイドユーザインターフェース内で一連のコンテンツを選択するのに応答して、少なくとも1つのビデオプレーヤアプリケーションを要求するように構成され、前記インターネットコンテンツガイドは、前記少なくとも1つのビデオプレーヤアプリケーションが、前記選択されたコンテンツの再生の間、利用されることを示し、前記ネイティブに実装されたプロセスは、要求されたビデオプレーヤアプリケーションを前記VMフレームワークに提供するように構成され、前記VMフレームワークは、前記ネイティブに実装されたプロセスによって提供されたビデオプレーヤアプリケーションインスタンスを作成し、前記インターネットコンテンツガイドに、インターフェース情報を提供するように構成され、前記インターネットコンテンツガイドユーザインターフェースは、前記ビデオプレーヤアプリケーションと併用して、ビデオプレーヤインターフェース情報を利用して、コンテンツ再生を調整するように構成される、請求項4に記載のインターネットに接続された再生デバイス。コンテンツプレーヤアプリケーションが要求される、請求項5に記載のインターネットに接続された再生デバイス。広告プレーヤアプリケーションが要求される、請求項5に記載のインターネットに接続された再生デバイス。メトリックプレーヤアプリケーションが要求される、請求項5に記載のインターネットに接続された再生デバイス。前記VMフレームワークはまた、プロキシプレーヤアプリケーションのインスタンスを作成する、請求項5に記載のインターネットに接続された再生デバイス。前記ネイティブに実装されたプロセスは、遠隔サーバから情報を読み出すように構成される、デバイスアプリケーションプロセスと、前記再生デバイスのオーディオおよびビデオデコーダを使用して、オーディオおよびビデオの再生を処理するように構成される、プラットフォームサービスプロセスとを含み、前記仮想マシンは、ネイティブに実装されたフラッシュプレーヤ内に実装される、フラッシュ仮想マシンであり、前記VMフレームワークは、一式のアクションスクリプトクラスを含む、アクションスクリプトフレームワークであり、前記デバイスアプリケーションプロセスは、前記フラッシュプレーヤのXMLSocket機能を介して、前記アクションスクリプトフレームワークと通信するように構成される、請求項1に記載のインターネットに接続された再生デバイス。アプリケーションは、SWFおよび前記デバイスアプリケーションプロセスに対するネイティブにコンパイルされたプラグインとして、前記共通クライアント上に展開される、請求項10に記載のインターネットに接続された再生デバイス。前記デバイスアプリケーションプロセスおよび前記デバイスアプリケーションプロセスに対するアプリケーションネイティブにコンパイルされたプラグインは、共有ライブラリとして実装される、請求項11に記載のインターネットに接続された再生デバイス。前記共通クライアントはさらに、インストーラを含み、前記共通クライアントは、ソフトウェアプラットフォームを提供するように構成され、前記共通クライアントの構成要素は、前記インストーラを使用して、動的にロードすることができる、請求項1に記載のインターネットに接続された再生デバイス。前記仮想マシンは、ネイティブにコンパイルされたフラッシュプレーヤ内に実装される、フラッシュ仮想マシンであり、前記ネイティブに実装されたプロセスは、一式のサービスおよびAPIを提供するように構成される、デバイスアプリケーションコンテナと、前記再生デバイスと前記デバイスアプリケーションコンテナとの間に、抽象化レイヤを提供するように構成される、プラットフォームランタイムプロセスとを含み、前記VMフレームワークは、前記フラッシュ仮想マシン内で実行するフラッシュアプリケーションが、関連付けられたネイティブに実装されたモジュールと通信することを可能にする、一式のAPIを公開するように構成される、UIアプリケーションコンテナを含み、前記ユーザインターフェースは、アプリケーションバンドルとして実装され、SWFと、ネイティブにコンパイルされたコードモジュールとを含み、前記ユーザインターフェースのSWFは、前記UIアプリケーションコンテナAPIを介して、前記ネイティブにコンパイルされたコードモジュールと通信するように構成され、前記ネイティブにコンパイルされたコードモジュールは、前記デバイスアプリケーションコンテナによって提供されるサービスおよびAPIを使用して、前記フラッシュ仮想マシンによって提供されない、前記ユーザインターフェースの機能性を実装するように構成される、請求項13に記載のインターネットに接続された再生デバイス。前記アプリケーションバンドルはさらに、マニフェストを含む、請求項14に記載のインターネットに接続された再生デバイス。前記インストーラは、遠隔サーバから、アプリケーションを動的にロードするように構成され、前記アプリケーションは、SWFと、ネイティブにコンパイルされたコードモジュールと、マニフェストとを含む、請求項14に記載のインターネットに接続された再生デバイス。前記インストーラは、再生デバイスROM内に実装され、前記インストーラは、デバイスメモリ内に前記ソフトウェアプラットフォームを動的にロードするように構成される、請求項14に記載のインターネットに接続された再生デバイス。前記ユーザインターフェースは、遠隔サーバから、前記ユーザインターフェースによって取得されたナビゲーション階層を使用して生成される、インターネットコンテンツガイドを含む、請求項1に記載のインターネットに接続された再生デバイス。前記ユーザインターフェースは、コントローラ上の矢印ボタンを使用して、前記階層ICG内のナビゲーションを有効にするように構成される、請求項18に記載のインターネットに接続された再生デバイス。前記ユーザインターフェースは、コントローラ上のジョイスティックを使用して、前記ナビゲーション階層内のナビゲーションを有効にするように構成される、請求項18に記載のインターネットに接続された再生デバイス。再生デバイス上でメディアを再生するための方法であって、前記再生デバイスは、ホストプロセスと、メディアデコーダと、ネイティブに実装された仮想マシンと、共通クライアントとを含み、前記共通クライアントは、VMフレームワークを使用して、ユーザインターフェースを実装するように構成され、前記VMフレームワークは、前記仮想マシン内で実行し、遠隔サーバから、コンテンツを読み出し、前記メディアデコーダを使用して、メディアの再生を調整するように構成される、ネイティブに実装されたプロセスと通信するように構成され、前記方法は、前記共通クライアントを使用して、インターネットコンテンツガイドのためのナビゲーション階層を取得することと、前記ナビゲーション階層を使用して、前記仮想マシン内で実行するユーザインターフェースアプリケーションスクリプトによって生成される、ユーザインターフェースを表示することと、前記ユーザインターフェースを介して、前記インターネットコンテンツガイド内で識別される、一連のコンテンツのユーザ選択を受信することであって、前記インターネットコンテンツガイドは、前記コンテンツと関連付けられた一意の識別子を含む、ことと、前記要求されたコンテンツと関連付けられた前記一意の識別子を、前記VMフレームワークを使用して、前記共通クライアントのネイティブに実装されたプロセスに、パスすることと、前記共通クライアントのネイティブにコンパイルされたプロセスを使用して、前記一意の識別子によって識別されたメディアを取得することと、前記再生デバイスのメディアデコーダを使用して、前記取得されたメディアをデコードすることとを含む、方法。発明の概要本発明の実施形態による、ネイティブに実装された仮想マシンVMを使用して、再生デバイス上でインターネットコンテンツをリアルタイムで再生する、ユーザインターフェースを提供するためのシステムおよび方法について、説明する。本発明の一実施形態は、オーディオおよびビデオデコーダ、ネイティブに実装されたホストプロセス、ネイティブに実装された仮想マシン、再生デバイスのオーディオおよびビデオデコーダを使用して、オーディオおよびビデオの再生を調整するように構成される、ネイティブに実装されたプロセスを含む、共通クライアント、仮想マシン内で実行し、仮想マシン内で実行するスクリプトを、ネイティブに実装されたプロセスを使用して、オーディオおよびビデオの再生を開始させるように構成される、VMフレームワーク、ならびに仮想マシン内で実行されるように構成されるスクリプトとして実装される、ユーザインターフェースを含む。別の実施形態では、ネイティブに実装されたプロセスはまた、URIオブジェクトをローカルにキャッシュするように構成され、VMフレームワークは、仮想マシン内でスクリプトを実行することによって生成される、URI要求を傍受し、URI要求をネイティブに実装されたプロセスに提供するように構成され、ネイティブに実装されたプロセスは、URIオブジェクトを遠隔サーバから要求する前に、要求されたURIオブジェクトが、ローカルキャッシュ内に位置しないことを検証するように構成される。さらなる実施形態では、共通クライアントは、仮想マシン内で実行するように構成される、スクリプトと、ネイティブにコンパイルされたコードの組み合わせとして、展開される、アプリケーションのためのランタイム環境を提供し、VMフレームワークは、アプリケーションスクリプトに、仮想マシン内でのアプリケーションスクリプトの実行の間、共通クライアントのネイティブに実装されたプロセスおよびアプリケーションのネイティブにコンパイルされたコードを利用させるように構成される。なおもさらなる実施形態では、ユーザインターフェースは、再生デバイスによって再生することができるコンテンツを遠隔サーバ上で識別する、インターネットコンテンツガイドを含む。なおも別の実施形態では、インターネットコンテンツガイドはまた、インターネットコンテンツガイド内で識別されたコンテンツと関連付けられる、ビデオプレーヤアプリケーションに関する情報を含み、VMフレームワークは、ユーザが、再生のために、インターネットコンテンツガイドユーザインターフェース内で一連のコンテンツを選択するのに応答して、少なくとも1つのビデオプレーヤアプリケーションを要求するように構成され、インターネットコンテンツガイドは、少なくとも1つのビデオプレーヤアプリケーションが、選択されたコンテンツの再生の間、利用されることを示し、ネイティブに実装されたプロセスは、要求されたビデオプレーヤアプリケーションをVMフレームワークに提供するように構成され、VMフレームワークは、ネイティブに実装されたプロセスによって提供されたビデオプレーヤアプリケーションインスタンスを作成し、インターネットコンテンツガイドに、インターフェース情報を提供するように構成され、インターネットコンテンツガイドユーザインターフェースは、ビデオプレーヤアプリケーションと併用して、ビデオプレーヤインターフェース情報を利用して、コンテンツ再生を調整するように構成される。なおもさらなる実施形態では、コンテンツプレーヤアプリケーションが要求される。なおも別の実施形態では、広告プレーヤアプリケーションが要求される。再び、さらなる実施形態では、メトリックプレーヤアプリケーションが要求される。再び、別の実施形態では、VMフレームワークはまた、プロキシプレーヤアプリケーションのインスタンスを作成する。さらなる付加的実施形態では、ネイティブに実装されたプロセスは、遠隔サーバから情報を読み出すように構成される、デバイスアプリケーションプロセスと、再生デバイスのオーディオおよびビデオデコーダを使用して、オーディオおよびビデオの再生を処理するように構成される、プラットフォームサービスプロセスと、を含み、仮想マシンは、ネイティブに実装されたフラッシュプレーヤ内に実装される、フラッシュ仮想マシンであり、VMフレームワークは、一式のアクションスクリプトクラスを備える、アクションスクリプトフレームワークであり、デバイスアプリケーションプロセスは、フラッシュプレーヤのXMLSocket機能を介して、アクションスクリプトフレームワークと通信するように構成される。別の付加的実施形態では、アプリケーションは、SWFおよびデバイスアプリケーションプロセスに対するネイティブにコンパイルされたプラグインとして、共通クライアント上に展開される。依然として、なおもさらなる実施形態では、デバイスアプリケーションプロセスおよびデバイスアプリケーションプロセスに対するアプリケーションのネイティブにコンパイルされたプラグインは、共有ライブラリとして実装される。依然として、なおも別の実施形態では、共通クライアントはさらにインストーラを含み、共通クライアントは、ソフトウェアプラットフォームを提供するように構成され、共通クライアントの構成要素は、インストーラを使用して、動的にロードすることができる。再び、なおもさらなる実施形態では、仮想マシンは、ネイティブにコンパイルされたフラッシュプレーヤ内に実装される、フラッシュ仮想マシンであって、ネイティブに実装されたプロセスは、一式のサービスおよびAPIを提供するように構成される、デバイスアプリケーションコンテナと、再生デバイスとデバイスアプリケーションコンテナとの間に、抽象化レイヤを提供するように構成される、プラットフォームランタイムプロセスと、を含み、VMフレームワークは、フラッシュ仮想マシン内で実行するフラッシュアプリケーションに、関連付けられたネイティブに実装されたモジュールと通信させる、一式のAPIを公開するように構成される、UIアプリケーションコンテナを含み、ユーザインターフェースは、SWFと、ネイティブにコンパイルされたコードモジュールと、を含む、アプリケーションバンドルとして実装される。加えて、ユーザインターフェースSWFは、UIアプリケーションコンテナAPIを介して、ネイティブにコンパイルされたコードモジュールと通信するように構成され、ネイティブにコンパイルされたコードモジュールは、デバイスアプリケーションコンテナによって提供されるサービスおよびAPIを使用して、フラッシュ仮想マシンによって提供されない、ユーザインターフェースの機能性を実装するように構成される。再び、なおも別の実施形態では、アプリケーションバンドルはさらに、マニフェストを含む。依然として、さらなる付加的実施形態では、インストーラは、遠隔サーバから、アプリケーションを動的にロードするように構成され、アプリケーションは、SWFと、ネイティブにコンパイルされたコードモジュールと、マニフェストと、を含む。依然として、別の付加的実施形態では、インストーラは、再生デバイスROM内に実装され、インストーラは、デバイスメモリ内にソフトウェアプラットフォームを動的にロードするように構成される。再び、なおもさらなる実施形態では、ユーザインターフェースは、遠隔サーバから、ユーザインターフェースによって取得されたナビゲーション階層を使用して生成される、インターネットコンテンツガイドを含む。再び、なおも別の実施形態では、ユーザインターフェースは、コントローラ上の矢印ボタンを使用して、階層ICG内のナビゲーションを有効にするように構成される。なおもさらなる付加的実施形態では、ユーザインターフェースは、コントローラ上のジョイスティックを使用して、ナビゲーション階層内のナビゲーションを有効にするように構成される。本発明の方法の実施形態は、共通クライアントを使用して、インターネットコンテンツガイドのためのナビゲーション階層を取得するステップと、ナビゲーション階層を使用して、仮想マシン内で実行するユーザインターフェースアプリケーションスクリプトによって生成される、ユーザインターフェースを表示するステップと、ユーザインターフェースを介して、インターネットコンテンツガイド内で識別される、一連のコンテンツのユーザ選択を受信するステップであって、インターネットコンテンツガイドは、コンテンツと関連付けされた一意の識別子を含む、ステップと、要求されたコンテンツと関連付けられた一意の識別子を、VMフレームワークを使用して、共通クライアントのネイティブに実装されたプロセスに、パスするステップと、共通クライアントのネイティブにコンパイルされたプロセスを使用して、一意の識別子によって識別されたメディアを取得するステップと、再生デバイスのメディアデコーダを使用して、取得されたメディアをデコードするステップと、を含む。詳細な説明ここで、図面を参照して、本発明の実施形態による、ネイティブに実装された仮想マシンVMを使用して、再生デバイス上でコンテンツをリアルタイムで再生する、ユーザインターフェースを生成するためのシステムおよび方法について、説明する。仮想マシンは、プログラム可能マシンのソフトウェア実装であって、ソフトウェア実装は、より高いレベルでの記号的抽象化では、別のプロセッサ内において制約される。フラッシュVMは、マルチメディア、ベクターグラフィック、およびアクションスクリプトのためのAdobeSystemsIncorporatedSanJose、Californiaによって規定されるファイルフォーマットである、SmallWebFromatSWFファイルを再生可能であって、また、インターネットを介して、ビデオを送達するために使用することができる、コンテナファイルフォーマットである、フラッシュビデオをデコード可能である。フラッシュVMは、カスタマイズされたユーザインターフェースを生成する機能を提供する。しかしながら、フラッシュVMは、リアルタイム環境において、性能を妨害し得る、制限を課す。具体的には、フラッシュVMは、再生性能と、ネットワークで繋がれたサーバとリアルタイムで相互作用するための再生デバイスの機能と、を制限し得る。したがって、本発明の実施形態による、再生デバイスは、外部サーバとの通信およびコンテンツの再生を含むが、それらに限定されない、具体的機能性を実装する、ネイティブにコンパイルされたコードを含む。いくつかの実施形態では、ネイティブにコンパイルされたコードは、ローカルリソースキャッシュを実装し、フラッシュアプリケーションが、頻繁に利用されるリソースをロードする、速度を改善する。いくつかの実施形態では、アプリケーションは、SWFファイルと、関連付けられたプラグインまたはネイティブコードの動的にロードされたモジュールとの組み合わせとして展開される、再生デバイス上にインストールすることができる。多くの実施形態では、コンテンツプレーヤアプリケーションは、再生デバイス上にインストールされ、コンテンツおよびコンテンツと関連付けられた広告の再生、ならびに一連のメトリックを可能にすることができる。以下の議論の多くは、フラッシュプレーヤ、フラッシュVM、およびSWFファイルを指す。容易に理解され得るように、消費者電子機器デバイス上で実装可能な任意の仮想マシンを、フラッシュプレーヤ/フラッシュVMの代わりに使用することができる。したがって、フラッシュプレーヤ、フラッシュVM、SWFファイル、およびアクションスクリプトは、本発明の実施形態による、別の仮想マシンと関連付けられた同等構成要素によって、容易に代用することができる。共通クライアントを含む、再生デバイス本発明の実施形態による、再生デバイスは、典型的には、インターネットアクセス機能とメディア再生ハードウェアおよび/またはソフトウェアを組み合わせた、テレビ、セットトップボックス、DVD/ブルーレイディスクプレーヤ、携帯電話ハンドセット、またはゲームコンソールの形態をとる。いくつかの実施形態では、共通クライアントは、再生デバイスによって利用され、ユーザインターフェースを生成し、メディア再生ハードウェアおよび/またはソフトウェアを使用して、再生のためのコンテンツを読み出し、アプリケーションのためのランタイム環境を提供する。共通クライアントの提供は、異なる再生デバイスに対して、ソフトウェアを開発する際に伴われる開発努力の量を低減させるが、しかしながら、製造業者は、典型的には、その製品のユーザインターフェースが、他の製造業者の製品と異なる外観と雰囲気を有することを所望する。いくつかの実施形態では、共通クライアントは、カスタマイズされたユーザインターフェースを生成するための機能を含む。多くの実施形態では、共通クライアントは、フラッシュVMのネイティブ実装を含み、ユーザインターフェースは、フラッシュ内にオーサリングすることができる。共通クライアントはまた、クライアントに、ネットワークで繋がれたサーバとリアルタイムで相互作用し、再生デバイスのハードウェアおよび/またはソフトウェアのメディア再生機能を使用して、コンテンツの再生を処理させる、ネイティブにコンパイルされたコードを含むことができる。いくつかの実施形態では、ネイティブにコンパイルされたコードは、アプリケーションが、SWFファイルおよび関連付けられたプラグインまたはネイティブコードの動的にロードされたモジュールの組み合わせとして、展開されることができる、ソフトウェアプラットフォームランタイムを生成する。他の実施形態では、種々の技法のいずれかを利用して、本発明の実施形態に従って、カスタマイズされたユーザインターフェースの生成を可能にすることができる。共通クライアント実装本発明のある実施形態による、カスタムユーザインターフェースを表示し、インターネットコンテンツを再生するように構成される、共通クライアントを含む、再生デバイスが、図1に例証される。再生デバイス10は、ハードウェアと、コンテンツ再生およびインターネットを介した通信を処理する、オペレーティングシステムと、を含む。オペレーティングシステムは、Linux登録商標派生物等、消費者電子機器デバイス上での使用に好適な任意のオペレーティングシステムであることができる。再生デバイスはまた、SWFファイルを実行し、フラッシュムービーを再生可能である、ネイティブにコンパイルされたフラッシュVMを提供する、フラッシュプレーヤ62を含む。好適なフラッシュプレーヤの実施例として、BluestreakTechnology,Inc.Montreal、CanadaのMachBlueおよびAdobeSystemsIncorporatedSanJose、CaliforniaのStagecraftFlashLiteが挙げられる。フラッシュVMは、インターネットコンテンツにアクセスし、再生デバイス上でアプリケーションを実行するために使用することができる、ICGを含むが、それらに限定されない、ユーザインターフェースを生成するために利用することができる。図1に例証される、共通クライアントの重要な側面は、フラッシュVMの動作が、ネイティブにコンパイルされたアプリケーション/プロセスによって向上されることである。例証される実施形態では、フラッシュVMの動作は、バイナリとしてコンパイルされ、遅過ぎるであろう機能性、あるいはフラッシュVMを通して起動される、および/またはアクションスクリプト内に実装される場合、制約される技術を実装する、ネイティブにコンパイルされたデバイスアプリケーション14およびプラットフォームサービス16を使用して、向上される。デバイスアプリケーションおよびプラットフォームサービスの機能性は、ネイティブにコンパイルされたコードが、フラッシュVM内で実行するSWFファイルによって利用することができる、フラッシュVM外の機能性を実装するために利用され得る様式の実施例として、以下にさらに論じられる。フラッシュアプリケーションへのネイティブに実装された機能性の提供ネイティブにコンパイルされたデバイスアプリケーション14は、ICGによって、コンテンツと関連付けられた一意の識別子URI等であるが、それに限定されないを使用して、再生のためのコンテンツを選択するように、ユーザがトラバースすることができる、階層パスを含む、ICGを生成するために使用される、ナビゲーション階層の取得を含むが、それらに限定されない、ユーザインターフェースの構築において使用される、遠隔サーバから情報を読み出すためのプロセスを効率的に実装する。多くの実施形態では、デバイスアプリケーション14は、ファイルシステムに書き込みを行い、フラッシュVMに内蔵される、フラッシュXMLSocket機能を使用して、非同期的に、フラッシュアプリケーションユーザインターフェースと通信する能力等の機能性を実装する。ネイティブにコンパイルされたプラットフォームサービス16の主要機能は、再生デバイスのハードウェアおよび/またはソフトウェアのメディア再生機能を使用して、メディア再生機能性を処理するためのサポートを提供することである。多くの実施形態では、プラットフォームサービスは、DivX,Inc.SanDiego、CAによって規定される、DivX登録商標およびDivXPlus登録商標フォーマットを含む、種々のフォーマットにおける、コンテンツのストリーミング、逆多重化、デコード、および再生制御を処理する、マルチメディアフレームワークサブシステムを含む。プラットフォームサービスはまた、デバイスユーザインターフェースまたはアプリケーションユーザインターフェースのユーザインターフェース構成要素をロードする際の待ち時間を短縮する、ローカルコンテンツキャッシングサブシステムを含むことができる。ローカルコンテンツキャッシングサブシステムはまた、コンテンツおよび広告を事前にロードし、再生待ち時間を短縮するために使用することができる。プラットフォームサービスは、アプリケーションおよびデバイスセキュリティの管理、ならびにDRM保護コンテンツの再生の調整を含む、種々の他の機能を処理することができる。フラッシュアプリケーションは、デバイスアプリケーション14およびプラットフォームサービス16によって提供される機能性を利用し得る、フラッシュVM内で実行することができる。多くの事例では、デバイスユーザインターフェース20を含む、フラッシュアプリケーションは、一式のアクションスクリプトクラスである、アクションスクリプトフレームワークを通して、デバイスアプリケーション14およびプラットフォームサービス16に結合する。いくつかの実施形態では、アクションスクリプトフレームワークは、SWFファイルとして実装され、アプリケーション、ウィジェット、プレーヤ、およびアプリケーション拡張子もまた、SWFとして展開され、アクションスクリプトフレームワークSWFにロードされる。前述のように、本発明の実施形態による、再生デバイスのためのアプリケーションは、フラッシュアプリケーションおよびデバイスアプリケーションプラグインの組み合わせとして、展開される。本発明のある実施形態による、前述の共通クライアントに類似する共通クライアントに対して、関連付けられた共有ライブラリを伴う、フラッシュアプリケーションとして展開されるアプリケーションが、図2に例証される。デバイスアプリケーションが、共有ライブラリであるとき、アプリケーション24と関連付けられたプラグイン23もまた、共有ライブラリとして展開することができる。その場合、そのようなアプリケーションのためのユーザインターフェース構成要素24は、同一アプリケーションのためのデバイスアプリケーションが展開されたプラグイン23に依存し、その逆ではない。以下にさらに論じられるように、代替技法を利用して、ネイティブコードを共通クライアントにロードし、フラッシュアプリケーションに、フラッシュVMの機能以上の付加的機能性を提供することができる。図1に例証される共通クライアントは、フラッシュVM、アクションスクリプトフレームワーク、デバイスアプリケーション、およびプラットフォームサービスを伴う、具体的構成を利用し、ユーザインターフェースを実装し、アプリケーションをサポートするが、これらの構成要素によって行われる機能は、種々の方法で行われることができる。フラッシュVMの機能以上の機能性を行うためのSWFファイルと、関連付けられたネイティブにコンパイルされたコードとの組み合わせとして展開されるアプリケーションをサポートする、共通クライアントは、本発明の実施形態による、種々の構成のうちのいずれかにおいて、実装することができる。本発明のある実施形態による、再生デバイスが、ネイティブにコンパイルされたソフトウェアプラットフォームを動的にロードし、デバイスアプリケーションおよびプラットフォームサービスによって行われる機能に類似する機能が、ソフトウェアプラットフォームランタイムおよびデバイスアプリケーションコンテナによって行われる、アプリケーションランタイム環境を提供する、共通クライアントは、以下にさらに論じられる。共通クライアントソフトウェアプラットフォームの動的ロード本発明のある実施形態による、ソフトウェアプラットフォームおよびアプリケーションを動的にロードする、共通クライアントがインストールされる、消費者電子機器デバイスが、図3に例証される。図1に示される、共通クライアント10の場合のように、共通クライアント10は、遅過ぎるであろう機能、あるいはフラッシュVMを通して起動される、および/またはアクションスクリプト内に実装される場合、制約される技術を実装する、ネイティブに実装されたフラッシュプレーヤおよびネイティブにコンパイルされたソフトウェアプラットフォームを含む。しかしながら、図3に示される共通クライアント10のソフトウェアプラットフォームおよびソフトウェアプラットフォームによってサポートされるアプリケーションは、動的にロードおよび更新することができる。ソフトウェアプラットフォームを動的にロードさせることは、再生デバイスのROM内に記憶されるネイティブコードの量を低減させ、付加的デバイスサービスおよび特徴を追加するとき、アプリケーションおよびユーザインターフェース構成要素の動的追加を可能にする。ソフトウェアプラットフォームおよびアプリケーションの動的ロードは、米国仮出願第61/430,135号に論じられており、その開示は、参照することによって、前述に組み込まれる。特に、図3に関して、共通クライアント10は、インストーラ26と、ホストアプリケーション25と、を含む。動的にロードされたソフトウェアプラットフォームの構成要素は、デバイスアプリケーションコンテナ32と、プラットフォームランタイムプロセス34と、を含む、ネイティブにコンパイルされたデバイスアプリケーションプロセス30の構成要素を含む。UIアプリケーションコンテナ37は、消費者電子デバイスのフラッシュVM36にロードされる。デバイスユーザインターフェースを含む、フラッシュアプリケーションは、フラッシュアプリケーションモジュール41と、フラッシュVMを補完する機能性を実装する、ネイティブに実装されたデバイスモジュール42と、バンドルのコンテンツおよびその構成詳細を記述するアプリケーションマニフェストファイル43と、を含むことができる、アプリケーションバンドル40として、再生デバイス上にロードされる。例証される実施形態では、共通クライアントはまた、Webkitウェブブラウザ38をネイティブに実装し、アプリケーションバンドルは、HTML5アプリケーションを含むことができる。デバイスアプリケーションコンテナ32は、種々のデバイスユーザインターフェース実装によって再使用することができ、デベロッパに、アプリケーションバンドルの一部として、ロードおよび実行することができる、ネイティブデバイスモジュールに書き込みを行わせる、一式のサービスおよびAPIを提供する。本発明の実施形態による、デバイスモジュール42が、デバイスアプリケーション32内のAPIおよびサービスを利用して、フラッシュVM外の機能を果たすことができる様式が、図4に例証される。UIアプリケーションコンテナ37は、フラッシュVM内で起動し、アプリケーションバンドルに、ユーザインターフェースを起動させ、ソフトウェアプラットフォームの一部としてロードされた主要ユーザインターフェースに統合されるように構成される。UIアプリケーションコンテナはまた、アプリケーションバンドルに、デバイスアプリケーションコンテナ32の機能を活用させる、一式のサービスおよびAPIを公開することができる。多くの実施形態では、プラットフォームランタイムプロセス26は、ソフトウェアプラットフォーム上で起動するアプリケーションに、具体的デバイス機能性のための抽象化レイヤを提示する。プラットフォームランタイムプロセス26によって提示される抽象化レイヤおよびデバイスアプリケーションコンテナ32によって提供されるサービスおよびAPIは、各アプリケーションバンドル内で利用されるネイティブにエンコードされたデバイスモジュールに、非常に少量のネイティブコードのみを使用して、書き込みを行わせる。したがって、アプリケーションを移植および維持するために必要とされる努力は、大幅に削減することができる。加えて、アプリケーションバンドルを動的にロードするための能力は、バンドルのネイティブにエンコードされた部分および/または下層ソフトウェアプラットフォームのネイティブにエンコードされた部分を、更新サーバから、最新バージョンのアプリケーションおよび/またはソフトウェアプラットフォーム構成要素を単にフェッチすることによって、容易に更新することができることを意味する。前述の議論から容易に理解され得るように、共通クライアントは、ネイティブに実装されたフラッシュプレーヤ/フラッシュVMが、ネイティブにコンパイルされたアプリケーション/プロセスによって向上される、種々の方法において、実装することができる。このように実装された共通クライアント上にロードされる、アプリケーションは、フラッシュVMによって提供される機能性および/またはアクションスクリプトを使用して実装することができる機能性に限定されない。代わりに、アプリケーションは、付加的機能性をネイティブに実装し、共通クライアントによって、ネイティブに提供される、付加的通信およびメディア再生機能性にアクセスすることができる。デバイスユーザインターフェースを含む、種々のアプリケーションの実装、ならびに本発明の実施形態による、共通クライアントが、ネイティブに実装されたアプリケーション/プロセスを利用し、アプリケーションによる要求を処理し、メディアをダウンロードおよび再生する様式は、以下にさらに論じられる。ネイティブに実装された機能性前述の共通クライアントは、アクションスクリプトを使用して、ネイティブに実装されたフラッシュVM上で行うことができない、または効率的に行うことができない、機能性を効率的に実装する、ネイティブに実装されたプロセスを含む。ローカルプロセスを使用して、一般的に行われる、機能として、メディアの再生と、遠隔サーバとの通信と、が挙げられる。これらの機能は、インターネットコンテンツガイドICGユーザインターフェースを含む、種々のアプリケーションに照らして、以下に論じられる。共通クライアントを使用するカスタムユーザインターフェースの生成本発明の実施形態による、共通クライアントは、フラッシュVMおよびネイティブに実装されたコードを利用して、カスタマイズされたユーザインターフェースを生成することができる。多くの実施形態では、再生デバイスのインターネット接続は、多くの場合、遠隔施設上でコンテンツにアクセスするために使用することができる、インターネットコンテンツガイドICGユーザインターフェースを生成するために利用され得る、ナビゲーション階層の形態において、メタデータへのアクセスを提供する。いくつかの実施形態では、ユーザインターフェースは、階層的であって、再生デバイスによって再生可能なコンテンツのリストのみを含有する。ユーザインターフェースの階層性質によって、ユーザは、遠隔制御またはゲームコントローラ上の矢印ボタンまたはジョイスティックを使用して、ICGをナビゲートすることができる。ユーザインターフェース内に含有される情報は、再生デバイスのメディア再生ハードウェアおよび/またはソフトウェアを使用して、再生のための適切なコンテンツサイトから、インターネットを介して、コンテンツを読み出すために利用することができる。ICGの生成は、2011年1月5日出願の米国特許出願第12/985,222号SystemsandMethodsforAccessingContentUsinganInternetContentGuideに説明されており、その開示は、参照することによって、全体として本明細書に組み込まれる。コンテンツのローカルキャッシング再生デバイス上でのインターネットコンテンツのキャッシングは、フラッシュアプリケーションの性能を改善することができる。したがって、本発明の実施形態による、多くの再生デバイスは、ローカルコンテンツキャッシングを利用する。次いで、再生デバイスは、キャッシュされたコンテンツを使用して、アクセス時間を短縮し、ネットワークトラフィックを最適化することができる。いくつかの実施形態では、ローカルコンテンツキャッシングは、URI要求を傍受し、ネイティブに実装されたキャッシュマネージャプロセスにリダイレクトする、フラッシュVM内のカスタムURIハンドラを使用して、実装される。いくつかの実施形態では、URI傍受およびリダイレクトは、修正されたHTTPクライアントを使用して、実装することができる。キャッシュマネージャは、永続記憶装置から、ランタイムキャッシュを維持するために使用される、メモリプール内に、キャッシュされたデータ該当する場合をロードすることによって、キャッシュされたデータへのアクセスを設定することができる。次いで、キャッシュマネージャは、対応するURIオブジェクトのためのローカルキャッシュを検索することによって、フラッシュアプリケーションからリダイレクトされたURI要求を処理することができる。URIオブジェクトが、ローカルにキャッシュされていない場合、キャッシュマネージャは、HTTP要求を開始し、URIオブジェクトを取得することができる。キャッシュマネージャはまた、キャッシュ内の期限切れアイテムすなわち、信頼できないことを示す、タイムスタンプを伴う、キャッシュされたオブジェクトのリフレッシュを管理することができる。本発明のある実施形態による、HTTP取得要求を介して、コンテンツを読み出す、再生デバイス上でローカルコンテンツキャッシュを管理するためのプロセスが、図5に例証される。プロセス60は、URI要求が受信され、キャッシュがクエリされると、開始する62。URIオブジェクトが見つからないと、HTTP取得要求が行われ64、URIオブジェクトを取得する。次いで、HTTP応答が、キャッシュ内に記憶され66、プロセスは、オリジナルURI要求を行ったフラッシュアプリケーションによって使用されるためのURIオブジェクトを返す68。要求されたURIオブジェクトが、キャッシュ内に見つかると、URIオブジェクトの鮮度がチェックされ70、キャッシュされたURIオブジェクトが信頼性があるかどうか判定する。URIオブジェクトが新鮮である場合、キャッシュされたURIオブジェクトが、返される68。多くの実施形態では、キャッシュされたURIオブジェクトが新鮮ではないとき、検証ステップが行われ、HTTPを介して、サーバにクエリが行われ72、キャッシュ入力が、依然として、有効であるかどうかをチェックする。URIオブジェクトがキャッシュされているため、データが、修正された場合、HTTP取得要求が行われる64。そうでなければ、キャッシュされたURIオブジェクトが、返される68。具体的プロセスが、図5に例証されるが、具体的アプリケーションの要件に適切な他のプロセスも、本発明の実施形態に従って、利用することができる。種々の技法のいずれも、コンテンツを選択し、キャッシュ内に記憶するために利用することができる。いくつかの実施形態では、要求されたコンテンツは、キャッシュに追加される。いくつかの実施形態では、ユーザインターフェースの状態を使用して、ユーザインターフェースによって提示される、ナビゲーション選択肢に基づいて、要求される可能性が高い、コンテンツを事前にフェッチする。多くの実施形態では、キャッシュされたコンテンツは、コンテンツを選択する際に使用され、新しいコンテンツをキャッシュに追加すると、上書きされることができる、関連付けられた期日経過および/または優先順位を有する。いくつかの実施形態では、コンテンツの種類、コンテンツのサイズ、および/またはコンテンツの期日経過に基づく制限を含むが、それらに限定されない、キャッシュ内に記憶することができる、コンテンツに制限がかけられる。メディアの再生本発明の多くの実施形態による、共通クライアント上に実装される、ユーザインターフェースは、ユーザに、典型的には、マルチメディアコンテンツの逆多重化、暗号解読、デコード、およびレンダリングを調整する、ネイティブに実装されたプロセスを使用して達成される、再生のためのコンテンツを選択させる。多くの事例では、これらの機能を処理する、ネイティブに実装されたプロセスは、共通クライアントのマルチメディアフレームワークと称されることができる。典型的シナリオでは、マルチメディアフレームワークは、フラッシュVM内で起動するアプリケーションから、再生のためのURIまたはURLを受信する。マルチメディアフレームワークは、再生デバイスのメディア再生リソースを利用して、メディア再生を達成する。多くの実施形態では、フラッシュVMとマルチメディアフレームワークとの間の通信は、フラッシュVMと種々の再生デバイスリソースとの間の通信を処理する、プラットフォームサービスによって、仲介される。本発明のある実施形態による、コンテンツの再生の間の、フラッシュVM、プラットフォームサービス、およびマルチメディアフレームワーク間の通信を示す、シーケンス図が、図6に例証される。例証される実施形態では、フラッシュプレーヤは、URIをプラットフォームサービスプロセスに提供し、プラットフォームサービスモジュールは、命令をマルチメディアフレームワークに提供し、URIを開く。類似シーケンスの通信は、マルチメディアフレームワークに、URIによって識別されるメディアを再生するように命令する。URIによって示されるメディアの再生の完了に応じて、メディアフレームワークは、再生が完了したことの通知をプラットフォームサービスに提供し、プラットフォームサービスは、再生が完了したことのXMLメッセージをフラッシュアプリケーションに提供する。具体的シーケンスの通信およびプロセスが、図6に例証されるが、具体的再生デバイスおよび具体的ネイティブに実装されたプロセスに適切な他の通信技法もまた、本発明の実施形態に従って、実装することができる。フラッシュアプリケーションの展開本発明のある実施形態による、遠隔サーバからICGメタデータを取得し、コンテンツサーバからコンテンツを再生し、遠隔サーバからフラッシュアプリケーションを読み出すように構成される、再生デバイスが、図7に例証される。システム100は、前述の共通クライアントに類似する、共通クライアントを含み、ローカルまたはインターネット106を介してコンテンツサイト104でアクセス可能なコンテンツを再生するように構成される、少なくとも1つの再生デバイス102を含む。各再生デバイス102は、インターネットを介して、メタセンター108の一部である、コンテンツメタデータデータベースから、ナビゲーション階層情報を読み出し、読み出された情報を使用して、再生デバイスのコントローラによって、ナビゲート可能なICGを生成する。メタセンターは、コンテンツメタデータデータベース内のコンテンツメタデータの収集および再生デバイスへのナビゲーション階層の通信を管理するように構成される、1つ以上のサーバである。メタセンター108は、いくつかのコンテンツサイト104から利用可能なコンテンツに関するメタデータを取得することによって、コンテンツメタデータデータベースを構築する。メタセンターによるメタデータの収集は、2011年1月5日出願の米国特許第12/985,222号SystemsandMethodsforAccessingContentUsinganInternetContentGuideにより完全に説明されており、その開示は、参照することによって、前述に組み込まれる。再生デバイスはまた、クラウドに提供され得る、アップセンター170から、フラッシュアプリケーションを取得することができる。多くの実施形態では、アプリケーションは、再生デバイス上での実行が可能な任意の機能性を提供することができ、第三者172によって、提供されてもよい。他の実施形態では、本発明の実施形態に従って、種々のアーキテクチャを利用して、再生デバイスに、アプリケーションをダウンロードさせることができる。前述のように、フラッシュVMによってもたらされるもの以上の機能を必要とする、アプリケーションは、SWFとネイティブコードプラグインまたは動的にダウンロードされたモジュールを含むが、それらに限定されないの組み合わせとして、展開することができる。種々のアプリケーションは、前述に概略されたように、実装することができる。特に着目すべきは、コンテンツプレーヤおよび広告プレーヤであって、以下にさらに論じられる。コンテンツプレーヤおよび広告プレーヤ多くの異なる広告およびメトリックサーバソリューションが、存在し、異なるコンテンツプロバイダが、その事業の必要性に応じて、これらの選択肢を統合する。最も多くの場合、ビデオコンテンツプロバイダは、ウェブブラウザがコンテンツにアクセスすると表示される広告とともに、コンテンツをインターネット上に公開する。多くの実施形態では、再生デバイスは、コンテンツの再生および関連付けられた広告を可能にする、アプリケーションを含む。ICGは、米国特許第12/985,222号に説明されるプロセスに従って、内蔵することができる。ICGは、コンテンツサイト上に位置するコンテンツおよびコンテンツと関連付けられた広告に関する情報を含むことができる。再生デバイスは、コンテンツおよび広告に関する情報を読み出し、コンテンツおよび広告の両方を視聴者に提示することができる。コンテンツサイトのオペレータの代わりに、広告を提示し、メトリックを収集するのに加え、広告プレーヤアプリケーションは、再生デバイスおよび/またはICGのオペレータに特異的付加的広告を提示するために使用されることができる。アプリケーションはまた、再生デバイス上で提示された広告および/または再生デバイスの動作の他の側面に関するメトリックを収集することができる。いくつかの実施形態では、種々のビデオプレーヤアプリケーションは、広告プレーヤ、コンテンツプレーヤ、およびメトリックプレーヤを含むが、それらに限定されない、本発明の実施形態による、共通クライアントによって、ロードすることができる。用語ビデオプレーヤまたはビデオプレーヤアプリケーションは、本発明の実施形態による、共通クライアント上での再生のためのコンテンツプロバイダのビデオコンテンツを統合するために使用される、異なる種類の1つ以上のプレーヤアプリケーションを説明する、一般的用語である。本用語はまた、協働する一式のプレーヤ広告、コンテンツ、および/またはメトリックプレーヤを説明するためにも使用することができる。用語ビデオプレーヤが使用されるが、ビデオプレーヤは、任意の種類のコンテンツを再生することができる。用語広告プレーヤは、バックエンド上の広告サービスと相互作用し、広告を視聴されているビデオに関連付ける、ビデオプレーヤを説明するために使用することができる。コンテンツプレーヤは、実際のビデオコンテンツのレンダリングに焦点を当てたビデオプレーヤである。サイトは、具体的コンテンツプレーヤ例えば、ビデオ、音楽、または写真、広告プレーヤ、およびメトリックプレーヤを必要としてもよい。しかしながら、所与のコンテンツ、広告、またはメトリックプレーヤは、2つ以上のサイトによって、使用することができ、具体的コンテンツサイトと関連付けられた各種類のプレーヤのうちの2つ以上が存在してもよい。プレーヤは、典型的には、フラッシュVM内に常駐する共通クライアント例えば、アクションスクリプトフレームワークまたはUIコンテナの一部によって、ロードされる。再生デバイスのデフォルトコンテンツプレーヤとフラッシュVMにロードされた付加的プレーヤとの間の相互作用は、ビジネルルールとして、規定することができる。本発明のある実施形態による、汎用コンテンツプレーヤが、再生デバイス上で利用される、ビデオプレーヤインフラストラクチャの機能的構成要素が、図8に例証される。例証される実施形態では、デバイスのICGユーザインターフェースIVN204は、共通クライアントのフラッシュフレームワークの一部を形成する、アプリケーションローダプロセス204によって、ロードされる。ユーザ命令に応答して、ICGアプリケーションは、汎用コンテンツプレーヤアプリケーション206を立ち上げ、付加的コンテンツプレーヤアプリケーションをロードするために必要とされる、汎用コンテンツプレーヤに、情報をパスすることができる208、210。付加的構成要素は、典型的には、パッケージ内に、一意のID、構成要素を含有するモジュールへのURL、およびプレーヤアプリケーションの種類を伴って、説明される。広告プレーヤ208は、広告プレーヤインターフェースを実装し、メトリックプレーヤ210は、メトリックプレーヤインターフェースを実装する。コンテンツプレーヤは、種々の種類の広告が、表示されるべきとき、広告プレーヤによって、コンテンツプレーヤ206に通知するために使用される、広告コールバックインターフェースを公開する。共通クライアントのユーザインターフェースは、コンテンツプレーヤアプリケーション206によって、広告表示メッセージバーナー、プリロール、ミッドロール、およびポストロールおよびコンテンツ状態メッセージならびにコンテンツ内で見つけられたメタデータ等、ユーザインターフェースアプリケーションにイベントを送信するために使用される、プレーヤコールバックインターフェースを開示することができる。共通クライアントフラッシュフレームワークはまた、コンテンツ特異的コンテンツプレーヤアプリケーションの使用を可能にする。本発明のある実施形態による、ICGユーザインターフェースが、カスタムコンテンツプレーヤアプリケーションが関連付けられる、コンテンツを再生するためのユーザ命令を受信すると、コールされる、ビデオプレーヤの機能的構成要素が、図9に例証される。例証される実施形態では、カスタムコンテンツプレーヤアプリケーション212は、広告プレーヤ208と、メトリックプレーヤ210と、を含む。前述のように、コンテンツと関連付けられていない広告もまた、再生デバイスによって、表示されることができ、メトリックは、再生デバイスによって、収集することができる。付加的広告およびメトリックプレーヤアプリケーションは、本目的のために、再生デバイスによって、利用されることができ、デバイスのユーザインターフェースは、要求されたプレーヤを直接コールすることができる。代替として、図10に例証されるように、より明快なソリューションは、プレーヤプロキシを返すことである。例証される実施形態では、ICGユーザインターフェース206は、共通クライアントのメトリックプレーヤアプリケーション216をコールする、コンテンツプレーヤプロキシアプリケーション214、およびコンテンツプレーヤアプリケーション216をコールする。定義されたビジネスルールに応じて、プロキシ214は、共通クライアントのコンテンツプレーヤアプリケーションまたは第三者コンテンツプレーヤアプリケーションのいずれかをコールすることができる。第三者広告およびメトリックプレーヤアプリケーション208、210もまた、コールされることができる。特定のコンテンツのためにアクティブ化されるプレーヤビデオ、広告、およびメトリックは、そのコンテンツと関連付けられた情報によって、判定される。特定のコンテンツのためのICGデータは、ICGユーザインターフェースによって、取得される。特定のコンテンツプレーヤを必要とする、コンテンツを再生する前に、ICGユーザインターフェースアプリケーションは、共通クライアントフラッシュフレームワークを使用して、必要とされるコンテンツプレーヤをロードする。本発明の実施形態による、プレーヤを立ち上げるためのプロセスが、図11に例証される。例証される実施形態では、ICGユーザインターフェースアプリケーション206が、立ち上げられ、遠隔サーバから、特定のコンテンツを再生するためのプレーヤアプリケーションを識別する情報を含む、ICG情報を受信する。関連付けられたコンテンツプレーヤ、広告プレーヤ、および/またはメトリックプレーヤによって、コンテンツの再生を要求する、ユーザ命令に応答して、ICGユーザインターフェースアプリケーション206は、共通クライアントフラッシュフレームワーク202内のアプリケーションローダ204を利用して、適切なプレーヤアプリケーションを要求する。例証される実施形態では、コンテンツプレーヤアプリケーション208が、要求される。アプリケーションローダ204は、ICGユーザインターフェースアプリケーション206からの要求の一部として受信されたURLを使用して、コンテンツプレーヤ208をロードするための要求を発行することによって、要求に応答する。ローカルキャッシングが、共通クライアント内で利用されると、ローカルリソースキャッシュ230がチェックされ、コンテンツプレーヤ208がキャッシュされたかどうか判定する。コンテンツプレーヤ208が、キャッシュされていない場合、コンテンツプレーヤは、アプリケーションサーバ170からロードされ、キャッシュされる。アプリケーションローダ204が、要求されたコンテンツプレーヤ208のインスタンスを作成し、それに対するインターフェースをICGユーザインターフェースアプリケーション206に返し、次いで、インスタンスが作成されたコンテンツプレーヤと相互作用することができる。再生デバイスによって再生されるコンテンツのソースに基づいて、ビデオプレーヤアプリケーションをコールするための具体的プロセスが示されるが、本発明の実施形態に従って、共通クライアントのICG内にリスト化されたコンテンツを提供する、サイトの代わりに、広告の再生およびメトリックの収集を可能にする、種々のプロセスのいずれかを利用することができる。本発明は、ある具体的側面において説明されたが、多くの付加的修正および変形例が、当業者には明白であろう。したがって、本発明は、具体的に説明されるもの以外にも、実践されてもよいことを理解されたい。したがって、本発明の実施形態は、あらゆる観点から、制限ではなく、例証として、見なされるべきである。"