(57)【要約】ストリーミングコンテンツの中の部分の削除、ブロック、または読み飛ばしを阻止するまたは妨げる一方で、ストリーミングコンテンツの配信を可能にするためのシステム及び方法が説明される。コンテンツ配信システムは、ストリーミングコンテンツを形成するコンテンツ部分を示すマニフェストを生成できる。各コンテンツ部分は、クライアントがコンテンツ部分を自動的に削除するまたは修正するのを阻止するまたは妨げるために、クライアントからコンテンツ部分の実際の識別子を隠す隠し識別子を使用し、マニフェストで識別できる。コンテンツ配信システムは、コンテンツ部分に対する要求を受け取ると、隠し識別子を実際の識別子に変換し、クライアントに適切なコンテンツ部分を返すことができる。いくつかの例では、隠しマニフェストの中に含まれる特定の識別子は、クライアントがストリーミングコンテンツの所与の部分を見ることを確実にするために、クライアントデバイスのモニタリング情報に基づいて修正または適応されてよい。【選択図】図５
2019521625.tif 000002
【特許請求の範囲】
【請求項１】
ストリーミングコンテンツを、前記ストリーミングコンテンツの部分がブロックされるまたは削除されるのを妨げるように提供するためのシステムであって、
メインコンテンツに相当するコンテンツ部分の第１のセットであって、第１の命名方式に係るファイル名で識別されたコンテンツ部分の前記第１のセットと、
追加コンテンツに相当するコンテンツ部分の第２のセットであって、第２の命名方式に係るファイル名で識別されたコンテンツ部分の前記第２のセットと、
を含むデータストアと、
コンピュータ実行可能命令で構成された１つ以上のコンピューティングデバイスであって、前記コンピュータ実行可能命令が、実行時に、前記コンピューティングデバイスに、
クライアントコンピューティングデバイスから、前記メインコンテンツを含んだストリーミングコンテンツを提供するようにという要求を入手することと、
前記追加コンテンツが、前記ストリーミングコンテンツに含められると判断することと、
前記隠しマニフェストファイルが、前記ストリーミングコンテンツを形成する複数のコンテンツ部分であって、暗号化された命名方式で識別される前記複数のコンテンツ部分を含む、隠しマニフェストを前記ストリーミングコンテンツのために生成することであって、前記隠しマニフェストファイルを生成することが、
コンテンツの前記第１のセットの前記ファイル名を暗号化して、暗号化されたファイル名の第１のセットを生じさせることと、
コンテンツの前記第２のセットの前記ファイル名を暗号化して、暗号化されたファイル名の第２のセットを生じさせることと、
前記隠しマニフェストファイルに暗号化ファイル名の前記第１のセット及び前記第２のセットを含めることと
を含む、前記生成することと、
前記クライアントコンピューティングデバイスに前記隠しマニフェストを送信させることであって、前記クライアントコンピューティングデバイスが、前記隠しマニフェストの中で識別されたコンテンツ部分を取り出し、出力することによって前記ストリーミングコンテンツを出力するように構成される、前記送信することと、
を行わせる、前記１つ以上のコンピューティングデバイスと
を備える、前記システム。
【請求項２】
前記１つ以上のコンピューティングデバイスが、さらに
前記クライアントコンピューティングデバイスから、暗号化されたファイル名に従って識別されたコンテンツ部分に対する要求を受け取ることと、
前記暗号化ファイル名を復号して、復号されたファイル名を生じさせることと、
前記復号されたファイル名が、コンテンツ部分の前記第１のセットからコンテンツ部分を識別すると判断することと、
前記要求に応えて前記クライアントコンピューティングデバイスに前記コンテンツ部分を送信することと、
のために前記コンピュータ実行可能命令で構成される、請求項１に記載のシステム。
【請求項３】
コンピュータによって実装される方法であって、
クライアントコンピューティングデバイスからストリーミングコンテンツを提供するようにという要求を受け取ることと、
前記ストリーミングコンテンツに含められる複数のコンテンツ部分を決定することであって、前記複数のコンテンツ部分が、第１の識別方式を利用するコンテンツ部分の第１のセットと、第２の識別方式を利用するコンテンツ部分の第２のセットの両方を含む、前記決定することと、
前記ストリームコンテンツのための隠しマニフェストを生成することであって、前記隠しマニフェストを生成することが、共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成することと、前記隠しマニフェストの中に前記識別子を含めることとを含む、前記生成することと、
前記クライアントコンピューティングデバイスでの、前記隠しマニフェストの中で識別された前記複数のコンテンツ部分の取り出し及び出力によって、前記ストリーミングコンテンツの出力を容易にするために前記クライアントコンピューティングデバイスに前記隠しマニフェストを送信することと
を含む、前記コンピュータによって実装される方法。
【請求項４】
共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成することが、コンテンツ部分の前記第１のセット及び前記第２のセットの識別子を暗号化して、前記複数のコンテンツ部分のために暗号化された識別子のセットを生じさせることを含む、請求項３に記載のコンピュータによって実装される方法。
【請求項５】
共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成することが、コンテンツ部分の前記第１のセット及び前記第２のセットの識別子と、前記隠しマニフェストの中に含まれる前記複数のコンテンツ部分のための識別子との間のマッピングを生成することを含む、請求項３に記載のコンピュータによって実装される方法。
【請求項６】
さらに、
前記クライアントコンピューティングデバイスから、前記共通の識別方式の識別子に従って識別されたコンテンツ部分に対する要求を受け取ることと、
前記共通の識別方式の前記識別子を、前記第１の識別方式の識別子に変換することと、
前記第１の識別方式の前記識別子に対応するコンテンツ部分の前記第１のセットのコンテンツ部分を決定することと、
前記要求に応えて前記クライアントコンピューティングデバイスに前記コンテンツ部分を送信することと
を含む、請求項３に記載のコンピュータによって実装される方法。
【請求項７】
さらに、
前記第１の識別方式の前記識別子に対応する前記コンテンツ部分が、ローカルキャッシュの中に存在すると判断し、前記ローカルキャッシュから前記コンテンツ部分を取り出すこと、または
前記第１の識別方式の前記識別子に対応する前記コンテンツ部分がローカルキャッシュの中に存在しないと判断し、リモートデータストアから前記コンテンツ部分を取り出
すことと
のうちの少なくとも１つを含む、請求項６に記載のコンピュータによって実装される方法。
【請求項８】
さらに、
前記クライアントコンピューティングデバイスでの前記ストリーミングコンテンツの出力に関するモニタリング情報を受け取ることと、
少なくとも部分的に前記モニタリング情報に基づいて前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することと、
少なくとも部分的に、前記共通の識別方式を利用し、前記第２の複数のコンテンツ部分のための識別子を生成することによって、前記隠しマニフェストの追加セクションを生成することと、
前記クライアントコンピューティングデバイスに前記隠しマニフェストの前記追加セ
クションを送信することと
を含む、請求項３に記載のコンピュータによって実装される方法。
【請求項９】
前記第２の複数のコンテンツ部分がメインコンテンツに相当し、
少なくとも部分的に前記モニタリング情報に基づいて、前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することが、前記モニタリング情報が、前記クライアントコンピューティングデバイスが、コンテンツ部分の前記第２のセットによって形成された少なくとも１つの広告を出力したことを示すと判断することを含む、請求項８に記載のコンピュータによって実装される方法。
【請求項１０】
前記第２の複数のコンテンツ部分及びコンテンツ部分の前記第２のセットが同じであり、
少なくとも部分的に前記モニタリング情報に基づいて前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することが、前記モニタリング情報が、前記クライアントコンピューティングデバイスが、コンテンツ部分の前記第２のセットによって形成された少なくとも１つの広告を出力していないことを示すと判断することを含む、請求項８に記載のコンピュータによって実装される方法。
【請求項１１】
システムであって、
複数のコンテンツ部分を含んだデータストアであって、前記複数のコンテンツ部分が、少なくとも２つの識別方式に係る識別子によって識別される、前記データストアと、
コンピュータ実行可能命令で構成された１つ以上のコンピューティングデバイスであって、前記コンピュータ実行可能命令が、実行時に、前記コンピューティングデバイスに、
クライアントコンピューティングデバイスから、ストリーミングコンテンツを提供するようにという要求を入手することと、
前記ストリーミングコンテンツのための隠しマニフェストを生成することであって、前記隠しマニフェストは、前記複数のコンテンツ部分のために共通の識別方式を利用する識別子のセットを含む、前記生成することと、
前記隠しマニフェストを前記クライアントコンピューティングデバイスに送信することと
を行わせる、前記１つ以上のコンピューティングデバイスと
を備える、前記システム。
【請求項１２】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、少なくとも
部分的に前記複数のコンテンツ部分の識別子を暗号化して、前記共通の識別方式を利用する暗号化された識別子のセットを生じさせることによって、前記共通の識別方式を利用し、前記複数のコンテンツ部分を生成させる、請求項１１に記載のシステム。
【請求項１３】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、少なくとも部分的に前記複数のコンテンツ部分の識別子と前記隠しマニフェストの中に含まれる識別子との間のマッピングを生成することによって、前記共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成させる、請求項１１に記載のシステム。
【請求項１４】
前記コンピュータ実行可能命令が、さらに、前記コンピューティングデバイスに、少なくとも２つのタイプのコンテンツを再符号化して前記複数のコンテンツ部分の残りのコンテンツ部分と属性を共用することによって、前記複数のコンテンツ部分のうちの少なくとも１つを生成させる、請求項１１に記載のシステム。
【請求項１５】
前記コンピュータ実行可能命令が、さらに、前記コンピューティングデバイスに、１つ以上の追加コンテンツ部分が共通の属性を共用するように前記複数のコンテンツ部分と関連付けられた前記１つ以上の追加コンテンツを再符号化させる、請求項１４に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
概して説明すると、コンピューティングデバイスは、データを交換するために１つの通信ネットワークまたは一連の通信ネットワークを利用する。企業及び組織は、いくつかのコンピューティングデバイスを相互接続して、業務をサポートするまたは第三者にサービスを提供するコンピュータネットワークを運用する。コンピューティングシステムは、単一の地理的な位置に位置するまたは複数の別個の地理的な位置に位置する（例えば、専用通信網または公衆通信網を介して相互接続される）場合がある。具体的には、本明細書で概して「データセンタ」と呼ぶデータセンタまたはデータ処理センタは、データセンタのユーザーにコンピューティングリソースを提供するためにいくつかの相互接続されたコンピューティングシステムを含んでよい。データセンタは、組織の代わりに運用されるプライベートデータセンタ、または一般人の代わりにもしくは一般人のために運用される公衆データセンタであってよい。
【０００２】
（例えば、企業、アーチスト、メディア配信サービス等の）サービスプロバイダまたはコンテンツクリエータは、一連の相互接続されたデータセンタを利用して、ユーザーまたはクライアントに（例えば、ウェブサイト、ウェブコンテンツ、または他のデジタルデータ等の）コンテンツを配信できる。これらの相互接続されたデータセンタは、「コンテンツ配信ネットワーク」（ＣＤＮ）またはストリーミングコンテンツ配信システムと呼ばれることがある。既存のルーティング技術及びアドレス指定技術は、ストリーミングコンテンツ配信システムと関連付けられた複数のデータセンタが、クライアントコンピューティングデバイスに類似したコンテンツまたは同一のコンテンツを提供することを可能にする。いくつかの例では、コンテンツのセットを提供する各データセンタは、通信アクセスポイント（「ＰＯＰ」）と呼ばれることがある。ストリーミングコンテンツ配信システムは、広域にわたって（つまり世界中で）ＰＯＰを維持して、システムが、さまざまな場所のクライアントからの要求にサービスを提供できるようにする。
【０００３】
ＣＤＮは、多種多様のコンテンツを配信するために利用することができ、いくつかの例では、前のコンテンツ配信システムを複製するまたは置き換えるために役立つ場合がある。例えば、ＣＤＮは、従来のテレビネットワークまたはラジオネットワークに類似したやり方でネットワークベースのストリーミング音声コンテンツまたはストリーミングビデオコンテンツを提供できる。このコンテンツは、それぞれ「インターネットテレビ」または「インターネットラジオ」と呼ばれることがある。ストリーミングコンテンツは、通常、専用のコンピューティングデバイス（例えば、セットトップボックス）、クライアントコンピューティングデバイス上の専用ビューワ（例えば、ソフトウェアアプリケーション）、または非専用ソフトウェアアプリケーション（例えば、ウェブブラウザ）によって見ることができる。多くの場合、これらのビューワは、例えば、コンテンツを「オンデマンド」で再生する可用性等の、テレビまたはラジオのような従来の配信ネットワークで利用できる機能性よりも高い機能性を提供する。さらに、これらのビューワは、多くの場合、エンドユーザーに高レベルの制御を提供し、ユーザーが、しばしばコンテンツプロバイダまたは配信ネットワークの知識をもたずに広告または他の望ましくない部分を削除する等、見られているコンテンツを修正できるようにする。いくつかの例では、これらの修正はコンテンツプロバイダに、例えば、広告が事実上ブロックされていたときに広告が見られた旨の表示等、偽の情報を提供する。
【図面の簡単な説明】
【０００４】
【図１】保護部分の削除またはブロックを阻止する隠しマニフェスト（ｃｏｎｃｅａｌｅｄ  ｍａｎｉｆｅｓｔ）を用いてクライアントコンピューティングデバイスに保護部分を有するコンテンツを提供するように構成されたストリーミングコンテンツ配信システムだけではなく、クライアントコンピューティングデバイス、コンテンツプロバイダ、及び広告システムを含んだ例示的な論理ネットワーク環境を示すブロック図である。
【図２】隠しマニフェストを生成し得る、図１のマニフェスト生成サービスを実装してよいサーバの一実施形態の例示的な構成を示すブロック図である。
【図３Ａ】クライアントのための隠しマニフェストを生成し、コンテンツの特定の部分の削除またはブロックを阻止する一方で、クライアントがコンテンツを消費できるようにするための図１のストリーミングコンテンツ配信システムの例示的な対話を示すブロック図である。
【図３Ｂ】クライアントのための隠しマニフェストを生成し、コンテンツの特定の部分の削除またはブロックを阻止する一方で、クライアントがコンテンツを消費できるようにするための図１のストリーミングコンテンツ配信システムの例示的な対話を示すブロック図である。
【図４】隠しマニフェストに基づいてクライアントコンピューティングデバイスにコンテンツを提供するための図１のストリーミングコンテンツ配信システムの例示的な対話を示すブロック図である。
【図５】隠しマニフェストの中に示される隠し部分識別子に対応するコンテンツ部分だけではなく、図１のストリーミングコンテンツ配信システムによって提供されてよい隠しマニフェストの例示的なグラフィック表示または視覚化である。
【図６】隠しマニフェストを用いて保護部分を有するコンテンツを提供するための例示的なルーチンを示すフローチャートである。
【発明を実施するための形態】
【０００５】
概して説明すると、本開示は、クライアントまたはクライアントコンピューティングデバイスがコンテンツの保護部分をブロックまたは改変することを阻止し、クライアントが保護部分を見ることを確実にし得るやり方で通信ネットワークを介してストリーミングコンテンツを提供することに関する。本明細書に説明するように、ストリーミングコンテンツは概して、クライアントが、第２の部分をダウンロードしながら第１の部分を見始め得るように、別々に送信され、見られ得る（「チャンク」と呼ばれることがある）部分に分割される任意のコンテンツを指す。ストリーミングコンテンツの種々の部分は、多くの場合、コンテンツの中の部分のリストだけではなく、ストリーミングコンテンツに関するメタデータも提供する１つ以上のマニフェストの中で識別される。各部分は、クライアントコンピューティングデバイスが部分を入手し、出力するために使用し得る（例えば、ユニフォームリソースインジケータ、つまり「ＵＲＩ」等の）リソース識別子またはファイル名に基づいてマニフェストの中で識別されてよい。いくつかの例では、クライアントコンピューティングデバイスは、例えば法律上の警告及び通知、クレジット、献辞、または広告等の不必要なコンテンツを選択的にブロックするまたは除外するために部分のリソースインジケータを利用する場合がある。係るコンテンツをブロックするデバイスまたはソフトウェアは、「アドブロッカー」と呼ばれることがある。アドブロッカーは、多くの場合（例えば、ファイル名の中に特定の単語を含んだインジケータまたは識別子の中の特定のドメイン名を示すインジケータ等の）特定のリソースインジケータを有する部分についてマニフェストを監視し、マニフェストファイルからそれらの部分を削除するか、そうでなければクライアントコンピューティングデバイスが該部分を表示するのを妨げるかのどちらかによって機能する。これらの修正は、クライアントが重要なコンテンツを見るのを妨げ、（例えば、法律上の警告の有効性を削減する、コンテンツプロバイダの広告収入を削減する等によって）コンテンツプロバイダに悪影響を与える場合がある。したがって、本開示の実施形態は、マニフェストに一覧する個々の部分の性質をマスキングする隠し識別子を介してコンテンツの部分を一覧表示する、ストリーミングコンテンツのための隠しマニフェストを生成し、送信するストリーミングコンテンツ配信システムに関する。隠しマニフェストは、（例えばクライアント要求に応えて）「ジャストインタイムで」作成されてよく、各クライアントまたは各ストリーミングセッション（例えば、ストリーミングコンテンツが消費される各別個の例）に対して個別化され、このようにしてアドブロッカーが、どの部分が広告（またはクライアントがブロックを希望する場合がある他のコンテンツ）を含むのか、及びどの部分が他のコンテンツを含むのかを識別するのを妨げてよい。隠しマニフェストからの個々の部分がクライアントコンピューティングデバイスによって要求されるとき、ストリーミングコンテンツ配信システムは、該部分の隠し識別子を、該部分のための実際の（例えば、隠されていない）識別子に変換し、クライアントに該部分を返すことができる。このようにして、クライアントコンピューティングデバイスは、マニフェスト内の異なる部分を区別することを妨げられ、したがって特定の部分を削除するためにコンテンツを改変することを妨げられ得る。
【０００６】
例示的な例として、クライアントコンピューティングデバイスが、ストリーミングコンテンツ配信システムから、２５分のテレビ番組制作及び３分の広告を含むストリーミングコンテンツを要求すると仮定する。典型的なマニフェストファイルは、第１の命名方式または規約（例えば、「ｔｅｌｅｖｉｓｉｏｎ１．ｔｓ」、「ｔｅｌｅｖｉｓｉｏｎ２．ｔｓ」等）に従って、テレビ番組制作の各部分を別々の１０秒の部分で識別し、第２の命名方式または規約（「ａｄｖｅｒｔｉｓｅｍｅｎｔ１．ｔｓ」、「ａｄｖｅｒｔｉｓｅｍｅｎｔ２．ｔｓ」）等に従って、広告の各１０秒部分を同様に識別してよい。通常の運用下では、クライアントコンピューティングデバイスは、ネットワークファイル位置（例えば、ＵＲＩ）に対応する場合があるマニフェストの識別子を使用し、各部分を取り出すであろう。しかしながら、クライアントコンピューティングデバイスがアドブロッカーを利用すると、クライアントコンピューティングデバイスが、第２の命名規約の下で名付けられた（例えば、「ａｄｖｅｒｔｉｓｅｍｅｎｔＸ．ｔｓ」と題する）ファイルに対するすべての参照を削除することによって広告を削除するためにマニフェストファイルを修正することは相対的に些末なことであろう。本開示の態様によれば、ストリーミングコンテンツ配信システムは、マニフェストの中の各部分の実際の識別子（例えば、ある部分が記憶されるネットワーク位置）を提供する代わりに、共通の命名規約を利用する、マニフェストの中の一連の隠し識別子を提供してよい。各隠し識別子は、対応するコンテンツ部分の性質がクライアントコンピューティングデバイスから伏せられるように（例えば、テレビ番組制作と広告の両方とも共通の命名方式によって表されるように）生成できる。隠し識別子を使用し、ある部分が要求されるとき、ストリーミングコンテンツ配信システムは、隠し識別子を実際の識別子に変換し、クライアントに正しいコンテンツ部分を提供できる。このようにして、クライアントコンピューティングデバイスは、コンテンツをストリーム配信することが可能にされるが、マニフェストファイルの中の識別子に基づいてコンテンツの部分を自動的にブロックまたは改変するのを妨げられる場合がある。
【０００７】
有利なことに、隠し識別子を用いてコンテンツ部分を識別する隠しマニフェストの使用は、ストリーミングコンテンツ配信システムが、セッション単位またはユーザー単位でコンテンツ部分の識別子を修正し、クライアントコンピューティングデバイスが（例えば、アドブロッカーソフトウェアを介して）各コンテンツ部分の中のコンテンツを予測できる可能性を削減または排除できるようにする。さらに、ストリーミングコンテンツ配信システムは、隠し識別子を実際の（例えば、隠されていない）識別子に変換できるため、システムは自ら実際のコンテンツ部分を複製することを必要とされず、これはストリーミングコンテンツ配信システムのストレージ要件を大幅に拡大し、システムの中のそれらのコンテンツ部分のキャッシングに干渉するであろう。さらに、マニフェストは、クライアント単位で生成できるため、各マニフェストの中で提供される特定の部分は、（例えば、部分の中の標的にされる広告を提供するために）ユーザーの属性に基づいて変えることできる。
【０００８】
隠しマニフェストの生成を可能にするために、ストリーミングコンテンツ配信システムは、ストリーミングコンテンツに対するクライアント要求を受け取り、そのコンテンツの部分の隠し識別子を含んだマニフェストを返すマニフェスト生成サービスを含む場合がある。いくつかの例では、マニフェスト生成サービスは、各クライアントに提供される特定のストリーミングコンテンツ（例えば、１つ以上の広告、法律上の通知等に加えてメインコンテンツ項目）を決定するために例えば広告ネットワーク等の第三者サービスと対話してよい。その後、マニフェスト生成サービスは、コンテンツの各部分のために隠し識別子を利用する、ストリーミングコンテンツのための隠しマニフェストを生成できる。一実施形態では、マニフェスト生成サービスは、技術で既知であるさまざまな暗号化技術のいずれかに従ってコンテンツ部分の実際の識別子を暗号化することによって所与のコンテンツのための隠し識別子を決定してよい。したがって、（例えば「ａｄｖｅｒｔｉｓｅｍｅｎｔ．ｔｓ」等の）人間が認識可能な識別子は、隠しマニフェストの中に含めることができる人間が認識不可能な識別子に変換されてよい。別の実施形態では、マニフェスト生成サービスは、無作為な選択によってまたは一方向性ハッシュアルゴリズムに実際の識別子を通すことによって所与のコンテンツ部分のための隠し識別子を決定してよい。概して、ストリーミングコンテンツ配信システムは、クライアントに提供される隠し識別子及び対応する実際の識別子のレコード、またはクライアントごとに隠し識別子がどのようにして作成されたのかのレコードを維持することができるので、クライアントに提供される隠し識別子は、一意であることを必要とされない。しかしながら、ストリーミングコンテンツ配信システムの種々の構成要素間で状態情報を維持する必要性を削減するために、隠し識別子が一意である（例えば、統計的に複製される可能性がきわめて低い）ようにストリーミングコンテンツ配信システムを構成することが望ましい場合がある。例えば、すべての隠し識別子が、共通の暗号鍵を使用し、実際の識別子を暗号化することによって作成される場合、ストリーミングコンテンツ配信システムの任意の構成要素は、他の情報が構成要素間で維持されることを必要とすることなく、その暗号鍵を使用し、隠し識別子を実際の識別子に変換してよい。したがって、例えばマニフェスト生成サービスが、クライアントコンピューティングデバイスにコンテンツ部分を実際に提供する構成要素とは別個に実装される実施形態等、広く分散しているシステムでは、実際の識別子を隠し識別子に変換するために共通の暗号鍵を使用することが望ましい場合がある。
【０００９】
いくつかの例では、個々の部分の中のコンテンツは、さらに、一定の属性を維持するために種々の部分を再符号化する、またはそうでなければ修正することによって隠される場合がある。例えば、ストリーミングコンテンツが、概して１０秒のインクリメントで提供される２つのタイプのコンテンツ（例えば、メインコンテンツと広告コンテンツの両方）を含むとき、コンテンツタイプの一方または両方が、１０秒のインクリメントに均等に分割できない長さである可能性がある。部分は必ずしも一定の持続時間を維持するよう求められていないが、その持続時間の相違は、クライアントコンピューティングデバイスによってコンテンツのタイプを区別するために使用できるであろう（例えば、ある部分が周囲の部分とは異なる持続時間である場合、それはおそらくコンテンツのタイプ間の遷移を示す）。同様に、異なるタイプのコンテンツは、タイプを区別するためにも使用され得る、例えば符号化タイプ、ビットレート、解像度、フレームレート、コーデック、コーデックプロファイル、コーデックレベル、チャネルカウント等の異なる属性を有することがある。コンテンツタイプの区別を阻止するために、ストリーミングコンテンツ配信システムは、コンテンツを再符号化するように構成されたコンテンツ生成サービスを含む場合があり、これによりそうでなければ、ストリームの中で変化するであろう部分は均一な属性をもたせられる場合がある。例えば、第１のタイプのコンテンツ（例えば、メインコンテンツ）が、通常、標準外の持続時間の部分で提供され、後に第２のタイプのコンテンツ（例えば、広告コンテンツ）が続く場合、コンテンツ生成サービスは、第１のタイプのコンテンツ及び第２のタイプのコンテンツを再符号化して、（それぞれが、第１のタイプのコンテンツ及び第２のタイプのコンテンツの組み合わせを含んでよい）標準持続時間の１つ以上の部分を作成することができる。追加の例として、第１のタイプのコンテンツ及び第２のタイプのコンテンツが、例えば符号化タイプ、ビットレート、解像度、フレームレート、コーデック、コーデックプロファイル、コーデックレベル、チャネルカウント等の他の属性で変化する場合、コンテンツ生成システムは、第１のタイプのコンテンツ及び第２のタイプのコンテンツのどちらかまたは両方を再符号化して、コンテンツタイプの属性を統一してよい。さらに別の例として、１つ以上のタイプのコンテンツが補足コンテンツ（例えば、ビデオコンテンツを補足する音声または字幕）と関連付けられる場合、コンテンツ生成システムは、補足コンテンツの属性の整合性を保証するために補足コンテンツも再符号化してよい。以下により詳細に説明するように、コンテンツ生成サービスは、いくつかの例では、必要とされるコンテンツ部分が（例えば、隠しマニフェストの中で）クライアントコンピューティングデバイスに対して識別された後にだけ、必要とされるコンテンツ部分を生成することによってジャストインタイムに動作してよい。
【００１０】
自動コンテンツフィルタリング及び（例えば、アドブロッカーを用いる）自動コンテンツブロックに加えて、本開示の実施形態は、クライアントによるコンテンツの手動読み飛ばしを阻止する、または妨げることができる。具体的には、本開示の実施形態は、そのコンテンツが、マニフェストを消費するクライアントの活動に基づいて変化する適応マニフェストを利用できる。例えば、マニフェストは、ストリーミングセッションの始まりで全体で提供されるよりむしろ、ストリーミングセッションの間に（例えば、絶えず更新される単一のファイルで、複数のファイルで等）クライアントに提供できる。ストリーミングコンテンツ配信システムは、次いでストリーミングセッションの間のユーザー活動に基づいてマニフェストファイルのより最近のセクションのコンテンツを変えるように構成できる。例えば、マニフェストの第１のセクションが広告を含んでいるが、（例えば、クライアントが広告に相当するコンテンツのセクションを読み飛ばしたために）その広告がクライアントによって出力されない場合、ストリーミングコンテンツ配信システムは、広告を再度導入するためにマニフェストの後続のセクションを生成できる。このようにして、マニフェストの各セクションの中に含まれる特定のコンテンツ部分は、クライアントコンピューティングデバイスの活動に基づいてカスタマイズできる。
【００１１】
例は、コンテンツ配信システムに関して本明細書に示されているが、本開示の実施形態は、クライアントコンピューティングデバイスにストリーミングコンテンツを供給するために動作するコンピューティングデバイスの任意のネットワークに関して実施されてよい。さらに、いくつかの例は、例えば音声及びビデオ等の特定のタイプのストリーミングコンテンツに関して示されているが、本開示の実施形態は、マニフェストによってユーザーに対して識別される別々のセクションに分割される任意のコンテンツの配信を制御するために利用されてよい。なおさらに、いくつかの例は、コンテンツストリームの中に含まれる追加コンテンツ（例えば、広告、免責条項、クレジット等）を制御することに関して示されているが、本開示の実施形態は、任意のコンテンツがどのようにしてコンテンツストリームの中に含められるのかを制御するために利用されてよい。例えば、いくらかのコンテンツは、（例えば、視聴が特定の期間または地理的な位置に限定されるように）誰がコンテンツを見てよいのか、またはコンテンツがどのようにして見られてよいのかを限定する制限と関連付けられてよい。本開示の実施形態は、クライアントが見ることができるが、識別子が難読化されているため、クライアントが（例えば、制限されているコンテンツのファイル名を認識することによって）制限と関連付けられた特定のコンテンツを識別するのを妨げる隠しマニフェストを利用してよく、さらに（例えば、モニタ情報または他のデータを含む）クライアントに関して収集された情報に基づいて（例えば、制限されているコンテンツを含めるまたは除外するために）クライアントのためのカスタムマニフェストを生成してよい。このように、本明細書に示される例は、本来、網羅的ではなく例示的となることを目的としている。
【００１２】
上記説明を鑑みて当業者によって理解されるように、本明細書に開示される実施形態は、クライアントデバイスが１つ以上の保護部分の出力を修正することを阻止される、または妨げられるように、保護された方法でユーザーにコンテンツを配信する、例えばストリーミングコンテンツ配信システム等のコンピューティングシステムの能力を実質的に高める。このように、本開示実施形態は、ストリーミングコンテンツ配信システムまたは他のネットワーク化されたデバイスが、例えばテレビネットワーク及びラジオネットワーク等の従来の配信ネットワークによって提供される機能性を複製し、再現できるようにすることによって係るコンピューティングシステムの機能の改善を表す。さらに、本開示実施形態は、コンピューティングシステムの中で固有の技術的な問題、具体的には、ネットワーク伝送システムが有する、クライアントコンピューティングデバイスへの送信後のデータの限られた制御、及びクライアントデバイスが望ましくない方法でそのコンテンツを修正する高い可能性に対処する。これらの技術的な問題は、種々のコンテンツ部分の中のコンテンツタイプを隠す隠しマニフェストファイルの使用、及びそのコンテンツをクライアントの挙動に基づいて変えることができる適応マニフェストファイルの使用を含んだ、本明細書に説明する種々の技術的な解決策により対処される。このように、本開示は、既存のネットワークシステム及び一般的なコンピューティングシステムに対する多大な改善に相当する。
【００１３】
本開示の上述の態様及び多くの付随する利点は、添付の図面と併せ解釈されるとき、以下に対する参照により良好に理解されるので、より容易に認識される。
【００１４】
図１は、ネットワーク１０６を介してストリーミングコンテンツ配信システム１１０と通信する、複数のクライアントコンピューティングデバイス１０２、コンテンツプロバイダ１０４、及び広告システム１３０を含んだ例示的な論理ネットワーク環境１００を示すブロック図である。コンテンツコンピューティングデバイス１０２、コンテンツプロバイダ１０４、及び広告システム１３０は、図１の中でグループ分けされて示されているが、クライアントコンピューティングデバイス１０２、コンテンツプロバイダ１０４、及び広告システム１３０は、地理的に遠く、独立して所有されてよい、または運用されてよい。例えば、クライアントコンピューティングデバイス１０２は、ストリーミングコンテンツ配信システム１１０にアクセスする種々の世界的な位置、大陸上の位置、または地域的な位置の多数のユーザーを表すことがあるであろう。さらに、コンテンツプロバイダ１０４は、クライアントコンピューティングデバイス１０２に、例えば、ウェブサイト、マルチメディア、または他のネットワーク配信可能なデジタルコンテンツ等のコンテンツを提供するためにストリーミングコンテンツ配信システム１１０と関連している多数の関連当事者または別々の関係者を表すことがあるであろう。さらに、広告システム１３０は、コンテンツプロバイダと関連付けられたコンテンツの中に含まれる広告コンテンツを提供される（及び、例えば、コンテンツプロバイダに収益を提供する）多数の関連当事者または別々の関係者を表すことがあるであろう。別々として示されているが、クライアントコンピューティングデバイス、コンテンツプロバイダ１０４、または広告システム１３０は、共通のエンティティによってまたは共通のコンピューティングデバイスによって運用されてよい。したがって、図１の中のクライアントコンピューティングデバイス１０２、コンテンツプロバイダ１０４、及び広告システム１３０のグループ分けは、物理的よりむしろ論理的なグループ分けを表すことを目的とする。同様に、ストリーミングコンテンツ配信システム１１０の構成要素のそれぞれは、地理的に多様な領域に位置してよい。例えば、ストリーミングコンテンツ配信システム１１０は、ストリーミングコンテンツ配信システム１１０に幅広い地理的プレゼンスを提供するために、世界的に、大陸的に、または地域的に別個のさまざまな位置にＰＯＰ１１２を含む場合がある。
【００１５】
ネットワーク１０６は、任意の有線ネットワーク、無線ネットワーク、またはその組み合わせであってよい。さらに、ネットワーク１０６は、パーソナルエリアネットワーク、ローカルエリアネットワーク、広域ネットワーク、ケーブルネットワーク、衛星ネットワーク、携帯電話ネットワーク、またはその組み合わせであってよい。図１の例の環境では、ネットワーク１０６は、インターネット等のグローバルエリアネットワーク（ＧＡＮ）である。他の上述の種類の通信ネットワークを介して通信するためのプロトコル及び構成要素は、コンピュータ通信の当業者に周知であり、したがって、本明細書により詳細に説明する必要はない。クライアントコンピューティングデバイス１０２、コンテンツプロバイダ１０４、広告システム１３０、及びストリーミングコンテンツ配信システム１１０のそれぞれは、ネットワーク１０６に対する単一の接続を有するとして示されているが、クライアントコンピューティングデバイス１０２、コンテンツプロバイダ１０４、広告システム１３０、及びストリーミングコンテンツ配信システム１１０の個々の構成要素は、異なる点でネットワーク１０６に接続されてよい。したがって、通信時間及び機能は、図１の構成要素間で変わる場合がある。
【００１６】
クライアントコンピューティングデバイス１０２は、ストリーミングコンテンツ配信システム１１０と通信できる任意の数の異なるコンピューティングデバイスを含んでよい。例えば、個々のクライアントコンピューティングデバイス１０２は、ラップトップコンピュータまたはタブレットコンピュータ、パーソナルコンピュータ、ウェアラブルコンピュータ、サーバ、パーソナルデジタルアシスタント（ＰＤＡ）、ハイブリッドＰＤＡ／携帯電話、携帯電話、電子書籍リーダー、セットトップボックス、カメラ、デジタルメディアプレーヤ等に相当してよい。各クライアントコンピューティングデバイス１０２は、専用のプレイバックハードウェア、専用のソフトウェア（例えば、特別にプログラムされたアプリケーション）、及び（例えば、コンテンツを直接的にダウンロードする、コンテンツを含んだウェブページをダウンロードすること等によって）ストリーミングコンテンツを出力可能な汎用ソフトウェア（例えば、ウェブブラウザ）を含んだ、ストリーミングコンテンツの受信及び出力を可能にするハードウェア及び／またはソフトウェアを含んでよい。いくつかの例では、クライアントコンピューティングデバイス１０２は、さらに、例えばコンテンツの特定の部分がクライアントコンピューティングデバイスによって出力されたかどうか等、ストリーミングコンテンツ配信システム１１０に対するコンテンツの出力に関する情報を報告するように構成されてよい。個々のクライアントコンピューティングデバイス１０２の特定の構成は、変わる場合がある。例えば、大部分のクライアントコンピューティングデバイス１０２は、修正なしでストリーミングコンテンツを取り出し、出力してよい。しかしながら、いくつかのクライアントコンピューティングデバイス１０２は、特定の部分（例えば、法律上の警告、クレジット、献辞、広告等）を削除するためにストリーミングコンテンツを修正するように構成されたハードウェアまたはソフトウェアを含む場合がある。
【００１７】
コンテンツプロバイダ１０４は、（１つ以上のクライアントコンピューティングデバイス１０２を含んでよい）クライアントコンピューティングデバイスに対する後続の送信のためにストリーミングコンテンツ配信システム１１０にコンテンツを提供するエンティティによって所有されるまたは運用される任意のコンピューティングデバイスを含んでよい。例えば、コンテンツプロバイダ１０４は、ストリーミング音声サービス、ビデオサービス、テキストサービス、マルチメディアサービス、または対話型サービス（例えば、ビデオゲーム、仮想現実コンテンツもしくは拡張現実コンテンツ、または他の没入型コンテンツ）をホストするサーバを含んでよい。コンテンツプロバイダ１０４は、図１にネットワーク接続コンピューティングデバイスとして例示的に示されているが、さらにまたは代わりにネットワーク化されていない通信チャネルを介して（例えば、データの物理的な送達によって）ストリーミングコンテンツ配信システム１１０にコンテンツを提供してよい。
【００１８】
広告システム１３０は、他のコンテンツ（例えば、ストリーミングビデオ）の中に含めるためにストリーミングコンテンツ配信システム１１０に広告コンテンツを提供するエンティティによって所有される、または運用される任意のコンピューティングデバイスを含む場合がある。広告は、ストリーミングコンテンツ配信システム１１０によって提供される他のコンテンツタイプの中に挿入される写真、テキスト、音声、ビデオ、または任意の他のコンテンツを含んでよい。例示的には、広告は、例えばハードドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＤＤ）、ネットワーク接続ストレージ（ＮＡＳ）、テープドライブ、またはその任意の組み合わせ等の任意の永続的なまたは実質的に永続的なデータストレージに相当してよい広告コンテンツデータストア１３４の中に広告システム１３０によって記憶されてよい。いくつかの例では、広告システム１３０は、（例えば、クライアントコンピューティングデバイスの属性に基づいて）ストリーミングコンテンツ配信システム１１０によって提供されるストリーミングコンテンツの中に含められる特定の広告を選択するように構成されてよい。したがって、広告システム１３０は、（例えば、クライアントコンピューティングデバイスの属性を含んだ）クライアントコンピューティングデバイスにストリーミング配信されるコンテンツに関する情報を受け取り、ストリーミングコンテンツの中に含められる広告の選択を返すように構成された広告選択サービス１３２を含んでよい。一実施形態では、ストリーミングコンテンツ配信システム１１０及び広告選択サービス１３２は、ストリーミングコンテンツサービスが、ストリーミングコンテンツに関する情報を送信する、ならびに広告システム１３０から、どの広告が再生されるべきか、広告がどのように再生されるべきか、及びどの情報が追跡されるべきかに関する情報を受信することを可能にする、標準的なプロトコル、または例えばＩＮＴＥＲＡＣＴＩＶＥ  ＡＤＶＥＲＴＩＳＩＮＧ  ＢＵＲＥＡＵ（商標）（「ＩＡＢ」）によって提供されるビデオアドサービングテンプレート（ＶＡＳＴ）仕様等の仕様を用いて通信してよい。広告選択サービス１３２を含んだ広告システム１３０の動作は、概して技術で既知であるため、本明細書では詳細に説明しない。コンテンツストリームに含むための広告を選択する別個の広告システム１３０に関して例示的な実施形態が説明されているが、ストリーミングコンテンツ配信システム１１０は、（例えば、ストリーミングコンテンツ配信システム１１０の中に広告選択サービス１３２を統合することによって、一連の規則に基づいて広告を選択することによって、静止した広告を提供することによって、保護コンテンツとして非広告コンテンツを統合することによって等）広告システム１３０との対話なくさらにまたは代わりに動作してよい。
【００１９】
ストリーミングコンテンツ配信システム１１０は、クライアントコンピューティングデバイス１０２が、コンテンツプロバイダ１０４及び広告システム１３０によってストリーミングコンテンツ配信システム１１０に提供されるストリーミングコンテンツにアクセスできるように構成されたさまざまな構成要素及びデバイスを含む場合がある。具体的には、ストリーミングコンテンツ配信システム１１０は、ストリーミングコンテンツのホストをする、またはストリーミングコンテンツ配信システム１１０、コンテンツプロバイダ１０４、及び／または広告システム１３０によってホストされるストリーミングコンテンツのためのキャッシング点として機能するように構成された、いくつかのＰＯＰ１１２を含む場合がある。各ＰＯＰ１１２は、クライアントコンピューティングデバイス１０２にコンテンツを供給するように構成されたさまざまなコンピューティングデバイスを含んでよい。したがって、各ＰＯＰ１１２は、図１に図示されていないが、ストリーミングコンテンツの取り出し及びクライアントコンピューティングデバイスへの配信を容易にするために連動して動作する任意の数のプロセッサ、データストア、及びネットワーキング構成要素を含んでよい。任意の有線ネットワーク、無線ネットワーク、またはそれらの組み合わせを含んでよく、パーソナルエリアネットワーク、ローカルエリアネットワーク、広域ネットワーク、ケーブルネットワーク、衛星ネットワーク、移動電話ネットワーク、またはその組み合わせであってよい、そのシステム１１０の内部ネットワークを介して、ＰＯＰ１１２は、ストリーミングコンテンツ配信システム１１０の他の構成要素と通信してよい。いくつかの例では、内部ネットワークは、（例えば、仮想プライベートネットワーク、つまり「ＶＰＮ」として）少なくとも部分的にネットワーク１０６によって実装されてよい。例示的には、各ＰＯＰ１１２は、ローカルキャッシュデータストアの中のコンテンツ部分（例えば、最も最近に要求されたｎ個のコンテンツ部分）の限られた選択を保持するために機能してよく、これによりこれらのコンテンツ部分は、クライアントコンピューティングデバイス１０２に迅速に送信できる。ローカルキャッシュデータストアが要求されたコンテンツ部分を含んでいないとき、ＰＯＰ１１２は、例えば、ストリーミングコンテンツ配信システム１１０のコンテンツデータストア１１９、広告コンテンツデータストア１３４、または（図１に図示されていない）コンテンツプロバイダ１０４のシステムの中のデータストア等のリモートデータストアからコンテンツ部分を取り出し、要求側のクライアントコンピューティングデバイス１０２にコンテンツ部分を返すように構成できる。
【００２０】
本開示の実施形態によれば、ストリーミングコンテンツ配信システム１１０は、ストリーミングコンテンツに対するクライアント要求に応え、隠し識別子を介して要求側クライアントコンピューティングデバイス１０２に提供されるいくつかのコンテンツ部分を識別する隠しマニフェストを生成するように構成されたマニフェスト生成サービス１１４を含む場合がある。隠しマニフェストは、コンテンツ部分のための隠し識別子を利用するため、クライアントコンピューティングデバイス１０２が各部分の中のコンテンツのタイプを区別するのを妨げ、したがって特定のタイプのコンテンツを自動的にブロックすることを阻止するまたは妨げることができる。以下により詳細に説明するように、マニフェスト生成サービス１１４は、マニフェストの中で識別される特定のコンテンツ部分を選択するために、例えば広告システム１３０等の外部構成要素だけではなくストリーミングコンテンツ配信システム１１０の他の構成要素とも対話してよい。マニフェスト生成サービス１１４は、さらに、マニフェストの中で識別された任意のカスタムコンテンツ部分がストリーミングコンテンツ配信システム１１０で利用できることを確実にするために、コンテンツ生成サービス１１６と通信できる。いくつかの例では、マニフェスト生成サービス１１４は、例えば広告システム１３０によって提供される広告等の保護コンテンツの手動読み飛ばしを阻止する、または妨げるためにクライアントコンピューティングデバイス１０２の活動に基づいてマニフェストの中に含まれるコンテンツ部分を変えてよい。さらに、マニフェスト生成サービス１１４は、係る構成要素が、隠しマニフェストの中に含まれる隠し識別子をコンテンツ部分のための実際の識別子に変換できるようにし、したがってそれらの構成要素がコンテンツ部分を取り出し、クライアントコンピューティングデバイス１０２に提供できるようにする例えばＰＯＰ１１２等のストリーミングコンテンツ配信システム１１０の他の構成要素に情報を通信できる。
【００２１】
ストリーミングコンテンツ配信システム１１０は、さらに、隠しマニフェストの中で識別されるコンテンツ部分を生成する、または隠しマニフェストの中のすべてのコンテンツ部分が、同じまたは類似した属性（例えば、同じ長さ、解像度、ビットレート、フレームレート等）を共用するように既存のコンテンツ部分を接合する、分割する、または修正するように構成されたコンテンツ生成サービス１１６を含む場合がある。例示的に、コンテンツ生成サービス１１６は、マニフェスト生成サービス１１４から、隠しマニフェストの中で識別される１つ以上のコンテンツ部分及びそれらのコンテンツ部分の所望されるパラメータを示す通知を受け取り、次いでそれらの所望されるパラメータに適合するために既存のコンテンツ（例えば、既存のメインコンテンツ、広告等）を再符号化するように構成されてよい。コンテンツ生成サービス１１６は、次いで（例えば、コンテンツデータストア１１９の中に）生成された部分を記憶して、隠しマニフェストを受け取ったクライアントコンピューティングデバイス１０２、ＰＯＰ１１２、またはストリーミングコンテンツ配信システム１１０の他の構成要素がそれらの部分を利用できるようにしてよい。いくつかの例では、コンテンツ生成サービス１１６は、コンテンツ部分が、クライアントコンピューティングデバイス１０２への隠しマニフェストの配信と同時にまたは配信後に生成されるように、「ジャストインタイム」に機能できる。
【００２２】
（例えば、コンテンツプロバイダ１０４、広告システム１３０等によって提供される）他のコンテンツだけではなく生成されたコンテンツ部分も記憶するために利用されてよいコンテンツデータストア１１９は、例えばハードドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＤＤ）、ネットワーク接続ストレージ（ＮＡＳ）、テープドライブ、またはその任意の組み合わせ等の任意の永続的なまたは実質的に永続的なデータストレージに相当する場合がある。
【００２３】
ストリーミングコンテンツ配信システム１１０は、さらに、クライアントコンピューティングデバイス１０２に対するコンテンツ部分の送信またはクライアントコンピューティングデバイス１０２上でのそれらのコンテンツ部分の出力に関する情報を受け取るように構成されたモニタリングサービスを含む場合がある。いくつかの例では、ＰＯＰ１１２は、特定のコンテンツ部分が要求され、クライアントコンピューティングデバイス１０２に配信されたことを示す情報をモニタリングサービス１１８に送信してよく、これはクライアントコンピューティングデバイス１０２が、コンテンツ部分を見た（または少なくとも見た可能性がある）ことを示してよい。さらに、クライアントコンピューティングデバイス１０２自体が、モニタリングサービス１１８に、特定のコンテンツ部分が受け取られたまたはユーザーに出力されたことを示す情報を送信してよい。いくつかの例では、クライアントコンピューティングデバイス１０２は、例えば、ストリーミングコンテンツを出力するウェブページの中に含まれるＪＡＶＡＳＣＲＩＰＴ（登録商標）等の、ストリーミングコンテンツ配信システム１１０によって提供されるコードを実行することによってモニタリング情報を提供してよい。以下により詳細に説明するように、モニタリングサービス１１８で収集されたモニタリング情報は、いくつかの例では、隠しマニフェストの中で識別されるコンテンツ部分を生成または適応するためにマニフェスト生成サービス１１４によって利用されてよい。
【００２４】
ストリーミングコンテンツ配信システム１１０が、図１に示すよりもより少ないまたはより多い構成要素を有してよいことが、当業者によって理解される。さらに、ストリーミングコンテンツ配信システム１１０は、種々のウェブサービス及び／またはピアツーピアネットワーク構成を含む場合があるであろう。したがって、図１のストリーミングコンテンツ配信システム１１０は、例示的と解釈されるべきである。例えば、いくつかの実施形態では、マニフェスト生成サービス１１４またはコンテンツ生成サービス１１６等のストリーミングコンテンツ配信システム１１０の構成要素は、ホストされたコンピューティング環境において実装されるもう１つの仮想マシンによって実行されてよい。ホストされたコンピューティング環境は、１つ以上の急速にプロビジョニングされ、リリースされるコンピューティングリソースを含んでよく、コンピューティングリソースは、コンピューティングデバイス、ネットワーキングデバイス、及び／またはストレージデバイスを含んでよい。ホスト型コンピューティング環境は、さらに、クラウド型コンピューティング環境と呼ばれる場合がある。
【００２５】
図２は、本明細書に説明するマニフェスト生成サービス１１４を実装してよいサーバ２００のアーキテクチャの一実施形態を示す。図２に示されるサーバ２００の一般的アーキテクチャは、本開示の態様を実施するために使用されてよいコンピュータハードウェア及びソフトウェア構成要素の配置構成を含む。示されるように、サーバ２００は、処理ユニット２０４、ネットワークインタフェース２０６、コンピュータ可読媒体ドライブ２０７、入出力装置インタフェース２２０、ディスプレイ２０２、及び入力装置２２４を含み、それらのすべては、通信バスを経由して互いと通信してよい。ネットワークインタフェース２０６は、例えば図１のネットワーク１０６等の１つ以上のネットワークまたはコンピューティングシステムへの接続性を提供してよい。したがって、処理ユニット２０４は、ネットワークを介して他のコンピューティングシステムまたはサービスから情報及び命令を受信してよい。また、処理ユニット２０４は、メモリ２１０と往復するように通信し、さらに、入出力装置インタフェース２２０を介して、選択式ディスプレイ２０２に出力情報を提供してよい。また、入出力装置インタフェース２２０は、例えばキーボード、マウス、デジタルペン等の選択式入力装置２２４から入力を受け入れてもよい。いくつかの実施形態では、サーバ２００は、図２に示すよりもより多くの（より少ない）構成要素を含んでよい。例えば、サーバ２００のいくつかの実施形態は、１つ以上の代替通信チャネルを通して（例えば、ネットワークインタフェース２０６を介して）入出力機能を提供する一方で、ディスプレイ２０２及び入力装置２２４を省略してよい。
【００２６】
メモリ２１０は、処理ユニット２０４が１つ以上の態様を実施するために実行するコンピュータプログラム命令を含んでよい。メモリ２１０は、概して、ＲＡＭ、ＲＯＭ、及び／または他の永続メモリまたは非一過性のメモリを含む。メモリ２１０は、サーバ２００の一般管理及び動作における処理ユニット２０４による使用のためにコンピュータプログラム命令を提供するオペレーティングシステム２１４を記憶してよい。メモリ２１０は、さらに、コンピュータプログラム命令、及び本開示の態様を実施するための他の情報を含んでよい。例えば、一実施形態では、メモリ２１０は、例えばコンピューティングデバイスにインストールされたウェブブラウザ等のナビゲーションインタフェースを介して、コンピューティングデバイスでの表示のためにユーザーインタフェース（及び／または、そのための命令）を生成するユーザインタフェースソフトウェア２１２を含む。さらに、メモリ２１０は、例えばハードドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＤＤ）、ネットワーク接続ストレージ（ＮＡＳ）、テープドライブ、またはその任意の組み合わせ等の任意の永続的なまたは実質的に永続的なデータストレージに相当する場合がある、例えばデータストア１２０等の１つ以上の補助データストアを含んでよい、または１つ以上の補助データストアと通信してよい。
【００２７】
ユーザーインタフェースモジュール２１２に加えて、メモリ２１０は、処理ユニット２０４によって実行されてよいマニフェスト生成ソフトウェア２１６を含んでよい。一実施形態では、マニフェスト生成ソフトウェア２１６は、例えば、保護コンテンツ部分を自動的にまたは手動でブロックする、読み飛ばす、または改変するためにクライアントを妨げるまたは阻止する、クライアントコンピューティングデバイス１１６のための隠しマニフェストを生成する等、本開示の種々の態様を実施する。マニフェスト生成ソフトウェア２１６は、サーバ２００の部分として図２に示されているが、他の実施形態では、ソフトウェアのすべてまたは一部分は、例えばホストされているコンピューティング環境の中のコンピューティングデバイス、コンピューティングデバイス２０４の一部等、ストリーミングコンテンツ配信システム１１０の中の代替コンピューティングデバイスによって実装されてよい。
【００２８】
図３Ａ及び図３Ｂは、デバイス１０２が、そのコンテンツの部分（「保護」部分）を削除する、修正する、またはブロックするのを妨げるまたは阻止する一方、ストリーミングコンテンツ配信システム１１０からコンテンツを配信できるようにするためにクライアントコンピューティングデバイス１０２に隠しマニフェストを提供するための例示的な一連の対話を示す。２つの図として示されているが、図３Ａと図３Ｂの間の対話の数は整合性のために維持される。
【００２９】
クライアントコンピューティングデバイス１０２が、ストリーミングコンテンツ配信システム１１０のＰＯＰ１１２からコンテンツを要求する図３Ａの（１）で、対話が開始する。要求は、ストリーミングコンテンツ、ウェブブラウザアプリケーション等を見るためのアプリケーションを起動するまたはアプリケーションと対話することによってクライアントがクライアントコンピューティングデバイス１０２を使用することにより生成されてよい。要求は、例えばテレビ番組、映画、ビデオ、音声プログラム等のクライアントが所望する少なくとも１つのメインコンテンツを示す場合がある。いくつかの例では、要求は、さらに、例えば、デバイス１０２の構成、デバイス１０２の位置、デバイス１０２またはストリーミングコンテンツ配信システム１１０上のクライアントのアカウント等の、クライアントコンピューティングデバイス１０２またはクライアントコンピューティングデバイス１０２を利用するクライアントに関する情報を示す場合がある。以下に説明するように、この情報は、そのいずれもストリーミングコンテンツ配信システム１１０が、クライアントコンピューティングデバイス１０２による自動的な削除もしくは修正、またはデバイス１０２のクライアントによる手動読み飛ばしから保護することを希望する、例えば法律上の警告、クレジット、献辞、または広告等の、クライアントコンピューティングデバイス１０２に提供される追加コンテンツを決定するために、ストリーミングコンテンツ配信システム１１０及び／または広告システム１３０によって利用されてよい。
【００３０】
（２）で、受信側ＰＯＰ１１２は、マニフェスト生成サービス１１４からマニフェストを要求する。マニフェストは、概して順番に再生されるとコンテンツストリームを形成するコンテンツ部分のリストだけではなく、ストリームのフォーマット等の、コンテンツストリームに関するメタデータのレコードに相当する場合がある。したがって、ＰＯＰ１１２によって送信される要求は、ストリーム配信されることが要求されるメインコンテンツ等のクライアントコンピューティングデバイス１０２から受け取られる情報、クライアントコンピューティングデバイス１０２に関する情報、またはデバイス１０２のクライアントに関する情報を含んでよい。ＰＯＰ１１２によって送信される要求は、さらに、例えば要求の時刻、デバイス１０２のクライアントのアカウントと関連付けられた情報等のＰＯＰ１１２によって入手される追加の情報を含んでよい。
【００３１】
上述するように、クライアントコンピューティングデバイス１０２によって要求されるメインコンテンツに加えて、ストリーミングコンテンツは、例えば法律上の警告、クレジット、献辞、または広告等の１つ以上の他のタイプのコンテンツを含む場合もある。このコンテンツは、概して本明細書では「追加コンテンツ」として説明する。いくつかの例では、マニフェスト生成サービス１１４自体が、コンテンツストリームの中にどの追加コンテンツを含めるのかを決定してよい。例えば、マニフェスト生成サービス１１４は、すべてのコンテンツストリームの中に特定の法律上の警告を含むこともあれば、（例えば、要求されるメインコンテンツ、要求の属性、クライアントコンピューティングデバイス１０２の属性等の基準に基づいて）ストリームの中でどの追加コンテンツを提供すべきかを決定する一連の規則を維持する場合もある。他の例では、マニフェスト生成サービス１１４は、コンテンツストリームにどの追加コンテンツを含むのかを決定するために、例えば広告システム１３０等の他の構成要素と対話してよい。追加コンテンツは、マニフェストファイルが生成されるときに決定できるため、追加コンテンツは、明確にクライアントコンピューティングデバイス１０２またはそのデバイス１０２のクライアント向けにすることができる。例えば、クライアントに関連性がある可能性があるコンテンツストリームの中に特定の広告を含めることができる。図３Ａの説明のために、マニフェスト生成サービス１１４が、追加コンテンツとしてコンテンツストリームの中に含める少なくとも１つの広告を決定するために、広告システム１３０Ａと対話するように構成されると仮定される。
【００３２】
したがって、（３）で、マニフェスト生成サービス１１４は広告システム１３０Ａに、コンテンツストリームの中に含められ、したがってクライアントコンピューティングデバイス１０２に配信されるマニフェストファイルの中で識別される広告の選択の要求を送信する。一実施形態では、要求は、ＶＡＳＴ仕様に従ってフォーマットされてよく、例えば、要求されたメインコンテンツ、クライアントコンピューティングデバイス１０２の属性、そのデバイス１０２のクライアントの属性等に関する情報等の要求に関する任意の情報を含んでよい。それに応じて、（４）で、広告システム１３０Ａは、広告がどのようにしてメインコンテンツに挿入されるのか（例えば、どのようなときに）、広告の出力に関して追跡される情報等を示してもよい、追加コンテンツとしてコンテンツストリームに含められる広告の表示を返す。広告を選択するための具体的な対話は、本開示の範囲外であるため、詳細に説明しない。
【００３３】
（５）で、マニフェスト生成サービスは、要求されたメインコンテンツと任意の追加コンテンツ（例えば、広告システム１３０Ａによって選択される広告）の両方に相当するコンテンツ部分を識別する隠しマニフェストを生成する。例示的に、隠しマニフェストを生成するために、マニフェスト生成サービス１１４は、最初に、クライアントコンピューティングデバイスにどのコンテンツをストリーム配信するのか（例えば、メインコンテンツ及び追加コンテンツ）及び（例えば、広告システム１３０Ａによって提供される情報またはマニフェスト生成サービス１１４で維持される他の情報によって決定される）そのコンテンツの相対的な順序を識別してよい。マニフェスト生成サービス１１４は、次いで、順番に再生されると所望されるコンテンツストリームを形成するコンテンツ部分を決定できる。例えば、マニフェスト生成サービス１１４が、次に３０分のテレビ番組をストリーム配信する前に３分の広告をストリーム配信すべきであると判断する場合、マニフェスト生成サービス１１４は、３０分のテレビ番組を形成するコンテンツ部分だけではなく３分の広告を形成するコンテンツ部分も識別するマニフェストを生成してよい。マニフェストは、例えば、コンテンツ部分のフォーマット、各部分の長さ、ストリームの全体的な持続時間等のストリームに関するメタデータを含んでもよい。一実施形態では、マニフェストは、ＨＴＴＰ（ハイパーテキスト転送プロトコル）ライブストリーミングプロトコル、つまり「ＨＬＳ」に従ってフォーマットされる。通常、このプロトコルに従って生成されたマニフェストは、ネットワークベースのシステム上の実際のファイルに対応するコンテンツ部分ごとに識別子を含む。例えば、マニフェストは、ネットワークベースのストレージデバイス上に記憶されるビデオファイルに対応するコンテンツ部分ごとにＵＲＩを示してよい。したがって、クライアントは、これらのビデオファイルをダウンロードし、出力することによってマニフェストで識別されたコンテンツをストリーム配信できる。しかしながら、マニフェストの中に実際の識別子を直接的に配置することは、クライアントデバイスに、マニフェストを選択的に修正する、または特定のコンテンツ部分のダウンロードもしくは出力をブロックする機会も与える。
【００３４】
したがって、本開示の実施形態によれば、マニフェスト生成サービスによって生成されるマニフェストは、ストリーミングコンテンツ配信システム１１０の中で直接的にファイルを識別しない場合があり、各コンテンツ部分のコンテンツをマスキングする場合がある一連の隠し識別子を含む場合があり、これによりクライアントコンピューティングデバイス１０２が、隠し識別子に基づいてコンテンツ部分のコンテンツを決定することはありそうにない、または不可能である。コンテンツ部分のための隠し識別子を利用するマニフェストは、概して本明細書で隠しマニフェストと呼ばれてよい。例えば、マニフェスト生成サービス１１４は、各コンテンツ部分の実際の識別子を提供するよりむしろ、隠し識別子を生成するために暗号鍵を使用し、識別子を暗号化してよい。クライアントがコンテンツ部分ごとの実際の識別子を決定できないように、暗号鍵は、クライアントコンピューティングデバイス１０２から離しておくことができる。しかしながら、暗号鍵は、ストリーミングコンテンツ配信システム１１０の構成要素と共用されてよく、これによりそれらの構成要素は、隠し識別子によって識別されたコンテンツ部分に対する要求を受け取ると、隠し識別子に対応する実際のコンテンツ部分を決定し得る。コンテンツ識別子の暗号化が、（例えば、デジタル著作権管理［「ＤＲＭ」］方式の下で起こる場合がある）コンテンツ部分自体の暗号化とは異なることに留意されたい。コンテンツ識別子の暗号化は、コンテンツ部分のリソースロケータ（例えば、ファイル名または経路）の暗号化を指すことを目的とし、したがってクライアントコンピューティングデバイス１０２が、ストリーミングコンテンツ配信システム１１０への要求の中でコンテンツ部分をどのようにして識別するのかを改変してよい。対照的に、コンテンツ部分自体の暗号化は、概して特定のファイルの暗号化を指し、したがって（いったん受け取られた）コンテンツ部分がクライアントコンピューティングデバイス１０２によってどのようにして読み取られるのかまたは出力されるのかを改変してよい。暗号化されたコンテンツ識別子は、個々のコンテンツ部分自体の暗号化とともに、または暗号化なしで利用されてよい。上述したように、（暗号化に加えてまたは暗号化の代わりに）他の機構が、隠し識別子を生成するために利用されてよい。例えば、所与のコンテンツ部分のための隠し識別子は、いくつかの例では、無作為な選択によって、または一方向性ハッシュアルゴリズムに実際の識別子を通すことによって決定されてよい。
【００３５】
実例として、図５は、本開示に従って利用されてよい隠しマニフェスト５０２の視覚化を含む。図５に示すように、隠しマニフェスト５０２は、見られるとストリーミングコンテンツを形成する（隠し識別子５０４Ａ−Ｚによって識別される）一連のコンテンツ部分を識別する。各隠し識別子５０４は、（例えば、コンテンツ部分の実際の識別子を暗号化することによって）マニフェスト生成サービス１１４によって生成される一連の英数字（またはクライアントコンピューティングデバイス１０２が使用可能な任意の他の文字）を反映できる。マニフェスト５０２は、クライアントコンピューティングデバイス１０２によって見ることができるため、隠し識別子は、クライアントコンピューティングデバイス１０２が種々のタイプのコンテンツ（例えば、メインコンテンツ対広告等）を区別するのを妨げるまたは阻止するために形成される。したがって、種々の隠し識別子は、同じアルゴリズムに従って（例えば、同じ暗号化方式に従って等）形成されてよく、類似する属性または同一の属性（例えば、長さ、フォーマット、ビットレート等）を共用するコンテンツ部分を指してよい。
【００３６】
図５に示すように、各隠し識別子５０４は、コンテンツ部分のための実際の識別子５０８に対応する。これらの実際の識別子は、コンテンツ部分に対応する（ストリーミングコンテンツ配信システム１１０、または例えば広告システム１３０等の別のネットワークリソース上の）ファイルの名前または場所を反映してよい。隠し識別子及び／または実際の識別子は、図５では単にファイル名として示されているが、いくつかの例では、コンテンツ部分のＵＲＩのいずれかまたはすべてを含む。各コンテンツ部分の実際の識別子は、そのコンテンツ部分に関する情報（例えば、コンテンツ部分の中のコンテンツのタイプ）を明らかにし得るため、実際の識別子は概してクライアントコンピューティングデバイス１０２から伏せられる。
【００３７】
いくつかの例では、隠しマニフェスト５０２が、隠し識別子５０４の基礎となるコンテンツのタイプについての情報を提供しないことを確実にするために、コンテンツ部分のうちの１つ以上は、ストリーミングコンテンツ配信サービス１１０によってカスタム生成されてよい。例えば、実際の識別子５０８Ｂは、保護コンテンツ（例えば、広告または免責事項）及びメインコンテンツ（例えば、テレビ番組）の組み合わせとして生成されてよい「ｃｕｓｔｏｍ−ｃｏｎｔｅｎｔ１．ｔｓ」を指す。例示的に、カスタムコンテンツは、コンテンツタイプ間の遷移時に、または既存のコンテンツ部分が隠しマニフェスト５０２の中の他のコンテンツ部分に適合しないであろう任意の他の例で生成されてよい。例えば、広告の最終部分が５秒しか消費しないであろうが、マニフェスト内の他のコンテンツ部分が概して１０秒を消費するであろう場合、カスタムコンテンツ部分は、広告の最後の５秒をメインコンテンツ（または他の追加コンテンツ）の最初の５秒と結合するストリーミングコンテンツ配信システム１１０によって生成できる。
【００３８】
図３Ａ及び図３Ｂの対話に戻ると、（例えば、図５の例のマニフェスト５０２に対応する）隠しマニフェストを生成後、マニフェスト生成サービス１１４は、マニフェストの中で（例えば、隠し識別子を介して）識別された任意のコンテンツ部分が、クライアントコンピューティングデバイス１０２への送信に利用できることを確実にするために、コンテンツ生成サービス１１６と対話できる。具体的には、（６）で、マニフェスト生成サービス１１４は、コンテンツ生成サービス１１６が隠しマニフェストで識別されたが、まだコンテンツデータストア１１９（または他のネットワークデータストア）の中に記憶されていない任意のカスタムコンテンツ部分を作成することを要求できる。要求は、例えば、カスタムコンテンツ部分のパラメータ（例えば、ビットレート、暗号化種類、解像度等）だけではなく、カスタムコンテンツ部分（例えば、５秒の特定の広告、５秒の特定のメインコンテンツ）を作成する上で使用するための所望されるコンテンツを含んでよい。（７）で、コンテンツ生成サービス１１６は、カスタムコンテンツ部分を生成するために要求の情報を利用してよい。例示的には、コンテンツ生成サービス１１６は、所望される各コンテンツ（例えば、広告コンテンツ等）を取り出し、その所望されるコンテンツを再符号化して、要求されたカスタムコンテンツ部分を形成してよい。その後、（８）で、コンテンツ生成サービス１１６は、図４に関して以下にさらに詳細に説明するように、ＰＯＰ１１２による後の取り出し、及びクライアントコンピューティングデバイス１０２への送信のためにコンテンツデータストア１１９の中にカスタムコンテンツ部分を記憶する。
【００３９】
さらに、（９）で、マニフェスト生成サービス１１４は、ＰＯＰ１１２に隠しマニフェストを返す。いくつかの例では、マニフェスト生成サービス１１４は、さらに、例えば、マニフェストの中で隠し識別子を生成するために使用される暗号化またはその暗号化のための鍵等、隠しマニフェストに関する情報を返してよい。例えば標準的な暗号化及び鍵が使用される他の例では、その情報は、対話（９）から省略されてよい。どちらかの例では、（１０）で、ＰＯＰ１１２は、クライアントコンピューティングデバイス１０２に隠しマニフェストを返し、クライアントコンピューティングデバイス１０２が、マニフェストの中で識別された異なるタイプのコンテンツを、その中に提供される識別子に基づいて識別するのを阻止するまたは妨げる一方、マニフェストの中で識別されたコンテンツをストリーム配信できるようにする。
【００４０】
図３Ａ及び図３Ｂの対話は順々に上述されているが、対話のうちのいくつかまたはすべてが繰り返し発生してよいこと、及びこれらの対話が少なくとも部分的に並行して発生してよいことが意図される。例えば、マニフェスト生成サービス１１４は、ＰＯＰ１１２に隠しマニフェストを並行してまたは同時に送信し、隠しマニフェストの中のカスタムコンテンツ部分が作成されることを要求してよい。追加の例として、ストリーミングコンテンツ配信システム１１０は、ストリーミングコンテンツの所与の項目のための複数のマニフェストを配信するように構成される場合もあれば、経時的に複数の送信として単一のマニフェストを配信するように構成される場合もある。したがって、新しいマニフェストまたはマニフェストの新しいセクションがクライアントコンピューティングデバイス１０２に送信される各点の前に、マニフェスト生成サービス１１４は、新しいマニフェストまたはセクションの中で識別されるコンテンツ部分の新しいセットを決定してよい。いくつかの例では、部分の新しいセットは、（例えば、モニタリングサービス１１８から入手される）ストリーミングコンテンツに関するモニタリングされた情報に基づいて変わってよい。例えば、モニタリング情報が、クライアントコンピューティングデバイス１０２が保護部分を出力しなかった（または、もしかすると、保護部分がクライアントコンピューティングデバイス１０２によって一度も要求されなかった）ことを示す場合、マニフェスト生成サービス１１４は、新しいマニフェストまたはマニフェストセクション内の保護部分（または別の追加コンテンツ部分）を識別してよい。したがって、ユーザーが保護部分（例えば、広告）を見ないように努力して該部分を「読み飛ばす」場合、新しい広告または保護部分はマニフェストで識別される場合がある。いくつかの例では、クライアントコンピューティングデバイス１０２が保護コンテンツを出力するまで、新しいマニフェストは、（例えば、メインコンテンツ等の他のコンテンツではなく）保護部分だけを識別してよく、その時点で追加マニフェスト（またはマニフェストセクション）が無保護コンテンツに含まれて提供できる。
【００４１】
図３Ａ及び図３Ｂの説明は、概してコンテンツ部分の実際の識別子を隠し識別子に変換するための暗号化の使用を参照しているが、マニフェスト生成サービス１１４は、いくつかの例では、隠し識別子を決定するために他のプロセスを利用してよい。例えば、マニフェスト生成サービス１１４は、実際の識別子を隠し識別子に変換するためにさまざまな難読化技法、コーディング、または暗号のいずれかを利用してよい。いくつかの例では、マニフェスト生成サービス１１４は、コンテンツ部分に隠し識別子として無作為な識別子を割り当ててよい。マニフェスト生成サービス１１４は、次いで実際の識別子の割り当てられた隠し識別子へのマッピングを、必要に応じてストリーミングコンテンツ配信システム１１０の構成要素に送信してよい。いくつかの例では、割り当てられた隠し識別子は、大局的に一意であってよく、これにより構成要素（例えば、ＰＯＰ１１２）は、隠し識別子だけに基づいて実際の識別子を決定してよい。他の例では、隠し識別子は、クライアント特有またはセッション特有であってよく、これにより同じ隠し識別子（例えば、「ＩＤ１．ｔｓ」）を複数のクライアントに対して利用することができ、要求されたコンテンツ項目のための実際の識別子は、要求のソースに基づいて（例えば、セッション識別子、クライアントネットワークアドレス等に基づいて）変化する。隠し識別子を実際の識別子に変換できるようにするために、それらのアルゴリズム及び鍵だけをストリーミングコンテンツ配信システム１１０の構成要素間で伝搬する必要があるので、概して、すべての隠し識別子を生成するための１つ以上の特有の暗号化アルゴリズム及び鍵の使用が好ましい場合がある。
【００４２】
さらに、図３Ａ及び図３Ｂの対話は、コンテンツ部分の単一のシリーズに関して説明されているが、本開示の実施形態は、それぞれがストリーミングコンテンツの異なるバージョンを形成するコンテンツ部分の代替のシリーズの使用を可能にしてよい。例えば、コンテンツ部分の第１のシリーズは、第１の品質レベルでストリーミングコンテンツを、第２の品質レベルで第２のシリーズを提示してよい等である。種々のシリーズは、クライアントコンピューティングデバイス１０２に提供される単一のマニフェストまたは複数のマニフェストで識別されてよい。いくつかの例では、クライアントコンピューティングデバイス１０２は、デバイス１０２の状態を説明するために（例えば、デバイス１０２とストリーミングコンテンツ配信システム１１０との間のゆっくりとした通信を説明するために）異なるシリーズのコンテンツ部分の出力の間で切り替わってよい。
【００４３】
図４は、クライアントコンピューティングデバイス１０２でそのコンテンツストリームを出力するために、コンテンツストリームを形成するコンテンツ項目のための隠し識別子を含んだ隠しマニフェストファイルを利用するための一連の例示的な対話を示す。対話は、クライアントコンピューティングデバイス１０２が、ストリーミングコンテンツ配信システム１１０のＰＯＰ１１２からコンテンツ部分を、該部分のための隠し識別子を使用し、要求する（１）で開始する。要求は、ストリーミングコンテンツ配信システム１１０から以前に入手されたマニフェストを処理することに基づいて、クライアントコンピューティングデバイス１０２によって（例えば、ウェブブラウザまたは他のアプリケーションによって）自動的に生成されてよい。ＰＯＰ１１２は、要求を受け取ると、隠し識別子に基づいて要求された部分の実際の識別子を決定する。例示的に、隠し識別子が、暗号鍵で実際の識別子を暗号化することによって生成される場合、ＰＯＰ１１２は、その鍵を利用して隠し識別子を復号し、このようにして要求された部分の実際の識別子を決定してよい。隠し識別子が、他の変換（例えば、無作為な割り当て）を使用し、生成される場合、ＰＯＰ１１２は、例えば隠し識別子の実際の識別子へのマッピング等、マニフェスト生成システム１１４によって提供される情報を利用して、どの実際の識別子が要求された部分に対応するのかを決定してよい。
【００４４】
（３）で、ＰＯＰ１１２は、必要とされる場合、コンテンツデータストア１１９から要求された部分を取り出す。例示的に、コンテンツ部分の取り出しは、コンテンツ部分がＰＯＰ１１２のキャッシュに前に記憶されていない場合にだけ必要とされる場合がある。コンテンツ部分がＰＯＰ１１２に記憶される例では、対話（３）は必要とされない場合がある。コンテンツ部分の取り出しは、コンテンツデータストア１１９に関して示されているが、ＰＯＰ１１２は、さらにまたは代わりに、例えば広告システム１３０（図４では不図示）等の他のデータソースからコンテンツを取り出してよい。有利なことに、取り出しは、（隠し識別子よりむしろ）コンテンツ部分の実際の識別子に基づいて起こる場合があるため、各クライアントコンピューティングデバイス１０２に提供される隠し識別子が同じであるかどうかに関わりなく、同じデータは、多くの異なるクライアントコンピューティングデバイス１０２からのコンテンツ部分に対する要求にサービスを提供するために利用できる。したがって、ストリーミングコンテンツ配信システム１１０は、コンテンツ部分自体の再作成を必要とせずに、隠し識別子が作成されるプロセスを任意に変更することを可能にされる。さらに、各ＰＯＰ１１２は、隠し識別子に基づいてコンテンツ部分のための実際の識別子を決定することを可能にされるため、クライアントコンピューティングデバイス１０２は、コンテンツ部分を得るために任意のＰＯＰ１１２と、または複数のＰＯＰ１１２と対話してよい。
【００４５】
要求されたコンテンツ部分を得た後、（４）で、ＰＯＰ１１２は、（５）でコンテンツ部分を出力してよい、クライアントコンピューティングデバイス１０２にコンテンツ部分を返す。クライアントは、さらに（６）でモニタリングサービス１１８へのコンテンツ部分の出力に関するモニタリング情報を報告してよい。ＰＯＰ１１２またはストリーミングコンテンツ配信システム１１０の他の構成要素は、図４に示されていないが、さらにまたは代わりにモニタリングサービス１１８にモニタリング情報を報告してよい。図４の対話は、クライアントコンピューティングデバイスがマニフェストの中で隠し識別子を用いて識別されたコンテンツ部分を出力し、このようにしてコンテンツストリームの部分を修正する、削除する、もしくはブロックすることから阻止されるまたは妨げられる一方で、コンテンツストリームを出力できるようにするために、並行して繰り返されてよい、または実施されてよい。
【００４６】
図６を参照すると、保護コンテンツ部分を含んだストリーミングコンテンツを提供するための１つの例示的なルーチン６００が示されている。ルーチン６００は、例えば図１のコンテンツ配信システム１１０によって実施されてよい。ルーチン６００は、ストリーミングコンテンツ配信システム１１０が、クライアントコンピューティングデバイス１０２からストリーミングコンテンツに対する要求を入手するブロック６０２で開始する。要求は、ストリーミングコンテンツ、ウェブブラウザアプリケーション等を見るためのアプリケーションを起動するまたはアプリケーションと対話すること等によってクライアントがクライアントコンピューティングデバイス１０２を使用することにより生成されてよい。要求は、例えばテレビ番組、映画、ビデオ、音声プログラム等のクライアントが所望する少なくとも１つのメインコンテンツを示す場合がある。いくつかの例では、要求は、さらに、例えば、デバイス１０２の構成、デバイス１０２の位置、デバイス１０２またはストリーミングコンテンツ配信システム１１０上のクライアントのアカウント等の、クライアントコンピューティングデバイス１０２またはクライアントコンピューティングデバイス１０２を利用するクライアントに関する情報を示す場合がある。
【００４７】
ブロック６０４で、ストリーミングコンテンツ配信システム１１０は、コンテンツストリームに含めるコンテンツを選択する。例示的に、選択したコンテンツは、追加コンテンツ（例えば、法律上の免責事項、広告等）だけではなく、メインコンテンツ（例えば、クライアントコンピューティングデバイス１０２が要求するメインコンテンツ）も含む場合がある。いくつかの例では、ストリーミングコンテンツ配信システム１１０は、第三者または例えば広告システム１３０等の外部システムとの対話によって追加コンテンツを決定してよい。さらに、ストリーミングコンテンツ配信システム１１０は、クライアントコンピューティングデバイス１０２に関する情報に基づいて包含のためのコンテンツを決定してよい。以下に説明するように、いくつかの例では、ブロック６０４は、繰り返し実施されてよく、ストリームでの包含のために選択されるコンテンツは、クライアントコンピューティングデバイス１０２が（例えば、保護コンテンツが読み飛ばされている場合に、それがコンテンツストリームに再度含まれるように）保護コンテンツをすでに出力しているかどうかに基づいて変わる場合がある。
【００４８】
ブロック６０６で、ストリーミングコンテンツ配信システム１１０は、コンテンツストリームを形成するコンテンツ部分のセットの隠し識別子を含んだ、コンテンツストリームのために隠しマニフェストを生成する。例示的には、コンテンツ部分は、（保護コンテンツであってよい）任意の追加コンテンツの部分だけではなく、メインコンテンツの部分に相当する場合がある。追加コンテンツの一部分が、マニフェストの他の部分に似ていない長さとなるであろういくつかの例では、コンテンツ部分は、メインコンテンツと追加コンテンツとの間の組み合わせに相当してよい。部分がストリーミングコンテンツ配信システム１１０でまだ利用できない場合、ストリーミングコンテンツ配信システム１１０を用いて（例えば、コンテンツ生成サービス１１６を使用することにより）該部分を生成させてよい。ブロック６０６の実施態様は、さらに、コンテンツ部分ごとの隠し識別子のセットの生成を含んでよい。例示的には、ストリーミングコンテンツ配信システム１１０は、隠し識別子として機能する暗号化された識別子を生成するために各部分の実際の識別子を暗号化アルゴリズムに通す場合がある。各隠し識別子は、次いで隠しマニフェストの一部として含まれてよい。
【００４９】
ブロック６０７で、ストリーミング配信システム１１０は、隠し識別子によって識別された複数のコンテンツ部分を含んだ隠しマニフェストをクライアントコンピューティングデバイス１０２に送信する。クライアントコンピューティングデバイス１０２は、次いでその中で隠し識別子を使用し、（例えば、ストリーミングコンテンツ配信システム１１０で実行中のウェブページまたはアプリケーションの一部として提供される実行可能なコードを利用し）コンテンツ部分を要求するために隠しマニフェストを利用してよい。したがって、ブロック６０８で、ストリーミングコンテンツ配信システム１１０は、隠し識別子を用いて隠しマニフェストの中で識別されたコンテンツ部分（または一部分）に対する要求（または１つの要求）を受け取る。
【００５０】
ブロック６１０で、ストリーミングコンテンツ配信システム１１０は、要求で受け取られた隠し識別子を実際の識別子に変換し、クライアントコンピューティングデバイス１０２に識別されたコンテンツ部分を返す。例示的には、隠し識別子が、コンテンツ部分を実際の識別子を暗号化することによってブロック６０６で生成された場合、ブロック６１０は、コンテンツ部分の隠し識別子を復号して、実際の識別子を生じさせることを含んでよい。実際の識別子は、次いでコンテンツ部分を入手し、出力のためにクライアントコンピューティングデバイス１０２にコンテンツ部分を返すために利用されてよい。
【００５１】
ブロック６１２で、ルーチン６１２の実施態様は、追加マニフェストコンテンツがクライアントに送信されるかどうかに基づいて変わる場合がある。例示的には、すべてのコンテンツ部分を識別するマニフェストがクライアントコンピューティングデバイス１０２に送信された場合、ルーチン６００はブロック６１６で終了してよい。クライアントコンピューティングデバイス１０２に提供されるコンテンツストリームが、クライアントコンピューティングデバイス１０２に対するマニフェストの中でまだ識別されていない追加コンテンツ部分を含む場合、ルーチン６００は、ストリーミングコンテンツ配信システム１１０が、再びストリームに含められるコンテンツ部分を決定してよいブロック６０４に続行する。上述したように、これらの部分は、クライアントコンピューティングデバイス１０２に関するモニタリング情報に基づいてブロック６０４の実施態様間で変わる場合がある。例えば、モニタリング情報が、（例えば、クライアントがそのコンテンツを「読み飛ばした」ために）クライアントコンピューティングデバイス１０２が保護部分を出力していないことを示す場合、ストリーミングコンテンツ配信システム１１０は、マニフェストの後の位置で保護コンテンツを挿入し直す場合もあれば、モニタリング情報が保護コンテンツが見られたことを示すまでマニフェストから他のコンテンツ（例えば、メインコンテンツ）を除外する場合もある。ルーチン６００は、次いで、すべてのコンテンツ部分がクライアントコンピューティングデバイス１０２に識別されるまで続行し、その時点でルーチン６００はブロック６１６で終了する。
【００５２】
ルーチン６００は順々に説明されるが、ルーチン６００の種々のブロックの実施態様は、少なくとも部分的に並行して発生してよく、ストリーミングコンテンツ配信システム１１０の中の異なる構成要素によって達成されてよい。例えば、マニフェスト生成サービス１１４は、ブロック６０２から６０７を実施してよい。一方、ＰＯＰ１１２はブロック６０８及び６１０を実施してよい。有利なことに、各構成要素が、コンテンツ部分の実際の識別子を隠し識別子に変換するために利用されるプロセスを認識している場合、分散したやり方でルーチン６００を実施するためには構成要素間で情報を交換する必要はほとんどない、またはまったくない。
【００５３】
本開示の実施形態の例は、以下の条項を鑑みて説明できる。
１．ストリーミングコンテンツを、前記ストリーミングコンテンツの部分がブロックされるまたは削除されるのを妨げるように提供するためのシステムであって、
メインコンテンツに相当するコンテンツ部分の第１のセットであって、第１の命名方式に係るファイル名で識別されたコンテンツ部分の前記第１のセットと、
追加コンテンツに相当するコンテンツ部分の第２のセットであって、第２の命名方式に係るファイル名で識別されたコンテンツ部分の前記第２のセットと、
を含むデータストアと、
コンピュータ実行可能命令で構成された１つ以上のコンピューティングデバイスであって、前記コンピュータ実行可能命令が、実行時に、前記コンピューティングデバイスに、
クライアントコンピューティングデバイスから、前記メインコンテンツを含んだストリーミングコンテンツを提供するようにという要求を入手することと、
前記追加コンテンツが、前記ストリーミングコンテンツに含められると判断することと、
前記隠しマニフェストファイルが、前記ストリーミングコンテンツを形成する複数のコンテンツ部分であって、暗号化された命名方式で識別される前記複数のコンテンツ部分を含む、隠しマニフェストを前記ストリーミングコンテンツのために生成することであって、前記隠しマニフェストファイルを生成することが、
コンテンツの前記第１のセットの前記ファイル名を暗号化して、暗号化されたファイル名の第１のセットを生じさせることと、
コンテンツの前記第２のセットの前記ファイル名を暗号化して、暗号化されたファイル名の第２のセットを生じさせることと、
前記隠しマニフェストファイルに暗号化ファイル名の前記第１のセット及び前記第２のセットを含めることと
を含む、前記生成することと、
前記クライアントコンピューティングデバイスに前記隠しマニフェストを送信させることであって、前記クライアントコンピューティングデバイスが、前記隠しマニフェストの中で識別されたコンテンツ部分を取り出し、出力することによって前記ストリーミングコンテンツを出力するように構成される、前記送信することと、
を行わせる、前記１つ以上のコンピューティングデバイスと
を備える、前記システム。
【００５４】
２．前記１つ以上のコンピューティングデバイスが、さらに
前記クライアントコンピューティングデバイスから、暗号化されたファイル名に従って識別されたコンテンツ部分に対する要求を受け取ることと、
前記暗号化ファイル名を復号して、復号されたファイル名を生じさせることと、
前記復号されたファイル名が、コンテンツ部分の前記第１のセットからコンテンツ部分を識別すると判断することと、
前記要求に応えて前記クライアントコンピューティングデバイスに前記コンテンツ部分を送信することと、
のために前記コンピュータ実行可能命令で構成される、条項１に記載のシステム。
【００５５】
３．前記メインコンテンツが、音声コンテンツ、ビデオコンテンツ、またはテキストコンテンツのうちの少なくとも１つである、条項１に記載のシステム。
【００５６】
４．前記追加コンテンツが、免責事項、警告、クレジット、献辞、または広告のうちの少なくとも１つである、条項１に記載のシステム。
【００５７】
５．コンピュータによって実装される方法であって、
クライアントコンピューティングデバイスからストリーミングコンテンツを提供するようにという要求を受け取ることと、
前記ストリーミングコンテンツに含められる複数のコンテンツ部分を決定することであって、前記複数のコンテンツ部分が、第１の識別方式を利用するコンテンツ部分の第１のセットと、第２の識別方式を利用するコンテンツ部分の第２のセットの両方を含む、前記決定することと、
前記ストリームコンテンツのための隠しマニフェストを生成することであって、前記隠しマニフェストを生成することが、共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成することと、前記隠しマニフェストの中に前記識別子を含めることとを含む、前記生成することと、
前記クライアントコンピューティングデバイスでの、前記隠しマニフェストの中で識別された前記複数のコンテンツ部分の取り出し及び出力によって、前記ストリーミングコンテンツの出力を容易にするために前記クライアントコンピューティングデバイスに前記隠しマニフェストを送信することと
を含む、前記コンピュータによって実装される方法。
【００５８】
６．共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成することが、コンテンツ部分の前記第１のセット及び前記第２のセットの識別子を暗号化して、前記複数のコンテンツ部分のための暗号化された識別子のセットを生じさせることを含む、条項３に記載のコンピュータによって実装される方法。
【００５９】
７．共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成することが、コンテンツ部分の前記第１のセット及び前記第２のセットと、前記隠しマニフェストの中に含まれる前記複数のコンテンツ部分との間のマッピングを生成することを含む、条項３に記載のコンピュータによって実装される方法。
【００６０】
８．さらに、前記隠しマニフェストの中に含まれる前記複数のコンテンツ部分のための前記識別子を無作為に生成することを含む、条項５に記載のコンピュータによって実装される方法。
【００６１】
９．さらに、
前記クライアントコンピューティングデバイスから、前記共通の識別方式の識別子に従って識別されたコンテンツ部分に対する要求を受け取ることと、
前記共通の識別方式の前記識別子を、前記第１の識別方式の識別子に変換することと、
前記第１の識別方式の前記識別子に対応するコンテンツ部分の前記第１のセットのコンテンツ部分を決定することと、
前記要求に応えて前記クライアントコンピューティングデバイスに前記コンテンツ部分を送信することと
を含む、条項３に記載のコンピュータによって実装される方法。
【００６２】
１０．さらに
前記第１の識別方式の前記識別子に対応する前記コンテンツ部分が、ローカルキャッシュの中に存在すると判断し、前記ローカルキャッシュから前記コンテンツ部分を取り出すこと、または
前記第１の識別方式の前記識別子に対応する前記コンテンツ部分がローカルキャッシュの中に存在しないと判断し、リモートデータストアから前記コンテンツ部分を取り出すことと
のうちの少なくとも１つを含む、条項９に記載のコンピュータによって実装される方法。
【００６３】
１１．さらに、
前記クライアントコンピューティングデバイスでの前記ストリーミングコンテンツの出力に関するモニタリング情報を受け取ることと、
少なくとも部分的に前記モニタリング情報に基づいて前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することと、
少なくとも部分的に、前記共通の識別方式を利用し、前記第２の複数のコンテンツ部分のための識別子を生成することによって、前記隠しマニフェストの追加セクションを生成することと、
前記クライアントコンピューティングデバイスに前記隠しマニフェストの前記追加セクションを送信することと
を含む、条項３に記載のコンピュータによって実装される方法。
【００６４】
１２．前記第２の複数のコンテンツ部分が、メインコンテンツに相当し、
少なくとも部分的に前記モニタリング情報に基づいて、前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することが、前記モニタリング情報が、前記クライアントコンピューティングデバイスが、コンテンツ部分の前記第２のセットによって形成される少なくとも１つの広告を出力したことを示すと判断することを含む、条項８に記載のコンピュータによって実装される方法。
【００６５】
１３．前記第２の複数のコンテンツ部分及びコンテンツ部分の前記第２のセットが同じであり、
少なくとも部分的に前記モニタリング情報に基づいて前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することが、前記モニタリング情報が、前記クライアントコンピューティングデバイスが、コンテンツ部分の前記第２のセットによって形成される少なくとも１つの広告を出力していないことを示すと判断することを含む、条項８に記載のコンピュータによって実装される方法。
【００６６】
１４．システムであって、
複数のコンテンツ部分を含んだデータストアであって、前記複数のコンテンツ部分が、少なくとも２つの識別方式に係る識別子によって識別される、前記データストアと、
コンピュータ実行可能命令で構成された１つ以上のコンピューティングデバイスであって、前記コンピュータ実行可能命令が、実行時に、前記コンピューティングデバイスに、
クライアントコンピューティングデバイスから、ストリーミングコンテンツを提供するようにという要求を入手することと、
前記ストリーミングコンテンツのための隠しマニフェストを生成することであって、前記隠しマニフェストは、前記複数のコンテンツ部分のために共通の識別方式を利用する識別子のセットを含む、前記生成することと、
前記隠しマニフェストを前記クライアントコンピューティングデバイスに送信することと
を行わせる、前記１つ以上のコンピューティングデバイスと
を備える、前記システム。
【００６７】
１５．前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、少なくとも部分的に前記複数のコンテンツ部分の識別子を暗号化して、前記共通の識別方式を利用し、暗号化された識別子のセットを生じさせることによって、前記共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成させる、条項１１に記載のシステム。
【００６８】
１６．前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、少なくとも部分的に前記複数のコンテンツ部分の識別子と、前記隠しマニフェストの中に含まれる識別子との間のマッピングを生成することによって、前記共通の識別方式を利用し、前記複数のコンテンツ部分のための識別子を生成させる、条項１１に記載のシステム。
【００６９】
１７．前記コンピュータ実行可能命令が、さらに、前記コンピューティングデバイスに、少なくとも２つのタイプのコンテンツを再符号化して、前記複数のコンテンツ部分の残りのコンテンツ部分と属性を共用することによって前記複数のコンテンツ部分のうちの少なくとも１つを生成させる、条項１１に記載のシステム。
【００７０】
１８．前記属性が、持続時間、ビットレート、解像度、またはフレームレート、コーデック、コーデックプロファイル、コーデックレベル、サンプルレート、またはチャネルカウントのうちの少なくとも１つである、条項１４に記載のシステム。
【００７１】
１９．前記コンピュータ実行可能命令が、さらに、前記コンピューティングデバイスに、１つ以上の追加コンテンツ部分が共通属性を共用するように前記複数のコンテンツ部分と関連付けられた前記１つ以上の追加コンテンツ部分を再符号化させる、条項１４に記載のシステム。
【００７２】
２０．前記１つ以上の追加コンテンツ部分が、前記複数のコンテンツ部分と関連付けられた音声ストリームまたは字幕のうちの少なくとも１つを含む、条項１９に記載のシステム。
【００７３】
２１．前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記クライアントコンピューティングデバイスから、前記共通の識別方式の識別子に従って識別されたコンテンツ部分に対する要求を受け取ることと、
前記共通の識別方式の前記識別子を、前記少なくとも２つの識別方式から第１の識別方式の識別子に変換することと、
第１の識別方式の前記識別子に対応する前記複数のコンテンツ部分のうちの１つのコンテンツ部分を決定することと、
前記要求に応えて前記クライアントコンピューティングデバイスに前記コンテンツ部分を送信することと、
を行わせる、条項１１に記載のシステム。
【００７４】
２２．前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記クライアントコンピューティングデバイスでの前記ストリーミングコンテンツの出力に関するモニタリング情報を受け取ることと、
少なくとも部分的に前記モニタリング情報に基づいて、前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することと、
少なくとも部分的に、前記共通の識別方式を利用し、前記第２の複数のコンテンツ部分のための識別子を生成することによって前記隠しマニフェストの追加セクションを生成することと、
前記クライアントコンピューティングデバイスに前記隠しマニフェストの前記追加セクションを送信することと、
を行わせる、条項１１に記載のシステム。
【００７５】
２３．前記第２の複数のコンテンツ部分がメインコンテンツに相当し、
少なくとも部分的に前記モニタリング情報に基づいて前記ストリーミングコンテンツに含められる第２の複数のコンテンツ部分を決定することが、前記モニタリング情報が、前記クライアントコンピューティングデバイスが、前記複数のコンテンツ部分の中の少なくとも１つの広告を出力したことを示すと判断することを含む、条項２２に記載のシステム。
【００７６】
本明細書に説明する実施形態は概して、マニフェスト（またはマニフェストのセクション）が作成されるときにクライアントコンピューティングデバイス１０２に送信されるコンテンツ部分を決定するが、他の実施形態が本開示の範囲内で意図される。その結果、いくつかの例では、ストリーミングコンテンツ配信システム１１０は、個々のコンテンツ部分が要求されるときに隠し識別子の実際の識別子へのマッピングを修正してよい。例えば、クライアントコンピューティングデバイス１０２が第１のコンテンツ部分（例えば、メインコンテンツ）を要求するために隠し識別子を使用するが、モニタリング情報が、クライアントコンピューティングデバイス１０２が第２のコンテンツ部分（例えば、広告）をまだ見ていないことを示す場合、ストリーミングコンテンツ配信システム１１０は、たとえ隠し識別子が概して第１のコンテンツのための実際の識別子に変換されるであろうとしても、第２のコンテンツ部分を提供することによって該要求に応えてよい。いくつかの例では、ストリーミングコンテンツ配信システム１１０は、隠し識別子を実際の識別子にマッピングする任意の情報を維持しない場合があるが、隠し識別子で識別されたコンテンツ部分に対する要求が受け取られるので、代わりに臨時に係る決定を下してよい。例えば、ストリーミングコンテンツ配信システム１１０は、あらゆるクライアントコンピューティングデバイスに隠し識別子の同じセットを返すが、個々の要求に応えて、各クライアントコンピューティングデバイスにどのコンテンツ部分が返されるのかを修正してよい。このように隠し識別子をコンテンツ部分に臨時に一致させることは、高い柔軟性を提供するため及びマニフェストを生成する複雑さを制限するためにより小さいシステムでは有益である場合がある。
【００７７】
上述の方法及びプロセスのすべては、１つ以上のコンピュータまたはプロセッサで実施されてよく、１つ以上のコンピュータまたはプロセッサによって実行されるソフトウェアコードモジュールを介して完全に自動化されてよい。コードモジュールは、任意の種類の非一過性のコンピュータ可読媒体または他のコンピュータ記憶装置内に記憶されてよい。方法のいくつかまたはすべては、代わりに専用コンピュータハードウェアで実施されてもよい。
【００７８】
特に明記しない限り、とりわけ、「できる（ｃａｎ）」、「できるであろう（ｃｏｕｌｄ」」、「可能性がある（ｍｉｇｈｔ）」、または「してよい（ｍａｙ」」等の条件的言語は、そうでなければいくつかの実施形態がある特定の特徴、要素、及び／またはステップを含み、一方で他の実施形態が含まないことを示すために概して使用されるとして文脈内で理解される。したがって、そのような条件的言語は、概して、特徴、要素、及び／またはステップが、１つ以上の実施形態に任意の方法で要求されるか、または１つ以上の実施形態が、ユーザー入力もしくはプロンプトを用いて、もしくは用いずに、これらの特徴、要素、及び／またはステップが含まれるのか、それとも任意の特定の実施形態で行われるべきであるかを決定するための論理を必ず含むことを含意することは意図していない。
【００７９】
特に明記しない限り、句「Ｘ、ＹまたはＺのうちの少なくとも１つ」などの選言的な言葉は、そうでなければ項目、用語等がＸ、ＹもしくはＺまたはそのいずれかの組み合わせ（例えば、Ｘ、Ｙ及び／またはＺ）であってよいことを示すために一般的に用いられるとして文脈の中で理解される。ゆえに、係る選言的言語は、特定の実施形態がＸの少なくとも１つ、Ｙの少なくとも１つまたはＺの少なくとも１つがそれぞれ存在することを必要とすることを暗示することを一般的に意図しておらず、意味するべきではない。
【００８０】
特に明記しない限り、『ａ』または『ａｎ』等の冠詞は、概して、１つ以上の記載された項目を含むと解釈すべきである。したがって、「するように構成された装置」等の語句は、１つ以上の列挙された装置を含むことを目的とする。係る１つ以上の列挙された装置は、記載された列挙を実行するように集合的に構成することもできる。例えば、記述「Ａ、Ｂ及びＣを実行するように構成されたプロセッサ」は、列挙Ｂ及びＣを実行するように構成された第２のプロセッサと連動して機能し、列挙Ａを実行するように構成された第１のプロセッサを含む場合がある。
【００８１】
本明細書に説明する、及び／または添付の図面に図示するフロー図のいずれのルーチンの記述、要素、またはブロックも、ルーチンにおける特定の論理的機能または要素を実装するための１つまたは複数の実行可能な命令を含む、モジュール、セグメント、またはコードの部分を潜在的に表すものとして理解されるべきである。代替の実施態様は、本明細書に説明する実施形態の範囲内に含まれ、その中で要素または機能は、当業者によって理解されるであろうように、関係する機能性に応じて、実質的に同時または逆の順序を含む、示され、説明されるものとは異なる順序で削除または実行され得る。
【００８２】
多くの変形形態及び変更形態が上記の実施形態に対して行われ得、それらの要素が他の許容される実施例中にあるものとして理解されることが強調されるべきである。すべての係る変更形態及び変形形態が、本開示の範囲内で本明細書に含有され、以下の請求項によって保護されることが意図される。
【図１】
2019521625.tif 000003
【図２】
2019521625.tif 000004
【図３Ａ】
2019521625.tif 000005
【図３Ｂ】
2019521625.tif 000006
【図４】
2019521625.tif 000007
【図５】
2019521625.tif 000008
【図６】
2019521625.tif 000009
【国際調査報告】
2019521625.tif 000010