(57)【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサを制御するための命令を格納したメモリと、を備え、
前記命令は、
ユーザプロファイルと関連付けられたクライアント装置から、前記ユーザプロファイルが許可されるメディアコンテンツに対するリース開始要求を受信するステップと、
コンテンツのプログレッシブダウンロードを行うために使用可能な複数のスロットを識別するステップと、
前記使用可能なスロットの数が０であるという判定に応答して、前記リース開始要求に応答して拒否通知を前記クライアント装置に送出するステップと、
前記使用可能なスロットの数が０より大きいという判定に応答して、
割り当てスロットを生成するために、前記使用可能なスロットの中から１つの使用可能なスロットを前記クライアント装置に割り当てるステップと、
前記リース開始要求に応答して、セキュリティ情報及びリースキー、並びに前記割り当てスロットと関連付けられたリース持続期間を前記クライアント装置に送信するステップと、を実行するように前記プロセッサを制御し、
前記セキュリティ情報及びリースキーは、前記クライアント装置が前記割り当てスロットに対して前記リース持続期間中の前記メディアコンテンツのプログレッシブダウンロードを開始できるようにし、前記リース持続期間は前記メディアコンテンツの再生持続期間に基づいて選択され、前記リース持続期間は前記メディアコンテンツの再生持続期間よりも短い、ことを特徴とするシステム。
【請求項２】
前記リース持続期間は、前記クライアント装置によるリース更新要求に応答して延長されることを特徴とする請求項１記載のシステム。
【請求項３】
前記リース更新要求に応答して代替のリースキー及び代替のリース持続期間を提供することを更に備えることを特徴とする請求項２記載のシステム。
【請求項４】
前記リース持続期間は前記メディアコンテンツに関連する持続期間より短いことを特徴とする請求項１記載のシステム。
【請求項５】
実際のサーバ負荷及び予想サーバ負荷の少なくとも一方に基づいて前記リース持続期間を動的に調整することを更に備えることを特徴とする請求項１記載のシステム。
【請求項６】
前記割り当てスロットは、前記リース持続期間の満了時に自動的に解放されることを特徴とする請求項１記載のシステム。
【請求項７】
前記リース持続期間を延長することは、
前記ユーザプロファイルと関連付けられた前記クライアント装置から、前記ユーザプロファイルが許可されるメディアコンテンツに対するリース更新要求を受信することと、前記リース更新要求は、既存のリースキー、既存のリース持続期間及び既存のセキュリティ情報に関連し、
前記リース更新要求に対する新規のセキュリティ情報、新規のリースキー、並びに前記既存のリース持続期間を超える新規のリース持続期間を生成することと、
前記リース更新要求に応答して、前記クライアント装置が前記新規のリース持続期間中に前記メディアコンテンツのプログレッシブ再生を続行できるようにするために、前記新規のセキュリティ情報、前記新規のリースキー及び前記新規のリース持続期間を前記クライアント装置に送信することと、
を備えることを特徴とする請求項２記載のシステム。
【請求項８】
前記ユーザプロファイルと関連付けられた前記クライアント装置から、前記ユーザプロファイルが許可されるメディアコンテンツのプログレッシブ再生に対するリース停止要求を受信することと、前記リース停止要求は、既存のリースキー、既存のリース持続期間及び既存のセキュリティ情報に関連し、
メディア再生スロットが前記既存のリース持続期間のために前記クライアント装置に現在割り当てられているかを判定することと、
前記クライアント装置が前記メディア再生スロットを使用して前記メディアコンテンツのプログレッシブ再生を続行するのを防止するために前記メディア再生スロットを解放することと、
を更に備えることを特徴とする請求項１記載のシステム。
【請求項９】
前記セキュリティ情報及び前記リースキーに従って、前記リース持続期間内のプログレッシブ再生を行うために前記メディアコンテンツの一部分を前記クライアント装置に送出することを更に備えることを特徴とする請求項１記載のシステム。
【請求項１０】
前記セキュリティ情報は前記リースキーの一部分を含むことを特徴とする請求項１記載のシステム。
【請求項１１】
プロセッサと、
ユーザプロファイルと関連付けられたリース開始要求をメディアアセットのリースサーバに送信するステップと、
セキュリティ情報、リースキー、並びに割り当てられたプログレッシブメディアダウンロードスロットと関連付けられたリース持続期間を前記リースサーバから受信するステップと、前記リース持続期間は、前記メディアアセットの再生持続期間に基づいて、前記メディアアセットの再生持続期間よりも短く選択され、
前記セキュリティ情報及び前記リースキーに従って、前記リース持続期間内のプログレッシブ再生を行うために前記メディアアセットの一部分をダウンロードするステップと、
を実行するように前記プロセッサを制御するための命令を格納したメモリと、
を備えることを特徴とするシステム。
【請求項１２】
リース更新要求に応答して、前記割り当てられたプログレッシブメディアダウンロードスロットと関連付けられる新規のリース持続期間を受信することを更に備え、前記新規のリース持続期間は前記メディアアセットに基づくことを特徴とする請求項１１記載のシステム。
【請求項１３】
新規のリース持続期間を受信することは、
リース更新要求をメディアアセットの前記リースサーバに送信することと、前記リース更新要求は、既存のリースキー、既存のリース持続期間、既存のセキュリティ情報及び現在割り当てられているメディア再生スロットに関連しており、
新規のセキュリティ情報、新規のリースキー、並びに前記既存のリース持続期間を超える新規のリース持続期間を前記リースサーバから受信することと、
前記新規のセキュリティ情報及び前記新規のリースキーに従って、前記新規のリース持続期間内のプログレッシブ再生を行うために前記メディアアセットの一部分をダウンロードすることと、
を更に備えることを特徴とする請求項１２記載のシステム。
【請求項１４】
前記リース更新要求は、前記既存のリース持続期間の終了前に送信されることを特徴とする請求項１３記載のシステム。
【請求項１５】
前記ユーザプロファイルが許可されるメディアアセットのプログレッシブ再生に対するリース停止要求を前記リースサーバに送信することを更に備え、前記リース停止要求は、既存のリースキー、既存のリース持続期間及び既存のセキュリティ情報に関連している、ことを特徴とする請求項１１記載のシステム。
【請求項１６】
前記リース停止要求は、メディアアセットのプログレッシブ再生終了イベントを含むことを特徴とする請求項１５記載のシステム。
【請求項１７】
前記セキュリティ情報、前記リースキー又は前記リース持続期間のうちの少なくとも１つはカーネル空間に格納されることを特徴とする請求項１１記載のシステム。
【請求項１８】
前記リース持続期間を超えてプログレッシブ再生を続行するために、前記クライアント装置は前記リース持続期間が満了する前にリース更新要求を送出する必要があることを特徴とする請求項１１記載のシステム。
【請求項１９】
前記セキュリティ情報は前記リースキーの一部分を含むことを特徴とする請求項１１記載のシステム。
【請求項２０】
前記メディアアセットは、映像、音声、ゲーム、アプリケーション、電子書籍又は画像のうちの少なくとも１つを含むことを特徴とする請求項１１記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信に関し、更に詳細には、コンテンツ配信に対するアセットリース管理に関する。
【背景技術】
【０００２】
メディアコンテンツ提供者は、新規のメディアコンテンツ配信方法を探している。インターネット及びポータブルメディア装置での再生は、テレビ番組、ユーザが生成したコンテンツ、映画、ラジオ放送、音楽等の主要な配信手段として放送及びケーブルテレビと同等になった。実際、多くのユーザは、メディアコンテンツの物理コピーを購入又はレンタルするより、ネットワークを介してメディアコンテンツをレンタルすること及びそれらにアクセスすることを好む。しかし、ネットワーク配信方法は特有のセキュリティ問題を引き起こした。メディアコンテンツは、ネットワークを介して送信される場合に盗難及び攻撃を独自に受けやすい。従って、ネットワークを介して転送されるメディアコンテンツの保護は、メディアコンテンツ提供者にとって重大な課題である。
【０００３】
現在、メディアコンテンツ提供者は、ネットワーク利用メディア配信方法のセキュリティ上のリスクを未然に防ぐために種々のセキュリティ戦略を実現する。多くの場合、メディアコンテンツ提供者は、メディアコンテンツを保護するためにデジタル著作権管理（ＤＲＭ）技術を実施している。ＤＲＭ技術は、メディアコンテンツへの不正アクセスを防止又は制限し且つデータをコピーするか又は別の形式に変換しようとする試みを防止することにより、メディアコンテンツの使用を制御しようとする。通常、ＤＲＭ処理は、コンテンツに対する権利を与えられたユーザに使用を制限して不正アクセスを防止するために、コンテンツの暗号化を含む。しかし、多くの場合、十分な時間及びリソースを有する悪質又は有害なユーザはＤＲＭ制限を回避する方法を見つける。
【０００４】
他のメディアコンテンツ保護方式は、一般に、隠蔽によるセキュリティ、設計によるセキュリティ、暗号化及び他の方法により機能する。しかし、これらの手法を混合して用いても、決意の固い「ハッカー」又は「クラッカー」を排除するには不十分である場合が多い。その結果、許可（認可）されていないユーザがメディアコンテンツにアクセスにして使用することができるようになり、多くの場合、許可されたユーザによるメディアコンテンツへのアクセスが制限される。従って、メディアコンテンツのネットワークアクセスを保護及び管理する向上された方法が当該技術において必要とされている。
【発明の概要】
【０００５】
本開示の更なる特徴及び利点は以下の説明において記載され、その一部は説明から明らかになるか又は本明細書中で開示される原理を実現することにより理解されるだろう。本開示の特徴及び利点は、添付の特許請求の範囲において特に示される機器及び組み合わせにより実現され且つ取得される。本開示の上記の特徴及び他の特徴は、以下の説明及び添付の特許請求の範囲から更に明らかになるか、あるいは本明細書中に記載される原理を実現することにより理解されるだろう。
【０００６】
本明細書中に記載される手法は、アセットリース管理をセキュリティ上安全に且つ効率的に実行するために使用可能である。アセットリース管理のためのシステム、方法及び非一時的なコンピュータ可読記憶媒体が開示される。方法は、方法を実行するように構成されたシステムに関して説明される。システムは、ユーザプロファイルと関連付けられたクライアント装置から、ユーザプロファイルが許可されるメディアコンテンツに対するリース開始要求を受信する。システムは、リース開始要求を認証し且つ／あるいは要求を提出するクライアント装置及び／又はユーザを識別するためにユーザプロファイルを使用する。クライアント装置は、ユーザプロファイルに基づいて、要求を提出するユーザを識別する。
【０００７】
システムは、コンテンツのプログレッシブダウンロードを行うために使用可能な複数のスロットを識別する。使用可能なスロットの数が０である場合、システムは、リース開始要求に応答してクライアント装置に拒否通知を送出する。それに対して、使用可能なスロットの数が０より大きい場合、システムは、割り当てスロットを生成するために、複数の使用可能なスロットの中から使用可能なスロットをクライアント装置に割り当てる。システムは、リース開始要求に応答して、クライアント装置がリース持続期間中のアセットのプログレッシブダウンロードを開始できるようにするセキュリティ情報及びリースキー、並びに割り当てスロットと関連付けられたリース持続期間をクライアント装置に送信する。リース持続期間の終了時、システムはリースを終了し、割り当てスロットを解放する。また、システムは、クライアント装置からのリース停止要求に応答して、リース持続期間の終了前にリースを終了し且つ割り当てスロットを解放する。
【０００８】
一実施形態において、クライアント装置がアセットの再生持続期間中にリースを少なくとも１回は更新する必要があるようにするために、リース持続期間はメディアコンテンツの再生持続期間より短い。クライアント装置は、リースの終了前にシステムにリース更新要求を送出することによりリース持続期間を延長できる。クライアント装置は、必要に応じて、再生持続期間が終了するまでリースを延長し続けるために複数のリース更新要求を送出する。リース更新条件は攻撃及び偽造の試みを防止するため、第２の保護レイヤとして機能する。また、リース更新条件は、無効又は未使用のリースがリソースを不必要に拘束することを防止し、システムが新規の／アクティブなリースを処理するためにそのようなリソースを再割り当てできるようにする。
【０００９】
クライアント装置はセキュリティ情報、リースキー及びリース持続期間を受信し、情報を格納する。カーネル空間へのアクセスが通常は制限されるため、クライアント装置は改竄から保護するためにセキュリティ情報をカーネル空間に格納する。あるいは、クライアント装置は改竄から保護するためにリースキーをカーネル空間に格納する。クライアント装置は、情報を改竄から保護するためにセキュリティ情報、リースキー及び／又はリース持続期間をカーネル空間に格納してもよい。クライアント装置は、アクセス制御リスト、暗号鍵、ポリシー、ファイルシステム許可、共有許可等のうちの少なくとも１つにより保護されるメモリ領域に、セキュリティ情報、リースキー及びリース持続期間のうちの少なくとも１つを格納する。
【００１０】
更に、クライアント装置は、リース持続期間を有効にするために情報を使用する。一実施形態において、クライアント装置は、偽造及びユーザによるタイムアウト期間の操作を防止するために、カーネル空間においてタイムアウトを有効にする。タイムアウトは、実際は全てのセキュリティ情報の破損となり、タイムアウト後にアセットを復号化できないことを意味する。更にクライアント装置は、システムに送出する何らかのメッセージを保護するために暗号化及び／又はハッシュ関数を使用できる。一実施形態において、クライアント装置は、システムに送出する予定のメッセージのダイジェストを計算するために、ＨＭＡＣ（hash-based message authentication code）キーを使用する。ＨＭＡＣキーは、グローバル一意識別子、ランダム識別子、クライアント装置の種類及び／又は現在の時刻に基づく。その場合、クライアント装置はアンチリプレイキーを用いてダイジェスト及びメッセージを暗号化し、システムにそれらを送出する。
【００１１】
ユーザが「サインイン」し且つサインアウトしない限りサインイン状態を維持するシステムと異なり、リース構成は、リース持続期間が終了する前にユーザ及び／又はユーザの装置がメディア再生中に継続的又は定期的にサインインすることを必要とする。これは、リース満了後にセキュリティ情報をディスク上に保持しないという更なるセキュリティ利益を有し、リースが要求されるたびにセキュリティ情報を最新の状態とする。更に、ハッカーが再生を続行しながらスロットを解放するために停止要求を改竄する場合、タイムアウト機構により阻止される。
【００１２】
いくつかのメディアストリーミングの実現例において、ユーザは単一のアカウントで異なるマシンを最大数まで許可できる。ユーザが異なる機械マシンのうちの１つを売却してマシンの許可を解除し忘れた場合、許可のうちの１つは「占有」される。その場合、ユーザが既に所有しないマシンの許可を解除する唯一の方法は、全てのマシンの許可を解除する「ｏｎｃｅ−ａ−ｙｅａｒ」特徴を使用することである。サーバ側におけるスロットの満了によりスロットが再使用のために自動的に解放されるため、本明細書中に記載されるリース手法は上記の欠点を有さない。
【００１３】
本開示の上記の利点及び特徴、並びに他の利点及び特徴が取得される方法を説明するために、添付の図面に示される特定の実施形態を参照して、上記で簡単に説明した原理の更に詳細な説明を示す。これらの図面は本開示の好適な実施形態のみを示すものであって本開示の範囲を限定するものであると見なされないことを理解して、添付の図面を使用して本明細書における原理を更に具体的且つ詳細に説明する。
【図面の簡単な説明】
【００１４】
【図１】図１は、システムの一実施形態を示す図である。
【図２】図２は、アセットリース管理のためのネットワークインフラストラクチャの一例を示す図である。
【図３】図３は、アセットリースの開始の一例を示すフローチャートである。
【図４】図４は、アセットリースの更新の一例を示すフローチャートである。
【図５】図５は、アセットリースの停止の一例を示すフローチャートである。
【図６】図６は、サンプルのアセットリース管理処理におけるクライアントとサーバとの間の通信送受信を示す図である。
【図７】図７は、アセットリースを開始する方法の第１の実施形態を示す図である。
【図８】図８は、アセットリースを開始する方法の第２の実施形態を示す図である。
【図９】図９は、アセットリースを更新する方法の第１の実施形態を示す図である。
【図１０】図１０は、アセットリースを更新する方法の第２の実施形態を示す図である。
【図１１】図１１は、アセットリースを停止する方法の一実施形態を示す図である。
【発明を実施するための形態】
【００１５】
本開示の種々の実施形態を以下に詳細に説明する。特定の実現例を説明するが、これは例示のみを目的とすることが理解されるべきである。他の構成要素及び構成が本開示の趣旨の範囲から逸脱することなく使用されてもよいことが当業者には認識されるだろう。
【００１６】
本開示は、当該技術におけるアセットリース管理を実行するための向上された方法の必要性を解決する。アセットリース管理をセキュリティ上安全に且つ効率的に実行するシステム、方法及び非一時的なコンピュータ可読媒体が開示される。概念を実現するために使用可能である図１の基本的な汎用システム又は演算装置の簡単な導入説明を本明細書中で開示する。アセットリース管理及び関連する手法の更に詳細な説明をその後に示す。種々の実施形態を記載する際に複数の変形を本明細書において説明する。次に、図１を参照する。
【００１７】
図１を参照すると、好適なシステム１００は、処理部（ＣＰＵ又はプロセッサ）１２０と、読み出し専用メモリ（ＲＯＭ）１４０及びランダムアクセスメモリ（ＲＡＭ）１５０等のシステムメモリ１３０を含む種々のシステム構成要素をプロセッサ１２０に結合するシステムバス１１０とを含む汎用演算装置１００を含む。システム１００は、プロセッサ１２０に直接接続されるか、近接するか又はその一部として組み込まれる高速メモリのキャッシュ１２２を含む。システム１００は、プロセッサ１２０が素早くアクセスするために、メモリ１３０及び／又は記憶装置１６０からのデータをキャッシュ１２２にコピーする。このように、キャッシュは、プロセッサ１２０がデータを待つことにより遅延するのを回避するという性能の向上を提供する。上記のモジュール及び他のモジュールは、プロセッサ１２０が種々の動作を実行するように制御するか又は制御するように構成される。他のシステムメモリ１３０を同様に使用することができる。メモリ１３０は、異なる性能特性を有する複数の異なる種類のメモリを含む。本開示は、２つ以上のプロセッサ１２０を有する演算装置１００、あるいは高い処理能力を提供するために共にネットワーク接続された演算装置の集団又はクラスタにおいても動作することが理解される。プロセッサ１２０は、何らかの汎用プロセッサと、プロセッサ１２０及びソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを制御するように構成されたハードウェアモジュール又は記憶装置１６０に格納されたモジュール１（１６２）、モジュール２（１６４）及びモジュール３（１６６）等のソフトウェアモジュールとを含む。プロセッサ１２０は基本的に、複数のコア又はプロセッサ、バス、メモリ制御器、キャッシュ等を含む完全独立型演算システムである。マルチコアプロセッサは対称であってもよく、非対称であってもよい。
【００１８】
システムバス１１０は、メモリバス又はメモリ制御器、周辺バス、並びに種々のバスアーキテクチャのいずれかを使用するローカルバスを含むいくつかの種類のバス構造のいずれであってもよい。ＲＯＭ１４０等に格納された基本入出力システム（ＢＩＯＳ）は、起動中等に演算装置１００内の要素間の情報の転送を補助する基本ルーチンを提供する。演算装置１００は、ハードディスクドライブ、磁気ディスクドライブ、光ディスクドライブ又はテープドライブ等の記憶装置１６０を更に含む。記憶装置１６０は、プロセッサ１２０を制御するためのソフトウェアモジュール１６２、１６４、１６６を含む。他のハードウェア又はソフトウェアモジュールが考えられる。記憶装置１６０は、ドライブインタフェースによりシステムバス１１０に接続される。ドライブ及び関連するコンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及び演算装置１００に対する他のデータの不揮発性格納を提供する。１つの態様において、特定の機能を実行するハードウェアモジュールは、機能を実行するために、プロセッサ１２０、バス１１０及びディスプレイ１７０等の必要なハードウェア構成要素と接続する非一時的なコンピュータ可読媒体に格納されたソフトウェア構成要素を含む。基本的な構成要素は当業者には既知であり、装置１００が小型ハンドヘルド演算装置であるか、デスクトップコンピュータであるか又はコンピュータサーバであるか等の装置の種類に依存して、適切な変形が考えられる。
【００１９】
本明細書中で説明される好適な実施形態はハードディスク１６０を採用するが、磁気カセット、フラッシュメモリカード、デジタル汎用ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）１５０、読み出し専用メモリ（ＲＯＭ）１４０、ビットストリーム等を含むケーブル又は無線信号等のコンピュータによりアクセス可能なデータを格納する他の種類のコンピュータ可読媒体が好適な動作環境において同様に使用されてもよいことが当業者には理解されるべきである。非一時的なコンピュータ可読記憶媒体は、特にエネルギー、搬送波信号、電磁波及び信号自体等の媒体を除外する。
【００２０】
演算装置１００とのユーザ対話を可能にするために、入力装置１９０は、音声入力のためのマイク、ジェスチャ又はグラフィック入力のためのタッチセンシティブ画面、キーボード、マウス、モーション入力、音声及び／又は他のセンサ１９２等の数多くの入力機構の少なくともいずれかを表す。同様に、出力装置１７０は当業者に既知である多くの出力機構のうちの１つ以上である。いくつかの例において、マルチモーダルシステムにより、ユーザは演算装置１００と通信するための複数の種類の入力を提供できる。一般に、通信インタフェース１８０はユーザ入力及びシステム出力を制御及び管理する。何らかの特定のハードウェア構成における動作であるという制約はなく、従って、本例における基本的な特徴は、向上されたハードウェア又はファームウェア構成が開発された際にそれらと容易に置き換えられる。
【００２１】
説明の便宜上、示されるシステムの実施形態は、「プロセッサ」、すなわちプロセッサ１２０と示される機能ブロックを含む、個々の機能ブロックを含むものとして提示される。これらのブロックが表す機能は、ソフトウェアを実行できるハードウェア、並びに汎用プロセッサ上で実行するソフトウェアの等価物として動作するように特定用途向けに作られたプロセッサ１２０等のハードウェアを含むが、それらに限定されない共有又は専用ハードウェアのいずれかの使用を介して提供されてもよい。例えば、図１に提示するプロセッサの１つ以上の機能は、単一の共有プロセッサ又は複数のプロセッサにより提供され得る。（用語「プロセッサ」の使用は、ソフトウェアを実行できるハードウェアのみを示すと解釈されるべきではない。）例示される実施形態は、マイクロプロセッサ及び／又はデジタル信号プロセッサ（ＤＳＰ）ハードウェア、以下に説明する動作を実行するソフトウェアを格納するための読み出し専用メモリ（ＲＯＭ）１４０、並びに結果を格納するためのランダムアクセスメモリ（ＲＡＭ）１５０を含む。超大規模集積回路（ＶＬＳＩ）ハードウェアの実施形態、並びに汎用ＤＳＰ回路と組み合わされたカスタムＶＬＳＩ回路網が更に提供されてもよい。
【００２２】
種々の実施形態の論理演算は、（１）汎用コンピュータ内のプログラム可能な回路上で稼働する、一連のコンピュータにより実現されるステップ、動作又は手順、（２）専用プログラム可能な回路上で稼働する、一連のコンピュータにより実現されるステップ、動作又は手順、並びに／あるいは（３）プログラム可能な回路内の相互接続された機械モジュール又はプログラムエンジン、として実現される。図１に示すシステム１００は、示される方法の全て又は一部を実現し、示されるシステムの一部であり且つ／あるいは示される非一時的なコンピュータ可読記憶媒体内の命令に従って動作する。そのような論理演算は、モジュールのプログラミングに従って特定の機能を実行するためにプロセッサ１２０を制御するように構成されたモジュールとして実現可能である。例えば図１は、プロセッサ１２０を制御するように構成されたモジュールである３つのモジュールＭｏｄ１（１６２）、Ｍｏｄ２（１６４）及びＭｏｄ３（１６６）を示す。これらのモジュールは、記憶装置１６０に格納されて実行時にＲＡＭ１５０又はメモリ１３０にロードされてもよく、あるいは当該技術において既知であるように、他のコンピュータ可読メモリの場所に格納されてもよい。
【００２３】
以上、演算システムのいくつかの構成要素を開示した。次に、アセットリース管理のためのネットワークインフラストラクチャ２００の一例を示す図２を参照する。図２において、クライアント装置２０２、２０４、２０６は、メディアコンテンツのリースを取得し且つ再生することを目的としてメディアコンテンツのプログレッシブダウンロードを行うために、プログレッシブ再生サーバ２１０及びリースサーバ２１４と通信する。クライアント装置２０２、２０４、２０６は、携帯電話、コンピュータ、メディアサーバ及び／又は受信機、テレビ、ネットワークメディアプレーヤ、ビデオゲームのコンソール等、ネットワーク接続機能を有するものであればどんな装置であってもよい。図２において、クライアント装置２０２、２０４、２０６は、ラップトップコンピュータ２０２、携帯電話２０４及びデジタルメディア受信機２０６を含む。
【００２４】
一実施形態において、クライアント装置２０２、２０４、２０６はネットワーク２０８を介してプログレッシブ再生サーバ２１０及びリースサーバ２１４と通信する。ネットワーク２０８はインターネット等の公衆ネットワークであってもよいが、ローカルエリアネットワーク、社内ネットワーク及び仮想プライベートネットワーク（ＶＰＮ）等のプライベート又は準プライベートネットワークを更に含む。クライアント装置２０２、２０４、２０６は、有線又は無線接続を介してネットワーク２０８に接続できる。例えばクライアント装置２０２、２０４、２０６は、無線又は有線ネットワーク接続を介してネットワーク２０８に接続するためにアンテナ、モデム又はネットワークインタフェースカードを使用するように構成される。図２において、ラップトップコンピュータ２０２はネットワークインタフェースカードを使用する有線ネットワーク接続を介してネットワーク２０８に接続し、携帯電話２０４はアンテナを使用する無線接続を介してネットワーク２０８に接続し、デジタルメディア受信機２０６は無線ネットワークインタフェースカードを使用する無線接続を介してネットワーク２０８に接続する。
【００２５】
リースサーバ２１４は、アセットリース管理を提供する。リースサーバ２１４は、１つ以上のサーバ上で管理されるアプリケーションである。一実施形態において、リースサーバ２１４は、ユーザプロファイル情報を格納及び検索するユーザプロファイルデータベース２１６と通信する。この場合、リースサーバ２１４は、セッション情報、リソース情報、セキュリティ情報、リース情報、コンテンツ情報、ユーザ情報、スケジューリング情報、サービスの使用可能性等を含むリース及びスロット情報を格納及び検索するリース／スロットデータベース２１８に更に接続する。ユーザプロファイルデータベース２１６及びリース／スロットデータベース２１８は、リースサーバ２１４及び／又は１つ以上の別個のサーバ上で管理される。更に、図２のユーザプロファイルデータベース２１６及びリース／スロットデータベース２１８は２つの別個のデータベースとして示されるが、それらの情報が単一のデータベースに格納可能であることは当業者には容易に認識されるだろう。
【００２６】
リースサーバ２１４は、オペレーティングシステム、データケーブル、プロセッサ及び／又はネットワーク接続を介してプログレッシブ再生サーバ２１０と通信する。プログレッシブ再生サーバ２１０は、リースサーバ２１４上で管理されるアプリケーション、１つ以上の別個のサーバ上で管理されるアプリケーション、コンテンツデータベース、コンテンツ記憶装置等として実現され得る。プログレッシブ再生サーバ２１０は、リースサーバ２１４上のリース情報に従って、クライアント装置２０２、２０４、２０６にメディアコンテンツを提供する。一実施形態において、プログレッシブ再生サーバ２１０は、コンテンツ記憶部２１２に格納されたメディアコンテンツへのアクセス、そのようなメディアコンテンツのスケジューリング、共有、送出及び／又は管理のためにコンテンツ記憶部２１２と通信する。プログレッシブ再生サーバ２１０は、データケーブル、プロセッサ、データコネクタ及び／又はネットワーク接続を介してコンテンツ記憶部２１２に接続する。
【００２７】
コンテンツ記憶部２１２は、プログレッシブ再生サーバ２１０と同一のサーバ又は１つ以上の別個のサーバ／装置上に常駐する。更に、コンテンツ記憶部２１２は、ハードディスクドライブ、磁気ディスクドライブ、固体ドライブ、光ディスクドライブ、テープドライブ又はＲＡＩＤ（redundant array of inexpensive disks）等の記憶装置を含む。
【００２８】
次に、処理動作の例を示す図３、図４及び図５を参照する。図３は、アセットリースの開始の一例を示すフローチャートである。本例において、最初に、リースサーバはリース開始要求を受信する（３０２）。リース開始要求は、例えば携帯電話、ラップトップコンピュータ、メディアプレーヤ等のクライアント装置から発信される。本例において、クライアント装置はユーザプロファイルと関連付けられており、ユーザプロファイルはリースサーバがリース開始要求の認証、クライアント装置の識別及び／又は要求を提出するユーザの識別のために使用される。
【００２９】
一実施形態において、クライアント装置が特定のユーザプロファイルに対してリースサーバからコンテンツにアクセスすることを許可されるように、ユーザプロファイルはクライアント装置にリンクされる。例えばユーザプロファイルは、クライアント装置を当該ユーザプロファイルに対して許可された装置として定義するプリファレンス設定を含む。その場合、リースサーバは、クライアント装置からのリース開始要求を検査するためにユーザプロファイルを使用する。別の実施形態において、クライアント装置は、リース開始要求とユーザプロファイルとを関連付けるためにリース開始要求内にユーザプロファイル情報を含む。例えばリースサーバにリース開始要求を送信する前に、クライアント装置はユーザのアカウント証明書を入力することによりリース開始要求を許可／認証するようにユーザに入力指示する。その場合、クライアント装置は、リース開始要求内にアカウント証明書及び／又は対応するユーザプロファイル情報を含める。
【００３０】
ユーザプロファイルは、ユーザ名、ユーザ識別子、ユーザグループ、ユーザアドレス、グローバルユーザ識別子等を含む。更に、ユーザプロファイルは１つ以上のクライアント装置と関連付けられ、クライアント装置は１つ以上のユーザプロファイルと関連付けられる。例えばユーザプロファイルは、３つの異なるクライアント装置と関連付けられてもよく、あるいは２つの異なるクライアント装置と関連付けられてもよい。しかし、いくつかの例において、システムは、ユーザプロファイルが関連付けられる装置数に上限を設ける。また、他の例において、システムは、スロットが使用可能である限り、どんな装置もアセットをリースするためにスロットを使用できるようにする。
【００３１】
リースサーバは、スロットがコンテンツのプログレッシブダウンロードを行うために使用可能であるかを判定する（３０４）。スロットは、セッション、リース、リソース、ノード、スケジュール、スレッド、オブジェクト、モジュール及び送信媒体等である。一実施形態において、リースサーバは、リース開始要求を処理するためにリースサーバ上でセッションが使用可能であるかをチェックする。リースサーバは、ネットワークノードがリース開始要求を処理するために使用可能であるかを判定するために、１つ以上のネットワークノードの状態をチェックしてもよい。リースサーバはメディアアセットの状態をチェックし、サーバ負荷に基づいて、サーバがリース開始要求を処理できるかを判定してもよい。更に別の実施形態において、リースサーバは、ユーザプロファイルに対してコンテンツのプログレッシブダウンロードを行うためにリースを使用可能であるかをチェックする。
【００３２】
スロットがコンテンツのプログレッシブダウンロードを行うために使用可能ではないとリースサーバが判定した場合、システム１００はクライアント装置に拒否通知を送出し（３０６）、それによりリース開始要求は終了される。他方、スロットがコンテンツのプログレッシブダウンロードを行うために使用可能であるとリースサーバが判定した場合、リースサーバはクライアント装置に使用可能なスロットを割り当てる（３０８）。クライアント装置に使用可能なスロットを割り当てた後、リースサーバはクライアント装置にセキュリティ情報、リースキー及びリース持続期間を送信する（３１０）。それらの情報を送信するために、リースサーバは、ＴＣＰ、ＵＤＰ、ＲＴＰ、ＲＴＳＰ、ＲＴＣＰ、ＳＳＨ、ＴＬＳ／ＳＳＬ、ＳＩＰ、ＳＤＰ、ＦＴＰ及びＨＴＴＰ等のうちの１つ以上のプロトコルを使用できる。今後開発される他の通信及び／又は送信プロトコルも同様に使用可能である。一実施形態によると、クライアント装置はセキュリティ情報、リースキー及びリース持続期間を受信し、カーネル空間にそれらの情報を格納する。この場合、クライアント装置は、改竄から保護された格納された情報を使用して、それに従ってリース持続期間を有効にする。
【００３３】
セキュリティ情報は、特に、動作識別子、要求識別子、ユーザアカウント識別子、リース識別子、状態、セッション識別子、メディアコンテンツ識別子、リソース識別子、グローバル一意識別子等を含む。他の実施形態において、セキュリティ情報はリースキーの一部を含む。リースキーはリース情報を保護するセキュリティキーであり、データの整合性及び信頼性を証明するために使用可能である。リースキーは、例えばハッシュ関数を使用してリースサーバにより生成される。リース持続期間は、ポリシー、スケジュール、メディアアセット、サーバ負荷、要求の種類、要求の時刻／日付等に基づくようにすることができる。また、リース持続期間は、１０分間又は他の何らかの固定持続期間に設定されてもよい。また、リース持続期間は、リース持続期間が要求されたメディアコンテンツの再生持続期間より短いことを要求するポリシーに従って設定されてもよい。リース持続期間は、要求されたメディアコンテンツの再生持続期間の特定の割合であってもよい。セキュリティ情報は、共にアルゴリズムに従って生成されるアンチリプレイキー及びダイジェストで保護される。
【００３４】
更に、リースサーバは、クライアント装置に送出するセキュリティ情報、リースキー及び／又はリース持続期間の全て又は一部を暗号化する。リースサーバは、データの一部分のメッセージのダイジェストを計算することにより生成されたキーを用いてデータを暗号化する。或いは、リースサーバは、ランダムキーを用いてデータを暗号化し且つ／又は秘密鍵を使用してデータの一部を暗号化してもよい。また、秘密鍵はクライアント側で難読化されるようにしてもよい。
【００３５】
リースサーバからセキュリティ情報、リースキー及びリース持続期間を受信後、クライアント装置はリース持続期間中においてメディアコンテンツのプログレッシブダウンロードを開始できる（３１２）。セキュリティ情報及びリースキーにより、クライアント装置は、指定されたリース持続期間中のメディアコンテンツのプログレッシブダウンロード／再生を開始できる。一実施形態において、リースサーバは、実際の負荷及び／又は予想負荷に基づいてリース持続期間を動的に調整する。動的なリース持続期間は、負荷の軽減とセキュリティとの間のトレードオフを調整する。この場合、短いリース持続期間は、クライアントがサーバとの間で頻繁に更新する（すなわち、自身を認証する）ことを意味する。メディアコンテンツのプログレッシブダウンロード／再生を行うために、クライアント装置は、ＴＣＰ、ＵＤＰ、ＲＴＰ、ＲＴＳＰ、ＲＴＣＰ、ＳＳＨ、ＴＬＳ／ＳＳＬ、ＳＩＰ、ＳＤＰ、ＦＴＰ及びＨＴＴＰ等のうちの１つ以上のプロトコルを使用できる。今後開発される他の通信及び／又は送信プロトコルも同様に使用可能である。メディアコンテンツは、映像、音声、ゲーム、電子書籍、アプリケーション及び画像等を含む。メディアコンテンツは、映画、音楽、ゲーム、音声（音楽ファイル等）及び／又はメディアファイルのプレイリストであってもよい。
【００３６】
リース持続期間が満了すると、リースサーバはリースを終了し、割り当てられたスロットを解放する。しかし、リース持続期間の満了前に、クライアント装置はリース更新要求を提出することによりリース持続期間を延長できる。また、クライアント装置は、リース停止要求を提出することによりリース持続期間の満了前にリースを終了することもできる。リースサーバがリース停止要求を受信すると、リースサーバはリースを終了し、割り当てられたスロットを解放する。
【００３７】
図４は、アセットリースの更新の一例を示すフローチャートである。一実施形態によると、クライアント装置はアセットの再生中にリース持続期間を有効にする。クライアント装置は、カーネル空間においてリース持続期間を有効にしてもよい。双方の例において、クライアント装置はリース持続期間が満了する場合にアセットの再生を終了する。しかし、クライアント装置はサーバにリース更新要求を送出することによりリース持続期間を延長できる。正常なリース更新の結果は次の２つである。すなわち、クライアント装置においてリース持続期間が特定のアセットに対して延長され、サーバにおいてリース満了時間（スロット）がクライアント装置に対して延長される。クライアント装置は、リースの整合性を保護するためにカーネル空間にリース情報を格納する。１つの変形において、クライアントが映画のフレーム等のメディアの一部を復号化又はデコードするたびに、クライアントはリース持続期間が満了したかをチェックする。リース持続期間が満了した場合、全てのセキュリティ情報は破損され、それにより更なる復号化又はデコードが防止される。リース持続期間が満了していない場合、クライアントはメディアの復号化又はデコードを続行する。
【００３８】
図４に示すように、最初に、クライアント装置はサーバにリース更新要求を送出する（４０２）。サーバにリース更新要求を送出する場合、クライアント装置は、メッセージを保護し且つメッセージが無許可のユーザによりリプレイされないことを保証するために、アンチリプレイ保護を使用する。一実施形態によると、アンチリプレイ保護は複数のステップを含む。最初に、クライアント装置は、グローバル一意識別子、ランダム識別子、クライアント装置の種類及び／又は現在の時刻に基づいてＨＭＡＣキーを生成する。その後、クライアント装置はＨＭＡＣキーを使用して、メッセージのダイジェストを計算する。次に、クライアント装置は、要求の種類及び／又は現在の時刻、並びに上記の生成されたダイジェスト及びグローバル一意識別子等の他の何らかの情報に基づいて第２のキーを生成する。最後に、クライアント装置は第２のキーを使用して、ＨＭＡＣキーを用いて作成されたメッセージのダイジェストを含むメッセージ全体を暗号化する。
【００３９】
サーバはリース更新要求を受信すると、スロットが既存のリース持続期間に対してクライアント装置に現在割り当てられているかを判定する（４０４）。スロットがクライアント装置に現在割り当てられていない場合、サーバはクライアント装置に対するスロットを取得し（４０６）、クライアント装置に対するスロットタイマを初期化する（４０８）。他方、スロットがクライアント装置に既に割り当てられている場合、サーバはクライアント装置に対するスロットタイマを延長する（４１０）。スロットタイマは、スケジュール、設定、ポリシー、ユーザプロファイル、リソース、規則、アセット等に基づく。
【００４０】
サーバは、クライアント装置に、新規のセキュリティ情報、新規のリースキー及び新規のリース持続期間を送信する（４１２）。クライアント装置は、新規のセキュリティ情報、新規のリースキー及び新規のリース持続期間を受信し、カーネル空間に格納する。この場合、クライアント装置は、改竄から保護された格納された情報を使用して、それに従ってリース持続期間を有効にする。クライアント装置が新規のセキュリティ情報、新規のリースキー及び新規のリース持続期間を受信すると、クライアント装置は新規のリース持続期間中においてメディアコンテンツのダウンロード／再生を続行できる（４１４）。
【００４１】
１つの変形において、更新の応答がリースキーを含まないようにしてもよい。リースキーは最初のリース要求以降に変化しないため、クライアント装置はリース更新の応答において新規の持続期間のみを送出する。当然、クライアント装置は新規のリースキーを毎回生成してもよい。従って、更新要求は、以前に使用されたリースキーに依存してもよく、あるいは新規のリースキーを使用してもよい。
【００４２】
図５は、アセットリースの停止の一例を示すフローチャートである。最初に、サーバはリース停止要求を受信する（５０２）。一実施形態において、リース停止要求はイベントに応答して生成される信号である。例えばリース停止要求は、メディアコンテンツのダウンロード／再生の中断を示すエラーである。あるいは、リース停止要求は、ユーザによる操作、サーバイベント、ネットワークイベント、アプリケーションイベント等のイベントに応答してクライアント装置により生成されるメッセージ（例えば、ＦＩＮパケット）である。クライアント装置は、ユーザがメディアコンテンツのダウンロード／再生を終了する場合にリース停止要求メッセージを生成してもよい。クライアント装置は、アイドルセッションのタイムアウト後にリース停止要求メッセージを生成してもよい。クライアント装置は、ハードウェア、ソフトウェア及び／又はネットワークの障害を検出した場合にリース停止要求メッセージを生成してもよい。
【００４３】
次に、サーバは、既存のリース持続期間に対してクライアント装置に現在割り当てられているスロットが存在するかを判定する（５０４）。スロットがクライアント装置に割り当てられていない場合、サーバは、解放するスロットが存在しないという通知を送出する（５０６）。他方、スロットがクライアント装置に割り当てられている場合、サーバはクライアント装置に割り当てられたスロットを解放する（５０８）。サーバがクライアント装置に割り当てられたスロットを解放すると、通常、クライアント装置はリース開始要求を介して新規リースを取得しない限りメディアコンテンツのダウンロード／再生を続行できない。しかし、狡猾なハッカーはスロットを解放するために停止要求を偽造する場合がある。しかし、これは、ハッカーがスロットを消費せずにリースを更新することができないため、ハッカーによる再生がタイムアウトになることを意味する。
【００４４】
図６は、一例であるアセットリース管理処理６００におけるクライアント６０２とサーバ６０４との間の通信送受信を示す図である。本例において、クライアント６０２及びサーバ６０４は、ユーザがサーバ６０４上のメディアアセットをリースし且つクライアント６０２からメディアアセットにアクセスできるようにする一連の通信送受信を実行する。例えば、Messy Studentは部屋を掃除中にインターネットで音楽プレイリストを聞きたい。この場合、Messy Studentは自身のメディアプレーヤから音楽プレイリストをリースして、リースの持続期間中にそれを聞くことができる。リースは、Messy Studentが部屋を掃除中に音楽プレイリストのプログレッシブダウンロード及び再生を行えるようにする。リース持続期間の終了が近づくと、メディアプレーヤは、Messy Studentが元のリース持続期間を超えて音楽プレイリストを聞き続けられるようにするために、リースサーバにリース更新要求を送出することにより透過的に（例えば、ユーザ対話を用いずに）リースを延長できる。更に、Messy Studentは、リースを許可するため又はリースとMessy Studentとを関連付けるために自身のユーザアカウントを使用するようにメディアプレーヤを構成できる。同一の原理は映像コンテンツの視聴にも同様に適用され得る。リース満了前の何らかの時点で、再生装置は、ユーザに対するシームレス再生を続行するのと同時にリースの更新又は延長を要求しようとする。
【００４５】
クライアント６０２は、リース改竄から保護するために、リースをカーネル空間にセキュリティ上安全に格納する。一実施形態において、クライアント６０２はリースに従ってタイムアウト期間を有効にする。クライアント６０２は、リースを改竄から保護するために、カーネル空間においてリースを有効にする。更に、クライアント６０２は、サーバ６０４との通信送受信をセキュリティ保護するために、ハッシュ関数、暗号化アルゴリズム及び／又はセキュリティキーを使用する。
【００４６】
図６において、クライアント６０２及びサーバ６０４は、ＴＣＰ、ＵＤＰ、ＲＴＰ、ＲＴＳＰ、ＲＴＣＰ、ＳＳＨ、ＴＬＳ／ＳＳＬ、ＳＩＰ、ＳＤＰ、ＦＴＰ及びＨＴＴＰ等の１つ以上のプロトコルを用いてネットワークを介して通信する。今後開発される他の通信及び／又は送信プロトコルも同様に使用可能である。クライアント６０２は、例えば携帯電話、ラップトップコンピュータ、メディアプレーヤ等のネットワーク接続機能を有するどんな演算装置であってもよい。サーバ６０４は、アセットリース管理を実行するように構成された１つ以上のサーバを含む。アセットは、映像、音声、ゲーム、アプリケーション及び画像等のメディアコンテンツを含む。
【００４７】
最初に、クライアント６０２はサーバ６０４にリース開始要求６０６を送出する。この場合、サーバ６０４が、リース開始要求６０６、クライアント６０２及び／又は要求を提出するユーザを認証／識別できるようにするために、クライアント６０２はユーザプロファイルと関連付けられる。クライアント６０２は、クライアント６０２とユーザプロファイルとを関連付ける設定を含む。ユーザプロファイルは、クライアント６０２を許可された装置としてリスト表示する設定を含む。例えばMessy Studentは、クライアント６０２を許可された装置として指定するように自身のユーザプロファイルを構成できる。クライアント６０２はユーザアカウント証明書を格納し、サーバ６０４により認証されるためにその証明書を使用できる。
【００４８】
クライアント６０２は、操作及び／又はイベントに応答してリース開始要求６０６を送出する。クライアント６０２は、ユーザの操作に応答してリース開始要求６０６を送出する。例えばクライアント６０２は、Messy Studentがサーバ６０４に格納された曲をリース／再生しようとするのに応答してリース開始要求６０６を送出する。或いは、クライアント６０２は、スケジュールに従ってリース開始要求６０６を送出してもよい。クライアント６０２は、リースがもうすぐ終了するという判定又は同一メディアの閲覧を続行するためのリース更新要求に基づいて、リース開始要求６０６を送出してもよい。
【００４９】
次に、サーバ６０４はクライアント６０２に応答６０８を送出する。応答６０８は、セキュリティ情報、リースキー及びリース持続期間を含む。一実施形態によると、クライアント６０２はセキュリティ情報、リースキー及びリース持続期間を受信し、カーネル空間に格納する。この場合、クライアント６０２は、リース持続期間を有効にするために、改竄から保護された格納された情報を使用する。更にサーバ６０４は、クライアント６０２に送出される応答６０８の全て又は一部をハッシュ及び／又は暗号化する。例えばサーバ６０４は、秘密鍵を使用して応答６０８を暗号化する。その場合、クライアント６０２は秘密鍵を使用して応答６０８を復号化する。
【００５０】
応答６０８を受信後、クライアント６０２はリース持続期間中のアセットのプログレッシブダウンロードを開始できる。応答６０８内のセキュリティ情報及びリースキーにより、クライアント６０２は、リース持続期間により指定された期間中のアセットのプログレッシブダウンロードを開始できる。例えばMessy Studentは、自身のメディアプレーヤにストリームしたい音楽プレイリストを選択する。それに応答して、メディアプレーヤは、音楽プレイリストを管理し且つ／又は音楽プレイリストのリースを管理するサーバに、リース開始要求を送出する。サーバは、リース開始要求を受信すると、セキュリティ情報、リースキー及びリース持続期間を含む応答を生成する。その後、サーバはメディアプレーヤに応答を送出する。応答を受信すると、メディアプレーヤは音楽プレイリストのプログレッシブダウンロードを開始する。Messy Studentは、リース持続期間において指定された時間の間、音楽プレイリストを聞くことができる。
【００５１】
リース持続期間の終了前に、クライアント６０２は、アセットのダウンロード／再生がリース持続期間を超えて続行するようにするためにサーバ６０４にリース更新要求６１０を送出する。一実施形態において、クライアント６０２がアセットの再生持続期間の間にリースを少なくとも１回更新することが必要となるように、リース持続期間はアセットの再生持続期間より短く設定される。上記の例において、メディアプレーヤは、リース持続期間を延長してMessy Studentが音楽プレイリストを聞き続けられるようにするために、サーバにリース更新要求を透過的に送出する。更に、メディアプレーヤは、再生持続期間が終了するまでにリースを２回以上更新するようにしてもよい。クライアント６０２がリース持続期間の終了前にリースを更新しない場合、サーバ６０４はリースを終了し、クライアント６０２に割り当てられたスロットを解放する。更に、リース持続期間が満了することにより、クライアント６０２はアセットのデコード又は再生に関連付けられた全てのセキュリティ情報を破棄又は破損する。これにより、リース更新条件が第２の保護レイヤとして機能するため、攻撃及び偽造の試みは妨げられる。また、これにより、無効又は未使用のリースによってスロット、リース、セッション、サービス等のリソースが拘束されることが防止され、サーバ６０４が新規の／アクティブな要求を処理するためにそのようなリソースを再割り当てできるようになる。
【００５２】
例えばMessy Studentは、自身のメディアプレーヤからサーバ上の音楽プレイリストのリースを開始する。その後、Messy Studentのメディアプレーヤはネットワーク接続性を失い、Messy Studentから音楽プレイリストへのアクセスが中断される。代わりに、Messy Studentは自身のラップトップを手に取って映画を見ようとすることにより、サーバからのリースを黙示的に要求する。Messy Studentの前のリースが即座に解放されない場合、サーバはMessy Studentがラップトップから映画をリースできるようにする別のリース／リソースをすぐに有さない場合がある。これは、例えばMessy Studentがサーバにより許可されたリースの最大数に到達した場合又は前のリースがサーバ上の最後のスロットを占有する場合に当てはまる。しかし、前のリースが再生持続期間の間に更新される必要があることにより、サーバは非アクティブなリース／装置がリース持続期間の長さを超えてリース、セッション、スロット等のサーバリソースを不必要に占有しないことを保証できる。この場合、サーバはリース持続期間の終了時に前のリースを終了し、前のリース及びそれにより使用されたリソースを解放する。サーバは、Messy Studentが自身のラップトップから映画をリースできるようにするために、スロット及び／又は前のリースを再度割り当てることができる。
【００５３】
サーバ６０４にリース更新要求６１０を送出する場合、クライアント６０２はメッセージをセキュリティ保護し且つメッセージが意図しないユーザによりリプレイされないことを保証するために、アンチリプレイ保護を使用できる。一実施形態において、アンチリプレイ保護は複数のステップを含む。最初に、クライアント６０２は、グローバル一意識別子、ランダム識別子、クライアント装置の種類、ダイジェスト及び／又は現在の時刻に基づいてＨＭＡＣキーを生成する。難読化された秘密鍵を用いる別の暗号化層がＨＭＡＣキーに更に適用可能である。その後、クライアント６０２はＨＭＡＣキーを使用して、メッセージのダイジェストを計算する。次に、クライアント６０２は、要求の種類及び／又は現在の時刻に基づいてアンチリプレイキーを生成する。最後に、クライアント６０２はアンチリプレイキーを使用して、ＨＭＡＣキーを用いて作成されたメッセージのダイジェストを含むメッセージ全体を暗号化する。サーバ６０４は、クライアント６０２からのメッセージをチェック及び復号化するために、同一のキーを同様に導出する。
【００５４】
次に、サーバ６０４はリース更新要求６１０を受信し、クライアント６０２に応答６１２を送出する。応答６１２は、新規のセキュリティ情報、新規のリースキー及び新規のリース持続期間を含む。クライアント６０２は応答６１２を受信し、プログレッシブダウンロード／再生を続行する。クライアント６０２は、アセットの再生持続期間が終了するまでこの処理を繰り返すことができる。一実施形態において、リース更新要求６１０及び応答６１２はユーザの入力を用いずに透過的に生成される。例えば、アセットがリースの終了前の指定された時間にダウンロード又は再生される場合、クライアント６０２はリース更新要求６１０を自動的に生成する。
【００５５】
サーバ６０４はリース更新要求６１０を受信し、応答６１２を生成し、クライアント６０２に応答６１２を送出する。クライアント６０２は応答６１２を受信し、再生を中断することなく続行する。前述の例において、Messy Studentが音楽プレイリストを聞いている間、メディアプレーヤはリース更新要求６１０を自動的に生成し、リース持続期間の終了時の中断を回避するためにそれをサーバ６０４に送出する。クライアント６０２はサーバ６０４から応答６１２を受信し、音楽プレイリストを依然として聞いているMessy Studentに気付かれずにリース持続期間が延長される。この場合、Messy Studentは元のリース持続期間を超えて音楽プレイリストを聞き続けることができる。メディアプレーヤはこれらのステップを続行できる。例えばメディアプレーヤは、音楽プレイリストが再生を終了するまで、リース更新要求の送出及びリース持続期間の延長を続行できる。
【００５６】
最後に、クライアント６０２は、オプションとして、リース持続期間の終了前にリースを終了するためにサーバ６０４にリース停止要求６１４を送出できる。サーバ６０４がリース停止要求６１４を受信する場合、サーバ６０４はリースを終了し、スロットを解放する。リースが終了すると、プログレッシブ再生は特定のアセットに対して停止する。
【００５７】
以上、いくつかの基本的なシステム構成要素及び概念を開示した。次に、図７、図８、図９、図１０及び図１１に示す好適な方法の実施形態を参照する。明確にするために、方法を実行するように構成された図１に示す好適なシステム１００に関して各方法を説明する。本明細書において概要を示すステップは例であり、それらのいかなる組み合わせでも実現可能であり、そのような組み合わせは特定のステップを除外、追加又は修正する組み合わせを含む。
【００５８】
図７は、アセットリースを開始する方法の第１の例を示す図である。最初に、システム１００は、ユーザプロファイルと関連付けられたクライアント装置から、そのユーザプロファイルが認定されるメディアコンテンツに対するリース開始要求を受信する（７０２）。ユーザプロファイルは、ユーザ名、ユーザ識別子、ユーザグループ、グローバルユーザ識別子、装置識別子等を含む。システム１００は、リース開始要求の認証、クライアント装置の識別及び／又は要求を提出するユーザの識別のためにユーザプロファイルを使用できる。ユーザプロファイルは、リース開始要求を許可するためにユーザ及び／又はクライアント装置により更に使用される。
【００５９】
ユーザは、自身のユーザプロファイルに対して構成されたアカウント証明書を検証することによりリース開始要求を許可できる。例えば、システム１００にリース開始要求を送信する前に、クライアント装置はユーザのアカウント証明書を入力することによりリース開始要求を許可／認証するようにユーザに入力指示する。その場合、クライアント装置はシステム１００に認証情報を提供できる。クライアント装置が特定のユーザプロファイルに対してシステム１００からアセットリースを取得することを許可されるように、ユーザプロファイルはクライアント装置にリンクされる。例えばユーザプロファイルは、当該ユーザプロファイルに対する許可された装置としてクライアント装置を定義するプリファレンス設定を含む。システム１００は、ユーザプロファイルを使用してクライアント装置とプリファレンス設定とを比較することによりクライアント装置からのリース開始要求を検査する。更に別の実施形態において、クライアント装置は、リース開始要求とユーザプロファイルとを関連付けるユーザプロファイル情報をリース開始要求のヘッダ内に含む。
【００６０】
システム１００は、コンテンツのプログレッシブダウンロードを行うために使用可能な一つまたは複数のスロットを識別する（７０４）。スロットは、リース、セッション、リソース、ノード、スケジュール、スレッド、オブジェクト、モジュール及び送信媒体等である。システム１００は、セッションがリース開始要求を処理するために使用可能であるかをチェックしてもよい。システム１００は、ネットワークノードがリース開始要求を処理するために使用可能であるかを判定するために、１つ以上のネットワークノードの状態をチェックしてもよい。システム１００はメディアアセットの状態をチェックし、システム負荷に基づいて、システム１００がリース開始要求を処理できるかを判定してもよい。システム１００は、リースがクライアント装置に提供可能であるかを判定するために、リースがリースサーバにおいて使用可能であるかをチェックしてもよい。
【００６１】
次に、システム１００は、使用可能なスロットの数が０より大きいかを判定する（７０６）。使用可能なスロットの数が０以下である場合、システム１００はクライアント装置に拒否通知を送出し（７０８）、方法は終了する。それに対して、使用可能なスロットの数が０より大きい場合、システム１００は、割り当てスロットを生成するために、使用可能なスロットの中から１つの使用可能なスロットをクライアント装置に割り当てる（７１０）。システム１００は、クライアント装置がリース持続期間中のメディアコンテンツのプログレッシブダウンロードを開始できるようにするセキュリティ情報及びリースキー、並びに割り当てスロットと関連付けられたリース持続期間をクライアント装置に送信する（７１２）。
【００６２】
図８は、アセットリースを開始する方法の第２の例を示す図である。システム１００は、ユーザプロファイルと関連付けられるリース開始要求をメディアアセットのリースサーバに送信する（８０２）。システム１００は、操作及び／又はイベントに応答してリース開始要求を生成及び／又は送信する。一実施形態において、システム１００は、ユーザによる操作に応答してリース開始要求を生成する。例えばシステム１００は、ユーザがリースサーバ上に格納された曲を再生しようとするのに応答して、リース開始要求を生成及び送出する。あるいは、システム１００は、別の装置からの要求に応答してリース開始要求を生成する。システム１００は、スケジュールに従ってリース開始要求を更に生成するようにしてもよい。
【００６３】
その後、システム１００は、セキュリティ情報、リースキー、並びに割り当てられたプログレッシブメディアダウンロードスロットと関連付けられたリース持続期間をリースサーバから受信する（８０４）。セキュリティ情報は、動作識別子、要求識別子、機能、リース識別子、キーの一部分、証明書、リソース識別子、グローバル一意識別子、アカウント識別子、アドレス等を含む。セキュリティ情報は、リースキーの一部分及び／又はメッセージのダイジェストを含む。
【００６４】
リースキーは、リース情報を保護するセキュリティキーである。リースキーは、映画等の暗号化されたコンテンツを間接的に復号化する。ダイジェスト及びアンチリプレイキー等の他の構成要素はそれぞれ、サーバにより作成された後にクライアントに送信されるメッセージを検証及び保護する。更に、リースキーはリース情報の整合性及び信頼性を検証するために使用可能である。一実施形態において、リース持続期間はメディアアセットの再生持続期間より短い。そのため、システム１００は全再生持続期間にわたりメディアアセットを再生するために、リースを少なくとも１回は更新する必要がある。このように、リースサーバは無効／未使用のリースを終了し、メディアアセットの再生持続期間の終了前に、無効／未使用のリースに割り当てられたスロットを解放する。リース持続期間は、ポリシー、スケジュール、メディアアセット、サーバ負荷、要求の種類、現在の時刻等に基づく。
【００６５】
セキュリティ情報、リースキー及び／又はリース持続期間は、改竄及び／又は偽造から保護するためにハッシュ及び／又は暗号化される。また、セキュリティ情報、リースキー及び／又はリース持続期間は、システム１００上の保護された空間に格納可能である。一実施形態によると、システム１００はセキュリティ情報、リースキー及びリース持続期間を受信し、カーネル空間に情報を格納する。システム１００は、改竄から保護される格納された情報を使用して、リース持続期間を有効にできる。
【００６６】
最後に、システム１００は、セキュリティ情報及びリースキーに従ってリース持続期間内のプログレッシブ再生を行うためにメディアアセットの部分をダウンロードする（８０６）。システム１００は、リースサーバ、あるいはリース情報及び／又はリースサーバにより指定された別のサーバから、メディアアセットの部分をダウンロードする。１つのシナリオにおいて、メディアアセットの全ての部分は暗号化され、リースキー及び／又は他の対応するセキュリティ情報を用いてのみ復号化が可能である。
【００６７】
図９は、アセットリースを更新する方法の第１の例を示す図である。リースサーバは、ユーザプロファイルと関連付けられたクライアント装置から、ユーザプロファイルが認定されるメディアコンテンツに対するものであって既存のリースキー、既存のリース持続期間及び既存のセキュリティ情報に関連するリース更新要求を受信する（９０２）。リース更新要求は、ハッシュ化された情報、暗号化された情報及び／又は暗号化されていない情報の部分を含む。リース更新要求は秘密鍵を用いて暗号化される。ＨＭＡＣキーは、リース更新要求のダイジェストを計算するために使用可能である。ダイジェスト及びリース更新要求は、アンチリプレイキーを用いて暗号化される。この場合、ＨＭＡＣキーは、グローバル一意識別子、ランダム識別子、クライアント装置の種類、ダイジェスト及び／又は現在の時刻に基づく。アンチリプレイキーは、要求の種類及び／又は現在の時刻に基づく。１つの一般的な変形において、リース更新要求は元のリース要求と同じ方法で保護される。しかし、更新の場合、リースキーは同一のままであるが、リース持続期間は単純に延長される。ダウンロードされたコンテンツが同一のリースキーを用いて復号化される必要があるため、リースキーは更新されなくてもよい。
【００６８】
次に、リースサーバは、リース更新要求に対する新規のセキュリティ情報、新規のリースキー、並びに既存のリース持続期間を超える新規のリース持続期間を生成する（９０４）。最後に、リースサーバは、クライアント装置が新規のリース持続期間でメディアコンテンツのプログレッシブ再生を続行できるようにするために、新規のセキュリティ情報、新規のリースキー及び新規のリース持続期間をクライアントに送信する（９０６）。リースサーバは、メディアコンテンツの再生持続期間が終了するまで、必要に応じてステップ９０２〜９０６を繰り返す。
【００６９】
図１０は、アセットリースを更新する方法の第２の例を示す図である。この場合、システム１００はメディアアセットのリースと関連付けられたクライアント装置である。最初に、システム１００は、既存のリースキー、既存のリース持続期間、既存のセキュリティ情報及び現在割り当てられているメディア再生スロットに関連するリース更新要求をメディアアセットのリースサーバに送信する（１００２）。次に、システム１００は、新規のセキュリティ情報、新規のリースキー、並びに既存のリース持続期間を超える新規のリース持続期間をリースサーバから受信する（１００４）。最後に、システム１００は、新規のセキュリティ情報及び新規のリースキーに従って、新規のリース持続期間内におけるプログレッシブ再生を行うためにメディアアセットの部分をダウンロードする（１００６）。
【００７０】
図１１は、アセットリースを停止する方法の一例を示す図である。図１１に示すように、最初に、リースサーバは、ユーザプロファイルと関連付けられたクライアント装置から、ユーザプロファイルが許可されているメディアコンテンツのプログレッシブ再生に対するものであって既存のリースキー、既存のリース持続期間及び既存のセキュリティ情報に関連するリース停止要求を受信する（１１０２）。次に、リースサーバは、メディア再生スロットが既存のリース持続期間に対してクライアント装置に現在割り当てられているかを判定する（１１０４）。メディア再生スロットが既存のリース持続期間に対してクライアント装置に現在割り当てられている場合、リースサーバはクライアント装置がメディア再生スロットを使用してメディアコンテンツのプログレッシブ再生を続行するのを防止するためにメディア再生スロットを解放する（１１０６）。スロットを解放する目的は、クライアントがスロットを拘束するのを防止することである。ユーザは、停止要求の発行時に再生を意図的に停止してもよく、あるいはタイムアウトになってもよい（停止要求が偽造された場合）。タイムアウト機構は本質的に、不正ユーザが偽造した停止要求を送出した後にリースされたアセットを長期間再生し続けるのを防止する。
【００７１】
本開示の範囲内の実施形態は、コンピュータ実行可能命令又はデータ構造を記憶又は格納するための有形及び／又は非一時的なコンピュータ可読記憶媒体を更に含む。そのような非一時的なコンピュータ可読記憶媒体は、上述のような何らかの専用プロセッサの機能設計を含む汎用又は専用コンピュータによりアクセスされるどんな使用可能な媒体であってもよい。例えばそのような非一時的なコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、あるいは他の光ディスク記憶装置、磁気ディスク記憶装置又は磁気記憶装置、あるいはコンピュータ実行可能命令、データ構造又はプロセッサチップ設計の形態の所望のプログラムコード手段を記憶又は格納するために使用可能な他の何らかの媒体を含むが、それらに限定されない。情報がネットワーク又は別の通信接続（ハードワイヤード、無線又はそれらの組み合わせのいずれか）を介してコンピュータに転送又は提供される場合、コンピュータは接続をコンピュータ可読媒体と適切に見なす。従って、何らかのそのような接続をコンピュータ可読媒体と適切に呼ぶ。上記の組み合わせは、コンピュータ可読媒体の範囲に同様に含まれるべきである。
【００７２】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ又は専用処理装置に特定の機能又は機能の集合を実行させる命令及びデータを含む。コンピュータ実行可能命令は、スタンドアロン又はネットワーク環境においてコンピュータにより実行されるプログラムモジュールを更に含む。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実現する専用プロセッサ等の設計に固有のルーチン、プログラム、構成要素、データ構造、オブジェクト及び機能を含む。コンピュータ実行可能命令、関連するデータ構造及びプログラムモジュールは、本明細書において開示される方法のステップを実行するプログラムコード手段の例を表す。そのような実行可能命令又は関連するデータ構造の特定のシーケンスは、そのようなステップにおいて示される機能を実現する対応する動作の例を表す。
【００７３】
本開示の他の実施形態は、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサ利用又はプログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータ及びメインフレームコンピュータ等を含む多くの種類のコンピュータシステム構成を有するネットワークコンピューティング環境において実現されることが当業者には理解されるだろう。実施形態は、タスクが通信ネットワークを介してリンクされる（ハードワイヤードリンク、無線リンク又はそれらの組み合わせのいずれかにより）ローカル及びリモート処理装置により実行される分散コンピューティング環境において更に実現されてもよい。分散コンピューティング環境において、プログラムモジュールはローカル及びリモートメモリ記憶装置の双方に配置されてもよい。
【００７４】
上記の種々の実施形態は、例示として提供されるにすぎず、本開示の範囲を限定するものとして解釈されるべきではない。例えば本明細書中の原理は、何らかの状況における実際の何らかのアセットリース管理タスクに適用可能である。本明細書中で図示及び説明される実施形態及びアプリケーションに従うことなく且つ本開示の趣旨の範囲から逸脱することなく本明細書中で説明される原理に対して行われる種々の変更及び変形は、当業者には容易に認識されるだろう。
【図１】
0005555751.tif 000002
【図２】
0005555751.tif 000003
【図３】
0005555751.tif 000004
【図４】
0005555751.tif 000005
【図５】
0005555751.tif 000006
【図６】
0005555751.tif 000007
【図７】
0005555751.tif 000008
【図８】
0005555751.tif 000009
【図９】
0005555751.tif 000010
【図１０】
0005555751.tif 000011
【図１１】
0005555751.tif 000012