(57)【要約】所定の制約セットに基づき、コンテンツプロバイダーからのメディアコンテンツが、メディアを視聴する前にユーザ装置のローカルキャッシュに送出される。クライアント資産管理プロセスはユーザ装置に常駐し、コンテンツプロバイダーサイトの資産リスト及びメディア資産は遠隔サイトに設けられる。
2005537707.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて資産を送出する方法であって、
資産リストを、コンテンツプロバイダーによってネットワークを通じてユーザ装置に提供し、前記ユーザ装置はクライアントプロセスを含み、
前記資産リストに対応する資産を、所定の制約を満足するときにネットワークを通じてユーザ装置に送出することを特徴とする方法。
【請求項２】
前記資産が、オーディオコンテンツと、ビデオコンテンツと、テキストコンテンツと、ユーザライセンスに対する権利と、マルチメディアファイルとのうちの少なくとも一つであることを特徴とする、請求項１記載の方法。
【請求項３】
前記資産リストが、前記ユーザからの要求によって生成されることを特徴とする、請求項１記載の方法。
【請求項４】
さらに、コンテンツプロバイダーのコンテンツウェブサイトにアクセスすることを特徴とする、請求項１記載の方法。
【請求項５】
前記所定の制約が、遊休状態である前記ユーザ装置と、ネットワークサービス品質（ＱＯＳ）と、所定の動作レベル未満である回線容量使用とのうちの少なくとも一つであることを特徴とする、請求項１記載の方法。
【請求項６】
前記所定の制約が、前記ユーザ装置ＣＰＵ使用及び所定の動作レベル未満である前記ユーザ装置のメモリ使用のうちの少なくとも一つであることを特徴とする、請求項１記載の方法。
【請求項７】
前記クライアントが、前記資産の前記送出を前記コンテンツプロバイダーから前記ネットワークを通じて前記ユーザ装置に対して開始することを特徴とする、請求項１記載の方法。
【請求項８】
前記資産が、ローカルキャッシュに格納されることを特徴とする、請求項１記載の方法。
【請求項９】
さらに、前記格納された資産をリアルタイムコンテンツと共に提供し、前記リアルタイムコンテンツが前記コンテンツプロバイダーによって提供されることを特徴とする、請求項８記載の方法。
【請求項１０】
時間帯が所定の制約に含まれることを特徴とする、請求項１記載の方法。
【請求項１１】
さらに、前記ユーザ装置ＣＰＵ使用、前記回線容量使用、前記ローカルキャッシュ使用及びユーザ装置活動タイマーから、少なくとも一つのパラメータを決定することを特徴とする、請求項８記載の方法。
【請求項１２】
さらに前記資産が前記ユーザに使用されない場合には、代替資産を、リアルタイムコンテンツと共に前記コンテンツプロバイダーから提供することを特徴とする、請求項８記載の方法。
【請求項１３】
コンテンツの継続的かつ割り込まれないストリームを、ネットワークを通じてユーザに提供する方法であって、
資産リストを、コンテンツプロバイダーによって前記ネットワークを通じてクライアントプロセスに供給し、前記クライアントプロセスが前記ユーザの装置内で動作し、
所定の制約を満足するときに、資産を遠隔場所から前記ネットワークを通じて送出し、前記遠隔場所の情報を前記資産リストから取得し、
前記送出された資産を、前記ユーザ装置によって前記遠隔場所から前記ネットワークを通じて受信されたコンテンツストリームに統合し、これによって、コンテンツの継続的かつ割り込まれないストリームを、ユーザに提供することを特徴とする方法。
【請求項１４】
前記資産が、オーディオコンテンツと、バイナリーデータコンテンツと、ビデオコンテンツと、使用許可権と、テキストコンテンツと、マルチメディアファイルとのうちの少なくとも一つであることを特徴とする、請求項１３記載の方法。
【請求項１５】
前記資産リストが、前記コンテンツプロバイダーによって前記クライアントプロセスに提供されることを特徴とする、請求項１３記載の方法。
【請求項１６】
さらに、コンテンツプロバイダーのコンテンツウェブサイトにアクセスすることを特徴とする、請求項１３記載の方法。
【請求項１７】
前記所定の制約が、遊休状態である前記ユーザ装置と、ネットワークサービス品質（ＱＯＳ）と、所定の動作レベル未満である回線容量使用とのうちの少なくとも一つを有することを特徴とする、請求項１３記載の方法。
【請求項１８】
前記所定の制約が、前記ユーザ装置に対するＣＰＵ使用及び所定の動作レベル未満である前記ユーザ装置メモリ使用のうちの少なくとも一つを有することを特徴とする、請求項１３記載の方法。
【請求項１９】
前記クライアントが、前記資産の前記送出を前記コンテンツプロバイダーから前記ネットワークを通じて前記ユーザ装置に対して開始することを特徴とする、請求項１３記載の方法。
【請求項２０】
前記資産が、ローカルキャッシュに格納されることを特徴とする、請求項１３記載の方法。
【請求項２１】
さらに、前記格納された資産をリアルタイムコンテンツと共に提供し、前記リアルタイムコンテンツが前記コンテンツプロバイダーによって提供されることを特徴とする、請求項２０記載の方法。
【請求項２２】
時間帯が所定の制約に含まれることを特徴とする、請求項１３記載の方法。
【請求項２３】
さらに、前記ユーザ装置ＣＰＵ使用、前記回線容量使用、前記ローカルキャッシュ使用及びユーザ装置活動タイマーから、少なくとも一つのパラメータを決定することを特徴とする、請求項２０記載の方法。
【請求項２４】
さらに前記資産が前記ユーザに使用されない場合には、代替資産を、リアルタイムコンテンツと共に前記コンテンツプロバイダーから提供することを特徴とする、請求項２０記載の方法。
【請求項２５】
前記資産リストが、コンテンツプロバイダーによって前記クライアントプロセスに送出されることを特徴とする、請求項１３記載の方法。
【請求項２６】
コンテンツの継続的かつ割り込まれないストリームをインターネットを通じてユーザに提供するシステムであって、
前記システムが、クライアントプロセスに対する前記インターネットを通じたコンテンツプロバイダーによって利用でき、前記クライアントプロセスが前記ユーザの装置内で動作する資産リストと、
所定の制約を満足するときに、前記ユーザ装置に対するネットワークを通じた遠隔場所から利用でき、前記遠隔場所の情報を前記資産リストから得る資産とを具えることを特徴とするシステム。
【請求項２７】
前記送出された資産を、前記ユーザ装置によって前記遠隔場所から前記インターネットを通じて受信されるコンテンツストリームに統合する統合ツールを更に有し、それによって、コンテンツの途切れないストリームをユーザに提供することを特徴とする、請求項２６記載のシステム。
【請求項２８】
前記資産が、オーディオコンテンツと、ビデオコンテンツと、バイナリーデータコンテンツと、テキストコンテンツと、マルチメディアファイルとのうちの少なくとも一つであることを特徴とする、請求項２６記載のシステム。
【請求項２９】
前記資産リストが、前記コンテンツプロバイダーによって前記クライアントプロセスに提供されることを特徴とする、請求項２６記載のシステム。
【請求項３０】
さらに、コンテンツプロバイダーのコンテンツウェブサイトにアクセスすることを特徴とする、請求項２６記載のシステム。
【請求項３１】
前記所定の制約が、遊休状態である前記ユーザ装置及び所定の動作レベル未満である回線容量使用のうちの少なくとも一つを有することを特徴とする、請求項２６記載のシステム。
【請求項３２】
前記所定の制約が、前記ユーザ装置ＣＰＵ使用又は所定の動作レベル未満である前記ユーザ装置メモリ使用を有することを特徴とする、請求項２６記載のシステム。
【請求項３３】
前記クライアントが、前記資産の前記送出を前記コンテンツプロバイダーから前記ネットワークを通じて前記ユーザ装置に対して開始することを特徴とする、請求項２６記載のシステム。
【請求項３４】
前記資産が、ローカルキャッシュに格納されることを特徴とする、請求項２６記載のシステム。
【請求項３５】
さらに、前記格納された資産をリアルタイムコンテンツと共に提供する手段を具え、前記リアルタイムコンテンツが前記コンテンツプロバイダーによって提供されることを特徴とする、請求項３４記載のシステム。
【請求項３６】
時間帯が前記所定の制約に含まれることを特徴とする、請求項２６記載のシステム。
【請求項３７】
さらに、前記ユーザ装置ＣＰＵ使用、前記回線容量使用、前記ローカルキャッシュ使用及びユーザ装置活動タイマーから、少なくとも一つのパラメータを決定する手段を具えることを特徴とする、請求項３４記載のシステム。
【請求項３８】
さらに前記資産が前記ユーザに使用されない場合には、代替資産を、リアルタイムコンテンツと共に前記コンテンツプロバイダーから提供する手段を具えることを特徴とする、請求項３４記載の方法。
【請求項３９】
前記資産リストが、前記コンテンツプロバイダーによって定期的にアップデートされることを特徴とする、請求項２６記載のシステム。
【請求項４０】
前記クライアントプロセスが、複数の資産リストと結合することを特徴とする、請求項２６記載のシステム。
【請求項４１】
前記資産リストが、使用期限、コールバックＵＲＬ、クライアント側トークン、スロットルパラメータ、リフレッシュ速度パラメータ、削除資産フラグ、ヘルプリンク及びリソースパス情報のうちの少なくとも一つを有することを特徴とする、請求項２６記載のシステム。
【請求項４２】
前記資産が、前記ユーザ装置に対する前記資産の送出前に、ケーブルプロバイダー又はインターネットサービスプロバイダーのうちの少なくとも一つに送出され、前記ケーブル及びインターネットサービスプロバイダーが前記ユーザ装置に地理的に近いことを特徴とする、請求項２６記載のシステム。
【請求項４３】
コンテンツのストリームをネットワークを通じてユーザに提供する方法であって、
資産リストを、コンテンツプロバイダーによってネットワークを通じてクライアントプロセスに供給し、前記クライアントプロセスが前記ユーザの装置を動作し、
資産を、遠隔場所からネットワークを通じて前記ユーザ装置に送出し、前記遠隔場所の情報を前記資産リストから取得し、
前記送出された資産を、前記遠隔場所から前記ネットワークを通じて前記ユーザによって受信されるコンテンツストリームに統合し、
前記資産及び前記コンテンツストリームが、前記ユーザに対してほぼ途切れなく提供されることを特徴とする方法。
【請求項４４】
コンテンツの継続的かつ割り込まれないストリームを、ユーザにインターネットを通じて提供するシステムであって、
前記システムが、クライアントプロセスに対する前記インターネットを通じたコンテンツプロバイダーによって利用でき、前記クライアントプロセスが前記ユーザの装置で動作する資産リストと、
所定の制約を満足するときに、前記ユーザ装置に対するネットワークを通じた遠隔場所から利用でき、前記遠隔場所の情報を前記資産リストから取得する資産と、
前記資産を、前記ユーザ装置によって前記システムは前記遠隔場所から前記インターネットを通じて受信したコンテンツストリームに統合し、これによってコンテンツの割り込みのないストリームを前記ユーザに提供する統合ツールとを具え、
前記所定の制約が、遊休状態である前記ユーザ装置と、所定の動作レベル未満である前記インターネット回線容量使用と、時間帯と、前記ユーザ装置ＣＰＵ使用と、所定の動作レベル未満であるメモリ使用とのうちの少なくとも一つを有することを特徴とするシステム。
【請求項４５】
資産をネットワークを通じて受信する方法であって、
資産リストを、コンテンツプロバイダーによってネットワークを通じてクライアントに送出し、前記クライアントがユーザ装置で作業し、
所定の制約を満足するときに、前記資産リストに対応する前記資産を、前記ネットワークを通じて前記ユーザ装置で受信し、
前記所定の資産は、遊休状態である前記ユーザ装置と、ネットワークサービス品質（ＱＯＳ）と、所定の動作レベル未満である前記ネットワーク回線容量と、前記ユーザ装置ＣＰＵ使用と、所定の動作レベル未満である前記ユーザ装置のメモリ使用とのうちの少なくとも一つであることを特徴とする方法。
【請求項４６】
ホームメディアライブラリを、ネットワークを通じてユーザに提供する方法であって、
資産リストを、コンテンツプロバイダーによって前記ネットワークを通じてセットトップボックスに供給し、前記セットトップボックスが、前記資産の配送を管理するクライアントプロセスを有し、
前記遠隔場所の情報が前記資産リストから得られる前記クライアントプロセスによって示されるように、所定の制約を満足するときに、資産を遠隔場所から前記ネットワークを通じてセットトップボックスに送出することを特徴とする方法。
【請求項４７】
格納及び連続して見るビューアーのビューアーのホーム内のセットトップボックスに動画を送信する方法であって、
メディア資産リストをコンテンツプロバイダーからセットトップボックス上で受信し、前記メディア資産リストが、ダウンロードされるメディア資産のリスト及び前記メディア資産の夫々の位置についての情報を有するステップと、
メディア資産がセットトップボックスに送信される必要があることを決定するメディア資産リストを読み出すとともに、所定の制約に基づくデジタルメディアの送出を管理するセットトップボックス上でクライアントプロセスを実行するステップと、
前記所定の制約を満足するときに、デジタルメディア資産を遠隔コンテンツプロバイダーから前記セットトップボックスにダウンロードするステップと、
前記ユーザがテレビジョン又は別のディスプレイ装置によって連続して見るための前記セットトップボックス上で前記ダウンロードしたデジタルメディア資産を格納するステップとを具えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高品質のメディアに基づくコンテンツを、使用できるネットワーク回線容量（bandwidth）が十分でなくても保証されたサービス品質（QOS:Quality of Service）でネットワークを通じてユーザ又はプロセスに送出し及び提供することに関する。
【背景技術】
【０００２】
発明者は、ネットワーク技術の発展に関してでさえ、豊富で質の高い知識を送出する（delivering）ことが課題として残っているのを認識している。特に、オーディオ、ビデオ、フラッシュ、ゲーム、データ又は他のデジタルメディアフォーマットであろうとも、多メディア資産（large media assets）を送出することは、しばしば、利用できるものを超えるネットワーク回線容量／スループットを必要とする。例えば、オーディオ及びビデオの場合、高ビットレート資産は、ユーザの有用回線容量が少なくとも資産のビットレートに等しいか否かをリアルタイムで送出することしかできず、そうでない場合、スタッター、停止及びコンテンツバッファリングを伴う準最適ユーザ経験（sub-optimal user experience）を経る結果となる。
【０００３】
一方、実行可能な大きなゲームは、ビデオの場合、同様なリアルタイム制約（又は要求されるサービス品質）を持つことができない。しかしながら、最速のネットワークでさえダウンロードする資産（asset）は、ユーザのために十分な時間及び諸経費を必要とする。市場における多くの「ダウンロード管理」は、ユーザのためにこれを留意するが、コンテンツプロバイダーは、ユーザの注意を必要とすることなく簡潔かつ分かりやすい方法で資産のダウンロードをユーザ装置（例えば、コンピュータ、メモリ及び／又はプロセッサを持つセットトップボックス、装置）に対して理知的かつ適応的に管理することが望まれる。
【０００４】
このことを考えると、ユーザに対する大きく高品質のメディア資源を、それらの限られた回線容量を時間シフト方法で使用して、管理し及び送出することが必要である。すなわち、コンテンツを、利用可能な回線容量及び遊休サイクルを介してユーザに控えめに送出することができる必要があり、その結果、高品質コンテンツが要求されるとき、それが、要求に応じて直ぐに利用できるとともに、妥協しないユーザ経験が伝えられる。言い換えると、このことは、ユーザが実際に利用できる回線容量よりも有効な回線容量を有するという誤解を与える。このため、さらに、送出及びプレゼンテーションプラットフォーム（ウェブブラウザ、フラッシュ及び別のプラットフォームに少なくとも限られず含まれる）をコンテンツ公表システムに途切れなく統合（integrate）するこの技術が必要とされる。本発明は、これ及び他の機能性を達成するとともに、さらに従来技術の限界を向上する。
【０００５】
理解を容易にするため、以下の定義がこの出願を通して適用されるが、定義しないものは、リストに記載された項目の任意に周知の理解に取り替えるものであることを考慮に入れる。
【０００６】
用語説明
１．スループット − 特定時間における一つの場所から別の場所に送信されるデータ量。典型的には、スループットは、ｋｂｐｓ、Ｍｂｐｓ及びＧｂｐｓで測定される。
２．サービス品質，ＱＯＳ − 保証されたスループットレベルを特定する条件
３．クライアントプロセス − サーバプロセスからのキャッシュ／ディスプレイ管理命令又はヒントを受信し、その後、キャッシュの現在の状態を希望する状態に従って望まれる状態にする命令を実行するとともに、一以上の通知とユーザに対してトリガするか又はそれと同様なことをする別の処理をトリガしても良い。
４．キャッシュ − 「既知」の有用性又はＱＯＳを有する資産の格納。このコンテンツのキャッシュは、ＱＯＳがコンテンツ要求を満たすとともに一般的に資産を得るために使われるメディアよりも高くなる。キャッシュ内部の状態変化は結果として命令になる。
５．サーバプロセス − キャッシュの状態を管理するため、クライアントが要求する情報をクライアントに提供する。最も簡便な実施において、プレイリストを生成する擬似的な動的サーバに似ている。さらに複雑な実施（我々の全て）は、クライアント用の制御命令を、資産の特定のセットに対して進展する他のプロセスに知らせるようにする。
６．使用期限 − 資産の使用期限であって、資産がローカルキャッシュから消去されるときを示す。
７．コールバックＵＲＬ − 一旦、資産項目がダウンロードされると検索されるＵＲＬである。
８．クライアント側トークン − 項目がダウンロードされたときに設定されるトークン（token）又はクッキー（cookie）である。これは、クライアント又はサーバアプリケーションにローカルシステム上の資産の存在を決定することを許容する。
９．停止時間 − これは資産が使われた最新の時間を示す。
１０．削除 − これは、資産が（使用期限を無効にするため）明白な削除に印がつけられることを示す。これは資産の取り消しを許可する。
１１．リフレッシュ率 − 大抵、クライアントが変化のために資産リストをどの程度チェックするかを決定する。
１２．リソース・パス − 資産リストに結合されるかなり多くのリソースのネットワーク場所。
１３．メディア資産（Media Assets） − テキスト、オーディオ、ビデオ及びバイナリ ファイル／データのうちの少なくとも一つ。
１４．項目 − 単一メディアファイル
１５．リンク − メディアファイル用ＵＲＬ
１６．ヒットカウントＵｒｌ − ファイルのダウンロード成功して後に音を出すためのＵＲＬ。パラメータ、所要時間がＵＲＬの末尾に付加されて、ダウンロードにどのくらいの期間がかかったかを秒で示す。
１７．ヘルプＵｒｌ − ユーザがヘルプメニュー項目を選択する場合に表示されるクライアントプロセスヘルプ用ＵＲＬ。
１８．クッキー付きトラック − この資産がクッキーネームによって特定されたクッキーで資産のリストに加えられるということが存在すればそれを示す選択的要素。
１９．クッキーネーム − トラック付きクッキー要素が存在する、ダウンロードされた全資産をリストアップするクッキーの名前。このクッキーは、扱われる（serving）adに不可欠であるため、adサーバはどのadがダウンロードされたかが分かる。クッキーのフォーマットはコンマによって区切られた（拡張又はパスのない）ファイルの名前だけで構成される。
２０．クッキードメイン − ダウンロードされた資産クッキーに設けられるドメイン。複数ドメインが、セミコロン又はコンマによって区切られているか否かを特定することができる。
２１．/regserver − アクティブＸがシステムで制御するとともにクライアントプロセスをスタートアップフォルダに加えるレジスタ。
２２．/shutdown − 存在すれば、クライアントプロセスのインスタンスを別に実行する停止。
２３．/unregserver − アクティブＸが制御するとともにスタートアップフォルダからショートカットを除去するアンレジスタ。さらに、clientprocess.exeの実行インスタンスを停止するとともにＣＯＭ目的レジストリエントリーを除去する。
２４．ＣＤＮ − コンテンツ割り当てネットワーク（Content Distribution Network）。コンテンツサーバの第三者によって所有されるとともに操作されるコンテンツサーバの連合グループ。一般的に、高分散化されたサーバのコレクションを用いて、ＣＤＮサービスが付加的容量を供給することを実行する。
【発明の開示】
【０００７】
本発明は、所定の命令セットに基づき、メディアを見ることに先立って、メディアコンテンツがコンテンツプロバイダーからユーザ装置のローカルキャッシュに送出されるシステム及び方法を提供する。資産リストは、クライアント装置にダウンロードされるメディア資産に関する情報を具え、コンテンツプロバイダーからユーザ装置に送信される。資産リストは、例えば、メディア資産の位置に関する情報又はＵＲＬを含む。
【０００８】
クライアント資産管理プロセスは、ユーザ装置内に常駐（reside）するとともにコンテンツプロバイダーから資産をダウンロードすることを担う。資産管理は遠隔サイトに位置するメディア資産を要求する資産リストを使用する。クライアントプロセスは、定期的に、特定の制約が満たされた場合にユーザ装置に対して資産の送出を管理する。例えば、利用できる最適なネットワーク回線容量、ユーザ装置メモリ、保証されたサービス品質等がある場合に、資産がユーザに対して送出される。
【０００９】
したがって、本発明は、継続的、割り込みなしでかつほぼ途切れることのないメディアコンテンツの（視覚的かつ聴覚的な）ディスプレイを、ユーザに対するメディア資産の十分な送出によって、提供する。これらの資産を視聴手段（例えば、ウェブブラウザ）に統合することによって、ユーザは、リアルタイムバッファリングを必要としないメディアコンテンツの不断かつ継続的なストリームを提供される。
【００１０】
さらに、本発明は、一以上の大きなメディア資産すなわちオーディオコンテンツ、ビデオコンテンツ、映画、ゲーム等を、ネットワークを通じてローカル資産記憶装置に、分かりやすくかつ適応性を以って送出する向上した方法を提供する。したがって、ローカル資産記憶装置は、クライアント装置又はエンドユーザ装置及び比較的高いサービス品質の保証される場所に利用できる。また本発明は、これら資産を、ほぼ途切れることのないプレゼンテーションに、資産のローカルな利用性に基づき結合する適応方法を具える。
【００１１】
本発明は、資産を、ネットワークを通じて送出する方法を具える。方法は、資産リストを、ネットワークを通じてユーザ装置に供給することを具える。さらに、方法は、ユーザ装置で作業するクライアントを有する。クライアントは、ユーザ装置にダウンロードされるとともに送出される資産で資産リストを参照する。さらに、クライアントは、所定の制約の少なくとも一つを満足する場合に基づいた資産のダウンロードを管理する。
【００１２】
コンテンツプロバイダーは、ユーザ装置であるprioriにデジタル資産を置くことができるので、ユーザは必要なときにネットワークダウンロードせずに、直ぐに使用のために利用することができる。これは、ユーザ又はプロセスによって明らかに要求された場合に生じさせるか、加入サービスに基づいたコンテンツプロバイダーによって開始させることができる。
【発明を実施するための最良の形態】
【００１３】
さらに、本発明を、添付図面を参照して説明する。
Ａ．一般的な説明
継続的、割り込みなしでかつほぼ途切れることのないメディアコンテンツの（視覚的かつ聴覚的な）ディスプレイが、メディア資産の効率的な送出によって、ユーザに対して提供される。特に、資産は、特定の制約が満たされたとき（例えば、ネットワーク回線容量使用可能性、ユーザ装置メモリ、保証されたＱＯＳ等）にユーザ装置に送出される。これら資産を視聴手段（例えば、ウェブブラウザ）に統合することによって、ユーザは、リアルタイムバッファリングを必要としないメディアコンテンツの割り込みなしでかつ継続的なストリームを提供される。
【００１４】
一以上の大きなメディア資産、例えば、オーディオコンテンツ、ビデオコンテンツ、映画、ゲーム等は、ネットワークを通じてローカル資産記憶装置に対して、分かりやすくかつ適応性を以って送出される。すなわち、ローカル資産記憶装置は、クライアント又はエンドユーザ装置及び比較的高いＱＯＳが保証される場所で利用することができる。また、これら資産を、ほぼ途切れることのない、資産のローカル利用可能性に基づいたプレゼンテーションに結合する適合方法がある。
【００１５】
ＱＯＳが保証されるローカル資産記憶装置の一例は、ユーザ装置が接続されるローカルエリアネットワーク（ＬＡＮ：Local Area Network）によって提供されるデータ記憶装置設備である。ローカル利用可能性によって、資産は、エンドユーザ又はプロセス格納システム（即ち、クライアントとローカル記憶装置との間で高スピードネットワークを持つローカル記憶装置）にローカルで利用することができる。
【００１６】
一実施の形態において、プロセス又はアプリケーションは、ここではクライアントと証するユーザの装置で動作する。クライアントは、ユーザのローカル記憶装置上のコンテンツのキャッシュの管理を担う。アプリケーション、ウェブページ及びマルチメディアプレゼンテーションは、その後、既に常駐する大メディア資産を組み込むためにこのキャッシュに依存することができる。アプリケーション、ウェブページ及びマルチメディアプレゼンテーションは、利用できるコンテンツを取り巻くユーザ経験の動的な調整及びそのコンテンツについてキャッシュに問い合わせることができる。これらアプリケーションは、アプリケーション側のクライアント又はサーバとする。
【００１７】
クライアントは、インターネットからダウンロードされるとともにユーザ装置にインストールされるサービスである。クライアントは、コンピュータオペレーティングシステムの中心部として代替的に提供され又は他のソフトウエアアプリケーションと束ねられる。
【００１８】
クライアントは、エンドユーザ用のメディア資産のキャッシュを管理する。一実施において、キャッシュに具えられる資産は、コンテンツプロバイダーによって提供される資産リストによって指示される。この実施において、クライアントは、資産リストを、特定かつ調和した時間間隔でネットワーク場所から検索する。資産リストの情報に基づき、クライアントは、所定の制約を満足する場合に、資産のダウンロードを遠隔場所から管理する。
【００１９】
クライアントは一以上の資産リストに関連することを許可されるから、複数のサービスプロバイダー又は一つのサービスプロバイダーの複数ビジネスユニットは、それら自身の資産リストを別々に維持することができるとともに、ダウンロードを管理する同じクライアントを使用することができる。さらに、クライアントがインストール又はアップデートされる場合、クライアントが資産リストの場所を気付かせることができる。インストールは、ウェブページから開始される。それでもクライアントがクライアント装置にインストールされない場合、ウェブページのソフトウエアはこのことを検出するとともに、ユーザに対してクライアントをダウンロードするとともにインストールするよう促す。さらに、ウェブページの（Active Ｘ制御で組み合わされた）スクリプトを通じて資産リストをクライアントに加えることができる。
【００２０】
クライアントは、所定の制約に基づき、資産のダウンロードを管理する。これまで説明したように、所定の制約は、例えば、ネットワーク回線容量利用可能性、ユーザ装置メモリ、時間帯及び保証されたサービス品質を含む。すなわち、クライアントの一実施において、ユーザ装置が遊休状態である場合、ダウンロードが行われるにすぎない。他の実施において、ネットワーク機能が所定レベル未満である場合だけ、クライアントプロセスはダウンロードする。他の例において、クライアントプロセスは、ユーザ装置のＣＰＵ及びメモリ使用を計測し、使用が所定レベル未満である場合、所定の制約が満足される。さらに、他の例において、クライアントプロセスは、時間帯に基づくとともにネットワーク使用が統計的に最低である場合に資産のダウンロードを管理する。クライアントプロセスは、当然、資産のダウンロードを管理する制約の任意の組合せを更に利用することができる。
【００２１】
ダウンロード性能は、ユーザによってオンとオフとを切り替えられる。さらに、ユーザは、装置がある種のネットワーク上（例えば、ダイアルアップ接続に対するＬＡＮ上）にある場合にダウンロードが行われるだけであるということを指定することができる。例えば、ユーザは、朝に見るために夜遅い時間に（クライアントによって）資産がダウンロードされるコンテンツサービスに加入する（subscribe to）ことができる。
【００２２】
その上、分かりやすく順応性のある資産の管理は、ユーザによる制御下で、明示的な「ダウンロードマネージャー」を不要とすることができる。分かりやすくすることによって、所定のコンテンツ（例えば、ネットワークの回線容量、時間帯、ＱＯＳ等）を満足した場合、資産をクライアントに送出することができる。適合性によって、資産リストは、コンテンツプロバイダーサイト又はユーザ装置サイトでユーザの視聴選択に基づいて自動的にアップデートされるということを意味する。
【００２３】
資産リストは、クライアントのローカル記憶装置上でコンテンツを公表及び管理するコンテンツ製作者の手段として使用される。したがって、この機能性は、コンテンツ製作者が、ある時点の後に、アプリケーションの提供、ウェブページ又はフラッシュに基づく提供に統合メディア資産を公表することを認める。一例において、製作者は、提供の場所、日付を含む資産に関する情報及び後端公表システム（backend publishing system）に資産を結合させるテキスト・関連情報を入力する。その後、この情報は、公表されるとともに適切な資産リストに組み込まれる。さらに公表システムは、資産を組み込むウェブページ又はプレゼンテーションを（直ちに又は将来の一定の日時に）公表する。
【００２４】
資産をネットワークを通じて送出する方法の一つは、(i)  資産リストを、コンテンツプロバイダーによってネットワークを通じてクライアントに供給し、ここでのクライアントプロセスは、ユーザ装置で動作し、(ii)  資産リストに対応する資産を、所定の制約を満足するときにネットワークを通じてユーザ装置に送出する。一例として、資産は、バイナリデータと、オーディオコンテンツと、ビデオコンテンツと、テキストコンテンツと、マルチメディアファイルとのうちの少なくとも一つである。所定の制約は、時間帯、ユーザ装置状態（すなわち、装置が使用されているか又は遊休状態であるか否か）、回線容量使用（すなわち、回線容量使用が、所定の動作レベル未満であるか否か）、ユーザ装置ＣＰＵ使用、ユーザ装置メモリ使用（すなわち、メモリ使用が所定の動作レベル未満であるか否か）を含む。加えて、資産は、ユーザ装置のローカルキャッシュに格納される。さらに、クライアントは、格納された資産を、コンテンツプロバイダーからユーザに対してコンテンツの継続的かつ割り込まれないプレゼンテーションを提供する途切れない方法（fashion）で、リアルタイムコンテンツに統合する。さらに、資産リストは頻繁にアップデートすることができ、これによって、クライアントプロセス（すなわち、キャッシュ）に、所定の制約に基づき、定期的に広く様々なコンテンツを受信する能力を提供する。
【００２５】
コンテンツの割り込まれないストリームをユーザに提供するシステムは、（i）クライアントプロセスに対するインターネットを通じたコンテンツプロバイダーによって利用でき、クライアントプロセスがユーザの装置上で動作する資産リストと、（ii）所定の制約を満足するときに、ユーザ装置に対するネットワークを通じた遠隔場所から利用でき、ここでの遠隔場所の情報を資産リストから得る資産と、（iii）送出された資産を、ユーザ装置によって遠隔場所からインターネットを通じて受信されるコンテンツストリームに統合する統合ツール（integrator tool）とを具える。ユーザは、コンテンツの割り込まれなくかつ継続的なストリームを提供される。
【００２６】
製作者は、代替的な低回線容量のメディア資産及び対応テキスト情報を入力することができ、その入力後、二つの異なるバージョンのページ（大きい資産をダウンロードすることができない理由に関するユーザに対するもの及び豊富なメディア資産に対するもの）を作成する豊富なメディア資産の情報を後端に結合する。ユーザは、（１）互換性がないシステム（２）システムがダウンロードの受信に対してオンラインでない（３）プレミアムサービスが支払われていない（４）ディスクスペースが不十分である（５）コンピュータが使用されているとともにダウンロード用に使用されるリソースであるということが望まれなかった等のような多くの理由に関して、豊富な資産をダウンロードすることができないようにすることができる。したがって、いずれにしても代替的な経験を送出する能力は重要である。
【００２７】
すなわち、広告と共にコンテンツがシーケンス方法で送出され、対応広告がローカルキャッシュに更に存在する場合にコンテンツが再生されるのを認めるだけである。一実施の形態において、これは、メディア資産の両方（コンテンツ要素及び広告）がユーザ装置に存在するか否かを決定するための（クライアント又はサーバ側の）スクリプトを使用することによって達成される。他の実施の形態において、この機能性は、資産リストバンドルを使用することによって達成され、これは、両資産がローカル装置上にある場合に、トークンを設定する。
【００２８】
ユーザは、ローカル装置にダウンロードされるとともにキャッシュ（cache）されるメディアを積極的に指定することができる。一実施において、これは、各ユーザ用の資産リストを管理するサーバ側データベースによって達成される。すなわち、ユーザは、週の半ばに、その週末に見たい特定長さのＤＶＤ映画品質を指定することができる。これは、結果として、資産リストに資産が加えられるとともに、クライアントが資産を時間外にダウンロードすることができることとなる。ユーザは資産を資産リストに加えることを指示することができ、又は（以下のように）デジタル権利の管理が資産の制御のために使用される。他の例において、この方法は、次のように、コンテンツプロバイダーから「プッシュ」で結合される：昨晩のニュースが毎朝放送されるのを見るため、ユーザはサービスに加入する。その結果、ダウンロードされる新たな案内を確認するために、サービスが新しい資産をユーザの資産リストに毎晩書き込まれる。
【００２９】
さらに、システムは、ＩＳＰ及びケーブルプロバイダー共同場所送出設備で動作する。一例において、製作者が資産を公表した場合、その後、（ネットワーク地理でユーザに近接する）ＩＳＰ及びケーブルプロバイダー共同場所送出設備又はシステムに動かされる。クライアントは、サービスプロバイダー資源メディアサーバではなく、ＩＳＰ及びケーブルプロバイダー収集送出設備又はシステムで検索することによって、その資産を検索するとともにローカルキャッシュ内のそれを識別する。
【００３０】
加えて、コンテンツプロバイダーは、資産に基づくユーザ経験をいつでも最適化することができる。すなわち、ウェブサイトに関連するニュースは、豊富なメディア資産が利用できない場合、ニュースストーリーの写真を提供することができるが、ビデオ資産がその場所の近くに（locally）格納されない場合、ウェブページはウェブページ上のイメージの代わりにビデオを代用する。これは、ビデオの対応する元の「コピー」を有し、ビデオ及びイメージが同じ種類（story）のものではないので、互いに相違するサポートテキスト及びキャプションを必要とする。一実施の形態において、これは、その対応資産トークン（上記資産条件参照）を介して資産の存在を検出するサーバー側アプリケーションによって達成される。トークンが存在するか否かに従い、異なるページがエンドユーザ用に作成される。他の実施の形態において、これは、ウェブブラウザのスクリプトを介してクライアント側で行われる。すなわち、ウェブページのスクリプトを使用することによって、異なるページが、メディア資産トークンの存在に基づく動的なＨＴＭＬを介して作成される。
【００３１】
本発明によって得られる効果の一つは、そのネットワーク回線容量使用を最適化することをコンテンツプロバイダーに認めることである。特に、使用がピークより下に下がった場合、コンテンツの送出を増加することによって、回線容量使用の谷（valleys）は回線容量使用が最適化されるように補充される。
【００３２】
他の形態において、デジタル権利マネージメント（ＤＲＭ）スキームは、データフローに適用することができる。すなわち、資産を保護するＤＲＭは、本発明を通じて公表される。したがって、ユーザが資産を「再生」する場合、コンテンツの使用権(right-to-use)として適切なライセンスを得るように促される。
【００３３】
他の形態において、ＧＡＭＥは、クライアントに使用されるリアルな又はバーチャルなＩＳＯイメージの形態で流通させることができる。
【００３４】
Ｂ．セットトップボックス例
クライアントは、ＴＶセットトップボックスのような種々のソースからメディアコンテンツに関するメディア資産をダウンロードするとともに管理し、ここでの資産は、ケーブル、衛星ネットワーク、インターネット又はイントラネットのような、キャリア信号の側波帯又はデータネットワークを通じて送出される。例えば、一実施の形態において、宅内の視聴者が映画のライブラリにアクセスし、又は任意の他のオーディオ／ビデオコンテンツをいつでも見られるように利用できるようにする。特に、方法は、映画のようなメディア資産をその宅内のセットトップボックスに送信し及び映画を蓄積することを許容する。
【００３５】
セットトップボックスのハードディスクドライブは映画を格納するために用いられる。映画は、標準放送テレビ信号を超える大量のデータを送信するデータ放送技術を使って、送信される。データ放送技術に関する情報は、参照することによってここに組み込まれる１９９９年４月１６日に出願されて１９９９年１０月２８日に公開された、Ｈａｒｔｓｏｎらによる出願番号ＷＯ９９５５０８７で得られる。例えば、２４時間区切りで、このデータ放送技術は、２０高品質長編映画を配給することができる。セットトップボックスは、ＶＣＲ又はＤＶＤプレーヤーのような任意の他の外付け装置と同様にユーザのテレビジョンに容易に接続される。さらにセットトップボックスは、請求書発送用に電話回線に接続される。
【００３６】
一実施の形態において、セットトップボックスは、個人の家に配置され、標準ビデオケーブルを使用するテレビジョンに接続される。セットトップボックスは、放送テレビ信号でデータを受信するアンテナを有する。セットトップボックスは、複数の映画を格納するため、少なくとも８０ギガバイトのハードドライブを有することが好ましい。セットトップボックスは、セットトップが定期的にサービスプロバイダーと連絡を取る（contact）ために用いられるモデムを有する。サービスプロバイダーとセットトップとの間でやり取りされる情報は、請求書発送用に使われるユーザの「Viewing/Rental History」、システムのパフォーマンスを監視するために用いられるセットトップパフォーマンスログ及び映画の復号化に用いられる「Movie Keys」を具える。
【００３７】
セットトップボックスは、データストリームを放送信号、再アッセンブルされているデータ及びハードドライブに書き込まれているデータから受信することができるプロセッサを有する。さらにプロセッサは、同時に、モデムの働きと同様に遠隔制御からの赤外線信号に反応することができるとともに映画を再生することができる。ハードディスクドライブは、セキュリティのためにセットトップボックスと組み合わされ、取り除かれ又は他の場所で使用される場合には使用できなくする。セットトップボックスは、とても静かになるように設計されるよう、ファンを持たないものが好ましい。さらに、セットトップボックスは、セキュリティシステムの一部として保護プロセッサを具える。保護プロセッサは、変形するのが物理的に難しいエポキシ樹脂を有するＰＣＢで物理的に付着されるスマートカードのアクティブな要素である。
【００３８】
映画は、リアルタイムでセットトップボックスに「ストリーム」されず、その代わりに、コンテンツファイルが「パケット化」されるとともに、これらの「パケット」が、付加的に再アッセンブル化されるセットトップボックスに継続的に送信される。ユーザは、セットトップボックスに送られるデータのことに気づかない。映画は、限られた期間、変化せずにボックスに存在するプロバイダーによって後入れ先出しされる（push down）。データ送信は、コンテンツ又はサービスプロバイダーによって制御される。映画が全体として確実に受信されるようにするために、同じ映画はテキストボックスに対して数回放送される。送信の最初の試みで受信されないデータの任意のパケットは、次の放送で受信される。本発明の観点（perspective）において、クライアントプロセスはセットトップボックス上に常駐（reside）するとともに、メディア資産（映画コンテンツ）は、所定の制約（例えば、ネットワーク回線容量、ＱＯＳ）が満足された場合、遠隔サイトから取り出される（retrieve）。
【００３９】
さらに、セットトップボックスに送信される映画は、映画の決まった性質を規定する情報と結び付けられる。例えば、映画は、映画を視聴できる期間を限る、関連付けられた開始及び終了の日付又は時間を持つ。例えば、映画は、届くとセットトップボックスに格納されるが、それは関連付けられた開始日を持ち、その日まで映画を見ることを許可しない。これは、一つの場所から別の場所まで変化する映画の送信時間の不一致を許容し、そしてさらに、映画が「プリロード」されるとともに公認の公表日時に直ぐに利用できるようにする。同様に、資産リストは、映画に関連付けられた終了日を持ち、その日の後は、もはや映画を視聴することはできず、自動的にセットトップボックスから削除される。
【００４０】
セットトップボックスに格納された映画は暗号化される。視聴映画の選択及びビジネスルール（すなわち、ユーザが十分な現金を持っている）を満足した時点で、セットトップボックスは、映画を復号化して再生することを許可する。セットトップボックスは、映画を復号化するキーが典型的に予め取り出されるとともに、現在のアカウント状況と共にセットトップに常駐するので、映画を視聴するのを許可する前にサービスプロバイダーに接続する必要がない。明らかに、暗号化された映画はログ化され（logged）、このログはユーザの請求書を決定するために用いられる。この論理環境復号化及びユーザアカウント状況は保護プロセッサによって扱われる。本発明の好適な実施の形態において、費用は、視聴する映画の選択、その結果生じた「レンタルコンファメーション」ダイアロッグ及び映画の視聴前の時点でユーザに請求される。
【００４１】
他の実施の形態において、一旦、映画の本質的な部分が視聴されると、映画視聴の費用を請求する。一旦、映画が選択されると、限られた期間（例えば、２４時間）又は限られた視聴数の間、費用請求がなく再び視聴することが可能である。他の実施の形態において、映画毎に支払いをする代わりに、ユーザが月々の費用を支払う。月々の費用の額は、視聴できる映画の数、選択された映画が視聴のために利用できる期間及び選択された映画ごとの許可された視聴数のような様々なオプションに従う。電話回線は、キーがユーザによって見られるのに従い請求がなされるというユーザからの情報の送信を行うために使用される。したがって、例えユーザがユーザのセットトップボックス上に格納された映画のライブラリを有していても、映画が実際に視聴されなければ費用は請求されない。
【００４２】
他の実施の形態において、データはケーブル、衛星中継、インターネット等によってセットトップボックスに送信される。無線放送は好適な実施の形態であるが、本発明は、無線通信に限られない。
【００４３】
Ｃ．図面に関する説明
図１は、ユーザ装置上で妨げられることのない、メディアストリームの送出及び提示（presenting）に用いられるシステム１０の全体的な概観図である。特に、ユーザ装置２０は、４０で示されるコンテンツプロバイダーのサイトのクライアント資産リスト４２と関連付けられる少なくとも一つのクライアントプロセス２４（例えば、クライアント資産管理プロセス）を有する。ユーザ装置２０には、情報を格納するためのローカルキャッシュ２６も存在する。キャッシュ２６は、少なくともランダムアクセスメモリ（ＲＡＭ）と、読出し専用メモリ（ＲＯＭ）と、ハードドライブとのうちの一つである。さらに、プログラムコンテンツ（例えば、スポーツ競技、料理ショー等）のような資産６２を持つ遠隔サイト６０がある。別の方法として、資産６２をコンテンツプロバイダーサイト４０又はケーブル／インターネットサービスプロバイダー（図示せず）に設けることができる。資産は、クライアントが取り出す前にケーブル／ＩＳＰプロバイダーで利用することができる。さらに、クライアントは、資産を物理的に離れた複数の位置から（例えば、ケーブル／ＩＳＰプロバイダー、コンテンツプロバイダー等から）同時に取り出すことができる。
【００４４】
クライアントプロセス２４は、エンドユーザ用のメディア資産のキャッシュ２６を管理する。一実施の形態において、キャッシュ２６に含まれる資産６２は、データパス８０を経由してコンテンツプロバイダー４０から提供される資産リスト４２によって指示される。この実施の形態において、クライアント資産管理プロセス２４は、資産リスト４２を、特定（及び調和した）時間間隔で（コンテンツプロバイダーサイト４０のような）ネットワーク場所からデータパス８０を経由して取り出す。特に、クライアントプロセス２４は、アップデートされた資産リスト４２をデータパス８０で送出するため、制御信号経路を介して、コンテンツプロバイダーに対する要求を定める。
【００４５】
同様に、他の実施の形態において、資産リスト４２は、コンテンツプロバイダーのサーバ（図示せず）によって定期的な方法でエンドユーザクライアント２４に送られる。資産リスト４２は、最少でもコンテンツ資産のリストを含んだデータファイルである。典型的には、資産リスト４２の各要素は、資産を得るために必要とされるプロトコル及びネットワーク場所を識別する。例えば、一実施の形態において、このネットワーク場所はＵｎｉｖｅｒｓａｌ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ（ＵＲＬ）であるとともにプロトコルはＨＴＴＰである。さらに資産リスト４２は、各資産と関連付けられた（要約部分で説明されるとともに用語説明で定義しているような）別の条件を含んでもよく、例えば：
（i）有効期限（Ｅｘｐｉｒａｔｉｏｎ ｄａｔｅ），（ii）削除（Ｄｅｌｅｔｅ）；
（ii）コールバックＵＲＬ（Ｃａｌｌｂａｃｋ ＵＲＬ） − 一実施の形態において、このコールバックＵＲＬは、例えば（どの資産がダウンロードされるかとともにどのくらいの頻度でダウンロードされたかのトラッキングを許可するための）トラッキングアプリケーション及び電子メール又はインスタントメッセージで特定の資産が視聴の準備ができていることをユーザに知らせるためのアプリケーションのような資産のダウンロードの動作を開始するために使用される；
（iii）クライアント側トークン − 一実施の形態において、資産の利用性に基づくプレゼンテーションを適合させるために用いられる；
（iv）スループット（Ｔｈｒｏｕｇｈｐｕｔ） − 一実施の形態において、この数字は利用可能であるとともに１００％未満のクライアントスループットのパーセンテージであり、クライアントは、大量のデータの全てを一気に得るよりも折を見つけたときだけ得ることを試みることによって、ダウンロードをゆっくりすることができる。他の実施の形態において、この数字は一秒当たりのバイト数によるダウンロードデータ速度である；
制限日（Ｅｍｂａｒｇｏ Ｄａｔｅ） − 任意のコンテンツは利用可能な限られたウィンドウに制約される。制限データに達するとすぐに、更に長く利用可能となるようにクライアントによってコンテンツが取り除かれる。
【００４６】
一形態において、これらの資産をコンテンツのバンドルに結合することができる。さらに上記条件をバンドルに課すことができる。すなわち、これは、一旦、メディア資産セットがユーザ装置に送出されると、クライアント側トークンが作成されることを許可する。
【００４７】
一定の条件は、次のような全部の資産リスト４２に関連付けられる。
（ａ）リフレッシュ速度：一実施の形態において、これはサーバ側で（例えば、コンテンツプロバイダー４０で）制御され、これは、資産リスト４２を、データパス８０を経由してクライアントマネージャー２４にプッシュする（push）。
（ｂ）リソースパス（Ｒｅｓｏｕｒｃｅ Ｐａｔｈ）、（ｃ）メディア資産。
【００４８】
図７は、資産リストの資産情報に関する条件の階層的な性質の一形態を表す。図に示すように、クライアントに提供される資産リストは、コンテンツプロバイダー／ＩＳＰによって、全資産情報に関する条件を持つ。一例として、Ａｔｔｒｉｂｕｔｅ（１，２）は、Ａｓｓｅｔ １の使用期限を参照する。この記載の条件は、各資産について一部分だけである。
【００４９】
別の形態において、条件は、図８に示すような資産リストに包括してもよい。この状態において、クライアントは、全資産に適応可能なように包括的な条件に基づき、資産リストの資産のダウンロードを管理することができる。
【００５０】
さらに、クライアント２４は、遠隔サイト６０からの資産ダウンロード振る舞いの多くのパラメータを管理することができる。例えば、一実施の形態において、クライアント資産管理者２４は、データパス９０経由でメディア資産６２をローカルキャッシュ２６に送信するため、信号８６で遠隔サイト６０に要求を開始する。クライアントプロセス２４は、所定の制約一式が満足されたか否かに基づき、データ送信（ダウンロード）のためのこれらの要求をリモートサイト６０に送る。例えば、ユーザ装置２０が遊休状態の場合、ネットワーク回線容量が一定レベル未満である場合、ユーザ装置２０のＣＰＵ及び／又はメモリ使用が一定実行レベル未満である場合に、ダウンロードが行われる。
【００５１】
ダウンロード機能を、ユーザによってｏｎとoffとに切り替えることができる。またユーザは、装置が一定のネットワーク上（例えば、ダイアルアップ接続に対するＬＡＮ上）にある場合だけ、ダウンロードが行われるように指定する。
【００５２】
メディア資産６２は、ネットワーク状態（例えば、トラフィック、利用可能回線容量、時間帯等）に従い、クライアントプロセスからの要求を伝えることなく、遠隔サイト６０によって停止され（throttle）又はプッシュされる。
【００５３】
資産リスト４２は、クライアントのローカルな格納／キャッシュ２６のコンテンツを公表するとともに管理するコンテンツ製作者の手段として用いられる。例えば、この機能性は、あるポイントでウェブページ又はフラッシュベースのプレゼンテーション（図示せず）に途切れなく統合されるメディア資産６２をコンテンツ製作者によって公表するのを許可する。
【００５４】
したがって、製作者は、場所、提供を受ける（presentation）日付及び資産に関連付けるテキスト・関連情報を含む資産についての情報を後端の公表システムに入力することができる。その後、この情報は、公表されるとともに適切な資産リストに関連付けられる。さらに、公表システムは、（直ぐに又は将来の所定の日時に）資産を組み入れるプレゼンテーション又はウェブページを公表する。製造者は、替わりに使える低回線容量メディア資産及び関連テキスト情報を入力し、その後、これが、二つの異なるバージョンのページ（一つは、ユーザ用に大量の資産をダウンロードすることができない理由に関するものであり、一つは、メディア資産に関するものである）を作成するために豊富なメディア資産の情報と結び付けられる。
【００５５】
クライアント資産管理者プロセス２４は、ダウンロード及びキャッシュを行うためにユーザ装置２０上で実行することができるアプリケーションである。ユーザは、クライアントマネージャー／プロセスを得るために、できる限り（possibly）コンテンツプロバイダーウェブサイトを通じて選択（opt-in）することができる。典型的な実施の形態として、クライアントマネージャーは、自動的にスタートアップのためにインストールされるとともにバックグラウンドで実行されている。
【００５６】
図２は、クライアント資産管理プロセス１０２がユーザ装置上で実行しているシステム１００に関する情報の流れの他の概観図を示す。典型的な記載において、クライアント資産リスト１１０（例えば、ＸＭＬファイル）は、コンテンツプロバイダー１２０から定期的にダウンロードされ、そのファイルに記載された資産１３０は、遠隔サイト／コンテンツプロバイダー１４０からダウンロードされるとともにそれに応じてキャッシュされる。ユーザは、クライアントマネージャープロセス１６０と通信するスクリプト１５０を有することによって、一つ以上の資産を表示できるウェブページに誘導する。クライアントマネージャープロセス１０２もＡｃｔｉｖｅ Ｘサーバであるから、プロキシオブジェクトだけがウェブページ１８０で実行され、実際の制御は、クライアントマネージャープロセス１０２の部分である。他の形態において、クライアントプロセス１６０は、ウェブページ１８０又はクライアントマネージャー１０２の部分に組み込まれる。
【００５７】
Ｃ(i).  設計観点（Design Perspective）
入力は、(i)クライアントマネージャー１０２の動作を通じて遠隔制御を許可するＸＭＬファイルのようなコンフィギュレーションファイル、及び(ii)クライアントにキャッシュされる遠隔メディアファイルである。出力は、メディアファイルに対するローカルパスである。
【００５８】
任意のウェブページは、クライアント１０２によってキャッシュされる資産を表示する。クライアントのActive Ｘインターフェースを使うことによって、ページには、クライアントプロセス１０２がインストールされたか否かが分かるとともにメディアファイル用ローカルパスに関する情報をクライアントに要求するためのJavaScriptコード１５０が含まれる。パスが返された場合、その後、スクリプトは、このパス情報をパラメータを受け入れるメディアプレーヤーに基づく任意のウェブに渡す。
【００５９】
コンフィギュレーションサーバ１２０は、クライアントコンフィギュレーションファイル１１０となる（host）任意のウェブサーバである。メディアサーバ１４０は、メディアファイル又は資産１３０となる任意のウェブサーバである。
【００６０】
Ｃ(ii). 実行フロー（Execution Flow）
クライアントプロセス１０２は、 .cabファイルにまとめられ、プログラムの創作者（例えば、ウォルトディズニーインターネットグループ）を認識するためのデジタル証明書に署名される。個別の .cabファイル、xyzvideo.cabファイルは、様々なコンテンツプロバイダー用に作成される。例えば、ファイルネームは、ＥＳＰＮのespnvideo.cabであって、それは、ＥＳＰＮデジタル証明書に署名される。Internet Explorerは、アプリケーションをダウンロードするとともにトラック（track）するためのInternet Component Download特性を使用する。 .INFファイルは、クライアントプロセス１０２をインストールする方法に従いダウンロード要素を教示するため、.cabに含まれている。
【００６１】
.cabファイルは、ウェブサーバに置かれるとともに、ウェブブラウザが、ウェブページを、適切なActive Ｘ制御のクラスidを含むOBJECTタグでダウンロードする際、CODEBASE条件によって指定されたＵＲＬを用いて.cabファイルをダウンロードする。デジタル証明書は、制御がダウンロードされるとともに実行の許可を促すことをユーザに知らせるために表示される。一旦ユーザが受け入れると、このウィンドウはアップデート版がダウンロードされない限り、再び表示されることはない。
【００６２】
モジュール、clientprocess.exeは、Downloaded Program Filesフォルダに加えられるとともに、クライアントがスタートアップフォルダ自身のためにショートカットを作成する。ショートカットの名前は、ファイルを形成する者（例えば、Disney、ESPN等）に従う。またクライアントプロセス１０２は、クライアントプロセスがインストールされる場合を真であるように設定されるClientProcessと呼ばれるgo.comドメインにcookieを作成する。このcookieはユーザによって誤って削除されるのを防ぐため、定期的にチェックされる。
【００６３】
プログラムは、オペレーティングシステムによって最初に実行されるとともに、ユーザ装置が起動されるときはいつでもその時点から実行される。
【００６４】
大抵のユーザが、インターネットからの信用できないアプリケーションのインストールを拒否するために十分高いブラウザ安全環境を有しているから、先に記載したデジタル証明書は必要である。証明書の存在はブラウザがソフトウエアの出所を認識するとともにユーザにその会社又は個人が使用できるか否かをユーザに尋ねることを許可する。
【００６５】
OBJECTタグのCODEBASE条件は、インストールされるソフトウエアの希望するバージョンの選択的な付加をサポートする。バージョンは、分離記号として用いられる「＃」でcabの場所のＵＲＬに付記される。例えば、フィールドのクライアントプロセスの現在のバージョンが1,0,0,1であって、新しいバージョン1,0,0,2がウェブサーバに置かれた場合、CODEBASE ＵＲＬの末尾の付記＃1,0,0,2が、新しいバージョンのダウンロード及びインストールするためのダウンロード要素を導く。
【００６６】
.INFファイルは、clientprocess.exeを最初に閉じるための/shutdown パラメータを持つclientprocess.exeを最初に実行するためのフックを含むため、アップデートは再ブートを必要としない。
【００６７】
要素インストーラーは、規定キーを使って情報をレジストリに加える。
【００６８】
クライアントプロセスシステムトレイアイコン用メニューはアンインストールオプションを持つ。クリックされた場合、クライアントプロセスは、/unregserverパラメータを通すclientprocess.exeの別のインスタンスを実行することによって、それ自身をアンインストールする。アンインストールプロセスは次のように行う。(i)制御をアンレジスタ、(ii)クライアントプロセスによって加えられたレジストリエントリーを一掃する。(iii)クライアントプロセスアイテムをStartup フォルダから除去する。
【００６９】
オペレーティングシステムがスタートするとともにExplorerがスタートアップのアイテムを実行する場合、クライアントプロセス１０２がスタートする。ユーザがシステムトレイアイコンからそれを閉じるか又はオペレーティングシステムがシャットダウンされなければ、それは終了しない。
【００７０】
クライアントプロセス１０２は、数個のメニューアイテムを含むシステムトレーアイコンを除いてユーザに見えないようにする。例えば、ＥＳＰＮのBottomLineアプリケーションが実行されている場合、クライアントプロセスのＥＳＰＮ版は、トレイアイコンを表示しない。その理由は、BottomLineがクライアントプロセス１０２にメニューのあるオプションを提供するからである。BottomLine及びクライアントプロセス１０２のようなプログラムは、定期的な相互通信において一方が他方のシャットダウンの有無に気付くようにするとともにメニューアイテムのうちの一つが選択されたか否かをクライアントプロセスが気付くようにする。アイコンは、ESPNアイコンと構築に従う別のアイコンとのうちのどちらかである。
【００７１】
次のアイテムは、クライアントプロセストレイアイコンメニュー内であり、(i) Help−クライアントプロセス１０２用のヘルプを表示し、(ii)ＸＭＬグループファイルが選択的にhelpUrlを持つことができる。ユーザがHelpを選択した場合、ブラウザはこのＵＲＬで始められ、(iii) About−プログラム・著作権／情報ダイアログを示し、(iv)Exit−プログラムを停止し（スタートアップフォルダから削除されない）、(v)Uninstall−プログラムをアンインストールするとともにCOMレジストリエントリーを削除する。
【００７２】
クライアントプロセス１０２の少なくとも一つのインスタンスは、所定の時間に実行する。これに対する唯一の例外は、clientprocess.exeが/unregserver又は/shutdownパラメータで実行される場合であり、そのインスタンスは、それが存在する場合には既に実行しているインスタンスを終了する。clientprocess.exeは、プログラムの次のインスタンスによってチェックされる共有ミューテック（shared mutex）を生成することによって、この単一インスタンス機能性を達成することができる。したがって、ある情況において、存在するインスタンスが見つけられる場合には、第２のインスタンスは直ぐに終了する。
【００７３】
クライアントプロセス用のスレッディングモデル（threading model）は、アパートメントモデルになることができる。このことは、クライアントプロセスActiveＸ制御が単一スレッドからのみアクセスされることを予測するように設計されることを意味する。しかしながら、全体としてのクライアントプロセスは、マルチスレッドされるとともに単一資産ダウンロードを実行するためのスレッドを開始し、次のダウンロードが生じたとき、そのスレッドを終了するとともに別のスレッドを開始する。一つのダウンロードだけが同時に生じる。
【００７４】
定期的な動作モードの間、クライアントプロセスは、任意のパラメータなしに実行する。しかしながら、次のコマンドラインパラメータ：(i) /regserver；(ii) /shutdown−存在する場合には、clientprocess.exeの別の実行中のインスタンスを停止する；及び(iii) /unregserverがサポートされる。
【００７５】
クライアントプロセスは、コンフィギュレーションサーバからダウンロードされるＸＭＬグループファイルを使って構成される。グループファイルのＵＲＬは、ウェブケージ上のClientProcessGroup ActiveＸ制御用ＯＢＪＥＣＴタグ内部のxmlＰＡＲＡＭタグを通じて得られる。ClientProcessGroup制御がxmlパラメータで初期化される度に、クライアントプロセスは、そのグループが既に加えられたか否かを調べる（see）ためにチェックする。そのグループが加えられていない場合には、それをレジストリに加えるとともに、ファイルがダウンロード及び構文解析（parse）される。グループファイル用レジストリエントリーは、クライアントプロセスがアンインストールされるまで除去されない。
【００７６】
グループファイルは、構成可能なリフレッシュ速度に従って定期的にダウンロードされる。サーバがIf-Modified-Sinceヘッダをサポートする場合、クライアントプロセスは、最後のダウンロード以来変更されなければファイルをダウンロードしない。
【００７７】
グループファイルのＸＭＬは、ＲＳＳフォーマットを、付加的なクライアントプロセス特定要素で使用する。ＲＳＳは、ディズニーフィルム供給の多くに用いられるテレビ番組配給システムのオープンフォーマットである。その構想は、グループファイルが潜在的に他のシステムによって使用されるグループファイルのためにできる限り標準と同じように使用されるようにする。
【００７８】
図３は、グループファイル用の典型的なＤＴＤを示す。
【００７９】
スタートアップで、クライアントプロセスは、次のActiveＸ制御用ＣＯＭ Local Serverのようなシステムでそれ自身を登録する。ClientProcessGroupだけが初期化のための安全を記録され、ClientProcessLocatorだけがスクリプトのための安全を記録される。これは、不当な目的として制御を使用するのを防ぐ。ClientProcessの初期の代表例は、ウェブページが状態を表示することを許可する各主要な要素のためのActiveＸインターフェースを有するように設定される。また、これらのインターフェースは、開発／試験段階中、トラブルシューティングするためにとても役に立つ。
【００８０】
ClientProcessSvc：
これは、アプリケーションのメインクラスであり、ダウンロードを強制するとともにアプリケーションのインストールをするためのＯＢＪＥＣＴタグを持つインストールウェブページに配置される。作成される全資産およびグループ目的を追跡（track）するプロセス用に作成されるCclientProcessSvcのシングルトンインスタンス（singleton instance）がある。IclientProcessSvcインターフェースは、プログラムの状況を報告する方法を提供する。
【００８１】
ClientProcessGroup：
ClientProcessGroup ActiveＸ制御は、クライアントプロセスに対するコンフィギュレーションファイルを指定するためにJavaScriptによって用いられる。IpropertyBagインターフェースを通じて、ClientProcessGroupは、xml又はソースと呼ばれるOBJECTタグパラメータを受け入れ、このパラメータがXMLファイルのURLに設定される。単一XMLコンフィギュレーション（又はグループ）ファイルは、一つのClientProcessGroupオブジェクトによって表現される。IclientProcessGroupインターフェースは、状態機能性を提供する。
【００８２】
ClientProcessLocator：
ClientProcessLocatorは、スクリプトを保護する簡単な制御であるとともに一つの方法GetLocalPathだけを有する。それは、ローカルファイルのパスを決定するために、ダウンロードされた場合に、メディアファイルを表示するウェブページのJavaScriptによって用いられる。
【００８３】
さらに、ユーザがクライアントプロセスを停止するとともにその後メディアページに案内する場合、ClientProcessLocatorクラスidを有するOBJECTタグによってclientprocess.exeを再び実行させる。ユーザが結果（product）をアンインストールした場合、このタグは、ＣＯＤＥＢＡＳＥパラメータが指定されると再インストール又はアップデートを強行する（force）。
【００８４】
ClientProcessAsset：
ClientProcessAssetは、局所的にキャッシュされる任意のオブジェクト（グループ又はメディアファイル）を表す。このＣＯＭオブジェクトは、get_asset方法によってClientProcessDownloaderのClientProcessSvc又はget_queuedAssetに戻される。
【００８５】
ClientProcessDownloader：
シングルトンClientProcessDownloaderは、アプリケーションが開始するときに作成される。それは、資産のダウンロード待ち行列（queue）を処理する。資産は、それら自身QueueDownload方法で待ち行列に加えるとともに、資産がダウンロードキューの先頭にきたとき、それは、処理のためのCasyncCacheDownloaderインターフェースに渡される。
【００８６】
ClientProcessReference
ClientProcessReferenceオブジェクトは、メディアファイルを表す。各グループは一以上のリファレンスを有する。このCOMオブジェクトは、ClientProcessGroupのget_reference方法によって戻される。
【００８７】
別のC++クラス
このセクションは、クライアントプロセスアプリケーションの模範的なC++クラスを規定するものであって、それらの行動の骨子をなす（summarize）とともに互いに相互作用する。幾つかのクラスは、他のアプリケーションとの通信用のCOMラッパオブジェクト（wrapper objects）を有する。図４は種々のクラスの表である。
【００８８】
CasyncCacheDownloader-asynccachedownloader.h./.cpp:
このクラスは、HTTP経由でローカル装置に対する資産のダウンロードを代表する（encapulate）。受け取りを許可するためのCasyncCacheDownloaderサブクラスCWindowlmplは、その動作の大抵の動作が分割スレッドで生じたときから管理する。クライアントプロセスは、中間スレッド通信の用のウィンドウメッセージを使用する。
【００８９】
大抵の方法はメインスレッドで実行するが、StartDownload()はDoDownload()方法と呼ばれる新しいスレッドを順に作成する。DoDownload()は単一資産をダウンロードするとともにそれ用のInternet Explorerキャッシュエントリーを作成するためのWinlnet APlsを使用する。
【００９０】
DoDownload方法は一度に少量の大きな塊（small chunk）をダウンロードする。それは、構成されたスループットが１００％未満である場合、各大きな塊の後に活動休止（sleep）もする。例えば、スループットが５０％の場合、ダウンロードスレッドは５０％スループットの平均を達成するために大きな塊をダウンロードするのにかかる時間と同じ時間だけ活動休止する。
【００９１】
CCacheAsset−cacheasset.h/.cpp：
CCacheAssetインスタンスは、ローカルシステムにキャッシュされる必要がある単一ファイルを表す。これは、グループファイルとメディアファイル（リファレンス）とのうちの何れか一方である。CCacheGroup及びCCacheReferenceインスタンスは共に、ファイルのダウンロード及びキャッシュを処理するためのCCacheAssetインスタンスを作成する。GetInterface方法は、それぞれのCOMラッパオブジェクトのClientProcessAssetインターフェースを戻す。
【００９２】
ダウンロードが失敗した場合、CCacheAssetは、図５の表に従い、再度試みるようにタイマーをセットする。ダウンロードが成功した場合、CCacheAssetは、キャッシュ項目がキャッシュから削除されないことを確かめるためにファイルシステムを監視する（watch）。その項目が削除されている場合には、項目が再度ダウンロードされる。
【００９３】
CCacheGroup−cachegroup.h/.cpp：
このクラスは、ＸＭＬグループファイルを有する（encapsulate）。各Group ＸＭＬファイルは、それを構文解析するとともに各メディアファイル項目用のCCacheReferenceインスタンスを作成するCCacheGroupのインスタンスに渡される。GetInterface方法は、それぞれのCOMラッパオブジェクトのClientProcessGroupインターフェースポインタを戻す。CCacheAssetインターフェースは、このグループファイルを表すために作成されるとともにタイマーがXMLで指定されたリフレッシュ速度（refreshRate）による間隔設定でセットされる。タイマーが鳴り出すとき、グループファイルのCCacheAssetはダウンロードキューに加えられる。
【００９４】
CCacheReference−cachereference.h/.cp：
XMLグループファイルがCCacheGroupによって構文解析されるとき、CCacheReferenceインスタンスは、各メディアファイル項目用に作成される。CCacheReferenceは、ダウンロード／キャッシュ機能性を処理するためにCCacheAssetインスタンスを作成する。またこのクラスは、項目終了時間をチェックするとともに終了したディスクから項目を取り除くことを担う。
【００９５】
CCacheTime−cachetime.h/.cpp：
CCacheTimeは、時間変換機能性を提供するためにATL Ctimeクラスを下位に分類する。クライアントプロセスの全ての日時メンバー変数は、CCacheTimeを用いて格納される。
【００９６】
CClientProcessModule−clientprocess.cpp：
このクラスは、実行可能なプロセスそれ自体を表す。CClientProcessModuleは、標準ATL CAtlExeModule Tクラスを下位に分類する。この理由は、レジスタ及び非レジスタ同様、プロセスのスタートアップに機能性を加えられるからである。スタートアップで、分割ムーテックは、（独自性を保証する）名前としてClientProcessSvc GUIDを用いて作成される。ミューテックが既に存在する場合、それは、アプリケーションが既に実行していることを意味するので、現在のインスタンスが存在する。全ての臨時のインストール及びアンインストール機能もこのクラスで行われる。
【００９７】
CException−exception.h/.cpp：
CExceptionのインスタンスは、エラーが生じた時に作成されるとともに投げかけられる。CExceptionは、エラーのフォーマットを処理する。
【００９８】
CRegistryVirtualDeviceX−registryvirtualdevicex.h：
ATLにおけるCregistryVirtualDeviceＸのサブクラス。このクラスは、AddStandardReplacementsをオーバーロードして、レジストリにInProcServer32又はLocalServer32を置くか否かを決定するためにATLがモジュールの拡張子をチェックするのを停止する。クライアントプロセスは常に.exe、したがって、LocalServerであり、呼び出しが必要なくなり、アプリケーションの外部要求に加えられる。
【００９９】
CTimer及びCTimeable−timer.h/.cpp：
CTimerは、タイマー機能性を有する。タイマーを使用するために望まれる任意のオブジェクトは、Ctimableからの引き継ぎ、OnTimerの実行、Ctimerのインスタンスの作成及びStart方法を呼び出すためだけに必要である。Stop()はタイマーを停止する。
【０１００】
CUrlMap−urlmap.h/.cpp：
CUrlMapは、オブジェクトをＵＲＬにマッピングするハッシュマップクラスを作成することを許可する指定されたCAtlMapテンプレートクラスである。
【０１０１】
更に具体的に言うと、(i)ダウンロードコードに対するダウンロード速度サポートを追加すること、(ii)資産が終了したときにそれらを削除すること、(iii)ClientProcessLocator制御を実行すること及びcookieロジックを取り除くこと、(iv)システムトレイアイコン及びメニューを使用すること、(v)アンインストールを提供すること（実行可能を取り除くこと、スタートアップショートカットを移動すること、レジストリをクリーニングすること）、(vi)HitCountURLサポートを提供すること、(vii)プログラム情報（ダイアログについて）を提供することによって、システムは更に向上させられる。
【０１０２】
次のことを確実に行う配慮がとられた。：(i)全ての適切なActiveＸ安全設定は各制御に適用される。(ii)COM方法及び特性は隠される（この方法は、Visual Basicのようなコントロールデザインユーザインターフェースに現れない）。(iii)スタティック関数はファイルシステムをポール（poll）するために使用されるから、一つのタイマーだけが使用される。(iv)BottomLineのためのロジックは、ClientProcessを検出するとともにSystem Trayアイコンサブメニューを提供するために加えられる。(v)スタートアップメニューショートカットは、ウィンドウズ（登録商標）がレジストリエントリーを実行する代りに用いられる。(vi)ClientProcessがインストールされたか否かを表すcookieを定期的にチェックし、必要な場合にはそれを再び作成する。
【０１０３】
Ｃ(iii)．BottomLine強化（BottomLine Enhancements）
BottomLine（ESPNの商標）は、クライアントプロセスを検出するために変更される必要があり、存在する場合にはSystem Tray メニューのクライアントプロセスメニュー項目を表示する。ユーザがインストールされるアプリケーション及び実行するアプリケーションの両方を有する場合、これは、トレイｍｐ複数アイコンを持たなくて済む。
【０１０４】
クライアントプロセスは、CLIENTPROCESS_MENU_START及びCLIENTPROCESS_MENU_ENDの範囲内でメニューアイテムidを規定する。これらの定数は、構築された時にBottomLineにアクセス可能なヘッダファイルに規定される。
【０１０５】
BottomLine及びクライアントプロセスは、各プロセスが実行しているか否かを認識する必要があるから、次のステップを実行することが必要である。(a)BottomLineを開始するとき、クライアントプロセスが実行しているか否かを知るためにクライアントプロセスMutexを作成するように試みる。(b)クライアントプロセスを開始又は終了するとき、クライアントプロセスが認知するとともにクライアントプロセスが認知（acknowkedgement）に応答するという記録されたウィンドウズメッセージが放送される。
【０１０６】
記録されたウィンドウズメッセージは、更に同じメッセージを記録する他のウィンドウズと通信するためにそれら自身に固有のメッセージを規定することをアプリケーションに許可する。クライアントプロセス又はBottomLineが他のアプリケーション又は認知に対する存在を知らせるとき、それは、将来の通信のためのウィンドウ処理に従って渡される。その後、クライアントプロセスは、メニューに表示される情報をBottomLineに送るためにWM_COPYDATAを使用する。クライアントプロセスメニュー項目が選択されたとき、BottomLineはそれを転送する（forward）。
【０１０７】
さらに、クライアントプロセスを実行するシステムに含まれるいくつかの特性は、(i)（自動的な）インストール及びアップデートのそれぞれ、(ii)ほとんど又は全くないクライアント側ユーザインターフェース、(ii)クライアントプログラムのサーバ側コンフィギュレーション、(iii)ファイルがダウンロードされる速度を超える制御、(iv)メディアファイルがどの程度ダウンロードされたかをトラックするための能力、(v)JavaScriptでメディアファイルダウンロードの状態を決定するための能力、(vi)命名のコンテンツプロバイダー仕様（例えば、ＥＳＰＮ仕様）である様々な制御を発送する能力。
【０１０８】
Ｃ(iv)．システム特性
Client Process Program：
クライアントプロセスプログラムは、ウェブページに表示される前の数時間、メディアコンテンツをダウンロードすることを担う。ユーザが、ＨＴＭＬを含むページに誘導されてそのページを表示するとき、ファイルの局所的なコピーを用いることができ、これによって、再生品質を著しく向上する。
【０１０９】
Installation：
クライアントプログラムは、自動的にインストールすることを許可される。任意のウェブページは、クライアントプロセスを参照するタグを含んでいるとともに、ブラウザは、必要であれば、自動的にそれをインストール又はそれをアップデートする。
【０１１０】
User Interface：
クライアントプログラム用ユーザインターフェースは、結果を作り出すか又はアンインストールする能力を提供するメニューを持つシステムトレイアイコンに統合させる。BottomLineアプリケーションが存在する場合、現存するシステムトレイメニューが代わりに使われる。
【０１１１】
Execution：
クライアントプロセスがユーザ装置のスタートアップフォルダにインストールされるから、それは常に実行中である。プログラムは、ＸＭＬファイルを、どの資産がダウンロードされ、それらがいつ終了するか及びそれらをダウンロードする速度がどのくらいであるかという情報を含むＷＤＩＧサーバから定期的にダウンロードする。また、ローカルメディアファイルの場所を決定するためのクライアントプロセスと通信するためのコンテンツプロバイダーウェブサイトのインターフェースがある。
【０１１２】
Hosting：
installation．cabファイルは、この結果を用いるVerticalから提供される一以上のヘッド／エンド（head-end）によって受け入れ（host）られる。それはスタティックファイルであるから、どんなウェブサーバによっても受け入れられる。クライアントプロセスの新バージョンが公表される（release）とき、このファイルはサーバ上でアップデートされる。
【０１１３】
Content Provider Bottom Line Modifications：
適切な変更は、クライアントプロセス用システムトレイインターフェースを提供するBottomLineアプリケーションに対して行われる。
【０１１４】
Sample HTML及びScript：
Sample HTML及びJavaScriptは、クライアントプロセスとの受け入れ及び通信の方法を実証するために開発者に提供される。
【０１１５】
External Interface Requirements
この節は、インターフェースが作成され又は変更されるために必要であるインターフェース用の外部システムを説明する。
【０１１６】
ESPN BottomLine：
一部の小さい変更は、クライアントプロセスの存在を検出するとともにクライアントを停止及びアンインストールするためにメニューアイテムを加えるBottomLineに対して行われる。
【０１１７】
クライアントプロセス検出：
BottomLineメニューが表示される度、BottomLineは、クライアントプロセスの存在を検出し、存在するとともに実行している場合、クライアントプロセスメニューアイテムを含むサブメニューを表示する。クライアントプロセスの検出は、クライアントプロセススタートアップ上に作成されるMutexの存在をチェックすることによって又はクライアントプロセスウィンドウクラスを有するウィンドウを検索することによって容易に行われる。
【０１１８】
クライアントプロセス通信：
クライアントプロセスが実行中である場合、BottomLineは、表示するメニューアイテムを問い合わせるためのウィンドウズメッセージを使用する。クライアントプロセスメニューアイテムが選択された場合、BottomLineは、アイテムが選択されるようにクライアントプロセスに伝えるメッセージを使用する。
【０１１９】
Media Content Server：
メディアファイルを受け入れるサーバは、ダウンロードをスロットリングできるようにするためにＨＴＴＰバイト範囲ダウンロード（２０６サクセスコード）をサポートする任意のＨＴＴＰ１．１ウェブサーバである。サーバがバイト範囲をサポートしない場合、コンフィギュレーション設定に関係なくファイル全体が一度にダウンロードされる。
【０１２０】
Configuration Server Interface：
ＸＭＬコンフィギュレーションファイルを受け入れるサーバになる。ＸＭＬは、設計仕様書に公表された形式を遵守する。
【０１２１】
Functional Requirements
１．プログラムがインストールされたことを示すユーザ装置にCookieを設定する。このCookieは、ユーザがそれを取り除かなかったことを確認するために定期的にチェックされる。
２．Internet Explorer’s Component Download設備でアップデートするサポートソフトウエアは、新バージョンが中継局（head end）に置かれるとともに、HTMLページが更に最新の情報に置き換えられる場合に、クライアントコードが適切にアップデートされるようにする。さらに、再ブートがリフレッシュの際に必要とされないようにする。
３．プログラムは、スタートアップフォルダにインストールされ、それゆえ、ユーザが特別にそれを停止しなければ常に実行中である。
４．プログラムの一インスタンスだけが同時に実行中である。
５．アンインストールは、システムトレイアイコンメニューを通じて提供される。アンインストールは、開始されるプログラムの外部からである。
６．システムトレイアイコンによって提供されるメニューアイテム。
７．Ｈｅｌｐ−表示はDisney キャッシュに役立つ。
８．コンフィギュレーションファイルは、選択的なhelpURLアイテムを有する。ユーザがHelpを選択する場合、ブラウザはこのＵＲＬでオープンされる。
９．Ａｂｏｕｔ−プログラム著作権／情報ダイアログを示す。
１０．Ｅｘｉｔ−プログラムを終了する（スタートアップフォルダからそのプログラムを取り除かない）。
１１．Ｕｎｉｎｓｔａｌｌ−プログラムをアンインストールするとともにレジストリエントリーを取り除く。
１２．コンフィギュレーションファイルは、(i)ＸＭＬフォーマット内にあり。(ii)コンフィギュレーションファイルをどのくらいの頻度でダウンロードするかを決定するためのリフレッシュ速度を提供し。(iii)ＵＲＬ、終了日、トラッキングをヒットするためのＵＲＬ（hit tracking）及びダウンロード速度のための一項目当たりの設定を提供する。さらに、項目の優先順位は、コンフィギュレーションファイルの指示によって決定される。また、二つの異なるコンフィギュレーションファイルは、同じＵＲＬに同じ項目を含まない。加えて、ＸＭＬコンフィギュレーションファイルの場所に関する情報は、ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲに基づいて（under）レジストリに配置される。
【０１２２】
File Download
Browser（例えば、Internet Explorer）Cache：
クライアントプロセスは、メディアファイルのクライアント側キャッシュを提供するためにInternet Explorerキャッシュを使用する。キャッシュに格納されたファイルは、必要であれば、他のアイテム用の部屋を作るためにInternet Explorerによって一掃される。しかしながら、ＸＭＬコンフィギュレーションファイルは、スティッキーなものとしてマークされるから、一定の期間（例えば、３０日）、ハードドライブに残される。Internet Explorerキャッシュは、一つのWindows（登録商標）ログインに基づいているので、各ユーザは分割キャッシュを有することを許可される。
【０１２３】
クライアントプロセスは、アイテムがキャッシュから取り除かれたときを検出するために定期的にチェックする（又はFile System監視を使用する）必要がある。依然として終了しない場合、再度ダウンロードされる。
【０１２４】
Item Lifespan：
各アイテムは終了日時を有する。定期的に、クライアントプロセスは、これらの時間をチェックするとともに終了したキャッシュから任意のアイテムを削除する。クライアントプロセスは、装置に存在する資産を確実にトラックする必要があるため、クライアントがそれらを終了するための機会を得る前にＸＭＬコンフィギュレーションファイルから取り除かれる場合、それらはやはりユーザハードドライブから削除される（これはユーザが期間を延長するために装置を停止した場合に生じる）。
【０１２５】
アイテムは、一旦、ダウンロードされると、Internet Explorerがそれをキャッシュから取り除かなければ、再度ダウンロードされない。
【０１２６】
Configuration Refresh：
クライアントプロセスは、refreshRate ＸＭＬ要素によって指定された速度でサーバからそれをダウンロードすることによって、ＸＭＬコンフィギュレーションファイルを定期的にリフレッシュする。
【０１２７】
Download Errors：
アイテムがダウンロードされているときにエラーが生じる場合、一時中止後、クライアントプロセスは再度ダウンロードを試みる。待ち時間の長さは、図６で与えられる図表に従うエラーの種類に依存する。
【０１２８】
さらに、クライアントプロセスは、ネットワーク接続性が利用できる場合にダウンロードを実行する。要求されれば、ダウンロードを行うために、ダイアルアップを行わない。
【０１２９】
Throttiling：
コンフィギュレーションファイルの各アイテムは、特定ダウンロードスループットパーセンテージを有するように、選択的に構成される。これは、クライアントプロセスがこれを達成するための各構成要素（piece）間で構成要素のファイルをダウンロードするとともに停止するということを意味する。ファイルを受け入れるウェブサーバは、ＨＴＴＰバイト範囲特性をサポートすることができる。
【０１３０】
Web Interface
コンフィギュレーションファイル用ＵＲＬは、ActiveＸ制御特性でクライアントプロセスに渡される。ActiveＸ制御は、スクリプトを安全にするとともに初期化を安全にする。クライアントプロセスは、それを照合するＸＭＬコンフィギュレーションＵＲＬのサーバ部分がgo.comドメインからであるということをチェックする。これは、不当なウェブページがクライアントプロセスを潜在的に有害なデータ（小さいリフレッシュ速度で大抵ダウンロードされる大きいファイル）で初期化するのを防止する。クライアントプロセスが、選択されていない誰かに対して誤ってインストールされないようにするため、ＯＢＪＥＣＴタグは、ＣＯＤＥＢＡＳＥパラメータを持たないことを要する。Java（登録商標）Scriptは、ＡＰＩの呼出しを行う前にオブジェクトが存在するか否かをチェックするとともにインストールされたcookieもチェックするためのコードを有する。クライアントプロセスの少なくとも一つのバージョンは、クライアントデバイスにインストールされる。
【０１３１】
Ｄ．General
本発明の典型的かつ予期される（anticipated）実施形態の記載は、図解及び説明の目的として提供される。それらは、包括的すなわち本発明を開示した厳密な形態に限定することを意図するものではない。
【０１３２】
実施の形態及び変形の多くが、ここに記載した技術の観点から可能である。例えば：
（ａ）インストールされるクライアントアプリケーションソフト（apps）がそれら自身をメニューアイテムに加えられるように登録することができる（register）包括的な（generic）System Trayアイコンサポートを提供する新たな構成要素を作成することができる。
（ｂ）クライアントプロセスの振る舞いを決定するサーバ側ユーザ設定。クライアントプロセスは、それをインストールしたユーザと関連する固有の識別子を要求する。次に、サーバは、更に洗練されるとともに、異なるユーザに対する種々のＸＭＬコンフィギュレーションファイルを送ることができる。
（ｃ）完了しないダウンロードの継続。
（ｄ）更に洗練されたダウンロードスロットリングを追加（例えば、基本クライアント回線容量測定をすること及びスループット制御を計算するためのものを使用すること）。
（ｅ）ＭＲＴＧデータに基づき、サーバロードを決定するためのサーバ側スマート及び資産ダウンロードにおいて重い付加を避けるためのクライアントプロセスに対して５０３応答を戻すことを決定するものの使用。
【０１３３】
当業者であれば、本発明の概念から逸脱することなく、ここに記載した特定の実施形態からの逸脱、変更及び多数の使用をすることができることは明らかである。その結果、本発明を、ありとあらゆる新規な特徴及びここに開示された装置及び方法に存在するか又は装置及び方法に具えられる特徴の新規な組合せを受け入れるものとして解釈すべきであり、添付した特許請求の範囲だけに限られない。
【図面の簡単な説明】
【０１３４】
【図１】本発明の一実施の形態に従い、コンテンツプロバイダーサイトと遠隔メディアサーバとが相互に伝達し合うクライアントプロセスの全体的な概観図である。
【図２】ストリーミング及びウェブブラウザないのキャッシュメディアも用いられるスクリプトを示すクライアントプロセスの他の図である。
【図３】ファイルの典型的なプログラムコードを示す図である。
【図４】クライアントプロセスアプリケーションのＣ++の典型的な描写である。
【図５】クライアントによってメディア資産をダウンロードするために用いられるタイミング特性の典型的な描写である。
【図６】メディア資産をダウンロードするための待ち時間に影響するエラーチャートである。
【図７】資産リストの資産情報に関する属性の階層種類の一形態を示す図である。
【図８】資産リストの資産情報に関する属性の階層種類の他の形態を示す図である。
【図１】
2005537707.tif 000003
【図２】
2005537707.tif 000004
【図３】
2005537707.tif 000005
【図４】
2005537707.tif 000006
【図５】
2005537707.tif 000007
【図６】
2005537707.tif 000008
【図７】
2005537707.tif 000009
【図８】
2005537707.tif 000010
【国際調査報告】
2005537707.tif 000011
2005537707.tif 000012
2005537707.tif 000013