本発明は、ネットワーク環境においてデバイス及びコンテンツを管理するための方法及び装置を提供する。一具体例においては、クライアント−サーバ関係を有する複数のハブネットワークを定義するメディアネットワーク環境内で複数のデバイスを相互接続する。ハブネットワークにおいて、サーバは、クライアントにコンテンツをストリーミングし又はコンテンツのコピーをクライアントに送信することによって、クライアントにコンテンツへのアクセスを提供する。サーバ及びクライアントは協働して、ハブネットワークのメンバシップ、ハブネットワークに対する接続及び切断、ハブネットワーク内のコンテンツ配信及びハブネットワーク内のコンテンツの状態を管理する。
以下、本明細書で用いる用語の意味について、包括的に説明する。「コンテンツ」は、例えば、映画又は楽曲等、メディアのアイテムのオーディオ及び/又はビデオ情報を表す。コンテンツの1つのアイテムとは、1つの映画等、メディアの1つの特定のアイテムである。「コンテンツデータ」とは、コンテンツのアイテムを表すデータを指す。「インスタンス」は、コンテンツのアイテムのためのコンテンツデータを含むデータの論理的な集合である。したがって、コンテンツのインスタンスのコンテンツデータは、例えば、移動及び再生(処理)されるデータである。「再生」及び「提供」とは、コンテンツのインスタンスのコンテンツデータを処理及び表示し、又はコンテンツの種類に応じてコンテンツデータを提供する(例えば、映画の音声及び映像を提供する、又は楽曲のオーディオ情報を提供する)ことを意味する。同様に「インスタンスを提供する」とは、インスタンスのコンテンツデータを処理及び表示することを意味する。「ライセンス」とは、例えば、コンテンツデータがデバイスによって再生又はコピーされることを許可する等、コンテンツデータを使用するための許可を保存するデータを示す。インスタンス又はコンテンツデータに対して何を実行でき何を実行できないかという記述は、インスタンス又はコンテンツデータに関連しているライセンスによる許可の組に基づくものである。
例示的な具体例
図1〜図16は、メディアネットワーク環境の一具体例の構成及び動作の具体例を示している。
図1に示す具体例では、ユーザであるジム(Jim)がテレビジョン110と、このテレビジョン110に接続されたパーソナルビデオレコーダ(personal video recorder:以下、PVRという。)105の2つの装置を含むホームメディアネットワーク環境100を確立している。PVR105は、メディアネットワークに準拠するデバイスであり、すなわち、PVR105は、ハブネットワークのメンバであるデバイスについて定義された処理に基づいて動作する。PVR105は、コンテンツのコピーを保存するためのストレージ装置(例えば、コンテンツを電子ファイルとして保存するハードディスク)を備えており、サーバデバイスとして機能する。すなわち、PVR105は、ハブネットワークのサーバとして機能するサーバデバイスであり、ハブネットワークのメンバであるクライアントデバイスにコンテンツを提供できる。また、PVR105は、サーバとして、ローカル環境を定義する(図示せず)この具体例では、PVR105のローカル環境は、(例えば、パケットの往復遅延時間又はGPS情報によって判定される)PVR105の位置に関連する物理的な領域として定義される。また、PVR105は、クライアントデバイスでもある。また、PVR105は、クライアントデバイスとして、コンテンツを直接処理することもでき、接続された端末装置、例えば、接続されたテレビジョン110を介してコンテンツを処理することもできる。PVR105は、クライアントデバイス及びサーバデバイスの両方として機能するハブネットワークのメンバであり、すなわち、ハブネットワークのサーバであると同時にハブネットワークのクライアントでもある。図1では、PVR105がハブネットワーク1(HN1)のクライアントデバイスであることを示すために、PVR105に「HN1」のマークを付している。また、図1では、PVR105がハブネットワークHN1のサーバデバイスであることを示すために、PVR105に「HN1*」のマークを付している。
テレビジョン110は、メディアネットワークに準拠する装置ではなく、したがって、ハブネットワークのメンバになることができない。但し、このようなメディアネットワークに準拠しない装置であっても、ハブネットワークの端末装置となることはでき、すなわち、データを受け取りコンテンツのデータを保存することなく(一時的に保存する場合もある)、コンテンツをユーザに提供する(例えば、映画の映像を表示し、音声を出力する)ことができる。この場合、PVR105は、接続されたテレビジョン110にコンテンツのデータを供給し、表示させることによってコンテンツを処理する。
PVR105は、サーバデバイスとして、まず、ハブネットワークHN1をセットアップする。PVR105は、他の適応性を有するデバイスがPVR105に接続されているか否かを確認する。デバイスをメンバとしてハブネットワークHN1に加える前に、PVR105は、デバイスを認証(authenticate)し、デバイスのアイデンティティを確認し、認証された装置に権限を与え(authorize)、そのデバイスが適応性を有するデバイスであることを確認する。PVR105がデバイスを認証し、権限を与えない場合、PVR105は、そのデバイスをハブネットワークHN1に加えない。図1では、PVR105が唯一の適応性を有するデバイスである。PVR105は、サーバ及びクライアントとして、ハブネットワークに自らを加える。テレビジョン110は、適応性を有するデバイスではないため、PVR105は、テレビジョン110をメンバとして加えない。
図2では、ジムは、購入した映画A及び映画B、並びに録画したテレビ番組Cを有している。この具体例では、ジムは、映画A及び映画Bを購入し、この映画A及び映画Bを電子ファイルとしてPVR105に接続されたネットワーク115からダウンロードしている。また、ジムは、PVR105に組み込まれた受信機によって受信した放送信号からテレビ番組Cを電子ファイルとして録画している。
後述するように、ハブネットワーク動作に準拠するインスタンスは、2つの排他的な状態、すなわち独立した状態又は拘束された状態のいずれかにある。独立したインスタンスは、如何なるハブネットワークからも独立しており、如何なる適応性を有するデバイスによっても、(独立したインスタンスのライセンスに基づいて)再生又は提供することができる。但し、適応性を有するデバイスは、独立したインスタンスの使用可能なコピーを作成することはできない。独立したインスタンスは、ロックされたコンテンツデータ及び独立したライセンスを含んでいる。独立したインスタンスのロックされたコンテンツデータは、ロックされたコンテンツデータの「独立したバージョン」と呼ばれる。ロックされたコンテンツデータは、例えば、暗号化によって不正アクセスから保護されることによってロックされる。拘束されたインスタンスは、1つのハブネットワークに拘束される。拘束されたインスタンスは、ロックされたコンテンツデータと、ハブネットワークのサーバ及び0台以上のハブネットワークのクライアントに保存された対応するライセンスとによって表される1つの論理的なインスタンスである。サーバによって保存されたロックされたコンテンツデータは、ハブネットワーク内のコンテンツデータのコピーのためのソースであり、「ソースバージョン」である。コンテンツデータのソースバージョンのコピーは、クライアントに保存され、「サブコピーバージョン」と呼ばれる(但し、独立したバージョン、ソースバージョン及び/又は任意のサブコピーバージョンの一部又は全てのデータは、同一であってもよい)。拘束されたインスタンスは、そのハブネットワークのメンバである互換性がある適応性を有するデバイスを介してのみ再生又は提供される。そのハブネットワークのメンバは、拘束されたインスタンスのコンテンツデータのサブコピーを作成することができる。
サーバデバイスは、独立したインスタンスの状態を拘束された状態に変更することができ、すなわち、独立したインスタンスをディスエーブルにし、拘束されたインスタンスをイネーブルにすることができる。ディスエーブルにされたインスタンスは、(例えば、インスタンスのコンテンツデータを削除又は暗号化し、又は、インスタンスのための1又は複数のライセンスを無効にすることによって)使用不能な状態に処理される。また、サーバデバイスは、拘束されたインスタンスの状態を独立した状態に変更することができ、すなわち、(対応する全てのサブコピーを含む)拘束されたインスタンスをディスエーブルにし、独立したインスタンスをイネーブルにすることができる。
更に、ハブネットワークのサーバは、拘束されたインスタンスのルート義務(root responsibility)を管理する。ルート義務は、ハブネットワーク内の拘束されたインスタンスのコンテンツデータのライセンスを発行し、管理することを含む。したがって、サーバは、拘束されたインスタンスを提供し、コンテンツデータ及びハブネットワーク内の拘束されたインスタンスのライセンスを管理するための許可を定義するルートライセンスを保有する。新たなサブコピーが作成されると、ルートライセンスからサブコピーのライセンスも作成される。ハブネットワーク動作に適応性がないコンテンツのインスタンスは、適応性を有さないインスタンスと呼ばれる。適応性を有するデバイスは、インスタンスに関連付けられていると認識されたコピー制御情報に基づいて、適応性を有さないインスタンスを再生又はコピーする。
図2〜図16では、英文字のラベルは、コンテンツのインスタンスのロックされたコンテンツデータのバージョンを示す。ロックされたコンテンツデータのバージョン、及びロックされたコンテンツデータに対応するインスタンスの状態は、英文字のバリエーションによって示される。下線は、コンテンツの独立したバージョンを示す。例えば、映画Aの独立したバージョンは、「A」によって示される。下線なしの大文字は、サーバに保存されたロックされたコンテンツデータのソースバージョンを示す。例えば、映画Aのソースバージョンは、「A」によって示される。小文字は、サブコピーロックされたコンテンツデータバージョンを示す。例えば、映画Aのサブコピーバージョンは、「a」によって示される。また、各バージョンは、(図2〜図16には示さないが)対応するライセンスを有する。すなわち、独立したバージョンは、独立したライセンスを有し、ソースバージョンは、ルートライセンスを有し、サブコピーバージョンは、サブコピーライセンスを有する。
図2に示す具体例では、ジムは、独立したバージョンA及びバージョンBをPVR105に保存することによって、PVR105を介して映画A及び映画BをハブネットワークHN1に導入する。また、PVR105は、テレビ番組Cの独立したバージョンCを保存する。
図3では、ジムは、独立したインスタンスをハブネットワークHN1に拘束する。PVR105は、独立したインスタンスの状態を変える独立したバージョンA、B、Cの状態を拘束されたインスタンスに変更し、すなわち、ソースバージョンA、B、Cを作成する。この場合、PVR105は、独立したバージョンA、B、Cをディスエーブルにし又は削除する。
図4では、ジムは、適応性を有するデバイスを含む自動車120を購入する。自動車120は、サーバデバイスであるとともに(例えば、ストレージ装置を備えている。)クライアントデバイス(例えば、オーディオ及びビデオシステムを備えている。)でもある。自動車120は、自動車120をサーバ(「HN2*」によって示される)及びメンバクライアント(「HN2」によって示される)とする第2のハブネットワークHN2を確立する。自動車120は、自動車120からの相対的距離に基づいて、第2のローカル環境(図示せず)を定義する(例えば、自動車120は、自動車120の位置を定義するパケットの往復遅延時間又はGPS情報を判定するデバイスを備えている)。図4では、自動車120及びPVR105は、物理的に互いに接近しており、したがって、自動車120のローカル環境は、PVR105のローカル環境と実質的に共存する。
図5では、ジムは、2つのハブネットワークHN1及びHN2を接続する。PVR105及び自動車120は、それぞれ無線ネットワーク機能を有している。ジムは、PVR105及び自動車120に無線接続を確立させる。PVR105及び自動車120は、互いを検出し、それぞれ他方を認証し、権限を与え、メンバデバイスとして加える。すなわち、PVR105は、ハブネットワークHN1のメンバとして自動車120を加え(自動車120に加えられたラベル「HN1」により示す)、自動車120は、ハブネットワークHN2のメンバとしてPVR105を加える(PVR105に加えられたラベル「HN2」により示す)。
図6では、ジムは、更なるコンテンツを第2のハブネットワークHN2に導入する。ジムは、例えば、適応性を有する光ディスク等の適応性を有する媒体に保存された、映画Xの適応性を有するインスタンスを購入する。適応性を有する媒体は、ハブネットワークに取り込み(拘束された状態にする)及びハブネットワークから解放する(独立した状態にする)ことができる、コンテンツについて定義された処理に基づいて動作する。具体的には、適応性を有する媒体は、インスタンスの状態の変化(例えば、独立した状態と拘束された状態の間の変化)に基づいて、適応性を有する媒体に保存されたインスタンスをディスエーブルにしたりイネーブルにしたりすることができる。更に、適応性を有する媒体は、何らかの装置が、この適応性を有する媒体に保存されているデータの完全なビットコピーを権限なく作成できないように構成される。適応性を有する光ディスクに保存されたインスタンスは、適応性を有し、まだ、如何なるハブネットワークにも拘束されていないので、このインスタンスは、独立したインスタンスである。ジムは、適応性を有する光ディスクを自動車120のサーバデバイスに挿入し、これにより、自動車120は、映画Xの独立したインスタンスをハブネットワークHN2に拘束する。自動車120は、映画Xの拘束されたインスタンスを作成し、ロックされたコンテンツデータ及びルートライセンスのソースバージョンを、拘束されたインスタンスの一部として、自動車120のストレージ装置に保存し、(例えば、光ディスクにデータ格納を格納することにより)適応性を有する光ディスク上の独立したインスタンスをディスエーブルにする。適応性を有する光ディスク上の独立したインスタンスがディスエーブルにされると、ディスエーブルにされたインスタンスのロックされたコンテンツデータの独立したバージョンは、他のデバイス上では再生又は提供できなくなる(後述するように、他の具体例では、独立したインスタンスがハブネットワークに拘束されてもなお、ディスエーブルにされた独立したインスタンスは、独立したインスタンスが拘束されているハブネットワークのメンバデバイスによって、再生できる)。図6では、映画Xのソースバージョンは、自動車120に加えられたラベル「X」によって示されている。また、ジムは、曲Yの適応性を有するインスタンスを購入し、ネットワーク115からダウンロードし、これにより、自動車120は、このインスタンスをハブネットワークHN2に拘束する。図6では、曲Yのソースバージョンは、自動車120に加えられたラベル「Y」によって示されている。
図7では、ジムは、ハブネットワークを介してコンテンツにアクセスする。例えば、ジムが、PVR105及び接続されたテレビジョン110を介して映画Xを観ることを決めたとする。PVR105は、ハブネットワークHN2のメンバデバイスとして、ハブネットワークHN2に拘束されている映画Xにアクセスできる。PVR105は、映画Xのコピーを要求し、自動車120は、ハブネットワークHN2のサーバとしてPVR105に映画Xのサブコピーバージョンを再生する。PVR105は、映画Xのサブコピーバージョンを保存し(PVR105に加えられたラベル「x」によって示す)、接続されたテレビジョン110を介して映画Xを表示する。また、ジムは、PVR105を介して曲Yを聴くことを決め、したがって、PVR105は、曲Yのサブコピーバージョンを保存する(PVR105に加えられたラベル「y」によって示す)。
後に、ジムは、映画Aを自動車120で観ることを決める。PVR105は、ハブネットワークHN1のサーバとして、映画Aのサブコピーバージョンを自動車120に供給する。自動車120は、映画Aのサブコピーバージョンを保存し(自動車120に加えられたラベル「a」によって示す)、映画Aを表示する。
図8では、ジムは、適応性を有するデバイスであるテレビジョン125を購入する。テレビジョン125は、クライアントデバイスであるがサーバデバイスではない。したがって、テレビジョン125は、他のハブネットワークを形成しない。
図9において、ジムは、テレビジョン125をハブネットワークHN1及びHN2に接続する。テレビジョン125は、有線接続及び無線接続の両方をサポートする。ジムは、PVR105とテレビジョン125との間に有線接続を確立し、自動車120とテレビジョン125との間に無線接続を確立する。PVR105がテレビジョン125を検出すると、PVR105は、テレビジョン125を認証し、メンバデバイスとして参加する権限を与える。すなわち、PVR105は、テレビジョン125をハブネットワークHN1のメンバとして加える(テレビジョン125に加えられたラベル「HN1」によって示す)。同様に、自動車120は、テレビジョン125を認証し、権限を与え、ハブネットワークHN2のメンバとして加える(テレビジョン125に加えられたラベル「HN2」によって示す)。
図10では、ジムは、テレビジョン125を介してコンテンツにアクセスする。ジムは、テレビジョン125を介して、録画されているテレビ番組Cを観ることを決める。テレビジョン125は、ハブネットワークHN1のメンバデバイスとして、ハブネットワークHN1に拘束されているテレビ番組Cにアクセスできる。テレビジョン125は、PVR105がテレビ番組Cをテレビジョン125にストリーミングすることを要求する。PVR105は、テレビ番組CのソースバージョンCをテレビジョン125にストリーミングする(PVR105及びテレビジョン125の間のラベル「c」が付された破線によって示す)。テレビジョン125は、テレビ番組Cのコピーを保存しない(但し、ストリーミングされたテレビ番組Cを表示する処理のために一時的にデータを保存することはある)。更に、ジムは、テレビジョン125を介して映画Xを観ることを決め、この場合、自動車120は、映画XのソースバージョンXをテレビジョン125にストリーミングする(自動車120及びテレビジョン125の間のラベル「x」が付された破線によって示す)。
図11では、ジムは、曲Yを持ち出し可能にするために、ハブネットワークHN2から曲Yを解放し、すなわち曲Yを拘束された状態から独立した状態に変更する。ジムは、自動車120が曲Yの独立したインスタンスを作成することを要求する。自動車120は、曲Yの拘束されたインスタンスをディスエーブルにし、すなわち曲Yのソースバージョン及び全てのサブコピーバージョンをディスエーブルにする(PVR105からのラベル「y」の削除及び自動車120からのラベル「Y」の削除によって示す)。自動車120は、曲Yの独立したインスタンスを作成し、適応性を有する媒体(例えば、適応性があるハードディスク又は適応性がある書込可能なディスク)に独立したバージョンを保存する(自動車120に加えられたラベル「Y」によって示す)。
図12でジムは、ハブネットワークHN2から曲Yを削除する。ジムは、携帯型ストレージ装置130(例えば、リムーバブルメモリカード)を自動車120に接続する。ジムは、曲Yの独立したバージョンを自動車120から携帯型ストレージ装置130に移動させ、(ラベル「Y」を自動車120から削除し、携帯型ストレージ装置130に加えることによって示す)携帯型ストレージ装置130を携帯型音楽プレーヤ135に接続する。携帯型音楽プレーヤ135は、適応性を有するデバイスであり、ハブネットワークのメンバではないが、独立したバージョンYの独立したインスタンスがハブネットワークに拘束されないので、携帯型音楽プレーヤ135は、独立したバージョンYから曲Yを再生できる。
図13では、ジムは、友人のサリーに映画Bを渡すために、映画BをハブネットワークHN1から解放することを決める。ジムは、自動車120が映画の独立したインスタンスを作成することを要求する。PVR105は、ソースバージョンBを有し、したがって、自動車120は、PVR105に要求を渡す。PVR105は、映画Bの拘束されたインスタンスをディスエーブルにする(PVR105からラベル「B」を削除することによって示す)。PVR105は、ロックされたコンテンツデータの独立したバージョンBを含む独立したインスタンスを作成し、独立したバージョンBを自動車120に移動させる(自動車120に加えられたラベル「B」によって示す)。
図14では、ジムは、彼の友人のサリーの家まで自動車120で移動する。ジムが彼の家を去ると、自動車120は、ホームメディアネットワーク環境100から離れ、サリーの家のメディアネットワーク環境140に入る。一具体例では、ハブネットワークのサーバデバイスは、ハブネットワークのメンバデバイスを監視し、メンバデバイスがいつローカル環境から離れたかを判定する。上述のように、この具体例では、PVR105及び自動車120のローカル環境は、物理的な位置によって定義される。自動車120が去ると、自動車120は、PVR105のローカルネットワーク環境を離れ、自動車120は、自動車120のローカル環境をPVR105及びテレビジョン125から切り離す。自動車120が物理的な位置をPVR105に報告しなくなった場合、又は自動車120がPVR105にホームメディアネットワーク環境100の境界の外にある物理的な位置を報告した場合、PVR105は、ハブネットワークHN1のサーバとして、自動車120がローカル環境を離れたことを認識する。同様に、自動車120は、ハブネットワークHN2のサーバとして、PVR105及びテレビジョン125が(自動車120から相対的に離れたことによって)自動車120のローカル環境を「去った」ことを認識する。
自動車120が去ると、自動車120は、ハブネットワークHN1及びHN2を切断する。自動車120は、ハブネットワークHN1のクライアントとして、ハブネットワークHN1を介して受け取った各サブコピーバージョンの有効期間を監視する。この期間は、サブコピーバージョンを保存するクライアントと、拘束されたインスタンスを管理するサーバとの間を接続することなく、サブコピーバージョンを用いることができる期間を制御するサブコピーバージョンのライセンス内のメカニズムである。有効期間が切れると(例えば、クライアントのセキュアクロック(secure clock)によって測定される)、サブコピーバージョンを保存する切断されたクライアントは、サブコピーバージョンをディスエーブルにする。この具体例では、有効期間は、15日間である(自動車120のラベル「a-15」の上付文字「-15」によって示す)。同様に、PVR105は、ハブネットワークHN2のクライアントとして、ハブネットワークHN2を介して受け取ったサブコピーバージョンの有効期間を監視する(PVR105のラベル「x-15」の上付文字「-15」によって示す)。
サリーのメディアネットワーク環境140では、サリーは、ゲームコンソール145及びこれに接続されたテレビジョン150を有している。ゲームコンソール145は、適応性を有するデバイスであり、サーバデバイス及びクライアントデバイスの両方として機能する。テレビジョン150は、適応性を有するデバイスでなく、ゲームコンソール145からのコンテンツを表示する端末装置として機能する。ゲームコンソール145は、ハブネットワークHN3を定義し、ハブネットワークHN3のサーバとして機能し(ゲームコンソール145のラベル「HN3*」によって示す。)及びハブネットワークHN3のクライアントとして機能する(ゲームコンソール145のラベル「HN3」によって示す)。ゲームコンソール145は、ハブネットワークのサーバとしてローカル環境(図示せず)を定義する。映画L、M及び曲Nは、ハブネットワークHN3に拘束され、ゲームコンソール145は、映画L、Mのソースバージョンを保存し、(ゲームコンソール145のラベル「L」及び「M」によって示す。)及び曲Nのソースバージョンを保存する(ゲームコンソール145のラベル「N」によって示す)。
翌日、図15に示すように、ジムは、サリーのゲームコンソール145に自動車120を接続し、映画Bの独立したインスタンスをサリーに引き渡す。ジムとサリーは、自動車120をハブネットワークHN3のメンバとして参加させず、又はゲームコンソール145をハブネットワークHN2のメンバとして参加させない。映画Bの独立したインスタンスをサリーに引き渡すために、ジムは、自動車120からゲームコンソール145に独立したバージョンを移動させる(自動車120からラベル「B」を削除することによって示す)。サリーは、ゲームコンソール145によって、映画Bの独立したインスタンスをハブネットワークHN3に拘束する。ゲームコンソール145は、映画Bの独立したインスタンスをディスエーブルにし、映画Bの拘束されたインスタンスを作成し、ソースバージョン及びルートライセンスをゲームコンソール145のメモリに保存する(ゲームコンソール145に加えられたラベル「B」によって示す)。
ここでは、先に説明した日から一日が経過しており、自動車120は、ハブネットワークHN1又はHN2に再接続されていないので、自動車120及びPVR105のクロックは、サブコピーバージョンa及びxの期限に一日近付いており、したがって、有効期間の残日数が一日減っている(自動車120のラベルの「a-14」への変化及びPVR105のラベルの「x-14」への変化によって示す)。
図16では、ジムは、自動車120で自宅に帰る。自動車120がサリーの家を去ると、自動車120は、ゲームコンソール145から切断される。自動車120がジムのホームメディアネットワーク環境100に入ると、自動車120は、PVR105及びテレビジョン125に接続する。自動車120は、PVR105のローカル環境に戻り、自動車120のローカル環境をPVR105及びテレビジョン125に返す。
自動車120がPVR105に再接続されると、PVR105は、ハブネットワークHN1のサーバとして、自動車120に保存されている映画Aのサブコピーバージョンaの有効期間をリセットする(自動車120のラベル「a-14」を「a」に変更することによって示す)。同様に、自動車120は、ハブネットワークHN2のサーバとして、PVR105に保存されている映画Xのサブコピーバージョンxの有効期間をリセットする(PVR105のラベル「x-14」をラベル「x」に変更することによって示す)。
この具体例では、ジムは、コンテンツのインスタンスを入手し、自らのホームメディアネットワーク環境のハブネットワークにインスタンスを拘束することができた。また、ジムは、メディアネットワーク環境内でコンテンツを表示させることができ、コピーを作成することができた。ジムがコンテンツのインスタンスをメディアネットワーク環境から解放すると、インスタンスは、削除された。このようにジムは、コンテンツのインスタンスをメディアネットワーク環境に拘束しながら、メディアネットワーク環境内で自らのコンテンツを自由に用いることができ、そして、ジムがコンテンツをメディアネットワーク環境から持ち出す場合、コンテンツのインスタンスは、メディアネットワーク環境から削除される。
メディアネットワーク環境の構成及び動作
図17〜図33を用いて、メディアネットワーク環境内のハブネットワークの構成及び動作を説明する。
ネットワーク構成
メディアネットワーク環境は、1つ以上のハブネットワークを含み、各ハブネットワークは、それぞれのローカル環境を有し、これらのローカル環境の幾つか又は全ては、重複又は共存することができる。ローカル環境は、限定的な領域として定義され、適応性を有するデバイスは、デバイスがローカル環境内にあるか、ローカル環境外にあるかを判定することができる。例えば、あるローカル環境は、物理的な位置に関連付けて定義することでき(例えば、サーバとクライアントとの間のパケットの往復遅延時間を算出し、又はデバイスに組み込まれているGPSシステムからの地理的なポジショニングデータを用いる)、他のローカル環境は、ネットワークアドレス情報に関連付けて(例えば、IPアドレス及び/又はサブネット情報を用いて)又は(例えば、パケットが通過するゲートウェイ又はルーターの数を用いてネットワークコンフィグレーションを評価することによって判定される)論理領域によって定義することができる。ローカル環境は、ハブネットワークのサーバに関連付けて定義される(例えば、サーバを中心として、100メートルの半径の円内)。サーバの条件が変化すると(例えば、サーバが移動すると)、ローカル環境も変化する。後述するように、適応性を有するデバイスは、ハブネットワークのローカル環境内でハブネットワークに参加でき、デバイスがローカル環境から出た場合、デバイスは、ハブネットワークから切断される(但し、このデバイスをメンバとして残してもよい)。デバイスがローカル環境から出た後もネットワーク接続(例えば、無線接続)を維持できる場合でも、デバイスは、ローカル環境の外にある間、切断された状態であるとみなされる。
メディアネットワーク環境は、1つ以上のデバイスを含む。一具体例においては、デバイスは、自己完結型のソフトウェアアプリケーション(self-contained software application)、ハードウェアコンポーネント又はこれらの組合せのいずれであってもよい。例えば、1つのコンピュータ装置が複数のハードウェア及び/又はソフトウェアデバイスから構成されていてもよい。メディアネットワーク環境の各デバイスは、メディアネットワークに準拠する装置(適応性を有するデバイス)であっても、これに準拠しない装置(適応性を有さないデバイス)であってもよい。適応性を有するデバイスは、メディアネットワーク環境及びハブネットワークについて定義された規則に基づいて動作する。適応性を有するデバイスは、例えば、サーバ又はクライアントデバイス等、ハブネットワークのメンバとなることができる。例えば、端末装置等の適応性を有さないデバイスは、メディアネットワーク環境のハブネットワークのメンバとなることができない。適応性を有さないデバイスは、ハブネットワークとインタラクトすることができ、例えば、後述するように、ハブネットワークメンバデバイスから出力データとしてコンテンツを受信することができる。但し、適応性を有さないデバイスは、コンテンツの適応性があるコピーを復号及び処理することはできない。
ハブネットワークは、1つ以上のメンバデバイスを含んでいる。ハブネットワークの各メンバデバイスは、サーバ、クライアント又はこれらの両方として機能する。例えば、メンバデバイスは、同じ物理システムにおいて、サーバ及びクライアント機能の両方を含むことができる。各ハブネットワークは、1つのサーバを有している。各クライアントは、直接又はネットワーク接続を介してサーバに接続される。このようにハブネットワークは、サーバを中心として、ハブ及びスポーク又はスタートポロジを形成する。複数のサーバデバイスが同じハブネットワークのメンバであってもよく、この場合、これらのうちの1つのサーバデバイスがハブネットワークのサーバとして機能し、この他のサーバデバイスは、(それらのクライアント機能によって)ハブネットワークのサーバのクライアントとして機能する。
ハブネットワークのサーバは、ハブネットワークの中心であり、ハブネットワーク制御の多くの側面を管理する。サーバは、コンテンツの拘束されたインスタンスのルート義務を管理し、ハブネットワーク内のクライアントメンバにコンテンツを提供する。サーバは、ロックされたコンテンツデータのソースバージョン及び拘束されたインスタンスの対応するルートライセンスを保存する。サーバは、拘束されたインスタンスのサブコピーロックされたコンテンツデータバージョンをクライアントに供給し、又はロックされたコンテンツデータのソースバージョンのストリームデータをクライアントに供給する。サーバは、インスタンスを管理し、ライセンシングを扱い、ネットワークメンバシップを管理し、ハブネットワークへのデバイスの接続及び切断を監視し、時間管理を実行する。サーバは、ハブネットワークのローカル環境を定義する。後述するように、サーバは、コンテンツのインスタンスを独立した状態(ハブネットワークの外部にある状態)から拘束された状態(ハブネットワークの内部にある状態)に移行させることによってインスタンスの状態をハブネットワークに拘束し、また、サーバは、インスタンスの状態を拘束された状態から独立した状態に移行させることによってハブネットワークからインスタンスを解放する。
ハブネットワーク内のクライアントは、(例えば、インスタンスのロックされたデータのバージョンで保存されているコンテンツデータを復号及び処理することによって)コンテンツのインスタンスからコンテンツデータを再生又は提供する。クライアントデバイスは、サブコピーロックされたコンテンツデータバージョン及び拘束されたインスタンスのサブコピーライセンスをサーバから受け取り、又は、ストリーミングされたデータをサーバから受信する。クライアントデバイスは、サブコピーバージョンを保存するためのストレージ装置を備えていてもよく(ストレージクライアントデバイス)、又はサブコピーバージョンを保存しなくてもよい(非ストレージクライアントデバイス)。クライアントデバイスは、組み込まれたコンポーネントを介して直接、又は接続された端末装置を介してコンテンツデータを表示する。また、他の具体例では、クライアントデバイスは、サブコピーバージョンから、同じハブネットワークのメンバである他のクライアントデバイスにコンテンツデータをストリーミングすることができる。
端末装置は、単にコンテンツを表示するための装置であり、ハブネットワークのメンバではない。端末装置は、メンバデバイスに接続され、表示のためのデータ、例えば、出力ビデオ及びオーディオデータを受信する。端末装置は、メディアネットワーク環境とは関係のない他の機能及びサービスを提供してもよい。
メディアネットワーク環境が2つ以上のハブネットワークを含んでいる場合、ハブネットワークの幾つか又は全ては、重複していてもよい。2つのハブネットワークが重複しているとは、両方のハブネットワークが同じ1又は複数のデバイスを含んでいることを意味する。2つのハブネットワークに属すデバイスは、ハブネットワークを跨ぎ(span)、スパンニングデバイス(spanning device)とも呼ばれる。スパンニングデバイスは、各ハブネットワークに拘束されたインスタンスのコンテンツデータを保存する(又は保存できる)。したがって、スパンニングデバイスは、複数のハブネットワークのそれぞれに拘束されているコンテンツを再生することができる(拘束されたインスタンスは、1つのハブネットワークだけに拘束される)。但し、一具体例では、スパンニングデバイスは、同じローカル環境内のみの複数のハブネットワークに跨る。この場合、デバイスが異なるローカル環境のハブネットワークのメンバになったときは、デバイスは、このデバイスが最も最近に接続されたハブネットワークからのコンテンツのみを再生する。他の具体例では、スパンニングデバイスは、異なるローカル環境で異なるハブネットワークに跨り、スパンニングデバイスが属する全てのハブネットワークの(後述するように、例えば、更新等のライセンス要求に基づき)コンテンツを再生する。
重複するハブネットワークは、コンテンツの使用及びコピーを管理するための柔軟な環境を実現する。各サーバは、サーバのハブネットワーク内のデバイス及びコンテンツを管理する各クライアントは、ハブネットワークの規則に従って動作する。この結果、ユーザは、メディアネットワーク環境を介して、容易な手法で、コンテンツデータを表示し、移動し、コピーできるとともに、コンテンツデータの表示、コピー及び移動は、ライセンス付与機関によって(例えば、コンテンツ所有者によって)設定されたライセンシングガイドラインを反映するように制御することができる。更に、各ハブネットワークの管理は、ハブネットワークのサーバに任される。
図17は、メディアネットワーク環境1700の1つの構成例を示している。メディアネットワーク環境は、2つの個別の、実質的に共存するローカル環境(図示せず)を有する2の重複するハブネットワークHN1及びHN2を含んでいる。
メディアネットワーク環境1700は、端末装置1710に接続されたサーバ/クライアントデバイス1705、サーバデバイス1715、ストレージクライアントデバイス1720、非ストレージクライアントデバイス1725、ストレージ装置1730、プレーヤ装置1735を含む幾つかのデバイスを備えている。サーバ/クライアントデバイス1705、サーバデバイス1715、ストレージクライアントデバイス1720、非ストレージクライアントデバイス1725及びストレージ装置1730は、適応性を有するデバイスである。端末装置1710及びプレーヤ装置1735は、適応性を有さないデバイスである。
サーバ/クライアントデバイス1705及びサーバデバイス1715は、それぞれのハブネットワークのサーバである。サーバ/クライアントデバイス1705は、サーバ及びクライアントの両方として機能する。サーバデバイス1715は、サーバとして機能するが、クライアントとしては機能しない(例えば、コンテンツを復号及び処理しない)。
端末装置1710は、テレビジョン等の接続されたデバイスからのコンテンツデータを表示するための装置である。端末装置1710は、ハブネットワークに拘束されたコンテンツデータを保存しない。
ストレージクライアントデバイス1720及び非ストレージクライアントデバイス1725は、クライアントデバイスである。ストレージクライアントデバイス1720及び非ストレージクライアントデバイス1725は、クライアントデバイスとして、組み込まれたメディアコンポーネント(例えば、オーディオ及びビデオ出力)を介して、コンテンツデータを再生する。上述のように、また、サーバ/クライアントデバイス1705は、クライアントデバイスでもあるが、接続された端末装置1710を介してコンテンツデータを再生する。ストレージクライアントデバイス1720は、コンテンツデータのサブコピーバージョンを保存するためのストレージ装置を備えている。ストレージクライアントデバイス1720は、ストレージクライアントデバイス1720に保存されているサブコピーバージョンのコンテンツデータ又はサーバ(例えば、サーバ/クライアントデバイス1705)からストリーミングデータとして受信したコンテンツデータを再生する。非ストレージクライアントデバイス1725は、提供されるコンテンツデータのサブコピーバージョンを保存しない。非ストレージクライアントデバイス1725は、サーバ(例えば、サーバデバイス1715)からストリーミングデータとして受信したコンテンツデータを再生する。他の具体例として、全てのクライアントデバイスが非ストレージクライアントデバイスデバイスであってもよい。ここで、デバイスが拘束されたコンテンツデータのためのストレージ装置を備えている場合、このデバイスは、サーバ又はサーバ/クライアントデバイスである。
サーバ/クライアントデバイス1705は、サーバ/クライアントデバイス1705上のラベル「HN1*」によって示されているように、ハブネットワークHN1のサーバである。サーバ/クライアントデバイス1705及びストレージクライアントデバイス1720は、ラベル「HN1」によって示されているように、ハブネットワークHN1のクライアントである。端末装置1710は、サーバ/クライアントデバイス1705に接続され、サーバ/クライアントデバイス1705からのコンテンツデータを再生する。端末装置1710は、ハブネットワークHN1のメンバではない。サーバデバイス1715は、サーバデバイス1715上のラベル「HN2*」によって示されているように、ハブネットワークHN2のサーバである。
サーバ/クライアントデバイス1705、ストレージクライアントデバイス1720及び非ストレージクライアントデバイス1725は、ラベル「HN2」によって示されているように、ハブネットワークHN2のクライアントである。非ストレージクライアントデバイス1725は、コンテンツデータのサブコピーバージョンを保存せず、これに代えて、サーバデバイス1715から非ストレージクライアントデバイス1725への破線によって示すように、サーバデバイス1715からストリーミングされたデータを受信する。
2つのハブネットワークHN1及びHN2は、重複しており、重複又は重なり合うハブ及びスポークアーキテクチャを構成している。ハブネットワークHN1は、サーバ/クライアントデバイス1705及びストレージクライアントデバイス1720を含んでいる。ハブネットワークHN2は、サーバ/クライアントデバイス1705、サーバデバイス1715、ストレージクライアントデバイス1720及び非ストレージクライアントデバイス1725を含んでいる。サーバ/クライアントデバイス1705及びストレージクライアントデバイス1720は、ハブネットワークHN1及びHN2の両方のメンバであり、したがって、スパンニングデバイスである。
ストレージ装置1730は、適応性を有するデバイスであり、接続されたプレーヤ装置1735は、適応性を有さないデバイスである。ストレージ装置1730及びプレーヤ装置1735は、ハブネットワークHN1及びHN2のメンバではない。ストレージ装置1730は、適応性を有するフラッシュメモリカード等の適応性を有する媒体を含む携帯用のストレージ装置である。プレーヤ装置1735は、MP3プレーヤ等の携帯用のメディアプレーヤ装置である。他の環境では、携帯用ではない適応性を有さないデバイスを1つ以上の適応性を有するデバイスに接続してもよい。
ストレージ装置1730は、サーバデバイス1715に接続され(例えば、ポートに挿入される)、サーバデバイス1715とデータを交換することができる。すなわち、ストレージ装置1730及びサーバデバイス1715は、独立したインスタンスを交換できる。ストレージ装置1730は、プレーヤ装置1735に接続され、プレーヤ装置1735は、ストレージ装置1730に保存されているコンテンツデータの適応性を有さないコピーを再生することができる。プレーヤ装置1735は、適応性を有さないデバイスであるので、プレーヤ装置1735は、ストレージ装置1730に保存されている適応性があるコンテンツデータを再生又は表示することができない。ストレージ装置1730は、ストレージ装置1730に保存されている独立したインスタンスから使用可能なコピーを作成することができない。
ハブネットワークメンバシップ
サーバは、ハブネットワーク内のデバイスのメンバシップを管理する。すなわち、サーバは、ハブネットワークのメンバとしてクライアントを追加し及び削除する。サーバは、メンバデバイスのみにライセンスを与えるである。ユーザによる承認(approval)を受けて、サーバは、クライアントデバイスが適応性を有するデバイスであることを確認した後、クライアントデバイスをメンバとして加える。また、サーバがクライアントデバイスでもある場合、サーバは、最初に、自らを自動的にクライアントとして加える。一具体例では、サーバは、メンバでもあるとみなされる。また、他の具体例として、クライアントのみをメンバであるとみなしてもよい。デバイスは、一旦メンバとして加えられた後は、サーバがデバイスをメンバから削除するまで、メンバのまま残る。サーバは、ユーザによる要求によって、又はメンバシップを取り消す条件が満たされた場合、そのクライアントデバイスをメンバから削除する。
図18は、例えば、図17に示すハブネットワークHN1にストレージクライアントデバイス1720を加える等、ハブネットワークにメンバデバイスとしてデバイスを加える手順の一具体例のフローチャート1800である。まず、ブロック1805において、クライアントデバイスがハブネットワークに接続される。クライアントは、有線接続又は無線接続を介してサーバに直接接続してもよく、又は例えば、他のネットワーク装置を介在させて、間接的にサーバに接続してもよい。サーバは、接続されていないデバイスをメンバとして加えない(但し、後述する代替となる実施例では、中間装置(intermediary device)を用いて、接続されていないデバイスをメンバに加える)。
サーバは、ブロック1810において、接続クライアントデバイスを検出する。適応性を有するデバイスは、ハブネットワーク内のデバイスに、デバイスが現在ハブネットワークに接続されていることを示すメッセージ又は接続通知を送る。他の具体例では、サーバは、新たなクライアントを検出するために、接続されたデバイスを定期的にポーリングする。
サーバは、ブロック1815において、検出されたクライアントデバイスを認証する。サーバは、クライアントデバイスからの情報を要求する適応性確認要求(compliance confirmation request)を送信し、そのクライアントデバイスが適応性を有するデバイスであるか否かを確認する。例えば、サーバは、適応性を有するデバイスのために暗号化された確認要求を送信する。クライアントデバイスが適切に応答せず、又は他の手法により、クライアントデバイスが適応性を有するデバイスでないとサーバが判定した場合、認証は失敗し、サーバは、このクライアントデバイスをハブネットワークにメンバとして加えない。
クライアントデバイスが適応性を有するデバイスであることを確認した後に、サーバは、クライアントデバイスを特定するクライアントデバイスからの情報を求める識別要求を送信する。サーバは、例えば、メディアアクセス制御アドレス(Media Access Control address:以下、MACアドレスという。)等のクライアントデバイスを認証するために必要な識別情報の最小集合(minimum set)を有する。一具体例では、適応性を有するデバイスは、ハブネットワークのための安全且つ固有のデバイス識別子を有する。クライアントデバイスが応答せず、又は適切な情報を提供しない場合、認証は失敗し、サーバは、このクライアントデバイスをハブネットワークにメンバとして加えない。サーバがクライアントデバイスを認証した場合、サーバは、メンバデバイスのリストを調べ、認証されたクライアントデバイスがメンバデバイスのリストに既に登録されているか否かを確認する。認証されたクライアントデバイスがメンバデバイスのリストに既に登録されている場合、サーバは、クライアントデバイスをメンバとして加える必要はなく、ユーザに対しては、デバイスが再接続されたことを通知する。サーバ及びクライアントは、(メンバデバイスの再接続について説明する)図21を用いて後述するような処理を行う。一具体例では、サーバは、サーバのハブネットワークにおける認証された接続されたデバイスのリストに認証されたクライアントデバイスを加える。
サーバは、クライアントデバイスの認証に成功した後、ブロック1820において、ユーザからクライアントデバイスをメンバに加えるための追加要求を受信する。サーバは、サーバがユーザから特定のクライアントデバイスを加えるための肯定的な要求を受信するまでクライアントデバイスの追加を待機する。他の具体例では、ユーザからの要求を待機するのに代えて、サーバは、デバイスが検出された際に、認証された装置を加えるためのユーザからの承認又は確認を要求する。他の具体例では、サーバは、クライアントを加えるための要求又は承認を受信するまで待って、クライアントデバイスを認証する。
クライアントデバイスを加えるために要求を受け取った後に、サーバは、ブロック1825において、クライアントデバイスに権限を付与する。一具体例では、クライアントは、加えられるべきハブネットワークのローカル環境内にある必要がある。サーバは、クライアントデバイスがハブネットワークのローカル環境にあることを確認するためのクライアントからの情報を求めるローカル環境確認要求(local environment confirmation request)を送信する。一具体例では、サーバは、検査メッセージを送信し、クライアントからの応答を待機する(例えば、クライアントにIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認する(ping))。サーバは、検査メッセージを送信してから応答を受信するまでの時間に基づいて、クライアントがローカル環境にあるか否かを判定する(例えば、閾値を下回る往復遅延時間は、クライアントがローカル環境内にあることを示す)。他の具体例では、サーバは、クライアントデバイスにローカル環境情報を送信し、クライアントデバイス自体が、そのクライアントデバイスがローカル環境にあるか否かを判定する。クライアントデバイスがハブネットワークのローカル環境にあることをサーバが確認できない場合、認証は失敗し、サーバは、このクライアントデバイスをハブネットワークにメンバとして加えない。
また、一具体例では、サーバは、クライアントデバイスを認証する前に、サーバの取消リスト内にクライアントデバイスがないことを確認する。後述するように、取消リストは、権限が取り消されたデバイスを示す。一具体例では、サーバは、権限が付与されたデバイスのリストに権限が付与されたクライアントデバイスを加える。
クライアントデバイスの権限付与に成功すると、サーバは、ブロック1830において、ハブネットワークのメンバデバイスの数がメンバデバイス制限数を超えていないことを確認する。サーバは、例えば、最大20台等、サーバがハブネットワークのメンバとして加えることができるメンバデバイスの最大数を示すデバイス制限数に関する情報を保存する。また、サーバは、各デバイスがメンバとして加えられる都度インクリメントされるデバイス数を維持する。デバイス数が既にデバイス制限数に達すると、サーバは、それ以上、クライアントデバイスをメンバとしてハブネットワークに加えない。代替となる実施例では、サーバは、デバイス数又はデバイス制限数を維持せず、この場合、ブロック1830は、スキップされる。他の具体例では、権限を与えられた外部の認証機関からの要求によってデバイス制限数を変更できる。
デバイス数がデバイス制限数を下回っている場合、サーバは、ブロック1835において、クライアントデバイスをメンバとして、及びハブネットワークのクライアントとして加える。サーバは、追加されたクライアントに追加確認メッセージを送信する。また、サーバは、デバイス数を1つインクリメントする。一具体例では、サーバは、メンバのリスト及びクライアントのリスト(又は、同じリスト)にクライアントデバイスを加える。接続されたデバイス、認証されたデバイス、権限を付与されたデバイス、メンバデバイス、クライアントデバイス、取り消されたデバイスのリストの幾つか又は全ては、統合してもよく、互いに関連付けてもよく(例えば、相互参照を行ってもよく)、省略してもよい。
代替となる実施例では、サーバは、クライアントの検出に応じて、検出されたクライアントデバイスを自動的にメンバに加えることを試みてもよく、又は一組の規則を用いて、接続されたクライアントをいつメンバに加えるかを決定してもよい。他の具体例では、サーバは、検出されたクライアントデバイスを自動的に認証して、権限を付与するが、ユーザ要求又は承認を受信するまでは、認証され、権限を付与したデバイスをメンバとして加えない。
他の具体例では、デバイス数がデバイス制限数に達した場合、サーバは、他のデバイスをメンバに加えることを試み、サーバは、例えば、外部のネットワーク接続を介してデバイス登録サーバと通信を行う。デバイス登録サーバは、クライアントデバイスがハブネットワークに加えられようとしているか否かをサーバに通知する。デバイス登録サーバは、ハブネットワークとそのハブネットワークのメンバデバイスに関する情報を保守する。デバイス登録サーバは、様々な基準を用いて、クライアントデバイスが加えられることを容認するか否かを決定することができる。一具体例では、デバイス登録サーバは、クライアントデバイスが既にメンバとして加えられているハブネットワークの数と閾値とを比較する。他の具体例では、デバイス登録サーバは、既にハブネットワークに加えられているデバイスの数と、第2のデバイス制限数を比較し、デバイス数がこの第2のデバイス制限数を下回っている場合、クライアントデバイスの追加を容認する。この場合、サーバに保存されている第1のデバイス制限数は、外部に登録されていないデバイスを加えるための制約として機能し、第2のデバイス制限数は、追加されるデバイスの最大数として用いられる。他の具体例では、サーバは、デバイスを加える前に常にデバイス登録サーバに問い合わせを行う(例えば、第1のデバイス制限数がゼロであるかのように振る舞う)。
他の具体例では、接続されていないデバイス又はローカル環境の外のデバイスをメンバとして加えることができる。この場合、中間装置は、メンバシップのための「導管(conduit)」として機能する。ここでは、サーバ及びメンバになる可能性があるクライアントは、いずれも接続されおらず、又はクライアントがサーバのローカル環境内にない。中間装置は、(例えば、直接又は間接的に、若しくは、例えば、中間装置がサーバ及びクライアントの間を移動する携帯型デバイスである場合、異なる時刻に)サーバ及びクライアントの両方に接続される。中間装置は、ハブネットワークのサーバからハブネットワークにクライアントを加えるための許可を要求する。追加処理は、上述の場合と同様に行われるが、但しここでは、サーバ及びクライアントが直接通信を行うのではなく、中間装置がサーバ及びクライアントの間でメッセージを受け渡し、そのデバイスに対するローカル環境において、各デバイスと通信を行う。
図19は、例えば、図17に示すハブネットワークHN1からストレージクライアントデバイス1720を削除する等、ハブネットワークのメンバデバイスからデバイスを削除する具体例のフローチャート1900である。初期的には、デバイスは、ハブネットワークに接続され、ハブネットワークのメンバである。ブロック1905においては、メンバであるクライアントデバイスの削除がトリガされる。一具体例では、削除は、2つの手法で、すなわちユーザからクライアントデバイスを指定した削除要求を受信することによって、又はクライアントデバイスの権限を取り消すことをサーバが決定した場合にトリガされる。サーバがクライアントを特定する取消通知を受け取った場合、又はクライアントデバイスが、適応性があるメンバデバイスとしてのハブネットワークの規則を破った又は違反した場合、例えば、拘束されたインスタンスの状態が独立した状態に変更されても、サブコピーバージョンをディスエーブルにできなかった場合等に、サーバは、クライアントデバイスを削除することを決定する。また、デバイスの安全性が脅かされているとサーバが判定した場合も、サーバは、デバイスの権限を取り消す。
サーバは、ブロック1910におてい、削除すべきクライアントデバイスに関する、サーバのハブネットワークに拘束されている拘束されたインスタンスのサブコピーバージョンのライセンスをディスエーブルにする。この場合、サーバは、ディスエーブルにされるサブコピーバージョンを示すディスエーブル要求をクライアントに送信し、クライアントは、対応するライセンスをディスエーブルにする。更に、削除されたクライアントデバイスは、新たなライセンスを受信することができず、又はクライアントデバイスが削除されたハブネットワークに拘束されたインスタンスに関する既存のライセンスを更新することができない。一具体例では、クライアントが削除されると、適応性を有するクライアントデバイスは、クライアントに保存されているサブコピーバージョン及びクライアントが削除されたハブネットワークに拘束されている拘束されたインスタンスの全てのライセンスを自動的にディスエーブルにする。但し、1つのハブネットワークからクライアントを削除した場合であっても、他のハブネットワークに拘束されている拘束されたインスタンスのサブコピーバージョンのライセンスをディスエーブルにする必要はない。
サーバは、ブロック1915において、ハブネットワークのメンバからクライアントデバイスを削除する。サーバは、メンバデバイスのリストからクライアントデバイスを削除し、メンバデバイス数をデクリメントする。サーバは、メンバシップが取り消されたデバイスのリストであるデバイスの取消リストを維持する。サーバが取消のためにデバイスを削除した場合、サーバは、サーバの取消リストにそのデバイスを加える。クライアントデバイスが取消リストに登録されている場合、サーバは、そのクライアントデバイスをメンバとして加えない。一具体例では、サーバは、取消リストが更新されたとき、例えば、ハブネットワーク内のクライアント、他のサーバ又は中央データベース等の他のデバイスに取消リストを発行する。他の具体例では、サーバは、クライアントが取り消されたことを示すために、サーバに保存されている1つ以上のルートライセンスを更新する。
一具体例では、クライアントが切断されても、サーバは、クライアントに保存されているサブコピーの全てのライセンスの有効期間が切れるまでは、切断されたクライアントをメンバから削除しない。後述するように、デバイスが切断されると、切断されたハブネットワークからのライセンスは、最終的に期限切れとなる。サーバは、全てのライセンスの有効期間が切れるまで待って、切断されたデバイスを削除する。
デバイス切断と再接続
デバイスがハブネットワークのローカル環境に入ると、デバイスは、ハブネットワークに接続できる。デバイスがハブネットワークのローカル環境から出ると、デバイスは、ハブネットワークから切断される。デバイスがローカル環境に戻るとデバイスは、ハブネットワークに再接続することができる。上述のように、適応性がある非メンバのデバイスがハブネットワークに接続又は再接続された場合、サーバは、ユーザからの要求又は承認を受け取った後に、この新たなデバイスをメンバとして加えるよう試みる。
図20は、ハブネットワークからメンバデバイスを切断するための処理の一具体例を説明するフローチャート2000を示している。まず、ブロック2005において、接続されたデバイスが切断される。デバイスは、様々な原因で切断される。例えば、デバイスがハブネットワークのローカル環境から出ると、デバイスは、ハブネットワークから切断される。また、デバイスとハブネットワークの間の物理接続(無線又は有線接続)に障害が生じると、デバイスは、ハブネットワークから切断される。例えば、サーバとクライアントがデータのパケットを交換できなくなると、クライアント及びサーバが切断される。一具体例では、サーバは、必要に応じて(例えば、接続されるクライアントに関する情報に基づいて動作する前に)、クライアントが接続されているか否かを判定する。他の具体例では、サーバは、定期的にクライアントの接続をポーリングし、接続されたデバイスリストを維持し、また、クライアントは、定期的にサーバをポーリングし、クライアントが切断された際はそれを認識する。他の具体例では、ユーザがデバイスの切断を肯定的に要求した場合、デバイスが切断される。
ローカル環境は、サーバの位置に対して定義されるので(例えば、サーバから100m以内等)、サーバが物理的に移動すると、サーバとともにローカル環境も移動するため、サーバがローカル環境を出ることはない。また、サーバが移動し、クライアントが移動しなかった場合、サーバの移動の結果として、ハブネットワークの1つ以上のクライアントがハブネットワークのローカル環境を「出る」こともある。この場合、後に残されたクライアントは、ローカル環境の外に出てしまうためにハブネットワークから切断される。
クライアントは、ブロック2010において、ハブネットワークに拘束されている拘束されたインスタンスのサブコピーバージョンの全てのライセンスについて、有効期間を確認する。後述するように、サブコピーバージョンのライセンスは、有効期間を有している。クライアントがライセンスを受信するとクライアントは、ライセンスの有効期間に基づいて、期限を設定する。例えば、ライセンスの有効期間が15日間である場合、クライアントは、クライアントがライセンスを受け取ったときから15日目に期限を設定する。クライアントは、セキュアクロックを用いて、期限までにどれ程の時間が残っているか、及びいつ期限が切れるかを監視する。クライアントは、サーバからの更新されたライセンスを要求し、更新されたライセンスを受信すると、有効期間及び期限をリセットすることによって、定期的にライセンスを更新する。切断されたクライアントデバイスは、サーバに接続されないので、ライセンスを更新することができない。クライアントがライセンスを更新することができなければ、期限は変更されず、したがって、有効期間が切れるまでの時間は徐々に短くなる。期限に達すると、期限切れとなり、クライアントは、ライセンスをディスエーブルにする。クライアントが再びライセンスを更新することができると、クライアントは、ライセンスをイネーブルにし、期限をリセットする。第1のライセンスに対応するハブネットワークからクライアントが切断されると、このクライアントは、第1のライセンスを更新することができなくなるが、このクライアントが第2のライセンスに対応する異なるハブネットワークに接続されたままであれば、その第2のライセンスを更新することはできる。
有効期間のどれかが満了した場合、クライアントは、ブロック2015において、その期限切れのライセンスをディスエーブルにする。クライアントは、ライセンスをディスエーブルにし、これにより対応するサブコピーバージョンをディスエーブルにする。他の具体例では、クライアントは、後述するように、他の手法でサブコピーバージョンをディスエーブルにする。
クライアントは、ブロック2020において、クライアントがハブネットワークに再接続されているか否かを定期的に確認する。一具体例では、クライアントは、更新されたライセンスを要求すると同時に、再接続が行われているか否かを確認する。幾つかの構成、例えば、有線接続を用いた構成では、クライアントが信号を再接続を示す信号を速やかに受信するので、クライアントは、再接続が行われているか否かを定期的に確認する必要はなく、したがって、ブロック2020を省略できる。クライアントがハブネットワークに再接続されると、クライアントは、図21に示す処理を実行する。
図21は、メンバデバイスをハブネットワークに再接続する1つの具体的な処理手順のフローチャート2100を示している。初期的には、ここでのデバイスは、ハブネットワークから切断されたメンバデバイスである。デバイスは、ブロック2105において、ハブネットワークに再接続される。デバイスがハブネットワークのローカル環境にあり、デバイスとハブネットワークの間の物理接続が復元又は確立された場合、デバイスは、再接続することができる。一具体例では、クライアントは、定期的にサーバをポーリングし、クライアントが再接続されたことを認識する。一具体例では、デバイスは、ユーザが再接続を要求するまでは、再接続されない。
サーバは、ブロック2110において、ハブネットワークに再接続されたデバイスを検出する。一具体例では、クライアントは、再接続通知をサーバに送信する。図18のブロック1810に関連して上述したように、他の具体例においては、サーバは、定期的にハブネットワークをポーリングし、新たに接続され又は再接続されたデバイスを検出する。
サーバは、ブロック2115において、検出されたデバイスを認証し、再接続されたデバイスがハブネットワークのメンバクライアントであるか否かを確認する。また、図18のブロック1815に関連して上述したように、サーバは、接続の際にデバイスを認証し、デバイスのアイデンティティを判定する。サーバは、メンバデバイスのリストを維持し、したがって、新たに接続されたデバイスが既にハブネットワークのメンバであり、したがって再びメンバに加える必要がないことを判断することができる。一具体例では、サーバは、再接続されたデバイスがハブネットワークのローカル環境にあることを確認する。更に、一具体例では、サーバは、取消リスト内に再接続されたデバイスがないことも確認する。
デバイスをメンバデバイスとして認証した後に、サーバは、ブロック2120クライアントのライセンスを更新する。サーバは、そのサーバのハブネットワークに拘束されている拘束されたインスタンスについて、クライアントに保存されているコンテンツデータのサブコピーバージョンのライセンスを更新する。サーバは、他のハブネットワークに拘束されている拘束されたインスタンスのサブコピーバージョンのライセンスは更新しない。これに代えて一旦、クライアントがハブネットワークに再接続された後に、クライアントがライセンスの更新を要求してもよい。
時間管理
サーバは、ハブネットワークの時間管理を担う。時間管理には、相対時間管理と絶対時間管理とが含まれる。サーバは、時間を管理し、例えば、ハブネットワークのコンテンツの独立した又は拘束されたインスタンスのライセンスに対する時間的な制約を強制する。また、クライアントも、内部的に又はサーバによる時間管理を参照して、時間を管理する。クライアントがライセンス付与機関からサブコピーバージョンのライセンスを受信すると、クライアントは、ライセンスを受信する前に、ライセンス付与機関と時間情報を同期させる。サーバ及びクライアントは、時間を管理するために安全なメカニズムを用いる。
機密保護
一具体例では、ハブネットワークのデバイスは、以下に限定されるものではないが、例えば、データの通信、要求の処理、取引履歴のための取引の登録、ライセンスの付与及び取消、デバイスの認証、権限付与、ディスエーブル及び取消、インスタンスコピー及び鍵の保存、作成及び移動、インスタンス及びコピーのためにメタデータの維持、及びストリーミングコンテンツの表示等を含む様々な動作のために、安全な技術を用いる。適応性を有するデバイスは、定期的に中央の機関(central authority)からの機密保護処理を更新でき又はユーザ又は自動化されたソースから更新された情報を受信することができる。クライアントデバイスは、ライセンスを受信する前に安全メカニズムを更新する。このメカニズムには、例えば、暗号鍵の更新、クライアントのクロック及び時間情報のサーバとの同期、取消リストの交換及び更新、システムセキュリティーデータ及びツールの更新等が含まれる。一具体例では、鍵が解読されたとサーバが判定した場合、サーバは、鍵を取り消すことができる。この場合、サーバは、適応性を有するデバイスに対し、取り消された鍵をディスエーブルにすることを要求し、これにより取り消された鍵を用いて安全なメディアコンテンツにアクセスすることはできなくなる。
コンテンツ管理
メディアネットワーク環境内のデバイスは、コンテンツのインスタンスのコンテンツデータを表示し、コピーし、移動させる。上述のように、インスタンスは、メディアデータ、例えばオーディオ及び/又はビデオデータであるコンテンツデータを含んでいる。上述のように、ハブネットワークのサーバは、ハブネットワーク内のコンテンツの拘束されたインスタンスの状態を管理する。サーバは、拘束されたインスタンスの状態を直接変更し、ハブネットワーク内のメンバクライアントにこれらの状態変化に基づく適切な処理を行わせる。
コンテンツのインスタンスは、適応性があるものと、適応性がないものとがある。適応性を有するインスタンスは、符号化されたデータを含んでおり、これにより、適応性を有するデバイスだけがコンテンツデータを復号し、再生することができる。したがって、適応性を有さないデバイスは、適応性を有するインスタンスからコンテンツデータを再生できない。適応性を有するデバイス(サーバ)は、ハブネットワークに適応性を有するインスタンスを拘束し、又はハブネットワークから適応性を有するインスタンスを解放することができる。
コンテンツの適応性を有さないインスタンス又はコピーは、ハブネットワークの要求に基づいて符号化されず、したがって、適応性を有さないデバイス又は適応性を有するデバイスは、(インスタンス又はコピーに存在する他のコピー制御メカニズムに基づいて)適応性を有さないインスタンス又はコピーのコンテンツデータを再生することができる。適応性を有するデバイスは、適応性を有さないインスタンス又はコピーをハブネットワークに拘束しないが、適応性を有さないコンテンツを、他の形式で保存することはできる。一具体例では、適応性を有さないインスタンスが、適応性を有するデバイスによって認識されるコピー制御情報を有しており、及びハブネットワークで用いられることを認証されている場合、適応性を有するデバイスは、コピー制御情報に基づいて、ルートライセンスを定義する適応性を有さないインスタンスを拘束することができる。
コンテンツ状態
ハブネットワークのコンテンツの各適応性を有するインスタンスは、独立した状態及び拘束された状態の2つの排他的な状態の1つにある。コンテンツの独立したインスタンスは、如何なるハブネットワークにも拘束されず、適応性を有する媒体を用いて、ハブネットワーク内又はハブネットワーク外で、1つのデバイスから他のデバイスに移動できる。適応性を有するデバイスは、独立したインスタンスのコピーを作成しない(但し、コンテンツを再生する段階で、一時的にコピーを作成することはある)。独立したインスタンスは、様々な形式を有することができ、例えば、適応性を有するストレージ媒体(例えば、光ディスク)に保存された1つ以上の電子ファイル又は(例えば、ネットワーク接続を介してダウンロードすることによって受信され)適応性を有するデバイスのストレージ装置に保存された1つ以上の電子ファイル等であってもよい。コンテンツの独立したインスタンスを保存するメディアは、メディアネットワーク適応性を有する媒体である。適応性を有する媒体により、サーバは、独立したインスタンスを必要に応じて変更でき、例えば、ハブネットワークにコンテンツを拘束する場合、独立したインスタンスをディスエーブルにすることができる。更に、適応性を有する媒体は、デバイスが適応性を有する媒体に保存された如何なる独立したインスタンスのデータについてもビットコピーを作成できないように構成される。すなわち、適応性を有する媒体は、安全な読出/書込ストレージ媒体(例えば、書込可能なストレージを有し又は書込可能なストレージに関連付けられている書込可能な光ディスク又は読出専用媒体)であるか、安全な読出/書込ストレージ媒体を備えている。一具体例では、書込可能なストレージは、メディア自体からリモートにあってもよく、例えばデータベースであってもよい。適応性を有するデバイスは、独立したインスタンスのコピーを作成しない。
図22は、独立したインスタンス2205の一具体例を示している。独立したインスタンス2205は、ロックされた又は安全な(例えば、暗号化された)コンテンツデータ2210を含んでいる。また、独立したインスタンスのロックされたコンテンツデータは、独立したインスタンスのロックされたコンテンツデータの独立したバージョンとも呼ばれる。ロックされたコンテンツデータ2210は、例えば、オーディオ又はビデオデータ(例えば音楽、テレビ番組、映画)等の独立したインスタンスのメディアコンテンツデータである。代替となる実施例では、ロックされたコンテンツデータは、例えば、実行可能なソフトウェア(例えば、コンピュータゲーム又はテレビゲーム)等の非メディアデータであってもよい。ロックされたコンテンツデータ2210は、(例えば、パブリックピアレビュー(public peer review)を介して発行及び検証された1つ以上の暗号アルゴリズムを用いて)暗号化される。ロックされたコンテンツデータ2210は、適応性を有するデバイスだけがロックされたコンテンツデータ2210を復号することができるように、コンテンツ暗号化方式を用いて暗号化される。ヘッダ情報2215は、ロックされたコンテンツデータに関連付けられている。ヘッダ情報は、例えば、タイトル識別子、インスタンス識別子(特定のインスタンスを識別する)、符号化データデータ(例えば、ロックされたコンテンツデータを符号化するために用いられたコーデック、解像度、符号化エンティティを示す)、ライセンス付与機関データ等のメタデータを含んでいる。ライセンス付与機関データは、更なる権利又はライセンスを得るためにアクセスできる外部のライセンス付与機関を示す。独立したインスタンスの幾つかの具体例では、ライセンス付与機関データは含まれない(例えば、ロックされたコンテンツデータと共に、用いられる全てのライセンスが供給される)。他の具体例では、ヘッダ情報2215の一部又は全てが暗号化され、又はヘッダ情報2215は、ロックされたコンテンツデータ2210に含まれる。独立したインスタンス2205は、暗号化されたデータの保護領域2220を含んでいる。保護領域2220のデータは、(例えば、適応性を有するデバイスが保有する鍵を用いて)適応性を有するデバイスだけが保護領域2220のデータを復号できるように、ハブネットワーク暗号化方式を用いて暗号化される。保護領域2220は、鍵2225、独立したライセンス2230及び取消リスト2235を含んでいる。鍵2225は、ロックされたコンテンツデータ2210をアンロックするために用いられる。一具体例においては、適応性を有するデバイスは、(ハブネットワーク暗号化を用いて暗号化された)鍵2225を含む保護領域2220を復号するための鍵を保有し、鍵2225を用いて(コンテンツ暗号化を用いて暗号化された)ロックされたコンテンツデータ2210を復号する。独立したライセンス2230は、特定の独立したインスタンス2205のロックされたコンテンツデータ2210の現在のライセンスを保有する。ライセンス2230は、特定の独立したインスタンス2205のロックされたコンテンツデータ2210のために定義された、独立したインスタンスを適切に再生し、コピーし、移動することに関する一組の許可を定義する(例えば、コピーは、許可されない)。また、ライセンス2230は、独立したインスタンス2205に基づいて、如何なる種類のライセンスが拘束されたインスタンスに利用可能であるかを示す。一具体例では、ライセンス2230は、独立したインスタンス2205が独立したインスタンスであることを示すためのフラグを含んでいる。取消リスト2235は、許可が取り消されたデバイスを示している。適応性を有するデバイスは、それ自身の取消リストを維持する。適応性を有するデバイスが独立したインスタンスを受信すると、デバイスは、デバイスの取消リスト内にない独立したインスタンスの取消リスト内の全てのデバイスを取消リストに加える。適応性を有するデバイスは、そのデバイスがそのデバイスの取消リストに登録されている場合、独立したインスタンスを提供も再生もしない。適応性を有するサーバは、そのサーバがサーバの取消リストに登録されている場合、独立したインスタンスを拘束しない。他の具体例では、独立したインスタンスは、取消リストを含んでいなくてもよい。他の具体例では、独立したインスタンスの部分を複数ファイルとして保存してもよい。
拘束されたインスタンスは、特定のハブネットワークに拘束され、そのハブネットワークのサーバによって管理される。拘束されたインスタンスのデータは、(少なくとも部分的に)暗号化され、これにより、適応性を有さないデバイス又は拘束されたハブネットワークの外にあるデバイスは、拘束されたインスタンスのコンテンツデータを提供又は再生することができない。拘束されたインスタンスを管理するサーバは、拘束されたインスタンスのためのルート義務を有している。ルート義務は、拘束されたインスタンスのサブコピーロックされたコンテンツデータバージョンのライセンスの発行及び管理を含む。また、拘束されたインスタンスを管理するサーバは、拘束されたインスタンスのロックされたコンテンツデータのソースバージョンを管理する。サーバは、ソースバージョンを用いて、ハブネットワーク内のサブコピーロックされたコンテンツデータバージョンを作成する。指定されたサーバは、その拘束されたインスタンスのサブコピーバージョンのローカルのライセンス付与機関である。サーバは、ソースバージョンからサブコピーバージョンを作成でき、及びハブネットワークのクライアントにサブコピーバージョンを提供することができる。一具体例では、クライアントは、クライアントによって保存されているサブコピーバージョンからサブコピーバージョンを作成することができるが、新たなサブコピーバージョンを受け取ったクライアントは、コンテンツを再生するために、ハブネットワークのサーバからのライセンスを必要とする。(例えば、デバイスがメンバではない)異なるハブネットワークからサブコピーバージョンを受信するデバイスは、例えば、サブコピーバージョンによって指示されるライセンス付与機関から新たなライセンスを取得する必要がある。適応性を有するサーバは、拘束されたインスタンスの状態を独立した状態に変更させない限り、ルート義務、したがって、拘束されたインスタンスを他の適応性を有するサーバに移動させることはない。他のサーバにルート義務を移すサーバは、拘束されたインスタンスを独立したインスタンスに変更し、第2のサーバに独立したインスタンスを移行させる。次に、第2のサーバは、受け取った独立したインスタンスを拘束されたインスタンスに移行させ、したがって、第2のサーバは、ルート義務を負うようになる。この場合、拘束されたインスタンスは、第2のサーバをサーバとする異なるハブネットワークに拘束される。他の具体例では、ソースバージョンは、ハブネットワークのサーバに保存されず、サーバは、ルートライセンスを保存及び管理し、ソースバージョンをリモートから管理する。
図23は、サーバ2305及びクライアント2350に保存されているコンポーネントを含む拘束されたインスタンス2300の一具体例を示している。拘束されたインスタンス2300の構造は、図22の独立したインスタンス2205と同様であるが、サーバに保存されたデータ及びハブネットワーク内の0台以上のクライアントに保存されたデータを含むことができる。サーバコンポーネント2305は、ロックされたコンテンツデータ2310、ヘッダ情報2315、鍵2325を含む保護領域2320、ルートライセンス2330及び取消リスト2335を含んでいる。サーバコンポーネント2305のロックされたコンテンツデータ2310は、拘束されたインスタンス2300のロックされたコンテンツデータのソースバージョンである。サーバは、ソースバージョンを用いて、サブコピーロックされたコンテンツデータバージョン(例えば、後述するロックされたコンテンツデータ2310)を作成する。ソースバージョンは、ハブネットワークのコンテンツ内の最も高い解像度バージョンである。異なるデバイスが異なる解像度コピーを要求した場合、ソースバージョンからこれらのコピーを作成することができる。ヘッダ情報2315のライセンス付与機関データは、外部のライセンス付与機関(例えば、拘束されたインスタンスが依存する独立したインスタンスによって示されている機関と同じ機関)と、ローカルのライセンス付与機関としてのサーバとを示す。拘束されたインスタンスの幾つかの具体例は、絶対的なライセンス付与機関データを含んでいない(例えば、ロックされたコンテンツデータと共に、用いられる全てのライセンスが供給される)。ルートライセンス2330は、拘束されたインスタンスを適切に再生し、コピーし、移動することに関する一組の許可を定義する(例えば、移動は許可しないが、サブコピーバージョンを作成し、他のデバイスに提供することは許可する)。ルートライセンス2330は、暗号化によって特定のサーバに拘束される。ルートライセンス2330は、ハブネットワークのサブコピーについて、如何なる種類のライセンスを利用できるかを定義する。一具体例では、ルートライセンス2330は、拘束されたインスタンス2305が拘束されたインスタンスであることを示すフラグを含んでいる。一具体例では、サーバがサーバデバイスかそれともサーバ/クライアントデバイスであるかによって、ルートライセンスは異なるものとなる。取消リストは、許可が取り消されたデバイスを示す。上述のように、適応性を有するデバイスは、自らの取消リストを維持する(例えば、サーバは、サーバ又はデバイス取消リストを維持し、クライアントは、クライアント取消リストを維持する)。サーバが拘束されたインスタンスを受信すると、サーバは、サーバの取消リスト内にない、拘束されたインスタンスの取消リスト内の全てのデバイスを取消リストに加える。適応性を有するサーバデバイスは、そのデバイスがサーバの取消リストに登録されている場合、拘束されたインスタンスを再生又は提供できない。また、適応性を有するサーバは、そのサーバが取消リストに登録されている場合、拘束されたインスタンスを解放できない(独立した状態に移行させることができない)。適応性を有するサーバは、サーバの取消リストに登録されているデバイスには、サブコピーバージョン又はライセンスを提供しない。他の具体例では、適応性を有するサーバは、取消リストに登録されているデバイスにサブコピーバージョンを提供できる、そのデバイスにライセンスを提供することはない。
クライアント2350に保存されているコンポーネントは、サーバ2305に保存されているコンポーネントと同様であるが、ライセンスは異なる。クライアント2350は、ロックされたコンテンツデータ2355、ヘッダ情報2360、鍵2370を含む保護領域2365、サブコピーライセンス2375及び取消リスト2380を含む。ヘッダ情報2360のライセンス付与機関データは、外部のライセンス付与機関(例えば、拘束されたインスタンスが依存する独立したインスタンスによって示されている機関と同じ機関)と、ローカルのライセンス付与機関として拘束されたインスタンスに対応するサーバとを示す。上述のように、拘束されたインスタンスの幾つかの具体例は、ライセンス付与機関データを含んでいない。サブコピーライセンス2375は、対応する拘束されたインスタンスのルートライセンスに基づいて、例えば、何らかの時間的制限等、コンテンツを再生するための規則を含む特定のロックされたコンテンツデータ2355について定義された一組の許可を示す。サブコピーライセンス2375は、暗号化によって特定のクライアントに拘束される。サブコピーライセンス2375は、後述するように、クライアントがライセンスを更新することができなくなるまでの有効期間を含む。上述のように、クライアントデバイスは、取消リストを維持し、取消リスト2380に基づいて、取消リストを更新する。適応性を有するクライアントデバイスは、そのデバイスがクライアントの取消リストに登録されている場合、サブコピーバージョンを再生又は提供できない。一具体例では、適応性を有するデバイスも、クライアントの取消リストに登録されているデバイスには、サブコピーを提供しない。
一具体例では、独立したインスタンスと同様に、拘束されたインスタンスのロックされたコンテンツデータ及び保護領域は、異なる技術を用いて暗号化される。ロックされたコンテンツデータ(ソースバージョン及び全てのサブコピーバージョン)は、コンテンツ暗号化方式を用いて暗号化される。保護領域は、ハブネットワーク暗号化方式を用いて暗号化される。一具体例においては、適応性を有するデバイスは、(ハブネットワーク暗号化を用いて暗号化された)鍵を含む保護領域を復号するハブネットワーク鍵を保有し、保護領域から復号された鍵を用いて、(コンテンツ暗号化を用いて暗号化された)ロックされたコンテンツデータを復号する。
他の具体例では、拘束されたインスタンスのロックされたコンテンツデータ及びライセンス(又は、保護領域全体)は、個別に管理し、配信することができる。同様に独立したインスタンスのロックされたコンテンツを個別に配信してもよい。この場合、適応性を有するデバイスは、まず、有効なライセンスを取得しなければ、ロックされたコンテンツデータを再生できない。デバイスは、ハブネットワーク外にロックされたコンテンツデータを配信することができるが、この場合も受信側は新たなライセンスを必要とする。更に、このために、後述するように、中間装置は、サーバから切断されたクライアントにライセンスを渡すことによってハブネットワークのローカル環境の外で切断されたメンバデバイスのライセンスを更新する導管として機能できる。
同じコンテンツの複数の独立したインスタンスは、別個の独立したインスタンスとして扱われ、互いに相関関係を有さない。同様に、同じコンテンツの複数の独立したインスタンスがハブネットワークに拘束されると、それぞれが別個の拘束されたインスタンスを作成する。他の具体例では、サーバは、(例えば、コンテンツ又はヘッダ情報内の識別情報に基づいて)同じコンテンツの複数の独立したインスタンスが存在している場合を認識し、インスタンスのライセンシング情報は、これらの拘束されたインスタンスを関連付けて取り扱うことができる。例えば、複数の関連するインスタンスが存在している場合、1つの関連するインスタンスを解放すると、残りの関連する拘束されたインスタンスのロックされたコンテンツデータをディスエーブルにされる必要はない。
他の具体例では、コンテンツのインスタンス又はコピーは、制約されていない(unrestricted)第3の状態を有することができる。制約されていないインスタンス及びそのコピーは、ハブネットワーク内及びハブネットワーク外で自由に移動でき、コピーでき、再生できる。適応性を有するデバイスは、制約されていないインスタンスの状態を拘束された又は独立した状態に変更しない。ユーザがコンテンツをハブネットワークに加えることを要求すると、サーバは、コピー制御情報があるか否かを確認し、サーバが(コピー制御情報に基づいてルートライセンスを定義する)制御された状態を特定した場合、コンテンツを拘束されたインスタンスとして加える。ユーザが如何なるコピー制御情報又はメディアネットワーク環境情報も検出されないインスタンス(例えば、独立したインスタンスでも拘束されたインスタンスでもないインスタンス)を加えることを要求すると、デバイスは、制約されていないインスタンスとしてコンテンツを加えることができる。
図17に示す具体例では、2つのコンテンツアイテムA及びBは、ハブネットワークHN1に拘束されている。コンテンツA、Bの2つのアイテムのそれぞれの拘束されたインスタンスについて、サーバ/クライアントデバイス1705は、ラベル「A」及び「B」で示されるロックされたコンテンツデータのソースバージョンを保存する。ストレージクライアントデバイス1720は、それぞれラベル「a」及び「b」によって示される2つのコンテンツアイテムA及びBのそれぞれのサブコピーロックされたコンテンツデータバージョンを保存する。
1つのコンテンツアイテムXは、ハブネットワークHN2に拘束される。サーバデバイス1715は、ラベル「X」によって示されるコンテンツXのソースバージョンを保存する。サーバ/クライアントデバイス1705及びストレージクライアントデバイス1720は、それぞれ、ラベル「x」によって示されるコンテンツアイテムXのサブコピーバージョンを保存する。また、サーバデバイス1715は、ラベル「Y」によって示されるコンテンツYの独立したインスタンスのロックされたコンテンツデータの独立したバージョンを保存する。
ストレージ装置1730は、ラベル「Z」によって示されるコンテンツZの独立したバージョンを保存する。
コンテンツの状態遷移
サーバは、ハブネットワーク内のコンテンツの適応性を有するインスタンスの状態を管理する。サーバは、独立したインスタンスの状態を拘束した状態に変えることによってインスタンスをハブネットワークに拘束する。サーバは、拘束されたインスタンスの状態を独立した状態に変えることによってハブネットワークからインスタンスを削除又は解放し、ハブネットワーク内の対応するロックされたコンテンツデータをディスエーブルにする。
図24は、独立したインスタンスをハブネットワークに拘束する処理の具体例として、フローチャート2400を示している。まず、サーバは、ブロック2405において、独立したインスタンスを受信する。上述のように、独立したインスタンスは、様々な形式を有することができ、例えば、適応性を有するストレージ媒体(例えば、光ディスク)に保存された1つ以上の電子ファイル又は(例えば、ネットワーク接続を介してダウンロードすることによって受信され)適応性を有するデバイスのストレージ装置に保存された1つ以上の電子ファイル等であってもよい。サーバは、(独立したインスタンスのロックされたコンテンツデータのコピーを作成することはできるが)ハブネットワークに拘束されていない独立したインスタンスのコピーを作成できないので、サーバは、まだ独立したインスタンスのコピーを作成しない。
サーバは、ブロック2410において、ハブネットワークに独立したインスタンスを拘束するための要求をユーザから受信する。一具体例では、サーバは、ユーザからの要求を待機する。他の具体例では、サーバが独立したインスタンスを受信すると、サーバは、サーバがハブネットワークに独立したインスタンスを拘束するべきであるか否かを問い合わせるクエリをユーザに発する。
サーバが拘束の要求を受信すると、サーバは、独立したインスタンスブロック2415をディスエーブルにする。独立したインスタンスをディスエーブルにすることによって、適応性を有するデバイスは、独立したインスタンスを再生又は提供できなくなる。一具体例では、サーバは、独立したインスタンスのライセンスをディスエーブルにすることによって、独立したインスタンスをディスエーブルにする。他の具体例では、サーバは、適応性を有するデバイスが独立したインスタンスを再生しないように、独立したインスタンスのデータにフラグを設定することによって、独立したインスタンスをディスエーブルにする。他の具体例では、サーバは、独立したインスタンスの一部又は全てをサーバ固有の鍵で暗号化することによって独立したインスタンスをディスエーブルにする。他の具体例では、サーバは、(例えば、デバイスがコンテンツデータを再生又は提供する前に確認する)中央データベース又は機関によって、独立したインスタンスをディスエーブルにされていると登録することによって独立したインスタンスをディスエーブルにする。他の具体例では、独立したインスタンスは、ディスエーブルにされた独立したインスタンスが拘束されているハブネットワークのメンバであるデバイスが独立したインスタンスをサブコピーとして提供又は再生できるように、部分的にのみディスエーブルにされる。サーバが独立したインスタンスをディスエーブルにすることができない場合、サーバは、ハブネットワークに独立したインスタンスを拘束しない。
サーバは、ブロック2420において、独立したインスタンスから拘束されたインスタンスを作成する。サーバは、独立したインスタンスをコピーする。このコピーには、ロックされたコンテンツデータ、ライセンス付与機関情報を含むヘッダ情報、ロックされたコンテンツデータをアンロックする鍵、独立したライセンス、(存在すれば)取消リストのコピーが含まれる。サーバは、拘束されたインスタンスのためのロックされたコンテンツデータのソースバージョンとして、ロックされたコンテンツデータのコピーを保存する。サーバは、独立したインスタンスではなく、拘束されたインスタンスを適切に管理するために、独立したライセンスをルートライセンスに変更する。或いは、サーバは、独立したライセンスをコピーする代わりに、独立したライセンスを用いて新たなルートライセンスを生成してもよい。これに代えて又はこれに加えて、他の具体例では、サーバは、ライセンス付与機関情報によって示される外部のライセンス付与機関にアクセスし、ルートライセンスを更新又は生成してもよい。一具体例では、サーバがサーバ/クライアントデバイスでない場合、したがって、コンテンツを再生しない場合、ルートライセンスは、サーバに対する再生許可に関するライセンシング情報を保存しない。
代替となる実施例では、サーバは、独立したインスタンスの幾つか又は全てを削除することによって、独立したインスタンスをディスエーブルにする。この場合、サーバは、独立したインスタンスを削除する前にまず、独立したインスタンスの拘束されたインスタンスを確立する。
他の具体例では、サーバは、独立したインスタンスを拘束されたインスタンスに変換する。この場合、サーバは、独立したインスタンスのコピーを作成しない。これに代えて、サーバは、ライセンス付与機関情報及びライセンスを適宜変更し、独立したインスタンスが現在、拘束されたインスタンスとなっていることを示す。
一具体例では、サーバは、独立したインスタンスをディスエーブルにし、及び拘束されたインスタンスを作成する前に、サーバが独立したインスタンスを拘束することできることを確認する。サーバは、独立したインスタンスのライセンスがサーバに独立したインスタンスの拘束を許可していることを確認する。また、サーバは、サーバの取消リスト内にサーバが登録されていないことを確認する。また、他の具体例では、サーバは、独立したインスタンスのロックされたコンテンツデータ内に適切なウォータマークがあることを確認する。独立したインスタンスの拘束が許可されていることをサーバが確認できない場合、サーバは、独立したインスタンスを拘束しない。
一具体例では、サーバは、放送情報を受け取り、これを拘束されたコンテンツとして保存し、ルートライセンスを確立する。サーバは、自動的にルートライセンスを作成する。代替となる実施例では、サーバは、放送情報内の情報を用いてルートライセンスを定義し、又は放送情報内のライセンス付与機関情報を用いて外部のライセンス付与機関にアクセスし、ルートライセンスを取得するための許可を得る。他の具体例では、サーバは、放送のコンテンツを独立したインスタンスとして記録する。一具体例では、放送情報は、鍵と、ライセンス付与機関情報と、独立したコピーを構築するためのライセンシング情報とを含む。他の具体例では、サーバは、放送情報を受け取り、これを拘束されたコンテンツとして保存し、ルートを確立する。サーバは、放送情報内のライセンス付与機関情報を用いて外部のライセンス付与機関にアクセスし、ルートコピーを作成するためのライセンスを取得する。一具体例では、サーバは、放送情報によって提供されるコピー制御情報に基づいて、放送情報のメディアコンテンツを暗号化する。
図25は、ハブネットワークからコンテンツのコピーを解放し、コンテンツを独立させる(独立化:discretification)処理の具体例のフローチャート2500である。初期的には、拘束されたインスタンスがサーバ及びコンテンツのサブコピーバージョンを保存している任意のクライアントに保存されている。
サーバは、ブロック2505において、拘束されたインスタンスをハブネットワークから解放する要求をユーザから受け取り、独立したインスタンスを作成する。一具体例では、サーバは、ユーザからの要求を待機する。他の具体例では、例えば、拘束されたインスタンスをハブネットワークから外部に持ち出す等、拘束されたインスタンスに対して実行できない動作要求をサーバが受信するとサーバは、クエリをユーザに送る。この場合、クエリは、サーバが拘束されたインスタンスをハブネットワークから解放し、独立したインスタンスを作成するか否かを問い合わせる。
サーバが独立した要求を受け取った後に、サーバは、ブロック2515において、ハブネットワークのクライアントに対し、対応する拘束されたインスタンスのサブコピーバージョンをディスエーブルにする。サーバは、拘束されたインスタンスサブコピーバージョンがディスエーブルにされることを示すディスエーブル要求をハブネットワークの各メンバに送信する。これに代えて、サーバは、(例えば、クライアントに送られたライセンスによって示される)拘束されたインスタンスのサブコピーバージョンを有するメンバにディスエーブル要求を送信してもよい。ディスエーブル要求を受信したクライアントは、拘束されたインスタンスに対応する全てのサブコピーバージョンをディスエーブルにする。サブコピーバージョンをディスエーブルにすることによって、適応性を有するデバイスは、ディスエーブルにされたサブコピーバージョンを提供も再生もできなくなる。一具体例では、クライアントは、サブコピーバージョンのライセンスをディスエーブルにすることによって、サブコピーバージョンをディスエーブルにする。他の具体例では、クライアントは、ディスエーブルにすべきサブコピーバージョンを削除する。他の具体例では、クライアントは、適応性を有するデバイスがサブコピーバージョンを再生しないことを示すサブコピーバージョンのデータ内のフラグを設定することによってサブコピーバージョンをディスエーブルにする。他の具体例では、クライアントは、クライアント固有の鍵を用いてサブコピーバージョンを暗号化することによってサブコピーバージョンをディスエーブルにする。他の具体例では、クライアントは、(例えば、デバイスがサブコピーバージョンを再生又は提供する前に確認する)中央データベース又は機関によって、拘束されたインスタンスをディスエーブルにされていると登録することによってサブコピーバージョンをディスエーブルにする。このとき、クライアントがハブネットワークから切断されると、サーバは、クライアントデバイスがハブネットワークに再接続された場合に対応するサブコピーバージョンをディスエーブルにするための要求を生成する。
サーバがサブコピーバージョンをディスエーブルにした後、サーバは、ブロック2515において、ソースバージョンをディスエーブルにする。適応性を有するデバイスは、ソースバージョンをディスエーブルにすることによってソースバージョンを提供も再生もできなくなる。サーバが独立したインスタンスをディスエーブルにし、又はクライアントがサブコピーバージョンをディスエーブルにするのと同様に、サーバは、例えば、拘束されたインスタンスのルートライセンスをディスエーブルにすることによって、ソースバージョンをディスエーブルにする。
サーバは、ブロック2520において、拘束されたインスタンスから独立したインスタンスを作成する。サーバは、拘束されたインスタンスをコピーする。このコピーには、ロックされたコンテンツデータ、ライセンス付与機関情報を含むヘッダ情報、ロックされたコンテンツデータをアンロックする鍵、独立したライセンス、(存在すれば)取消リストのコピーが含まれる。サーバは、(例えば、ユーザからの独立要求に基づいて)内部ストレージ装置又は外部の適応性を有する媒体に独立したインスタンスを保存する。サーバは、拘束されたインスタンスではなく独立したインスタンスに適するようにルートライセンスを変更する。或いは、サーバは、ルートライセンスをコピーせず、これに代えて、ルートライセンスを用いて新たな独立したライセンスを生成してもよい。これに代えて又はこれに加えて、他の具体例では、サーバは、ライセンス付与機関情報によって示される外部のライセンス付与機関にアクセスし、独立したライセンスを更新又は生成してもよい。
一具体例では、サーバは、独立したインスタンスを外部の適応性を有する媒体上に作成する前に、適応性を有する媒体が新たな独立したインスタンスを保存するために利用可能であることを確認する。適応性を有する媒体が利用できない場合、サーバは、内部ストレージ装置内に独立したインスタンスを作成してもよく、又はサーバは、承認されている(例えば、ルートライセンスによって、又はハブネットワークの構成によって承認されている)記録技術を用いて適応性を有さないコピーを作成してもよい。一具体例における承認された記録技術の具体例としては、4C又はD−VHS等がある。一旦、サーバが適応性を有さないコピーを作成すると、適応性を有さないコピーを再び拘束することはできず、ディスエーブルにされたサブコピーは、(新たなライセンスを購入しなければ)イネーブルにすることができない。したがって、サーバは、適応性を有さないコピーを作成する前に確認を要求する。外部の適応性を有する媒体及び承認された記録技術が利用できない場合、サーバは、外部ストレージ装置上に独立したインスタンスを作成することはできない。一具体例では、ユーザは、適応性を有する媒体の存在にかかわらず、独立したインスタンスから適応性を有さないコピーの作成を要求できる(但し、承認された記録技術は必要である)。
他の具体例では、サーバは、拘束されたインスタンスを独立したインスタンスに変換する。この場合、サーバは、拘束されたインスタンスのコピーを作成する必要はない。これに代えて、サーバは、拘束されたインスタンスが現在独立したインスタンスとなったことを示すために、ライセンス付与機関情報及びライセンスを適切に変更する。
また、他の具体例では、ストレージクライアントデバイスは、拘束されたインスタンスの状態を独立した状態に変更することができる。この場合、クライアントデバイスは、サーバに通知を送り、サーバは、(例えば、他のクライアントにディスエーブル要求を送ることによって)ソースバージョン及び残っている全てのサブコピーバージョンをディスエーブルにする。代替となる実施例では、ストレージクライアントデバイスは、(ストレージクライアントデバイスのライセンスに基づき)ハブネットワークの全てのメンバデバイスに対し、サブコピーコンテンツのバージョンをディスエーブルにすることを要求する。一具体例では、クライアントデバイスがサブコピーバージョンを保存する場合、又は他のロックされたコンテンツデータを保存する場合、クライアントデバイスは、拘束されたインスタンスの状態を独立した状態に変更する機能を有している。
一具体例では、サーバは、ライセンシング情報内の使用に関する時間的制約を含む拘束されたインスタンスを解放しない。この場合、サーバが拘束されたインスタンスを独立したインスタンスに移行させる要求を受信すると、サーバは、要求を拒否し、対応するサブコピーバージョンを有する拘束されたインスタンスは、イネーブルにされたままの状態で残る。
一具体例では、サーバは、拘束されたインスタンスをディスエーブルにし、及び独立したインスタンスを作成する前に拘束されたインスタンスを解放できることを確認する。すなわち、サーバは、拘束されたインスタンスのルートライセンスが拘束されたインスタンスを解放するための許可をサーバに与えていることを確認する。また、サーバは、サーバの取消リスト内にサーバが登録されていないことを確認する。拘束されたインスタンスを解放することが認められていることをサーバが確認できない場合、サーバは、拘束されたインスタンスを解放しない。
コンテンツライセンス管理
サーバは、サーバのハブネットワークに拘束されている拘束されたインスタンスのサブコピーバージョンのライセンスを管理する。上述のように、サーバがコンテンツのインスタンスをハブネットワークに拘束する場合、サーバは、ルートライセンスを有する拘束されたインスタンスを作成する。拘束されたインスタンスのためのルートライセンスを有するサーバは、ハブネットワーク内のその拘束されたインスタンスのローカルのライセンス付与機関であり、サーバは、ルートライセンスを用いて、ハブネットワーク内のその拘束されたインスタンスの全てのサブコピーバージョンのライセンシングを制御する。
適応性を有するデバイスは、ライセンスを用いてコンテンツのインスタンスのロックされたコンテンツデータを利用し、例えば、ロックされたコンテンツデータを再生し、コピーし、又は移動させる。一具体例では、ライセンスは、特定のロックされたコンテンツデータについて定義された一組の許可を示す。ライセンス許可は、ロックされたコンテンツデータをその種類に基づいて(例えば、独立したインスタンスであるか拘束されたインスタンスであるかに基づいて)再生、コピー及び移動させるための許可を示す。また、ライセンスは、例えば、時間(例えば、レンタル期間)、地理的情報(例えば、地域コード)、ユーザアイデンティティ(例えば、パスワード)等に基づいて許可の条件を示すことができる。また、ライセンス付与機関とのインタラクション(例えば、レンタルに対する追加支払金による購入)によって、ライセンスを変更又は更新することができる。適応性を有するデバイスは、現在の、有効な、及びイネーブルにされたライセンスがなければ、ロックされたコンテンツデータを再生できない。適応性を有するデバイスが最初にロックされたコンテンツデータを用いる場合、適応性を有するデバイスは、新たなライセンスを要求し、又はロックされたコンテンツデータのライセンスを確認する。サーバは、ハブネットワークのローカル環境内に存在する、サーバのハブネットワークのメンバクライアントに対してのみライセンスを提供する。
他の具体例では、サーバは、中間装置(例えば、他のクライアントデバイス)を用いて、切断され及び/又はハブネットワークのローカル環境の外部にあるメンバクライアントにライセンスを提供する。中間装置は、(上述した、リモート装置をメンバに加える場合と同様に)ライセンスのための「導管」として機能する。この場合、サーバとクライアントは、接続されていないか又はクライアントがサーバのローカル環境内にない。中間装置は、(例えば、直接又は間接的に、若しくは、例えば、中間装置がサーバ及びクライアントの間を移動する携帯型デバイスである場合、異なる時刻に)サーバ及びクライアントの両方に接続される。中間装置は、サーバ及びクライアントの間で情報を受け渡し、(サーバがクライアントにライセンスを付与する場合)最終的に、サーバからクライアントにライセンスを渡す。
一具体例では、クライアントデバイスは、転送時に、両方のデバイスが同じローカル環境にある場合、同じハブネットワークの他のメンバクライアントにライセンスを拡張できる。拡張されたライセンスは、拡張されたクライアントデバイスが保有するライセンスと同じ(又はより制約が強い)ライセンスであり、拡張されたクライアントは、ライセンスの許可を広げることはない。受信したクライアントは、受信時にライセンスを更新する。拡張の後に、拡張されたクライアントと受信したクライアントの両方がライセンスを有することになる。
ライセンス更新
拘束されたインスタンスのサブコピーバージョンのためのライセンスは、有効期間を有する。クライアントがライセンスを受信すると、クライアントは、ライセンスの有効期間と、クライアントのセキュアクロックの現在の時刻とに基づいて、期限を設定する。例えば、15日間の有効期間を有するライセンスの場合、クライアントは、ライセンスが受け取られたときから15日後に期限を設定する。クロックが期限に達したことを示すと、ライセンスは、無効になる。クライアントは、サブコピーバージョンのルートライセンスを保存するサーバにアクセスすることによってクライアントが保存している各サブコピーバージョンのライセンスを定期的に更新する。ライセンスが更新されると、クライアントは、更新されたライセンスの有効期間に基づいて、期限をリセットする。ライセンスが更新されない場合、期限は変更されず、したがって、有効期間の残り時間は、期限に達するまで、減り続ける。また、クライアントは、クライアントがハブネットワークに再接続されると、そのハブネットワークに対応するサブコピーバージョンの全てのライセンスを更新する。
図26は、ライセンスを更新して、新しくする処理の具体例のフローチャート2600を示している。まず、クライアントは、拘束されたインスタンスのサブコピーロックされたコンテンツデータバージョンを保存する。サブコピーバージョンのためのライセンスは、特定のハブネットワークに拘束され、したがって、ハブネットワークのサーバは、クライアントによって保存されたサブコピーバージョンに対応する拘束されたインスタンスを管理する。クライアントがサブコピーバージョンのライセンスを受信すると、クライアントは、有効期間及びクライアントのクロックの時刻に基づいて、ライセンスの期限を設定する。クライアントのクロックは、セキュアクロックであり、通常の速度で進む。クライアントがサブコピーについてイネーブルにされたライセンスを受け取らなかった場合、クライアントは、サブコピーを受け取ったとき、新たな又は更新されたライセンスを要求する。
クライアントは、ブロック2605において、サーバから更新されたライセンスを要求する。クライアントは、サブコピーバージョンの拘束されたインスタンスが拘束されているハブネットワークの更新要求をサーバに送信する。クライアントは、例えば、毎分又は毎時等、定期的に更新要求をサーバに送信する。一具体例では、サーバ又はユーザは、クライアントが更新されたライセンスを要求する周期を調整できる。一具体例では、クライアントは、更新されたライセンスを要求する前に、又はこれに加えて、サーバに対して時間的な同期を要求する。
サーバは、ブロック2610において、要求を受け取り、クライアントが更新されたライセンスを受信するために適切に構成されていることを確認する。サーバは、(例えば、クライアントにIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認する(pinging)ことによって)クライアントが接続されており、ハブネットワークのローカル環境内にあることを確認する。クライアントが接続されておらず、又はローカル環境内にない場合、サーバは、更新されたライセンスを送らない。また、サーバは、クライアントが適切な機密保護ソフトウェア及び(例えば、鍵)データを有していることを確認する。クライアントが適切な機密保護ソフトウェア及びデータを有さない場合、サーバは、更新されたソフトウェア及びデータを含む機密保護更新情報をクライアントに送信する。サーバが機密保護更新情報をクライアントに送ることができない場合、サーバは、更新されたライセンスをクライアントに送信しない。また、サーバが更新要求を受け取らなければ、サーバは、更新されたライセンスをクライアントに送信しない。
サーバは、クライアントを確認した後に、ブロック2615において、クライアントのライセンスを確認する。サーバは、サーバの取消リストにクライアントが登録されていないことを確認する。また、一具体例では、サーバ及びクライアントは、サーバが新たなライセンスをクライアントに送る前に、取消リストを交換し、更新する。サーバの取消リストにクライアントが登録されている場合、サーバは、更新されたライセンスを送らない。サーバは、ルートライセンスを確認することによって、クライアントがまだライセンスを利用できるか否かを確認する。クライアントがライセンスを利用できることをルートライセンスが示している場合、サーバは、更新されたライセンスをクライアントに送信する。更新されたライセンスは、必ずしもクライアントに保存されているライセンスと同じライセンスである必要はない。サーバは、更新されたライセンスとして異なるライセンスを送ることによって、クライアントのライセンスの特性を更新することができる。例えば、一具体例では、サーバは、外部のライセンス付与機関に対して、定期的にライセンス更新を要求し、これに応じてルートライセンスを更新する。他の具体例では、ルートライセンスは、例えば、時間、支払い、又はクライアント状態等の条件の変化に基づく異なるライセンシング許可を示す。後述するように、一具体例では、新たなサブコピーバージョンが作成されると、新たなサブコピーバージョンのライセンスはディスエーブルにされ、新たなデバイスに特定の新たなライセンスが必要となる。サーバは、新たなサブコピーバージョンの最初の更新要求に応じて、ルートライセンスを用いて新たなライセンスを作成する。
クライアントがライセンスを利用できないことをルートライセンスが示している場合、サーバは、更新されたライセンスをクライアントに送信しない。状況が変化したために(例えば、レンタル期間切れ又は使用料の不払い等のため)、コンテンツのためのライセンスが有効ではなくなったことをルートライセンスが示している場合、ライセンスは、利用できなくなる。また、一具体例では、サーバは、幾つか又は全ての更新要求を外部のライセンス付与機関に問い合わせる。一具体例では、サーバは、更新されたライセンスを送らない理由について説明するメッセージをクライアントに送信する。
他の具体例では、サーバは、更新されたライセンスを送らず、これに代えて、ライセンスを更新することができるか否か又はライセンスの何らかの変化を示すメッセージ又はフラグを送る。
クライアントは、ブロック2620において、サーバが更新されたライセンスを送ったか否かを判定する。サーバからクライアントが切断されると、サーバは、更新要求に応答せず、したがって、クライアントは、更新されたライセンスを受け取らない。他の具体例では、クライアントは、サーバの全ての応答を確認する。他の具体例では、クライアントがハブネットワークから切断されると、クライアントは、更新要求を送信せず、更新されたライセンスを受け取っていない場合と同様に振る舞う。サーバが利用できない又はディスエーブルにされた場合、サーバは、更新されたライセンスを送信しない。上述のように、サーバがクライアント又はライセンスを確認しない場合、クライアントが更新されたライセンスを受信することは認められず、サーバは、更新されたライセンスを送信しない。
クライアントが更新されたライセンスを受信すると、クライアントは、ブロック2625において、ライセンスを更新する。クライアントは、保存されたライセンスを更新されたライセンスに置換する。そして、期限は、有効期間の最大値によってリセットされる。
クライアントが更新されたライセンスを受け取らない場合、クライアントは、ブロック2630において、ライセンスの期限が切れている否かを判定する。更新されたライセンスを受け取らないまま有効期間が経過した場合、ライセンスは、期限切れになる。クライアントのクロックが、期限に達したことを示すと、ライセンスは無効になる。他の具体例では、例えば、デクリメントされるタイマ等、異なるメカニズムを用いて、有効期間が満了したことを判定してもよい。
ライセンスが期限が切れた場合、クライアントは、ブロック2635において、ライセンスをディスエーブルにする。クライアントがライセンスをディスエーブルにすると、クライアント及び他の適応性を有するデバイスは、そのサブコピーバージョンを再生できなくなる。一具体例では、クライアントは、上述の手法に代えて又はこれに加えて、例えば、サブコピーバージョンを暗号化し又はサブコピーバージョンを削除する等の他の手法によってサブコピーバージョンをディスエーブルにする。
更新されたライセンスを要求するための次の期間になると、クライアントは、ブロック2605に戻る。一具体例では、クライアントは、更新されたライセンスの要求にかかわらずライセンスが無効になったと判定してもよい(例えば、期限が更新されたライセンスの要求の間にあるとき)。
一具体例では、クライアントがサーバから更新されたライセンスを受け取らない場合、クライアントは、外部のライセンス付与機関に更新され又は新たなライセンスを要求する。上述したように、サーバは、サブコピーバージョンのヘッダ情報内のライセンス付与機関情報によって定義されたローカルのライセンス付与機関である。また、ライセンス付与機関情報は、例えば、ネットワーク(例えば、インターネット)を介してクライアントに接続されている中央サーバ等の外部のライセンス付与機関を示している場合もある。一具体例では、クライアントは、サーバが利用できない場合又はクライアントがサーバのハブネットワークのメンバではなく、新たなライセンスを必要とする場合に外部の機関にライセンスを要求する。他の具体例では、ライセンス付与機関情報は、機関の階層(例えば、ローカル、地域、国及び絶対)を示す。
デバイスをハブネットワークから切断する処理及び有効期間の作用の具体例について、図27〜図29を用いて説明する。
図27では、2つのメディアネットワーク環境2700、2750は、異なるローカル環境にある。ローカル環境は、サーバの位置に関連して定義される(近接する2つのサーバは、実質的に共存するローカル環境を定義するものとして扱われる)。破線は、ローカル環境間の境界を表す。第1のメディアネットワーク環境2700は、(コンテンツを表示するための)端末装置2710に接続されたサーバ/クライアントデバイス2705と、サーバデバイス2715、クライアントデバイス2720の4つのデバイスを含んでいる。サーバ/クライアントデバイス2705は、ラベル「HN1*」によって示されているように、ハブネットワークHN1のサーバである。サーバ/クライアントデバイス2705及びクライアントデバイス2720は、ラベル「HN1」によって示されているように、ハブネットワークHN1のクライアントである。サーバデバイス2715は、ラベル「HN2*」によって示されているように、ハブネットワークHN2のサーバである。サーバ/クライアントデバイス2705及びクライアントデバイス2720は、ラベル「HN2」によって示されているように、ハブネットワークHN2のクライアントである。
ここでは、2つのコンテンツアイテムA、BがハブネットワークHN1に拘束されている。サーバ/クライアントデバイス2705は、それぞれラベル「A」、「B」によって示されている2つのコンテンツアイテムA、Bのソースバージョンを保存し、ルート義務を管理する。クライアントデバイス2720は、ラベル「a」及び「b」によって示されている2つのコンテンツアイテムA、Bのそれぞれのサブコピーバージョンを保存する。
ハブネットワークHN2には、1つのコンテンツアイテムXが拘束されている。サーバデバイス2715は、ラベル「X」によって示されているソースバージョンを保存し、コンテンツアイテムXのルート義務を管理する。サーバ/クライアントデバイス2705及びクライアントデバイス2720は、ラベル「x」によって示されているコンテンツアイテムXのそれぞれサブコピーバージョンを保存する。また、サーバデバイス2715は、また、ラベル「Y」によって示されているコンテンツアイテムYの独立したバージョンを保存する。
第2のメディアネットワーク環境2750は、1つのデバイス、すなわちサーバ/クライアントデバイス2755を含んでいる。サーバ/クライアントデバイス2755は、ラベル「HN3*」によって示されているように、ハブネットワークHN3のサーバである。サーバ/クライアントデバイス2755は、ラベル「HN3*」によって示されているように、ハブネットワークHN3のクライアントである。
ハブネットワークHN3には、1つのコンテンツアイテムMが拘束されている。サーバ/クライアントデバイス2755は、ラベル「M」によって示されているコンテンツアイテムMのソースバージョンを保存し、ルート義務を管理する。
図28では、サーバ/クライアントデバイス2705は、第2のメディアネットワーク環境2750に移動し、ラベル「HN3」によって示されているように、クライアントとしてハブネットワークHN3のメンバになる。サーバ/クライアントデバイス2705は、ハブネットワークHN1及びHN2の両方のラベル「HN1」、「HN2」によって示されているように、クライアントのままである。サーバ/クライアントデバイス2705は、ラベル「m」によって示されているコンテンツアイテムMのサブコピーバージョンを受信する。サーバ/クライアントデバイス2755は、ラベル「HN1」によって示されているように、クライアントとしてハブネットワークHN1に参加する。サーバ/クライアントデバイス2755は、ラベル「a」及びラベル「b」によって示されているコンテンツアイテムA、Bのそれぞれのサブコピーバージョンを受信する。
サーバ/クライアントデバイス2705は、第2のメディアネットワーク環境2750に移動することによって、ハブネットワークHN1のローカル環境を第2のメディアネットワーク環境2750に移動させている。この結果、クライアントデバイス2720は、ハブネットワークHN1のローカル環境内になくなり、したがって、クライアントデバイス2720ハブネットワークHN1から切断される。クライアントデバイス2720は、切断されると、2つのコンテンツアイテムA、Bのサブコピーバージョンa、bのライセンスを更新することができなくなり、したがって、ラベル「a-15」、「b-15」によって示されているサブコピーバージョンa、bのための期限は、リセットされなくなる。
更に、サーバ/クライアントデバイス2705がメディアネットワーク環境2700を去ると、サーバ/クライアントデバイス2705がハブネットワークHN2のローカル環境を去ることになるため、サーバ/クライアントデバイス2705は、ハブネットワークHN2から切断される。サーバ/クライアントデバイス2705は、切断されると、コンテンツアイテムXのサブコピーバージョンxのライセンスを更新することができなくなり、したがって、ラベル「x-15」によって示されているサブコピーバージョンxの期限は、リセットされなくなる。また、サーバ/クライアントデバイス2705は、ハブネットワークHN3のメンバになっており、このハブネットワークHN3は、ハブネットワークHN2とは、異なるローカル環境にある。上述のように、一具体例において、スパンニングデバイスが異なるローカル環境内にある2つのハブネットワークのメンバである場合、クライアントは、デバイスが最も最近に接続されたハブネットワーク、この場合、ハブネットワークHN3(及びサーバ/クライアントデバイスがハブネットワークHN1のサーバであるのでハブネットワークHN1)からのサブコピーバージョンのみを再生する。したがって、コンテンツアイテムXのためのサブコピーバージョンxは、ラベル「x-15に取消線」によって示すように、サーバ/クライアントデバイス2705がハブネットワークHN2に再び接続されるまで、一時的にディスエーブルにされる。代替となる実施例では、スパンニングデバイスクライアントは、サブコピーバージョンをリモートハブネットワークから一時的にディスエーブルにせず、上述のように、更新されていないサブコピーバージョンの有効期間を監視し続ける。
図29では、サーバ/クライアントデバイス2705は、第1のメディアネットワーク環境2700に戻り、サーバデバイス2715及びクライアントデバイス2720に接続され、ハブネットワークHN2に再接続する。この結果、上付文字の削除によって示すように、サーバ/クライアントデバイス2705は、サブコピーバージョンxのライセンスを更新することができ、クライアントデバイス2720は、サブコピーバージョンa、bのライセンスを更新することができる。
サーバ/クライアントデバイス2705が第2のメディアネットワーク環境2750を去ると、サーバ/クライアントデバイス2705は、ハブネットワークHN3から切断され、サーバ/クライアントデバイス2755は、ハブネットワークHN1から切断される。この結果サーバ/クライアントデバイス2705は、サブコピーバージョンmのライセンスを更新することができなくなり、期限がリセットされなくなり、サブコピーバージョンmは、ラベル「m-15に取消線」によって示すように、一時ディスエーブルにされる。また、サーバ/クライアントデバイス2755は、サブコピーバージョンa、bのライセンスを更新することができなくなり、ラベル「a-15」及び「b-15」によって示すように、期限がリセットされなくなる。
コンテンツの再生
クライアントデバイスは、コンテンツを再生又は提供する。幾つかのクライアントデバイスは、再生コンポーネントが組み込まれており、これにより、コンテンツデータを直接再生する。また、幾つかのクライアントデバイスは、端末装置等の接続されたデバイスを介してコンテンツデータを再生する。また、幾つかのクライアントデバイスは、上述したいずれか又は両方の手法によってコンテンツデータを再生する。ストレージクライアントデバイスは、クライアントデバイスに保存されているサブコピー又はサーバからストリーミングされたコンテンツデータによってコンテンツデータを再生する。非ストレージクライアントデバイスは、サーバからストリーミングされたコンテンツデータを再生する。図17では、サーバデバイス1715から非ストレージクライアントデバイス1725に引かれた破線は、サーバデバイス1715から非ストレージクライアントデバイス1725へのコンテンツデータのストリーミングを示している。一具体例では、表示されたコンテンツデータは、不正コピーを制御する出力制御情報(例えば、出力データのコピーを防止又は抑制するためのデータ又は処理)を含む。幾つかのサーバは、サーバ機能とクライアント機能の両方を備え、この種のサーバは、クライアントの場合と同様に、コンテンツを再生する。
図30は、クライアントデバイスが、クライアントデバイスに保存されているサブコピーバージョンによってコンテンツデータを提供する処理の一具体例のフローチャート3000を示している。まず、クライアントデバイスは、ストレージクライアントデバイスであり、再生すべきサブコピーロックされたコンテンツデータバージョンを保存する。
クライアントは、ブロック3005において、コンテンツを再生するための要求を受信する。要求は、ユーザから発せられ、コンテンツのアイテムを指定する。他の具体例では、要求は、他のデバイスから又は自動的に発せられる場合もある。
クライアントは、ブロック3010において、ライセンスがサブコピーバージョンの再生を許可することを確認する。ライセンスが新しくされると、ライセンスが変更又は更新されることがあり、したがって、クライアントは、サブコピーバージョンを再生する前に、ライセンスを確認する。ライセンスが期限切れであり、無効であり、又はディスエーブルにされている場合、クライアントは、サブコピーバージョンを再生しない。一具体例では、クライアントが現在の、有効な及びイネーブルにされたライセンスを有さない場合、クライアントは、サーバに新たなライセンスを要求し、サーバは、対応する拘束されたインスタンスのルートライセンスを提供する。(例えば、クライアントが新たなライセンスを取得する権利を有さないために)サーバがこの要求を拒否した場合、クライアントは、サブコピーバージョンを再生できない。
また、クライアントは、ブロック3015において、クライアントが利用可能な全ての取消リスト内にクライアントが登録されていないことを確認する。クライアントが取消リストに登録されている場合、クライアントは、サブコピーバージョンを表示しない。
クライアントは、ライセンス及び取消リストを確認した後に、ブロック3020において、サブコピーバージョンのコンテンツデータを再生する。クライアントは、ロックされたコンテンツデータを復号することによってサブコピーバージョンのコンテンツを再生し、出力データを生成し、この出力データを組み込まれている再生コンポーネント、外部の再生コンポーネント又は端末装置に出力する。
適応性を有するデバイスは、同様の手法で、独立したインスタンスからのコンテンツデータを再生する。
上述のように、クライアント機能を有するサーバは、同様の手法でコンテンツデータを再生する。他の具体例では、サーバデバイス及びクライアントデバイスは、同じ物理的デバイス上に共存し、この場合、サーバは、共存するクライアントを介して、コンテンツを再生する。
図31は、サーバからクライアントにコンテンツデータをストリーミングする処理の具体例のフローチャート3100を示している。まず、サーバは、コンテンツの拘束されたインスタンスを作成し、クライアントデバイスは、サーバに接続される。
クライアントは、ブロック3105において、コンテンツを表示するための要求を受信する。要求は、ユーザから発せられ、コンテンツのアイテムを指定する。他の具体例では、要求は、他のデバイスから又は自動的に発せられる場合もある。クライアントは、現在の要求によって示されている拘束されたインスタンスを管理するサーバにストリーミング要求を送る。他の具体例では、サーバは、再生要求を受け取り、また、要求は、コンテンツを再生するクライアントデバイスを指定する。
サーバは、ブロック3110において、コンテンツデータを指定されたクライアントにストリーミングすることによって、コンテンツデータを再生することをルートライセンスが許可していることを確認する。ライセンスが新しくされると、ライセンスが変更又は更新されることがあり、したがって、サーバは、その拘束されたインスタンスのソースバージョンからコンテンツデータをストリーミングする前に、ライセンスを確認する。ライセンスが期限切れであり、無効であり、又はディスエーブルにされている場合、サーバは、コンテンツデータをストリーミングしない。また、サーバは、ハブネットワークのメンバでないクライアントにコンテンツデータをストリーミングしない。
また、サーバは、ブロック3115において、サーバが利用可能な取消リストにクライアントが登録されていないことを確認する。利用可能な取消リストにクライアントが登録されている場合、サーバは、コンテンツデータをストリーミングしない。
サーバは、ライセンス及び取消リストを確認した後に、ブロック3120において、その拘束されたインスタンスのソースバージョンからクライアントにコンテンツデータをストリーミングする。一具体例では、サーバは、ソースバージョンのロックされたコンテンツデータをクライアントにストリーミングする。
クライアントがストリーミングされたコンテンツデータを受信すると、クライアントは、ブロック3125において、コンテンツデータを表示する。クライアントは、ストリーミングされたコンテンツデータを保存しない(但し、ストリーミングされたコンテンツデータを表示する処理のために一時的にデータを保存することはある)。クライアントは、組み込まれている再生コンポーネント、外部の再生コンポーネント又は端末装置にコンテンツデータを出力することによってコンテンツデータを再生する。
他の具体例では、サーバは、(例えば、データストリーミングのための暗号化技術を用いて)ロックされたコンテンツデータを暗号化し、ロックされ、暗号化されたコンテンツデータをクライアントにストリーミングする。クライアントは、ロックされ、暗号化されたコンテンツデータを復号してロックされたコンテンツデータを再生し、ロックされたコンテンツデータを復号することによって出力データを生成する。クライアントは、出力データを再生する。代替となる実施例として、サーバ及びクライアントの間で暗号化及び復号の異なる組合せを用いてもよい。例えば、サーバは、ロックされたコンテンツデータを復号し、出力データを生成し、この後に出力データを暗号化してもよい。この場合、サーバは、クライアントに暗号化された出力データをストリーミングし、クライアントは、暗号化された出力データを復号する。
一具体例では、適応性を有するデバイスは、端末装置が受信した出力データを(一時的な場合を除き)保存しないため、及び端末装置への接続及び伝送が十分に安全であれば、常に、接続された端末装置にデータを出力できる。一具体例では、適応性を有するデバイスが出力データを端末装置に送信する際、適応性を有するデバイスは、適応性を有するデバイスからデータを受信する全ての端末装置に同じデータを送信する。
一具体例では、適応性を有するデバイスは、独立したコンテンツを他の適応性を有するデバイスにストリーミングするが、受信装置は、ストリーミングされたコンテンツデータのいずれも保存しない(但し、再生処理において、一時的にデータを保存することはある)。
クライアントデバイスは、サブコピーバージョンのコンテンツデータをストリーミングしない。他の具体例では、ストレージクライアントデバイスは、サブコピーバージョンのコンテンツデータを他のメンバクライアントにストリーミングする。
コンテンツのコピー及び移動
適応性を有するデバイスは、ソースバージョンからサブコピーバージョンを作成でき、又はサブコピーバージョンをコピーすることができる。適応性を有するデバイスは、ハブネットワークの他のメンバにサブコピーバージョンを自由に提供できる。適応性を有するデバイスは、拘束されたインスタンスが拘束されているハブネットワークのメンバでない適応性を有するデバイスにサブコピーバージョンを提供できるが、メンバではないデバイスは、サブコピーバージョンのコンテンツデータを再生する前に、新たな有効なライセンスを取得する必要がある。適応性を有するデバイスは、適応性を有さないデバイスにサブコピーバージョンを提供できるが、適応性を有さないデバイスは、サブコピーバージョンのロックされたコンテンツデータを再生することはできない。適応性を有さないデバイスは、適応性を有するデバイスにサブコピーバージョンを移動させることができ、適応性を有するデバイスは、新たな有効なライセンスを取得した後にサブコピーバージョンを再生することができる。
適応性を有するデバイスは、(インスタンスを独立した状態からハブネットワークに拘束された状態に移行させる処理を除き)独立したインスタンスをコピーできない。同様に適応性を有するデバイスは、独立したインスタンスのバックアップコピーを作成できない。適応性を有するデバイスは、(サブコピーバージョンと同様に)独立したインスタンスのロックされたコンテンツデータの独立したバージョンのコピーを作成することができ、そのコピーを他のデバイスに提供することができるが、これを受け取ったデバイスは、ロックされたコンテンツデータの受け取ったコピーを再生する前に、新たな有効なライセンスを取得する必要がある。
サーバは、ソースバージョン及びルート義務を他のサーバに直接移動させない。一具体例では、1つのサーバから他のサーバにルート義務を移行させるために、サーバは、拘束されたインスタンスを独立したインスタンスに変換し、独立したインスタンスを他の第2のサーバに移行させ、第2のサーバは、独立したインスタンスを拘束されたインスタンスに変換し、新たなルートを確立する。スパンニングデバイスは、サーバがスパンニングデバイスを介して他の適応性を有するサーバに独立したインスタンスを転送することを可能にすることによって、1つのハブネットワークから他のハブネットワークへの独立したインスタンスの転送を実現する。他の具体例では、サーバは、共通のクライアントデバイスを共有する他の適応性を有するサーバにルート義務を直接移行させる。
サーバは、(クライアントがサーバでもある場合を除き)ソースバージョン又はルート義務をクライアントには移行させない。
適応性を有するデバイスは、適応性を有する媒体、安全な伝送、又は適応性がある記録技術を用いて、独立したインスタンスを移動させることができる。拘束されたインスタンスから独立したインスタンスを作成する処理について上述したように、一具体例において、適応性を有するデバイスは、外部の媒体に独立したインスタンスを移動させる前に、外部の媒体が適応性を有する媒体であることを確認する。適応性を有する媒体が利用できない場合、適応性を有するデバイスは、承認された記録技術を用いて、適応性を有さない媒体上に適応性を有さないコピーを作成できる。一旦、適応性を有するデバイスが適応性を有さないコピーを作成した後は、適応性を有さないコピーを再び拘束することはできない。したがって、適応性を有するデバイスは、適応性を有さないコピーを作成する前に確認を要求する。外部の適応性を有する媒体が利用できず、承認された記録技術も利用できない場合、適応性を有するデバイスは、外部ストレージ装置に独立したインスタンスを移動させることができない。
適応性を有するデバイスは、安全な伝送を用いて他の適応性を有するデバイスにサブコピーバージョンを供給する。他の具体例として、適応性を有するデバイスは、安全ではない接続を介して、(ライセンス又は鍵がない)サブコピーバージョンを伝送してもよい。また、適応性を有するデバイスは、適応性がある物理媒体を用いて、上述した制約に基づいて、他の適応性を有するデバイスにサブコピーバージョンを移すことができる。
図32は、メンバクライアントのためにサブコピーロックされたコンテンツデータバージョンを作成する処理の具体例のフローチャート3200を示している。まず、サーバは、コンテンツの拘束されたインスタンスを管理し、拘束されたインスタンスのソースバージョン及びルートライセンスを保存する。上述のように、サーバは、ソースバージョンを用いて、ハブネットワークのためのサブコピーバージョンを作成する。
サーバは、ブロック3205において、サブコピーバージョンを作成するための要求を受信する。要求は、ユーザから発せられ、コンテンツのアイテムと、サブコピーバージョンを受信するクライアントとを指定する。これに代えてコピー要求は、新たなサブコピーバージョンの宛先を指定しなくてもよい(例えば、コピー要求は、宛先クライアントに新たなサブコピーバージョンを移動させる要求に従ってもよい)。他の具体例では、要求は、他のデバイスから又は自動的に発せられる場合もある。他の具体例では、クライアントは、コピー要求を受け取り、サーバに要求を渡す。一具体例では、コピー要求は、ターゲット解像度を指定する。ターゲット解像度がソースバージョン(又はコピーされているサブコピーバージョン)の解像度とは異なる場合、ハブネットワークにおいて最も解像度が高いコピーとしてソースバージョン(又はコピーされているサブコピーバージョン)を用いて変換を実行できる。他の具体例では、コピー要求は、ターゲットフォーマットを指定する。サーバは、コピー処理の一部として、コピーするべきサブコピーバージョン又はソースバージョンを用いて如何なるトランスコーディングを行ってもよい。これに代えて、クライアントによる再生の要求に応じて、ターゲット解像度及びターゲットフォーマットを変換及びトランスコーディングしてもよい。
サーバは、ブロック3210において、ライセンスが指定されたクライアントにサブコピーバージョンを提供することを許可していることを確認する。ライセンスが新しくされると、ライセンスが変更又は更新されることがあり、したがって、サーバは、サブコピーバージョンを作成する前にライセンスを確認する。ライセンスが無効であるか、ディスエーブルにされている場合、サーバは、サブコピーバージョンを作成しない。後述するように、他の具体例においては、サーバは、サブコピーバージョンを作成する前に、ライセンスを確認しない。これに代えて、サーバは、サブコピーバージョンの新たなライセンスを作成する際にライセンスを確認する。
また、サーバは、ブロック3215において、サーバの取消リストにクライアントが登録されていないことを確認する。取消リストにクライアントが登録されている場合、サーバは、サブコピーバージョンを作成しない。
サーバは、ライセンス及び取消リストを確認した後に、ブロック3220において、サブコピーバージョンを作成する。サーバは、ソースバージョンから新たなサブコピーバージョンを作成し、サーバに新たなサブコピーバージョンを保存する。図23に示すように、サーバは、ロックされたコンテンツデータ2310のソースバージョンからロックされたコンテンツデータ2355のサブコピーバージョンを作成する。また、サーバは、ライセンス付与機関情報を含むヘッダ情報をコピーする。サーバは、ルートライセンス、ロックされたコンテンツデータをアンロックするための鍵又はソースバージョンの取消リストをコピーしない。サーバは、ルートライセンスに基づいて、サブコピーバージョンのための新たなサブコピーライセンスを作成する。但し、新たなサブコピーバージョンのためのライセンスは、初期的には、ディスエーブルにされている。ライセンスをイネーブルにするか又は新たなライセンスを受信するために、受信クライアントは、サーバにアクセスし、ライセンスを更新し、新たなサブコピーバージョンに固有の新たなライセンスを受信する。一具体例では、サーバは、新たなサブコピーバージョンとともに、イネーブルにされたライセンスを提供する。サーバがライセンスをクライアントに提供する際、サーバは、サブコピーバージョンをアンロックするための鍵と、サーバの取消リストに基づく取消リストとを提供する。
サーバは、新たなサブコピーバージョンを作成した後に、ブロック3225において、宛先クライアントに新たなサブコピーバージョンを移動させる。一具体例では、新たなサブコピーバージョンを移動させるために、サーバは、新たなサブコピーバージョンの他のコピー及びこれに伴うあらゆるデータ(例えば、ライセンス)をクライアントに送信し、サーバ上の第1の新たなサブコピーバージョンを削除する。クライアントは、新たなサブコピーバージョンを受け取り、保存する。他の具体例では、サーバは、クライアント上に直接、新たなサブコピーバージョンを作成し、したがって、ブロック3225をスキップする。他の具体例では、サーバは、クライアントからの新たなライセンスの要求に応じて、後にサブコピーライセンスを作成及び提供する。
他の具体例では、ルートライセンスは、限定的な数のサブコピーバージョンの作成を許可する。この場合、サーバは、(例えば、ルートライセンスからサブコピーライセンスが作成された回数をカウントすることによって)作成したサブコピーバージョンの数をカウントし、ルートライセンスにコピーカウントを保存する。このコピーカウントが制限数に達すると、サーバは、拘束されたインスタンスのソースバージョンからそれ以上のサブコピーバージョンを作成しない。ハブネットワーク内のサブコピーバージョンを削除又はディスエーブルにすることによってサーバが削除又はディスエーブルに関する知識を有する場合、このコピーカウントの値を減少させることもできる。
他の具体例では、クライアントが有するライセンスの数を制限してもよい。クライアントが(コピー又は移動によって)新たなサブコピーバージョン及びサブコピーライセンスを受け取った場合、クライアントは、ライセンスの数がクライアントに関するライセンスの最大数に達していないかどうかを確認する。ライセンスの数がライセンスの最大数に達している場合、クライアントは、他のライセンスがディスエーブルにされるまで、新たなサブコピーバージョンのライセンスをディスエーブルにし、これにより、ラインセンスの数を最大数以下となるようにする。
一具体例では、また、ストレージクライアントデバイスは、クライアントに保存されているサブコピーバージョンのコピーを作成することができる。この場合、ストレージクライアントデバイスは、図32を参照してサーバについて説明した場合と同様に、サブコピーバージョンを作成する。
一具体例では、サブコピーバージョン移動させる要求は、同様の手法で処理される。サーバ又はクライアントは、要求を受け取り、サブコピーバージョンを指定されたクライアントに移動させることをライセンスが認めていることを確認する。更に、サーバ又はクライアントは、サーバ又はクライアントの取消リストにクライアントが登録されていないことを確認する。この確認に成功すると、サーバ又はクライアントは、サブコピーバージョン及び対応する全てのデータ(例えば、ライセンス)を指定されたクライアントに移動させる。
他の具体例では、クライアントは、確認なしでサブコピーバージョンを移動させ、コピーすることができるが、但し、ライセンスは移動又はコピーされない。同様に、サーバは、最初にルートライセンス及び取消リストを確認しないで、サブコピーバージョンを作成し、配信してもよい、この場合、サーバ及びクライアントは、適応性があるデバイス及び適応性を有さないデバイスに、サブコピーバージョンを無制限に配信することができる。適応性を有さないデバイスは、ロックされたコンテンツデータを再生することができないが、適応性を有するデバイスにサブコピーバージョンを渡すことはできる。受信側の適応性を有するデバイスは、(例えば、サブコピーバージョンのヘッダにおけるライセンス付与機関情報によって示される)ライセンスを取得した後に、サブコピーバージョンのロックされたコンテンツデータを再生できるようになる。他の実施例では、クライアントは、ライセンスのコピーを移動させ、切断されたメンバクライアントにライセンスを提供することができる。
サーバ又はクライアントがハブネットワークのメンバでない適応性を有するデバイスにサブコピーバージョンを提供する際は、サーバ又はクライアントは、サブコピーバージョンの有効なライセンスは提供しない。受信側は、サブコピーバージョン内に保存されているライセンス付与機関情報を用いて、後に有効なライセンスを取得する。このように適応性を有するデバイスは、他のハブネットワークにサブコピーバージョンを配信することができる。
代替となる実施例では、ローカル環境は、例えば、定められた地理的な点を中心として、半径100mの円の内側等のように、絶対的な表現で定義される。例えば、特定の建物内での閲覧に制限される機密書類等のように、メディアは、特定の物理的な場所での使用に制限されることがある。上述のように、デバイスがローカル環境を去ると、デバイスは、ハブネットワークから切断される(デバイスは、メンバとしては残る場合もある)。この場合、サーバは、自らのハブネットワークから切断されることもあり、サーバが切断されている間は、サーバを含む全てのデバイスがハブネットワークのライセンスを更新することができなくなる。他の代替となる実施例では、ハブネットワークは、ローカル環境によって制限されない。この場合、(例えば、物理的接続又はネットワーク接続に障害が発生している場合等)デバイスがサーバと通信できないときは、デバイスは、ライセンスを更新することができない。
本発明は、電子ハードウェア、コンピュータソフトウェア、又はこれらの技術の組合せにより、様々な形式で実現することができる。多くの実施形態は、プログラミング可能なコンピュータにより実行される1以上のコンピュータプログラムを含む。例えば、図17に示すように、一具体例において、サーバ/クライアントデバイス1705、サーバデバイス1715、ストレージクライアントデバイス1720及び非ストレージクライアントデバイス1725のそれぞれは、上述したクライアント及びサーバ動作を実現するためのソフトウェアを実行する1以上のコンピュータを備える。通常、各コンピュータは1以上のプロセッサと、1以上のデータストレージ装置(例えば、揮発性又は不揮発性メモリモジュールと、例えばハードディスクドライブ、フロッピディスクドライブ、CD−ROMドライブ、磁気テープドライブ等の持続的な光及び磁気記録装置)と、1以上の入力装置(例えば、マウス及びキーボード)と、1以上の出力装置(例えば、ディスプレイ及びプリンタ)とを備える。幾つかの具体例では、コンピュータは、民生用電子機器内に含まれる。
コンピュータプログラムは、通常、持続的なストレージ媒体(persistent storage medium)に記録されており、実行時にメモリにコピーされる実行可能なコードを含む。プロセッサは、所定の順序でメモリから命令を読み出すことにより、このコードを実行する。プログラムコードを実行する際、コンピュータは、入力装置及び/又はストレージ装置からデータを受け取り、データを処理し、処理されたデータを出力装置及び/又はストレージ装置に供給する。
本発明の様々な実施の形態について説明したが、当業者は、本発明の範囲を逸脱することなく、上述した以外の実施の形態を想到することができる。幾つかの実現例は、必ずしも、上述した側面の全て及び/又は変形例を含まなくてもよい。例えば、ここでは、オーディオ及び/又はビデオデータであるコンテンツのコピーへの適用例を中心に本発明を説明したが、例えば、数値データ又は実行可能なソフトウェアコード等、他の種類のデータのコピーに本発明を適用することもできる。
したがって、本発明は、上述した実施形態に制限されるものではない。