(57)【要約】  ライブコンテンツストリームの中の広告配置機会を検出し、かつ分割されたＨＴＴＰ適応ストリーミングデリバリーを有する仕切りのない配置のためのコンテンツを準備することによって、インターネット経由のコンテンツのデリバリーの中でターゲット広告挿入を実行するための方法が提供される。方法は、ターゲット広告デリバリーに対するマルチ段階のプロキシベースのセグメント差し替えのための規定を含む。提供される方法は、標準ＨＴＴＰ適応ストリーミングクライアントを伴って透過的に働く。方法の規定にしたがってクライアント及びサーバのインフラストラクチャーを実装するためのシステムがまた含まれる。【選択図】図１
2015527795.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを配信するための方法であって：
サーバにおいてリアルタイムでソースコンテンツを処理すること；
前記ソースコンテンツ内のプログラム境界を検出すること；
前記ソースコンテンツ内のプログラムに対するプログラム情報を取得すること；
前記プログラム境界を維持しながら、複数のクライアント装置においてレンダリングするために適切であるように前記ソースコンテンツを変換することであって、変換された前記ソースコンテンツは、前記プログラム情報を含み、かつ前記クライアント装置に対する伝送のためにコンテンツデリバリーネットワークにアップロードされる、変換すること；
変換された前記コンテンツに対してマニフェストファイルを生成し、かつアップロードされた前記変換されたコンテンツをダウンロードする際に、前記クライアント装置による読み出し及び使用のためにコンテンツデリバリーネットワークに対して前記マニフェストファイルをアップロードすること；並びに
プログラム境界インジケータを前記変換されたコンテンツ内に挿入すること、及びプログラム境界情報を前記マニフェストファイルに挿入することのうちの１つ又は両方によって、プログラム境界情報を前記クライアント装置へ提供することを含む、方法。
【請求項２】
前記プログラム情報は、前記ソースコンテンツ内に含まれるタイムスタンプ及びプログラム識別情報を含み、かつ前記プログラム情報を取得することは、前記ソースコンテンツから前記タイプスタンプ及びプログラム識別情報を抽出することを含む、請求項１に記載の方法。
【請求項３】
前記コンテンツは、オーディオ／ビデオのコンテンツである、請求項１に記載の方法。
【請求項４】
前記コンテンツの変換は、ビデオコンテンツを、複数の種々のビットレート、フレームレート、解像度、コーデック、及びコンテナフォーマットにコード変換することを含む、請求項１に記載の方法。
【請求項５】
前記プログラム境界は、広告の境界を含む、請求項１に記載の方法。
【請求項６】
ＳＣＴＥ‐３５キュートーンに基づいて、広告ポッド（グループ）の境界を検出することをさらに含む、請求項５に記載の方法。
【請求項７】
前記変換されたコンテンツは、固定期間のセグメントの中に記憶される、請求項１に記載の方法。
【請求項８】
セグメント境界がプログラム境界と合致するように、短縮された期間を有するセグメントを生成することをさらに含む、請求項７に記載の方法。
【請求項９】
変換された前記コンテンツ及びマニフェストファイルは、次に来るプログラム境界、新しいプログラムの開始、及び現在のプログラムの終了のインジケータを含む、請求項１に記載の方法。
【請求項１０】
セグメントの期間を介して暗黙に行うのと同様に、明示的なタグ及びコメントを使用してマニフェストファイルの中のプログラム境界を表示することをさらに含む、請求項９に記載の方法。
【請求項１１】
例えば、ＨＬＳ  ｍ３ｕ８、ＤＡＳＨ  ＭＰＤなどの複数のマニフェストファイルフォーマットをサポートすることをさらに含む、請求項１０に記載の方法。
【請求項１２】
広告プログラム境界の範囲内のセグメントのための前記マニフェストファイルに、プロキシＵＲＬを挿入することをさらに含む、請求項１１に記載の方法。
【請求項１３】
帯域内メタデータを使用して、変換されたコンテンツ内のプログラム境界を表示することをさらに含む、請求項９に記載の方法。
【請求項１４】
例えば、ＩＤ３タグ、プロプライエタリフレームタイプ、プロプライエタリメタデータヘッダーなどの複数のインラインメタデータフォーマットをサポートすることをさらに含む、請求項１３に記載の方法。
【請求項１５】
広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報をプロシキＵＲＬに加えることをさらに含む、請求項１４に記載の方法。
【請求項１６】
セグメントリクエストの相対位置を特定するために、固有の連続的に増加する識別子を含むことをさらに含む、請求項１４に記載の方法。
【請求項１７】
広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報を広告プログラム境界メタデータに挿入することをさらに含む、請求項１３に記載の方法。
【請求項１８】
差し替え広告を読み出すために、リクエストが広告決定サーバに対して発行される、請求項１に記載の方法。
【請求項１９】
前記広告決定サーバは、ＳＣＴＥ‐１３０サーバである、請求項１８に記載の方法。
【請求項２０】
ＳＣＴＥ‐１３０の利用可能な情報に基づいて、個別の広告アセットの境界を決定することをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記広告決定サーバの応答からの差し替え広告の位置情報を解析することをさらに含む、請求項１８に記載の方法。
【請求項２２】
将来の広告差し替えの機会における使用のために、広告決定サーバの応答をローカルにキャッシュすることをさらに含む、請求項２１に記載の方法。
【請求項２３】
広告アセットセグメントを読み出し、かつ生成されたセグメントを広告セグメントに差し替えることをさらに含む、請求項２１に記載の方法。
【請求項２４】
マニフェストの中で生成されたセグメントＵＲＬを広告セグメントＵＲＬに差し替えることをさらに含む、請求項２１に記載の方法。
【請求項２５】
ターゲット広告差し替えのための方法であって：
クライアント内のセグメントデータを処理しかつレンダリングすること；
プログラム境界を示すメタデータを検出すること；
広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報を、前記メタデータから抽出すること；
前記広告決定サーバに対して広告配置リクエストを発行すること；
前記広告決定サーバから広告配置レスポンスを受信しかつ処理すること；
広告プログラム境界の開始を示すメタデータを検出すること；
ストリーム広告アセットセグメントを前記広告配置レスポンス内で示されるセグメントに差し替えること；
前記広告プログラム境界の終了を示すメタデータを検出すること；及び
前記ストリームのプレイバックを再開すること
を含む、方法。
【請求項２６】
例えば、ＩＤ３タグ、プロプライエタリフレームタイプ、プロプライエタリメタデータヘッダーなどのインラインメタデータを介して、次に来る広告プログラム境界が検出される、請求項２５に記載の方法。
【請求項２７】
プログラム境界を示すメタデータを検出することは、次に来るプログラム境界を示すメタデータを検出することを含み、前記メタデータは、前記発行、及び受信、及び処理のステップが実行される所定の時間によって前記次に来るプログラム境界の前方に配置される、請求項２５に記載の方法。
【請求項２８】
次に来るプログラム境界は、例えば、ＨＬＳ  ｍ３ｕ８コメント、ＤＡＳＨ  ＭＰＤタグ／コメントなどの中のマニフェストファイルメタデータを介して検出される、請求項２５に記載の方法。
【請求項２９】
広告プログラムの開始境界は、例えば、ＨＬＳ  ｍ３ｕ８コメント、ＤＡＳＨ  ＭＰＤタグ／コメントなどの中のマニフェストファイルメタデータを介して検出される、請求項２５に記載の方法。
【請求項３０】
広告プログラムの終了境界は、例えば、ＨＬＳ  ｍ３ｕ８コメント、ＤＡＳＨ  ＭＰＤタグ／コメントなどの中のマニフェストファイルメタデータを介して検出される、請求項２５に記載の方法。
【請求項３１】
前記広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報は、例えば、ＩＤ３タグ、プロプライエタリフレームタイプ、プロプライエタリメタデータヘッダーなどのインラインメタデータを介して検出される、請求項２５に記載の方法。
【請求項３２】
前記広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報は、例えば、ＨＬＳ  ｍ３ｕ８コメント、ＤＡＳＨ  ＭＰＤタグ／コメントなどの中のマニフェストファイルメタデータを介して検出される、請求項２５に記載の方法。
【請求項３３】
前記広告決定サーバは、ＳＣＴＥ‐１３０サーバである、請求項２５に記載の方法。
【請求項３４】
前記広告決定サーバは、サードパーティーの広告ネットワークである、請求項２５に記載の方法。
【請求項３５】
購読者の身分、位置、及び／又は人口学的な情報は、広告配置リクエストの中に含まれる、請求項２５に記載の方法。
【請求項３６】
セグメントリクエストは、購読者の身分、位置、及び／又は人口学的な情報が付加される、請求項２５に記載の方法。
【請求項３７】
購読者の身分、位置、及び／又は人口学的な情報を、メディアプレイヤーによって処理されるセグメントＵＲＬに付加するために、マニフェストファイルをプロキシしかつ修正することをさらに含む、請求項３６に記載の方法。
【請求項３８】
購読者の身分、位置、及び／又は人口学的な情報を、セグメントＵＲＬに付加するために、前記セグメントリクエストをプロキシしかつ修正することをさらに含む、請求項３６に記載の方法。
【請求項３９】
将来の広告差し替えの機会における使用のために、広告決定サーバの応答はローカルにキャッシュされる、請求項２５に記載の方法。
【請求項４０】
完了した広告プレイバックについて報告するビーコンメッセージを送ることをさらに含む、請求項２５に記載の方法。
【請求項４１】
ターゲット広告差し替えのための方法であって：
広告アセットに関連するデータに対するリクエストを受信すること；
前記リクエストから、広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報を抽出すること；
前記広告決定サーバに対して広告配置リクエストを発行すること；
前記広告決定サーバからの広告配置レスポンスを受信しかつ処理すること；及び
前記広告配置レスポンス内で示される特定された前記広告アセットを用いて前記リクエストに応答すること
を含む、方法。
【請求項４２】
前記リクエストの中のＵＲＬに対して、前記広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置機会）の情報が付加される、請求項４１に記載の方法。
【請求項４３】
前記リクエストの中のＵＲＬに対して、購読者の身分、位置、及び／又は人口学的な情報が付加される、請求項４１に記載の方法。
【請求項４４】
広告のパーソナライズを可能にするために、前記広告決定サーバに対して、前記購読者の身分、位置、及び／又は人口学的な情報を提供することをさらに含む、請求項４３に記載の方法。
【請求項４５】
将来の広告差し替えの機会における使用のために、広告決定サーバの応答はローカルにキャッシュされる、請求項４１に記載の方法。
【請求項４６】
前記リクエストは、前記広告アセットに関連するセグメントデータに対するセグメントリクエストである、請求項４１に記載の方法。
【請求項４７】
ローカルキャッシュからのセグメントを供給することによって、セグメントリクエストに対して応答することをさらに含む、請求項４６に記載の方法。
【請求項４８】
前記広告配置レスポンス内で特定される遠隔サーバからのセグメントを透過的にプロキシすることによって、セグメントリクエストに対して応答することをさらに含む、請求項４６に記載の方法。
【請求項４９】
前記広告配置レスポンス内で特定される遠隔サーバに対してクライアントをリダイレクトすることによって、セグメントリクエストに対して応答することをさらに含む、請求項４６に記載の方法。
【請求項５０】
前記リクエストは、現在のライブストリームマニフェストファイルに対するマニフェストリクエストであり、前記方法は：
前記マニフェストファイルを読み出すこと；
前記マニフェストファイルが新しい広告の開始を含むかどうか、又は現在差し替えられている広告のセグメントを含むかどうかを判定すること；
前記マニフェストファイルが前記新しい広告の開始も、現在差し替えられている広告のセグメントも含まない場合、その後、修正されていない前記マニフェストファイルを用いて前記マニフェストリクエストに対して応答すること；及び
前記マニフェストファイルが現在差し替えられている広告のセグメントを含む場合、その後、（ｉ）前記現在差し替えられている広告のセグメントを検索し、かつ（ｉｉ）検索されたものを含む第２の修正されたマニフェストファイルを用いて前記マニフェストリクエストに対して応答すること；及び
前記マニフェストファイルが前記新しい広告の開始を含む場合、その後、前記抽出、発行、受信、及び応答のステップを実行すること
をさらに含む、請求項４１に記載の方法。
【請求項５１】
前記広告決定サーバは、前記マニフェストファイル、又は前記差し替え広告に対するセグメントを特定する前記マニフェストファイルを指し示すＵＲＬを返す、請求項５０に記載の方法。
【請求項５２】
前記広告決定サーバは、選択された広告に対する前記マニフェストファイル及び／又はセグメントの位置情報を検索するために使用される、広告メディア識別子を返す、請求項５０に記載の方法。
【請求項５３】
後続の広告セグメントリクエストが選択された広告の継続に対して適切にマッピングされるように、現在のクライアント広告リクエストと前記広告配置レスポンスとの間のマッピングと、前記広告配置レスポンスを記憶することをさらに含む、請求項５０に記載の方法。
【請求項５４】
将来の広告差し替えの機会における使用のために、前記広告配置レスポンス及びマニフェストファイルをキャッシュすることをさらに含む、請求項５０に記載の方法。
【請求項５５】
コンテンツデリバリーシステム内のライブストリームプロセッサとして作動可能なコンピュータ化された装置であって：
コンピュータプログラム指示命令を記憶するメモリ；
前記指示命令を実行するための１以上のプロセッサ；
前記コンピュータ化された装置を外部の装置に接続する、入力／出力（Ｉ／Ｏ）電気回路；及び
前記メモリ、プロセッサ、及びＩ／Ｏ電気回路を一緒に接続する相互接続電気回路を備え、
前記コンピュータプログラム指示命令は、前記プロセッサによって実行される場合に、前記コンピュータ化された装置に請求項１から２４のいずれか一項に記載の方法を実行させるように作動可能である、装置。
【請求項５６】
コンテンツデリバリーシステム内のクライアントとして作動可能なコンピュータ化された装置であって：
コンピュータプログラム指示命令を記憶するメモリ；
前記指示命令を実行するための１以上のプロセッサ；
前記コンピュータ化された装置を外部の装置に接続する、入力／出力（Ｉ／Ｏ）電気回路；及び
前記メモリ、プロセッサ、及びＩ／Ｏ電気回路を一緒に接続する相互接続電気回路を備え、
前記コンピュータプログラム指示命令は、前記プロセッサによって実行される場合に、前記コンピュータ化された装置に請求項２５から４０のいずれか一項に記載の方法を実行させるように作動可能である、装置。
【請求項５７】
コンテンツデリバリーシステム内の広告セグメントプロキシとして作動可能なコンピュータ化された装置であって：
コンピュータプログラム指示命令を記憶するメモリ；
前記指示命令を実行するための１以上のプロセッサ；
前記コンピュータ化された装置を外部の装置に接続する、入力／出力（Ｉ／Ｏ）電気回路；及び
前記メモリ、プロセッサ、及びＩ／Ｏ電気回路を一緒に接続する相互接続電気回路を備え、
前記コンピュータプログラム指示命令は、前記プロセッサによって実行される場合に、前記コンピュータ化された装置に請求項４１から５４のいずれか一項に記載の方法を実行させるように作動可能である、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、インターネットで配信される（ＯＯＴ）メディアデリバリーに関し、かつより具体的には、準リアルタイムのストリーミングメディアに対するターゲット広告差し替えに関する。
【背景技術】
【０００２】
準リアルタイムのデリバリーのプロトコルは、それらの簡明さ、速度適応の使用を介して変化するネットワークコンディションに適応するそれらの能力、及び商品のＨＴＴＰデリバリーインフラストラクチャーを使用する開発の低コストのために、ＯＴＴメディアデリバリーに対して人気がある。ＯＴＴメディアデリバリーは、典型的には、ＨＴＴＰプロトコルを使用するセグメントベースの読み出しパラダイムに依存する。ＨＴＴＰ適応ストリーミングは、多重符号化（各々は、異なるビットレート、解像度、及び／又はフレームレートにおいて符号化される）を使用し、クライアントがそのローカルネットワーク条件に対して適切な符号化を選ぶことを可能にする。マニフェストファイルは、符号化情報をクライアントに伝えるために使用される。マニフェストファイルはまた、セグメント読み出し位置を表示するために使用される。リアルタイムの（ライブ）コンテンツに対して、セグメント及びマニフェストファイルは、クライアントによってリアルタイムに生み出されかつ読み出される。
【発明の概要】
【０００３】
メディアデリバリーの１つの一般的な態様は、従来の放送技術を使用しようが又はより新しいＯＴＴ技術を使用しようが、オペレーションの広告にサポートされるビジネスモデルの部分として、顧客に送られるメディアの中に広告を挿入する必要性である。従来の線形的なテレビは、典型的には、地域ベースで広告を挿入し、かつその後、その地域の全ての視聴者に結果としてもたらされるストリームを放送する。しかしながら、ＨＴＴＰベースのデリバリーのユニキャスト（ｕｎｉｃａｓｔ）的な性質は、よりパーソナライズされた広告のデリバリーを可能にする。ＯＴＴデリバリーの中のターゲット広告は、双方向の広告挿入パラダイムを必要とする。
【０００４】
インターネットで配信される（ＯＴＴ）メディアデリバリーにおけるターゲット広告の差し替えを実行するための方法及び装置が開示される。開示されるＯＴＴデリバリーシステムは、ライブストリームプロセッサ、ＨＴＴＰクライアント、及び広告の差し替えのための種々のやり方において使用可能な様々なメカニズムを集合的に含む、広告セグメントプロキシを含む。
【０００５】
一態様において、リアルタイムで生成するセグメント及びマニフェストファイルに広告メタデータを動的に挿入し、ターゲット広告の差し替えを可能にするための方法が提供される。方法は、コンテンツデリバリーネットワーク（ＣＤＮ）を介しＯＴＴデリバリーに対するメディアセグメントを生成するために使用されるライブストリームプロセッサによって、部分的に実行され得る。一実施形態において、リアルタイムの入力ストリームは、線形的なテレビのフィードである。一実施形態において、線形的なテレビのフィードは、次に来る広告ポッド（ブレイク）、各々の広告ポッドの開始、及び各々の広告ポッドの終了を表示する、キュートーン（ｃｕｅ  ｔｏｎｅ）を含む。一実施形態において、キュートーンは、有線テレビ技術者協会（ＳＣＴＥ）のデジタルビデオ小委員会ＳＣＴＥ‐３５のケーブル仕様に対するデジタルプログラム挿入キューイングメッセージに従う。一実施形態において、ＳＣＴＥ‐３５のプログラムディスクリプタは、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を表現する。別の実施形態において、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を決定するために、コールアウト（ｃａｌｌｏｕｔｓ）が使用される。一実施形態において、コールアウトメッセージは、有線テレビ技術者協会（ＳＣＴＥ）のデジタルビデオ小委員会ＳＣＴＥ‐１３０のデジタルプログラム挿入‐広告システム仕様に従う。
【０００６】
別の実施形態において、広告ポッド（ブレイク）は、（例えば、放送の実時間若しくはＭＰＥＧ‐ＴＳフレームの刺激閾時、又はプログラムの開始からの時間オフセットに対応する）タイムマーカを使用して前もって確定されかつ帯域外に含められる。一実施形態において、広告ポッドの構造（なわち、広告の数及び各々の広告の期間）はまた、帯域外の広告ポッドのオフセット情報を伴って含まれる。一実施形態において、ビデオ多重広告プレイリスト（ＶＭＡＰ）が、帯域外の広告ポッドの情報を含めるために使用される。別の実施形態において、カスタムＸＭＬフォーマットが、帯域外の広告ポッドの情報を含めるために使用される。当業者に知られているように、帯域外の広告ポッドの情報を提供するために利用可能な、数多くの方法及びプロトコルが存在する。任意のそのような方法は本発明と共に使用されるために適切であることが理解されるべきである。
【０００７】
広告ポッドの構造は、リアルタイムのストリームの範囲内の広告の境界を画定するために使用される。その後、セグメントが広告の境界の上に生成され、かつメタデータが、広告の開始及び終了を表示するために、セグメント及びマニフェストファイルに挿入される。次に来る広告を示すメタデータは、広告の境界に通じているセグメント及びマニフェストファイルに挿入される。一実施形態において、広告決定サーバ、プログラム識別子、及び広告スポット（配置）の情報は、メタデータの中に含まれて、クライアント及び媒介がターゲット広告配置リクエストを発行することを可能にする。
【０００８】
一実施形態において、広告配置リクエストは、広告ポッドの中に含まれる広告挿入の機会のうちの１以上のために広告決定サーバに対して発行される。一実施形態において、広告決定サーバはまた、広告ポッドの構造を決定するために使用される、ＳＣＴＥ‐１３０サーバとして機能する。一実施形態において、リアルタイムの入力ストリームから生成する広告プログラム境界の範囲内のセグメントは、広告配置レスポンスの中に含まれるセグメントに差し替えられる。一実施形態において、差し替え広告セグメントは、実際のセグメントを差し替えるためにダウンロードされる。別の実施形態において、広告に関連するセグメントＵＲＬ（すなわち、広告の境界の範囲内のセグメント）は、マニフェストファイルの中で、広告配置レスポンスの中に含まれるセグメントを指し示すＵＲＬに差し替えられる。別の実施形態において、広告に関連するセグメントＵＲＬ（すなわち、広告の境界の範囲内のセグメント）は、マニフェストファイルの中で、広告セグメントプロキシサーバを指し示すＵＲＬに差し替えられる。一実施形態において、広告プロキシサーバＵＲＬは、同じ広告からの複数のセグメントの識別及び対比を可能にするために、固有の連続番号を含む。一実施形態において、広告プロキシサーバＵＲＬは、コンテンツベースの広告ターゲティングを可能にするために、固有のプログラム識別子を含む。
【０００９】
別の態様において、ターゲット広告差し替えを可能にするために、リアルタイムでレンダリングされているセグメント及びマニフェストファイルから広告メタデータを動的に抽出するための方法が提供される。一実施形態において、クライアントはローカルメディアプレイヤーからのマニフェストファイルリクエストをプロキシし、かつメディアプレイヤーに対してそれを転送する前に、受信したマニフェストからの広告メタデータを抽出する（例えば、ｍ３ｕ８マニフェストからのコメントを抽出する）。別の実施形態において、クライアントはメディアプレイヤーからのセグメントリクエストをプロキシし、かつメディアプレイヤーに対してそれを転送する前に、セグメントからの広告メタデータを抽出する（例えば、ＲＴＰ又はＭＰＥＧ‐ＴＳストリームからプロプライエタリヘッダー又は双方向のデータチャネルを抽出する）。別の実施形態において、クライアントは、広告メタデータ（例えば、ＭＰＥＧ‐ＴＳの中へ挿入されるＩＤ３タグ）を含むメディアプレイヤーからのコールバックを監視する。
【００１０】
一実施形態において、クライアントは、次に来る広告の境界を表示するために、メディアストリームの中へ挿入されたメタデータに応答する。一実施形態において、広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置）の情報は、次に来る広告の境界の通知メタデータと共に含まれる。その後、クライアントは、インストリーム広告に対する差し替えとして使用するために、広告の先読みを試みることができる。クライアントは、プログラム識別子及び／又は広告スポットの情報を提供する、広告決定サーバに対して広告配置リクエストを発行する。一実施形態において、クライアントはまた、広告のパーソナライズにおける助けとなるために、広告決定サーバに対して、受信契約者及び／又はユーザのアイデンティティー、位置（例えば、ＧＰＳ座標、ＩＰアドレス、郵便番号、局番、国番号、指定された販売エリア（ＤＭＡ）など）、及び／又は人口学的情報（例えば、性別、年齢など）を提供する。
【００１１】
一実施形態において、メタデータは、広告の正確な開始、すなわち広告の開始境界を表示するために、メディアストリームの中へ挿入される。一実施形態において、広告の開始境界は、セグメントの差し替えを使用して境のない広告の差し替えを可能にするように、セグメント境界に対して正確に位置合わせされる。一実施形態において、メタデータは、広告の正確な終了、すなわち広告の終了境界を表示するために、メディアストリームの中へ挿入される。一実施形態において、広告の終了境界は、広告の正確な期間を提供することによって、明瞭に特定される。別の実施形態において、広告の終了境界は、次の後続のプログラムの開始境界（新しい広告の開始かもしれないし、主要番組の再開かもしれない）によって暗黙に特定される。一実施形態において、メタデータは、広告のプレイバック（例えば、認証情報及び／又はビーコンメッセージのフォーマットと同様に、ビーコンメッセージがポストされるべきＵＲＬ）に対する要求の報告を表示するために挿入される。
【００１２】
一実施形態において、クライアントは、インストリーム広告の特定された期間と正確にマッチングする広告だけを受け入れ、その結果として広告の差し替えはライブストリームのタイミングを混乱させない。別の実施形態において、クライアントは任意の広告を挿入するが、ライブストリームを何時再開するかを決定するためにライブストリームを監視しなければならない。一実施形態において、差し替え広告がインストリーム広告よりも短い場合、クライアントは、ライブストリームを再結合しかつインストリーム広告の残りをプレイすることができる。別の実施形態において、差し替え広告がインストリーム広告よりも短い場合、クライアントは、インストリーム広告の期間の残りに対する隙間広告のメッセージ又は画像を表示し、かつ一旦インストリーム広告が完了したらライブストリームを再結合することのみできる。一実施形態において、差し替え広告がインストリーム広告よりも長い場合、クライアントは、ユーザがライブストリームのコンテンツを見逃さないように、差し替え広告を最後までプレイすることなしに、ライブストリームに戻ることができる。
【００１３】
一実施形態において、クライアントは、メディアプレイヤーからのマニフェストファイルリクエストをプロキシすることによって、かつメディアプレイヤーに対して提示されるマニフェストの中のセグメントＵＲＬ（及び任意の関連する暗号化キーＵＲＬ及び／又は広告セグメントに関連する暗号化キーメタデータ）を変えることによって、広告の差し替えを実行する。別の実施形態において、クライアントは、メディアプレイヤーからのセグメントリクエストを透過的にプロキシする（すなわち、メディアプレイヤーからの接続を打ち切る、双方向のセグメントに対するリクエストを発行する、及びそのデータをメディアプレイヤーに戻す）ことによって、広告の差し替えを実行する。別の実施形態において、クライアントは、メディアプレイヤーからのセグメントリクエストをプロキシすることによって、かつメディアプレイヤーを双方向のセグメントに対してリダイレクトする（例えば、ＨＴＴＰ３０２リダイレクトを使用して）ことによって、広告の差し替えを実行する。
【００１４】
一実施形態において、クライアントが広告の差し替えを実行する場合、クライアントは、現在見られているライブストリームの符号化（すなわち、ビットレート、フレームレート、解像度など）をマッチングする広告に対する符号化（すなわち、ビットレート、フレームレート、解像度など）を選択するのみである。別の実施形態において、広告セグメントに対する符号化の正確なマッチングが存在しない場合、クライアントは、最も近いマッチングの符号化を選択し、現在見られているライブストリームの符号化（すなわち、ビットレート、フレームレート、解像度など）を超えない最も大きな符号化（すなわち、ビットレート、フレームレート、解像度など）、すなわち現在使用されているライブストリームのビットレートを超えない最も大きなビットレートを伴う符号化、現在使用されているライブストリームのフレームレートを超えない最も大きなフレームレート、及び現在見られているライブストリームの解像度を超えない最も大きな解像度などを好む。一実施形態において、クライアントは、広告セグメントを読み出す中でより高い待ち時間を受け入れる（すなわち、補償する）広告セグメントに対するより小さい符号化（すなわち、より低いビットレート、フレームレート、解像度など）を選ぶことができる。別の実施形態において、クライアントは、広告の品質及び広告の収益生成を最大化するために、広告セグメントに対してより大きい符号化（すなわち、より高いビットレート、フレームレート、解像度など）を選ぶことができる。種々の符号化の動的な選択のための技術は、ＰＣＴ公開番号ＷＯ／２０１１／１３９３０５の下に公開された、ＭａらのＰＣＴ特許出願ＰＣＴ／ＵＳ２０１０／０６０３１７の中において説明されている。
【００１５】
別の態様において、リアルタイムのターゲット広告の差し替えをサポートするために、広告セグメントリクエストを動的にプロキシするための方法が提供される。方法は、上述されたようにクライアント側のプロキシにおいて、又はネットワークベースのプロキシにおいて使用されるために適切である。一実施形態において、ネットワークプロキシは、メディアプレイヤーからのマニフェストファイルリクエストをプロキシすることによって、かつメディアプレイヤーに対して提示されるマニフェストの中のセグメントＵＲＬ（及び任意の関連する暗号化キーＵＲＬ及び／又は広告セグメントに関連する暗号化キーメタデータ）を変えることによって、広告の差し替えを実行する。別の実施形態において、ネットワークプロキシは、クライアント（クライアントメディアプレイヤーまたはクライアント側のプロキシのいずれか）からのセグメントリクエストを透過的にプロキシすることによって、すなわちクライアントからの接続を打ち切ることによって、双方向のセグメントに対するリクエストを発行することによって、及びそのデータをクライアントに戻すことによって広告の差し替えを実行する。別の実施形態において、ネットワークプロキシは、クライアント（クライアントメディアプレイヤーまたはクライアント側のプロキシのいずれか）からのセグメントリクエストをプロキシすることによって、かつクライアントを双方向のセグメントに対してリダイレクトする（例えば、ＨＴＴＰ３０２リダイレクトを使用して）ことによって、広告の差し替えを実行する。
【００１６】
一実施形態において、広告決定サーバ、プログラム識別子、及び／又は広告スポット（配置）の情報は、広告セグメントリクエストの中に含まれる。一実施形態において、クライアントはまた、広告セグメントリクエストの中に、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報を提供する。ネットワークプロキシは、プログラム識別子及び／又は広告スポット情報を提供する、広告決定サーバに対して広告配置リクエストを発行する。一実施形態において、ネットワークプロキシは、セグメントリクエストから、受信契約者及び／又はユーザのアイデンティティー、及び／又はセグメントリクエストからの人口学的な情報を抽出し、かつ広告配置リクエストの中にその情報を含み、よりパーソナライズされた広告の選択を可能にする。
【００１７】
一実施形態において、ネットワークプロキシが広告の差し替えを実行する場合、ネットワークプロキシは、現在見られているライブストリームの符号化（すなわち、ビットレート、フレームレート、解像度など）とマッチングする広告に対する符号化（すなわち、ビットレート、フレームレート、解像度など）を選択するのみである。別の実施形態において、広告セグメントに対する符号化の正確なマッチングが存在しない場合、ネットワークプロキシは、最も近いマッチングの符号化を選択し、現在見られているライブストリームの符号化（すなわち、ビットレート、フレームレート、解像度など）を超えない最も大きな符号化（すなわち、ビットレート、フレームレート、解像度など）、すなわち現在使用されているライブストリームのビットレートを超えない最も大きなビットレートを伴う符号化、現在使用されているライブストリームのフレームレートを超えない最も大きなフレームレート、及び現在見られているライブストリームの解像度を超えない最も大きな解像度などを好む。一実施形態において、ネットワークプロキシは、広告セグメントを読み出す中でより高い待ち時間を受け入れる（すなわち、補償する）広告セグメントに対するより小さい符号化（すなわち、より低いビットレート、フレームレート、解像度など）を選ぶことができる。別の実施形態において、ネットワークプロキシは、広告の品質及び広告の収益生成を最大化するために、広告セグメントに対してより大きい符号化（すなわち、より高いビットレート、フレームレート、解像度など）を選ぶことができる。種々の符号化の動的な選択のための技術は、ＰＣＴ公開番号ＷＯ／２０１１／１３９３０５の下に公開された、ＭａらのＰＣＴ特許出願ＰＣＴ／ＵＳ２０１０／０６０３１７の中において説明されている。
【００１８】
一実施形態において、広告セグメントは、それらがライブストリームの中で差し替える対応するセグメントからの種々の暗号キーを用いて暗号化され、かつクライアント又はネットワークプロキシは、対応するライブストリームセグメントを差し替えるために使用される広告セグメントに関連する暗号化キーＵＲＬ及び／又はメタデータを反映するためにマニフェストを修正しなければならない。別の実施形態において、広告セグメントは、それらがライブストリームの中で差し替える対応するセグメントと同じ暗号キーを用いて暗号化され、かつ暗号キーＵＲＬ及び／又はメタデータのマニフェスト操作は必要とされない。別の実施形態において、広告セグメントは、それらがライブストリームの中で差し替える対応するセグメントからの種々の暗号キーを用いて暗号化され、かつキー情報はセグメントファイルのヘッダーの中に含まれ、かつ暗号キーＵＲＬ及び／又はメタデータのマニフェスト操作は必要とされない。別の実施形態において、広告セグメントは、それらがライブストリームの中で差し替える対応するセグメントからの種々の暗号キーを用いて暗号化され、かつクライアント又はネットワークプロキシは、差し替えられるライブストリームに対応する暗号キーを使用して、広告セグメントを解読しかつ広告セグメントを再暗号化しなければならない。別の実施形態において、広告セグメントは、それらがライブストリームの中で差し替える対応するセグメントからの種々の暗号キーを用いて暗号化されるが、全てのデータは平文の中のメディアプレイヤーに対して提示され、したがってクライアント又はネットワークプロキシは、それをメディアプレイヤーに対して提示する前に、広告セグメントを解読しなければならない。当業者に知られているように、メディアプレイヤーがコンテンツを理解しかつレンダリングできるように、メディアプレイヤーに対して暗号キー情報及び／又はコンテンツを提示する多くのやり方が存在する。概して、キーの差異を調停するための任意の方法が、容認可能である。
【００１９】
これらの方法の規定にしたがってクライアント及びサーバのインフラストラクチャーを実装するためのシステムがまた提供される。システムは、リアルタイムのコンテンツを準備し、かつ広告メタデータを挿入するためのライブストリームプロセッサ、広告メタデータを抽出しかつターゲット広告の差し替えを実行するための適応可能なストリーミングクライアント、及びターゲット広告の差し替えを実行するための広告セグメントプロキシを含む。
【００２０】
本説明は、第一に、ライブストリームの文脈の中の広告の差し替えに焦点を当て、そこでは入力（例えば、ＴＶのフィード）がすでにその中にローカル広告又はパーソナライズされた広告などの他の広告によって差し替えられる広告（例えば、全国広告）をすでに有している。開示される技術は、広告が例えばビデオオンデマンド（ＶＯＤ）の用途の中の入力に対して加えられる、広告の挿入において使用されるためにしっかりと適合され得ることが理解されるべきである。
【００２１】
以下の説明が進むにしたがって当業者にとって明らかになる様々な補助的な規定及び特徴を一緒に伴う上述の規定は、本発明の実施形態の装置、アセンブリ、システム、及び方法によって実現され、それらの様々な実施形態は、例示的なやり方のみにおいて、付加の図面を参照しながら示される。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明の様々な実施形態による、初めから終わりまでのコンテンツデリバリー及びターゲット広告差し替え手順を実行することができるシステムのブロック図である。
【図２】図２は、本発明の様々な実施形態による、広告メタデータ挿入手順を実行することができるシステムのブロック図である。
【図３】図３は、本発明の様々な実施形態による、ターゲット広告差し替え手順を実行することができるクライアントのブロック図である。
【図４】図４は、本発明の様々な実施形態による、ターゲット広告差し替え手順を実行することができるネットワークプロキシのブロック図である。
【図５】図５は、本発明の実施形態による、広告メタデータの挿入を実行するための方法を示す流れ図である。
【図６】図６は、本発明の実施形態による、クライアント側のターゲット広告差し替えを実行するための方法を示す流れ図である。
【図７Ａ】７Ａ及び７Ｂ部分から成る図７は、本発明の実施形態による、ネットワークプロキシベースのターゲット広告差し替えを実行するための方法を示す流れ図である。
【図７Ｂ】７Ａ及び７Ｂ部分から成る図７は、本発明の実施形態による、ネットワークプロキシベースのターゲット広告差し替えを実行するための方法を示す流れ図である。
【発明を実施するための形態】
【００２３】
本明細書の中の本発明の実施形態の説明において、本発明の実施形態の徹底した理解を提供するために、構成要素及び／又は方法の実施例などの、多くの具体的な詳細が提供される。しかしながら、当業者は、本発明の実施形態が、具体的な詳細のうちの１以上がなくても、又は他の装置、システム、アセンブリ、方法、構成要素、材料、部品、及び／又は同様なものを伴って、実施され得ることを理解するだろう。他の例において、良く知られた構造、材料、又はオペレーションは、本発明の実施形態の態様をあいまいにすることを避けるために、具体的に示されていないか又は詳細には説明されていない。
【００２４】
本説明において、「プログラム境界」という用語は、プログラム間の境界、すなわち１つのプログラムの終了と別のプログラムの開始との間の境界、及び典型的には広告の境界（すなわち、広告が挿入されるプログラムにおけるブレイク）であるプログラム間の境界の両方を言及する。プログラム間の境界はまた、典型的には、広告の境界であることが理解されるだろう。より広い用語「プログラム境界」は、広告の挿入以外の目的に対して使用される境界が存在する実施形態を受け入れるために使用される。
【００２５】
図１は、本発明の一実施形態のシステム１００のブロック図である。システムは、ライブストリームプロセッサ１０２、コンテンツデリバリーネットワーク（ＣＤＮ）１０４、広告決定サーバ（ＡＤＳ）１０８、（本明細書の中において、ネットワークプロキシ１０６としてまた言及される）広告セグメントプロキシ１０６、及びクライアント１１０を含む。ライブストリームプロセッサ１０２は、リアルタイムのオーディオ／ビデオのコンテンツを取得かつ処理し、広告の差し替え／挿入の機会を検出し、かつ広告の差し替え及び挿入の方法を実行する。ＣＤＮ１０４は、ライブストリームプロセッサ１０２の処理されたコンテンツを分配する。クライアント１１０は、ＣＤＮ１０４からのコンテンツを読み出しかつレンダリングし、かつ広告の差し替え及び挿入の方法を実行する。ネットワークプロキシ１９６は、クライアント１１０からの特定のコンテンツのリクエストをプロキシし、かつ広告の差し替え及び挿入の方法を実行する。ＡＤＳ１０８は、ライブストリームプロセッサ１０２、ネットワークプロキシ１０６、及びクライアント１１０のためのリアルタイムのターゲット広告の配置処理を実行する。
【００２６】
ライブストリームプロセッサ１０２、ＣＤＮ１０４、ＡＤＳ１０８、ネットワークプロシキ１０６、及びクライアント１１０は、各々、１以上の計算装置として実現されることができ、各々は、コンピュータプログラム指示命令を記憶するメモリ、指示命令を実行する１以上のプロセッサ、計算装置を外部の装置に接続するＩ／Ｏ電気回路、及びメモリ、プロセッサ、及びＩ／Ｏ電気回路を一緒に接続する１以上の高速バスなどの相互接続電気回路を有する。そのような要素の集合はまた、本明細書の中において付加的に「処理電気回路」として言及され得る。図１の中において示されるアイテムのいくつかの構成要素は、付加的な図の中で示されかつ以下に説明され、かつ構成要素は対応するソフトウェア要素の指示命令を実行する処理電気回路として実現され得ることが理解されるだろう。例えば、「解析ツール」は、解析プログラムなどの指示命令を実行する電気回路を処理するコンピュータとして実現され得る。
【００２７】
ライブストリームプロセッサ１０２は、ライブフィードからソースコンテンツを取得すること、及び分配のためにコンテンツを準備することに対して責任を有する。一実施形態において、準備は、種々のコード、ビットレート、フレームレート、サンプルレート、及び解像度を使用して、オーディオ及びビデオを複数の符号化の中へコード変換することを含む。その後、コード変換されたコンテンツは、複数の出力ファイルの中へ書き込まれる。一実施形態において、複数の出力ファイルは、種々のコンテナフォーマット（例えば、３ＧＰ、ＭＰ４、ＭＰＥＧ‐ＴＳ、ＷＭＶ、ＭＯＶなど）の中に包含される同じコード変換されたコンテンツを含む。一実施形態において、準備された出力ファイルは、固定期間のセグメントファイル（例えば、ＭＰＥＧ‐ＴＳセグメント、断片化されたＭＰ４セグメント、３ＧＰＤＡＳＨセグメントなど）の中へ分割される。一実施形態において、出力ファイルは、分割されていてもいなくても、標準的な暗号プロトコル（例えば、ＡＥＳ‐１２８、ＨＣ‐１２８、ＲＣ４など）を使用して暗号化される。一実施形態において、ライブストリームプロセッサ１０２は、各々の符号化（例えば、ＨＬＳ  ｍ３ｕ８、ＤＡＳＨ  ＭＰＤなど）のためのセグメント読み出し位置を表示する、マニフェストファイルを生成する。
【００２８】
一実施形態において、ライブストリームプロセッサ１０２は、ライブフィードの中の広告ブレイクを検出する。一実施形態において、ライブフィードは、線形的なテレビのフィードである。一実施形態において、ライブフィードは、次に来る広告ポッド（ブレイク）、各々の広告ポッドの開始、及び各々の広告ポッドの終了を表示する、ＳＣＴＥ‐３５キュートーンを含む。一実施形態において、ＳＣＴＥ‐３５のプログラムディスクリプタは、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を表示する。別の実施形態において、ライブストリームプロセッサ１０２は、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を決定するために、ＡＤＳ１０８に対してＳＣＴＥ‐１３０リクエストを発行する。
【００２９】
一実施形態において、ライブストリームプロセッサ１０２は、固定期間のセグメントを使用して、ライブストリーム入力からセグメントを生成する。一実施形態において、ライブストリームプロセッサ１０２は、広告の境界の上にセグメント境界を動的に生成するために、広告ポッド構造の情報を使用する。実施例として、２つの広告を有する広告ポッドが与えられたとして、第１は１５秒の期間を有し、かつ第２は２５秒の期間を有し、ここで、広告ポッドは開始７秒を所与のセグメントＮへ入れ、固定期間のセグメントは広告１の開始７秒をセグメントＮの中に有し、広告２の開始３秒をセグメントＮ＋２の中に有し、かつ主要プログラムの再開始７秒をセグメントＮ＋３の中に有する：すなわち、
2015527795.tif 000003
動的なセグメント境界を伴って、２つの広告を有する広告ポッドの同じシナリオは、第１が１５秒の期間を有し、かつ第２が２５秒の期間を有し、ここで、広告ポッドは開始７秒を所与のセグメントＮの中へ入れ、固定期間のセグメントは７秒まで短縮されたセグメントＮを有し、広告１は新しいセグメント境界（すなわち、セグメントＮ＋１の開始）の上で開始し、セグメントＮ＋２は５秒まで短縮され、広告２は新しいセグメント境界（すなわち、セグメントＮ＋３の開始）の上で開始し、セグメントＮ＋５は５秒まで短縮され、かつ主要プログラムは新しいセグメント境界（すなわち、セグメントＮ＋６）の上で再開始する。
2015527795.tif 000004
【００３０】
一実施形態において、ライブストリームプロセッサ１０２は、広告ポッドの中に含まれる広告挿入の機会のうちの１以上のためのＡＤＳ１０８に対して広告配置リクエストを発行する。一実施形態において、ＡＤＳ１０８は、広告ポッドの構造を決定するために使用される、同じＳＣＴＥ‐１３０サーバである。一実施形態において、ライブストリームプロセッサ１０２は広告配置レスポンスの中に含まれるセグメントを用いて、ライブフィードから生成する広告プログラム境界の範囲内のセグメントを差し替える。一実施形態において、ライブストリームプロセッサ１０２は、差し替え広告セグメントをダウンロードして、実際のセグメントを差し替える。別の実施形態において、ライブストリームプロセッサ１０２は、マニフェストファイルの中の広告に関連するセグメントＵＲＬ（すなわち、広告の境界の範囲内のセグメント）を、広告配置レスポンスの中に含まれるセグメントを指し示すＵＲＬを用いて差し替える。一実施形態において、ライブストリームプロセッサ１０２は、将来の広告差し替えの機会における使用に対して広告配置レスポンスをキャッシュする。一実施形態において、ライブストリームプロセッサ１０２はまた、広告のための利用可能な符号化がライブストリームの処理に対して使用される符号化とマッチングすることを確実にするために、広告ソースコンテンツを処理する。
【００３１】
一実施形態において、ライブストリームプロセッサ１０２は、メタデータをセグメントの中に挿入し、クライアント１１０に、各々の広告の実際の開始及び終了と同様に、次に来る広告の境界を表示する。一実施形態において、メタデータは、（本明細書の中においてＩＤ３タグとして言及される）ＭＰＥＧ‐ＴＳの中の事実上の標準ＩＤ３バージョン２メタデータコンテナフォーマットを使用して挿入される。別の実施形態において、メタデータは、ＲＴＰセグメントの中のプロプライエタリデータチャネルの中に挿入される。別の実施形態において、メタデータは、プロプライエタリＤＡＳＨヘッダーの中に挿入される。当業者に知られているように、カスタムメタデータを所与のセグメントフォーマットの中へ挿入する、多くのセグメントフォーマット及び多くのやり方が存在する。メタデータをセグメントの中へ挿入する方法は、広告の境界のメタデータに対して適している。
【００３２】
一実施形態において、ライブストリームプロセッサ１０２は、メタデータをマニフェストファイルに挿入し、クライアント１１０に、各々の広告の実際の開始及び終了と同様に、次に来る広告の境界を表示する。一実施形態において、ライブストリームプロセッサ１０２は、広告ポッドの構造メタデータをマニフェストファイルに挿入し、クライアント１１０に、各々のセグメントが所属するポッドの範囲内の広告を表示する。一実施形態において、ライブストリームプロセッサ１０２は、広告セグメントオフセットメタデータをマニフェストファイルに挿入し、クライアント１１０に、各々の広告の範囲内及び各々の広告ポッドの範囲内のセグメントの連続番号を表示する。一実施形態において、メタデータは、ｍ３ｕ８マニフェストファイルにコメントとして挿入される。別の実施形態において、メタデータは、ＤＡＳＨ  ＭＰＤマニフェストファイルの中のカスタムタグとして挿入される。当業者に知られているように、カスタムメタデータを所与のマニフェストファイルフォーマットの中へ挿入する、多くのマニフェストファイルフォーマット及び多くのやり方が存在する。メタデータをマニフェストファイルに挿入する方法は、広告の境界のメタデータに対して適切である。
【００３３】
一実施例において、マニフェストファイルに挿入されるセグメントのＵＲＬは、ＣＤＮ１０４の中の実際のセグメントというよりもむしろ、広告セグメントプロキシ１０６を指し示す。一実施形態において、広告メタデータは、各々の広告の期間を含む。一実施形態において、広告メタデータは、広告ポッドの期間を含む。一実施形態において、広告メタデータは、ＡＤＳ１０８に対するネットワークアドレス情報を含む。一実施形態において、広告メタデータは、各々の広告に対するスポット（配置）情報を含む。一実施形態において、広告メタデータは、ターゲット広告意思決定の中で使用される、プログラム識別子、元々のプログラムの放送時間、広告規制、及びプログラムの人口学的な情報を含む。一実施形態において、広告ポッドの中の最後の広告の終了に対するメタデータは、主要プログラムの再開を示すメタデータとして含まれる。
【００３４】
一実施形態において、ライブストリームプロセッサ１０２は、セグメントファイル及びマニフェストファイルを、それらがクライアント１１０によって読み出されるＣＤＮ１０４にアップロードする。一実施形態において、クライアント１１０は、ライブストリームプロセッサ１０２から直接に、セグメント及びマニフェストファイルを読み出す。別の実施形態において、クライアント１１０は、ライブストリームプロセッサ１０２からマニフェストファイルを読み出し、かつＣＤＮ１０４からセグメントファイルを読み出す。一実施形態において、クライアント１１０は、広告メタデータを検出し、かつターゲット広告の差し替えを実行する。一実施形態において、クライアント１１０は、そのメディアプレイヤー（以下のより詳細な説明を見よ）からのマニフェストファイルリクエストをプロキシすることによって、かつマニフェストファイルを解析すること（例えば、ＨＬＳ  ｍ３ｕ８の中のカスタムコメント、又はＤＡＳＨ  ＭＰＤの中のカスタムタグを検出すること）によって、広告メタデータを検出する。別の実施形態において、クライアント１１０は、メディアプレイヤーからのセグメントリクエストをプロキシすることによって、かつセグメントデータを解析すること（例えば、ＲＴＰチャネルの中のカスタムメタデータを検出すること）によって、広告メタデータを検出する。別の実施形態において、クライアント１１０は、メディアプレイヤーからのコールバックを監視すること（例えば、ＩＤ３コールバックを読み出すこと）によって、広告メタデータを検出する。
【００３５】
一実施形態において、広告セグメントに対するＵＲＬは、ライブストリームプロセッサ１０２によって特定されて、ネットワークプロキシ１０６を指し示す。一実施形態において、クライアント１１０は、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報を用いてセグメントリクエストを拡大する。ネットワークプロキシ１０６は、セグメントリクエストを読み出し、広告配置情報、並びにクライアント１１０によって提供される任意の受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報と同様に、ライブストリームプロセッサ１０２によって提供される任意のプログラム情報を抽出し、かつその情報を用いてＡＤＳ１０８に対して広告配置リクエストを発行する。ＡＤＳ１０８は、ターゲット差し替え広告を選択し、かつネットワークプロキシ１０６を通知する。一実施形態において、ネットワークプロキシは、広告セグメントを、ＣＤＮ１０４からクライアント１１０へ透過的にプロキシする。別の実施形態において、ネットワークプロキシは、クライアント１１０を、（例えば、ＨＴＴＰ３０２リダイレクトを使用して）ＣＤＮ１０４の中の広告セグメントにリダイレクトする。一実施形態において、ネットワークプロキシ１０６は、将来の広告差し替えの機会における使用のために広告配置レスポンスをキャッシュする。
【００３６】
別の実施形態において、クライアント１１０は、ＡＤＳ１０８と直接に接触することによって、ターゲット広告の差し替えを実行する。クライアント１１０は、広告配置情報、及びライブストリームプロセッサ１０２によって提供される任意のプログラム情報を抽出し、かつその情報を用いてＡＤＳ１０８に対して広告配置リクエストを発行する。一実施形態において、クライアント１１０は、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報を用いて広告配置リクエストを拡大する。一実施形態において、クライアント１１０は、メディアプレイヤーからのマニフェストファイルリクエストをプロキシすることによって、かつメディアプレイヤーに対して提示されるマニフェストの中のセグメントＵＲＬを変えることによって、広告の差し替えを実行する。別の実施形態において、クライアント１１０は、メディアプレイヤーからのセグメントリクエストをプロキシすることによって、かつセグメントリクエストを透過的にプロキシする（すなわち、メディアプレイヤーからの接続を打ち切る、双方向のセグメントに対するリクエストを発行する、及びそのデータをメディアプレイヤーに戻す）ことによって、広告の差し替えを実行する。別の実施形態において、クライアント１１０は、メディアプレイヤーからのセグメントリクエストをプロキシすることによって、かつメディアプレイヤーを双方向のセグメントに対してリダイレクトする（例えば、ＨＴＴＰ３０２リダイレクトを使用して）ことによって、広告の差し替えを実行する。一実施形態において、クライアント１１０は、将来の広告差し替えの機会における使用のために広告配置レスポンスをキャッシュする。
【００３７】
図２は、ライブストリームプロセッサ１０２を実装する本発明の一実施形態のライブストリームプロセッサ１０２のブロック図である。ライブストリームプロセッサ１０２は、複数の構成要素を含み、ソースオーディオ／ビデオコンテンツを記録するライブストリームレコーダ２０２、ソースコンテンツを種々のビットレートの符号化へコード変換するマルチ‐ビットレートトランスコーダ２０４、コード変換されたコンテンツからセグメントファイルを生成するマルチ‐ビットレートセグメンタ２０６、メタデータをセグメントファイルの中へ挿入するインラインメタデータ挿入モジュール２１０、それらをＣＤＮ１０４へアップロードする前にセグメントを暗号化するセグメント暗号器２１２、セグメント化されたコンテンツを表現するためにマニフェストファイルを生成するマニフェスト生成器２０８、及びそれらをＣＤＮ１０４へアップロードする前にメタデータをマニフェストファイルに挿入するマニフェストメタデータ挿入モジュール２１８を含む。ライブストリームプロセッサ１０２はまた、ソースコンテンツを監視し、広告ポッド（ブレイク）の構造を決定する広告ポッドレゾルバと同様に、広告及びプログラム境界を検出するキュートーン解析ツール２１４を含む。
【００３８】
ライブストリームレコーダ２０２は、様々なプロトコル（例えば、ユニキャストＭＰＥＧ‐ＴＳ、マルチ‐キャストＭＰＥＧ‐ＴＳ、ユニキャストＲＴＰ、マルチ‐キャストＲＴＰ、ＨＬＳ、ＤＡＳＨ、ＲＴＭＰなど）を使用して、ライブフィードに帰属することに責任を有する。ライブストリームレコーダ２０２は、ストリームデータを、種々のコード、ビットレート、フレームレート、サンプルレート、及び解像度を使用して、コンテンツを複数の符号化へ変えるマルチ‐ビットレートトランスコーダ２０４へパスする。ライブストリームレコーダ２０２はまた、現在の実時間及びプログラムタイムスタンプの情報と同様に、ＳＣＴＥ‐３５キュートーンを、広告ポッド開始及び広告ポッド終了の情報を含む、次に来る広告ポッド情報を抽出するキュートーン解析ツール２１４へパスする。その後、キュートーン解析ツール２１４は、広告ポッドの情報を広告ポッドレゾルバ２１６へパスする。
【００３９】
広告ポッドレゾルバ２１６は、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を決定する。一実施形態において、広告ポッドレゾルバ２１６は、広告ポッドの構造を決定するために、ＳＣＴＥ‐３５キュートーン情報を使用する。別の実施形態において、広告ポッドレゾルバ２１６は、広告ポッドの構造を決定するために、ＡＤＳ１０８に対してＳＣＴＥ‐１３０リクエストを発行する。一実施形態において、ＳＣＴＥ‐１３０リクエストは、プログラム識別子及び相関性があるプログラム実時間（すなわち、プログラムの開始からの相対的なオフセットとして計算される、キュートーンの中で参照されるプログラムタイムスタンプに対応するライブストリームレコーダ２０２によって記録される実時間）を含む。ＳＣＴＥ‐３５及びＳＣＴＥ‐１３０に加えて多くの広告キュー及びポッドの構造の通知プロトコル（例えば、ＩＡＢビデオマルチ広告プレイリスト（ＶＭＡＰ）、又は他のプロプライエタリＸＭＬ‐ベースのプロトコル）が存在し、当業者によって知られているようにそれらの両方は帯域内であるか帯域外である。キュートーン解析ツール２１４及び広告ポッドレゾルバ２１６は、任意の有効な広告キュー及び／又はポッドの構造の通知プロトコルをサポートするために十分に柔軟であることが理解されるべきである。
【００４０】
一実施形態において、広告ポッドレゾルバ２１６は、広告ポッドの中に含まれる広告挿入の機会のうちの１以上のためにＡＤＳ１０８に対して広告配置リクエストを発行する。一実施形態において、ＡＤＳ１０８は、広告ポッドの構造を決定するために使用される、同じＳＣＴＥ‐１３０サーバである。一実施形態において、広告ポッドレゾルバ２１６は、将来の広告差し替えの機会における使用のために広告配置レスポンスをキャッシュする。
【００４１】
マルチ‐ビットレートのトランスコーダ２０４は、様々な符号化を、マルチ‐ビットレートセグメンタ２０６に転送する。広告ポットレゾルバ２１６は、次に来る広告ポッドの通知及び広告ポッドの構造の情報を、マルチ‐ビットレートセグメンタ２０６に転送する。マルチ‐ビットレートセグメンタ２０６は、広告ポッドの構造に基づいて動的なセグメント境界を生成することに対して責任を有し、それによって各々の広告が新しいセグメント境界の上で開始し、かつ主要なプログラムの再開はまた新しいセグメント境界の上で開始する。一実施形態において、マルチ‐ビットレートセグメンタ２０６は、広告配置レスポンスの中に含まれる差し替え広告セグメントをダウンロードし、生成したセグメントをダウンロードしたセグメントに差し替える。
【００４２】
マルチ‐ビットレートセグメンタ２０６は、セグメント境界情報を、マニフェスト生成器２０８へ転送する。マニフェスト生成器２０８は、アップデートされたリアルタイムのマニフェストファイルを生成し、メタデータを用いて、各々の広告の実際の開始及び終了と同様に、次に来る広告ブレイクを表示する。その後、マニフェスト生成器２０８は、マニフェストを、マニフェストメタデータ挿入モジュール２１８へ転送する。マニフェストメタデータ挿入モジュール２１８は、付加的なメタデータをマニフェスト（例えば、ＡＤＳ１０８の位置情報、プログラム識別子、元々のプログラムの放送時間、プログラム広告規制、プログラムの人口学的な情報など）の中へ挿入することに対して責任を有する。マニフェストメタデータ挿入モジュール２１８はまた、セグメントＵＲＬの書き直しを実行することに対して責任を有する。一実施形態において、広告セグメントＵＲＬは、広告配置レスポンスの中に含まれる差し替え広告セグメントを指し示すために書き直される。別の実施形態において、広告セグメントＵＲＬは、ＡＤＳ１０８を指し示すために書き直される。当業者に知られているように、複数のマニフェストフォーマット（例えば、ＨＬＳ  ｍ３ｕ８、ＤＡＳＨ  ＭＰＤなど）が存在する。マニフェスト生成器２０８及びマニフェストメタデータ挿入モジュール２１８が、それぞれ、任意の有効なマニフェストファイルフォーマットの生成及び修正をサポートするために十分に柔軟であることは理解されるべきである。マニフェストメタデータ挿入モジュールは、最後のマニフェストを、ＣＤＮ１０４にアップロードする。
【００４３】
マルチ‐ビットレートセグメンタ２０６は、セグメントを、インラインメタデータ挿入モジュール２１０へ転送する。インラインメタデータ挿入モジュール２１０は、次に来る広告ブレイクの通知並びに正確な広告の開始及び終了の通知をセグメントの中に挿入することに対して責任を有する。一実施形態において、メタデータ挿入モジュール２１０はまた、プログラム識別子、元々のプログラムの放送時間、プログラム広告規制、及びプログラムの人口学的な情報と同様に、ＡＤＳ１０８に対するネットワークアドレス情報を挿入する。
【００４４】
当業者に知られているように、各々のフォーマット（例えば、ＩＤ３タグ、カスタムメタデータヘッダー、双方向のデータチャネルなど）に対する複数のメタデータ挿入方法と同様に、複数のセグメントファイルフォーマット（例えば、ＭＰＥＧ‐ＴＳ、ＤＡＳＨ、ＲＴＰなど）が存在する。インラインメタデータ挿入モジュール２１０が、任意の有効なメタデータ挿入方法を使用して任意の有効なセグメントファイルフォーマットを修正することをサポートするために十分に柔軟であることは理解されるべきである。その後、インラインメタデータ挿入モジュール２１０は、セグメントを、標準的な暗号化プロトコル（例えば、ＡＥＳ‐１２８、ＨＣ‐１２８、ＲＣ４など）を使用して、セグメントを暗号化するセグメント暗号器２１２へ転送する。セグメント暗号器２１２は、最後のセグメントを、ＣＤＮ１０４にアップロードする。
【００４５】
図３は、ＨＴＴＰ適応ストリーミングクライアント１１０を実装するための本発明の一実施形態のブロック図である。クライアント１１０は、コンテンツをレンダリングするメディアプレイヤー３０６、メディアプレイヤー３０６からのマニフェストリクエストを透過的にプロキシするマニフェストプロキシ３０４、及びメディアプレイヤー３０６からのセグメントリクエストを透過的にプロキシし、かつ広告を差し替えるためにセグメントリクエストをリダイレクトするセグメントプロキシ３１０を含む。クライアント１１０はまた、マニフェストファイルからのメタデータを抽出しかつ広告を差し替えるためにマニフェストファイルを書き直すマニフェスト解析ツール３０４と同様に、セグメントファイルからのメタデータを抽出するセグメント解析ツール３０８を含む。
【００４６】
一実施形態において、メディアプレイヤー３０６は、マニフェストプロキシ３０４からのマニフェストファイルをリクエストすることによって、プレイバックを開始する。一実施形態において、マニフェストプロキシ３０４は、ＣＤＮ１０４からマニフェストを読み出す。別の実施形態において、マニフェストプロキシ３０４は、ライブストリームプロセッサ１０２から直接にマニフェストを読み出す。マニフェストプロキシ３０４は、次に来る広告ブレイクを検出し、広告の開始及び終了を検出し、かつマニフェストファイルから広告メタデータを抽出するマニフェスト解析ツール３０２に、マニフェストを提供する。当業者に知られているように、複数のマニフェストフォーマット（例えば、ＨＬＳ  ｍ３ｕ８、ＤＡＳＨ  ＭＰＤなど）が存在する。マニフェストプロキシ３０４及びマニフェスト解析ツール３０２が、任意の有効なマニフェストファイルフォーマットの生成及び修正をサポートするために十分に柔軟であることは理解されるべきである。
【００４７】
一実施形態において、マニフェスト解析ツール３０２は、次に来る広告ブレイクを検出するや否や、任意のプログラムの識別、元々のプログラムの放送時間、広告規制、及び／又はプログラムの人口学的な情報と同様に、ＡＤＳ１０８に対するネットワークアドレス情報を抽出し、かつＡＤＳ１０８に対して配置リクエストを発行する。一実施形態において、マニフェスト解析ツール３０２は、広告配置リクエストの中に、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報を含む。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを用いて応答する。別の実施形態において、ＡＤＳ１０８は、広告セグメント情報を検索するために使用される広告メディア識別子を用いて応答する。別の実施形態において、ＡＤＳ１０８は、ＨＴＴＰ適応ストリーミングマニフェストの中への挿入に対して適切でない、独立型のファイルを指し示すＵＲＬを用いて応答する。
【００４８】
一実施形態において、ＡＤＳ１０８が、ＨＴＴＰ適応ストリーミングマニフェストの中への挿入に対して適切でない、独立型のファイルを指し示すＵＲＬを戻す場合、クライアント１１０は２つのプレイヤーのアプローチを使用し、ここで、第１のメディアプレイヤー３０６は停止するか又は中止され、かつ（図示されぬ）第２のメディアプレイヤーは、第１のメディアプレイヤー３０６の上でプレイバックが再開される前に、広告をプレイするために生成される。別の実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを戻し、マニフェスト解析ツール３０２は、メディアプレイヤー３０６に対して提示されるマニフェストを修正し、イン‐ストリームの広告セグメントのＵＲＬ（及び任意の関連する暗号キーのＵＲＬ及び／又は暗号キーメタデータ）を差し替え広告セグメントのＵＲＬ（及び任意の関連する暗号キーのＵＲＬ及び／又は暗号キーメタデータ）に差し替える。マニフェスト解析ツール３０２は、次に来る広告ブレイクを検出するや否や差し替え広告情報を先取りし、かつ広告ブレイクの実際の開始が広告セグメントＵＲＬと差し替わるのを待つ。別の実施形態において、ＡＤＳ１０８は、広告メディア識別子を戻し、マニフェスト解析ツール３０２は最初に、メディアプレイヤー３０６に提示されるマニフェストを修正する前に、所与の広告メディア識別子に対するセグメント位置情報を検索し、イン‐ストリームの広告セグメントＵＲＬを検索で見つかった差し替え広告セグメントＵＲＬ（及び任意の関連する暗号キーのＵＲＬ及び／又は暗号キーのメタデータ）に差し替える。
【００４９】
一実施形態において、差し替え広告がイン‐ストリーム広告よりも短い場合、
マニフェスト解析ツール３０２は、イン‐ストリーム広告セグメントのＵＲＬのサブセットのみを差し替えることを選択することができ、メディアプレイヤー３０６がイン‐ストリーム広告の残りをプレイすることを可能にする。別の実施形態において、差し替え広告がイン‐ストリーム広告よりも短い場合、マニフェスト解析ツール３０２は、イン‐ストリーム広告の期間の残りに対する隙間広告のメッセージ又は画像を表示することを選ぶことができ、かつ一旦イン‐ストリーム広告が完了したらメディアプレイヤー３０６がライブストリームを再結合することを可能にする。一実施形態において、差し替え広告がイン‐ストリーム広告よりも長い場合、マニフェスト解析ツール３０２は、差し替え広告のセグメントのサブセットのみを使用することができ、ユーザがライブストリームのコンテンツを見逃さないように、メディアプレイヤー３０６が差し替え広告を最後までプレイすることなしに、ライブストリームに戻ることを可能にする。一実施形態において、マニフェスト解析ツール３０２は、後続の非‐広告セグメントを含むマニフェストに対するリクエストと同様に、所与の広告に対するセグメントのうちの全てを含むマニフェストファイルに対する一貫したリクエストに基づいて、広告プレイバックの完了を検出する。一実施形態において、マニフェスト解析ツール３０２は、ＡＤＳ１０８に対するビーコンメッセージを発行し、ＡＤＳ１０８に完了した広告のプレイバックを知らせ、かつ広告インプレッションを記録する。一実施形態において、マニフェスト解析ツール３０２は、後続の広告セグメントに対応する各々のマニフェストリクエストに対してビーコンを発行し、ＡＤＳ１０８に対して漸進的な広告インプレッションの情報を提供する。
【００５０】
一実施形態において、差し替え広告が差し替えられるライブストリームのそれに対する同一な符号化をサポートしない場合、マニフェスト解析ツール３０２は、任意の利用可能な符号化から選ぶことができる。一実施形態において、マニフェスト解析ツール３０２は、広告セグメントを読み出す中でより高い待ち時間を受け入れる（すなわち、補償する）より小さい符号化（すなわち、より低いビットレート、フレームレート、解像度など）を好むかもしれない。別の実施形態において、マニフェスト解析ツール３０２は、広告の品質及び広告の収益生成を最大化するために、大きい符号化（すなわち、より高いビットレート、フレームレート、解像度など）を好むかもしれない。別の実施形態において、マニフェスト解析ツール３０２は、正確にマッチングしない符号化を選ぶよりもむしろ、イン‐ストリームの広告の期間に対する隙間広告のメッセージ又は画像を表示することを選ぶかもしれない。
【００５１】
一実施形態において、メディアプレイヤー３０６は、マニフェストファイルを読み出すや否や、セグメントプロキシ３１０に対するセグメントファイルのためのリクエストを発行する。一実施形態において、セグメントプロキシ３１０は、セグメントのＵＲＬ構造に基づいて広告セグメントに対するリクエストを検出する。当業者によって知られているように、メタデータをＵＲＬ（例えば、ＵＲＬ構造、クエリ文字列引数など）の中へ符号化する複数のやり方が存在する。セグメントプロキシ３１０が、任意の有効なＵＲＬベースのメタデータ符号化方法を使用して、広告セグメントリクエストを検出することをサポートするために十分に柔軟であることは理解されるべきである。一実施形態において、非‐広告セグメントは、ＣＤＮ１０４から読み出される。別の実施形態において、非‐広告セグメントは、ライブストリームプロセッサ１０２から直接に読み出される。
【００５２】
セグメントプロキシ３１０は、セグメント解析ツール３０８に対して非‐広告セグメントを転送する。一実施形態において、セグメント解析ツール３０８は、セグメントの中に埋め込まれた次に来る広告ブレイクの通知を検出し、かつ任意のプログラムの識別、元々のプログラムの放送時間、広告規制、及び／又はプログラムの人口学的な情報と同様に、ＡＤＳ１０８に対するネットワークアドレス情報を抽出する。当業者に知られているように、各々のフォーマット（例えば、ＩＤ３タグ、カスタムメタデータヘッダー、双方向のデータチャネルなど）に対する複数のメタデータ挿入方法と同様に、複数のセグメントファイルフォーマット（例えば、ＭＰＥＧ‐ＴＳ、ＤＡＳＨ、ＲＴＰなど）が存在する。セグメント解析ツール３０８が、任意の有効なメタデータ挿入方法を使用して任意の有効なセグメントファイルフォーマットの中のメタデータを解析しかつ検出することをサポートするために十分に柔軟であることは理解されるべきである。一実施形態において、セグメント解析ツール３０８は、マニフェスト解析ツール３０２に対して、次に来る広告ブレイクの通知を提供する。一実施形態において、セグメント解析ツール３０８はまた、セグメントプロキシ３１０に対して、次に来る広告ブレイクの通知を提供する。セグメント解析ツール３０８は、セグメントを用いてメディアプレイヤー３０６に応答する。
【００５３】
一実施形態において、セグメントプロキシ３１０は、次に来る広告ブレイクの通知を受信する否や、任意のプログラム識別、元々のプログラムの放送時間、広告規制、及び／又はプログラムの人口学的な情報を含むＡＤＳ１０８に対して、広告配置リクエストを発行する。一実施形態において、セグメントプロキシ３１０は、広告配置リクエストの中に、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報を含む。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを用いて応答する。一実施形態において、セグメントプロキシ３１０が第１の広告セグメントに対するリクエストを検出する場合、それはその広告をＡＤＳ１０８によって提供されるものに差し替える。一実施形態において、広告配置レスポンス及びマニフェストファイルは、将来の広告差し替えの機会における使用のためにキャッシュされる。一実施形態において、セグメントプロキシ３１０は、双方向の広告セグメントをダウンロードし、かつそれらをセグメント解析ツール３０８に対して提供する。セグメント解析ツール３０８は、双方向のセグメントを用いてメディアプレイヤー３０６に応答する。一実施形態において、セグメント解析ツール３０８は、広告セグメントを解読し、かつライブストリームセグメントをメディアプレイヤー３０６に送る前に、ライブストリームセグメントが差し替えられるように、同じ暗号化キーを使用して広告セグメントを再暗号化する。
【００５４】
一実施形態において、差し替え広告がイン‐ストリーム広告よりも短い場合、
セグメントプロキシ３１０は、イン‐ストリーム広告セグメントのＵＲＬのサブセットのみを差し替えることを選択することができ、メディアプレイヤー３０６がイン‐ストリーム広告の残りをプレイすることを可能にする。別の実施形態において、差し替え広告がインストリーム広告よりも短い場合、セグメントプロキシ３１０は、イン‐ストリーム広告の期間の残りに対する隙間広告のメッセージ又は画像を表示することを選ぶことができ、かつ一旦イン‐ストリーム広告が完了したらメディアプレイヤー３０６がライブストリームを再結合することを可能にする。一実施形態において、差し替え広告がイン‐ストリーム広告よりも長い場合、セグメントプロキシ３１０は、差し替え広告のセグメントのサブセットのみを使用することができ、ユーザがライブストリームのコンテンツを見逃さないように、メディアプレイヤー３０６が差し替え広告を最後までプレイすることなしに、ライブストリームに戻ることを可能にする。
【００５５】
一実施形態において、差し替え広告が差し替えられるライブストリームのそれに対する同一な符号化をサポートしない場合、セグメントプロキシ３１０は、任意の利用可能な符号化から選ぶことができる。一実施形態において、セグメントプロキシ３１０は、広告セグメントを読み出す中でより高い待ち時間を受け入れる（すなわち、補償する）より小さい符号化（すなわち、より低いビットレート、フレームレート、解像度など）を好むかもしれない。別の実施形態において、セグメントプロキシ３１０は、広告の品質及び広告の収益生成を最大化するために、大きい符号化（すなわち、より高いビットレート、フレームレート、解像度など）を好むかもしれない。別の実施形態において、セグメントプロキシ３１０は、正確にマッチングしない符号化を選ぶよりもむしろ、イン‐ストリーム広告の期間に対する隙間広告のメッセージ又は画像を表示することを選ぶかもしれない。
【００５６】
一実施形態において、セグメントプロキシ３１０は、広告に対する最後のセグメントを検出し、かつ読み出されたセグメントが現在の広告に対して最後であることを、セグメント解析ツール３０８に通知する。セグメント解析ツール３０８は、セグメントから、広告ビーコンメッセージメタデータ（例えば、ビーコンメッセージがポストされるべきＵＲＬ、認証情報、及び／又はビーコンメッセージのフォーマット）を抽出する。一実施形態において、セグメント解析ツール３０８は、何時メディアプレイヤー３０６が広告に対する最後のメッセージの読み出しを完了するかを、マニフェスト解析ツール３０２に通知する。別の実施形態において、セグメント解析ツールは、ＡＤＳ１０８に対してビーコンメッセージを発行して、ＡＤＳ１０８に、メディアプレイヤー３０６が所与の広告に対する最後のセグメントの読み出しを完了したことを通知し、かつ広告インプレッションを記録する。一実施形態において、セグメント解析ツール３０８は、メディアプレイヤー３０６に送られる各々の広告セグメントに対してビーコンを発行し、ＡＤＳ１０８に対して漸進的な広告インプレッション情報を提供する。
【００５７】
図４は、広告セグメントプロキシ（ネットワークプロキシ）１０６を実装するための本発明の一実施形態のブロック図である。ネットワークプロキシ１０６は、ＨＴＴＰベースのセグメントからメタデータを、及び／又はクライアント１１０からマニフェスト読み出しリクエストを取り扱いかつ抽出するＨＴＴＰリクエスト解析ツール４０２、差し替え広告を選択しかつ個別のリクエストを特定のセグメントにマッピングする広告選択モジュール４０４、キャッシュされたセグメントデータ又はセグメント位置リダイレクトを用いてクライアント１１０に応答するセグメントデリバリーモジュール４０８、並びに広告セグメントと同様に広告配置情報を記憶するためのキャッシュ４０６を含む。
【００５８】
一実施形態において、ＨＴＴＰリクエスト解析ツール４０２は、クライアント１１０からマニフェストリクエストを受信する。ＨＴＴＰリクエスト解析ツール４０２は、ＣＤＮ１０４から現在のマニフェストを読み出し、かつ広告セグメント連続番号、スポット識別子、プログラム識別子、元々のプログラムの放送時間、広告規制、プログラムの人口学的な情報、受信契約者の情報及び／又はユーザのアイデンティティー、位置、及び／又は人口学的情報を解析し、かつそれを広告選択モジュール４０４に転送する。マニフェストの中にリストされる最新の（最も直近に生成した）セグメントが、広告の第１のセグメントである場合、広告選択モジュール４０４は、抽出された情報を含むＡＤＳ１０８に対して、広告配置リクエストを発行する。一実施形態において、広告選択モジュール４０４は、人口学的に類似のクライアント１１０のリクエストに対してキャッシュされた広告配置レスポンスを使用することができる。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを用いて応答する。別の実施形態において、ＡＤＳ１０８は、選択された広告に対するマニフェスト及び／又はセグメントの情報を検索するために使用される、広告メディア識別子を用いて応答する。一実施形態において、広告選択モジュール４０４は、キャッシュ４０６の中の広告配置レスポンスを記憶する。マニフェストが広告に対する複数のセグメントを含む場合、広告選択モジュール４０４は、キャッシュ４０６からの広告セグメント連続番号に基づいて、マニフェストの中にリストされている広告セグメントの各々に対するセグメントの情報を読み出す。その後、広告選択モジュール４０４は、アップデートされたマニフェストを、修正されたマニフェストをクライアント１１０に転送するＨＴＴＰデリバリーモジュール４０８に転送する。
【００５９】
一実施形態において、ＨＴＴＰリクエスト解析ツール４０２は、クライアント１１０から広告セグメントリクエストを受信する。ＨＴＴＰリクエスト解析ツール４０２は、広告セグメント連続番号、スポット識別子、プログラム識別子、元々のプログラムの放送時間、広告規制、プログラムの人口学的な情報、受信契約者の情報及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報を解析し、かつそれを広告選択モジュール４０４に転送する。リクエストが広告の中の第１のセグメントに対するものである場合、広告選択モジュール４０４は、抽出された情報を含むＡＤＳ１０８に対して、広告配置リクエストを発行する。一実施形態において、広告選択モジュール４０４は、人口学的に類似のクライアント１１０のリクエストに対するキャッシュされた広告配置レスポンスを使用することができる。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを用いて応答する。別の実施形態において、ＡＤＳ１０８は、選択された広告に対するマニフェスト及び／又はセグメントの情報を検索するために使用される、広告メディア識別子を用いて応答する。一実施形態において、広告選択モジュール４０４は、キャッシュ４０６の中の広告配置レスポンスを記憶する。リクエストが広告の中の第１のセグメント以外に対するものである場合、広告選択モジュール４０４は、キャッシュ４０６からの広告セグメント連続番号に基づいて、現在のセグメントに対するセグメント情報を読み出す。その後、広告選択モジュール４０４は、セグメント情報をＨＴＴＰデリバリーモジュール４０８へ転送する。一実施形態において、ＨＴＴＰデリバリーモジュール４０８は、ＣＤＮ１０４から実際のセグメントを読み出し、かつデータをクライアント１１０へ転送することによって、セグメントリクエストを透過的にプロキシする。一実施形態において、セグメントデリバリーモジュール４０８は、キャッシュ４０６の中の読み出されたセグメントを記憶する。一実施形態において、セグメントデリバリーモジュール４０８は、直接にクライアント１１０に応答するために、キャッシュ４０６からのキャッシュされたセグメントを使用する。別の実施形態において、セグメントデリバリーモジュール４０８は、クライアント１１０を、（例えば、ＨＴＴＰ３０２リダイレクトを使用して）ＣＤＮ１０４の中のセグメントの位置にリダイレクトする。一実施形態において、ＨＴＴＰデリバリーモジュール４０８は、広告セグメントを解読し、かつライブストリームセグメントをクライアント１１０に送る前に、ライブストリームセグメントが差し替えられるように、同じ暗号化キーを使用して広告セグメントを再暗号化する。
【００６０】
一実施形態において、差し替え広告が差し替えられるライブストリームのそれに対する同一の符号化をサポートしない場合、広告選択モジュール４０４は、任意の利用可能な符号化から選ぶことができる。一実施形態において、広告選択モジュール４０４は、広告セグメントを読み出す中でより高い待ち時間を受け入れる（すなわち、補償する）より小さい符号化（すなわち、より低いビットレート、フレームレート、解像度など）を好むかもしれない。別の実施形態において、広告選択モジュール４０４は、広告の品質及び広告の収益生成を最大化するために、大きい符号化（すなわち、より高いビットレート、フレームレート、解像度など）を好むかもしれない。別の実施形態において、広告選択モジュール４０４は、広告選択モジュール４０４が正確にマッチングする符号化を選択できない場合、ライブストリームの中の広告を差し替えないことを選ぶかもしれない。
【００６１】
図５は、広告の境界ベースの分離及び広告メタデータの挿入を実行するための、ライブストリームプロセッサ１０２の処理５００を説明するための流れ図である。ステップ５０２において、ライブストリームプロセッサ１０２は、ライブフィードデータの記録を開始し、かつキュートーンデータ（例えば、プログラム識別子、現在のプログラム、及び実時間のタイムスタンプ情報など）を解析する。現在の実時間は、プログラムのタイムスタンプに関連付けられ、かつ元々の放送時間として記憶される。一実施形態において、現在の実時間及びプログラムのタイムスタンプは、ライブストリーム処理の開始において記録され、かつ全ての将来の実時間は、ライブストリーム処理の開始からのオフセットとして計算され、すなわち、最初の実時間Ｗ、及び最初のプログラムタイムスタンプＰ、並びに実時間に対するプログラムタイムスタンプの変換比率Ｒが与えられたとして、現在の実時間Ｃは、Ｃ＝Ｗ＋（Ｔ−Ｐ）＊Ｒとして、現在のプログラムのタイムスタンプＴから計算することができる。ライブフィードデータは、ステップ５０４において、トランスコーダの中にフィードされ、ここで、入力ストリームは、種々のコード、ビットレート、フレームレート、サンプルレート、及び解像度を使用して、複数の符号化の中へコード変換される。
【００６２】
ステップ５０６から５１０において、ライブストリームプロセッサ１０２は、ライブフィードの中のキューデータをチェックしかつそれに応答する。一実施形態において、ライブフィードは、次に来る広告ポッド（ブレイク）、各々の広告ポッドの開始、及び各々の広告ポッドの終了を表示する、ＳＣＴＥ‐３５キュートーンを含む。これらのキュートーンは、今や詳細に説明されるように、選択的な処理のために使用される。別の実施形態において、広告ポッド（ブレイク）は、推測的に定義されかつ帯域外に提供される。
【００６３】
ステップ５０６において、キューが新しい広告の開始を表示し、処理はステップ５２０へ進み、ここで、現在のセグメントは短縮されて、かつ新しいセグメントは、広告の開始がセグメント境界と位置合わせするように開始される。広告開始メタデータは、新しいセグメントの中へ挿入される。その後、処理はステップ５１６へ進み、ここで、短縮されたセグメントは暗号化され、かつＣＤＮ１０４へアップロードされる。その後、処理は、ステップ５１８へ進み、ここで、マニフェストファイルは短縮されたセグメントの情報及び後続のセグメントに対する広告開始メタデータを伴ってアップデートされ、かつＣＤＮ１０４にアップロードされる。その後、処理はステップ５０２へ戻り、ここで、ライブフィードの処理が継続される。
【００６４】
ステップ５０６において、キューが広告の開始を表示しない場合、処理はステップ５０８へ継続する。ステップ５０８において、キューが広告の終了を表示する場合、処理はステップ５２２へ進み、ここで、現在のセグメントは短縮されて、かつ新しいセグメントは、次のプログラム（広告か又は主要なプログラムである）の開始がセグメント境界と位置合わせするように開始される。広告ビーコンメッセージメタデータは、短縮されたセグメントの中へ挿入される。その後、処理はステップ５１６へ進み、ここで、短縮されたセグメントは暗号化され、かつＣＤＮ１０４へアップロードされる。その後、処理は、ステップ５１８へ進み、ここで、マニフェストファイルは短縮されたセグメントの情報並びに広告終了メタデータ及び広告ビーコンメッセージメタデータの両方を伴ってアップデートされ、かつＣＤＮ１０４にアップロードされる。その後、処理はステップ５０２へ戻り、ここで、ライブフィードの処理が継続される。
【００６５】
ステップ５０８において、キューが広告の終了を表示しない場合、処理はステップ５１０へ継続する。ステップ５１０において、キューが次に来る広告ブレイクを表示しない場合、処理はステップ５１２へ直接的に進む。ステップ５１０において、キューが次に来る広告ブレイクを表示する場合、処理はステップ５２６へ進み、ここで、メタデータは、プログラム識別子、元々のプログラムの放送時間、プログラムの広告規制、及びプログラムの人口学的な情報のメタデータと同様に、次に来る広告ブレイクを含む現在のセグメントの中へ挿入される。
プログラム識別子、元々のプログラムの放送時間、プログラムの広告規制、及びプログラムの人口学的な情報のメタデータと同様に、広告ブレイクメタデータはまた、マニフェストファイルに挿入される。一実施形態において、ＳＣＴＥ‐３５のプログラムディスクリプタは、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を表示する。別の実施形態において、ステップ５２６で、ライブストリームプロセッサ１０２は、広告ポッドの構造（すなわち、広告の数及び各々の広告の期間）を決定するために、ＡＤＳ１０８に対してＳＣＴＥ‐１３０リクエストを発行する。一実施形態において、ＳＣＴＥ‐１３０リクエストは、プログラム識別子、及びキューポイントに対して関連付けられたプログラムの実時間を含む。現在の広告ポッドに対するキューデータは、ＡＤＳ１０８によって返される広告ポッドの構造の情報を伴ってアップデートされる。その後、処理は、ステップ５１２へ進む。
【００６６】
ステップ５１２において、セグメントが完了しているか（セグメントの期間に関して）どうかを見るために、確認作業が実行される。通常の状況下において、セグメントは、それらの期間が固定されたターゲットセグメント期間と等しいかそれより大きい場合、完了していると考えられる。一実施形態において、セグメント期間は、固定された複数のＧＯＰ（ピクチャー群）の期間である。セグメントの開始をプログラム境界に適切に位置合わせするために短縮が必要とされる場合、より短いセグメントがステップ５２０及び５２２の中で生成され得る。さもなければ、ステップ５１２において、期間の境界上にセグメントが生成される。セグメントが未だ完了していない場合、処理は、ライブストリームの処理が継続するステップ５０２に戻る。セグメントが完了している場合、処理は、現在のセグメントが閉じられ、かつ新しいセグメントが開始されるステップ５１４へ進む。処理はステップ５１６へ進み、ここで、完了したセグメントは暗号化され、かつＣＤＮ１０４へアップロードされる。その後、処理はステップ５１８へ進み、ここで、マニフェストは完了したセグメントの情報を伴ってアップデートされ、かつＣＤＮ１０４へアップロードされる。一実施形態において、処理は、処理されている現在のセグメントが広告の部分であるか否かに関連する状態を維持し（すなわち、開始及び終了のキュートーンを追跡することによって）、かつ広告セグメントの連続番号を含む付加的なメタデータが、マニフェストに加えられる。その後、処理はステップ５０２へ戻り、ここで、ライブフィードの処理が継続される。
【００６７】
図６は、クライアント側のターゲット広告の差し替えを実行する、 
処理６００を説明する流れ図である。処理は、２つの部分に分割される：すなわち、ステップ６０２から６２０においてマニフェストプロキシをすること、及びステップ６５２から６６６においてセグメントプロキシをすることである。２つの処理は、独立して、又は互いに連携して使用されることができる。広告配置リクエストは両方の処理の中に含まれるが、２つの処理が一緒に使用される場合、２つの広告配置リクエストを発行する必要性は存在しない。
【００６８】
ステップ６０２において開始するマニフェストプロキシの中で、マニフェストプロキシ３０４は、メディアプレイヤー３０６からマニフェストリクエストを受信する。マニフェストプロキシ３０４は、ＣＤＮ１０４からアップデートされたマニフェストを受信し、かつライブストリームプロセッサ１０２によって挿入された広告メタデータを解析する。ステップ６０４において、マニフェストの中で新しい広告の開始が表示されているか否かを見るために、確認作業が実行される。ステップ６０４の中で新しい広告の開始が表示されている場合、処理はステップ６０６へ進み、ここで、マニフェスト解析ツール３０２に、マニフェストの書き直しが生じるべきであることを表示する、広告差し替えフラグが設定される。その後、処理は、ステップ６０８へ進む。新しい広告の開始が表示されていない場合、処理は、ステップ６０４から直接的にステップ６０８へ進む。
【００６９】
ステップ６０８において、マニフェストの中で現在の広告の終了が表示されているか否かを見るために、確認作業が実行される。広告の終了が表示されている場合、処理はステップ６１０へ進み、ここで、マニフェスト解析ツール３０２に、マニフェストの書き直しが停止するべきであることを表示する、広告差し替えフラグが設定解除される。ビーコンメッセージはまた、広告プレイバックの完了を表示するために、ＡＤＳ１０８へ送られる。その後、処理は、ステップ６１２へ進む。広告の終了が表示されていない場合、処理は、ステップ６０８から直接的にステップ６１２へ進む。
【００７０】
ステップ６１２において、マニフェストの中で次に来る広告ブレイクが表示されているか否かを見るために、確認作業が実行される。次に来る広告ブレイクが表示されている場合、処理はステップ６１４へ進み、ここで、広告配置リクエストがＡＤＳ１０８に対して発行される。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを返す。別の実施形態において、ＡＤＳ１０８は、選択された広告に対するマニフェスト及び／又はセグメントの位置情報を検索するために使用される、広告メディア識別子を返す。マニフェストは、広告セグメント差し替えにおける将来の使用のために保存される。その後、処理は、ステップ６１６へ進む。新しい広告の開始が表示されていない場合、処理は、ステップ６１２から直接的にステップ６１６へ進む。
【００７１】
ステップ６１６において、ステップ６０６毎に、広告の差し替えが現在進行中であるかどうかを見るために、確認作業が実行される。広告の差し替えがアクティブである場合、処理は、マニフェストの書き直しが生じるステップ６１８へ進む。マニフェストの解析ツール３０２は、次の連続差し替え広告セグメントを選択し、かつそのＵＲＬを（任意の関連する暗号化キーＵＲＬ及び／又は暗号化キーメタデータに沿って）マニフェストの中へ挿入する。その後、処理は、ステップ６２０へ進む。新しい広告の開始が表示されていない場合、処理は、ステップ６１６から直接的にステップ６２０へ進む。ステップ６２０において、マニフェストは、メディアプレイヤー３０６へ戻される。
【００７２】
ステップ６５２において開始するセグメントプロキシの中で、セグメントプロキシ３１０は、メディアプレイヤー３０６からセグメントリクエストを受信する。
【００７３】
ステップ６５４において、リクエストが広告の第１のセグメントに対するものであるかどうかを見るために、確認作業が実行される。
リクエストが広告の第１のセグメントに対するものである場合、処理はステップ６５６へ進み、ここで、広告配置リクエストがＡＤＳ１０８に対して発行される。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを返す。別の実施形態において、ＡＤＳ１０８は、選択された広告に対するマニフェスト及び／又はセグメントの位置情報を検索するために使用される、広告メディア識別子を返す。マニフェストは、選択された広告に対する後続の広告セグメントの差し替えにおける使用のために保存される。一実施形態において、広告配置レスポンス及びマニフェストファイルは、将来の広告差し替えの機会における使用のためにキャッシュされる。差し替え広告の第１のセグメントが、選択されかつ読み出される。その後、処理は、ステップ６５８へ進む。リクエストが広告の第１のセグメントに対するものでない場合、処理は、ステップ６５４から直接的にステップ６５８へ進む。
【００７４】
ステップ６５８において、リクエストが現在の広告の最後のセグメントに対するものであるかどうかを見るために、確認作業が実行される。リクエストが現在の広告の最後のセグメントに対するものである場合、処理はステップ６６０へ進み、ここで、ビーコンメッセージがＡＤＳ１０８に対して送られ、広告プレイバックの完了を表示する。その後、処理は、ステップ６６２へ進む。リクエストが今度は現在の広告の最後のセグメントに対するものである場合、処理は、ステップ６５８から直接的にステップ６６２へ進む。
【００７５】
ステップ６６２において、ステップ６５６毎に、広告の差し替えが現在進行中であるかどうかを見るために、確認作業が実行される。広告の差し替えがアクティブである場合、処理はステップ６６４へ進み、ここで、現在の差し替え広告セグメントがメディアプレイヤー３０６へ戻される。一実施形態において、セグメント解析ツール３０８は、広告セグメントを解読し、かつライブストリームセグメントをメディアプレイヤー３０６に送る前に、ライブストリームセグメントが差し替えられるように、同じ暗号化キーを使用して広告セグメントを再暗号化する。広告の差し替えがアクティブでない場合、処理は、ステップ６６２から直接的にステップ６６６へ進む。ステップ６６６において、リクエストされたストリームセグメントは、メディアプレイヤー３０６へ戻される。
【００７６】
図７は、ネットワークプロキシベースのターゲット広告差し替えを実行するための、ネットワークプロキシ１０６の処理を説明する流れ図である。２つのサブ処理が存在する：すなわち、ステップ７０２から７１８（図７Ａ）を有するサブ処理７００Ａの中のセグメントプロキシ、及びステップ７５２から７６４（図７Ｂ）を有するステップサブ処理７００Ｂの中のマニフェストプロキシである。２つの処理は、独立して、又は互いに連携して使用されることができる。広告配置リクエストは両方の処理の中に含まれるが、２つの処理が一緒に使用される場合、２つの広告配置リクエストを発行する必要性は存在しない。
【００７７】
ステップ７０２において、サブ処理７００Ａをセグメントプロキシすることから始まって、ネットワークプロキシ１０６は、クライアント１１０から広告セグメントリクエストを読み出しかつ解析する。ステップ７０４において、これが新しい広告の最初のセグメントであるかどうかを見るために、確認作業が実行される。リクエストが新しい広告に対するものである場合、処理はステップ７０６へ進み、ここで、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報と同様に、広告スポット（配置）、プログラム識別子、元々のプログラムの放送時間、広告配置規制、及びプログラムの人口学的な情報を含む広告メタデータが、リクエストから抽出される。その後、広告リクエストは、ＡＤＳ１０８に対して発行される。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを返す。別の実施形態において、ＡＤＳ１０８は、選択された広告に対するマニフェスト及び／又はセグメントの位置情報を検索するために使用される、広告メディア識別子を返す。ネットワークプロキシ１０６は、現在のクライアント１１０の広告リクエストと広告配置レスポンスとの間のマッピングと同様に、広告配置レスポンスを記憶し、それによって後続の広告セグメントリクエストは選択される広告の継続に対して適正にマッピングされ得る。一実施形態において、広告配置レスポンス及びマニフェストファイルは、将来の広告差し替えの機会における使用のためにキャッシュされる。ステップ７０４において、リクエストが新しい広告に対するものでない場合、処理はステップ７０８へ進み、ここで、クライアント１１０の広告リクエストは記憶された広告配置レスポンスに対してマッピングされ、かつ適当な次のセグメントが選択される。
【００７８】
ステップ７０６又は７０８において、一旦、処理が完了すると、処理はステップ７１０へ進み、ここで、広告セグメントデリバリーが開始する。ステップ７１０において、望ましいセグメントがローカルにキャッシュされるかどうかを見るために、確認作業が実行される。セグメントがローカルにキャッシュされる場合、処理はステップ７１２へ進み、ここで、セグメントはローカルキャッシュ４０６から読み出されかつクライアント１１０へ送られる。セグメントがローカルにキャッシュされない場合、処理は、ステップ７１０から直接的にステップ７１４へ進み、ここで、リダイレクションが可能かどうかを見るために確認作業が実行される。リダイレクションが可能である場合、処理はステップ７１６へ進み、ここで、ネットワークプロキシ１０６は、クライアント１１０に対してＨＴＴＰ３０２リダイレクトを発行し、それをＣＤＮ１０４の中の選択された広告セグメントの位置へ誘導する。リダイレクションが可能でない場合、処理はステップ７１４から直接的にステップ７１８へ進み、ここで、ネットワークプロキシ１０６は、ＣＤＮ１０４から選択された広告セグメントの読み出しを開始し、かつクライアント１１０に対してそれを透過的にプロキシする。一実施形態において、ネットワークプロキシ１０６は、広告セグメントを解読し、かつライブストリームセグメントをクライアント１１０に送る前に、ライブストリームセグメントが差し替えられるように、同じ暗号化キーを使用して広告セグメントを再暗号化する。一実施形態において、広告セグメントデータはまた、キャッシュ４０６の中にローカルに記憶される。
【００７９】
今度はマニフェストプロキシのサブ処理７００Ｂに戻ると、ステップ７５２において、ネットワークプロキシ１０６は、クライアント１１０からマニフェストリクエストを受信しかつ解析する。その後、処理はステップ７５３へ続き、ここで、ネットワークプロキシ１０６は、ＣＤＮ１０４から現在のライブストリームマニフェストファイルを読み出す。ステップ７５４において、マニフェストの中の最も新しい（最新の）セグメントが、新しい広告の第１のセグメントであるかどうかを見るために、確認作業が実行される。マニフェストが新しい広告の開始を含む場合、処理はステップ７５６へ進み、ここで、受信契約者及び／又はユーザのアイデンティティー、位置、及び／又は人口学的な情報と同様に、広告スポット（配置）、プログラム識別子、元々のプログラムの放送時間、広告配置規制、及びプログラムの人口学的な情報を含む広告メタデータが、リクエストから抽出される。その後、広告リクエストは、ＡＤＳ１０８に対して発行される。一実施形態において、ＡＤＳ１０８は、マニフェストファイル、又は差し替え広告に対するセグメントを含むマニフェストファイルを指し示すＵＲＬを返す。別の実施形態において、ＡＤＳ１０８は、選択された広告に対するマニフェスト及び／又はセグメントの位置情報を検索するために使用される、広告メディア識別子を返す。ネットワークプロキシ１０６は、現在のクライアント１１０の広告リクエストと広告配置レスポンスとの間のマッピングと同様に、広告配置レスポンスを記憶し、それによって後続の広告セグメントリクエストは選択される広告の継続に対して適正にマッピングされ得る。一実施形態において、広告配置レスポンス及びマニフェストファイルは、将来の広告差し替えの機会における使用のためにキャッシュされる。一旦、広告情報が読み出されると、処理はステップ７６２へ続く。
【００８０】
ステップ７５４において、マニフェストが新しい広告の開始を含まない場合、処理はステップ７５８へ進み、ここで、マニフェストが現在差し替えられている広告セグメントを含むかどうかを見るために、確認作業が実行される。マニフェストの中に広告セグメントが存在しない場合、処理はステップ７６４へ続き、ここで、修正されないマニフェストはクライアント１１０へ戻される。第１の広告セグメントとちょうど異なる広告セグメントがステップ７５８においてマニフェストの中に存在する場合、処理はステップ７６０へと続き、ここで、差し替え広告情報はキャッシュ４０６から読み出される。その後、処理は、ステップ７６２へと続く。
【００８１】
ステップ７６２において、ネットワークプロキシ１０６は、ライブストリームマニフェストの中の広告セグメントＵＲＬを、（任意の関連する暗号化キーＵＲＬ及び／又は暗号化キーメタデータに沿って）ＡＤＳ１０８から読み出される差し替え広告セグメントＵＲＬに差し替え、かつ修正されたマニフェストファイルをクライアント１１０へ戻す。
【００８２】
上述の説明は教示を十分に有効にするという利益のために多くの具体例を含んでいるが、本発明は、様々な他のやり方において実現可能であり、かつ本明細書に付加される特許請求の範囲の中に含まれる全ての態様を包含することが理解されるだろう。
【図１】
2015527795.tif 000005
【図２】
2015527795.tif 000006
【図３】
2015527795.tif 000007
【図４】
2015527795.tif 000008
【図５】
2015527795.tif 000009
【図６】
2015527795.tif 000010
【図７Ａ】
2015527795.tif 000011
【図７Ｂ】
2015527795.tif 000012
【国際調査報告】
2015527795.tif 000013
2015527795.tif 000014
2015527795.tif 000015