(57)【要約】  コンテンツフラグメントの配信と管理を容易にするシステム、方法、ソフトウェアおよび装置について記載する。一実施形態において、パッケージャは、コンテンツをパッケージ化してフラグメントとし、ポリシを含むマニフェストとコンテンツに関連付けられたメタデータとを生成する。ダウンローダは、マニフェストを取得して使用することによって、１つまたは複数のアップローダからコンテンツを取得する。例えば、ダウンローダは、検索要求を１つまたは複数のトラッカに転送してもよい。トラッカは、任意の関連ポリシの制限事項に従って、要求を満たす１つまたは複数のアップローダの位置を特定するよう動作可能である。アップローダは、任意の関連ポリシに従ってダウンローダにフラグメントを転送する。ダウンローダは、フラグメントからコンテンツを編集する。これらのエンティティの処理およびインタラクションは、フラグメントまたはコンテンツなどに関連付けられたポリシの制限事項に従ってもよい。
2010517138.tif 000002
【特許請求の範囲】
【請求項１】
デジタルコンテンツをポリシに基づいて共有する方法であって、
デジタルコンテンツピースの少なくとも第１の部分を形成する第１のコンテンツフラグメントであって、ポリシ情報が確実に関連付けられた第１のコンテンツフラグメントを取得する段階と、
前記デジタルコンテンツピースの少なくとも第２の部分を形成する第２のコンテンツフラグメントを取得する段階と、
前記ポリシ情報を少なくとも部分的に制御して、前記第１のコンテンツフラグメントと前記第２のコンテンツフラグメントとを組み合わせることによって、前記デジタルコンテンツピースの少なくとも一部分を構築する段階と、を有する方法。
【請求項２】
前記ポリシ情報は、ライセンスに関する情報を含む、請求項１に記載の方法。
【請求項３】
前記ポリシ情報は、前記デジタルコンテンツピースおよび／または前記第１のコンテンツフラグメントに確実に関連付けられたマニフェスト中に配置される、請求項１に記載の方法。
【請求項４】
前記マニフェストをトラッカから取得する段階をさらに有する、請求項３に記載の方法。
【請求項５】
アップローダからの前記第１のコンテンツフラグメントを要求する段階と、
前記アップローダに権限付与情報を提示することによって、前記アップローダは、前記第１のコンテンツフラグメントに関連付けられたポリシ情報によって前記アップローダが前記第１のコンテンツフラグメントを提供することを許可されるか否かを決定できるようにする段階と、をさらに有する、請求項３に記載の方法。
【請求項６】
前記権限付与情報は、前記要求する段階を実行するエンティティの識別情報を有する、請求項５に記載の方法。
【請求項７】
デジタルコンテンツをポリシに基づいて共有するシステムであって、
デジタルコンテンツピースの少なくとも一部分を形成する複数のコンテンツフラグメントと、
前記複数のコンテンツフラグメントを特定するよう構成されるマニフェストであって、前記コンテンツフラグメントおよび／または前記デジタルコンテンツピースの少なくとも１つに関連付けられたポリシ情報を有するマニフェストと、
前記コンテンツフラグメントの少なくとも１つを提供するよう構成されるアップローダと、
前記複数のコンテンツフラグメントを取得し、前記ポリシ情報に従って前記コンテンツフラグメントを少なくとも１回使用するよう構成されるダウンローダと、
前記ダウンローダが前記アップローダを容易に見つけることができるよう構成されるトラッカと、を有するシステム。
【請求項８】
前記マニフェストは、一意のデジタルコンテンツ識別情報と、デジタルコンテンツのメタデータと、デジタルコンテンツの配信ポリシ情報と、デジタルコンテンツの保全性ポリシ情報と、デジタルコンテンツの機密性ポリシ情報とから構成されるグループより選択された少なくとも１つの情報構成要素を含む、請求項７に記載のシステム。
【請求項９】
前記マニフェストは、少なくとも１つのコンテンツフラグメント記述子をさらに含む、請求項８に記載のシステム。
【請求項１０】
前記少なくとも１つのコンテンツフラグメント記述子は、一意のフラグメント識別子と、フラグメントの保全性情報と、フラグメントレベルの配信ポリシ情報と、フラグメントのメタデータと、から構成されるグループより選択された少なくとも１つの情報構成要素を含む、請求項９に記載のシステム。
【請求項１１】
前記トラッカは、コンテンツレベルのポリシとフラグメントレベルのポリシとを実行するよう構成される、請求項７に記載のシステム。
【請求項１２】
前記トラッカは、前記ダウンローダにコンテンツフラグメントを転送する権限が与えられたアップローダに関する情報を提供するよう構成される、請求項１１に記載のシステム。
【請求項１３】
前記アップローダは、前記コンテンツフラグメントを前記ダウンローダに提供することと、コンテンツレベルのポリシおよびフラグメントレベルのポリシを実行することと、１つまたは複数のコンテンツフラグメントの場所に関する情報を配信することと、から構成されるグループより選択された少なくとも１つのサービスを提供するよう構成される、請求項７に記載のシステム。
【請求項１４】
前記ダウンローダは、前記コンテンツフラグメントを検証することと、前記コンテンツレベルのポリシおよびフラグメントレベルのポリシを実行することと、前記コンテンツフラグメントを前記コンテンツに再編集することと、前記１つまたは複数のコンテンツフラグメントの場所に関する情報を配信することと、から構成されるグループより選択された少なくとも１つの動作を実行するよう構成される、請求項１３に記載のシステム。
【請求項１５】
完全なデジタルコンテンツを受信する段階と、
前記完全なデジタルコンテンツを複数のコンテンツフラグメントに変換する段階と、
ポリシをマニフェストを介してデジタルコンテンツに関連付ける段階と、を有するデジタルコンテンツを配信する方法。
【請求項１６】
前記ポリシによって、潜在的アップローダは、一定の認証情報を提供するよう要求される、請求項１５に記載の方法。
【請求項１７】
前記ポリシによって、潜在的ダウンローダは、予め定義した順序で前記コンテンツフラグメントの少なくともいくつかを取得するよう要求される、請求項１５に記載の方法。
【請求項１８】
前記ポリシによって、潜在的ダウンローダは、前記複数のフラグメントのいずれかを取得する前に有効なライセンスフラグメントを取得するよう要求される、請求項１７に記載の方法。
【請求項１９】
前記ポリシによって、潜在的ダウンローダは、他のコンテンツを含む１つまたは複数の他のフラグメントを取得する前に、広告を含む１つまたは複数のフラグメントを取得するよう要求される、請求項１７に記載の方法。
【請求項２０】
前記ポリシによって、潜在的ダウンローダは、前記複数のコンテンツフラグメントの少なくともいくつかを取得するのにＤＲＭライセンスから取得した情報を提示するよう要求される、請求項１５に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
著作権の通知
この特許文献の開示には、著作権が保護されたマテリアルが一部含まれる。この著作権の所有者は、米国特許商標事務所の特許ファイルまたはレコードにおいてみられるように、この特許文献または特許開示を複写したとしても異議申立てをしないが、それ以外の場合については、すべての著作権を留保する。
【０００２】
ビットトレント（BitTorrent）、イードンキー２０００（eDonkey2000）、イーミュール（eMule）およびカザー（KaZaA）などのピアツーピア（Ｐ２Ｐ：Peer-to-Peer）ファイルフラグメント共有システムは、インターネット上のコンテンツ、特にビデオファイルなどの比較的サイズの大きいコンテンツを配信するための媒体として、高い人気を博している。しかしながら、これらのシステムは、信頼性および／またはセキュリティの観点から問題が多い。したがって、有償コンテンツアイテムの配信ビジネスにおいて、これらのシステムの実用化は制限されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述した問題点の一部または全部を改善したコンテンツを配信するためのシステム、方法、装置およびソフトウェアについて本明細書で説明する。
【図面の簡単な説明】
【０００４】
【図１】ファイルフラグメントを共有するコンピュータネットワークの概略図である。
【図２】ファイルフラグメントの配信処理を示すフローチャートである。
【図３】ファイルフラグメントの作成処理を示すフローチャートである。
【図４】ファイルフラグメントのアップロード処理を示すフローチャートである。
【図５】ファイルフラグメントのダウンロード処理を示すフローチャートである。
【図６】ファイルフラグメントをトラッカに登録する処理を示すフローチャートである。
【図７】ファイルフラグメントの場所を特定する処理を示すフローチャートである。
【図８】ファイルフラグメントを有するコンテンツの検索および再生処理を示すフローチャートである。
【図９Ａ】ファイルフラグメントを有するコンテンツの検索および再生処理を示すフローチャートである。
【図９Ｂ】ファイルフラグメントを有するコンテンツのパッケージ化、検索および再生処理の他の実施例を示す図である。
【図９Ｃ】ファイルフラグメントを有するコンテンツのパッケージ化、検索および再生処理の他の実施例を示す図である。
【図１０Ａ】本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。
【図１０Ｂ】本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。
【図１０Ｃ】本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。
【図１１】本発明の本質の実施形態を実行するのに使用可能なコンピュータシステムのより詳細な実施例を示す図である。
【発明を実施するための形態】
【０００５】
本明細書で使用されるように、以下の用語は、文脈からそうでないことが明らかでない限り、一般に、次のような意味を持つ。
一般に、「コンテンツ」（すなわち、「デジタルコンテンツ」または「電子コンテンツ」）とは、電子的に記憶／送信された任意のタイプまたはフォーマットのデータまたは他の情報を示す。コンテンツの例として、ソフトウェアピース、デジタル音楽、デジタル映画、デジタル画像、マルチメディアピース、電子ブックまたは他の書類などが含まれるが、これらに限定されない。
【０００６】
一般に、「コンテンツフラグメント」（または「フラグメント」）は、（例えば、映画の一部、歌の一部および画像を含むファイルの一部などの）コンテンツピースのサブセットを示す。フラグメントは、動的に生成されてもよく静的でもよい。「コンテンツフラグメント」は、個々のファイルを含むが、これらに限定されない。
【０００７】
用語「ダウンローダ」は、一般に、コンテンツフラグメントを取得し、コンテンツフラグメントを編集して利用可能なコンテンツピースとし、（通常は、）（例えば、コンテンツを再生したり、視聴したりおよび／または実行したりするなど）このコンテンツピースを利用したりまたはレンダリングしたりするエンティティを意味する。
【０００８】
用語「マニフェスト」は、一般に、コンテンツピースを構成するフラグメントに関する詳細情報を含むファイルまたは他のデータアイテムを意味する。以下でさらに詳細に説明するように、マニフェストには、コンテンツのメタデータ、フラグメントレベルのポリシ、コンテンツレベルのポリシおよび／または（適切なトラッカの問い合わせ先などの）コンテンツまたはフラグメントの検索に関する情報などが含まれることがある。
【０００９】
用語「パッケージャ」は、一般に、コンテンツおよび／またはフラグメントの準備に関連する処理を実行するエンティティを意味する。例えば、パッケージャは、コンテンツをフラグメントに変換し、（おそらく他の供給元から提供されたポリシを含む）関連するポリシ情報を使用して１つまたは複数のマニフェストを生成したり、および／または、配信のためのコンテンツまたはフラグメントの準備に関する他のタスクを実行したりすることがある。
【００１０】
用語「ポリシ」は、一般に、どのようにコンテンツピースを取得したり、アクセスしたりおよび／または使用したりなどするか、ならびに／あるいは、どのようにシステム内のエンティティのインタラクションが行われるかに関する規則または手続きなど、１つまたは複数の規則または手続きのセットを意味する。
【００１１】
用語「ポリシ実行ポイント」（または「ＰＥＰ（Policy Enforcement Point）」）は、一般に、認証、保全性、機密性および／または権限付与などに関するポリシなどのポリシを実行する（コンピュータシステム、ソフトウェアピースまたはソフトウェアベースのエージェントなどの）エンティティを意味する。いくつかの実施形態では、パッケージャ、トラッカ、アップローダおよび／またはダウンローダの一部または全部が、ポリシ実行ポイントとして機能することがある。
【００１２】
用語「トラッカ」は、一般に、コンテンツおよび／または関連するメタデータの検索を容易にするエンティティを意味する。好ましい実施例では、アップローダと関連するコンテンツフラグメントは、１つまたは複数のトラッカによって見つけることができる。トラッカは、通常は、承認済みのトランスポートチャンネルを介して情報を交換することによってアップローダおよびダウンローダとのインタラクションを行う。
用語「アップローダ」は、一般に、コンテンツフラグメントへのアクセスを提供するエンティティを意味する。
【００１３】
図１は、コンテンツフラグメントを共有するシステムの一実施形態を示す図である。図１に示した例示のためのシステムには、デジタルコンテンツを作成したり配信したり（さらにオプションとして、検索したり使用したり）するように構成されたコンピュータ（１００２）を含むコンピュータネットワーク（１０００）が含まれる。このデジタルコンテンツは、複数のコンテンツフラグメントから構成され、これらのコンテンツフラグメントを組み合わせる（例えば、連結する）ことによって、利用可能なデジタルコンテンツピースを受信側に提供することができる。図１に示すように、コンテンツは、例えば、１つまたは複数のネットワーク（１０１８、１０２４）を介してコンピュータ（１００２）から受信側のコンピュータ（１００４）に配信したり、ならびに／あるいは、基地局（１００６）によってラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯型メディアプレーヤまたは携帯電話などの携帯装置（１００８）にブロードキャストしたりしてもよい。代替方法として、または追加で、コンテンツフラグメントを組み合わせて受信側のコンピュータおよび／または装置（１００４および／または１００８）に（例えばストリーミングなどで）送信してもよい。一実施形態では、個々のコンテンツフラグメントは、（例えば、ＳＨＡ１ハッシュまたは他の任意の適切なハッシュなど）チェック可能なハッシュ、または（例えば、ＲＳＡ署名、ＳＨＡ１署名、または他の任意の適切な署名など）チェック可能なデジタル署名などの保全性について検証するのに有効な関連識別情報および関連情報を有する。
【００１４】
引き続き図１を参照すると、一実施形態において、コンテンツフラグメントは、コンピュータ１００２とネットワーク（１０１８、１０２４）で電子的に通信できる１つまたは複数のサーバコンピュータ（１０１０、１０１２、１０１４、１０２０）またはデータベース（１０１６、１０２２）上に配置される。例えば、コンテンツフラグメントは、インターネットなどの広域ネットワーク（１０２４）を介してコンピュータ１００２とネットワークで接続された１つまたは複数のサーバ（１０２０）またはデータベース（１０２２）上に配置してもよい。同様に、受信側のコンピュータ（１００４）は、コンテンツフラグメントを保存したり送信したりする装置（１００２、１０１０、１０１２、１０１４、１０１６、１０２０、１０２２、１００８）と、ローカルまたは（例えば、インターネットなどの）広域ネットワークを介してネットワーク通信を行うことができる。受信側のコンピュータ（１００４）は、（例えば、ＴＣＰ／ＩＰなどの）任意の適切な通信プロトコルを使用してコンテンツフラグメントを取得する。
【００１５】
図２は、ファイルフラグメントを共有する例示の方法の概要を示す図である。（例えば図１に示したコンピュータ１００２のようなコンピュータを使用するなど）当分野で周知の方法および機器によって作成されたデジタルコンテンツは、パッケージ化されてフラグメントとなる。ここで、１つまたは複数のマニフェストを生成してもよい。さらに、一実施形態において、１つまたは複数のマニフェストおよび／またはフラグメントは、１つまたは複数のポリシを含むかまたは参照してもよい。フラグメントは、１つまたは複数のアップローダにシードされる（２００４）。この場合必ずしもそうである必要はないが、実際には、パッケージャは、最初のアップローダとして機能することが多い。（例えば、図１に示したコンピュータ１００４のユーザのような）ユーザは、（例えば検索エンジン、ディレクトリおよび／またはＷｅｂサービスなどを用いて）検索を実行することによって、あるいは、任意の他の適切な方法によって、フラグメントに関連付けられたマニフェストを取得する（２００６）。そして、このマニフェストは、トラッカを見つけるのに使用される（２００８）。他の実施形態では、トラッカを見つけるのに、マニフェスト以外のメカニズムを使用してもよい。例えば、情報は、単に予め定義された場所に記憶し、この場所を索引ディレクトリなどを介して提供してもよい。
【００１６】
再び図２を参照すると、ダウンローダは、トラッカに対してフラグメントの検索をサブミットし（２０１０）、アップローダからフラグメントをダウンロードする（２０１２）。いくつかの好ましい実施例においては、上述したインタラクションの一部または全部をポリシによって統制するが、以下でさらに詳細に説明するように、これらのポリシは任意の適切な形式をとることができる。
【００１７】
図３は、デジタルコンテンツをパッケージ化してフラグメントとし、これらのフラグメントおよび関連情報をアップロードする例示の方法を示す図である。デジタルコンテンツを、サーバ、（例えば、テープまたは光学媒体などの）アーカイブ記憶媒体またはデータベースなどの供給元から取得する（３００２）。さらに、デジタルコンテンツに関するポリシ情報を、検索または生成する（３００４）。これらのポリシ情報には、例えば、デジタルコンテンツおよび／またはデジタルコンテンツから生成されるフラグメントの配信に関する指示および／または制限事項が含まれてもよい。限定されない一実施例においては、ポリシがファイルのタイプと関連付けられたり、および／または、動作がファイルのタイプによって条件設定されたりする。例えば、一つのファイルのタイプが一定のタイプのポリシを適用すべきであると示すことがある。例えば、映画撮影所では、コンテンツを生成し、この生成したコンテンツをパッケージャに送信してもよい。この場合、パッケージャは、これらのすべてのコンテンツが関連するマニフェストおよび／またはポリシの中に一定の情報を持っていると想定されることを知っている。例えば、ポリシの一つは、このコンテンツを受信する者は、コンテンツを使用するのに有効なライセンスを取得し（または持ってい）なければならないというものでもよい。いくつかの実施形態においては、ポリシは、例えば、オペレータユーザインタフェースによって手作業で割り当てられる。他の実施形態においては、ポリシは、ファイルのタイプ、セマンティックキューおよび／またはコンテンツ解析を用いたソフトウェアのインテリジェント／自動処理によって割り当てられる。利用可能なアプリケーションに従って適切なポリシを決定しこれらのポリシを実行すること、そして、任意の適切なポリシまたはポリシの実行が利用可能であることは、評価されるであろう。いくつかの実施形態においては、一定のコンテンツフラグメントは、静的なものでもよい。一方、例えば、デジタル著作権管理（「ＤＲＭ（Digital Rights Management）」）ライセンスなどの他のものは、動的な（例えば、オンザフライで合成された）ものでもよい。例えば、コンテンツピースに関連付けられたポリシによって、ユーザが有効なライセンスを取得する（または所有していることを証明する）よう要求されることがある。この場合、ライセンスは、フラグメント中に含まれるかまたはフラグメントによって参照され、このフラグメントがポリシによって動的に生成されると示されていることがある。
【００１８】
例えば、コンテンツピース全体および／または特定のコンテンツフラグメントに関するポリシのＸＭＬ記述には、例えば、コンテンツを処理できる媒介の特性および／または識別情報、コンテンツが特定のエンドポイントから送信されなければならないという要件、ならびに／あるいは、合成されたコンテンツをそのままキャッシュに格納してはいけない（例えば、ライセンスフラグメントまたは広告など動的に生成または取得しなければならない）という要件などを指定する配信（認証）ポリシと、フラグメントの１つの属性が要求され、これを検証しなければならないという権限付与ポリシと、コンテンツ全体を検証することができる方法（例えば、コンテンツ中に何のフラグメントが存在しなければならないか）を定義する保全性ポリシと、ならびに／あるいは、（例えば、フラグメントを取り出すのに保護されたチャネルが必要か否かを記述する）機密ポリシとが含まれることがあるが、これらに限定されない。
【００１９】
ポリシを例示する一実施例を以下に示す。
<ContentPolicy id="1">
<DistributionPolicy id="100">
<TrustAnchor>
<X509Certificate/>
</TrustAnchor>
</DistributionPolicy>
<IntegrityPolicy id="200">
<Ordering type="any"/>
<Validation type ="Fragment"/>
</IntegrityPolicy>
<ConfidentialityPolicy id="300">
<ProtectedChannel type="SSL"/>
</ConfidentialityPolicy>
<Fragment id= "F1">
<IntegrityPolicy/>
</Fragment>
...
</ContentPolicy>
【００２０】
上記のポリシの一実施例では、関連付けられたコンテンツを処理しようとしている（例えば、アップロードまたはダウンロードしようとしている）任意のエンティティのデジタル署名は、指定されたＸ．５０９証明書を持つトラストアンカが最終的に発行したものでなければならないという配信ポリシが定義されている。代替方法として、または追加で、配信ポリシによって、関連付けられたコンテンツを処理しようとしているエンティティが、コンテンツを処理する（例えば、ＤＲＭエンジン、ファイル共有ソフトウェアなどの）システムおよび／またはアプリケーションプログラムに関連付けられた（例えば、ＳＡＭＬアサーションなどの）資格証明書または属性を提示するよう要求されることもある。この場合、これらの資格証明書または属性は、システムおよび／またはアプリケーションプログラムについて一定の機能および／またはバージョン番号を持つなどの特性を証明する。例えば、配信ポリシには、要求しているシステムが提示すべきＳＡＭＬアサーションを指定する<RequiredAttribute>フィールドが含まれることがある。このフィールドによって、ポリシの指定および実行のため、システムを使用するエンティティの識別情報からシステム属性を切り離すことができる。いくつかの実施形態においては、ポリシによって、（例えば、アップローダ、ダウンローダまたはトラッカなどの）一定のエンティティだけが、コンテンツを処理するのにデジタル署名を掲示しなければならないと指定されることもある。例えば、いくつかの実施形態において、ポリシには、例えばアップローダにのみ適用されるよう指定する属性フィールドが含まれることもある。一般に、このフィールドを含まないポリシは、すべてのエンティティに適用してもよい。
【００２１】
上記のポリシの一実施例に戻ると、保全性ポリシによって、フラグメントを任意の順序で受信できること、そしてフラグメントごとに認証が行われることが示されている。他の例では、保全性ポリシによって、（例えば、コマーシャルを含むフラグメントは、最初にダウンロードおよび／または使用しなければならない、ならびに／あるいは、ライセンスを含むフラグメントは、最初に取得しなければならない、など)フラグメントは特定の順序で取得しなければならないことを指定することができる。さらに／代わって、フラグメントごとではなくむしろコンテンツ全体で（または他の単位で）、認証を行ってもよい。他の例では、保全性ポリシを何ら指定しなくてもよい。
【００２２】
また、上記のポリシの一実施例では、フラグメントを通信で送受信するとき保護されたチャネルを使用するよう要求する機密性ポリシも指定している。また、上記のように、ポリシによって、個別の一定のフラグメントを認証するとき使用する保全性ポリシが指定される。例えば、フラグメント「Ｆ１」に関連付けられた<IntegrityPolicy/>フィールドによって、ハッシュおよび／またはデジタル署名などを用いてこのフラグメントを認証しなければならないことを示すことができる。上述した実施例では、前記コンテンツピース中の他のフラグメントは、（例えば、ハッシュを用いて保全性を検証しなければならない、または保全性ポリシを適用する必要はない、などと指定する）デフォルトの保全性ポリシを使用して処理される。一般に、いくつかの実施形態では、一定のデフォルトポリシを使用してフラグメントおよび／またはコンテンツ全体を処理することができる。さらに、特定のコンテンツピースに関連付けられたマニフェストにおいてポリシパラメータを追加したり置き換えたりすることによって、マニフェスト中にポリシが指定されないとき適用されるデフォルトポリシを変更したり補足したりすることができる。他の実施形態では、デフォルトポリシを使用せず、コンテンツピースに関連付けられたマニフェストの中で各フラグメントに関するポリシを明確に指定しなければならないこともある。
【００２３】
例示のコンテンツポリシについて説明してきたが、上記のフィールドまたは値のいくつかを含まないポリシ、あるいは、上記で示さなかったフィールドまたは値を含むポリシなど、任意の適切なポリシを定義できることは評価すべきである。このように、任意の適切な形式で定義された任意の適切なポリシを使用できることは、評価に値する。
【００２４】
引き続き図３に示した実施形態の一例を用いると、デジタルコンテンツおよび／またはフラグメントに関するメタデータを取得する（３００６）。メタデータは、コンテンツレベルとフラグメントレベルとの両方で提供されることがあり、コンテンツおよび／またはフラグメント中のデータの特徴を示す任意の情報を有してもよい。メタデータの例としては、デジタルコンテンツのタイトル、コンテンツの作者および／または他の権利所有者の名前、他のコンテンツ識別情報、１つまたは複数のトラッカの場所に関する情報、コンテンツの作動時間、コンテンツに関する警告、ならびに／あるいは、追跡コードなどが含まれるが、これらに限定されない。メタデータは、手動で提供したり、コンテンツから自動的に抽出してマニフェスト中に配置したり、または自動処理と手動処理とを組み合わせて提供することができる。一実施例は、以下で説明する例示のマニフェストデータ構造に含まれる。
【００２５】
図３に示す例において、一旦メタデータが定義または取得されると、デジタルコンテンツからフラグメントが作成される（３００８）。一実施形態において、ファイルフラグメントは、パッケージャによって作成される。このパッケージャは、コンテンツを処理してフラグメントにすると、これらのフラグメントをメタデータおよびポリシによってパッケージ化し（３０１２、３０１４）、それから、これらのうちのいくつかまたはすべてを１つまたは複数のアップローダに渡すかまたはシードする。いくつかの実施形態では、アップローダは、本明細書でアップローダに関して説明した他の機能以外に、パッケージ処理を行う。他の実施形態においては、パッケージャとアップローダは別個のものである。図３（および本明細書に提示された他のフローチャート）は、例示を目的としており、他の実施形態において、図３に示す各ステップの順序を変えたり、一定のステップを省略したり、追加のステップを加えたりすることができることは評価されるであろう。
【００２６】
図４は、パッケージャの処理の一実施例を示す図である。図４を参照すると、パッケージャがポリシに従ってコンテンツを自動的にパッケージ化するよう設計されている場合（すなわち、ブロック４００４の「Ｙｅｓ」への出口で示されるようにパッケージャが「インテリジェントである」場合）、パッケージャは、デジタルコンテンツをフェッチする（４００２）。そして、パッケージ化ソフトウェアおよび／またはハードウェアは、多様なアルゴリズムおよび判断基準を用いてコンテンツをフラグメントに細分化することによって、ファイルを自動的に断片化する（４００６）。これらの判断基準の例としては、（例えば、ポリシによって、個々のフラグメントがユーザ固有なので個々のフラグメントにライセンスがパッケージ化されていることを示してもよいし、他のポリシによって、ユーザが最初にライセンスフラグメントを受信またはダウンロードするよう要求してもよい）ポリシパラメータ、および（例えば、処理能力などの）システムの制限事項が含まれる。さらに、判断基準の例としては、（例えば、コンテンツが、成人視聴者を対象とするかまたは成人と子供が混ざった視聴者を対象とするかなど）ある対象者に向けられた広告またはコンテンツに対して異なるフラグメントなど、（例えば、コンテンツの特性に基づくコンテンツの適切な区切り位置の指定などの）多様なフラグメントの組み合わせオプションを提供するためのコンテンツの区切り位置が含まれる。次に、処理フローは、下記のようにステップ４０１０に移る。あるいは、パッケージャがインテリジェントでない場合（すなわち、ブロック４００４の「Ｎｏ」への出口）、オペレータが介入することによって、ファイルフラグメントを作成することができる。例えば、オペレータは、コンテンツおよびポリシを解析して（４００８）、フラグメントを作成することができる（４００９）。
【００２７】
例えば、パッケージャ（またはパッケージャとして機能するよう構成されたアップローダ）がインテリジェントでない場合、オペレータは、手動で指示してパッケージ化を行い、ライセンスと１つまたは複数のコンテンツチャンクとを別々にフラグメントにしてもよい。なぜなら、オペレータは、コンテンツの用途とどのようにプレーヤがコンテンツを利用したいかを理解できるからである。代替方法として、パッケージャがインテリジェントでない場合、オペレータの介入を必要としないデフォルトのパッケージ化ポリシを提供してもよい。例えば、コンテンツをＮバイトの均一サイズのフラグメントにパッケージ化するというポリシでもよい。
【００２８】
図４に示す例では、一旦フラグメントが形成されると、任意のメタデータが追加されたり（４０１０）および／またはポリシが適用されたり（４０１２）する。代替方法として、または追加で、コンテンツをフラグメントにする前にまたはコンテンツをフラグメントにすると同時に、ステップ４０１０および／またはステップ４０１２の一部または全部を実行してもよい。
【００２９】
図３に戻ると、ブロック３００４で特定または生成されたポリシがフラグメントに関連付けられる（３０１０）。そして、メタデータおよびポリシ情報を有するマニフェストが形成される（３０１２）。一実施形態では、関連フラグメントへの参照および関連フラグメントの説明がマニフェストに追加される（３０１４）。マニフェストデータ構造の一実施例を以下に示す。
【００３０】
<Manifest>
<Metadata>
<ContentID>122</ContentID>
<Title>A Test Movie</Title>
</Metadata>
<ContentPolicy>
<DistributionPolicy id="100">
<TrustAnchor>
<X509Certificate/>
</TrustAnchor>
</DistributionPolicy>
<IntegrityPolicy id="200">
<Ordering type="any"/>
<Validation type="Fragment"/>
</IntegrityPolicy>
<ConfidentialityPolicy id="300">
<ProtectedChannel value="SSL"/>
</ConfidentialityPolicy>
</ContentPolicy>
<Fragments>
<Fragment id="F0">
<Size>10000</Size>
<ContentPolicy>
<IntegrityPolicy id="200">
<Validation type="sha1" value ="xxxxxxx"/>
</IntegrityPolicy>
</ContentPolicy>
</Fragment>
</Fragments>
</Manifest>
【００３１】
次に、マニフェストとフラグメントは、１つまたは複数のトラッカに登録される。これらのトラッカによって、デジタルコンテンツにアクセスしようとしている受信者にフラグメントを容易に準備することができるようになる。例えば、トラッカは、１つまたは複数のアクティブアップローダ、ならびに／あるいは、（例えば、ダウンローダなどの）受信者が探しているフラグメントを持つ１つまたは複数のアップローダを特定してもよい。
【００３２】
一実施形態において、トラッカは、アップローダおよびダウンローダからの登録要求を処理する。例えば、アップローダは、アップローダが持つアップロード可能なフラグメントの（例えば、ＴＣＰ／ＩＰアドレスなどの）終端アドレスおよび識別情報と一緒に、アップローダの（例えばＸ．５０９証明書などの）識別情報をトラッカに提供することができる。いくつかの実施形態において、統計またはマーケティングのために使用される情報、あるいは、利用するファイルの数の指定および／または平均サービス時間などのユーザの実績に関する情報など、アップローダまたはダウンローダとトラッカとの間の登録に関連付けられた情報の大部分は、有益な情報であり、必須でなければオプションとして選択することができる。ポリシによってサービスの品質が要求される実施形態のような他の実施形態では、これらの情報が必須になることがある。また、好ましい実施例においては、ポリシの決定および実行(「正当性」)に関する情報も含まれる。例えば、トラッカは、これらの情報を、トラッカが特定のアップローダまたはダウンローダを信用する否か、ならびに／あるいは、トラッカがアップローダまたはダウンローダにサービスを提供する権限を与えられているか否かをポリシに従って決定するのに使用してもよい。いくつかの実施形態においては、トラッカが、特定のアップローダまたはダウンローダを信用すると決定したり、ならびに／あるいは、アップローダまたはダウンローダがトラッカのサービスを利用する権限を与えられていると決定したりした場合、トラッカは、承認または他の応答をアップローダまたはダウンローダに送信したり、（オプションとして）任意の関連統計データを送信したりしてもよい。これらの統計データの限定されない例としては、（アップローダがコンテンツを提供するのにどのくらいのバンド幅を充てるかを決定するため使用することができる情報などの）現在対象のコンテンツを提供している他のサイトに関する情報、（例えば、アップローダはどのくらい速いか、および／または、アップローダは現在どの程度多く使用されているかなどの）帯域幅の使用に関する情報、ならびに／あるいは、（ダウンローダまたはトラッカが続行するため（例えばＴ１接続などの）最低水準のサービスを要求するポリシを評価するのに使用することができる情報などの）サービスの質に関する情報などが含まれてもよい。
【００３３】
図５は、トラッカにアップローダを登録する処理（５０００）の一実施例を示す図である。最初に、アップローダは、トラッカにパッケージとそのコンテンツを登録するよう要求する（５００２）。トラッカは、例えば、アップローダに関連付けられた証明書をチェックすることによって、アップローダに権限が与えられるか否かを決定する（５００４）。アップローダに権限が与えられる場合、要求は受け入れられ（５００６）、（一般に）アップローダの終端アドレスに関する情報が記憶される。また、オプションとして、例えば、承認および／または統計情報などを含む応答をアップローダに送ってもよい（５００８）。代わって、アップローダに権限が与えられない場合、すなわち、ステップ５００４の応答が「Ｎｏ」の場合、拒否応答をアップローダに提供し（５０１０）、処理は終了する。
【００３４】
いくつかの実施形態において、トラッカは、ダウンローダからの検索要求を処理することがある。例えば、ダウンローダは、コンテンツ（および、場合によっては、関連付けられたポリシ）を特定したり、さらに（オプションとして）１つまたは複数のトラッカを特定したりする１つまたは複数のマニフェストを取得してもよい。ダウンローダは、関連付けられた任意の関連ポリシに従って、関連フラグメントの要求をトラッカによって特定されたアップローダに送信し、フラグメントを取得し、フラグメントを検証し、フラグメントをデジタルコンテンツに編集することによって、ダウンローダ／ユーザがアクセスしたり使用したりできるようにする。
【００３５】
図６は、ダウンローダをトラッカに登録する処理の一実施例を示す図である。（１つのダウンローダを複数のトラッカに登録してもよいことは、評価されるであろう。）最初に、例えば、所望のコンテンツピースおよび／またはそのフラグメントに関連付けられたアップローダを見つける要求がトラッカに送られる（６００２）。例えば、一実施形態において、ダウンローダは、ダウンローダ自体とダウンローダが所望するフラグメントとを特定する情報を提供する。例えば、ダウンローダは、（例えば、音楽クラブおよび／または購読サービスなどの）一定のグループのメンバであること、ならびに／あるいは、一定のハードウェアおよび／またはソフトウェアを有することを証明する情報を提供することができる。トラッカは、例えば、ダウンローダが提供した識別情報および／または他の情報が任意の関連ポリシに準拠するか否かをチェックすることによって、ダウンローダに権限が与えられるか否かを決定する（６００４）。ダウンローダに権限が与えられる場合、要求は受け入れられ（６００６）、オプションとして、ダウンローダに応答が送られる（６００８）。この応答には、例えば、ダウンローダの要求を処理することができる１つまたは複数の関連アップローダの終端アドレスおよび／または（例えば、接続スピードなどの）統計情報が含まれる。他の場合、すなわち、ダウンローダに権限が与えられない場合、すなわち、ステップ６００４における答えが「いいえ」の場合、拒否応答がダウンローダに提供される（６０１０）。
【００３６】
図７は、例示の一実施形態におけるダウンローダとトラッカとの間のインタラクションの詳細を示す図である。図７に示すように、ダウンローダは、トラッカに検索要求を送信する（７００２）。トラッカは、関連ポリシに基づいて、ダウンローダに権限が与えられるか否かを決定する（７００４）。ダウンローダに権限が与えられない場合、要求は拒否される（７００６）。そうでない場合、検索要求は処理され（７００８）、ダウンローダの要求を処理するのにアップローダが使用可能か否かを決定する（７０１０）。要求を処理するのにいずれのアップローダも使用できない場合、処理は終了する。そうでない場合、関連アップローダの場所をダウンローダに通知する（７０１２）。
【００３７】
ダウンローダは、一旦、少なくとも１つの適切なアップローダについて通知されると、アップローダとコンタクトを取って要求を実現するのに必要なフラグメントを取得する。図８は、この処理の一実施例を示す図である。図８に示すように、ダウンローダは、トラッカによって特定されたアップローダにフラグメントの要求を送信する（８００２）。このとき、アップローダは、ポリシに基づいてダウンローダに権限が与えられるか否かを決定してもよい（８００４）。ダウンローダに権限が与えられない場合、要求は拒否され（８００６）、処理は終了する。そうでない場合、要求は処理される（８００８）。一実施形態では、この処理において、例えば、ポリシが要求する場合、例えば、コンテンツの参照先をダウンローダに送り返し、（オプションとして）アップローダとダウンローダとの間にセキュアチャネルを開通しなければならないことがある（８０１０）。例えば、コンテンツの参照先として、ファイル転送用のセキュアソケットレイヤ（「ＳＳＬ（Secure Socket Layer）」）のエンドポイントを指定したり、あるいは、この参照先に、アップローダとダウンローダとの間の通信チャネル上でコンテンツを暗号化および／または解読するのに使用する鍵を運んだりしてもよい。一実施形態において、コンテンツの参照先とは、ダウンローダに実際にファイルを入手するのに必要な情報を与えるものである。この情報は、（コンテンツを取得するための、例えば、ＵＲＬ、ファイル名および／またはプロトコルなどの）完全修飾名または別称など、（例えば、コンテンツがどこに位置し、コンテンツが何であるかを特定することによって）コンテンツを参照するのに十分に適した任意の手段と考えることができる。その後、一実施形態では、フラグメントがアップローダからダウンローダに転送され（８０１２）、ダウンローダによってアクセス用に編集される（８０１４）。ここで、「編集」とは、一般に、フラグメントをダウンローダ／ユーザが利用できる形式にする処理を意味する。いくつかの場合、編集において、コンテンツに関連付けられたすべてのフラグメントを統合しなければならないことがある。他の場合、１つまたは複数の個々のフラグメントは、コンテンツを利用（または、利用を開始または継続）するのに十分であることがある。
【００３８】
一実施形態において、トラッカ、アップローダおよびダウンローダの各々は、ポリシ実行ポイント（Policy Enforcement Point）として機能し、トラッカ、アップローダおよびダウンローダの各々は、マニフェストに含まれているポリシを実行する。例えば、一実施形態において、トラッカ、アップローダおよびダウンローダの各々は、認証ポリシが、もしあれば、満たされているか否か（例えば、要求しているエンドポイントを信用するか否か）を決定したり、保全性ポリシが、もしあれば、満たされていているか否か（例えば、コンテンツが有効であるか否か）を決定したり、および／または、機密性ポリシが、もしあれば、満たされているか否か（例えば、保護されたチャネルが必要か否か）を決定したりする。他の実施形態では、一部のトラッカ、アップローダおよびダウンローダだけが、上述した（または他の）一部または全部のポリシのポリシ実行ポイントとして機能する。
【００３９】
実施例
コンテンツのレンタルおよび購入
本明細書で述べたシステム、方法、装置およびソフトウェアは、容易に構成を変更できるので、レンタルまたは購入などのために（例えば、映画および／またはソフトウェアなどの）コンテンツを配信する柔軟なビジネスモデルを提供する。一実施形態において、消費者は、彼らがレンタルまたは購入したいコンテンツを選ぶことができる。例えば、レンタル用コンテンツは、購買用コンテンツより低価格でもよく、レンタル用コンテンツへのアクセスの有効期限は、一定期間後に終了してもよい。いくつかの実施形態では、コマーシャルがコンテンツに含まれてもよい。代替方法として、または追加で、いくつかの実施形態において、消費者は、コマーシャルのないコンテンツに対して割増料金を支払ってもよい。
【００４０】
例えば、ビデオ店は、ポリシの定義に従って、コンテンツピースに素材を追加してパッケージ化してもよい。例えば、ポリシによって、購入者が追加の割増料金を支払わないことを選んだ場合、購入者はコマーシャルと一緒にコンテンツをダウンロードしてコンテンツ内にこれらを編集しなければならないことが指定されていると、コマーシャルは別個のフラグメントで提供されることがある。同様に、レンタル用のポリシによって有効期限を定義し、この有効期限後は、レンタルの契約を更新するかまたは買い取らない限りコンテンツを使用できないようにしてもよい。このビジネスモデルを実現するため、ユーザがコンテンツにアクセスするのに有効なＤＲＭライセンスを取得することを要求するポリシを、コンテンツに関連付けられたマニフェスト中に含めてもよい。このライセンスは、例えば、２００７年８月２日に米国特許出願公開第２００７／０１８０５１９号として公開され、「デジタル著作権管理エンジンシステムおよび方法」という題名の米国特許出願第１１／５８３，６９３号（以下、「米国出願‘６９３」という）に記載されている形式でもよいが、これに限定されない。米国出願‘６９３の内容は、すべて参照によって本明細書中に組み込まれる。ダウンローダのシステム上で動作する（米国出願‘６９３に記載されたような）デジタル著作権管理エンジンは、このライセンスを使用して、有効期限、コマーシャルの視聴、ならびに／あるいは、コンテンツへのアクセスまたはコンテンツの他の使用に関連付けられた他の規則を実行することができる。例えば、フラグメントは、暗号化された形式であってもよいし、ダウンローダは、マニフェストから、コンテンツにアクセスするのにライセンスが必要であると決定してもよい。このとき、ダウンローダは、（例えば、有効期限が切れていないライセンスなどの）有効なライセンスがなければ、ダウンロードされたフラグメントを使用することができないことを知った上で、ダウンロードを続けるか否かを決定することができる。代替方法として、または追加で、ダウンローダのサイトで動作するＤＲＭエンジンは、ファイルをダウンロードする前に、関連ライセンスを評価することによって要求されたファイルの使用に権限が与えられるか否かを知ることができる。こうして、ユーザは、ファイルをダウンロードしてからファイルの所望の使用に権限が与えられないことを知るという不便さを回避することができる。いくつかの実施形態において、ダウンローダがファイルを使用するのに必要なライセンスを持っていないと判断した場合、トラッカおよび／またはアップローダは、このライセンスを、どのようにおよび／またはどこで取得することができるかに関する（例えば、ＵＲＬなどの）情報をダウンローダに返してもよい。さらに、他の実施形態においては、アップローダおよび／またはトラッカは、特定のダウンローダがコンテンツを取得するのに権限が与えられる期間の経過を追跡することができる。したがって、アップローダおよび／またはトラッカは、（例えばダウンローダのコンピュータシステム上のソフトウェアによって実行される別個のＤＲＭライセンスを使用せずに）直接、有効期限または試用期間などのポリシを実行することができる。このように、ダウンローダにおいてまたはダウンローダによって、アップローダにおいてまたはアップローダによって、トラッカにおいてまたはトラッカによって、ならびに／あるいは、これらの組み合わせを含む任意の適切な方法によって、ポリシを表現したり実行したりすることができることは、評価されるであろう。また、ポリシは、コンテンツファイルに関連付けられたマニフェストの中で表現することができ、フラグメントを介してこれらのファイルに関連付けられたライセンスまたは他の手段において表現することができる。そして、ポリシは、システムアーキテクチャのレベルで、あるいは、これらのメカニズムまたは他のメカニズムの任意の組み合わせで実行することができる。
【００４１】
図９Ａは、例示の実施形態を示す図である。図９Ａに示すように、コンテンツピースを購入するかまたはレンタルするかのオプションの選択を消費者／ダウンローダに提供する（９００２）。消費者／ダウンローダは、オプションまたはオプションセットを選択してトランザクションを定義し（９００４）、消費者の選択をダウンロードソフトウェアに入力する（９００６）。消費者／ダウンローダは、コンテンツに関するマニフェストのコピーを取得する（９００８）。そして、消費者／ダウンローダは、トラッカに登録し（９０１０）、関連検索パラメータを送信して消費者／ダウンローダの選択によって定義された必要なコンテンツおよびポリシについて場所を特定して取り出す（９０１２）。消費者／ダウンローダがコンテンツの購入を選択した場合、「レンタルか？」の決定ポイント（９０１４）で「Ｎｏ」の選択肢をたどり、トラッカは、コンテンツの購入に関するマニフェストを特定する（９０１６）。（コマーシャルがないため割増料金となるコンテンツの選択肢など、他の選択肢も提供されることは評価されるであろう。）他の場合、「Ｙｅｓ」の選択肢をたどると、トラッカは、コンテンツのレンタルに関するマニフェストを特定する（９０１８）。いずれの場合においても、次に、トラッカは、アップローダを特定し（９０２０）、消費者／ダウンローダにアップローダの識別情報を転送する（９０２２）。すると、消費者／ダウンローダは、アップローダに登録し（９０２４）、適切なポリシに従ってコンテンツを取り出す（９０２６）。例えば、消費者／ダウンローダは、ポリシによって、消費者／ダウンローダのコンピュータシステム上の改竄防止ＤＲＭエンジンが行使可能な有効ＤＲＭライセンスを所有するかまたは取得するよう要求されることがある。
【００４２】
図９Ｂおよび９Ｃは、他の実施例を示す図である。図９Ｂに示すように、コンテンツプロバイダは、米国出願‘６９３に記載されているようなＤＲＭエンジンを使用することによって少なくとも一部統制されたコンテンツを提供しようとすることがある。コンテンツプロバイダは、コンテンツを単に借りるだけのユーザには、動的に合成された一定のコマーシャルを見るようさらに要求しようとする一方、コンテンツを購入するユーザには、これらのコマーシャルを見ずにコンテンツを再生することを許可しようとすることがある。図９Ｂに示すように、コンテンツプロバイダは、米国出願‘６９３に記載された技術を使用してコンテンツをパッケージ化する（例えば、コンテンツを暗号化してライセンスと関連付ける）ことがある（９０３０）。また、コンテンツプロバイダは、コンテンツを断片化してフラグメントとし（９０３２）、マニフェストをコンテンツに関連付ける（９０３４）。このマニフェストには、（ａ）ダウンローダが、有効なバージョンのＤＲＭエンジンおよび／またはファイル共有ソフトウェアを持つことを示すＳＡＭＬアサーションを提示するよう要求するポリシと、（ｂ）ダウンローダが、一旦ＤＲＭエンジンによって評価されると、ユーザが借入者または購入者の何れであるかを決定するＤＲＭライセンスを含むフラグメントを、最初にダウンロードするよう要求するポリシと、（ｃ）ＤＲＭエンジンがＤＲＭライセンスによってダウンローダが借入者であると決定した場合、ダウンローダが、次にコマーシャルをダウンロードするよう要求するポリシと、が含まれる。本明細書の他の箇所で説明したように、こうして、コンテンツプロバイダ（または、コンテンツプロバイダのために動作するパッケージャ）は、１つまたは複数のアップローダおよびトラッカにコンテンツフラグメントおよびマニフェストを配信する（９０３６）。
【００４３】
図９Ｃを参照すると、ユーザは、標準の検索エンジンまたは任意の他の適切な手段を使用してコンテンツを検索することができる（９０４０）。図９Ｂにおいてパッケージ化されたコンテンツを（例えば、トラッカを介して）見つけると、マニフェストで指定されたポリシに従って、ユーザは、最初に、有効なライセンスを取得するよう要求される（９０４２）。例えば、ユーザは、マニフェストによってこれらのライセンスを取得できる場所を指示されることがある。このとき、ユーザは、（例えば、支払情報、識別情報などの）任意の関連情報を提供して、ＤＲＭライセンスを受け取ってもよい。他の実施形態においては、マニフェストは、単にライセンスを含むかまたは参照する特定のフラグメントを最初に取得するよう要求するだけでもよい。この場合、このフラグメントに関して指定された機密性、保全性および／または他のポリシを適用することによって、例えばライセンスを保護することができる。例えば、ライセンス自体が、例えばＤＲＭシステムなどによって独立して保護されない場合、この実施形態が望ましいことがある。他の実施形態において、ライセンスは、ライセンスが適用されるコンテンツの少なくとも一部を含むフラグメントに含まれることがある。このように、任意の適切な方法でライセンスを取得できることは、評価に値する。例えば、トラッカは、アップローダのＤＲＭライセンスを含むフラグメントをユーザに提供できるアップローダをユーザに指示してもよいが、これに限定されない。このライセンスは、一般にダウンローダに対しては無効であるが、有効なライセンスを取得できる場所へのポインタを含むことがある。
【００４４】
図９Ｃを再び参照すると、一旦ダウンローダが有効なＤＲＭライセンスを受け取ると、ダウンローダのＤＲＭエンジンは、ＤＲＭライセンスを評価し（９０４３）、ユーザが借入者または購入者のいずれであるかを決定する（９０４４）。ユーザが借入者であると決定した場合（すなわち、ブロック９０４４の「Ｙｅｓ」の出口の場合）、マニフェスト中で表現されたポリシに従って、ユーザは、ファイル共有ソフトウェアによってコマーシャルを含むフラグメントを最初に取得するよう要求される（９０４６）。一方、ユーザが購入者であると決定された場合（すなわち、ブロック９０４４の「Ｎｏ」の出口の場合）、ユーザは、ファイル共有ソフトウェアによってコンテンツフラグメントを直ちに取得し始めることを許可される（９０４８）。コンテンツフラグメントを取得すると、ユーザのＤＲＭエンジンは、例えば、ＤＲＭライセンスに含まれる復号鍵またはＤＲＭライセンスによって参照される復号鍵を使用して、コンテンツフラグメントの復号化を制御する（９０５０）。また、ＤＲＭエンジンは、ＤＲＭライセンス中で指定される他の任意の規則または制限事項を実行する。この他の限定されない実施例は、米国出願‘６９３に記載されている。このように、本実施例において、マニフェストで指定されたポリシは、（例えば、最初にライセンスフラグメントを取得し、次に任意の必須コマーシャルを取得し、それからコンテンツを取得するなどの）フラグメントの時間的順序を指示する。一方、ＤＲＭエンジンは、（例えば、経過後コンテンツを視聴することができなくなる有効期限などの）ＤＲＭライセンスで指定された他の任意の要求事項の復号化および実行を制御する。
【００４５】
図９Ｂと９Ｃに関して記載された実施例が例示を目的として提供されており、本明細書に開示された原理を逸脱しない限り多くの変更を加えることができることは、評価されるであろう。例えば、マニフェストによって必ずしもライセンスフラグメントを最初に取得するよう要求しなくてもよく、ユーザが借入者または購入者のいずれであるかに関してはライセンスに関係なく決定してもよく、借入者または購入者の区別以外の区別をしてもよく、さらに、コマーシャルを見ること以外の義務を課してもよい。このように、本実施例によって示された一つの実現可能なケースでは、ＤＲＭシステムとファイル共有システムとのインタラクションによって、保護されたコンテンツピースへのアクセスを制御することができる。一方、本実施例では、本発明の本質に関連付けられた多数の多様な独立した発明の概念が例示されており、これらは必ずしも本実施例で提示された特定の方法で組み合わせなければならないわけではないことは評価されるであろう。
【００４６】
コンテンツ制御
他の一実施例において、コンテンツプロバイダは、バラエティーショウやスキットで構成されたプログラムなどの複数のセグメントを有するコンテンツを提供する。いくつかのセグメントには他より過激な素材が含まれており、この場合、コンテンツプロバイダは、成人加入者に不便を感じさせることなく未成年購入者のアクセスを制御することを望む。これを実行するため、プロバイダは、マニフェスト中にポリシを指定し、このポリシによって購入者が一定のフラグメントをダウンロードしたり取り込んだりするのに特定の年齢要件を満たすよう要求してもよい。例えば、一実施形態において、コンテンツの各セグメントは、ダウンロードされたコンテンツ中にそのセグメントを含めるのに必要な条件を定義する関連付けられたポリシまたはメタデータ（または両方）を有する。コンテンツを構成するフラグメントは、「オンザフライで」ダウンローダへ運ばれてコンテンツに合成される。他の一実施例では、コンテンツは、多様なセグメントを定義するすべてのフラグメントから構成され、コンテンツを再生するとき、コンテンツ全体に関するポリシによってどのフラグメント（または、セグメント）を購入者に提示するかを定義する。
【００４７】
複数のコンテンツ配信チャネル
さらに他の一実施例においては、コンテンツは、フラグメントの解読に使用される１つまたは複数のライセンスに関連付けられた１つまたは複数のフラグメントで構成される。上述したように、ポリシやライセンスを定義することによってフラグメントやコンテンツを統制することができる。一実施形態において、１つまたは複数のフラグメントライセンスは、コンテンツがレンダリングされるべき（他の実施形態で実行される特定のユーザとは対照的に）特定のデバイスをターゲットとする（特定のデバイスに「ロックされる」）。例えば、一人の消費者は、コンテンツを再生する（例えば、それぞれが映画またはアルバムを再生できるコンピュータ、ホームエンターテインメントシステムおよび携帯電話などの）複数の装置を持つことがある。一実施形態において、コンテンツの配信者は、コンテンツを再生する１つまたは複数のこれらの装置を指定することがある。一実施形態において、１つまたは複数のフラグメントは、ライセンスフラグメントとして定義してもよい。これらのライセンスフラグメントにポリシを関連付け、ライセンスフラグメントが動的に生成されるか、または取得されるかを指定してもよい。いくつかの実施形態において、ポリシによって、権限付与や認証のためレンダリング装置の装置識別情報を提示するよう要求してもよい。そして、装置がコンテンツをローカルにフェッチするとき、この装置用に固有のライセンスがオンザフライで合成される。このように、例えば、いくつかの実施形態においては、ポリシを使用することによって受信者および／または送信者が誰であるかを指定するだけでなく、ポリシを使用することによって、さらに、特定のフラグメントをキャッシュに格納することができるか否か、（例えばライセンスフラグメント、広告フラグメントなどの）特定のフラグメントを動的に生成するかまたは取得する必要があるか否かなどを指定することができる。後者の場合、一般に、動的に生成されたフラグメントを取得できる場所へのポインタが提供される。例えば、広告フラグメントは、最新版の広告を取得できる場所を示してもよい。こうすることによって、広告フラグメントは単に広告へのポインタを含むだけなので、広告フラグメント自体を置き換えなくても、時間の経過またはシステムの（例えば、ユーザから取得した使用情報などの）特定パラメータに従って、含まれる広告を変えることができる。
【００４８】
料金と会計監査
他の実施例では、サービスプロバイダは、ライセンスのない（例えば、海賊版であるかもしれない）コンテンツの流出をシステムを介して監視したり制御したりできる。サービスプロバイダは、アップローダが提供した（または、ダウンローダが要求した）コンテンツピースが、その配信の権限が与えられていない可能性を示す一定の特性を有する（例えば、コンテンツが自身に関連付けられたライセンスを持たないか、あるいは、コンテンツまたはそのマニフェストがライセンスを取得できるメカニズムを指定しないし提供もしない）場合、ユーザがコンテンツを取得するために予め定められた料金を支払ったり予め定められた情報を提供したりするよう要求する（例えば、サービスプロバイダまたはコンテンツの所有者によって、あるいはこれらに代行して実行される）サービスを、トラッカがユーザに示すよう指定するポリシを実行するよう構成されたトラッカグループを配置してもよい。料金は、例えば、サービスプロバイダとコンテンツ制作者との間で交渉してもよい。一方、コンテンツが、関連付けられたライセンスを有するか、そうでなければ権限を与えられた方法で提供されると思われる場合、トラッカは、関連付けられたマニフェストにおいて指定可能な他の任意のポリシに従って、ダウンローダがコンテンツを取得することを許可してもよい。この方法では、サービスプロバイダのシステムによって、コンテンツの権限のない配信からある程度保護することができる。
【００４９】
以上、パッケージャがデジタルコンテンツを処理してフラグメントをパッケージ化し、コンテンツに関連付けられたポリシおよびメタデータを含むマニフェストを生成する実施形態について説明した。アップローダは、フラグメントおよびマニフェストがシードされ、１つまたは複数のトラッカに登録される。ダウンローダは、検索処理においてマニフェストを取得してこれを使用し、オプションとして１つまたは複数のトラッカを使用して、コンテンツを取得する。例えば、ダウンローダは、１つまたは複数のトラッカにフラグメントの検索要求を転送してもよい。これらのトラッカは、今度は、（ａ）任意のポリシの制限事項に従い要求を満たす１つまたは複数のアップローダの場所を特定し、（ｂ）アップローダの識別情報をダウンローダに返すよう動作可能である。このとき、ダウンローダは、トラッカによって特定された１つまたは複数のアップローダとコンタクトを取り、これらのアップローダにフラグメントの要求を転送する。アップローダは、場合によってはセキュアチャネルを使用してダウンローダにフラグメントを転送する。ダウンローダは、フラグメントから、ユーザがアクセスするためのデジタルコンテンツを編集する。これらのエンティティの処理は、フラグメント、コンテンツ全体または両方に関連付けられたポリシの制限事項に従う。
【００５０】
図１０Ａ、図１０Ｂおよび図１０Ｃは、本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。図１０Ａに示すように、デジタルコンテンツの著者、制作者および／または配信者は、パッケージャを使用してコンテンツを処理し、１つまたは複数のアップローダおよびトラッカを介して１つまたは複数のダウンローダに配信できるよう準備することができる。著者の要求や指定に応じて、パッケージャは、ポリシを適用してパッケージ処理を統制したり、および／または、コンテンツに関連付けられたマニフェストの中でポリシを指定して他のエンティティによるコンテンツの使用を統制したりすることができる。例えば、システム上の（例えばアップローダ、ダウンローダおよびトラッカなどの）多様な参加者間で一定形式の認証を要求するポリシ、一定の機密保持のための要求事項を指定するポリシ、ならびに／あるいは、そうでなければ、コンテンツ全体またはコンテンツの個々のフラグメントのアクセスまたは使用を統制するポリシを、マニフェスト中に含んでもよい。一般論として、パッケージャは、任意の関連ポリシを適用し、これらに関連付けられたフラグメントとマニフェストを生成する。図１０Ａに示すように、１つまたは複数のアップローダにフラグメントを配信したり、１つまたは複数のアップローダ、トラッカおよび／またはダウンローダにマニフェストを配信したりすることができる。
【００５１】
図１０Ｂに示すように、アップローダはトラッカに登録することができ、トラッカは、いくつかの実施形態において、ポリシに基づいて、アップローダからのフラグメントの配信要求を承諾するかまたは拒否することができる。アップローダにフラグメントを配信する権限が与えられる場合、アップローダが供給できるフラグメントに関する情報と同様に、アップローダの場所を記録することができる。このとき、この情報を権限のあるダウンローダに渡してもよい。また、いくつかの実施形態において、トラッカは、（例えば、使用に関する統計データなどの）関連統計情報などの他の情報をアップローダに提供してもよい。
【００５２】
図１０Ｂに示すように、ダウンローダは、同様に、トラッカに登録することができる。例えば、ダウンローダは、１つまたは複数のフラグメントの検索要求をトラッカにサブミットしてもよい。このとき、トラッカは、（例えば、ユーザが一定の資格証明書を持つことを要求するポリシなど）関連ポリシに基づいて、要求を承諾または拒否してもよい。要求に権限が与えられる場合、トラッカは、要求されたフラグメントおよび／または（例えば、使用に関する統計データなどの）他の情報を持つ１つまたは複数の権限のあるアップローダの場所を返してもよい。
【００５３】
いくつかの実施形態において、トラッカは、潜在的ダウンローダ（またはアップローダ）から他より多くの情報を要求することがある。例えば、いくつかの実施形態では、トラッカは、匿名のダウンロードを許可してもよい。一方、他の実施形態では、トラッカは、より堅実なバージョンの識別情報を要求してもよい。さらに他の実施形態では、トラッカは、コンテンツの取得または使用のため使用するアプリケーションに関連付けられた属性／資格証明書を提示するように要求することによって、トラッカ（またはアップローダ）によってコンテンツが適正に処理される（例えば、コンテンツがハッキングされたバージョンの関連ファイル共有（または、ＤＲＭ）ソフトウェアまたはハードウェアによって処理されない）ことを保証できるようにする。また、他の実施形態では、これらの（または他の）要件のいくつかの組み合わせを使用してもよい。同様に、いくつかの実施形態において、ダウンローダは、トラッカが自身を特定／認証するよう要求するポリシを持つことがある。こうすることによって、ウイルスを蔓延させようとする偽造トラッカのＵＲＬがダウンローダに与えられた場合でさえ、偽造トラッカは自身を認証することができないので、ダウンローダを保護することができる。このように、システムを、任意または全てのアップローダ、トラッカ、ダウンローダまたは他のシステムエンティティの間で任意の適切な信頼関係を確立しなければならないよう構成できることは、評価されるであろう。例えば、特定のサービスプロバイダ用のトラッカは、コンテンツ配信をそのサービスプロバイダの顧客に制限することを所望し、潜在的ダウンローダがこれらの顧客であることを証明する適切な資格証明書を提示するよう潜在的ダウンローダに要求することがある。このポリシは、コンテンツに関連付けられたマニフェストに含めてもよいし、あるいは、トラッカが要求を評価するため使用するハードウェアまたはソフトウェア中に単にコード化してもよい。同様に、ダウンローダは、通信相手のトラッカおよび／またはアップローダが１つまたは複数の信頼されるパーティに関連付けられるか、または、これらのパーティによって認証されるよう要求することを所望することもあるし、ならびに／あるいは、信頼されるチャネルを使用してアップローダとの任意の通信を行うよう要求することを所望することもある。これらのポリシは、例えば、ダウンローダのファイル共有ソフトウェアによって維持されてもよいし実行されてもよい。以上、一定の有用な実施形態において、トラッカ、アップローダおよびダウンローダの間のインタラクションに関して指定することができる多様なポリシについて、いくつかの実施例を挙げた。しかしながら、一方で、任意の適切なポリシまたは要件を使用することができることは、評価されるであろう。
【００５４】
図１０Ｃに示すように、一旦、アップローダおよびダウンローダが１つまたは複数のトラッカ、マニフェストおよび／または他の手段を使用して互いの場所を特定すると、関連するポリシによって権限が与えられたときデータを交換することができる。これは、一般に、アップローダからフラグメントをダウンロードするダウンローダによって行われる。しかしながら、他の使用形態も実行可能である（例えば、一般的な場合において、ダウンローダ、アップローダおよび／またはトラッカは、任意の適切なサービスインタフェースをサポートすることによって、任意の適切なサービスに問い合わせたり、および／または、これらの問い合わせに応答したりするよう構成されてもよい）。この場合、ダウンローダは、任意の関連付けられたポリシおよび／またはこれらのポリシに関連付けられた他のライセンス情報に従って、コンテンツを利用することができる。
【００５５】
図１１は、本発明の本質の実施形態を実行するのに使用可能なシステム１１００のより詳細な実施例を示す図である。例えば、システム１１００は、ダウンローダとして作動するエンドユーザ装置、ならびに／あるいは、パッケージャ、トラッカおよび／またはアップローダとして作動するコンテンツプロバイダの装置などの実施形態を有してもよい。例えば、システム１１００は、パーソナルコンピュータまたはネットワークサーバなどの汎用コンピュータ装置、あるいは、携帯電話、携帯情報端末、携帯型オーディオ／ビデオプレーヤー、テレビのセットトップボックス、キオスクまたはゲームシステムなどの専用コンピュータ装置などを有することがある。一般に、システム１１００には、プロセッサ１１０２と、メモリ１１０４と、ユーザインタフェース１１０６と、取り外し可能なメモリ１１０８を装着できるポート１１０７と、１つまたは複数のネットワークインタフェース１１１０と、上述の構成要素を接続する１つまたは複数のバス１１１２と、が含まれる。一般に、システム１１００の処理は、メモリ１１０４に記憶されたプログラムの指示によって動作するプロセッサ１１０２によって制御される。一般に、メモリ１１０４には、高速ランダムアクセスメモリ（ＲＡＭ）と、磁気ディスクおよび／またはフラッシュＥＥＰＲＯＭなどの不揮発性メモリとの両方が含まれる。いくつかの実施形態では、メモリ１１０４の一部に対して、システム１１００の他の構成要素が読み取ったり書き込んだりできないようにするなどの制限を与えてもよい。ポート１１０７は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカード、ＳＤカード、ならびに／あるいは、他の磁気媒体または光学媒体などのコンピュータ読み取り可能な媒体１１０８を装着できるディスク装置またはメモリスロットを有してもよい。ネットワークインタフェース１１１０は、一般に、（例えばＬＡＮ、ＷＡＮ、ＶＰＮなどの）インターネットまたはイントラネットなどのネットワーク１１２０を介して、システム１１００と他のコンピュータ装置（および／またはコンピュータ装置のネットワーク）との間を接続するよう動作することができ、（例えば、無線および／またはイーサネット（登録商標）などの）１つまたは複数の通信技術を用いて物理的に接続してもよい。また、いくつかの実施形態では、システム１１００に含まれる処理部１１０３は、システム１１００または他のエンティティのユーザによる不正な行為から保護されることがある。このセキュア処理装置（ＳＰＵ：Secure Processing Unit）は、鍵管理、署名検証、ならびに、他の形態のポリシおよび／またはライセンスの実行などの機密処理においてセキュリティの改善に役立つことがある。
【００５６】
図１１に示すように、コンピュータ装置１１００のメモリ１１０４には、コンピュータ装置１１００の処理を制御する多様なプログラムまたはモジュールが含まれることがある。例えば、一般に、メモリ１１０４には、アプリケーションや周辺機器などの実行を管理するオペレーティングシステム１１２１と、保護された電子コンテンツをレンダリングまたはパッケージ化するホストアプリケーション１１３０と、本明細書に記載したダウンローダ、アップローダおよび／またはトラッカの機能を実行するファイル共有アプリケーション１１３４と、（オプションとして）米国出願‘６９３に記載されている権利管理機能の一部または全部を実行するＤＲＭエンジン１１３２とが含まれることがある。米国出願‘６９３に記載されるように、ＤＲＭエンジン１１３２は、コンテンツの暗号化および／または解読、ハッシュ関数およびメッセージ認証コードの計算、ならびに／あるいは、デジタル署名の評価などの暗号処理を実行する１つまたは複数の暗号モジュール１１２６などの他の多様なモジュールを有したり、共同運用したりおよび／または制御したりしてもよい。また、メモリ１１０４には、一般に、コンテンツアイテム（および／またはコンテンツアイテムのフラグメント）１１２８と、関連付けられたマニフェストおよび／またはライセンス１１３６と、さらに、暗号鍵および証明書など（図示せず）とが含まれてもよい。
【００５７】
当業者であれば、図１１に示したコンピュータ装置と同様または同一のコンピュータ装置を使用して、あるいは、実際には、図１１に示した構成要素のうちのいくつかを持たないコンピュータ装置および／または図示されない他の構成要素を有するコンピュータ装置を含む他の任意の適切なコンピュータ装置を使用して、本明細書に記載したシステムと方法を実現することができることを評価するであろう。このように、図１１は、例示を目的としており、制限を目的としないことを理解すべきである。
【００５８】
以上、デジタルコンテンツフラグメント、特に、フラグメントおよび／またはコンテンツが全体としてポリシ制御に従うデジタルコンテンツフラグメントを提供するシステム、ソフトウェア、方法および装置について説明した。例示のため特定の実施例を提供したが、当業者であれば、本発明の本質の範囲または理念のいずれかを逸脱しない限り、本明細書に記載したシステム、ソフトウェア、方法および装置について他の多くの実施形態が可能であることを理解するであろう。
【図１】
2010517138.tif 000003
【図２】
2010517138.tif 000004
【図３】
2010517138.tif 000005
【図４】
2010517138.tif 000006
【図５】
2010517138.tif 000007
【図６】
2010517138.tif 000008
【図７】
2010517138.tif 000009
【図８】
2010517138.tif 000010
【図９Ａ】
2010517138.tif 000011
【図９Ｂ】
2010517138.tif 000012
【図９Ｃ】
2010517138.tif 000013
【図１０Ａ】
2010517138.tif 000014
【図１０Ｂ】
2010517138.tif 000015
【図１０Ｃ】
2010517138.tif 000016
【図１１】
2010517138.tif 000017
【国際調査報告】
2010517138.tif 000018
2010517138.tif 000019
2010517138.tif 000020