(57)【特許請求の範囲】
【請求項１】
ビットストリームのコンテンツセグメントを無効化するための方法であって、
（Ａ）起点サーバからコンテンツ配信ネットワークにマニフェストファイルを配信するステップであって、前記マニフェストファイルは、
（ｉ）タイムトゥリブ値を有し、（ｉｉ）前記タイムトゥリブ値に基づいて再配信される前記マニフェストファイルを配信するステップと、
（Ｂ）前記起点サーバから前記コンテンツ配信ネットワークに１つまたは複数のコンテンツセグメントを配信するステップであって、前記マニフェストファイルは、前記コンテンツセグメントに対するポインタを含む、前記コンテンツセグメントを配信するステップと、
（Ｃ）入力信号に基づいて、代替コンテンツセグメントのポインタに書き換えることで前記コンテンツセグメントを無効化するか否かを決定するステップと、
（Ｄ）前記コンテンツセグメントを無効化すると決定した場合に、前記起点サーバにおいて前記マニフェストファイル中の前記ポインタを前記代替コンテンツセグメントのポインタへ書き換えるステップと、
（Ｅ）前記コンテンツセグメントを無効化しないと決定した場合に、前記起点サーバにおいて前記マニフェストファイル中の前記ポインタを削除するステップと、
（Ｆ）前記コンテンツ配信ネットワークから前記１つまたは複数のコンテンツセグメントを削除するインジケータを前記マニフェストファイル中に含ませるステップと、を備える、方法。
【請求項２】
（ｉ）前記コンテンツセグメントは第２のタイムトゥリブ値を有し、（ｉｉ）前記マニフェストファイルの前記タイムトゥリブ値は、前記第２のタイムトゥリブ値より低く、及び（ｉｉｉ）前記無効化は、前記第２のタイムトゥリブ値より低い時間で発生する、請求項１に記載の方法。
【請求項３】
前記変更されたマニフェストファイルは、前記コンテンツ配信ネットワークのための無効化信号を実装する、請求項１に記載の方法。
【請求項４】
前記代替のコンテンツセグメントは、前記コンテンツセグメントの可用性に関するメッセージを備える、請求項１に記載の方法。
【請求項５】
前記コンテンツセグメントは、ライブビデオフィードである適応型ビデオコンテンツを含む、請求項１に記載の方法。
【請求項６】
前記コンテンツセグメントは、サービステストの品質に基づいて無効化される、請求項１に記載の方法。
【請求項７】
第１の広告は、前記第１の広告がサービステストの前記品質を満たさない場合、第２の広告と置き換えられる、請求項６に記載の方法。
【請求項８】
前記タイムトゥリブ値によって、前記マニフェストファイルは、前記コンテンツセグメントよりさらに頻繁に前記コンテンツ配信ネットワークの全体にわたってリフレッシュされる、請求項１に記載の方法。
【請求項９】
要求中のクライアントは、前記マニフェストファイル内の前記ポインタに基づいて、前記コンテンツ配信ネットワークから前記コンテンツセグメントを受信するように構成される、請求項１に記載の方法。
【請求項１０】
前記コンテンツ配信ネットワークは、前記コンテンツセグメントをキャッシュするように構成される、請求項１に記載の方法。
【請求項１１】
前記（Ｆ）ステップは、コンテンツの検閲、安全への侵害、コンテンツの破損、及びパージテストのうちの少なくとも１つに応答して、前記コンテンツ配信ネットワークから前記１つまたは複数のコンテンツセグメントを除去される、請求項１に記載の方法。
【請求項１２】
前記コンテンツ配信ネットワークは、キャッシングを行う複数の層を実装するように構成された複数のサーバコンピュータを備える、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にコンテンツ配信に関し、より具体的には、適応型ビットレート（ＡＢＲ）マニフェスト処理によって、コンテンツ配信ネットワークのビデオコンテンツを無効化するための方法及び／またはアーキテクチャに関する。
【背景技術】
【０００２】
コンテンツ配信ネットワーク（ＣＤＮ）は、起点となるウェブサーバからコンテンツを受信する。ＣＤＮは、ネットワークを介してコンテンツのコピーを割り当て及び格納するために、キャッシングを行うための層を備える。適応型ビデオコンテンツは、従来のＣＤＮに対して、標準のＨＴＴＰ法を用いて割り当てられ得る。適応型ビデオビットレート法を用いるクライアントデバイスは、一般的に使用可能なビデオセグメントの正確なリストを所有するため、起点サーバからマニフェストファイルを周期的に要求する。マニフェストファイルは、ファイルサイズが比較的小さく、タイムトゥリブ（ＴＴＬ）の属性が低いことに起因して、ネットワークを介して素早く割り当てられる。ＨＴＴＰを介したオブジェクトのＴＴＬ属性を用いて、ネットワーク内の決まったオブジェクトを確実にリフレッシュする。適応型ビデオストリーミングにおいて、マニフェストファイルは頻繁にリフレッシュすることが望ましいが、実際のビデオセグメントは頻繁にリフレッシュされる必要はない。
【０００３】
ＣＤＮは、典型的には無効化と呼ばれる機能をサポートする。コンテンツを検閲する、安全性が低下した場合、コンテンツを素早くネットワークから除去するか必要があると、無効化を使用し、またはライブイベントを設定する場合、テストコンテンツをパージする。従来の無効化は、アウトオブバンドメッセージを使用し、これは、ネットワークのキャッシュ内の無効化コンテンツに送られる。特定のオブジェクト名は、無効コマンドを送る時刻より前に知らされなくてはならない。コマンドをネットワーク内の複数のノードを介して送ることによって、各ノードがキャッシュされたコンテンツを無効化することが可能になる。無効化の完了は、無効化の要求に含まれるオブジェクトのＵＲＬの数、無効化信号を伝播する時間、及びすべてのオブジェクトを適切に無効化するための時間によって決まる。無効化要求は、全てのセグメントファイルのオブジェクト名を使用する。ビデオの持続時間に応じて、ネットワークを介してキャッシュされる数百または数千のコンテンツセグメントファイルが存在し得る。
【０００４】
ＡＢＲマニフェスト処理によって、及びネットワークを介してより素早くオブジェクトの無効化をもたらすためのシグナリングによって、コンテンツ配信２０ネットワークのビデオコンテンツの無効化を実施することが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、ビットストリームのコンテンツセグメントを無効化するための方法に関する。この方法は、起点サーバからコンテンツ配信ネットワークにマニフェストファイルを配信するステップを備える。マニフェストファイルは、タイムトゥリブ値を有し得、及びタイムトゥリブ値に基づいて再配信され得る。この方法は、起点サーバからコンテンツ配信ネットワークに１つまたは複数のコンテンツセグメントを配信するステップを備える。マニフェストファイルは、コンテンツセグメントに対するポインタを含み得る。この方法は、入力信号に基づいて、無効化情報を含むように起点サーバにおけるマニフェストファイルを変更するステップを備える。この方法は、無効化情報に基づいて、コンテンツ配信ネットワークの全体にわたってコンテンツセグメントを無効化するステップを備える。
【０００６】
本発明の目的、特徴、及び利点は、（ｉ）ＡＢＲマニフェスト処理を用い、（ｉｉ）ビデオセグメントをスキップすることを素早く可能にし、（ｉｉｉ）ライブフィードからビデオセグメントを素早く除去し、（ｉｖ）数秒足らずで更新を行い、（ｖ）サービステストの品質に基づいてフィードを切り替え、（ｖｉ）コンテンツのライブのスワットアウトを実行し、（ｖｉｉ）ネットワーク上の悪質な行為を阻止し、（ｖｉｉｉ）ユーザを承認された発信元に転用し、（ｉｘ）無効化信号としてマニフェストファイルを使用し、（ｘ）適応型コンテンツを割り当て、（ｘｉ）従来のコンテンツ配信ネットワークを介して標準のＨＴＴＰ法を使用し、（ｘｉｉ）キャッシュからビデオセグメントを削除し、及び／または（ｘｉｉｉ）マニフェストファイルの低いタイムトゥリブ値を活用し得る、コンテンツ配信ネットワークのビデオコンテンツの無効化をもたらすことを含む。
【図面の簡単な説明】
【０００７】
本発明のこれら及び他の目的、特徴、及び利点は、下記の詳細な説明、添付の特許請求の範囲、及び下記で説明する図面から明らかであろう。
【図１】装置の例示的な実施形態を示す図である。
【図２】ネットワークの一部の例を示すブロック図である。
【図３】マニフェストファイルの例を示す図である。
【図４】ブランクコンテンツを指す処理されたマニフェストファイルの例を示す図である。
【図５】代替のコンテンツを指す処理されたマニフェストファイルの例を示す図である。
【図６】削除パラメータを有する処理されたマニフェストファイルを示す。
【図７】起点サーバにおいて、コンテンツセグメントを無効化するための方法を示すフロー図である。
【図８】クライアントデバイスにおいて、コンテンツセグメントを無効化するための方法を示すフロー図である。
【図９】コンテンツ配信ネットワーク内のコンテンツセグメントを無効化するための方法を示すフロー図である。
【図１０】オペレータが、コンテンツセグメントを無効化するための方法を示すフロー図である。
【発明を実施するための形態】
【０００８】
図１を参照すると、装置１００の例示的な実施形態（またはシステム）５０が、本発明の好適な実施形態にしたがって示される。システム５０は、一般的に装置１００、１つまたは複数のオペレータデバイス（またはオペレータ）１０２ａ〜１０２ｎ、１つまたは複数のビットストリーム（またはビデオ信号）１０４ａ〜１０４ｎ、コンテンツ配信ネットワーク（またはネットワーク）６０、及び／または１つまたは複数のエンドユーザデバイス（またはクライアントデバイス）１２０ａ〜１２０ｎを備える。
【０００９】
装置１００は、エンコーダ／パッケージャとして実装し得る。いくつかの実施形態において、装置１００は、起点サーバとして実装し得る。パッケージャ１００は、信号（例えば、ＦＥＥＤ）として受信し得る。信号ＦＥＥＤはビデオ信号であり得る。例えば、信号ＦＥＥＤは、ライブストリームであってもよい。ライブストリームＦＥＥＤは、ライブビデオコンテンツ（例えば、スポーツイベント、コンサートイベント、ペイパービュー方式のイベントなど）、予め録画されたコンテンツ（例えば、テレビ番組、映画、時間差のあるイベント、スポーツのハイライトなど）及び／または広告コンテンツ（例えば、コマーシャル）を備え得る。パッケージャ１００は、１つまたは複数のオペレータ１０２ａ〜１０２ｎから１つまたは複数の入力信号（例えば、ＩＮＰＵＴ）を受信し得る。パッケージャ１００は、１つまたは複数のビットストリーム１０４ａ〜１０４ｎを生成し得る。
【００１０】
無効化信号ＩＮＰＵＴを生成するオペレータ１０２ａ〜１０２ｎを示す。いくつかの実施形態において、オペレータ１０２ａ〜１０２ｎは、信号オペレータ１０２として実装し得る。例えば、オペレータ１０２は、ユーザが操作するユーザ端末であってもよい。いくつかの実施形態において、オペレータ１０２は、オートメーションシステムとして実装され得る。信号ＩＮＰＵＴは、オペレータが開始したコンテンツの無効化であり得る。
【００１１】
ビットストリーム１０４ａ〜１０４ｎは、エンコーダ／パッケージャ１００によって、コンテンツ配信ネットワーク（ＣＤＮ）６０に配信され得る。ビットストリーム１０４ａ〜１０４ｎは、符号化された／パッケージ化されたバージョンの種々の信号ＦＥＥＤを表し得る。例えば、ビットストリーム１０４ａは、高解像度及び／または高ビットレートバージョンの信号ＦＥＥＤであってもよい。別の例において、ビットストリーム１０４ｂは、中解像度及び／または中ビットレートバージョンの信号ＦＥＥＤであってもよい。さらに別の例において、ビットストリーム１０４ｎは、低解像度及び／または低ビットレートバージョンの信号ＦＥＥＤであってもよい。いくつかの実施形態において、ビットストリーム１０４ａ〜１０４ｎは、代替音声（例えば、異なる言語）及び／またはクローズドキャプションを提供し得る。ビットストリーム１０４ａ〜１０４ｎの数及び／またはタイプは、特定の実装の設計基準によって変化し得る。
【００１２】
ビットストリーム１０４ａ〜１０４ｎの各々は、多数のコンテンツセグメント１１０ａ〜１１０ｎ（例えば、コンテンツセグメント１１０）を含み得る。コンテンツセグメント１１０ａ〜１１０ｎの各々は、ビットストリーム１０４ａ〜１０４ｎの一部を表し得る。コンテンツセグメントファイル１１０ａ〜１１０ｎの各々は、プログラムＦＥＥＤの再生時間の1つのセグメントを表し得る（例えば、１０秒のセグメントファイルは、１０秒のビデオ及び／または音声を含み得る）。例えば、連続して再生される場合、コンテンツセグメント１１０ａ〜１１０ｎは、対応するビットストリーム１０４のコンテンツを生成し得る。別の例において、コンテンツセグメント１１０ａ〜１１０ｎは、エンドユーザデバイス１２０ａ〜１２０ｎにローカルに格納され得（例えば、バッファされ）、十分なコンテンツセグメント１１０ａ〜１１０ｎが使用可能な場合、エンドユーザデバイス１２０ａ〜１２０ｎは、再生のためにコンテンツセグメント１１０ａ〜１１０ｎを復号し得る。コンテンツセグメント１１０ａ〜１１０ｎは、適応型ビデオコンテンツであってもよい。コンテンツセグメント１１０によって、システム５０全体に、ビットストリーム１０４を効果的及び／または確実に配信することが可能になる。例えば、個々のコンテンツセグメント１１０を要求することによって、クライアントデバイス１２０ａ〜１２０ｎのうちの1つがダウンロードに失敗する可能性を減らすことが可能である。別の例において、ＣＤＮ６０を横断するコンテンツセグメント１１０を格納することによって、ＣＤＮ６０の各ノードにおいて必要な格納量を減らすことが可能である。
【００１３】
ＣＤＮ６０は、コンピュータ（例えば、サーバ）から成るネットワークであってもよい。ＣＤＮ６０のコンピュータの各々は、ノードであってもよい。ＣＤＮ６０は、広域ネットワーク（例えば、インターネット）を介し、ビットストリーム１０４ａ〜１０４ｎを格納及び／または配信し得る。ＣＤＮ６０は、種々の発信元から種々のコンテンツを格納及び／または配信し得る。ＣＤＮ６０は、デジタルコンテンツ（例えば、ビットストリーム１０４ａ〜１０４ｎ）を種々のクライアントデバイス１２０ａ〜１２０ｎに配信することを容易にし得る。
【００１４】
クライアントデバイス１２０ａ〜１２０ｎは、ＣＤＮ６０からデータを送信及び／または受信するように構成され得る。クライアントデバイス１２０ａ〜１２０ｎは、デスクトップコンピュータ、テレビジョンセット、ノートブックコンピュータ、ネットワークコンピュータ、タブレットコンピューティングデバイス、スマートフォン、メディアプレーヤ、（例えば、ネットワーク接続したＢｌｕ―Ｒａｙデバイス）などのエンドユーザデバイスであり得る。一般的に、クライアントデバイス１２０ａ〜１２０ｎは、適応型ビットレートコンテンツ（例えば、ビットストリーム１０４ａ〜１０４ｎ及び／またはコンテンツセグメント１１０）を再生するように構成され得る。例えば、クライアントデバイス１２０ａ〜１２０ｎは、再生のためにビットストリーム１０４ａ〜１０４ｎを復号するように構成され得る。クライアントデバイス１２０ａ〜１２０ｎは、要求をサーバ１００に送信し、送信された要求に基づいてコンテンツを受信し得る。
【００１５】
図２を参照すると、システム５０の例示的なネットワーク部分１５０のブロック図が示される。例示的なネットワーク部分１５０は、起点サーバ１００、ＣＤＮ６０、及び／またはクライアントデバイス１２０を含み得る。図示したデバイス及び／またはノードの数は代表的な例である。デバイスとノードの数及び／または例示的なネットワーク部分１５０の配置は、特定の実装の設計基準によって変化し得る。
【００１６】
エンコーダ／パッケージャ１００は、起点となるアクティブビットレートビデオＨＴＴＰサーバとして示される。エンコーダ／パッケージャ１００は、信号（例えば、ＲＥＱＵＥＳＴ）を受信し、及び信号（例えば、ＲＥＳＰＯＮＳＥ）を送信するように示される。信号ＲＥＱＵＥＳＴは、ＣＤＮ６０が、クライアントデバイス１２０ａ〜１２０ｎのうちの１つからに起点サーバ１００に転送するデータ要求（例えば、ＨＴＴＰ要求）を表し得る。例えば、信号ＲＥＱＵＥＳＴは、デジタルデータをクライアントデバイス１２０ａ〜１２０ｎのうちの１つに送信するための起点サーバ１００に対するＨＴＴＰ要求であり得る。信号ＲＥＳＰＯＮＳＥは、ＣＤＮ６０が、起点サーバ１００からクライアントデバイス１２０ａ〜１２０ｎのうちの１つに転送するデータ応答を表し得る。例えば、起点サーバは、信号ＲＥＳＰＯＮＳＥ（例えば、コンテンツセグメント１１０のようなデータ）をネットワークパケットとして、ＨＴＴＰプロトコルに基づいてクライアントデバイス１２０ａ〜１２０ｎのうちの１つに送信し得る。応答及び／もしくは要求のタイプ、実装、ならびに／または数は、特定の実装の設計基準によって変化し得る。
【００１７】
起点サーバ１００は、ブロック（またはモジュールまたはファイル）１５２及びコンテンツセグメント１１０ａ〜１１０ｎを備えるように示される。ブロック１５２は、マニフェストファイルであってもよい。マニフェストファイル１５２は、使用可能なコンテンツセグメント１１０１〜１１０ｎのリストを提供し得る。例えば、マニフェストファイル１５２は、コンテンツセグメント１１０及び／もしくは他のデータを指すメタデータならびに／またはＵＲＬを含み得る。マニフェストファイル１５２は、コンテンツセグメント１１０に要求を行うために、クライアントデバイス１２０ａ〜１２０ｎによって使用され得る。マニフェストファイル１５２のフォーマットは、特定の実装の設計基準によって変化し得る。マニフェストファイル１５２及び／またはコンテンツセグメント１１０ａ〜１１０ｎは、代表的なタイムトゥリブ（ＴＴＬ）値を有し得る。ＴＴＬ値（または属性）は、ネットワーク内のいくつかのオブジェクトを確実にリフレッシュするために使用され得る。例えば、ネットワーク内の（例えば、ＣＤＮ６０の全体にわたって）オブジェクトをキャッシュし得る。ＴＴＬ値は、時間数、すなわちオブジェクトがリフレッシュされる（例えば、起点サーバ１００から要求または更新される）前の要求の数及び／またはホップカウントを表す。マニフェストファイル１５２及び／またはコンテンツセグメント１１０に対するＴＴＬ値は、オペレータ１０２によって及び／または起点サーバ１００において設定され得る。通常のＣＤＮ６０を実装する場合、（例えば、コンテンツの無効化には長時間かかるため）様々なタイプのコンテンツは、ＴＴＬ値が満了するまでＣＤＮ上に格納されたままであり得る。一般的に、マニフェストファイル１５２のＴＴＬ値は、コンテンツセグメント１１０のＴＴＬ値より低い。マニフェストファイル１５２に対してより低いＴＴＬ値を設定することによって、マニフェストファイル１５２をコンテンツセグメント１１０よりたびたび／頻繁にリフレッシュすること（例えば、コンテンツセグメント１１０に対するポインタを更新すること）が可能になり得る。コンテンツセグメント１１０に対して比較的高いＴＴＬ値を設定することによって、コンテンツセグメント１１０を（例えば、要求の数を減らす及び／または起点サーバ１００に対する負荷を低減する）キャッシュ内に留めておくことが可能になり得る。マニフェストファイル１５２及び／またはコンテンツセグメント１１０のＴＴＬ値に対する実装及び／または値は、特定の実装の設計基準によって変化し得る。
【００１８】
ＣＤＮ６０は、一般的にブロック（または回路）６２ａ〜６２ｎ及び／またはブロック（または回路）６４ａ〜６４ｎを備える。回路６２ａ〜６２ｎは、中間層キャッシュノードとして実装され得る。回路６４ａ〜６４ｎはエッジキャッシュノードとして実装され得る。中間層キャッシュノード及び／またはエッジキャッシュノード６４ａ〜６４ｎは、コンピューティングデバイス（例えば、サーバコンピュータ）を用いて実施され得る。中間層キャッシュノード６２ａ〜６２ｎ及び／またはエッジキャッシュノード６４ａ〜６４ｎは、ＣＤＮ６０の種々のノードを実装し得る。エッジキャッシュノード６４ａ〜６４ｎは、ＣＤＮ６０内のクライアントデバイス１２０ａ〜１２０ｎの比較的近くに配置され得る。ＣＤＮのノードの数及び／またはタイプは、特定の実装の設計基準によって変化し得る。
【００１９】
中間層キャッシュノード６２ａ〜６２ｎ及び／またはエッジキャッシュノード６４ａ〜６４ｎは、ブロック（またはモジュールまたはファイル）１１０ａ１〜１１０ｎ’、ブロック（またはモジュールまたはファイル）１５２’、ブロック（またはモジュールまたはファイル）１５４、及び／またはブロック（またはモジュールまたはファイル）１５６を備えるように示される。一般的に、中間層キャッシュノード６２ａ〜６２ｎ及びエッジキャッシュノード６４ａ〜６４ｎは、同様のコンテンツを格納する。いくつかの実施例において、１つまたは複数の中間層キャッシュノード６２ａ〜６２ｎ及び／または１つまたは複数のエッジキャッシュノード６４ａ〜６４ｎは、同様のコンテンツの異なるバージョンを格納し得る（例えば、古い及び／または更新されていない可能性のあるキャッシュされたバージョンを格納する）。
【００２０】
ブロック１１０ａ１〜１１０ｎ１は、キャッシュされたビデオコンテンツであり得る。キャッシュされたビデオコンテンツ１１０ａ１〜１１０ｎ１は、（比較的）高いＴＴＬ値を有するように示される。１つの例において、キャッシュされたコンテンツ１１０ａ１〜１１０ｎ１は、起点サーバ１００上に格納したコンテンツセグメント１１０ａ〜１１０ｎと同じであり得る（例えば、キャッシュされたコンテンツ１１０ａ’〜１１０ｎ１はリフレッシュする必要があり得ない）。別の例において、キャッシュされたコンテンツ１１０ａ’〜１１０ｎ１は、コンテンツセグメント１１０ａ〜１１０ｎとは異なり得る（例えば、コンテンツセグメント１１０ａ〜１１０ｎは起点サーバ１００で更新されてしまっているが、ＣＤＮ６０の種々のノードには配信されない）。
【００２１】
ブロック１５２’は、キャッシュされたマニフェストファイルであり得る。キャッシュされたマニフェストファイル１５２’は、（比較的）低いＴＴＬ値を有するように示す。１つの例において、キャッシュされたマニフェストファイル１５２’は、起点サーバ１００上に格納されたマニフェストファイル１５２と同じでありえ得る（例えば、キャッシュされたマニフェストファイル１５２’は、リフレッシュする必要はあり得ない）。別の例において、キャッシュされたマニフェストファイル１５２’は、マニフェストファイル１５２とは異なり得る（例えば、マニフェストファイル１５２は、起点サーバ１００上で更新されてしまった可能性があるが、ＣＤＮ６０の種々のノードには配信されない）。キャッシュされたマニフェストファイル１５２’は無効化信号を格納し得る。キャッシュされたマニフェストファイル１５２’は低いＴＴＬ値を有するため、キャッシュされたマニフェストファイル１５２’はしばしば更新され得る。
【００２２】
ブロック１５４は、代替のビデオコンテンツであり得る。代替のビデオコンテンツ１５４は、コンテンツセグメント１１０ａ〜１１０ｎが使用できない場合、クライアントデバイス１２０ａ〜１２０ｎに対して使用可能なビデオコンテンツであり得る。例えば、クライアントデバイス１２０ａ〜１２０ｎは、コンテンツセグメント１１０の代わりに、代替のビデオコンテンツ１５４を受信し得る。
【００２３】
ブロック１５６は、他のインターネットトラフィックを表し得る。例えば、他のインターネットトラフィック１５６は、起点サーバ１００とは無関係のＣＤＮ６０の全体にわたって割り当てられるコンテンツであり得る。いくつかの実施形態において、起点サーバ１００は、ＣＤＮ６０に対するデジタルコンテンツ及び／またはファイルの唯一の発信元でなくてもよい。
【００２４】
クライアントデバイス１２０は、ＨＴＴＰ適応型ビットレートデバイスとして示される。クライアントデバイス１２０は、ブロック（またはモジュールまたはファイル）１５２”及び／または代替のビデオコンテンツ１５４を備えるように示される。ブロック１５２”は、無効化されたマニフェストファイル（例えば、処理されたマニフェストファイル）であってもよい。１つの実施例において、無効化されたマニフェストファイル１５２”は、コンテンツセグメント１１０ａ〜１１０ｎの代わりに代替のビデオコンテンツ１５４を指し得る。クライアントデバイス１２０は、ＨＴＴＰ要求（例えば、信号ＲＥＱＵＥＳＴ及び／または信号ＲＥＳＰＯＮＳＥ）を用いて、ＣＤＮ６０からコンテンツセグメント１１０を要求及び／または受信するように構成され得る。
【００２５】
起点サーバ１００は、コンテンツの無効化を実行するように構成され得る。例えば、１つまたは複数のコンテンツセグメント１１０ａ〜１１０ｎが無効化され得る。コンテンツの無効化によって、コンテンツがクライアントデバイス１２０ａ〜１２０ｎに配信されるのを防ぐ及び／または停止する。コンテンツの無効化を開始するため、オペレータ１０２ａ〜１０２ｎは、無効化信号ＩＮＰＵＴ（例えば、図２に示すオペレータが開始したコンテンツの無効化）を起点サーバ１００に送信し得る。起点サーバ１００は、マニフェストファイル１５２を更新（または処理）することによって、コンテンツセグメント１１０を無効化し得る。例えば、マニフェストファイル１５２は、もはやコンテンツセグメント１１０を指さないように更新され得る。
【００２６】
マニフェストファイル１５２に対するＴＴＬ値は比較的低いため、マニフェストファイル１５２は、ＣＤＮ６０の全体にわたってリフレッシュされ得る。例えば、クライアントデバイス１２０がマニフェストファイル１５２を要求し、ＴＴＬ値がＣＤＮ６０の種々のノード内のキャッシュされたマニフェスト１５２’に対して満了している場合、更新されたマニフェストファイル１５２（例えば、無効化されたマニフェスト１５２”）は、ＣＤＮの全体にわたってクライアントデバイス１２０に割り当てられ得る。クライアントデバイス１２０は、無効化されたマニフェスト１５２”をダウンロードしたように示される。図示した例において、無効化されたマニフェスト１５２”は、コンテンツセグメント１１０の変わりに、代替のコンテンツ１５４を指し得る。クライアントデバイス１２０は、無効化されたマニフェスト１５２”に基づいて、代替のコンテンツ１５４を用いて示される。
【００２７】
いくつかの実施形態において、コンテンツセグメント１１０は、依然としてＣＤＮ６０上に（例えば、キャッシュされたコンテンツ１１０ａ１〜１１０ｎ１として）存在し得る。しかし、無効化されたマニフェストファイル１５２”はもはや、キャッシュされたコンテンツ１１０ａ１〜１１０ｎ１を指さないため、クライアントデバイス１２０ａ〜１２０ｎは、無効化されたコンテンツにはアクセスし得ない。起点サーバ１００は、ＣＤＮ６０によって、有効なバージョンのコンテンツセグメント１１０ａ〜１１０ｎを後で再割り当てし、有効なバージョンのコンテンツセグメント１１０ａ〜１１０ｎを指すためにマニフェストファイル１５２を更新し得る。一般的に、マニフェストファイル１５２”の無効化を、少なくともＴＴＬ値の長さの間行うことによって、新しく無効化されたマニフェストがＣＤＮ６０の全体にわたって確実に割り当てられるようにする。
【００２８】
１つの実施例において、ライブフィードのスイッチは、ユーザ（例えば、オペレータ１０２ａ）によって開始され得る。別の実施例において、サービステストの品質を実装し得る。例えば、コンテンツセグメント１１０を用いて表すビデオストリームが、低品質のため、広告主及び／または放送会社が満足しない場合、コンテンツセグメント１１０は、（例えば、代替のコンテンツ１５４提供することによって）再手配及び／または素早く除去し得る。例えば、コンテンツセグメント１１０が低品質の（例えば、サービステストの品質を満たしていない）広告を表示する場合、コンテンツセグメント１１０を無効化することによって、代替の広告を表示することが可能である。コンテンツセグメント１１０は、コンテンツセグメント１１０がサービステストの品質をパスしない場合、自動的に無効化され得る。
【００２９】
一般的に、マニフェストファイル１５２は、ＨＴＴＰ要求に基づいて、１つまたは複数のエンドユーザデバイス１２０ａ〜１２０ｎによってネットワーク６０を介して取り出される。ＴＴＬ値は、ＣＤＮ６０の種々のノード内のオブジェクトがどれくらい新しいか（例えば、最近のものであるか）を提示する。クライアントデバイス１２０ａ〜１２０ｎのうちの１つがマニフェストファイル１５２を要求し、ＴＴＬが満了してしまうと、ネットワーク６０内のサーバは新しいオブジェクトを取り出し、起点１００に戻り得る。エンコーダ／パッケージャ１００は、マニフェストファイル１５２をＣＤＮ６０に配信し得る。エンコーダ／パッケージャ１００は、ＴＴＬ値に基づいて、マニフェストファイル１５２を（例えば、無効化されたマニフェスト１５２”のように処理された及び／または変更されたマニフェストファイルとして）再配信し得る。マニフェストファイル１５２のＴＴＬ値は、一般的にコンテンツセグメント１１０のＴＴＬ値より低いため、コンテンツセグメント１１０のＴＴＬ値の満了より少ない時間で無効化が発生する傾向にある。
【００３０】
図３を参照すると、マニフェストファイル１５２の例２００が示される。マニフェストファイル１５２は、種々のデータを備える。種々のデータは、ファイルヘッダ２０２、メタデータ２０４ａ〜２０４ｃ、及び／またはポインタ／リンク２０６ａ〜２０６ｃであり得る。データは、人間による読み取りが可能な（または一般的に人間による読み取りが可能な）テキストとして示される。いくつかの実施形態において、データは、符号化したフォーマット、暗号化したフォーマット及び／またはコンピュータで読み取り可能な（例えば、バイナリ）フォーマットを使用してコード化され得る。マニフェストファイル内のデータのフォーマットは、特定の実装の設計基準によって変化し得る。
【００３１】
ファイルヘッダ２０２は、ファイルの特定のタイプとしてマニフェストファイル１５２を識別するためのインジケータを提供し得る。例えば、ファイルヘッダ２０２は、起点サーバ１００、中間層キャッシュノード６２ａ〜６２ｎ、エッジキャッシュノード６４ａ〜６４ｎ、クライアントデバイス１２０ａ〜１２０ｎ、及び／または任意の他のコンピューティングデバイスを使用して、特定のタイプのファイル（例えば、ポインタファイル、マニフェストファイルなど）としてマニフェストファイル１５２を認識し得る。
【００３２】
メタデータ２０４ａ〜２０４ｎは、ポインタ２０６ａ〜２０６ｎの各々と関連し得る。メタデータ２０４ａ〜２０４ｎは、リンク２０６ａ〜２０６ｎに続く場合にサービスを受けるファイルのタイプを示し得る。例えば、メタデータ２０４ａ〜２０４ｎは、リンク２０６ａ〜２０６ｎが、ビデオストリーム、コンテンツセグメント１１０を再生するのに必要な帯域幅、コンテンツセグメント１１０のために実装したコーデック、コンテンツセグメント１１０の（例えば、ピクセル中の）解像度、及び／または任意の他の関連データを表すことを示し得る。メタデータ２０４ａ〜２０４ｎにおいて使用可能なデータのタイプは、特定の実装の設計基準によって変化し得る。
【００３３】
ポインタ２０６ａ〜２０６ｎは、様々なタイプの記憶されたデータを指し得る。記憶されたデータは、コンテンツセグメント１１０であってもよい。例えば、ポインタ２０６ａ〜２０６ｎは、ＨＴＴＰ  ＵＲＬリンクとして示され得る。いくつかの実施形態において、ポインタ２０６ａ〜２０６ｎは、ＲＴＭＰリンク及び／またはＦＴＰリンクとして実装し得る。ポインタ２０６ａ〜２０６ｎのフォーマットは、特定の実装の設計基準によって変化し得る。
【００３４】
マニフェストファイル１５２のポインタ２０６ａ〜２０６ｃは、コンテンツセグメント１１０を指すように示される。コンテンツセグメント１１０は、トランスポートストリーム（例えば、．ｔｓ）ファイルとして実装され得る。例えば、コンテンツセグメント１１０は、ＭＰＥＧ−２データを含み得る。図示した例２００において、ポインタ２０６ａ〜２０６ｃは、（例えば、低い、中程、高いなど）種々のビットレートを有するコンテンツセグメント１１０にリンクし得る。例えば、ポインタ２０６ａ〜２０６ｃは、同じビデオコンテンツの異なるバージョンを指し得、クライアントデバイス１２０ａ〜１２０ｎは、（例えば、クライアントデバイス１２０ａ〜１２０ｎの再生能力、クライアントデバイス１２０ａ〜１２０ｎの承認、及び／またはクライアントデバイス１２０ａ〜１２０ｎに使用可能な帯域幅に基づいて）、リンク２０６ａ〜２０６ｃのうちの１つのみからコンテンツセグメント１１０を受信し得る。
【００３５】
いくつかの実施形態において、マニフェストファイル１５２は、ビットストリーム１０４ａ〜１０４ｎ内に埋め込まれ得る。装置１００は、無効化信号として、マニフェストファイル１５２を使用し得る。マニフェストファイル１５２は、ＣＤＮ６０上で定期的に更新される一定信号であり得る。マニフェストファイル１５２の比較的低いＴＴＬ値によって、マニフェストファイル１５２は、キャッシュファイル１１０ａ１〜１１０ｎ’よりずっと速く更新され得る。
【００３６】
装置１００は、新しいコンテンツを指す及び／またはどのコンテンツも指さない無効化信号としてマニフェストファイル１５２を使用し得る。例えば、どのコンテンツも指さないことによって、クライアントデバイス１２０ａ〜１２０ｎは、最後のフレーム（例えば、受信した複数のコンテンツセグメント１１０のうちの最後）でフリーズし得、クライアントデバイス１２０ａ〜１２０ｎによっては、クライアントデバイス１２０ａ〜１２０ｎが復元できるかどうかに関して確実でない可能性がある。クライアントデバイス１２０ａ〜１２０ｎがフリーズ（またはロックアップ）する可能性を最小にするために、スプラッシュスクリーン（例えば、代替のコンテンツ１５４）が通知として送信され得る。例えば、この通知は、ブロードキャストが絶えず返すことを示し得る。
【００３７】
無効化及び／または復元のタイプは、特定の実装の設計基準によって変化し得る。無効化の種々の例は、図４〜６に関連して示される。無効化のタイプは、無効化信号ＩＮＰＵＴ内にもたらされる無効化情報（例えば、命令）に基づき得る。例えば、信号ＩＮＰＵＴは、オペレータ１０２が開始したコンテンツ無効化信号であり得る。
【００３８】
図４を参照すると、ブランクコンテンツを指す、処理されたマニフェストファイル２５０の例２００’が示される。マニフェストファイル２５０は、無効化されたマニフェストファイル１５２”の例であり得る。マニフェストファイル２５０は、ヘッダ２０２’、メタデータ２０４ａ’〜２０４ｃ’、及び／またはブランクコンテンツポインタ２５２ａ〜２５２ｃを有するように示される。
【００３９】
オペレータ１０２からの無効化信号ＩＮＰＵＴは、ポインタ２０６ａ〜２０６ｎの削除を削除する及び／または開始するための命令を提供し得る。ポインタ２０６ａ〜２０６ｎをブランクコンテンツポインタ２５２ａ〜２５２ｎと置き換えることによって、マニフェストファイル１５２を無効化されたマニフェストファイル１５２”に更新し得る。例えば、クライアントデバイス１２０ａ〜１２０ｎがマニフェストファイル２５０を受信する場合、コンテンツセグメント１１０へのリンクが使用できない可能性があり得る（例えば、ブランクコンテンツポインタ２５２ａ〜２５２ｎ）。いくつかの実施形態において、メタデータ２０４ａ’〜２０４ｎ’は削除されるか、ブランクデータ及び／またはプレースホルダデータと置き換えられ得る。ブランクコンテンツポインタ２５２ａ〜２５２ｎがマニフェストファイル２５０内のブランクラインとして示される一方で、（例えば、プレースホルダデータ、「ＮＯ  ＤＡＴＡ」メッセージなど）の他の指示が用いられてもよい。
【００４０】
図５を参照すると、代替のコンテンツを指す、処理されたマニフェストファイル３００の例２００”が示される。マニフェストファイル３００は、無効化されたマニフェストファイル１５２”の例であり得る。マニフェストファイル３００は、ヘッダ２０２”、メタデータ２０４ａ”〜２０４ｃ”、及び／または代替のコンテンツポインタ３０２ａ〜３０２ｃを有するように示される。
【００４１】
オペレータ１０２からの無効化信号ＩＮＰＵＴは、ポインタ２０６ａ〜２０６ｎの置換を置き換える及び／または開始するための命令を提供し得る。ポインタ２０６ａ〜２０６ｎを代替のコンテンツポインタ３０２ａ〜３０２ｎと置き換えることによって、マニフェストファイル１５２を無効化されたマニフェストファイル１５２”に更新し得る。１つの例において、無効化情報は、ＵＲＬポインタであり得る。例えば、クライアントデバイス１２０ａ〜１２０ｎが、マニフェストファイル３００を受信する場合、コンテンツセグメント１１０へのリンクが使用できない可能性がある（例えば、代替のコンテンツポインタ３０２ａ〜３０２ｎが使用可能である）。代わりに、代替のコンテンツポインタ３０２ａ〜３０２ｎが、代替のビデオコンテンツ１５４を要求するためにクライアントデバイス１２０ａ〜１２０ｎの方向を変え得る。いくつかの実施形態において、メタデータ２０４ａ’〜２０４ｎ’は、代替のコンテンツ１５４及び／またはプレースホルダデータに対応する５個のメタデータと置き換えられ得る。
【００４２】
図６を参照すると、複数の削除パラメータを有する処理されたマニフェストファイル３５０の例２００”‘が示される。マニフェストファイル３５０は、無効化されたマニフェストファイル１５２”の例であり得る。マニフェストファイル３５０は、ヘッダ２０２““、メタデータ２０４ａ”‘〜２０４ｃ”、ポインタ２０６ａ”‘〜２０６ｃ’“、全削除パラメータ３５２及び／またはコンテンツ削除パラメータ３５４ａ〜３５４ｃを有するように示される。
【００４３】
オペレータ１０２からの無効化信号ＩＮＰＵＴは、全削除パラメータ３５２及び／またはコンテンツ削除パラメータ３５４ａ〜３５４ｎの追加を追加及び／または開始するための命令を提供し得る。パラメータ３５２及び／または３５４ａ〜３５４ｎを追加することによって、マニフェストファイル１５２を無効化されたマニフェストファイル１５２”に更新し得る。いくつかの実施形態において、全削除パラメータ３５２のみが必要とされ得る。いくつかの実施形態において、１つまたは複数の削除パラメータ３５４ａ〜３５４ｎは、ポインタ２０６ａ”‘〜２０６ｎ”‘のうちの対応する１つのために使用され得る。一般的に、全削除パラメータ３５２を追加する場合、削除パラメータ３５４ａ〜３５４ｎは、（例えば、冗長であるため）必要としない。パラメータ３５２及び／または３５４ａ〜３５４ｎは、パラメータ（例えば、ポインタ２０６ａ”１〜２０６ｎ”‘と関連するラインへの追加）及び／またはコマンドラインスイッチとして実装され得る。全削除パラメータ３５２及び／または削除パラメータ３５４ａ〜３５４ｎの実装は、特定の実装の設計基準によって変化し得る。
【００４４】
パラメータ３５２及び／または３５４ａ〜３５４ｎは、ＣＤＮ６０からキャッシュされたビデオコンテンツ１１０ａ１〜１１０ｎ１を削除するために実装され得る。例えば、ＣＤＮ６０は、処理されたマニフェストファイル３５０を受信し得る。ＣＤＮ６０の複数のノードは、処理されたマニフェストファイル３５０を読み取り、パラメータ３５２及び／または３５４ａ〜３５４ｎを検出し得る。ＣＤＮ６０の複数のノードは、パラメータ３５２及び／または３５４ａ〜３５４ｎに基づいて、キャッシュされたビデオコンテンツ１１０ａ１〜１１０ｎ’を物理的に削除、パージ、及び／または除去し得る。削除及び／または除去した後、キャッシュされたビデオコンテンツ１１０ａ１〜１１０ｎ’はもはや使用でき得ない。
【００４５】
図７を参照すると、方法（またはプロセス）４００が示される。方法４００は、起点サーバ１００において、コンテンツセグメント１１０を無効化し得る。方法４００は、一般的にステップ（または状態）４０２、ステップ（または状態）４０４、ステップ（または状態）４０６、ステップ（または状態）４０８、決定ステップ｛または状態）４１０、決定ステップ（または状態）４１２、ステップ（または状態）４１４、ステップ（または状態）４１６、決定ステップ（または状態）４１８、及びステップ（または状態）４２０を備える。
【００４６】
状態４０２は、開始ステップであり得る。状態４０４は、コンテンツ配信ネットワーク６０を介してコンテンツ１１０を割り当て得る。状態４０６は、クライアント（例えば、クライアントデバイス１２０ａ〜１２０ｎ）からの１つまたは複数の要求に基づいて、マニフェストファイル１５２を配信し得る。ステップ４０８は、クライアント１２０ａ〜１２０ｎからの要求に基づいて、１つまたは複数のコンテンツセグメント１１０を配信し得る。次に、方法４００は、決定状態４１０に進み得る。
【００４７】
決定状態４１０は、１つまたは複数のセグメント１１０を無効化する必要があるかどうかを決定し得る。必要でない場合、方法４００は、状態４０４に戻る。必要がある場合、方法４００は、決定状態４１２に進む。決定状態４１２は、クライアント（例えば、クライアント１２０ａ〜１２０ｎのうちの１つ）が、代替のコンテンツ１５４にする必要があるかどうかを決定する。必要で無い場合、方法４００は、状態４１４に進む。方向転換する必要がある場合、方法４００は状態４１６に進む。
【００４８】
状態４１４は、発信元１００においてマニフェストファイル１５２を変更し、１つまたは複数のコンテンツセグメントリンク（例えば、ポインタ２０６ａ〜２０６ｃ）を除去するために使用し得る。状態４１４の後、方法４００は、決定状態４１８に進む。状態４１６は、発信元１００においてマニフェストファイル１５２を変更し、代替のコンテンツ１５４への１つまたは複数のコンテンツセグメントリンク（例えば、代替のコンテンツポインタ３０２ａ〜３０２ｎ）を指す。次に、方法４００は、決定状態４１８に進む。決定状態４１８は、１つまたは複数のコンテンツセグメント１１０を削除する必要があるかどうかを決定する。必要でない場合、方法４００は状態４０４に戻る。必要な場合、方法４００は状態４２０に進む。状態４２０は、インジケータ（例えば、全削除パラメータ３５２及び／または削除パラメータ３５４ａ〜３５４ｃ）を含むように発信元１００においてマニフェストファイル１５２を変更し、キャッシュ（例えば、中間層キャッシュノード６２ａ〜６２ｎ及び／またはエッジキャッシュノード６４ａ〜６４ｎ）からコンテンツセグメント１１０を削除する。
【００４９】
図８を参照すると、方法（またはプロセス）５００が示される。方法５００は、クライアントデバイス１２０において、コンテンツセグメント１１０を無効化し得る。方法５００は、一般的にステップ（または状態）５０２、ステップ（または状態）５０４、決定ステップ（または状態）５０６、ステップ（または状態）５０８、ステップ（または状態）５１０、決定ステップ（または状態）５１２、及びステップ（または状態）５１４を備える。状態５０２は開始ステップであり得る。状態５０４において、クライアント１２０は、マニフェストファイル１５２を要求し得る。状態５０６は、より多くのコンテンツセグメント１１０が存在するかどうかを決定し得る。存在しない場合、方法５００は状態５０８において終了する。存在する場合、方法５００は状態５１０に進む。
【００５０】
状態５１０は、マニフェストファイル１５２（例えば、リンク２０６ａ〜２０６ｃ）に基づいて、次のコンテンツセグメントのためのＨＴＴＰ要求を実行し得る。次に、方法５００は、決定状態５１２に進む。決定状態５１２は、マニフェストファイル１５２に対して要求があったかどうかを決定する。要求が無かった場合、方法５００は決定状態５０６に戻る。要求があった場合、方法５００は状態５１４に進む。状態５１４は、リフレッシュされたマニフェストファイル（例えば、処理されたマニフェストファイル２５０、３００、及び／または３５０のうちの１つ）を受信する。方法５００は次に、決定状態５０６に戻る。
【００５１】
図９を参照すると、方法（またはプロセス）６００が示される。方法６００は、クライアント配信ネットワーク６０内のコンテンツセグメント１１０を無効化し得る。方法６００は、一般的にステップ（または状態）６０２、ステップ（または状態）６０４、ステップ（または状態）６０６、ステップ（または状態）６０８、決定ステップ（または状態）６１０、ステップ（または状態）６１２、ステップ（または状態）６１４、及びステップ（または状態）６１６を備える。状態６０２は開始ステップであり得る。状態６０４において、ＣＤＮ６０は、コンテンツセグメント１１０を受信し及び／または格納し得る。状態６０６において、ＣＤＮ６０は、マニフェストファイル１１０を受信し得る。ステップ６０８は、マニフェストファイル１５２を読み取り、コンテンツ削除の指示（例えば、パラメータ３５２の全削除及び／またはパラメータ３５４ａ〜３５４ｃの削除）をチェックし得る。次に、方法６００は決定状態６１０に進み得る。
【００５２】
決定状態６１０は、コンテンツ削除インジケータが検出されたかどうかを決定する。検出された場合、方法６００は状態６１２に進む。検出されない場合、方法６００は状態６１４に進む。状態６１２は、コンテンツ削除インジケータに関連する１つまたは複数のコンテンツセグメント１１０を削除する。次に、方法６００は状態６１４に進む。状態６１４において、方法６００は、クライアントＨＴＴＰ要求（例えば、信号ＲＥＱＵＥＳＴ）を受信する。次に、状態６１６は、使用可能なコンテンツセグメント１１０を要求中のクライアント１２０ａ〜１２０ｎに配信する。方法６００は、次に状態６０４に戻る。
【００５３】
図１０を参照すると、方法（またはプロセス）７００が示される。方法７００は、オペレータ１０２によりコンテンツセグメント１１０を無効化し得る。方法７００は、一般的にステップ（または状態）７０２、ステップ（または状態）７０４、ステップ（または状態）７０６、決定ステップ（または状態）７０８、ステップ（または状態）７１０、ステップ（または状態）７１２、ステップ（または状態）７１４、ステップ（または状態）７１６、決定ステップ（または状態）７１８、及びステップ（または状態）７２０を備える。状態７０２は、開始ステップであり得る。状態７０４は、ｎ秒毎にマニフェストファイル１５２及びコンテンツセグメント１１０を生成するようエンコーダ／パッケージャ１００に命令する。次に、状態７０６は、生成されたマニフェストファイル１５２及びコンテンツセグメント１１０をコンテンツ配信ネットワーク６０に配信するようエンコーダ／パッケージャ１００に命令する。次に、方法７００は決定状態７０８に進む。
【００５４】
決定状態７０８において、オペレータ１２０は、コンテンツ１１０を無効化するべきかどうかを決定する。無効化するべきで無い場合、方法７００は状態７０４に戻る。無効化するべきである場合、方法７００は状態７１０に進む。状態７１０は入力信号（例えば、無効化信号ＩＮＰＵＴ）を生成し、オペレータ１０２からの入力に基づいて、コンテンツ１１０を無効化する。次に、状態７１２は、エンコーダ／パッケージャ１００に命令し、コンテンツセグメント１１０の配信を停止する。次に、状態７１４は、エンコーダ／パッケージャ１００に命令し、マニフェストファイル１５２（例えば、処理されたマニフェストファイルの例２５０、３００、及び／または３５０のうちの１つ）を変更する。次に、状態７１６は、変更されたマニフェストファイルをコンテンツ配信ネットワーク６０に配信するようエンコーダ／パッケージャ１００に命令する。次に、方法７００は、決定状態７１８に進む。
【００５５】
決定状態７１８において、オペレータ１０２は、コンテンツ１１０を承認するべきかどうかを決定する。承認すべきでない場合、方法７００は状態７１６に戻る。承認すべきである場合、方法７００は状態７２０に進む。状態７２０によって、オペレータ１２０が、コンテンツ１１０を有効にするために、入力信号を送信することが可能になる。方法７００は、次に状態７０４に戻る。
【００５６】
装置１００は、ライブフィード（例えば、ブロードキャスト）中に、１つまたは複数のコンテンツセグメント１１０ａ〜１１０ｎを素早くスキップ及び／または別の方法でパージするために用いられ得る。装置１００を用いることによって、（例えば、場合によっては非常に大きいビデオファイルの移動を伴い得る）キャッシュされたコンテンツ１１０ａｆ〜１１０ｎ’を更新することなく及び／またはキャッシュされたコンテンツ１１０ａ１〜１１０ｎ１のＴＴＬ値（例えば、キャッシュされたマニフェストファイル１５２’のＴＴＬ値と比較して高いＴＴＬ値）が満了するのを待つこと無く、コンテンツセグメント１１０ａ〜１１０ｎをスキップすることが可能になり得る。例えば、キャッシュされたビデオコンテンツ１１０ａ１〜１１０ｎ１のＴＴＬ値は、キャッシュされたコンテンツ１１０ａ１〜１１０ｎ’が開始され得る前に、約１０分かけて満了し得る。装置１００が、無効化信号としてマニフェストファイル１５２（例えば、無効化されたマニフェスト１５２”）を使用する場合、キャッシュされたコンテンツ１１０ａ’〜１１０ｎ１は、（例えば、ポインタ２０６ａ〜２０６ｎを除去及び／または方向転換することによって）１０秒以下で無効化され得る。いくつかの実施形態において、キャッシュされたコンテンツ１１０ａ’〜１１０ｎｉは、以前としてＣＤＮ６０内に格納され得る。（しかし、無効化されたマニフェスト１５２”が、キャッシュされたコンテンツ１１０ａ１〜１１０ｎ１を指さないためにアクセスできない）。いくつかの実施形態において、キャッシュされたコンテンツ１１０ａ１〜１１０ｎ１は、ＣＤＮ６０から削除され得る。（例えば、無効化されたマニフェスト１５２”は、パラメータ３５２及び／または３５４ａ〜３５４ｎを有し得る）。
【００５７】
装置１００は、ネットワークに対して可能性のある悪質な行為を阻止するように構成され得る。例えば、ＤＮＳ攻撃が発生し、ユーザが、（例えば、クライアントデバイス１２０ａ〜１２０ｎを用いて）異なる発信元（例えば、悪質なコンテンツ）に転送された場合、装置１００は安全な発信元に方向転換して戻すために用いられ得る。装置１００は、安全な発信元にユーザを戻す方向転換のためにマニフェストファイル１５２を更新し得、低いＴＴＬ値によって、更新された低いマニフェストファイル１５２”が、ＣＤＮ６０の全体にわたって素早くリフレッシュされることが可能になる。別の例において、装置１００は、ライブフィードが年齢によって不適切なコンテンツ（例えば、過度な暴力、ヌード、不適切な言葉、など）を含む場合、安全なコンテンツに方向転換するために用いられ得る。
【００５８】
いくつかの実施形態において、装置１００は、コンテンツセグメント１１０のライブスワップアウトを実施するために用いられ得る。例えば、広告アプリケーション内に、誤った広告／コマーシャルが掲載されている場合があり得る（例えば広告が、完全に誤っている及び／または年齢的にふさわしくない広告であり得る）。いくつかの実施形態において、クライアントデバイス１２０ａ〜１２０ｎが管理している場合（例えば、ペアレンタルコントロール）、装置１００は、管理設定に適合しないコンテンツをスワットアウトし、新しいストリーム（例えば、年齢にふさわしいストリーム）に転換され得る。例えば、コンテンツセグメントが管理に適合しないと決定された場合、クライアントデバイス１２０ａ〜１２０ｎは、無効化信号を送るために、複数のオペレータ１０２のうちの１つの役割をし得る（例えば、コンテンツセグメント１１０が、選択した親の管理に適合しない場合、親が無効化信号を送り得る）。
【００５９】
装置１００は、マニフェストファイル１５２を変更することによって、コンテンツセグメント１１０を素早く無効化し得る。マニフェストファイル１５２は、クライアントデバイス１２０ａ〜１２０ｎから絶えず要求を受けるため、マニフェストファイル１５２は、ＣＤＮ６０を介して素早く割り当てられ得る。無効化信号のようなマニフェストファイル１５２内の任意の更新された情報は、ＣＤＮ６０を介して素早く割り当てられ得る。クライアントデバイス１２０ａ〜１２０ｎのうちの１つの無効化が完了したコンテンツ１１０を要求する場合、マニフェストファイル１５２は、コンテンツリンク２０６ａ〜２０６ｎを除去し、ならびに／または、スレートイメージ及び／もしくはストック映像素材（例えば、代替のコンテンツ１５４）に対するコンテンツリンクを指すために（例えば、ちょうど間に合うように）変更され得、その結果クライアントデバイス１２０ａ〜１２０ｎがコンテンツの再生を継続し及びユーザにより良い経験を与えることが可能になる。
【００６０】
いくつかの実施形態において、信号（例えば、パラメータ３５２及び／または３５４ａ〜３５４ｎ）は、マニフェストファイル１５２を介して、ＣＤＮ６０内のノードにパスされ得る。パラメータ３５２及び／または３５４ａ〜３５４ｎは、ＣＤＮ６０の複数のノードに、キャッシュからビデオセグメントを物理的に削除することを指示し得る。パラメータ３５２及び／または３５４ａ〜３５４ｎは、コンテンツが、ネットワーク６０のシステム及び／またはエッジノード６４ａ〜６４ｎをキャッシングすることによっても除去されるはずであることを表すストリング形式及び／または複数のバイトから成るシーケンス形式であり得る。例えば、中間層キャッシュノード６２ａ〜６２ｎ及び／またはエッジノード６４ａ〜６４ｎは、コンテンツセグメント１１０を要求中のクライアントデバイス１２０ａ〜１２０にコンテンツセグメント１１０をパスする前に、マニフェストファイル１５２内のパラメータ３５２及び／または３５４ａ〜３５４ｎを観察及び／またはスキャンするように構成され得る。
【００６１】
オペレータ１０２が、コンテンツセグメント１１０が無効化されたことに満足する場合、新しいマニフェストが起点サーバ１００において生成され得、その結果プログラミングが再開され（例えば、ビットストリーム１０４ａ〜１０４ｎを割り当てる）及び／または新しいプログラム（例えば、新しい信号ＦＥＥＤ）を割り当てる。例えば、マニフェストファイル１５２は、確認信号を実装し得る。
【００６２】
装置１００は、マニフェスト処理を利用することによって、ビデオコンテンツセグメント１１０を素早く無効化し得る。無効化されたマニフェスト１５２”は、キャッシングノード６２ａ〜６２ｎ及び／またはエッジノード６４ａ〜６４ｎ内のキャッシュされたコンテンツセグメント１１０ａ１〜１１０ｎ１の無効化及び／またはパージをシグナリングするために使用され得る。マニフェストファイル１５２は小さいＴＴＬ値を有し得るため、更新され、無効化されたマニフェスト１５２”は、ＣＤＮ６０の全体にわたって素早く割り当てられ得る。
【００６３】
装置１００が無効化されたマニフェスト１５２”を使用することによって、オペレータ１０２がコンテンツセグメント１１０を無効化することが可能になり得る。無効化されたマニフェストファイル１５２”によって、無効化要求を実行するためにＣＤＮ６０のオペレータにコンタクトすること無く、コンテンツセグメント１１０を無効化することが可能になる。装置１００は、無効化／パージ段階中に、クライアントデバイス１２０ａ〜１２０ｎにスレート及び／またはストックビデオ（例えば、代替のコンテンツ１５４）を提供するように構成され得る。
【００６４】
装置１００によって、オペレータ１０２が、マニフェスト処理を利用して、既定の出力フィルタのためのコンテンツセグメント１１０ａ〜１１０ｎを全て無効化することが可能になり得る。無効化メッセージは、コンテンツのパージのために使用するＣＤＮ６０にも選択的に送られる。いくつかの実施形態において、コンテンツパージが完了すると、出力フィルタが自動的に再開され得る（例えば、クライアントデバイス１２０ａ〜１２０ｎは、自動的にビットストリーム１０４ａ〜１０４ｎ）の再生を再開し得る。いくつかの実施形態において、ビットストリーム１０４ａ〜１０４ｎは、ユーザが再生を再び有効にするまで使用不可能な状態にあり得る。
【００６５】
装置１００は、要求があり次第、ネットワーク６０を介して、コンテンツセグメント１１０（キャッシュされたビデオコンテンツ１１０ａ’〜１１０ｎ１）の帯域内の無効化を素早く提供し得る。一般的に、クライアント１２０ａ〜１２０ｎに積極的にサービスするノードだけがコンテンツを無効化する必要がある。マニフェスト処理による無効によって、エンドユーザデバイス１２０ａ〜１２０ｎが、（例えば、サービスの妨害があった及び／またはサービスが間もなく再開するなど）コンテンツ１１０の可用性についてユーザに伝えるスレート及び／またはビデオ（例えば、代替のコンテンツセグメント１５４）を表示することが可能になる。装置１００は、マニフェスト処理（例えば、無効化されたマニフェストファイル１５２”に対するマニフェストファイル１５２を更新すること）によって、ＣＤＮ６０に対してアクティブなコンテンツの無効化を実行するように構成され得る。例えば、無効化されたマニフェストファイル１５２”は、処理されたマニフェストファイル２５０、３００及び／または３５０（例えば、ブランクコンテンツポインタ２０６ａ〜２０６ｎ、代替のコンテンツポインタ３０２ａ〜３０２ｎ、全削除パラメータ３５２、及び／またはコンテンツ削除パラメータ３５４ａ〜３５４ｎ）の例に示された１つまたは複数の方法を用いて無効化を実行し得る。無効化信号が処理されたマニフェストファイル１５２”上へのピギーバッキングであるため、マニフェストファイル１５２に対するＴＴＬ値の設定は重要である。
【００６６】
ブランクコンテンツポインタ２０６ａ〜２０６ｎ及び／または代替のコンテンツポインタ３０２ａ〜３０２ｎは、無効化情報に含まれ得る。ブランクコンテンツポインタ２０６ａ〜２０６ｎ及び／または代替のコンテンツポインタ３０２ａ〜３０２ｎの処理により、無効化を用いてコンテンツ１１０を無効化することによって、コンテンツ１１０は依然としてＣＤＮ６０内に存在するが、コンテンツ１１０は、サービスを受けることができ得ない。コンテンツ１１０を無効化することにより、ならびに、全パラメータ３５２及び／またはコンテンツ削除パラメータ３５４ａ〜３５４ｎを用いることによってコンテンツ１１０を削除することにより、コンテンツ１１０は、ダウンストリームキャッシュ（例えば、中間層キャッシュノード６２ａ〜６２ｎ及び／またはエッジキャッシュノード６４ａ〜６４ｎ）から物理的に削除され得る。例えば、コンテンツセグメント１１０は、コンテンツの検閲、安全性の低下、コンテンツの破損（例えば、コンテンツがサービステストの品質を欠く）、及び／またはパージテストが原因で、ＣＤＮ６０から削除され得る（例えば、除去及び／またはパージされる）。
【００６７】
さらに、本開示の実施形態は、下記の条項の観点から説明し得る。
１．ビットストリームのコンテンツセグメントを無効化するための方法であって、
（Ａ）起点サーバからコンテンツ配信ネットワークにマニフェストファイルを配信するステップであって、前記マニフェストファイルは、
（ｉ）タイムトゥリブ値を有し、（ｉｉ）前記タイムトゥリブ値に基づいて再配信される前記マニフェストファイルを配信するステップと、
（Ｂ）前記起点サーバから前記コンテンツ配信ネットワークに１つまたは複数のコンテンツセグメントを配信するステップであって、前記マニフェストファイルは、前記コンテンツセグメントに対するポインタを含む、前記コンテンツセグメントを配信するステップと、
（Ｃ）入力信号に基づいて無効化情報を含むように前記起点サーバにおいて前記マニフェストファイルを変更するステップと、
（Ｄ）前記無効化情報に基づいて、前記コンテンツ配信ネットワークの全体にわたって前記コンテンツセグメントを無効化するステップと、を備える、前記方法。
【００６８】
２．（ｉ）前記コンテンツセグメントは第２のタイムトゥリブ値を有し、（ｉｉ）前記マニフェストファイルの前記タイムトゥリブ値は、前記第２のタイムトゥリブ値より低く、及び（ｉｉｉ）前記無効化は、前記第２のタイムトゥリブ値より低い時間で発生する、条項１に記載の方法。
【００６９】
３．前記タイムトゥリブ値は前記起点サーバにおいて設定される、条項１に記載の方法。
【００７０】
４．前記変更されたマニフェストファイルは、前記コンテンツ配信ネットワークのための無効化信号を実装する、条項１に記載の方法。
【００７１】
５．前記無効化情報は、前記コンテンツセグメントに対する前記１つまたは複数のポインタを無効化するための命令を提供する、条項１に記載の方法。
【００７２】
６．前記無効化情報は、要求中のクライアントを代替のコンテンツセグメントに方向転換するための命令を提供する、条項１に記載の方法。
【００７３】
７．前記代替のコンテンツセグメントは、前記コンテンツセグメントの可用性に関するメッセージを備える、条項６に記載の方法。
【００７４】
８．前記無効化情報は、前記コンテンツ配信ネットワークから前記コンテンツセグメントを削除するための命令を提供する、条項１に記載の方法。
【００７５】
９．前記入力信号は、オペレータが開始したコンテンツ無効化信号である、条項１に記載の方法。
【００７６】
１０．前記コンテンツセグメントは適応型ビデオコンテンツである、条項１に記載の方法。
【００７７】
１１．前記適応型ビデオコンテンツは、ライブビデオフィードを表す、条項１０に記載の方法。
【００７８】
１２．前記コンテンツセグメントは、サービステストの品質に基づいて無効化される、
条項１に記載の方法。
【００７９】
１３．第１の広告は、前記第１の広告がサービステストの前記品質を満たさない場合、第２の広告と取り替える、条項１２に記載の方法。
【００８０】
１４．前記タイムトゥリブ値によって、前記マニフェストファイルは、前記コンテンツセグメントよりさらに頻繁に、前記コンテンツ配信ネットワークの全体にわたってリフレッシュされる、条項１に記載の方法。
【００８１】
１５．前記無効化情報は、ＵＲＬポインタを備える、条項１に記載の方法。
【００８２】
１６．要求中のクライアントは、前記マニフェストファイル内の前記ポインタに基づいて、前記コンテンツ配信ネットワークから前記コンテンツセグメントを受信するように構成される、条項１に記載の方法。
【００８３】
１７．前記要求中のクライアントは、ＨＴＴＰ要求を用いて、前記コンテンツ配信ネットワークから前記コンテンツセグメントを要求するように構成される、条項１６に記載の方法。
【００８４】
１８．前記コンテンツ配信ネットワークは、前記コンテンツセグメントをキャッシュするように構成される、条項１に記載の方法。
【００８５】
１９．前記無効化情報は、コンテンツの検閲、安全への侵害、コンテンツの破損、及びパージテストのうちの少なくとも１つに応答して、前記コンテンツ配信ネットワークから前記コンテンツセグメントを除去するために使用される、条項１に記載の方法。
【００８６】
２０．前記コンテンツ配信ネットワークは、キャッシングを行う複数の層を実装するように構成された複数のサーバコンピュータを備える、条項１に記載の方法。
【００８７】
図７〜１０の図面にしたがって実行する複数の機能は、当該技術分野（複数可）において当業者にとって明らかであるように、従来の汎用プロセッサ、デジタルコンピュータ、マイクロプロセッサ、マイクロコントローラ、ＲＩＳＣ（縮小命令セットコンピュータ）プロセッサ、ＣＩＳＣ（複合命令セットコンピュータ）プロセッサ、ＳＩＮＤ（信号命令多重データ）プロセッサ、信号プロセッサ、中央演算処理ユニット（ＣＰＵ）、演算論理ユニット（ＡＬＵ）、ビデオデジタル信号プロセッサ（ＶＤＳＰ）及び／または仕様の教示にしたがってプログラムされた同様の電子計算機のうちの１つまたは複数を用いて実施され得る。適切なソフトウェア、ファームウェア、コード化ルーチン、命令、操作符号、マイクロコード、及び／またはプログラムモジュールは、当該技術分野（複数可）において当業者に明らかであるように、本開示の教示に基づいて、特殊技術を持ったプログラマーによって容易に作成され得る。ソフトウェアは、一般的に、マシンが実装する１つまたは複数のプロセッサによって、媒体または様々なメディアから実行される。
【００８８】
本発明はまた、ここで説明したように、ＡＳＩＣ（アプリケーション特定集積回路）、プラットフォームＡＳＩＣ、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＰＬＤ（プログラマブル論理デバイス）、ＣＰＬＤ（複合プログラマブル論理デバイス）、シー・オブ・ゲート、ＲＦＩＣ（無線周波数集積回路）、ＡＳＳＰ（アプリケーション特定標準プロダクト）、１つまたは複数のモノリシック集積回路、フリップチップモジュール及び／またはマルチチップモジュールとして配置した１つまたは複数のチップまたはダイによってまたは従来の複数のコンポーネント回路から成る適切なネットワークを相互接続することによって実施し得、この変更は、当該技術分野（複数可）において当業者にとって容易に識別できる。
【００８９】
したがって、本発明は、本発明にしたがって、１つまたは複数のプロセスまたは方法を実行するためにマシンをプログラムするために用いられ得る命令を含む記憶媒体または記憶メディア及び／または伝送媒体または伝送メディアであり得るコンピュータプロダクトを含み得る。周辺回路の操作と並行して、マシンが、コンピュータプロダクトに含まれる命令を実行することによって、入力データを、記憶媒体上の１つまたは複数のファイル、ならびに／または、音声及び／もしくは視覚的描写のような物理オブジェクトもしくは物質を表す１つまたは複数の出力信号内に転送され得る。この記憶媒体は、フロッピーディスク、ハードドライブ、磁気ディスク、光学ディスク、ＣＤ―ＲＯＭ、ＤＶＤ、及びＲＯＭ（読み取り専用メモリ）、ＲＡＭ（ラダムアクセスメモリ）、ＥＰＲＯＭ（消去型プログラマブルＲＯＭ）、ＥＥＰＲＯＭ（電気的消去型プログラマブルＲＯＭ）、ＵＶＰＲＯＭ（紫外線消去型プログラマブルＲＯＭ）フラッシュメモリ、磁気カード、光学カードのような磁気光学ディスク及び回路を含む任意のタイプのディスク及び／または電子的命令を記憶するのに適した任意のタイプのメディアを含み得るが、これらに限定されるものではない。
【００９０】
本発明のエレメントは、１つまたは複数のデバイス、ユニット、コンポーネント、システム、マシン、及び／または装置の一部または全てを含み得る。デバイスは、サーバ、ワークステーション、ストレージアレイコントローラ、ストレージシステム、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、パームコンピュータ、携帯情報端末、ポータブル電子デバイス、バッテリ駆動デバイス、セットボックス、エンコーダ、デコーダ、トランスコーダ、コンプレッサ、デコンプレッサ、プリプロセッサ、ポストプロセッサ、送信機、受信機、トランシーバ、暗号回路、セルラー電話、デジタルカメラ、測位システム及び／またはナビゲーションシステム、医療機器、ヘッドアップディスプレー、無線デバイス、音声録音デバイス、音声記憶デバイス、及び／または音声再生デバイス、ビデオ録画デバイス、ビデオ記憶デバイス、及び／またはビデオ再生デバイス、ゲームプラットフォーム、周辺機器及び／またはマルチチップモジュールを含み得るが、これらに限定されるものではない。当該技術分野（複数可）において当業者は、本発明のエレメントが、特定のアプリケーションの基準を満たす他のタイプのデバイスに実装され得ることを理解するだろう。
【００９１】
本発明を、これらの好適な実施形態に関連して図示及び説明してきた。形式及び細部の様々な変更が本発明の範囲を逸脱することなく行われ得ることを当業者は理解するだろう。
【図１】
0006691553.tif 000002
【図２】
0006691553.tif 000003
【図３】
0006691553.tif 000004
【図４】
0006691553.tif 000005
【図５】
0006691553.tif 000006
【図６】
0006691553.tif 000007
【図７】
0006691553.tif 000008
【図８】
0006691553.tif 000009
【図９】
0006691553.tif 000010
【図１０】
0006691553.tif 000011