説明

ファイルフラグメントを共有する方法、システムおよび装置

コンテンツフラグメントの配信と管理を容易にするシステム、方法、ソフトウェアおよび装置について記載する。一実施形態において、パッケージャは、コンテンツをパッケージ化してフラグメントとし、ポリシを含むマニフェストとコンテンツに関連付けられたメタデータとを生成する。ダウンローダは、マニフェストを取得して使用することによって、1つまたは複数のアップローダからコンテンツを取得する。例えば、ダウンローダは、検索要求を1つまたは複数のトラッカに転送してもよい。トラッカは、任意の関連ポリシの制限事項に従って、要求を満たす1つまたは複数のアップローダの位置を特定するよう動作可能である。アップローダは、任意の関連ポリシに従ってダウンローダにフラグメントを転送する。ダウンローダは、フラグメントからコンテンツを編集する。これらのエンティティの処理およびインタラクションは、フラグメントまたはコンテンツなどに関連付けられたポリシの制限事項に従ってもよい。

【発明の詳細な説明】
【背景技術】
【0001】
著作権の通知
この特許文献の開示には、著作権が保護されたマテリアルが一部含まれる。この著作権の所有者は、米国特許商標事務所の特許ファイルまたはレコードにおいてみられるように、この特許文献または特許開示を複写したとしても異議申立てをしないが、それ以外の場合については、すべての著作権を留保する。
【0002】
ビットトレント(BitTorrent)、イードンキー2000(eDonkey2000)、イーミュール(eMule)およびカザー(KaZaA)などのピアツーピア(P2P:Peer-to-Peer)ファイルフラグメント共有システムは、インターネット上のコンテンツ、特にビデオファイルなどの比較的サイズの大きいコンテンツを配信するための媒体として、高い人気を博している。しかしながら、これらのシステムは、信頼性および/またはセキュリティの観点から問題が多い。したがって、有償コンテンツアイテムの配信ビジネスにおいて、これらのシステムの実用化は制限されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上述した問題点の一部または全部を改善したコンテンツを配信するためのシステム、方法、装置およびソフトウェアについて本明細書で説明する。
【図面の簡単な説明】
【0004】
【図1】ファイルフラグメントを共有するコンピュータネットワークの概略図である。
【図2】ファイルフラグメントの配信処理を示すフローチャートである。
【図3】ファイルフラグメントの作成処理を示すフローチャートである。
【図4】ファイルフラグメントのアップロード処理を示すフローチャートである。
【図5】ファイルフラグメントのダウンロード処理を示すフローチャートである。
【図6】ファイルフラグメントをトラッカに登録する処理を示すフローチャートである。
【図7】ファイルフラグメントの場所を特定する処理を示すフローチャートである。
【図8】ファイルフラグメントを有するコンテンツの検索および再生処理を示すフローチャートである。
【図9A】ファイルフラグメントを有するコンテンツの検索および再生処理を示すフローチャートである。
【図9B】ファイルフラグメントを有するコンテンツのパッケージ化、検索および再生処理の他の実施例を示す図である。
【図9C】ファイルフラグメントを有するコンテンツのパッケージ化、検索および再生処理の他の実施例を示す図である。
【図10A】本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。
【図10B】本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。
【図10C】本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。
【図11】本発明の本質の実施形態を実行するのに使用可能なコンピュータシステムのより詳細な実施例を示す図である。
【発明を実施するための形態】
【0005】
本明細書で使用されるように、以下の用語は、文脈からそうでないことが明らかでない限り、一般に、次のような意味を持つ。
一般に、「コンテンツ」(すなわち、「デジタルコンテンツ」または「電子コンテンツ」)とは、電子的に記憶/送信された任意のタイプまたはフォーマットのデータまたは他の情報を示す。コンテンツの例として、ソフトウェアピース、デジタル音楽、デジタル映画、デジタル画像、マルチメディアピース、電子ブックまたは他の書類などが含まれるが、これらに限定されない。
【0006】
一般に、「コンテンツフラグメント」(または「フラグメント」)は、(例えば、映画の一部、歌の一部および画像を含むファイルの一部などの)コンテンツピースのサブセットを示す。フラグメントは、動的に生成されてもよく静的でもよい。「コンテンツフラグメント」は、個々のファイルを含むが、これらに限定されない。
【0007】
用語「ダウンローダ」は、一般に、コンテンツフラグメントを取得し、コンテンツフラグメントを編集して利用可能なコンテンツピースとし、(通常は、)(例えば、コンテンツを再生したり、視聴したりおよび/または実行したりするなど)このコンテンツピースを利用したりまたはレンダリングしたりするエンティティを意味する。
【0008】
用語「マニフェスト」は、一般に、コンテンツピースを構成するフラグメントに関する詳細情報を含むファイルまたは他のデータアイテムを意味する。以下でさらに詳細に説明するように、マニフェストには、コンテンツのメタデータ、フラグメントレベルのポリシ、コンテンツレベルのポリシおよび/または(適切なトラッカの問い合わせ先などの)コンテンツまたはフラグメントの検索に関する情報などが含まれることがある。
【0009】
用語「パッケージャ」は、一般に、コンテンツおよび/またはフラグメントの準備に関連する処理を実行するエンティティを意味する。例えば、パッケージャは、コンテンツをフラグメントに変換し、(おそらく他の供給元から提供されたポリシを含む)関連するポリシ情報を使用して1つまたは複数のマニフェストを生成したり、および/または、配信のためのコンテンツまたはフラグメントの準備に関する他のタスクを実行したりすることがある。
【0010】
用語「ポリシ」は、一般に、どのようにコンテンツピースを取得したり、アクセスしたりおよび/または使用したりなどするか、ならびに/あるいは、どのようにシステム内のエンティティのインタラクションが行われるかに関する規則または手続きなど、1つまたは複数の規則または手続きのセットを意味する。
【0011】
用語「ポリシ実行ポイント」(または「PEP(Policy Enforcement Point)」)は、一般に、認証、保全性、機密性および/または権限付与などに関するポリシなどのポリシを実行する(コンピュータシステム、ソフトウェアピースまたはソフトウェアベースのエージェントなどの)エンティティを意味する。いくつかの実施形態では、パッケージャ、トラッカ、アップローダおよび/またはダウンローダの一部または全部が、ポリシ実行ポイントとして機能することがある。
【0012】
用語「トラッカ」は、一般に、コンテンツおよび/または関連するメタデータの検索を容易にするエンティティを意味する。好ましい実施例では、アップローダと関連するコンテンツフラグメントは、1つまたは複数のトラッカによって見つけることができる。トラッカは、通常は、承認済みのトランスポートチャンネルを介して情報を交換することによってアップローダおよびダウンローダとのインタラクションを行う。
用語「アップローダ」は、一般に、コンテンツフラグメントへのアクセスを提供するエンティティを意味する。
【0013】
図1は、コンテンツフラグメントを共有するシステムの一実施形態を示す図である。図1に示した例示のためのシステムには、デジタルコンテンツを作成したり配信したり(さらにオプションとして、検索したり使用したり)するように構成されたコンピュータ(1002)を含むコンピュータネットワーク(1000)が含まれる。このデジタルコンテンツは、複数のコンテンツフラグメントから構成され、これらのコンテンツフラグメントを組み合わせる(例えば、連結する)ことによって、利用可能なデジタルコンテンツピースを受信側に提供することができる。図1に示すように、コンテンツは、例えば、1つまたは複数のネットワーク(1018、1024)を介してコンピュータ(1002)から受信側のコンピュータ(1004)に配信したり、ならびに/あるいは、基地局(1006)によってラップトップコンピュータ、携帯情報端末(PDA)、携帯型メディアプレーヤまたは携帯電話などの携帯装置(1008)にブロードキャストしたりしてもよい。代替方法として、または追加で、コンテンツフラグメントを組み合わせて受信側のコンピュータおよび/または装置(1004および/または1008)に(例えばストリーミングなどで)送信してもよい。一実施形態では、個々のコンテンツフラグメントは、(例えば、SHA1ハッシュまたは他の任意の適切なハッシュなど)チェック可能なハッシュ、または(例えば、RSA署名、SHA1署名、または他の任意の適切な署名など)チェック可能なデジタル署名などの保全性について検証するのに有効な関連識別情報および関連情報を有する。
【0014】
引き続き図1を参照すると、一実施形態において、コンテンツフラグメントは、コンピュータ1002とネットワーク(1018、1024)で電子的に通信できる1つまたは複数のサーバコンピュータ(1010、1012、1014、1020)またはデータベース(1016、1022)上に配置される。例えば、コンテンツフラグメントは、インターネットなどの広域ネットワーク(1024)を介してコンピュータ1002とネットワークで接続された1つまたは複数のサーバ(1020)またはデータベース(1022)上に配置してもよい。同様に、受信側のコンピュータ(1004)は、コンテンツフラグメントを保存したり送信したりする装置(1002、1010、1012、1014、1016、1020、1022、1008)と、ローカルまたは(例えば、インターネットなどの)広域ネットワークを介してネットワーク通信を行うことができる。受信側のコンピュータ(1004)は、(例えば、TCP/IPなどの)任意の適切な通信プロトコルを使用してコンテンツフラグメントを取得する。
【0015】
図2は、ファイルフラグメントを共有する例示の方法の概要を示す図である。(例えば図1に示したコンピュータ1002のようなコンピュータを使用するなど)当分野で周知の方法および機器によって作成されたデジタルコンテンツは、パッケージ化されてフラグメントとなる。ここで、1つまたは複数のマニフェストを生成してもよい。さらに、一実施形態において、1つまたは複数のマニフェストおよび/またはフラグメントは、1つまたは複数のポリシを含むかまたは参照してもよい。フラグメントは、1つまたは複数のアップローダにシードされる(2004)。この場合必ずしもそうである必要はないが、実際には、パッケージャは、最初のアップローダとして機能することが多い。(例えば、図1に示したコンピュータ1004のユーザのような)ユーザは、(例えば検索エンジン、ディレクトリおよび/またはWebサービスなどを用いて)検索を実行することによって、あるいは、任意の他の適切な方法によって、フラグメントに関連付けられたマニフェストを取得する(2006)。そして、このマニフェストは、トラッカを見つけるのに使用される(2008)。他の実施形態では、トラッカを見つけるのに、マニフェスト以外のメカニズムを使用してもよい。例えば、情報は、単に予め定義された場所に記憶し、この場所を索引ディレクトリなどを介して提供してもよい。
【0016】
再び図2を参照すると、ダウンローダは、トラッカに対してフラグメントの検索をサブミットし(2010)、アップローダからフラグメントをダウンロードする(2012)。いくつかの好ましい実施例においては、上述したインタラクションの一部または全部をポリシによって統制するが、以下でさらに詳細に説明するように、これらのポリシは任意の適切な形式をとることができる。
【0017】
図3は、デジタルコンテンツをパッケージ化してフラグメントとし、これらのフラグメントおよび関連情報をアップロードする例示の方法を示す図である。デジタルコンテンツを、サーバ、(例えば、テープまたは光学媒体などの)アーカイブ記憶媒体またはデータベースなどの供給元から取得する(3002)。さらに、デジタルコンテンツに関するポリシ情報を、検索または生成する(3004)。これらのポリシ情報には、例えば、デジタルコンテンツおよび/またはデジタルコンテンツから生成されるフラグメントの配信に関する指示および/または制限事項が含まれてもよい。限定されない一実施例においては、ポリシがファイルのタイプと関連付けられたり、および/または、動作がファイルのタイプによって条件設定されたりする。例えば、一つのファイルのタイプが一定のタイプのポリシを適用すべきであると示すことがある。例えば、映画撮影所では、コンテンツを生成し、この生成したコンテンツをパッケージャに送信してもよい。この場合、パッケージャは、これらのすべてのコンテンツが関連するマニフェストおよび/またはポリシの中に一定の情報を持っていると想定されることを知っている。例えば、ポリシの一つは、このコンテンツを受信する者は、コンテンツを使用するのに有効なライセンスを取得し(または持ってい)なければならないというものでもよい。いくつかの実施形態においては、ポリシは、例えば、オペレータユーザインタフェースによって手作業で割り当てられる。他の実施形態においては、ポリシは、ファイルのタイプ、セマンティックキューおよび/またはコンテンツ解析を用いたソフトウェアのインテリジェント/自動処理によって割り当てられる。利用可能なアプリケーションに従って適切なポリシを決定しこれらのポリシを実行すること、そして、任意の適切なポリシまたはポリシの実行が利用可能であることは、評価されるであろう。いくつかの実施形態においては、一定のコンテンツフラグメントは、静的なものでもよい。一方、例えば、デジタル著作権管理(「DRM(Digital Rights Management)」)ライセンスなどの他のものは、動的な(例えば、オンザフライで合成された)ものでもよい。例えば、コンテンツピースに関連付けられたポリシによって、ユーザが有効なライセンスを取得する(または所有していることを証明する)よう要求されることがある。この場合、ライセンスは、フラグメント中に含まれるかまたはフラグメントによって参照され、このフラグメントがポリシによって動的に生成されると示されていることがある。
【0018】
例えば、コンテンツピース全体および/または特定のコンテンツフラグメントに関するポリシのXML記述には、例えば、コンテンツを処理できる媒介の特性および/または識別情報、コンテンツが特定のエンドポイントから送信されなければならないという要件、ならびに/あるいは、合成されたコンテンツをそのままキャッシュに格納してはいけない(例えば、ライセンスフラグメントまたは広告など動的に生成または取得しなければならない)という要件などを指定する配信(認証)ポリシと、フラグメントの1つの属性が要求され、これを検証しなければならないという権限付与ポリシと、コンテンツ全体を検証することができる方法(例えば、コンテンツ中に何のフラグメントが存在しなければならないか)を定義する保全性ポリシと、ならびに/あるいは、(例えば、フラグメントを取り出すのに保護されたチャネルが必要か否かを記述する)機密ポリシとが含まれることがあるが、これらに限定されない。
【0019】
ポリシを例示する一実施例を以下に示す。
<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>
【0020】
上記のポリシの一実施例では、関連付けられたコンテンツを処理しようとしている(例えば、アップロードまたはダウンロードしようとしている)任意のエンティティのデジタル署名は、指定されたX.509証明書を持つトラストアンカが最終的に発行したものでなければならないという配信ポリシが定義されている。代替方法として、または追加で、配信ポリシによって、関連付けられたコンテンツを処理しようとしているエンティティが、コンテンツを処理する(例えば、DRMエンジン、ファイル共有ソフトウェアなどの)システムおよび/またはアプリケーションプログラムに関連付けられた(例えば、SAMLアサーションなどの)資格証明書または属性を提示するよう要求されることもある。この場合、これらの資格証明書または属性は、システムおよび/またはアプリケーションプログラムについて一定の機能および/またはバージョン番号を持つなどの特性を証明する。例えば、配信ポリシには、要求しているシステムが提示すべきSAMLアサーションを指定する<RequiredAttribute>フィールドが含まれることがある。このフィールドによって、ポリシの指定および実行のため、システムを使用するエンティティの識別情報からシステム属性を切り離すことができる。いくつかの実施形態においては、ポリシによって、(例えば、アップローダ、ダウンローダまたはトラッカなどの)一定のエンティティだけが、コンテンツを処理するのにデジタル署名を掲示しなければならないと指定されることもある。例えば、いくつかの実施形態において、ポリシには、例えばアップローダにのみ適用されるよう指定する属性フィールドが含まれることもある。一般に、このフィールドを含まないポリシは、すべてのエンティティに適用してもよい。
【0021】
上記のポリシの一実施例に戻ると、保全性ポリシによって、フラグメントを任意の順序で受信できること、そしてフラグメントごとに認証が行われることが示されている。他の例では、保全性ポリシによって、(例えば、コマーシャルを含むフラグメントは、最初にダウンロードおよび/または使用しなければならない、ならびに/あるいは、ライセンスを含むフラグメントは、最初に取得しなければならない、など)フラグメントは特定の順序で取得しなければならないことを指定することができる。さらに/代わって、フラグメントごとではなくむしろコンテンツ全体で(または他の単位で)、認証を行ってもよい。他の例では、保全性ポリシを何ら指定しなくてもよい。
【0022】
また、上記のポリシの一実施例では、フラグメントを通信で送受信するとき保護されたチャネルを使用するよう要求する機密性ポリシも指定している。また、上記のように、ポリシによって、個別の一定のフラグメントを認証するとき使用する保全性ポリシが指定される。例えば、フラグメント「F1」に関連付けられた<IntegrityPolicy/>フィールドによって、ハッシュおよび/またはデジタル署名などを用いてこのフラグメントを認証しなければならないことを示すことができる。上述した実施例では、前記コンテンツピース中の他のフラグメントは、(例えば、ハッシュを用いて保全性を検証しなければならない、または保全性ポリシを適用する必要はない、などと指定する)デフォルトの保全性ポリシを使用して処理される。一般に、いくつかの実施形態では、一定のデフォルトポリシを使用してフラグメントおよび/またはコンテンツ全体を処理することができる。さらに、特定のコンテンツピースに関連付けられたマニフェストにおいてポリシパラメータを追加したり置き換えたりすることによって、マニフェスト中にポリシが指定されないとき適用されるデフォルトポリシを変更したり補足したりすることができる。他の実施形態では、デフォルトポリシを使用せず、コンテンツピースに関連付けられたマニフェストの中で各フラグメントに関するポリシを明確に指定しなければならないこともある。
【0023】
例示のコンテンツポリシについて説明してきたが、上記のフィールドまたは値のいくつかを含まないポリシ、あるいは、上記で示さなかったフィールドまたは値を含むポリシなど、任意の適切なポリシを定義できることは評価すべきである。このように、任意の適切な形式で定義された任意の適切なポリシを使用できることは、評価に値する。
【0024】
引き続き図3に示した実施形態の一例を用いると、デジタルコンテンツおよび/またはフラグメントに関するメタデータを取得する(3006)。メタデータは、コンテンツレベルとフラグメントレベルとの両方で提供されることがあり、コンテンツおよび/またはフラグメント中のデータの特徴を示す任意の情報を有してもよい。メタデータの例としては、デジタルコンテンツのタイトル、コンテンツの作者および/または他の権利所有者の名前、他のコンテンツ識別情報、1つまたは複数のトラッカの場所に関する情報、コンテンツの作動時間、コンテンツに関する警告、ならびに/あるいは、追跡コードなどが含まれるが、これらに限定されない。メタデータは、手動で提供したり、コンテンツから自動的に抽出してマニフェスト中に配置したり、または自動処理と手動処理とを組み合わせて提供することができる。一実施例は、以下で説明する例示のマニフェストデータ構造に含まれる。
【0025】
図3に示す例において、一旦メタデータが定義または取得されると、デジタルコンテンツからフラグメントが作成される(3008)。一実施形態において、ファイルフラグメントは、パッケージャによって作成される。このパッケージャは、コンテンツを処理してフラグメントにすると、これらのフラグメントをメタデータおよびポリシによってパッケージ化し(3012、3014)、それから、これらのうちのいくつかまたはすべてを1つまたは複数のアップローダに渡すかまたはシードする。いくつかの実施形態では、アップローダは、本明細書でアップローダに関して説明した他の機能以外に、パッケージ処理を行う。他の実施形態においては、パッケージャとアップローダは別個のものである。図3(および本明細書に提示された他のフローチャート)は、例示を目的としており、他の実施形態において、図3に示す各ステップの順序を変えたり、一定のステップを省略したり、追加のステップを加えたりすることができることは評価されるであろう。
【0026】
図4は、パッケージャの処理の一実施例を示す図である。図4を参照すると、パッケージャがポリシに従ってコンテンツを自動的にパッケージ化するよう設計されている場合(すなわち、ブロック4004の「Yes」への出口で示されるようにパッケージャが「インテリジェントである」場合)、パッケージャは、デジタルコンテンツをフェッチする(4002)。そして、パッケージ化ソフトウェアおよび/またはハードウェアは、多様なアルゴリズムおよび判断基準を用いてコンテンツをフラグメントに細分化することによって、ファイルを自動的に断片化する(4006)。これらの判断基準の例としては、(例えば、ポリシによって、個々のフラグメントがユーザ固有なので個々のフラグメントにライセンスがパッケージ化されていることを示してもよいし、他のポリシによって、ユーザが最初にライセンスフラグメントを受信またはダウンロードするよう要求してもよい)ポリシパラメータ、および(例えば、処理能力などの)システムの制限事項が含まれる。さらに、判断基準の例としては、(例えば、コンテンツが、成人視聴者を対象とするかまたは成人と子供が混ざった視聴者を対象とするかなど)ある対象者に向けられた広告またはコンテンツに対して異なるフラグメントなど、(例えば、コンテンツの特性に基づくコンテンツの適切な区切り位置の指定などの)多様なフラグメントの組み合わせオプションを提供するためのコンテンツの区切り位置が含まれる。次に、処理フローは、下記のようにステップ4010に移る。あるいは、パッケージャがインテリジェントでない場合(すなわち、ブロック4004の「No」への出口)、オペレータが介入することによって、ファイルフラグメントを作成することができる。例えば、オペレータは、コンテンツおよびポリシを解析して(4008)、フラグメントを作成することができる(4009)。
【0027】
例えば、パッケージャ(またはパッケージャとして機能するよう構成されたアップローダ)がインテリジェントでない場合、オペレータは、手動で指示してパッケージ化を行い、ライセンスと1つまたは複数のコンテンツチャンクとを別々にフラグメントにしてもよい。なぜなら、オペレータは、コンテンツの用途とどのようにプレーヤがコンテンツを利用したいかを理解できるからである。代替方法として、パッケージャがインテリジェントでない場合、オペレータの介入を必要としないデフォルトのパッケージ化ポリシを提供してもよい。例えば、コンテンツをNバイトの均一サイズのフラグメントにパッケージ化するというポリシでもよい。
【0028】
図4に示す例では、一旦フラグメントが形成されると、任意のメタデータが追加されたり(4010)および/またはポリシが適用されたり(4012)する。代替方法として、または追加で、コンテンツをフラグメントにする前にまたはコンテンツをフラグメントにすると同時に、ステップ4010および/またはステップ4012の一部または全部を実行してもよい。
【0029】
図3に戻ると、ブロック3004で特定または生成されたポリシがフラグメントに関連付けられる(3010)。そして、メタデータおよびポリシ情報を有するマニフェストが形成される(3012)。一実施形態では、関連フラグメントへの参照および関連フラグメントの説明がマニフェストに追加される(3014)。マニフェストデータ構造の一実施例を以下に示す。
【0030】
<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>
【0031】
次に、マニフェストとフラグメントは、1つまたは複数のトラッカに登録される。これらのトラッカによって、デジタルコンテンツにアクセスしようとしている受信者にフラグメントを容易に準備することができるようになる。例えば、トラッカは、1つまたは複数のアクティブアップローダ、ならびに/あるいは、(例えば、ダウンローダなどの)受信者が探しているフラグメントを持つ1つまたは複数のアップローダを特定してもよい。
【0032】
一実施形態において、トラッカは、アップローダおよびダウンローダからの登録要求を処理する。例えば、アップローダは、アップローダが持つアップロード可能なフラグメントの(例えば、TCP/IPアドレスなどの)終端アドレスおよび識別情報と一緒に、アップローダの(例えばX.509証明書などの)識別情報をトラッカに提供することができる。いくつかの実施形態において、統計またはマーケティングのために使用される情報、あるいは、利用するファイルの数の指定および/または平均サービス時間などのユーザの実績に関する情報など、アップローダまたはダウンローダとトラッカとの間の登録に関連付けられた情報の大部分は、有益な情報であり、必須でなければオプションとして選択することができる。ポリシによってサービスの品質が要求される実施形態のような他の実施形態では、これらの情報が必須になることがある。また、好ましい実施例においては、ポリシの決定および実行(「正当性」)に関する情報も含まれる。例えば、トラッカは、これらの情報を、トラッカが特定のアップローダまたはダウンローダを信用する否か、ならびに/あるいは、トラッカがアップローダまたはダウンローダにサービスを提供する権限を与えられているか否かをポリシに従って決定するのに使用してもよい。いくつかの実施形態においては、トラッカが、特定のアップローダまたはダウンローダを信用すると決定したり、ならびに/あるいは、アップローダまたはダウンローダがトラッカのサービスを利用する権限を与えられていると決定したりした場合、トラッカは、承認または他の応答をアップローダまたはダウンローダに送信したり、(オプションとして)任意の関連統計データを送信したりしてもよい。これらの統計データの限定されない例としては、(アップローダがコンテンツを提供するのにどのくらいのバンド幅を充てるかを決定するため使用することができる情報などの)現在対象のコンテンツを提供している他のサイトに関する情報、(例えば、アップローダはどのくらい速いか、および/または、アップローダは現在どの程度多く使用されているかなどの)帯域幅の使用に関する情報、ならびに/あるいは、(ダウンローダまたはトラッカが続行するため(例えばT1接続などの)最低水準のサービスを要求するポリシを評価するのに使用することができる情報などの)サービスの質に関する情報などが含まれてもよい。
【0033】
図5は、トラッカにアップローダを登録する処理(5000)の一実施例を示す図である。最初に、アップローダは、トラッカにパッケージとそのコンテンツを登録するよう要求する(5002)。トラッカは、例えば、アップローダに関連付けられた証明書をチェックすることによって、アップローダに権限が与えられるか否かを決定する(5004)。アップローダに権限が与えられる場合、要求は受け入れられ(5006)、(一般に)アップローダの終端アドレスに関する情報が記憶される。また、オプションとして、例えば、承認および/または統計情報などを含む応答をアップローダに送ってもよい(5008)。代わって、アップローダに権限が与えられない場合、すなわち、ステップ5004の応答が「No」の場合、拒否応答をアップローダに提供し(5010)、処理は終了する。
【0034】
いくつかの実施形態において、トラッカは、ダウンローダからの検索要求を処理することがある。例えば、ダウンローダは、コンテンツ(および、場合によっては、関連付けられたポリシ)を特定したり、さらに(オプションとして)1つまたは複数のトラッカを特定したりする1つまたは複数のマニフェストを取得してもよい。ダウンローダは、関連付けられた任意の関連ポリシに従って、関連フラグメントの要求をトラッカによって特定されたアップローダに送信し、フラグメントを取得し、フラグメントを検証し、フラグメントをデジタルコンテンツに編集することによって、ダウンローダ/ユーザがアクセスしたり使用したりできるようにする。
【0035】
図6は、ダウンローダをトラッカに登録する処理の一実施例を示す図である。(1つのダウンローダを複数のトラッカに登録してもよいことは、評価されるであろう。)最初に、例えば、所望のコンテンツピースおよび/またはそのフラグメントに関連付けられたアップローダを見つける要求がトラッカに送られる(6002)。例えば、一実施形態において、ダウンローダは、ダウンローダ自体とダウンローダが所望するフラグメントとを特定する情報を提供する。例えば、ダウンローダは、(例えば、音楽クラブおよび/または購読サービスなどの)一定のグループのメンバであること、ならびに/あるいは、一定のハードウェアおよび/またはソフトウェアを有することを証明する情報を提供することができる。トラッカは、例えば、ダウンローダが提供した識別情報および/または他の情報が任意の関連ポリシに準拠するか否かをチェックすることによって、ダウンローダに権限が与えられるか否かを決定する(6004)。ダウンローダに権限が与えられる場合、要求は受け入れられ(6006)、オプションとして、ダウンローダに応答が送られる(6008)。この応答には、例えば、ダウンローダの要求を処理することができる1つまたは複数の関連アップローダの終端アドレスおよび/または(例えば、接続スピードなどの)統計情報が含まれる。他の場合、すなわち、ダウンローダに権限が与えられない場合、すなわち、ステップ6004における答えが「いいえ」の場合、拒否応答がダウンローダに提供される(6010)。
【0036】
図7は、例示の一実施形態におけるダウンローダとトラッカとの間のインタラクションの詳細を示す図である。図7に示すように、ダウンローダは、トラッカに検索要求を送信する(7002)。トラッカは、関連ポリシに基づいて、ダウンローダに権限が与えられるか否かを決定する(7004)。ダウンローダに権限が与えられない場合、要求は拒否される(7006)。そうでない場合、検索要求は処理され(7008)、ダウンローダの要求を処理するのにアップローダが使用可能か否かを決定する(7010)。要求を処理するのにいずれのアップローダも使用できない場合、処理は終了する。そうでない場合、関連アップローダの場所をダウンローダに通知する(7012)。
【0037】
ダウンローダは、一旦、少なくとも1つの適切なアップローダについて通知されると、アップローダとコンタクトを取って要求を実現するのに必要なフラグメントを取得する。図8は、この処理の一実施例を示す図である。図8に示すように、ダウンローダは、トラッカによって特定されたアップローダにフラグメントの要求を送信する(8002)。このとき、アップローダは、ポリシに基づいてダウンローダに権限が与えられるか否かを決定してもよい(8004)。ダウンローダに権限が与えられない場合、要求は拒否され(8006)、処理は終了する。そうでない場合、要求は処理される(8008)。一実施形態では、この処理において、例えば、ポリシが要求する場合、例えば、コンテンツの参照先をダウンローダに送り返し、(オプションとして)アップローダとダウンローダとの間にセキュアチャネルを開通しなければならないことがある(8010)。例えば、コンテンツの参照先として、ファイル転送用のセキュアソケットレイヤ(「SSL(Secure Socket Layer)」)のエンドポイントを指定したり、あるいは、この参照先に、アップローダとダウンローダとの間の通信チャネル上でコンテンツを暗号化および/または解読するのに使用する鍵を運んだりしてもよい。一実施形態において、コンテンツの参照先とは、ダウンローダに実際にファイルを入手するのに必要な情報を与えるものである。この情報は、(コンテンツを取得するための、例えば、URL、ファイル名および/またはプロトコルなどの)完全修飾名または別称など、(例えば、コンテンツがどこに位置し、コンテンツが何であるかを特定することによって)コンテンツを参照するのに十分に適した任意の手段と考えることができる。その後、一実施形態では、フラグメントがアップローダからダウンローダに転送され(8012)、ダウンローダによってアクセス用に編集される(8014)。ここで、「編集」とは、一般に、フラグメントをダウンローダ/ユーザが利用できる形式にする処理を意味する。いくつかの場合、編集において、コンテンツに関連付けられたすべてのフラグメントを統合しなければならないことがある。他の場合、1つまたは複数の個々のフラグメントは、コンテンツを利用(または、利用を開始または継続)するのに十分であることがある。
【0038】
一実施形態において、トラッカ、アップローダおよびダウンローダの各々は、ポリシ実行ポイント(Policy Enforcement Point)として機能し、トラッカ、アップローダおよびダウンローダの各々は、マニフェストに含まれているポリシを実行する。例えば、一実施形態において、トラッカ、アップローダおよびダウンローダの各々は、認証ポリシが、もしあれば、満たされているか否か(例えば、要求しているエンドポイントを信用するか否か)を決定したり、保全性ポリシが、もしあれば、満たされていているか否か(例えば、コンテンツが有効であるか否か)を決定したり、および/または、機密性ポリシが、もしあれば、満たされているか否か(例えば、保護されたチャネルが必要か否か)を決定したりする。他の実施形態では、一部のトラッカ、アップローダおよびダウンローダだけが、上述した(または他の)一部または全部のポリシのポリシ実行ポイントとして機能する。
【0039】
実施例
コンテンツのレンタルおよび購入
本明細書で述べたシステム、方法、装置およびソフトウェアは、容易に構成を変更できるので、レンタルまたは購入などのために(例えば、映画および/またはソフトウェアなどの)コンテンツを配信する柔軟なビジネスモデルを提供する。一実施形態において、消費者は、彼らがレンタルまたは購入したいコンテンツを選ぶことができる。例えば、レンタル用コンテンツは、購買用コンテンツより低価格でもよく、レンタル用コンテンツへのアクセスの有効期限は、一定期間後に終了してもよい。いくつかの実施形態では、コマーシャルがコンテンツに含まれてもよい。代替方法として、または追加で、いくつかの実施形態において、消費者は、コマーシャルのないコンテンツに対して割増料金を支払ってもよい。
【0040】
例えば、ビデオ店は、ポリシの定義に従って、コンテンツピースに素材を追加してパッケージ化してもよい。例えば、ポリシによって、購入者が追加の割増料金を支払わないことを選んだ場合、購入者はコマーシャルと一緒にコンテンツをダウンロードしてコンテンツ内にこれらを編集しなければならないことが指定されていると、コマーシャルは別個のフラグメントで提供されることがある。同様に、レンタル用のポリシによって有効期限を定義し、この有効期限後は、レンタルの契約を更新するかまたは買い取らない限りコンテンツを使用できないようにしてもよい。このビジネスモデルを実現するため、ユーザがコンテンツにアクセスするのに有効なDRMライセンスを取得することを要求するポリシを、コンテンツに関連付けられたマニフェスト中に含めてもよい。このライセンスは、例えば、2007年8月2日に米国特許出願公開第2007/0180519号として公開され、「デジタル著作権管理エンジンシステムおよび方法」という題名の米国特許出願第11/583,693号(以下、「米国出願‘693」という)に記載されている形式でもよいが、これに限定されない。米国出願‘693の内容は、すべて参照によって本明細書中に組み込まれる。ダウンローダのシステム上で動作する(米国出願‘693に記載されたような)デジタル著作権管理エンジンは、このライセンスを使用して、有効期限、コマーシャルの視聴、ならびに/あるいは、コンテンツへのアクセスまたはコンテンツの他の使用に関連付けられた他の規則を実行することができる。例えば、フラグメントは、暗号化された形式であってもよいし、ダウンローダは、マニフェストから、コンテンツにアクセスするのにライセンスが必要であると決定してもよい。このとき、ダウンローダは、(例えば、有効期限が切れていないライセンスなどの)有効なライセンスがなければ、ダウンロードされたフラグメントを使用することができないことを知った上で、ダウンロードを続けるか否かを決定することができる。代替方法として、または追加で、ダウンローダのサイトで動作するDRMエンジンは、ファイルをダウンロードする前に、関連ライセンスを評価することによって要求されたファイルの使用に権限が与えられるか否かを知ることができる。こうして、ユーザは、ファイルをダウンロードしてからファイルの所望の使用に権限が与えられないことを知るという不便さを回避することができる。いくつかの実施形態において、ダウンローダがファイルを使用するのに必要なライセンスを持っていないと判断した場合、トラッカおよび/またはアップローダは、このライセンスを、どのようにおよび/またはどこで取得することができるかに関する(例えば、URLなどの)情報をダウンローダに返してもよい。さらに、他の実施形態においては、アップローダおよび/またはトラッカは、特定のダウンローダがコンテンツを取得するのに権限が与えられる期間の経過を追跡することができる。したがって、アップローダおよび/またはトラッカは、(例えばダウンローダのコンピュータシステム上のソフトウェアによって実行される別個のDRMライセンスを使用せずに)直接、有効期限または試用期間などのポリシを実行することができる。このように、ダウンローダにおいてまたはダウンローダによって、アップローダにおいてまたはアップローダによって、トラッカにおいてまたはトラッカによって、ならびに/あるいは、これらの組み合わせを含む任意の適切な方法によって、ポリシを表現したり実行したりすることができることは、評価されるであろう。また、ポリシは、コンテンツファイルに関連付けられたマニフェストの中で表現することができ、フラグメントを介してこれらのファイルに関連付けられたライセンスまたは他の手段において表現することができる。そして、ポリシは、システムアーキテクチャのレベルで、あるいは、これらのメカニズムまたは他のメカニズムの任意の組み合わせで実行することができる。
【0041】
図9Aは、例示の実施形態を示す図である。図9Aに示すように、コンテンツピースを購入するかまたはレンタルするかのオプションの選択を消費者/ダウンローダに提供する(9002)。消費者/ダウンローダは、オプションまたはオプションセットを選択してトランザクションを定義し(9004)、消費者の選択をダウンロードソフトウェアに入力する(9006)。消費者/ダウンローダは、コンテンツに関するマニフェストのコピーを取得する(9008)。そして、消費者/ダウンローダは、トラッカに登録し(9010)、関連検索パラメータを送信して消費者/ダウンローダの選択によって定義された必要なコンテンツおよびポリシについて場所を特定して取り出す(9012)。消費者/ダウンローダがコンテンツの購入を選択した場合、「レンタルか?」の決定ポイント(9014)で「No」の選択肢をたどり、トラッカは、コンテンツの購入に関するマニフェストを特定する(9016)。(コマーシャルがないため割増料金となるコンテンツの選択肢など、他の選択肢も提供されることは評価されるであろう。)他の場合、「Yes」の選択肢をたどると、トラッカは、コンテンツのレンタルに関するマニフェストを特定する(9018)。いずれの場合においても、次に、トラッカは、アップローダを特定し(9020)、消費者/ダウンローダにアップローダの識別情報を転送する(9022)。すると、消費者/ダウンローダは、アップローダに登録し(9024)、適切なポリシに従ってコンテンツを取り出す(9026)。例えば、消費者/ダウンローダは、ポリシによって、消費者/ダウンローダのコンピュータシステム上の改竄防止DRMエンジンが行使可能な有効DRMライセンスを所有するかまたは取得するよう要求されることがある。
【0042】
図9Bおよび9Cは、他の実施例を示す図である。図9Bに示すように、コンテンツプロバイダは、米国出願‘693に記載されているようなDRMエンジンを使用することによって少なくとも一部統制されたコンテンツを提供しようとすることがある。コンテンツプロバイダは、コンテンツを単に借りるだけのユーザには、動的に合成された一定のコマーシャルを見るようさらに要求しようとする一方、コンテンツを購入するユーザには、これらのコマーシャルを見ずにコンテンツを再生することを許可しようとすることがある。図9Bに示すように、コンテンツプロバイダは、米国出願‘693に記載された技術を使用してコンテンツをパッケージ化する(例えば、コンテンツを暗号化してライセンスと関連付ける)ことがある(9030)。また、コンテンツプロバイダは、コンテンツを断片化してフラグメントとし(9032)、マニフェストをコンテンツに関連付ける(9034)。このマニフェストには、(a)ダウンローダが、有効なバージョンのDRMエンジンおよび/またはファイル共有ソフトウェアを持つことを示すSAMLアサーションを提示するよう要求するポリシと、(b)ダウンローダが、一旦DRMエンジンによって評価されると、ユーザが借入者または購入者の何れであるかを決定するDRMライセンスを含むフラグメントを、最初にダウンロードするよう要求するポリシと、(c)DRMエンジンがDRMライセンスによってダウンローダが借入者であると決定した場合、ダウンローダが、次にコマーシャルをダウンロードするよう要求するポリシと、が含まれる。本明細書の他の箇所で説明したように、こうして、コンテンツプロバイダ(または、コンテンツプロバイダのために動作するパッケージャ)は、1つまたは複数のアップローダおよびトラッカにコンテンツフラグメントおよびマニフェストを配信する(9036)。
【0043】
図9Cを参照すると、ユーザは、標準の検索エンジンまたは任意の他の適切な手段を使用してコンテンツを検索することができる(9040)。図9Bにおいてパッケージ化されたコンテンツを(例えば、トラッカを介して)見つけると、マニフェストで指定されたポリシに従って、ユーザは、最初に、有効なライセンスを取得するよう要求される(9042)。例えば、ユーザは、マニフェストによってこれらのライセンスを取得できる場所を指示されることがある。このとき、ユーザは、(例えば、支払情報、識別情報などの)任意の関連情報を提供して、DRMライセンスを受け取ってもよい。他の実施形態においては、マニフェストは、単にライセンスを含むかまたは参照する特定のフラグメントを最初に取得するよう要求するだけでもよい。この場合、このフラグメントに関して指定された機密性、保全性および/または他のポリシを適用することによって、例えばライセンスを保護することができる。例えば、ライセンス自体が、例えばDRMシステムなどによって独立して保護されない場合、この実施形態が望ましいことがある。他の実施形態において、ライセンスは、ライセンスが適用されるコンテンツの少なくとも一部を含むフラグメントに含まれることがある。このように、任意の適切な方法でライセンスを取得できることは、評価に値する。例えば、トラッカは、アップローダのDRMライセンスを含むフラグメントをユーザに提供できるアップローダをユーザに指示してもよいが、これに限定されない。このライセンスは、一般にダウンローダに対しては無効であるが、有効なライセンスを取得できる場所へのポインタを含むことがある。
【0044】
図9Cを再び参照すると、一旦ダウンローダが有効なDRMライセンスを受け取ると、ダウンローダのDRMエンジンは、DRMライセンスを評価し(9043)、ユーザが借入者または購入者のいずれであるかを決定する(9044)。ユーザが借入者であると決定した場合(すなわち、ブロック9044の「Yes」の出口の場合)、マニフェスト中で表現されたポリシに従って、ユーザは、ファイル共有ソフトウェアによってコマーシャルを含むフラグメントを最初に取得するよう要求される(9046)。一方、ユーザが購入者であると決定された場合(すなわち、ブロック9044の「No」の出口の場合)、ユーザは、ファイル共有ソフトウェアによってコンテンツフラグメントを直ちに取得し始めることを許可される(9048)。コンテンツフラグメントを取得すると、ユーザのDRMエンジンは、例えば、DRMライセンスに含まれる復号鍵またはDRMライセンスによって参照される復号鍵を使用して、コンテンツフラグメントの復号化を制御する(9050)。また、DRMエンジンは、DRMライセンス中で指定される他の任意の規則または制限事項を実行する。この他の限定されない実施例は、米国出願‘693に記載されている。このように、本実施例において、マニフェストで指定されたポリシは、(例えば、最初にライセンスフラグメントを取得し、次に任意の必須コマーシャルを取得し、それからコンテンツを取得するなどの)フラグメントの時間的順序を指示する。一方、DRMエンジンは、(例えば、経過後コンテンツを視聴することができなくなる有効期限などの)DRMライセンスで指定された他の任意の要求事項の復号化および実行を制御する。
【0045】
図9Bと9Cに関して記載された実施例が例示を目的として提供されており、本明細書に開示された原理を逸脱しない限り多くの変更を加えることができることは、評価されるであろう。例えば、マニフェストによって必ずしもライセンスフラグメントを最初に取得するよう要求しなくてもよく、ユーザが借入者または購入者のいずれであるかに関してはライセンスに関係なく決定してもよく、借入者または購入者の区別以外の区別をしてもよく、さらに、コマーシャルを見ること以外の義務を課してもよい。このように、本実施例によって示された一つの実現可能なケースでは、DRMシステムとファイル共有システムとのインタラクションによって、保護されたコンテンツピースへのアクセスを制御することができる。一方、本実施例では、本発明の本質に関連付けられた多数の多様な独立した発明の概念が例示されており、これらは必ずしも本実施例で提示された特定の方法で組み合わせなければならないわけではないことは評価されるであろう。
【0046】
コンテンツ制御
他の一実施例において、コンテンツプロバイダは、バラエティーショウやスキットで構成されたプログラムなどの複数のセグメントを有するコンテンツを提供する。いくつかのセグメントには他より過激な素材が含まれており、この場合、コンテンツプロバイダは、成人加入者に不便を感じさせることなく未成年購入者のアクセスを制御することを望む。これを実行するため、プロバイダは、マニフェスト中にポリシを指定し、このポリシによって購入者が一定のフラグメントをダウンロードしたり取り込んだりするのに特定の年齢要件を満たすよう要求してもよい。例えば、一実施形態において、コンテンツの各セグメントは、ダウンロードされたコンテンツ中にそのセグメントを含めるのに必要な条件を定義する関連付けられたポリシまたはメタデータ(または両方)を有する。コンテンツを構成するフラグメントは、「オンザフライで」ダウンローダへ運ばれてコンテンツに合成される。他の一実施例では、コンテンツは、多様なセグメントを定義するすべてのフラグメントから構成され、コンテンツを再生するとき、コンテンツ全体に関するポリシによってどのフラグメント(または、セグメント)を購入者に提示するかを定義する。
【0047】
複数のコンテンツ配信チャネル
さらに他の一実施例においては、コンテンツは、フラグメントの解読に使用される1つまたは複数のライセンスに関連付けられた1つまたは複数のフラグメントで構成される。上述したように、ポリシやライセンスを定義することによってフラグメントやコンテンツを統制することができる。一実施形態において、1つまたは複数のフラグメントライセンスは、コンテンツがレンダリングされるべき(他の実施形態で実行される特定のユーザとは対照的に)特定のデバイスをターゲットとする(特定のデバイスに「ロックされる」)。例えば、一人の消費者は、コンテンツを再生する(例えば、それぞれが映画またはアルバムを再生できるコンピュータ、ホームエンターテインメントシステムおよび携帯電話などの)複数の装置を持つことがある。一実施形態において、コンテンツの配信者は、コンテンツを再生する1つまたは複数のこれらの装置を指定することがある。一実施形態において、1つまたは複数のフラグメントは、ライセンスフラグメントとして定義してもよい。これらのライセンスフラグメントにポリシを関連付け、ライセンスフラグメントが動的に生成されるか、または取得されるかを指定してもよい。いくつかの実施形態において、ポリシによって、権限付与や認証のためレンダリング装置の装置識別情報を提示するよう要求してもよい。そして、装置がコンテンツをローカルにフェッチするとき、この装置用に固有のライセンスがオンザフライで合成される。このように、例えば、いくつかの実施形態においては、ポリシを使用することによって受信者および/または送信者が誰であるかを指定するだけでなく、ポリシを使用することによって、さらに、特定のフラグメントをキャッシュに格納することができるか否か、(例えばライセンスフラグメント、広告フラグメントなどの)特定のフラグメントを動的に生成するかまたは取得する必要があるか否かなどを指定することができる。後者の場合、一般に、動的に生成されたフラグメントを取得できる場所へのポインタが提供される。例えば、広告フラグメントは、最新版の広告を取得できる場所を示してもよい。こうすることによって、広告フラグメントは単に広告へのポインタを含むだけなので、広告フラグメント自体を置き換えなくても、時間の経過またはシステムの(例えば、ユーザから取得した使用情報などの)特定パラメータに従って、含まれる広告を変えることができる。
【0048】
料金と会計監査
他の実施例では、サービスプロバイダは、ライセンスのない(例えば、海賊版であるかもしれない)コンテンツの流出をシステムを介して監視したり制御したりできる。サービスプロバイダは、アップローダが提供した(または、ダウンローダが要求した)コンテンツピースが、その配信の権限が与えられていない可能性を示す一定の特性を有する(例えば、コンテンツが自身に関連付けられたライセンスを持たないか、あるいは、コンテンツまたはそのマニフェストがライセンスを取得できるメカニズムを指定しないし提供もしない)場合、ユーザがコンテンツを取得するために予め定められた料金を支払ったり予め定められた情報を提供したりするよう要求する(例えば、サービスプロバイダまたはコンテンツの所有者によって、あるいはこれらに代行して実行される)サービスを、トラッカがユーザに示すよう指定するポリシを実行するよう構成されたトラッカグループを配置してもよい。料金は、例えば、サービスプロバイダとコンテンツ制作者との間で交渉してもよい。一方、コンテンツが、関連付けられたライセンスを有するか、そうでなければ権限を与えられた方法で提供されると思われる場合、トラッカは、関連付けられたマニフェストにおいて指定可能な他の任意のポリシに従って、ダウンローダがコンテンツを取得することを許可してもよい。この方法では、サービスプロバイダのシステムによって、コンテンツの権限のない配信からある程度保護することができる。
【0049】
以上、パッケージャがデジタルコンテンツを処理してフラグメントをパッケージ化し、コンテンツに関連付けられたポリシおよびメタデータを含むマニフェストを生成する実施形態について説明した。アップローダは、フラグメントおよびマニフェストがシードされ、1つまたは複数のトラッカに登録される。ダウンローダは、検索処理においてマニフェストを取得してこれを使用し、オプションとして1つまたは複数のトラッカを使用して、コンテンツを取得する。例えば、ダウンローダは、1つまたは複数のトラッカにフラグメントの検索要求を転送してもよい。これらのトラッカは、今度は、(a)任意のポリシの制限事項に従い要求を満たす1つまたは複数のアップローダの場所を特定し、(b)アップローダの識別情報をダウンローダに返すよう動作可能である。このとき、ダウンローダは、トラッカによって特定された1つまたは複数のアップローダとコンタクトを取り、これらのアップローダにフラグメントの要求を転送する。アップローダは、場合によってはセキュアチャネルを使用してダウンローダにフラグメントを転送する。ダウンローダは、フラグメントから、ユーザがアクセスするためのデジタルコンテンツを編集する。これらのエンティティの処理は、フラグメント、コンテンツ全体または両方に関連付けられたポリシの制限事項に従う。
【0050】
図10A、図10Bおよび図10Cは、本発明の本質のいくつかの実施形態を実行する例示のシステム形態を示す図である。図10Aに示すように、デジタルコンテンツの著者、制作者および/または配信者は、パッケージャを使用してコンテンツを処理し、1つまたは複数のアップローダおよびトラッカを介して1つまたは複数のダウンローダに配信できるよう準備することができる。著者の要求や指定に応じて、パッケージャは、ポリシを適用してパッケージ処理を統制したり、および/または、コンテンツに関連付けられたマニフェストの中でポリシを指定して他のエンティティによるコンテンツの使用を統制したりすることができる。例えば、システム上の(例えばアップローダ、ダウンローダおよびトラッカなどの)多様な参加者間で一定形式の認証を要求するポリシ、一定の機密保持のための要求事項を指定するポリシ、ならびに/あるいは、そうでなければ、コンテンツ全体またはコンテンツの個々のフラグメントのアクセスまたは使用を統制するポリシを、マニフェスト中に含んでもよい。一般論として、パッケージャは、任意の関連ポリシを適用し、これらに関連付けられたフラグメントとマニフェストを生成する。図10Aに示すように、1つまたは複数のアップローダにフラグメントを配信したり、1つまたは複数のアップローダ、トラッカおよび/またはダウンローダにマニフェストを配信したりすることができる。
【0051】
図10Bに示すように、アップローダはトラッカに登録することができ、トラッカは、いくつかの実施形態において、ポリシに基づいて、アップローダからのフラグメントの配信要求を承諾するかまたは拒否することができる。アップローダにフラグメントを配信する権限が与えられる場合、アップローダが供給できるフラグメントに関する情報と同様に、アップローダの場所を記録することができる。このとき、この情報を権限のあるダウンローダに渡してもよい。また、いくつかの実施形態において、トラッカは、(例えば、使用に関する統計データなどの)関連統計情報などの他の情報をアップローダに提供してもよい。
【0052】
図10Bに示すように、ダウンローダは、同様に、トラッカに登録することができる。例えば、ダウンローダは、1つまたは複数のフラグメントの検索要求をトラッカにサブミットしてもよい。このとき、トラッカは、(例えば、ユーザが一定の資格証明書を持つことを要求するポリシなど)関連ポリシに基づいて、要求を承諾または拒否してもよい。要求に権限が与えられる場合、トラッカは、要求されたフラグメントおよび/または(例えば、使用に関する統計データなどの)他の情報を持つ1つまたは複数の権限のあるアップローダの場所を返してもよい。
【0053】
いくつかの実施形態において、トラッカは、潜在的ダウンローダ(またはアップローダ)から他より多くの情報を要求することがある。例えば、いくつかの実施形態では、トラッカは、匿名のダウンロードを許可してもよい。一方、他の実施形態では、トラッカは、より堅実なバージョンの識別情報を要求してもよい。さらに他の実施形態では、トラッカは、コンテンツの取得または使用のため使用するアプリケーションに関連付けられた属性/資格証明書を提示するように要求することによって、トラッカ(またはアップローダ)によってコンテンツが適正に処理される(例えば、コンテンツがハッキングされたバージョンの関連ファイル共有(または、DRM)ソフトウェアまたはハードウェアによって処理されない)ことを保証できるようにする。また、他の実施形態では、これらの(または他の)要件のいくつかの組み合わせを使用してもよい。同様に、いくつかの実施形態において、ダウンローダは、トラッカが自身を特定/認証するよう要求するポリシを持つことがある。こうすることによって、ウイルスを蔓延させようとする偽造トラッカのURLがダウンローダに与えられた場合でさえ、偽造トラッカは自身を認証することができないので、ダウンローダを保護することができる。このように、システムを、任意または全てのアップローダ、トラッカ、ダウンローダまたは他のシステムエンティティの間で任意の適切な信頼関係を確立しなければならないよう構成できることは、評価されるであろう。例えば、特定のサービスプロバイダ用のトラッカは、コンテンツ配信をそのサービスプロバイダの顧客に制限することを所望し、潜在的ダウンローダがこれらの顧客であることを証明する適切な資格証明書を提示するよう潜在的ダウンローダに要求することがある。このポリシは、コンテンツに関連付けられたマニフェストに含めてもよいし、あるいは、トラッカが要求を評価するため使用するハードウェアまたはソフトウェア中に単にコード化してもよい。同様に、ダウンローダは、通信相手のトラッカおよび/またはアップローダが1つまたは複数の信頼されるパーティに関連付けられるか、または、これらのパーティによって認証されるよう要求することを所望することもあるし、ならびに/あるいは、信頼されるチャネルを使用してアップローダとの任意の通信を行うよう要求することを所望することもある。これらのポリシは、例えば、ダウンローダのファイル共有ソフトウェアによって維持されてもよいし実行されてもよい。以上、一定の有用な実施形態において、トラッカ、アップローダおよびダウンローダの間のインタラクションに関して指定することができる多様なポリシについて、いくつかの実施例を挙げた。しかしながら、一方で、任意の適切なポリシまたは要件を使用することができることは、評価されるであろう。
【0054】
図10Cに示すように、一旦、アップローダおよびダウンローダが1つまたは複数のトラッカ、マニフェストおよび/または他の手段を使用して互いの場所を特定すると、関連するポリシによって権限が与えられたときデータを交換することができる。これは、一般に、アップローダからフラグメントをダウンロードするダウンローダによって行われる。しかしながら、他の使用形態も実行可能である(例えば、一般的な場合において、ダウンローダ、アップローダおよび/またはトラッカは、任意の適切なサービスインタフェースをサポートすることによって、任意の適切なサービスに問い合わせたり、および/または、これらの問い合わせに応答したりするよう構成されてもよい)。この場合、ダウンローダは、任意の関連付けられたポリシおよび/またはこれらのポリシに関連付けられた他のライセンス情報に従って、コンテンツを利用することができる。
【0055】
図11は、本発明の本質の実施形態を実行するのに使用可能なシステム1100のより詳細な実施例を示す図である。例えば、システム1100は、ダウンローダとして作動するエンドユーザ装置、ならびに/あるいは、パッケージャ、トラッカおよび/またはアップローダとして作動するコンテンツプロバイダの装置などの実施形態を有してもよい。例えば、システム1100は、パーソナルコンピュータまたはネットワークサーバなどの汎用コンピュータ装置、あるいは、携帯電話、携帯情報端末、携帯型オーディオ/ビデオプレーヤー、テレビのセットトップボックス、キオスクまたはゲームシステムなどの専用コンピュータ装置などを有することがある。一般に、システム1100には、プロセッサ1102と、メモリ1104と、ユーザインタフェース1106と、取り外し可能なメモリ1108を装着できるポート1107と、1つまたは複数のネットワークインタフェース1110と、上述の構成要素を接続する1つまたは複数のバス1112と、が含まれる。一般に、システム1100の処理は、メモリ1104に記憶されたプログラムの指示によって動作するプロセッサ1102によって制御される。一般に、メモリ1104には、高速ランダムアクセスメモリ(RAM)と、磁気ディスクおよび/またはフラッシュEEPROMなどの不揮発性メモリとの両方が含まれる。いくつかの実施形態では、メモリ1104の一部に対して、システム1100の他の構成要素が読み取ったり書き込んだりできないようにするなどの制限を与えてもよい。ポート1107は、フロッピー(登録商標)ディスク、CD−ROM、DVD、メモリカード、SDカード、ならびに/あるいは、他の磁気媒体または光学媒体などのコンピュータ読み取り可能な媒体1108を装着できるディスク装置またはメモリスロットを有してもよい。ネットワークインタフェース1110は、一般に、(例えばLAN、WAN、VPNなどの)インターネットまたはイントラネットなどのネットワーク1120を介して、システム1100と他のコンピュータ装置(および/またはコンピュータ装置のネットワーク)との間を接続するよう動作することができ、(例えば、無線および/またはイーサネット(登録商標)などの)1つまたは複数の通信技術を用いて物理的に接続してもよい。また、いくつかの実施形態では、システム1100に含まれる処理部1103は、システム1100または他のエンティティのユーザによる不正な行為から保護されることがある。このセキュア処理装置(SPU:Secure Processing Unit)は、鍵管理、署名検証、ならびに、他の形態のポリシおよび/またはライセンスの実行などの機密処理においてセキュリティの改善に役立つことがある。
【0056】
図11に示すように、コンピュータ装置1100のメモリ1104には、コンピュータ装置1100の処理を制御する多様なプログラムまたはモジュールが含まれることがある。例えば、一般に、メモリ1104には、アプリケーションや周辺機器などの実行を管理するオペレーティングシステム1121と、保護された電子コンテンツをレンダリングまたはパッケージ化するホストアプリケーション1130と、本明細書に記載したダウンローダ、アップローダおよび/またはトラッカの機能を実行するファイル共有アプリケーション1134と、(オプションとして)米国出願‘693に記載されている権利管理機能の一部または全部を実行するDRMエンジン1132とが含まれることがある。米国出願‘693に記載されるように、DRMエンジン1132は、コンテンツの暗号化および/または解読、ハッシュ関数およびメッセージ認証コードの計算、ならびに/あるいは、デジタル署名の評価などの暗号処理を実行する1つまたは複数の暗号モジュール1126などの他の多様なモジュールを有したり、共同運用したりおよび/または制御したりしてもよい。また、メモリ1104には、一般に、コンテンツアイテム(および/またはコンテンツアイテムのフラグメント)1128と、関連付けられたマニフェストおよび/またはライセンス1136と、さらに、暗号鍵および証明書など(図示せず)とが含まれてもよい。
【0057】
当業者であれば、図11に示したコンピュータ装置と同様または同一のコンピュータ装置を使用して、あるいは、実際には、図11に示した構成要素のうちのいくつかを持たないコンピュータ装置および/または図示されない他の構成要素を有するコンピュータ装置を含む他の任意の適切なコンピュータ装置を使用して、本明細書に記載したシステムと方法を実現することができることを評価するであろう。このように、図11は、例示を目的としており、制限を目的としないことを理解すべきである。
【0058】
以上、デジタルコンテンツフラグメント、特に、フラグメントおよび/またはコンテンツが全体としてポリシ制御に従うデジタルコンテンツフラグメントを提供するシステム、ソフトウェア、方法および装置について説明した。例示のため特定の実施例を提供したが、当業者であれば、本発明の本質の範囲または理念のいずれかを逸脱しない限り、本明細書に記載したシステム、ソフトウェア、方法および装置について他の多くの実施形態が可能であることを理解するであろう。

【特許請求の範囲】
【請求項1】
デジタルコンテンツをポリシに基づいて共有する方法であって、
デジタルコンテンツピースの少なくとも第1の部分を形成する第1のコンテンツフラグメントであって、ポリシ情報が確実に関連付けられた第1のコンテンツフラグメントを取得する段階と、
前記デジタルコンテンツピースの少なくとも第2の部分を形成する第2のコンテンツフラグメントを取得する段階と、
前記ポリシ情報を少なくとも部分的に制御して、前記第1のコンテンツフラグメントと前記第2のコンテンツフラグメントとを組み合わせることによって、前記デジタルコンテンツピースの少なくとも一部分を構築する段階と、を有する方法。
【請求項2】
前記ポリシ情報は、ライセンスに関する情報を含む、請求項1に記載の方法。
【請求項3】
前記ポリシ情報は、前記デジタルコンテンツピースおよび/または前記第1のコンテンツフラグメントに確実に関連付けられたマニフェスト中に配置される、請求項1に記載の方法。
【請求項4】
前記マニフェストをトラッカから取得する段階をさらに有する、請求項3に記載の方法。
【請求項5】
アップローダからの前記第1のコンテンツフラグメントを要求する段階と、
前記アップローダに権限付与情報を提示することによって、前記アップローダは、前記第1のコンテンツフラグメントに関連付けられたポリシ情報によって前記アップローダが前記第1のコンテンツフラグメントを提供することを許可されるか否かを決定できるようにする段階と、をさらに有する、請求項3に記載の方法。
【請求項6】
前記権限付与情報は、前記要求する段階を実行するエンティティの識別情報を有する、請求項5に記載の方法。
【請求項7】
デジタルコンテンツをポリシに基づいて共有するシステムであって、
デジタルコンテンツピースの少なくとも一部分を形成する複数のコンテンツフラグメントと、
前記複数のコンテンツフラグメントを特定するよう構成されるマニフェストであって、前記コンテンツフラグメントおよび/または前記デジタルコンテンツピースの少なくとも1つに関連付けられたポリシ情報を有するマニフェストと、
前記コンテンツフラグメントの少なくとも1つを提供するよう構成されるアップローダと、
前記複数のコンテンツフラグメントを取得し、前記ポリシ情報に従って前記コンテンツフラグメントを少なくとも1回使用するよう構成されるダウンローダと、
前記ダウンローダが前記アップローダを容易に見つけることができるよう構成されるトラッカと、を有するシステム。
【請求項8】
前記マニフェストは、一意のデジタルコンテンツ識別情報と、デジタルコンテンツのメタデータと、デジタルコンテンツの配信ポリシ情報と、デジタルコンテンツの保全性ポリシ情報と、デジタルコンテンツの機密性ポリシ情報とから構成されるグループより選択された少なくとも1つの情報構成要素を含む、請求項7に記載のシステム。
【請求項9】
前記マニフェストは、少なくとも1つのコンテンツフラグメント記述子をさらに含む、請求項8に記載のシステム。
【請求項10】
前記少なくとも1つのコンテンツフラグメント記述子は、一意のフラグメント識別子と、フラグメントの保全性情報と、フラグメントレベルの配信ポリシ情報と、フラグメントのメタデータと、から構成されるグループより選択された少なくとも1つの情報構成要素を含む、請求項9に記載のシステム。
【請求項11】
前記トラッカは、コンテンツレベルのポリシとフラグメントレベルのポリシとを実行するよう構成される、請求項7に記載のシステム。
【請求項12】
前記トラッカは、前記ダウンローダにコンテンツフラグメントを転送する権限が与えられたアップローダに関する情報を提供するよう構成される、請求項11に記載のシステム。
【請求項13】
前記アップローダは、前記コンテンツフラグメントを前記ダウンローダに提供することと、コンテンツレベルのポリシおよびフラグメントレベルのポリシを実行することと、1つまたは複数のコンテンツフラグメントの場所に関する情報を配信することと、から構成されるグループより選択された少なくとも1つのサービスを提供するよう構成される、請求項7に記載のシステム。
【請求項14】
前記ダウンローダは、前記コンテンツフラグメントを検証することと、前記コンテンツレベルのポリシおよびフラグメントレベルのポリシを実行することと、前記コンテンツフラグメントを前記コンテンツに再編集することと、前記1つまたは複数のコンテンツフラグメントの場所に関する情報を配信することと、から構成されるグループより選択された少なくとも1つの動作を実行するよう構成される、請求項13に記載のシステム。
【請求項15】
完全なデジタルコンテンツを受信する段階と、
前記完全なデジタルコンテンツを複数のコンテンツフラグメントに変換する段階と、
ポリシをマニフェストを介してデジタルコンテンツに関連付ける段階と、を有するデジタルコンテンツを配信する方法。
【請求項16】
前記ポリシによって、潜在的アップローダは、一定の認証情報を提供するよう要求される、請求項15に記載の方法。
【請求項17】
前記ポリシによって、潜在的ダウンローダは、予め定義した順序で前記コンテンツフラグメントの少なくともいくつかを取得するよう要求される、請求項15に記載の方法。
【請求項18】
前記ポリシによって、潜在的ダウンローダは、前記複数のフラグメントのいずれかを取得する前に有効なライセンスフラグメントを取得するよう要求される、請求項17に記載の方法。
【請求項19】
前記ポリシによって、潜在的ダウンローダは、他のコンテンツを含む1つまたは複数の他のフラグメントを取得する前に、広告を含む1つまたは複数のフラグメントを取得するよう要求される、請求項17に記載の方法。
【請求項20】
前記ポリシによって、潜在的ダウンローダは、前記複数のコンテンツフラグメントの少なくともいくつかを取得するのにDRMライセンスから取得した情報を提示するよう要求される、請求項15に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11】
image rotate


【公表番号】特表2010−517138(P2010−517138A)
【公表日】平成22年5月20日(2010.5.20)
【国際特許分類】
【出願番号】特願2009−546426(P2009−546426)
【出願日】平成20年1月17日(2008.1.17)
【国際出願番号】PCT/US2008/000654
【国際公開番号】WO2008/088856
【国際公開日】平成20年7月24日(2008.7.24)
【出願人】(397072765)インタートラスト テクノロジーズ コーポレイション (56)
【Fターム(参考)】